-- File: [Cherry]<Thyme>Documentation>NMos4.0u25RingOsc.thy
-- Last edited:
-- SChen, June 11, 1983  5:52 PM

library[mosmodels];
library[stdfunctions];

circuit[Lambda← 2.0, Temp ← 25]= {

  ! ThymeBasics.thy
  ! Nmos4.0u25.thy

  Vdd:node; 
  powerSupply: voltage[Vdd, Gnd]= 5.0;

  Stage: circuit[i, o] = {
    PU: DTran[o, o, Vdd |as← 18, ad← 18, ps← 14, pd← 18];
    PD: ETran[i, o, Gnd |as← 12, ad← 20, ps← 10, pd← 18];
    };

  s1, s2, s3, s4, s5, s6, s7, s8, s9, s10,
    s11, s12, s13, s14, s15, s16, s17, s18, s19, out: node;

  stg1: Stage[s1, s2];
  stg2: Stage[s2, s3];
  stg3: Stage[s3, s4];
  stg4: Stage[s4, s5];
  stg5: Stage[s5, s6];
  stg6: Stage[s6, s7];
  stg7: Stage[s7, s8];
  stg8: Stage[s8, s9];
  stg9: Stage[s9, s10];
  stg10: Stage[s10, s11];
  stg11: Stage[s11, s12];
  stg12: Stage[s12, s13];
  stg13: Stage[s13, s14];
  stg14: Stage[s14, s15];
  stg15: Stage[s15, s16];
  stg16: Stage[s16, s17];
  stg17: Stage[s17, s18];
  stg18: Stage[s18, s19];
  stg19: Stage[s19, s1];
  stgOut: Stage[s19, out];
  };

plot["NMos ring oscillator simulation (4um, 25C) of 6/11/83",
  :1ns, -1, 6, out];

ic[Vdd ← 5.0, s1 ← 5.0, s3 ← 5.0, s5 ← 5.0, s7 ← 5.0, s9 ← 5.0, 
  s11 ← 5.0, s13 ← 5.0, s15 ← 5.0, s17 ← 5.0, s19 ← 5.0];
run[tMax ← 200ns, maxIter ← 1000];
dump