circuit[Lambda ← 2.5, supplyVoltage ← 5] = {
  ! ChipCMosDefs.thy


-- N o d e s

    -- Vdd:node; ?:Stray[Vdd|aM←3492,aD←2185,pD←875];
    -- Gnd:node; ?:Stray[Gnd|aM←4077,aD←1728,pD←791];
    N1:node; ?:Stray[N1|aM←1187,aP←1745,aD←220,pD←150];
    PAD:node; ?:Stray[PAD|aM←6668,aP←178,aD←3576,pD←1514];
    EN:node; ?:Stray[EN|aP←244];
    N2:node; ?:Stray[N2|aM←123,aP←146,aD←62,pD←55];
    IN:node; ?:Stray[IN|aP←68];
    N3:node; ?:Stray[N3|aD←8,pD←12];
    N4:node; ?:Stray[N4|aM←211,aP←172,aD←64,pD←57];
    N5:node; ?:Stray[N5|aD←8,pD←12];
    N6:node; ?:Stray[N6|aM←72,aP←172,aD←40,pD←34];
    N7:node; ?:Stray[N7|aM←1257,aP←1336,aD←220,pD←150];


-- T r a n s i s t o r s

    Q1:ETran[N6,Gnd,N7|W←28];
    Q2:CTran[N6,N7,Vdd|W←28];
    Q3:ETran[N2,Gnd,N6];
    Q4:CTran[N2,N6,Vdd];
    Q5:CTran[N2,N4,Vdd];
    Q6:ETran[EN,N5,N4];
    Q7:CTran[EN,N4,Vdd];
    Q8:ETran[N2,Gnd,N5];
    Q9:CTran[EN,N2,Vdd];
    Q10:ETran[EN,N3,Gnd];
    Q11:ETran[IN,N3,N2];
    Q12:CTran[IN,N2,Vdd];
    Q13:ETran[N4,Gnd,N1|W←28];
    Q14:CTran[N4,N1,Vdd|W←28];
    Q15:CTran[N7,PAD,Vdd|W←440];
    Q16:ETran[N1,Gnd,PAD|W←440];

  powerSupply: voltage[Vdd, Gnd] = supplyVoltage;
  !CMOSPADTS.inputs
}; !CMOSPADTS.control