Hi, need help, I am getting the following error wh...
# reram
b
Hi, need help, I am getting the following error while simulating 1T1R.sch from sky130_fd_pr_reram/examples using Xyce: Netlist error in file, Netlist error in file /home/nvm_user3/open_pdks/sky130/sky130B/libs.tech/ngspice/corners/../../../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__cap_var_hvt.model.spice at or near line 49 Illegal parameter name: DEV/GAUSS
t
DEV/GAUSS is a spectre-ism that should not be in the files installed by open_pdks. In my installation, the file
sky130_fd_pr__cap_var_hvt.model.spice
has, at line 53 for example,
Copy code
cm3='1.541e-15*cnwvc2_cdepmult+MC_MM_SWITCH*AGAUSS(0,1.0,1)*sky130_fd_pr__cap_var_hvt__cmin_slope_wl*cnwvc2_cdepmult/sqrt(2*ld*wd*vm)'
What do you have in that file? What version of open_pdks?
b
In my case, open_pdks version1.0.303 and at line 53, cm3='1.541e-15*cnwvc2_cdepmult' dev/gauss='sky130_fd_pr__cap_var_hvt__cmin_slope_wl*cnwvc2_cdepmult/sqrt(2*ld*wd*vm)'
@Tim Edwards pls suggest, what should be done.
t
Looking into it.
I am adding a correction to open_pdks to deal with this one-off error. In that file, you need to change the four lines containing "dev/gauss" from:
Copy code
+ cm1=4.596e-16 dev/gauss='sky130_fd_pr__cap_var_hvt__cmin_slope_l/sqrt(2*ld*vm)'
+ cm2=1.614e-16 dev/gauss='sky130_fd_pr__cap_var_hvt__cmin_slope_w/sqrt(2*wd*vm)'
+ cx1=6.461e-16 dev/gauss='sky130_fd_pr__cap_var_hvt__cmax_slope_l/sqrt(2*ld*vm)'
+ cx2=1.517e-16 dev/gauss='sky130_fd_pr__cap_var_hvt__cmax_slope_w/sqrt(2*wd*vm)'
to:
Copy code
+ cm1='4.596e-16+MC_MM_SWITCH*AGAUSS(0,1.0,1)*sky130_fd_pr__cap_var_hvt__cmin_slope_l/sqrt(2*ld*vm)'
+ cm2='1.614e-16+MC_MM_SWITCH*AGAUSS(0,1.0,1)*sky130_fd_pr__cap_var_hvt__cmin_slope_w/sqrt(2*wd*vm)'
+ cx1='6.461e-16+MC_MM_SWITCH*AGAUSS(0,1.0,1)*sky130_fd_pr__cap_var_hvt__cmax_slope_l/sqrt(2*ld*vm)'
+ cx2='1.517e-16+MC_MM_SWITCH*AGAUSS(0,1.0,1)*sky130_fd_pr__cap_var_hvt__cmax_slope_w/sqrt(2*wd*vm)'
Thank you for pointing out the issue. I was not previously aware that one of the files contained syntax that failed to match the regular expression I came up with to detect the dev/gauss lines.
b
@Tim Edwards Now the number of errors have reduced, still it showing error in line 49, of two files, sky130_fd_pr__cap_var_hvt.model.spice , sky130_fd_pr__cap_var_lvt.model.spice and line 25 of sky130_fd_pr__cap_mim_m3_1.model.spice and sky130_fd_pr__cap_mim_m3_2.model.spice ; Can you please perform a complete simulation, and update the open_pdks. So that changes can be pulled from the next version of repo. Or suggest the complete solution, it's urgent. https://skywater-pdk.slack.com/archives/C02Q2DE33QF/p1648947214708559
image.png
@Tim Edwards Pls consider the case on a priority basis, it's urgent due to deadlines.
t
I cannot fix what I cannot see. All of those lines parsed correctly on my system and made the correct substitution.
Anyway, you can see what the pattern is for each occurrence of "dev/gauss" from my post above. The same substitution is done on all occurrences of "dev/gauss". You can hand-edit the files to get your simulations working.
b
Yes, that happened here also, we have changed the lines 52, 53, 55, 56 in hvt_model.spice, that's why number of errors have been reduced from 14 to 10. Substitution works.
Let me see
can we replace, + cm3='1.541e-15*cnwvc2_cdepmult' dev/gauss='sky130_fd_pr__cap_var_hvt__cmin_slope_wl*cnwvc2_cdepmult/sqrt(2*ld*wd*vm)' by + cm3='1.541e-15*cnwvc2_cdepmult+MC_MM_SWITCH*AGAUSS(0,1.0,1)*sky130_fd_pr__cap_var_hvt__cmin_slope_wl*cnwvc2_cdepmult/sqrt(2*ld*wd*vm)'
just to confirm about inverted comma
Thanks @Tim Edwards, those errors have been resolved, however, three new errors appeared while simulating the 1T1R.spice available at https://github.com/google/skywater-pdk-libs-sky130_fd_pr_reram/tree/main/examples/1T1R : Netlist error in file ../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_01v8__tt.pm3.spice at or near line 31 Model is required for device MSKY130_FD_PR__NFET_01V8 and no valid model card found. Netlist error in file 1T1R.spice at or near line 13 Unrecognized parameter RRAM2_MODEL for device YRRAM2!RES0 Netlist error in file 1T1R.spice at or near line 13 Unrecognized fields for device YRRAM2!RES0
It is showing error in line 31,
t
@Bhanprakash Goswami: Usually the "no valid model was found" error means that you gave it a device size that is not in the valid range for any of the model bins.
b
@Tim Edwards Thanks, I could resolve "no valid model was found " error. Do you have any idea for the following error: Netlist error in file 1T1R.spice at or near line 15 Unrecognized parameter BL for device YRRAM2!RES0 Netlist error in file 1T1R.spice at or near line 15 Unrecognized fields for device YRRAM2!RES0 my netlist is attached and the command I use to run Xyce is : sudo Xyce -plugin /home/nvm_user3/shared_xyce/rram2.so 1T1R.spice
It's done.
t
If you got all that to run, I think everyone would appreciate it if you would post a short write-up of how you did it. Hardly anyone knows how to build and run the shared library in Xyce. Also it would help inform me where to install the device model in open_pdks.
b
@Tim Edwards Yes Sure, I will post the steps to build and run the shared library in Xyce shortly.
a
Hi @Bhanprakash Goswami, do you still remember how you managed to solve the "Unrecognized parameter BL for device YRRAM2!RES0" error? I am now up to that point. Many thanks.