Stefan Schippers
11/09/2020, 4:20 PMTim Edwards
11/09/2020, 4:27 PMTim Edwards
11/09/2020, 4:28 PMIztok Jeras
11/09/2020, 4:29 PMIztok Jeras
11/09/2020, 4:29 PMTim Edwards
11/09/2020, 4:31 PMTim Edwards
11/09/2020, 4:31 PMStefan Schippers
11/09/2020, 5:06 PM.subckt sky130_fd_sc_hd__decap_12 VGND VNB VPB VPWR
X0 VPWR VGND VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=870000u l=4.73e+06u
X1 VGND VPWR VGND VNB sky130_fd_pr__nfet_01v8 w=550000u l=4.73e+06u
.ends
since these do not take any parameter either the standard cell is wrong or the model binning is wrong.Tim Edwards
11/09/2020, 6:36 PMTim Edwards
11/09/2020, 6:51 PMsky130_fd_pr__nfet_01v8.pm3.spice
in the model files, find the nearest device bins, and change the values of "lmin" and/or "lmax" to include the actual length of the device. I have given a bit more detail about this in the github issue tracker for skywater-pdk, issue #228.Iztok Jeras
11/09/2020, 6:57 PMMatt Venn
11/09/2020, 7:38 PMStefan Schippers
11/09/2020, 7:39 PMsky130_fd_pr__pfet_01v8_hvt__tt.corner.spice
and letting it include
sky130_fd_pr__pfet_01v8_hvt__tt.pm3.spice
instead of
sky130_fd_pr__pfet_01v8_hvt.pm3.spice
the default included file has 'point-size' binning , as it defines points instead of regions.
the _tt.pm3.spice
file defines reasonable continuous regions. This change is already done for nfet_01v8_lvt if this patch is applied (fixes the temp->temper and tempo coefficients issues in resistors, contribution from @User). Curious enough is the fact that for other transistors (example: pfet_01v8_lvt) this _tt.pm3.spice
is already the default included file.
I can update the patch file to make the change for these p_hvt transistors. I usually work with this patched version of the spice models as i was too much bored of these error messages. Needless to say, it must be verified if the accuracy is acceptable when using these binned models outside their 'point-sized' existence regions.Tim Edwards
11/09/2020, 7:41 PMStefan Schippers
11/09/2020, 7:42 PMIztok Jeras
11/09/2020, 8:13 PM.include
in sky130_fd_pr__pfet_01v8_hvt__tt.corner.spice
, then I got a similar error for the nfet
in the same decap
. So I made the same change in cells/nfet_01v8/sky130_fd_pr__nfet_01v8__tt.corner.spice
and this cleared all similar errors.I still have to modify the input stimuli before getting a proper simulation, so I can't claim full success yet.Stefan Schippers
11/09/2020, 8:52 PMStefan Schippers
11/09/2020, 8:54 PMclock
* a5 1 8 var_clock
* .model var_clock d_osc(cntl_array = [-2 -1 1 2]
* + freq_array = [1e3 1e3 10e3 10e3]
* + duty_cycle = 0.4
* + init_phase = 180.0
* + rise_delay = 10e-9
* + fall_delay = 8e-9)
** stefan added a pulse generator don't know much about above syntax and it does not appear to connect to "in" node
vpulse in 0 pulse 0 1.8 0 1n 1n 9n 20n
Stefan Schippers
11/09/2020, 8:56 PMIztok Jeras
11/09/2020, 9:33 PMinverter.spice
was generated with openlane (with an updated version of skywater-pdk to connect to missing ports for fill/dcap cells, see https://github.com/efabless/openlane/issues/84) I would assume there is another bug in the PDK, perhaps already fixed an an even newer version. But now it's too late in the evening for me to debug and report it further. It will wait for tomorrow.Stefan Schippers
11/09/2020, 9:33 PMnfet_01v8
and pfet_01v8_lvt
. This patch is applied to the skywater-pdk/libraries/sky130_fd_pr
tree (sky130_fd_pr supposed to contain latest
directory) What i usually do is to
cp -a sky130_fd_pr sky130_fd_pr_ngspice
to avoid clobbering the original tree, then i descend into sky130_fd_pr_ngspice
and apply the patch:
patch -p1 <patch_file
The patch file fixes all 5 process corners (ss sf fs ff tt).Tim 'mithro' Ansell
Trevor Clarke
11/10/2020, 2:58 PMTrevor Clarke
11/10/2020, 2:58 PMTim 'mithro' Ansell
Trevor Clarke
11/10/2020, 3:02 PMTim 'mithro' Ansell
Tim 'mithro' Ansell
Tim 'mithro' Ansell
Tim 'mithro' Ansell
.param TEMP=27
?