IHP-GmbH / IHP-Open-PDK

130nm BiCMOS Open Source PDK, dedicated for Analog, Mixed Signal and RF Design
Apache License 2.0
295 stars 39 forks source link

Layout grid #52

Open bmurmann opened 2 months ago

bmurmann commented 2 months ago

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?

sergeiandreyev commented 2 months ago

it seems to be a typo / overlook.. thank you for finding!

sergeiandreyev commented 2 months ago

the dbu value in sg13g2.lyt was updated accordingly to the process spec

bmurmann commented 2 months ago

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?

KrzysztofHerman commented 2 months ago

@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.

sergeiandreyev commented 2 months ago

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