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

Generating GDS2 file #10

Open
stan3c opened this issue Jan 30, 2024 · 2 comments
Open

Generating GDS2 file #10

stan3c opened this issue Jan 30, 2024 · 2 comments
Assignees
Labels
enhancement New feature or request question Further information is requested

Comments

@stan3c
Copy link

stan3c commented Jan 30, 2024

Hi, I just found this padring tool and I like it. I am trying to adopt it for my technology (xfab).
There are however a few problems.
The foundry does not provide *.lef file for all pads. Only few pads within some library files have the *.lef file. Is there a way round it?
Temporarily to get around this issue I created my own dummy .lef file with pads I want to use. And I define each pad that does not have a foundry provided .lef file as:
MACRO HVPAD
CLASS PAD INOUT ;
FOREIGN HVPAD 0 0 ;
ORIGIN 0.000 0.000 ;
SIZE 60.000 BY 257.000 ;
SYMMETRY R90 ;
END HVPAD
Although, I do not know what these lines are about, it seems to work.
Does your program actually use any layer or shape information contained in foundry provided .lef file?
What information from .lef file does it use? What information should I include in my own .lef file for "padring" to work properly?

Second thing. The *.gds file is generated. I import it to Cadence but the actual pads do not show up on layout. There is only a blank box. Pressing "q" on that box shows the right pad name, however the library name is incorrect. And that is the reason why pad layout does not show up. Editing the library name to the library name from which the pad comes corrects the problem and now the pad layout appears on the layout correctly. So is there a way to configure this? Is it possible to specify the pad cell name and library name from which the pad should be sourced?
And there is a messege from Cadence that the imported gds layer do not match the tech layer map.
How is this "padring" program suppose to work when everything goes smoothly? Maybe I am expecting something that you did not intend to build.

I do not know how exactly GDS2 and this tool work but creating a GDS2 file with a pad name (pad cell name) without a library name from which pad comes from, does not make sense. Cadence simply cannot create a layout with just a cell name. One must provide library name and cell name. Otherwise there is nothing shown on layout.

And one more thing. Is there a way to import the pads into schematic?

@trcwm trcwm self-assigned this Feb 2, 2024
@trcwm
Copy link
Member

trcwm commented Feb 2, 2024

Hi Stan3c,

The foundry does not provide *.lef file for all pads. Only few pads within some library files have the *.lef file. Is there a way round it?

Either make the .lef files yourself like you did, or use a (custom?) tool to generate .lef for you from some other format such as .gds
Padring primarily needs to know the size of the cell, whether or not it may rotate the cell (SYMMETRY) and if it needs a placement offset (ORIGIN). The Cadence LEFDEF specification has all the details - Google will give you a PDF if you search for it.

Is it possible to specify the pad cell name and library name from which the pad should be sourced?

I need to look into your library problem a bit more, I think it's a GDS parameter that isn't set correctly by Padring and there is currently no way of specifying it I believe.

Is there a way to import the pads into schematic?

Padring could be altered to write out a Verilog netlist file that you can import. However, Padring has no connectivity information so the only thing you'll get are isolated instances of each pad cell. Is that what you want?

Regards,
Niels.

@trcwm trcwm added question Further information is requested enhancement New feature or request labels Feb 2, 2024
@trcwm
Copy link
Member

trcwm commented Feb 4, 2024

Note to self: The import failure is probably related to a missing GDS2 REFLIBS entry.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants