Skywater 130 PDK transistor lib support (sky130_fd_pr)
Yipeng
Monday 11th July 2022
How can we add transistor PDK to layouteditor. I need only nmos and pmos, how can I modify the .lel file?
Jürgen LayoutEditorFull Monday 11th July 2022
The layouts for nmos and pmos transistors are usually parametric cells that change the layout by changing some parameter like width and length. To realize this a coding is required like it was done for the nmos/pmos transistor in the OpenCellLibrary. You can view the code there. It is located in the LayoutEditor package under library/openCellLibrary/nmos.layout+pmos.layout as well inside openCellLibrar.lel.
Skywater does not yet make any code for pmos/nmos transistore public available. You need to sign a NDA to get it. There are rumors that this might be changed in the future. But I don't have any details if and when this might happened.
Yipeng
Monday 11th July 2022
Thank you for your reply. Without the layout code for pmos/nmos we could not autogenerate the layout for transistors right? What if I only need the schematic and draw the layout for transistos mannually? Will I be able to run the LVS?
I also tried the PMOS sample you place in the lib and the schematic does not work:
Changing Netlist Device "MP1" (noname)
Errors:
1 tcl error (invalid command name "pmos_draw")
Thank you!
Jürgen LayoutEditorFull Monday 11th July 2022
you can draw the layout manually for one or some parameter like channel length 0.5µm, 1µm and 2µ, channel width of 0.5µm ans 2µm (total 3 * 2 = 6 layouts for all combinations) and set these layouts in the .lel file. In this case the layout will only be generated for these parameters and fails for any other channel length/width. The LVS will always work as long the layout is generated.
The code for *pmos_draw* does not generate a functional layout and therefore still missing in the LayoutEditor package.