IHP-Open-PDK
IHP-Open-PDK copied to clipboard
Layout grid
In SG13G2_os_layout_rules.pdf the layout grid is specified as 5 nm, while in sg13g2.lyt it is set to 1 nm. Is this an intentional scale factor or is there some other reason for this difference?
it seems to be a typo / overlook.. thank you for finding!
the dbu
value in sg13g2.lyt
was updated accordingly to the process spec
Follow-up: If the intent is to have a 5nm grid, then it seems that the DRC needs to be updated too. The files sg13g2.lydrc currently checks for 1nm grid, and just changing the grid in the techfile sets the wrong scale for DRC:
if active_layout.dbu != 0.001 puts "WARNING: Layout dbu value (" + active_layout.dbu.to_s + " ) deviates from rule file dbu value (0.001). This will scale the layout and may not be intended." end
For anyone drawing layouts right now, what can we do to make sure that these will still be usable when everything gets updated to 5nm grid?
@bmurmann thank you for the comment. After some other issues with XOR cross checking of our PyCells against cells generated using commercial tools we also discovered some inconsistencies in the behavior of the tools. We will probably bring back the value of 1nm.
the DBU and grid are different in their purpose and setting, both in commercial PDK and in KLayout, so we decided to rollback the changes (the dbu parameter in KLayout is changed back to 1nm) regarding the [manufacturing] grid, we still have to understand what is the best way to show/force the users to use 5nm grid when drawing layouts.. and of course, there are several offGrid checks that we have already as part of DRC rule deck - these should find violations and actually enforce the usage of correct grid setting
@bmurmann, in one of the latest KLayout updates the following feature was added:
So now our KLayout tech
.lyt
file includes technology-specific default grid settings w/ the min one strongly set to 5nm. -> https://github.com/IHP-GmbH/IHP-Open-PDK/commit/85b2f7a030c1f1d442a1b5ec124f7cdd57020c0c
This way the grid is set by default to 5nm when you're starting KLayout in clean environment (no klayoutrc
file present). The user still can set the grid to incorrect value.
Could you please test and provide feedback on the resolution of this issue?
This works. Thank you.