Hello, I'm trying out the gmid approach in xschem+...
# general
p
Hello, I'm trying out the gmid approach in xschem+ngspice and have procured a script online. Even with the vsb parameter in the nested loop however, I see no vsb variable in the output file (namely "techsweep_sg13_lv_pmos.txt"). Every other parameter mentioned in the script is present in the output file. Also, upon simulation it keeps throwing an error about zero length vectors which I have attached as an image
b
Start with the working versions in my repo. What you have here includes some odd edits to my original file. https://github.com/bmurmann/Chipathon2024/tree/main/techsweep
p
Thank you for the helpful response. I successfully managed to obtain the .txt file with the vsb values without any errors from ngspice. However, it's throwing an error for the vgs vs gm/id plot as the length of both the vectors is not equal (This seems intentional, with the length of vgs vector being 888 and the length of gm and id vectors being 27.)
Update: I tried using the scipy.interpolate package to expand the gm/id and the ft values, which ended up giving me the graph attached below. I'm not exactly sure if these are the correct values PS: The PDK in use here is sky130
b
I don't see why the vectors should have different lengths, that's not what I am seeing. You can see from my slides here what the plots should look like: https://github.com/sscs-ose/sscs-ose-chipathon.github.io
p
Interesting. I'm using the techsweep_plots_from_txt.ipynb given in the repo with just the techsweep_pfet_01v8.sch schematic generated txt files for now. I'll try running the simulation again. Just curious, what is the length of the vgs, gm and id vectors supposed to be, ideally?
Interesting, the dataframe from which gm/id and ft are being plotted (df1) has 27 entries per column, with a vgs range of 0 - 0.65, as opposed to the vgs range it's being plotted over, which has a range of 0-1.8. I'll try the .txt in the repo now Edit: Strange. The "techsweep_pfet_1v8" from the repo has significantly different values than the ones generated on my local system. (df1) for the downloaded .txt has 73 values per column as compared to the 27, although from what can I see the 27 values seems to be a subset of the 73. The length of vgs vector through np.unique also seems to be different, with the locally generated txt file containing non 25m step sizes as well.
I checked the locally generated "techsweep_pfet_01v8.txt" file, the non 25m step values do indeed exist in the file. Very strange.
For example:
Update: Changing the SKYWATER_MODELS var from
.lib D:/Spice_general/open_pdks/sky130/sky130A/libs.tech/combined/sky130.lib.spice tt
to
.lib D:/Spice_general/open_pdks/sky130/sky130A/libs.tech/ngspice/sky130.lib.spice tt
fixed it