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
2.98k stars 390 forks source link

HVL library has incorrect device names for p & n diffusion resistors in in extracted cell schmittbuf #252

Open RTimothyEdwards opened 3 years ago

RTimothyEdwards commented 3 years ago

This appears to come from using an old magic techfile? The latest tech file defines these devices as "sky130_fd_prres_generic_ndhv" and "sky130_fd_prres_generic_pdhv". ngspice will not simulate the schmitt buffer as it currently exists in the library. Changing the names "mrdn_hv" and "mrdp_hv" to the above names suffices to fix the problem.

RTimothyEdwards commented 3 years ago

@mithro : The following zip file unzips into file "schmittbuf.patch", which should be applied at skywater-pdks/libraries/ and corrects three files in the sky130_fd_sc_hvl library cell schmittbuf to change the device names "mrdn_hv" and "mrdp_hv" to their correct sky130 equivalents.

schmittbuf_patch.zip

RTimothyEdwards commented 3 years ago

@mithro : At the same time, I realize that the standard cell schmittbuf SPICE netlist makes calls to these two devices, and there are no subcircuit models for them. I could change this to type R in the netlist, but really the device needs to capture the reverse-biased diode beween the resistor and the substrate or well underneath. So I have prepared the zip file below, which should be unzipped into skywater-pdk/libraries/sky130_fd_pr/latest/cells/, and contains the subcircuit models for the two abovementioned devices.

diffusion_resistors.zip

RTimothyEdwards commented 3 years ago

@mithro : Finally, this 2nd patch file needs to be applied at skywater-pdk/libraries/sky130_fd_pr/models, and updates the r+c model file to include the subcircuit definition added above.

diffres_model.patch.zip