RampGen: OneShot[ramp | OffLevel ← 0
V, OnLevel ← 5
V,
width ← tScale*2ns, tRise ← tScale*1ns, tFall ← 1ns,
tDelay ← tScale*0.1ns];
Line: circuit[|
L ← 20, bias ← 5, type ← 20] = {
nGate, pGate, nOut, pOut: node;
?: voltage[nGate, Gnd] = bias;
QN: ETran[nGate, Gnd, nOut | L ← L, W ← 20, sdExtend ← 2, type ← type];
RN: voltage[ramp, nOut] = 0;
?: voltage[pGate, Vdd] = -bias;
QP: CTran[pGate, Vdd, pOut | L ← L, W ← 20, sdExtend ← 2, type ← -(type+10)];
RP: voltage[pOut, ramp] = 0;
};