buffer_ports command using delay cells instead of buffer cells #7757
Replies: 4 comments 3 replies
-
|
@precisionmoon please respond |
Beta Was this translation helpful? Give feedback.
-
|
buffer_ports simply picks the smallest buffer cell with the largest drive resistance. Unfortunately, it is not easy to tell whether a library cell is a delay cell or a regular buffer. Instead of using DONT_USE_CELLS environment variable, you can do something like the following: set_dont_use { DLY_CELL1 DLY_CELL2 } Also, if your library has cell_footprint attributes that cover multiple drive strengths (BUFX1, BUFX2, BUFX4, ... have the same cell_footprint attribute), you may want to enable -match_cell_footprint in repair_design and repair_timing. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the suggestions, guys! I will try using the set/unset dont_use command just with the delay cells either side of the buffer_ports command. Perhaps this could be added as an environment variable option to a future version, along with the other suggestion of setting the cell to use for the port buffering. According to the rsz documentation (https://openroad.readthedocs.io/en/latest/main/src/rsz/README.html), this option is already supported, but I was not able to get it to work. Perhaps it is not fully implemented yet. From the README file: |
Beta Was this translation helpful? Give feedback.
-
|
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
With the particular third-party liberty file I am using, the buffer_ports command, called by the resize.tcl script in the ORFS. is inserting a delay cell instead of a buffer cell for input and output port buffering.
Does anyone have any idea on how it chooses the buffer cell to insert and why it might be doing this? Is there any way to prevent it from doing this apart from using the DONT_USE_CELLS environment variable? It's just that it might be problematic putting delay cells in the DONT_USE_CELLS variable as this variable is used for other stages in the flow, where I do want delay cells to be used.
Beta Was this translation helpful? Give feedback.
All reactions