[Prev]

2.1 Simulation files

2.1.1 tran.ocn

analysis('tran ?stop "10u"  ?errpreset "moderate"  )

; First run one transient simulation to store waveforms
run()

log_wave(VT("/in"), "in")
log_wave(VT("/out"), "out")

; Then sweep input amplitude and log output ampl
foreach(ampl '(10m 30m 50m 70m 90m 110m 130m 150m)
  desVar("ampl" ampl)
  run()
  Vout_clip = clip(VT("/out"), 5u, 10u)
  outampl = (ymax(Vout_clip) - ymin(Vout_clip))/2
  log_data_point(ampl, outampl, "out_vs_in")
)

2.1.2 ac.ocn

analysis('ac ?start "1k"  ?stop "10G"  )
analysis('dc ?saveOppoint t  )

run()

ACgain = dB20(VF("/out"))
Gain = value(ACgain 1e7)
log_wave(ACgain, "ACgain")
log_data(Gain, "gain")

BW = cross(dB20(VF("/out")) Gain-3 1 "falling" nil nil  )
log_data(BW, "BW3dB")

Idc = IDC("/V2/MINUS")
log_data(Idc, "Idc")

[Prev | Next]