{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":676047515,"defaultBranch":"main","name":"circt","ownerLogin":"vowstar","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2023-08-08T10:07:40.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/394260?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1691506038.0","currentOid":""},"activityList":{"items":[{"before":"cc6a548302997b53d9997d995ca93a5e4a6f110a","after":"5df53b395dbcf55cb4244259d4bfd5eb3e3c5c87","ref":"refs/heads/seq-lower-firrom","pushedAt":"2023-08-09T07:29:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"vowstar","name":"Huang Rui","path":"/vowstar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/394260?s=80&v=4"},"commit":{"message":"[Seq] Lower FirRomOp to HWModuleGeneratedOp\n\nAdd the `LowerFirRom` pass which lowers `seq.firrom` ops to a\ncorresponding `hw.module.generated` op. The pass collects a list\nof ROM ops in the design, distills them down into ROM parameters,\ndeduplicates those parameters, creates one `hw.module.generated` op\nfor each unique ROM config, and replaces the ROM ops with instances\nof this generated module.\n\nThis commit reflects that ROM can configure the `numReadPorts`\nparameter, because there are multi-port ROMs, for example:\n\nhttps://www.intel.com/content/dam/altera-www/global/en_US/others/support/examples/download/dual_port_rom.zip\n\nSigned-off-by: Huang Rui ","shortMessageHtmlLink":"[Seq] Lower FirRomOp to HWModuleGeneratedOp"}},{"before":"5c9d0c6c71d0146ae2c9f99246f0b6a942d7cb8a","after":"cc6a548302997b53d9997d995ca93a5e4a6f110a","ref":"refs/heads/seq-lower-firrom","pushedAt":"2023-08-09T07:26:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"vowstar","name":"Huang Rui","path":"/vowstar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/394260?s=80&v=4"}},{"before":"2e5d2d7d63b184c6da8b6b2995f1f9dab971cfe7","after":"5c9d0c6c71d0146ae2c9f99246f0b6a942d7cb8a","ref":"refs/heads/seq-lower-firrom","pushedAt":"2023-08-09T07:01:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"vowstar","name":"Huang Rui","path":"/vowstar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/394260?s=80&v=4"}},{"before":"fcb80a6f825340dcf8c224498723f7ef585b3b89","after":"3bd295b7b6d5a154727b6ae60b6293006984d449","ref":"refs/heads/seq-firrom","pushedAt":"2023-08-09T06:56:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"vowstar","name":"Huang Rui","path":"/vowstar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/394260?s=80&v=4"},"commit":{"message":"[Seq] Add FirRom op\n\nAdd a new `FirRomOp` to the Seq dialect to capture the\nsemantics of FIRRTL ROM at the HW level. The intent behind this\nchange is the same as for `FirMemOp`.\n\nROMs are represented as a declaration with the `seq.firrom`\nwhich returns a value representing the ROM itself. This value\nis of type `!seq.firrom<12 x 42>` which represents an opaque\nhandle to the ROM; it encodes the `depth (12)` and\n`width (42)` of the ROM.\n\nROM ports are represented as separate operations:\n\n- `seq.firrom.read_port`\n\nThese operations take the ROM itself as their first operand. The\nremaining operands are the specific signals required for the\ncorresponding type of port: clocks, enables, mode select, etc.\nRead ports also return the read data as their result. Enables\nare optional to allow for more concise IR for simple memory\nconfigurations.\n\nThe reason why adding a new `FirRomOp` instead of reusing the\n`FirMemOp` to process Read-Only-Memory is because there are\nstill huge differences in the behaviors of ROM, SRAM, and\nRegFile in different foundry memory compilers, and their DFT\nprocessing is also very different. If they are all merged into\n`FirMemOp`, a lot of attributes must be added to\n`FirMemOp`, resulting in the post-processing having to judge\nthese attributes, which increases the burden of post-processing.\nTherefore, adding `FirRomOp` as a new op is conducive to\nbehavior distinction and later maintenance, especially when we\nwant to add DFT and physical implementation details in the real\nchip design process, it will be more conducive to implementation,\nand reduce the cost of code errors caused by maintenance.\n\nThis commit merely adds the `FirRomOp` alongside some\ncanonicalization and general tests, but the op isn't used by any\npart of CIRCT yet. Use in FIRRTL-to-HW lowering follows as a\nseparate commit.\n\nSigned-off-by: Huang Rui ","shortMessageHtmlLink":"[Seq] Add FirRom op"}},{"before":null,"after":"2e5d2d7d63b184c6da8b6b2995f1f9dab971cfe7","ref":"refs/heads/seq-lower-firrom","pushedAt":"2023-08-08T14:47:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"vowstar","name":"Huang Rui","path":"/vowstar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/394260?s=80&v=4"}},{"before":"ac6ffa8afdd2d6023729f6f667a9a6e017d6bd85","after":"fcb80a6f825340dcf8c224498723f7ef585b3b89","ref":"refs/heads/seq-firrom","pushedAt":"2023-08-08T13:23:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"vowstar","name":"Huang Rui","path":"/vowstar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/394260?s=80&v=4"}},{"before":"66a12bb6b2fa01814567d4577189ac6380c760c3","after":"ac6ffa8afdd2d6023729f6f667a9a6e017d6bd85","ref":"refs/heads/seq-firrom","pushedAt":"2023-08-08T12:26:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"vowstar","name":"Huang Rui","path":"/vowstar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/394260?s=80&v=4"}},{"before":null,"after":"66a12bb6b2fa01814567d4577189ac6380c760c3","ref":"refs/heads/seq-firrom","pushedAt":"2023-08-08T10:08:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"vowstar","name":"Huang Rui","path":"/vowstar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/394260?s=80&v=4"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADZvM4egA","startCursor":null,"endCursor":null}},"title":"Activity ยท vowstar/circt"}