How do hierarchy and BLOCK flows work? #1614
Replies: 4 comments 5 replies
-
The idea is that BLOCKs will be run separately and hardened for use in the top level. That's what makes the flow hierarchical. aes_blocks is just a small/fast demonstration of a hierarchical flow. Such a design is too small to really need such a flow. You can see a bigger design like asap7/mock-array for a more interesting example. |
Beta Was this translation helpful? Give feedback.
-
I am running on Ubuntu 22.04 LTS, fully updated. No containers, it is a dedicated machine. Chisel did not come with OR, so I installed with instructions here: https://github.com/chipsalliance/chisel/blob/main/SETUP.md I followed the instructions in flow/designs/asap7/mock-array/README.md, placing the exports in settings.mk and then running Presumably I left something out? those two steps appeared to finish normally, and the resulting Element looks nice. Just lonely. |
Beta Was this translation helpful? Give feedback.
-
I had some problem with directories owned by root - probably too much use of sudo somewhere in the build process. So I deleted OR directories and built again from scratch, including running the basic tests.. asap7/mock-array builds only mock_array_Element (in logs, reports, and results). asap7/aes builds the whole pipe with no hierarchy. |
Beta Was this translation helpful? Give feedback.
-
OK, thanks for looking. I found what I was doing wrong with mock-array. The settings used for "make verilog" must NOT be used for the "make". So, that gives me a useful example to study. |
Beta Was this translation helpful? Give feedback.
-
I have a design which uses multiples of 4 blocks or macros which were designed to be individually optimized and then placed by abutment. I can get pretty decent runs on one block at a time but when I try to use the blocks in the whole design all that comes out is the first listed block.
Looking through examples I see similar behavior with AES (using asap7). Visualizing the layout result does evidence hierarchy with fuzzy clouds for the repeated blocks, but they are not clearly defined macros using the block design. If aes-block is run it generates a nice compact aes_rcon but ignores aes_sbox, and that is all it generates. One block, not a whole AES pipe.
Any hints why I see no blocks incorporated in the aes project, and only one lone block in aes-block with everything else missing?
Thank you in advance.
Beta Was this translation helpful? Give feedback.
All reactions