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

CUT layer required in .lef/.tlef files #308

Open egiacomin opened 3 years ago

egiacomin commented 3 years ago

Expected Behavior

The .lef file should load without any issue on Innovus.

Actual Behavior

I am getting an error on Innovus when loading the .tlef file (_skywater-pdk/libraries/sky130_fd_sc_hd/latest/tech/sky130_fd_schd.tlef): **ERROR: (IMPLF-121): You need to have cut layer after layer 'pwell'.

Steps to Reproduce the Problem

This error was "introduced" after the push from 121.

  1. Load a design on Innovus with the _skywater-pdk/libraries/sky130_fd_sc_hd/latest/tech/sky130_fd_schd.tlef file. From the lef documentation (http://www.ispd.cc/contests/18/lefdefref.pdf, page 76), a masterslice layer should be followed by a cut layer. In this case, the masterslice layer (pwell/nwell) is followed by a routing layer (li1).

Steps to FIX the Problem

To fix this issue (as usually done in some commercial PDK), the appropriate cut and poly layers should be added in the lef file as follows:

LAYER poly
    TYPE MASTERSLICE ;
END poly

LAYER licon1
  TYPE CUT ;

  WIDTH 0.17 ;                # Licon 1
  SPACING 0.17 ;              # Licon 2
  ENCLOSURE BELOW 0 0 ;       # Licon 4
  ENCLOSURE ABOVE 0.08 0.08 ; # Poly / Met1 4 / Met1 5
END licon1

Specifications

takeBrian commented 2 years ago

Does adding a layer in this fashion make the tlef different from the actual process? Will this cause any problems in the fabrication?

tdene commented 2 years ago

To emphasize, the current tech-lef files do not meet the official LEF/DEF guidelines because of this issue.