RTimothyEdwards / open_pdks

PDK installer for open-source EDA tools and toolchains. Distributed with setups for the SkyWater 130nm and Global Foundries 180nm open processes.
http://opencircuitdesign.com/open_pdks
Apache License 2.0
289 stars 86 forks source link

sky130 diode perim parameter not compared #452

Open d-m-bailey opened 2 months ago

d-m-bailey commented 2 months ago

open_pdks 1.0.489

open_pdks 1.0.471 changed diodes from D devices to X devices. Along with this change, the pj parameter was changed to perim. open_pdks 1.0.482 changed the netgen compare function to compare perim instead of pj.

However, the perim parameter is still ignored in netgen setup file, resulting in perim mismatches being ignored.

set devices {}
lappend devices sky130_fd_pr__diode_pw2nd_05v5
lappend devices sky130_fd_pr__diode_pw2nd_05v5_lvt
lappend devices sky130_fd_pr__diode_pw2nd_05v5_nvt
lappend devices sky130_fd_pr__diode_pd2nw_05v5
lappend devices sky130_fd_pr__diode_pd2nw_05v5_lvt
lappend devices sky130_fd_pr__diode_pd2nw_05v5_hvt
lappend devices sky130_fd_pr__diode_pw2nd_11v0
lappend devices sky130_fd_pr__diode_pd2nw_11v0

foreach dev $devices {
    if {[lsearch $cells1 $dev] >= 0} {
    property "-circuit1 $dev" parallel enable
    property "-circuit1 $dev" parallel {area add}
    property "-circuit1 $dev" parallel {perim add}
    property "-circuit1 $dev" parallel {value add}
    property "-circuit1 $dev" tolerance {area 0.02} {perim 0.02}
    # Ignore these properties
    property "-circuit1 $dev" delete mult perim   <=== perim ignored here
    }
    if {[lsearch $cells2 $dev] >= 0} {
    property "-circuit2 $dev" parallel enable
    property "-circuit2 $dev" parallel {area add}
    property "-circuit2 $dev" parallel {perim add}
    property "-circuit2 $dev" parallel {value add}
    property "-circuit2 $dev" tolerance {area 0.02} {perim 0.02}
    # Ignore these properties
    property "-circuit2 $dev" delete mult perim   <=== perim ignored here
    }
}
RTimothyEdwards commented 2 months ago

@d-m-bailey : Should be fixed now on opencircuitdesign.com and will mirror to github overnight.