0
Not able to add the skywater130 nm technology file in ngspice simulation

How to use skywater 130nm technology file in eSim simulations? Can any one give the procedure to add the skywater130nm technology files in the NGspice simulations?


eSim 24-06-21, 4:31 p.m. ksooryakrishna1
0

Follow these steps:
Step 1.Please download sky130 from this link and unzip : https://static.fossee.in/esim/installation-files/sky130_fd_pr.zip
Step2.Save the.cir.outfile in the sky_fd_pr folder as.cir file.
Step3.Open with notepad and add the path .lib "models/sky130.lib.spice" tt at the top.
Step4.Replace with CMOSP, mos_p with sky130_fd_pr__pfet_01v8andCMOSN, mos_n with sky130_fd_pr__nfet_01v8.
Step5.To replace inductor, capacitor, resistor do it this way for example: L1 out gnd 1m by x1 out gnd mid 0 sky130_fd_pr__ind_03_90.
Note:For more details go to the cells folder in sky_fd_pr. Open the specific component folder which you want to use. Then open the test folder and check the SPICEfile. TheSPICEfile is an example of implementation of that component. You will get to know how to use the component in your ckt.
Step6.Now Run the ckt with ngspice

To Run the ckt using ngspice:
Step 1. Right click on.cir file.
Step 2. Click on Open With
Step 3. Browse for the ngspice.
Step 4. If ngspice not present scroll down click onMore Apps.
Step 5.Go to the FOSSEE folder search for Ngspice. Run it Example of sky130 .cir file(the changes are in bold):
* c:\fossee\esim\src\frontend\document\cmos_nand_gate\cmos_nand_gate.cir.lib "models/sky130.lib.spice" ttxM1 net-_m1-pad1_ inputa output net-_m1-pad1_ sky130_fd_pr__pfet_01v8 W=2.5u L=0.5u M=1
xm4 net-_m1-pad1_ inputb output net-_m1-pad1_ sky130_fd_pr__pfet_01v8 W=2.5u L=0.5u M=1
xm2 output inputa net-_m2-pad3_ gnd sky130_fd_pr__nfet_01v8W=1u L=0.5u M=1
xm3 net-_m2-pad3_ inputb gnd gnd sky130_fd_pr__nfet_01v8 W=1u L=0.5u M=1
v3 net-_m1-pad1_ gnd dc 5
v1 inputa gnd pulse(0 5 0 0 0 17m 33m)
v2 inputb gnd pulse(0 5 0 0 0 10m 20m)
.tran 0.1e-03 100e-03 0e-03* Control Statements
.control
run
plot v(output)
plot v(inputb)
plot v(inputa)
.endc
.end

Oringinal File(using eSim mofets): * c:\fossee\esim\src\frontend\document\cmos_nand_gate\cmos_nand_gate.cir .include NMOS-180nm.lib
.include PMOS-180nm.lib
m1 net-_m1-pad1_ inputa output net-_m1-pad1_ CMOSP W=100u L=100u M=1
m4 net-_m1-pad1_ inputb output net-_m1-pad1_ CMOSP W=100u L=100u M=1
m2 output inputa net-_m2-pad3_ gnd CMOSN W=100u L=100u M=1
m3 net-_m2-pad3_ inputb gnd gnd CMOSN W=100u L=100u M=1
v3 net-_m1-pad1_ gnd dc 5
v1 inputa gnd pulse(0 5 0 0 0 17m 33m)
v2 inputb gnd pulse(0 5 0 0 0 10m 20m)
* u3 output plot_v1
* u2 inputb plot_v1
* u1 inputa plot_v1
.dc v1 1e-00 5e-00 1e-00 v2 1e-00 5e-00 1e-00 * Control Statements
.control
run
print allv > plot_data_v.txt
print alli > plot_data_i.txt
plot v(output)
plot v(inputb)
plot v(inputa)
.endc
.end

01-07-21, 12:56 p.m. Sumanto

Thank you for the clarification. That helps a lot!


09-07-21, 2:56 p.m. craiggray

Login to add comment


Log-in to answer to this question.