Hi, I am trying to figure out how to construct a n...
# sky130
j
Hi, I am trying to figure out how to construct a new/custom cell library based on sky130. Basically, the new/custom cell library that I want to achieve can include several custom cells (same heights as the standard cells but different widths) and other standard cells. Right now, I have the .gds file and .lef file of the custom cells but have no idea how to construct a new library with those cells. Could anyone help me out with this? I will appreciate it! Thanks!
v
I think OpenROAD can generate lib models based on custom cells. Some where in slack that discussion already there. tagging @Matt Liberty
m
What do you mean by "library"?
j
@Vijayan Krishnan @Matt Liberty Thanks for the reply! I will check the OpenRoad channel. The new “library” means that it contains gds, mag, lef etc. files of the custom cells just like sky130 standard cell library, which can be used to replace the standard cell library to run the design flow in openlane. Hope this is clear.
m
How will you produce .lib for these new cells?
Do you mean replace or add to the current library?
j
@Matt Liberty I am trying to use several custom cells in the openlane flow. I think there probably are three approaches to achieve that goal: 1. replacing some standard cells in the current library with custom cells; 2. adding the custom cells to the current library; 3. using custom cells to construct a brand new library. It would be great if any of those approaches can work. I tried to replace the standard cell with a custom cell, i.e keeping the cell name same, and replacing .lef, .mag and .gds in the current library, but the openlane shows XOR error, as shown below. Did I miss something? What is the right way to replace?
If there are solutions for approach 2 or 3 mentioned above, it would also be great. Thanks!
m
For approach 2 in openlane-flow this could be helpful https://github.com/w32agobot/SKY130-RTL-with-Custom-Standardcell-to-GDSII but optimization and .lib table-generation is not part of it
j
@Manuel M Thanks, Manuel! It looks helpful! Appreciate it! 😀
@Manuel M It looks like I need to have the .lib table of the custom cell first so the openlane can use the cell. Do you know what tool can generate the .lib for sky130?
m
I don't know of any open source tool that does this today. For that reason I generally don't recommend people do this.
j
Oh, I see what you are saying. Thanks, @Matt Liberty
m
James Stine said his group may work on such a tool so maybe in the future
j
Thanks for the info! I just heard the same news from my advisor.
m
@Jerry Yin The answer from Vijayan Krishnan should guide to an OpenROAD-command (experimental?) but I don't know more about it either. I just needed to convert pre-defined gatelevel structures to GDSII and therefore did not have to care about correct lib tables
t
This can help to generate liberty files https://codeberg.org/librecell
m
@Tomasz Hemperek that's very interesting. What is the history/status of this tool? Has it been used in production?
@James Stine FYI about librecell above for Liberty characterization
t
@Matt Liberty I stared to set this up but found out i can get it other way. So no experience.
I guessing from user name that @tkramer may know more.
m
Two opensource TCAD tools may be of help with generating physical exact .lib-tables: 'Charon' from Sandia Labs (apache 2) and 'devsim'. When you are on 130nm CMOS then spice models are an simple option - to my knowlage @James Stine and @tkramer did this.