Design size and memory usage #4178
-
Hello, I have a question regarding the relationship between the design size and the memory usage. I use a virtual machine, with 16GB of RAM allocated to it. I tried to run an LDPC design, which made the memory usage skyrocket. I wanted to see some test to see what would have the most impact on memory usage, so I created a very simple and stupid adder design where I increased its input and output word size from 128bit to 5120bit. Then I ran the design through OpenROAD, where I started from a very large die ( What surprised me was that even though, unsurprisingly, higher cell count and wire length (due to the larger adder) resulted in higher memory usage, the memory footprint was always higher when using a larger die area even if the design in itself was very small in comparison. I was wondering why it was so, why is it that when the die is bigger so is the memory used, is it because objects such as filler cells are also loaded in ? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
A bigger die area means more placement sites in the rows, more area to manage during placement, more fill cells, etc. On what PDK was this experiment? In your highest memory case, what was the memory usage at each step? If you split the design and the build an abstract (a .lef & .lib) for each piece then the top level will take less memory as it isn't seeing the details. This is a common strategy for hierarchical design. You can see an example of this in https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/tree/master/flow/designs/asap7/mock-array |
Beta Was this translation helpful? Give feedback.
A bigger die area means more placement sites in the rows, more area to manage during placement, more fill cells, etc.
On what PDK was this experiment? In your highest memory case, what was the memory usage at each step?
If you split the design and the build an abstract (a .lef & .lib) for each piece then the top level will take less memory as it isn't seeing the details. This is a common strategy for hierarchical design. You can see an example of this in https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/tree/master/flow/designs/asap7/mock-array