google / skywater-pdk

Open source process design kit for usage with SkyWater Technology Foundry's 130nm node.
https://skywater-pdk.rtfd.io
Apache License 2.0
3k stars 392 forks source link

Question about how skywater-pdk LEF file is used by OpenLane #365

Open jarvis-lorry opened 2 years ago

jarvis-lorry commented 2 years ago

In the sky130A LEF file, for the cell macros, I can see interconnect (li1) layers for pins and power/ground, but the other layers and connections in the final layout aren’t included there. For example, the li1 drawing layer and diffusion layers are added later. This may seem an ignorant question, but can anyone tell me how OpenLane gets the extra information needed to draw in the cells?

RTimothyEdwards commented 2 years ago

@jarvis-lorry : Openlane needs to read the technology LEF file in addition to the standard cell macros. In the open_pdks installation, you'll find, for example, the HD library technology LEF file in libs.ref/sky130_fd_sc_hd/techlef/sky130_fd_sc_hd__nom.tlef.

jarvis-lorry commented 2 years ago

Thank you, Timothy. I can see that the technology LEF file has the rules for width, pitch and offset which are used by OpenLane to draw out the circuits.

jarvis-lorry commented 2 years ago

@RTimothyEdwards I had another question--maybe a dumb one--about the skywater tech LEF. Are the resistance, capacitance and edge capacitance values in the techlef used in OpenLane place and route or are they used only for RC modeling for back annotation in timing?

jarvis-lorry commented 2 years ago

@RTimothyEdwards , I've been tweaking the SkyWater LEF file to remove obstruction (OBS) layers to see how this affects routing but oddly, the results of the route don't change, even when I've removed all of the OBS shapes. Are these layers used for determining routing of metal lines?

proppy commented 2 years ago

@jarvis-lorry that may be a better requestion for the https://github.com/The-OpenROAD-Project/OpenROAD (or https://github.com/The-OpenROAD-Project/OpenLane) as they are the project consuming those files.