Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add filler macros and script #172

Draft
wants to merge 2 commits into
base: dev
Choose a base branch
from

Conversation

dnltz
Copy link
Contributor

@dnltz dnltz commented Aug 1, 2024

Add filler macros from Daniel Arevalos and Krzysztof Herman. Also add a Python script to automatically fill a layout and save it.

The following example will fill all layers and generates a DRC clean layout file afterwards.

klayout -n sg13g2 -zz -r /home/daniel/work/elements/i2c-gpio-expander/pdks/IHP-Open-PDK/ihp-sg13g2/libs.tech/klayout//tech/scripts/filler.py \
	-rd output_file=/home/daniel/work/elements/i2c-gpio-expander/tools/OpenROAD-flow-scripts/flow/results/ihp-sg13g2/SG13G2Top/base/6_final.gds \
	/home/daniel/work/elements/i2c-gpio-expander/tools/OpenROAD-flow-scripts/flow/results/ihp-sg13g2/SG13G2Top/base/6_final.gds

These three macros can fill Activ+GatPoly, all Metal layers or all
TopMetal layers.

Based-on: KrzysztofHerman <herman@ihp-microelectronics.com>
Based-on: Daniel Arevalos <daniel.arevalos@sansano.usm.cl>
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Klayout .lym files can be executed in batch-mode but Klayout won't
save the altered layout. Add this small script to call each filler
macro and save the filled layout.

This is required to automatically fill a layout during tape-out
process without manual interactions.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
@KrzysztofHerman
Copy link
Contributor

@dnltz thank you for the contribution. First of all we should adjust the operation of the density analyzer, which should calculate total coverage of a particular layer and densities in the square of 800x800 um window. You could take a look at https://www.klayout.de/forum/discussion/167/density-for-a-layer link.
Additionally a more fine grain cells can be used in order to hit the desired density evaluating in the loop a result of previous iteration. Thus one can be sure that the DRC rules for metal fill and metal density are met.

@dnltz
Copy link
Contributor Author

dnltz commented Aug 7, 2024

@KrzysztofHerman yes, I will check the layout rules for 800x800 windows. What's the ideal density? Just in the middle of min/max?

@KrzysztofHerman
Copy link
Contributor

@dnltz I would work for the middle value at the beginning. Let's see how it converges.

@dnltz dnltz marked this pull request as draft August 8, 2024 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants