Sign board (previous commit), changing from discrete resistors to network changes...
[trinary.git] / bb / half_adder_test.net
blobeb192e9e27d525db5f09bf16f4cbf9aca4ed226f
1 * Z:\trinary\code\circuits\half_adder_test.asc\r
2 XX1 $G_Vdd $G_Vss tpower\r
3 VA A 0 PWL file=INPUT_A.txt\r
4 VB B 0 PWL file=INPUT_B.txt\r
5 XXadder A C S B half_adder\r
6 \r
7 * block symbol definitions\r
8 .subckt tpower Vdd Vss\r
9 Vdd Vdd 0 5V\r
10 Vss 0 Vss 5V\r
11 .ends tpower\r
13 .subckt half_adder A C S B\r
14 XXmux_carry1 N001 0 N002 B C mux3-1\r
15 XXmux_sum1 N003 A N004 B S mux3-1\r
16 XXcd A N003 tcycle_down\r
17 XXsu A N004 shift_up\r
18 XXrd A N001 rd\r
19 XXfd A N002 fd\r
20 .ends half_adder\r
22 .subckt mux3-1 A B C S Q\r
23 XXtgA A Q CTRL_A tg\r
24 XXtgC C Q CTRL_C tg\r
25 XXtgB B Q CTRL_B tg\r
26 XXdecoder S CTRL_A CTRL_B CTRL_C decoder3-1\r
27 .ends mux3-1\r
29 .subckt tcycle_down IN OUT\r
30 XXtnand1 _IN_PTI INI OUT tnand\r
31 XXtnand0 _IN_NTI 0 INI tnand\r
32 XXnti _IN _IN_NTI nti\r
33 XXpti _IN _IN_PTI pti\r
34 XXsti IN _IN sti\r
35 .ends tcycle_down\r
37 .subckt shift_up IN OUT\r
38 D§Xrd N002 N001 1N4148\r
39 XXsti N002 OUT sti\r
40 XXnti IN N001 nti\r
41 Rrd N002 0 10Meg\r
42 .ends shift_up\r
44 .subckt rd IN OUT\r
45 Drd OUT IN D\r
46 Rrd OUT 0 10Meg\r
47 .ends rd\r
49 .subckt fd IN OUT\r
50 Dfd IN OUT D\r
51 Rfd OUT 0 10Meg\r
52 .ends fd\r
54 .subckt tg IN_OUT OUT_IN CONTROL\r
55 M1 OUT_IN _C IN_OUT $G_Vdd CD4007P\r
56 M2 IN_OUT C OUT_IN $G_Vss CD4007N\r
57 M3 $G_Vdd CONTROL _C $G_Vdd CD4007P\r
58 M4 _C CONTROL $G_Vss $G_Vss CD4007N\r
59 M5 $G_Vdd _C C $G_Vdd CD4007P\r
60 M6 C _C $G_Vss $G_Vss CD4007N\r
61 .ends tg\r
63 .subckt decoder3-1 IN OUT_i OUT_0 OUT_1\r
64 XXPpti1 IN NP pti\r
65 XXPpti2 NP OUT_1 pti\r
66 XXintN IN OUT_i nti\r
67 XXZpti NZtnand OUT_0 pti\r
68 XXZsti IN NZsti sti\r
69 XXZtnand IN NZsti NZtnand max\r
70 .ends decoder3-1\r
72 .subckt tnand A B TNAND_Out\r
73 RP NP TNAND_Out 12k\r
74 RN TNAND_Out NN 12k\r
75 MP1 NP B $G_Vdd $G_Vdd CD4007P\r
76 MP2 NP A $G_Vdd $G_Vdd CD4007P\r
77 MN2 NI B $G_Vss $G_Vss CD4007N\r
78 MN1 NN A NI $G_Vss CD4007N\r
79 .ends tnand\r
81 .subckt nti IN OUT\r
82 Xinv IN NC_01 NC_02 OUT tinv\r
83 .ends nti\r
85 .subckt pti IN OUT\r
86 Xinv IN OUT NC_01 NC_02 tinv\r
87 .ends pti\r
89 .subckt sti IN OUT\r
90 XXinv IN NC_01 OUT NC_02 tinv\r
91 .ends sti\r
93 .subckt max A B MAX_OUT\r
94 XXtnor A B AtnorB tnor\r
95 XXsti_tor AtnorB MAX_OUT sti\r
96 .ends max\r
98 .subckt tinv Vin PTI_Out STI_Out NTI_Out\r
99 RP PTI_Out STI_Out 12k\r
100 RN STI_Out NTI_Out 12k\r
101 MN NTI_Out Vin $G_Vss $G_Vss CD4007N\r
102 MP PTI_Out Vin $G_Vdd $G_Vdd CD4007P\r
103 .ends tinv\r
105 .subckt tnor A B TNOR_Out\r
106 RP NP TNOR_Out 12k\r
107 RN TNOR_Out NN 12k\r
108 MN1 NN A $G_Vss $G_Vss CD4007N\r
109 MP2 NI A $G_Vdd $G_Vdd CD4007P\r
110 MN2 NN B $G_Vss $G_Vss CD4007N\r
111 MP1 NI B NP $G_Vdd CD4007P\r
112 .ends tnor\r
114 .model D D\r
115 .lib C:\PROGRA~1\LTC\SwCADIII\lib\cmp\standard.dio\r
116 .model NMOS NMOS\r
117 .model PMOS PMOS\r
118 .lib C:\PROGRA~1\LTC\SwCADIII\lib\cmp\standard.mos\r
119 .tran 540e-9\r
120 .backanno\r
121 .end\r