***************decoder.spc******************* * Model derived from the decoder.N file * TN pullDown w=1200 l=200 g=16 s=2 d=1; * TP pullUp w=2400 l=200 g=16 s=3 d=1; * TP precharge w=2000 l=200 g=4 s=3 d=16; * TP bleeder w=300 l=900 g=1 s=3 d=16; * TN y1 w=1400 l=200 g=12 s=17 d=16; * TN x0 w=1400 l=200 g=8 s=18 d=17; * TN y0 w=1400 l=200 g=14 s=19 d=18; * TN x1 w=1400 l=200 g=6 s=11 d=19; * INOUT decoderOutput=1; * GND gndBot=2; * VDD vddBot=3; * INOUT evenPrechargeBot=4; * INOUT oddPrechargeBot=5; * INOUT x1Bot=6; * INOUT x1NotBot=7; * INOUT x0Bot=8; * INOUT x0NotBot=9; * INOUT oddGndBot=10; * INOUT evenGndBot=11; * INOUT y1Bot=12; * INOUT y1NotBot=13; * INOUT y0Bot=14; * INOUT y0NotBot=15; .include ./ml2_125.md .subckt decoderc decoderOutput Precharge y1 x0 y0 x1 Eval Vdd 0 Mpulldown decoderOutput 16 0 0 nmos l='2*lambda' w='12*lambda' Mpullup decoderOutput 16 Vdd Vdd pmos w='24*lambda' l='2*lambda' Mprecharge 16 Precharge Vdd Vdd pmos w='20*lambda' l='2*lambda' Mbleeder 16 decoderOutput Vdd Vdd pmos w='3*lambda' l='9*lambda' My1 16 y1 17 0 nmos l='2*lambda' w='14*lambda' Mx0 17 x0 18 0 nmos w='14*lambda' l='2*lambda' My0 18 y0 19 0 nmos w='14*lambda' l='2*lambda' Mx1 19 x1 Eval 0 nmos w='14*lambda' l='2*lambda' .ends