Update schedule after http://jeff.tk/wiki/Trinary/Meeting_Notes_20080810
[trinary.git] / bb / mux9-3.net
blob1ba920ece6851c743fac758869e1ca448803e894
1 * Z:\trinary\code\circuits\mux9-3.asc\r
2 XX1 IiA I0A I1A S QA mux3-1\r
3 XX2 IiB I0B I1B S QB mux3-1\r
4 XX3 IiC I0C I1C S QC mux3-1\r
5 \r
6 * block symbol definitions\r
7 .subckt mux3-1 A B C S Q\r
8 XXtgA A Q CTRL_A tg\r
9 XXtgC C Q CTRL_C tg\r
10 XXtgB B Q CTRL_B tg\r
11 XXdecoder S CTRL_A CTRL_B CTRL_C decoder3-1\r
12 .ends mux3-1\r
14 .subckt tg IN_OUT OUT_IN CONTROL\r
15 M1 OUT_IN _C IN_OUT $G_Vdd CD4007P\r
16 M2 IN_OUT C OUT_IN $G_Vss CD4007N\r
17 M3 $G_Vdd CONTROL _C $G_Vdd CD4007P\r
18 M4 _C CONTROL $G_Vss $G_Vss CD4007N\r
19 M5 $G_Vdd _C C $G_Vdd CD4007P\r
20 M6 C _C $G_Vss $G_Vss CD4007N\r
21 .ends tg\r
23 .subckt decoder3-1 IN OUT_i OUT_0 OUT_1\r
24 XX1pti1 IN N1 pti\r
25 XX1pti2 N1 OUT_1 pti\r
26 XXinti IN OUT_i nti\r
27 XX0pti N0tnand OUT_0 pti\r
28 XX0sti IN N0sti sti\r
29 XX0tnand IN N0sti N0tnand max\r
30 .ends decoder3-1\r
32 .subckt pti IN OUT\r
33 Xinv IN OUT NC_01 NC_02 tinv\r
34 .ends pti\r
36 .subckt nti IN OUT\r
37 Xinv IN NC_01 NC_02 OUT tinv\r
38 .ends nti\r
40 .subckt sti IN OUT\r
41 Xinv IN NC_01 OUT NC_02 tinv\r
42 .ends sti\r
44 .subckt max A B MAX_OUT\r
45 XX1 A B P001 tnor\r
46 XX2 P001 MAX_OUT sti\r
47 .ends max\r
49 .subckt tinv Vin PTI_Out STI_Out NTI_Out\r
50 RP PTI_Out STI_Out 12k\r
51 RN STI_Out NTI_Out 12k\r
52 MN NTI_Out Vin $G_Vss $G_Vss CD4007N\r
53 MP PTI_Out Vin $G_Vdd $G_Vdd CD4007P\r
54 .ends tinv\r
56 .subckt tnor A B TNOR_Out\r
57 RP NP TNOR_Out 12k\r
58 RN TNOR_Out NN 12k\r
59 MN1 NN A $G_Vss $G_Vss CD4007N\r
60 MP2 NI A $G_Vdd $G_Vdd CD4007P\r
61 MN2 NN B $G_Vss $G_Vss CD4007N\r
62 MP1 NI B NP $G_Vdd CD4007P\r
63 .ends tnor\r
65 .model NMOS NMOS\r
66 .model PMOS PMOS\r
67 .lib C:\PROGRA~1\LTC\SwCADIII\lib\cmp\standard.mos\r
68 * 9:3 multiplexer\nSelect from one of three groups of 3 trits\r
69 .backanno\r
70 .end\r