```* title .param temp=27 *.option scale=1E-6 .par...
# analog-design
k
Copy code
* title
.param temp=27
*.option scale=1E-6
.param supl = 1.8V
*.paral L = 0.13um

* Include SkyWater sky130 device models
.include "/home/konstantinos/repos/DIR-vlsi/sky130_fd_pr/models/corners/tt.spice"

Vdd vdd 0 {supl}

* transistors

X1 0   in   out   0  sky130_fd_pr__nfet_01v8 w=1 l=1 m=1
X2 out in Vdd Vdd sky130_fd_pr__pfet_01v8 w=1 l=1 m=1

* Output Load

Cout out 0 1fF 

* Input Signals
* ------------------------------------------------------------------------

Vin in 0 pulse(0 {supl} 0 10p 10p 40p 100p)

.ic   V(out)=0V
.op
.tran 1p 1u

.control
run
plot V(in) V(out)
.endc

.end
d
Removing the .ic statement gets the sim to run. The transient sim is (1us/1ps = ) 1 million steps?
.tran 1p 1u uic ,tells ngspice how to handle the ic and .nodeset conditions. There's some explanation in the manual about the difference between the two modes.
k
Thank you diadatp you are a savior
So from what i understand, initial conditions should not be used
d
Maybe not for the sim you were running but some circuits might have multiple stable operating points, in which case the initial conditions can be used to investigate them.
There's still some funny business going on with the segmentation fault, which must be investigated but for now the sims are giving expected results?
k
Yes thank you they run as expected. It was my first test circuit so there wasn't any target. But it needed to slower the input signal and transient step.
But yes the obvious proble is that in t=0 in is 0 and out is also 0 which is contradictory, but i changed ic V(out) to 1.8 and the problem persisted