********************row_cell.spc*************************** * Generic model for a row decoder cell * Includes two instances of decoder.spc and the two inverters that * buffer and complement the input, st1In * TN inv2PullDown w=1200 l=200 g=6 s=20 d=5; * TN inv1PullDown w=1200 l=200 g=18 s=20 d=6; * TP inv2PullUp w=1600 l=200 g=6 s=19 d=5; * TP inv1PullUp w=1600 l=200 g=18 s=19 d=6; * INST rowDec_G_evenDec evenDecoder * decoderOutput=15 gndTop=11 gndBot=11 vddTop=12 vddBot=12 * evenPrechargeTop=13 evenPrechargeBot=13 oddPrechargeTop=14 * oddPrechargeBot=14 x1Top=3 x1Bot=3 x1NotTop=4 x1NotBot=4 x0Top=1 * x0Bot=1 x0NotTop=2 x0NotBot=2 oddGndTop=10 oddGndBot=10 * evenGndTop=9 evenGndBot=9 y1Top=7 y1Bot=7 y1NotTop=8 y1NotBot=8 * y0Top=5 y0Bot=5 y0NotTop=6 y0NotBot=6; * INST rowDec_G_oddDec oddDecoder decoderOutput=16 gndTop=11 * gndBot=11 vddTop=12 vddBot=12 evenPrechargeTop=13 * evenPrechargeBot=13 oddPrechargeTop=14 oddPrechargeBot=14 x1Top=3 * x1Bot=3 x1NotTop=4 x1NotBot=4 x0Top=1 x0Bot=1 x0NotTop=2 x0NotBot=2 * oddGndTop=10 oddGndBot=10 evenGndTop=9 evenGndBot=9 y1Top=7 y1Bot=7 * y1NotTop=8 y1NotBot=8 y0Top=5 y0Bot=5 y0NotTop=6 y0NotBot=6; * New node names are: st1, st1not, sv1not st2, st2not, sv2, ro, re, * PrechargeOdd, PrechargeEven, oddOut, evenOut, st1In .include ./ml2_125.md .include ./decoder.spc .subckt row_cell ro PrechargeOdd y1odd x0odd y0odd x1odd oddOut re + PrechargeEven y1even x0even y0even x1even evenOut sin sout soutnot + Vdd 0 xdecoderOdd ro PrechargeOdd y1odd x0odd y0odd x1odd oddOut Vdd 0 decoder xdecoderEven re PrechargeEven y1even x0even y0even x1even evenOut Vdd + 0 decoder Minv1pullup soutnot sin Vdd Vdd pmos w='16*lambda' l='2*lambda' Minv1pulldown soutnot sin 0 0 nmos w='12*lambda' l='2*lambda' Minv2pullup sout soutnot Vdd Vdd pmos w='16*lambda' l='2*lambda' Minv2pulldown sout soutnot 0 0 nmos w='12*lambda' l='2*lambda' .ends