Tapeout: Final error check for Innovus
Opened this issue · 0 comments
As far as I could tell, there was no final error check in the tapeout scripts. So I put one in. The relevant scripts include sr_count_errors.tcl
(called from top_garnet_staged.tcl
) and sr_finalfix.tcl
).
I use the command check_drc
to do the final error check at the very end, just before tape streamout. Initially it found about a million DRC violations. Eventually I managed to get this down to zero by
-
delete sealring: 1M errors => 50K errors
-
reduce extra-large ICOVL blockages (BIGBLOCK issue #395)
51K errors => 18K errors -
ICOVL blockages instead of halos (SPACE1703 issue #393)
15K => 11K -
delete
tile_id
straps (M4CGRA issue #394)
11K => 300 -
delete M8 blockages across top of chip (issue #396)
300 => 6 -
delete iphy blockages (see
sr_count_errors.tcl
)
6 => 2 -
fix double corner (see
sr_count_errors.tcl
,sr_finalfix.tcl
)
2 => 0
After the check, I replace the tile_id
straps.
My questions:
- is there a reason why there was no final error check in the script?
- is this a reasonable thing to do and/or is there a better thing?
Also: yes I know that the important check is the Calibre DRC, but it
seems like getting the innovus script DRC-free is also a good goal?