flow: scripts: include filler cells in CDL netlist for LVS accuracy#4145
flow: scripts: include filler cells in CDL netlist for LVS accuracy#4145dnltz wants to merge 1 commit intoThe-OpenROAD-Project:masterfrom
Conversation
Pass -include_fillers to write_cdl so filler cells appear in the exported CDL netlist. Without this, LVS tools may flag filler instances as unresolved. This change is required to run LVS tests with the IHP PDK. Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
acc13b4 to
9556e77
Compare
There was a problem hiding this comment.
Code Review
This pull request updates the write_cdl command in flow/scripts/cdl.tcl to include the -include_fillers flag. Feedback suggests making this flag configurable through an environment variable to ensure compatibility across various platforms and PDKs that may not support or require filler cells in CDL output.
| write_cdl -masters $::env(CDL_FILE) -include_fillers \ | ||
| $::env(RESULTS_DIR)/6_final.cdl |
There was a problem hiding this comment.
Hardcoding the -include_fillers flag may cause issues for other platforms or PDKs where filler cells do not have CDL models or are intended to be excluded from LVS. It is recommended to make this flag configurable via an environment variable, allowing platforms like IHP to enable it while keeping it optional for others. This follows the repository's pattern of using environment variables for optional tool flags.
set include_fillers ""
if { [env_var_exists_and_non_empty CDL_INCLUDE_FILLERS] && $::env(CDL_INCLUDE_FILLERS) } {
set include_fillers "-include_fillers"
}
write_cdl -masters $::env(CDL_FILE) {*}$include_fillers \
$::env(RESULTS_DIR)/6_final.cdl
References
- Optional tool flags that are platform-specific should be controlled by environment variables to avoid regressions on other platforms.
There was a problem hiding this comment.
@maliberty I basically had the same question for you. Do you want this configurable?
|
I'm confused by the problem statement. Filler cells are physical only so what is LVS comparing them against? |
The filler cells have VDD and VSS pins and without the filler cells in the .cdl, I get a lot of errors from those two nets. Edit: those are the standard cell filler cells. |
|
Error relative to what? Does you Verilog have filler cells? |
Pass -include_fillers to write_cdl so filler cells appear in the exported CDL netlist. Without this, LVS tools may flag filler instances as unresolved.
This change is required to run LVS tests with the IHP PDK.