Merge branch 'master' into work
[xcircuit.git] / lib / xspice.lps
blob90d60ac91fd943520176e15624d25756f30d41cd
1 %! PostScript set of library objects for XCircuit
2 %  Version: 3.9
3 %  Library name is: xspice
4 %  Author:  <tim@stravinsky>
8 % XCircuitLib library objects
9 /xspice::d_dff {
10 <</@ic (0) /@set_load (1.0e-12) /@reset_load (1.0e-12) /@clk_load (1.0e-12) /@data_load 
11 (1.0e-12) /@reset_delay (1.0e-9) /@set_delay (1.0E-9) /@clk_delay 
12 (1.0E-9) /@fall_delay (1.0e-9\)) /@rise_delay (1.0e-9) /@index (?) >> begingate
13 1 1.000 -64 64 -96 64 2 polygon
14 1.000 0.000 0.000 scb
15 (D) {/Times-Roman cf} 2 23 0.000 0.700 -96 64 pinlabel
16 0.180 0.545 0.341 scb
17 mark @index ( %%d %pD %%d %pCLK %%d %pS %%d %pC %%d %pQ %%d %pQbar d_dff_) @index 
18 (spice1:A) {/Times-Roman cf} ctmk 20 0.000 0.700 -144 -176 infolabel
19 0.000 0.000 1.000 scb
20 mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 16 label
21 sce
22 0 1.000 -64 -64 -64 96 64 96 64 -64 4 polygon
23 1 1.000 64 64 96 64 2 polygon
24 1.000 0.000 0.000 scb
25 (Q) {/Times-Roman cf} 2 20 0.000 0.700 96 64 pinlabel
26 (CLK) {/Times-Roman cf} 2 23 0.000 0.700 -96 -32 pinlabel
27 sce
28 1 1.000 64 -32 96 -32 2 polygon
29 1.000 0.000 0.000 scb
30 (Qbar) {/Times-Roman cf} 2 20 0.000 0.700 96 -32 pinlabel
31 sce
32 (D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
33 1 1.000 -64 -48 -48 -32 -64 -16 3 polygon
34 (S) {/Times-Roman cf} 2 21 0.000 0.700 0 80 label
35 (C) {/Times-Roman cf} 2 21 0.000 0.700 0 -48 label
36 (Q) {/Times-Roman cf} 2 21 0.000 0.700 48 64 label
37 (Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 48 -32 label
38 1.000 0.000 0.000 scb
39 (C) {/Times-Roman cf} 2 29 0.000 0.700 0 -96 pinlabel
40 (S) {/Times-Roman cf} 2 17 0.000 0.700 0 128 pinlabel
41 sce
42 1 1.000 0 -96 0 -64 2 polygon
43 1 1.000 0 128 0 96 2 polygon
44 0.180 0.545 0.341 scb
45 mark @reset_load ( reset_load=) @set_load ( set_load=) @clk_load ( clk_load=) 
46 @data_load ( data_load=) @ic (spice3:+ ic=) {/Times-Roman cf} ctmk 20 0.000 
47 0.700 -144 -240 infolabel
48 mark @fall_delay ( fall_delay=) @rise_delay (spice4:+ rise_delay=) 
49 {/Times-Roman cf} ctmk 20 0.000 0.700 -144 -272 infolabel
50 mark @reset_delay ( reset_delay=) @set_delay ( set_delay=) @clk_delay 
51 ( d_dff\(clk_delay=) @index (spice2:.model d_dff_) {/Times-Roman cf} ctmk 20 
52 0.000 0.700 -144 -208 infolabel
53 sce
54 1 1.000 -96 -32 -64 -32 2 polygon
55 endgate
56 } def
58 /xspice::adc_bridge {
59 <</@in_high (2.0) /@in_low (1.0) /@index (?) /@rise_delay (1.0e-9) /@fall_delay 
60 (1.0e-9) >> begingate
61 1 1.000 48 0 80 0 2 polygon
62 1 1.000 -48 0 -80 0 2 polygon
63 1.000 0.000 0.000 scb
64 (A) {/Times-Roman cf} 2 23 0.000 0.700 -80 0 pinlabel
65 (D) {/Times-Roman cf} 2 20 0.000 0.700 80 0 pinlabel
66 0.180 0.545 0.341 scb
67 mark @index ( [%p"A"] %%d [%p"D"] adc_bridge_) @index (spice1:A) {/Times-Roman cf} 
68 ctmk 20 0.000 0.700 -112 -64 infolabel
69 mark (\)) @fall_delay ( fall_delay=) @rise_delay ( rise_delay=) @in_high 
70 ( in_high=) @in_low ( adc_bridge\(in_low=) @index (spice2:.model adc_bridge_) 
71 {/Times-Roman cf} ctmk 20 0.000 0.700 -112 -96 infolabel
72 0.000 0.000 1.000 scb
73 mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
74 sce
75 1 1.000 -48 0 -32 -16 32 -16 48 0 32 16 -32 16 -48 0 7 polygon
76 endgate
77 } def
79 /xspice::dac_bridge {
80 <</@t_fall (1.0E-9) /@t_rise (1.0E-9) /@input_load (1.0E-12) /@out_undef (0.5) /@out_high 
81 (1.0) /@out_low (0.0) /@index (?) >> begingate
82 1 1.000 48 0 80 0 2 polygon
83 1 1.000 -48 0 -80 0 2 polygon
84 1.000 0.000 0.000 scb
85 (D) {/Times-Roman cf} 2 23 0.000 0.700 -80 0 pinlabel
86 (A) {/Times-Roman cf} 2 20 0.000 0.700 80 0 pinlabel
87 0.180 0.545 0.341 scb
88 mark @index ( %%d [%p"D"] [%p"A"] dac_bridge_) @index (spice1:A) {/Times-Roman cf} 
89 ctmk 20 0.000 0.700 -112 -64 infolabel
90 mark @out_high ( out_high=) @out_low ( dac_bridge\(out_low=) @index 
91 (spice2:.model dac_bridge_) {/Times-Roman cf} ctmk 20 0.000 0.700 -112 -96 
92 infolabel
93 0.000 0.000 1.000 scb
94 mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
95 sce
96 1 1.000 -48 0 -32 -16 32 -16 48 0 32 16 -32 16 -48 0 7 polygon
97 0.180 0.545 0.341 scb
98 mark (\)) @t_fall ( t_fall=) @t_rise ( t_rise=) @input_load ( input_load=) 
99 @out_undef (spice3:+ out_undef=) {/Times-Roman cf} ctmk 20 0.000 0.700 -112 
100 -128 infolabel
101 endgate
102 } def
104 /xspice::d_buffer {
105 <</@input_load (1.0e-12) /@fall_delay (1.0e-9) /@rise_delay (1.0e-9) /@index (?) >> 
106 begingate
107 1 1.000 48 0 80 0 2 polygon
108 1 1.000 -48 0 -80 0 2 polygon
109 1.000 0.000 0.000 scb
110 (A) {/Times-Roman cf} 2 23 0.000 0.700 -80 0 pinlabel
111 (X) {/Times-Roman cf} 2 20 0.000 0.700 80 0 pinlabel
112 0.180 0.545 0.341 scb
113 mark @index ( %%d %pA %%d %pX d_buffer_) @index (spice1:A) {/Times-Roman cf} ctmk 
114 20 0.000 0.700 -112 -128 infolabel
115 mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay 
116 ( d_buffer\(rise_delay=) @index (spice2:.model d_buffer_) {/Times-Roman cf} ctmk 
117 20 0.000 0.700 -112 -160 infolabel
118 0.000 0.000 1.000 scb
119 mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 -16 0 label
121 1 1.000 48 0 -48 48 -48 -48 48 0 4 polygon
122 endgate
123 } def
125 /xspice::d_inverter {
126 <</@input_load (1.0e-12) /@index (?) /@rise_delay (1.0e-9) /@fall_delay (1.0e-9) >> 
127 begingate
128 1 1.000 64 0 80 0 2 polygon
129 1 1.000 -48 0 -80 0 2 polygon
130 1.000 0.000 0.000 scb
131 (A) {/Times-Roman cf} 2 23 0.000 0.700 -80 0 pinlabel
132 (X) {/Times-Roman cf} 2 20 0.000 0.700 80 0 pinlabel
133 0.180 0.545 0.341 scb
134 mark @index ( %%d %pin %%d %pout d_inverter_) @index (spice1:A) {/Times-Roman cf} 
135 ctmk 20 0.000 0.700 -112 -128 infolabel
136 mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay 
137 ( d_inverter\(rise_delay=) @index (spice2:.model d_inverter_) {/Times-Roman cf} 
138 ctmk 20 0.000 0.700 -112 -160 infolabel
139 0.000 0.000 1.000 scb
140 mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 -16 0 label
142 1 1.000 56 0 8 0.000 360.000 xcarc
143 1 1.000 48 0 -48 48 -48 -48 48 0 4 polygon
144 endgate
145 } def
147 /xspice::d_and2 {
148 <</@index (?) /@rise_delay (1.0e-9) /@fall_delay (1.0e-9) /@input_load (1.0e-12) >> 
149 begingate
150 1 1.000 64 0 96 0 2 polygon
151 1 1.000 -48 32 -80 32 2 polygon
152 1.000 0.000 0.000 scb
153 (A) {/Times-Roman cf} 2 23 0.000 0.700 -80 32 pinlabel
154 (X) {/Times-Roman cf} 2 20 0.000 0.700 96 0 pinlabel
155 0.180 0.545 0.341 scb
156 mark @index ( %%d [%pA %pB] %%d %pX d_and2_) @index (spice1:A) {/Times-Roman cf} 
157 ctmk 20 0.000 0.700 -112 -128 infolabel
158 mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay 
159 ( d_and\(rise_delay=) @index (spice2:.model d_and2_) {/Times-Roman cf} ctmk 20 
160 0.000 0.700 -112 -160 infolabel
161 0.000 0.000 1.000 scb
162 mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
164 1 1.000 -48 -48 -48 48 2 polygon
165 1 1.000 -48 48 16 48 2 polygon
166 1 1.000 -48 -48 16 -48 2 polygon
167 1 1.000 16 0 48 270.000 450.000 xcarc
168 1 1.000 -48 -32 -80 -32 2 polygon
169 1.000 0.000 0.000 scb
170 (B) {/Times-Roman cf} 2 23 0.000 0.700 -80 -32 pinlabel
171 endgate
172 } def
174 /xspice::d_nand2 {
175 <</@input_load (1.0e-12) /@fall_delay (1.0e-9) /@rise_delay (1.0e-9) /@index (?) >> 
176 begingate
177 1 1.000 80 0 96 0 2 polygon
178 1 1.000 -48 32 -80 32 2 polygon
179 1.000 0.000 0.000 scb
180 (A) {/Times-Roman cf} 2 23 0.000 0.700 -80 32 pinlabel
181 (X) {/Times-Roman cf} 2 20 0.000 0.700 96 0 pinlabel
182 0.180 0.545 0.341 scb
183 mark @index ( %%d [%pA %pB] %%d %pX d_nand2_) @index (spice1:A) {/Times-Roman cf} 
184 ctmk 20 0.000 0.700 -112 -128 infolabel
185 mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay 
186 ( d_nand\(rise_delay=) @index (spice2:.model d_nand2_) {/Times-Roman cf} ctmk 20 
187 0.000 0.700 -112 -160 infolabel
188 0.000 0.000 1.000 scb
189 mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
191 1 1.000 -48 -48 -48 48 2 polygon
192 1 1.000 -48 48 16 48 2 polygon
193 1 1.000 -48 -48 16 -48 2 polygon
194 1 1.000 16 0 48 270.000 450.000 xcarc
195 1 1.000 -48 -32 -80 -32 2 polygon
196 1.000 0.000 0.000 scb
197 (B) {/Times-Roman cf} 2 23 0.000 0.700 -80 -32 pinlabel
199 1 1.000 72 0 8 0.000 360.000 xcarc
200 endgate
201 } def
203 /xspice::d_or2 {
204 <</@input_load (1.0e-12) /@fall_delay (1.0e-9) /@rise_delay (1.0e-9) /@index (?) >> 
205 begingate
206 1 1.000 64 0 96 0 2 polygon
207 1 1.000 -40 32 -80 32 2 polygon
208 1.000 0.000 0.000 scb
209 (A) {/Times-Roman cf} 2 23 0.000 0.700 -80 32 pinlabel
210 (X) {/Times-Roman cf} 2 20 0.000 0.700 96 0 pinlabel
211 0.180 0.545 0.341 scb
212 mark @index ( %%d [%pA %pB] %%d %pX d_or2_) @index (spice1:A) {/Times-Roman cf} 
213 ctmk 20 0.000 0.700 -112 -128 infolabel
214 mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay 
215 ( d_or\(rise_delay=) @index (spice2:.model d_or2_) {/Times-Roman cf} ctmk 20 
216 0.000 0.700 -112 -160 infolabel
217 0.000 0.000 1.000 scb
218 mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
220 1 1.000 -48 48 -16 48 2 polygon
221 1 1.000 -40 -32 -80 -32 2 polygon
222 1.000 0.000 0.000 scb
223 (B) {/Times-Roman cf} 2 23 0.000 0.700 -80 -32 pinlabel
225 1 1.000 -32 32 -32 -32 -48 -48 -48 48 spline
226 1 1.000 56 24 16 48 -16 48 64 0 spline
227 1 1.000 56 -24 16 -48 -16 -48 64 0 spline
228 1 1.000 -48 -48 -16 -48 2 polygon
229 endgate
230 } def
232 /xspice::d_nor2 {
233 <</@index (?) /@rise_delay (1.0e-9) /@fall_delay (1.0e-9) /@input_load (1.0e-12) >> 
234 begingate
235 1 1.000 80 0 96 0 2 polygon
236 1 1.000 -40 32 -80 32 2 polygon
237 1.000 0.000 0.000 scb
238 (A) {/Times-Roman cf} 2 23 0.000 0.700 -80 32 pinlabel
239 (X) {/Times-Roman cf} 2 20 0.000 0.700 96 0 pinlabel
240 0.180 0.545 0.341 scb
241 mark @index ( %%d [%pA %pB] %%d %pX d_nor2_) @index (spice1:A) {/Times-Roman cf} 
242 ctmk 20 0.000 0.700 -112 -128 infolabel
243 mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay 
244 ( d_nor\(rise_delay=) @index (spice2:.model d_nor2_) {/Times-Roman cf} ctmk 20 
245 0.000 0.700 -112 -160 infolabel
246 0.000 0.000 1.000 scb
247 mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
249 1 1.000 -48 48 -16 48 2 polygon
250 1 1.000 -40 -32 -80 -32 2 polygon
251 1.000 0.000 0.000 scb
252 (B) {/Times-Roman cf} 2 23 0.000 0.700 -80 -32 pinlabel
254 1 1.000 -32 32 -32 -32 -48 -48 -48 48 spline
255 1 1.000 56 24 16 48 -16 48 64 0 spline
256 1 1.000 56 -24 16 -48 -16 -48 64 0 spline
257 1 1.000 -48 -48 -16 -48 2 polygon
258 1 1.000 72 0 8 0.000 360.000 xcarc
259 endgate
260 } def
262 /xspice::d_xor2 {
263 <</@index (?) /@rise_delay (1.0e-9) /@fall_delay (1.0e-9) /@input_load (1.0e-12) >> 
264 begingate
265 1 1.000 64 0 96 0 2 polygon
266 1 1.000 -48 32 -80 32 2 polygon
267 1.000 0.000 0.000 scb
268 (A) {/Times-Roman cf} 2 23 0.000 0.700 -80 32 pinlabel
269 (X) {/Times-Roman cf} 2 20 0.000 0.700 96 0 pinlabel
270 0.180 0.545 0.341 scb
271 mark @index ( %%d [%pA %pB] %%d %pX d_xor2_) @index (spice1:A) {/Times-Roman cf} 
272 ctmk 20 0.000 0.700 -112 -128 infolabel
273 mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay 
274 ( d_xor\(rise_delay=) @index (spice2:.model d_xor2_) {/Times-Roman cf} ctmk 20 
275 0.000 0.700 -112 -160 infolabel
276 0.000 0.000 1.000 scb
277 mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
279 1 1.000 -44 48 -16 48 2 polygon
280 1 1.000 -48 -32 -80 -32 2 polygon
281 1.000 0.000 0.000 scb
282 (B) {/Times-Roman cf} 2 23 0.000 0.700 -80 -32 pinlabel
284 1 1.000 -28 32 -28 -32 -44 -48 -44 48 spline
285 1 1.000 56 24 16 48 -16 48 64 0 spline
286 1 1.000 56 -24 16 -48 -16 -48 64 0 spline
287 1 1.000 -44 -48 -16 -48 2 polygon
288 1 1.000 -40 32 -40 -32 -56 -48 -56 48 spline
289 endgate
290 } def
292 /xspice::d_xnor2 {
293 <</@input_load (1.0e-12) /@fall_delay (1.0e-9) /@rise_delay (1.0e-9) /@index (?) >> 
294 begingate
295 1 1.000 80 0 96 0 2 polygon
296 1 1.000 -48 32 -80 32 2 polygon
297 1.000 0.000 0.000 scb
298 (A) {/Times-Roman cf} 2 23 0.000 0.700 -80 32 pinlabel
299 (X) {/Times-Roman cf} 2 20 0.000 0.700 96 0 pinlabel
300 0.180 0.545 0.341 scb
301 mark @index ( %%d [%pA %pB] %%d %pX d_xnor2_) @index (spice1:A) {/Times-Roman cf} 
302 ctmk 20 0.000 0.700 -112 -128 infolabel
303 mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay 
304 ( d_xnor\(rise_delay=) @index (spice2:.model d_xnor2_) {/Times-Roman cf} ctmk 20 
305 0.000 0.700 -112 -160 infolabel
306 0.000 0.000 1.000 scb
307 mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
309 1 1.000 -44 48 -16 48 2 polygon
310 1 1.000 -48 -32 -80 -32 2 polygon
311 1.000 0.000 0.000 scb
312 (B) {/Times-Roman cf} 2 23 0.000 0.700 -80 -32 pinlabel
314 1 1.000 -28 32 -28 -32 -44 -48 -44 48 spline
315 1 1.000 56 24 16 48 -16 48 64 0 spline
316 1 1.000 56 -24 16 -48 -16 -48 64 0 spline
317 1 1.000 -44 -48 -16 -48 2 polygon
318 1 1.000 -40 32 -40 -32 -56 -48 -56 48 spline
319 1 1.000 72 0 8 0.000 360.000 xcarc
320 endgate
321 } def
323 /xspice::d_tristate {
324 <</@enable_load (1.0E-12) /@delay (1.0E-9) /@index (?) /@input_load (1.0e-12) >> begingate
325 1 1.000 48 0 80 0 2 polygon
326 1 1.000 -48 0 -80 0 2 polygon
327 1.000 0.000 0.000 scb
328 (A) {/Times-Roman cf} 2 23 0.000 0.700 -80 0 pinlabel
329 (X) {/Times-Roman cf} 2 20 0.000 0.700 80 0 pinlabel
330 0.180 0.545 0.341 scb
331 mark @index ( %%d %pA %%d %pEN %%d %pX d_tristate_) @index (spice1:A) 
332 {/Times-Roman cf} ctmk 20 0.000 0.700 -112 -128 infolabel
333 mark (\)) @enable_load ( enable_load=) @input_load ( input_load=) @delay 
334 ( d_tristate\(delay=) @index (spice2:.model d_tristate_) {/Times-Roman cf} ctmk 
335 20 0.000 0.700 -112 -160 infolabel
336 0.000 0.000 1.000 scb
337 mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 -16 0 label
339 1 1.000 48 0 -48 48 -48 -48 48 0 4 polygon
340 1 1.000 0 -24 0 -48 2 polygon
341 1.000 0.000 0.000 scb
342 (EN) {/Times-Roman cf} 2 29 0.000 0.700 0 -48 pinlabel
343 endgate
344 } def
346 /xspice::d_pullup {
347 <</@load (1.0e-12) /@index (?) >> begingate
348 1.000 0.000 0.000 scb
349 (X) {/Times-Roman cf} 2 29 0.000 0.700 32 0 pinlabel
350 0.180 0.545 0.341 scb
351 mark @index ( %%d %pA %%d %pX d_pullup_) @index (spice1:A) {/Times-Roman cf} ctmk 
352 20 0.000 0.700 -120 -40 infolabel
353 mark (\)) @load ( d_pullup\(load=) @index (spice2:.model d_pullup_) 
354 {/Times-Roman cf} ctmk 20 0.000 0.700 -120 -72 infolabel
355 0.000 0.000 1.000 scb
356 mark @index (A) {/Times-Roman cf} ctmk 20 0.000 0.700 64 64 label
358 1 1.000 32 128 32 100 2 polygon
359 1 1.000 32 0 32 28 2 polygon
360 1 1.000 32 28 46 34 18 46 46 58 18 70 46 82 18 94 32 100 8 polygon
361 1 1.000 0 128 64 128 2 polygon
362 (Vdd) {/Times-Roman cf} 2 17 0.000 0.700 32 136 label
363 endgate
364 } def
366 /xspice::d_pulldown {
367 <</@index (?) /@load (1.0e-12) >> begingate
368 1.000 0.000 0.000 scb
369 (X) {/Times-Roman cf} 2 17 0.000 0.700 32 160 pinlabel
370 0.180 0.545 0.341 scb
371 mark @index ( %%d %pA %%d %pX d_pulldown_) @index (spice1:A) {/Times-Roman cf} ctmk 
372 20 0.000 0.700 -224 -32 infolabel
373 mark (\)) @load ( d_pulldown\(load=) @index (spice2:.model d_pulldown_) 
374 {/Times-Roman cf} ctmk 20 0.000 0.700 -224 -64 infolabel
375 0.000 0.000 1.000 scb
376 mark @index (A) {/Times-Roman cf} ctmk 20 0.000 0.700 64 96 label
378 1 1.000 32 160 32 132 2 polygon
379 1 1.000 32 32 32 60 2 polygon
380 1 1.000 32 60 46 66 18 78 46 90 18 102 46 114 18 126 32 132 8 polygon
381 1 1.000 0 32 64 32 2 polygon
382 1 1.000 12 20 52 20 2 polygon
383 1 1.000 24 8 40 8 2 polygon
384 endgate
385 } def
387 /xspice::d_latch {
388 <</@fall_delay (1.0e-9) /@rise_delay (1.0e-9) /@enable_load (1.0e-12) /@enable_delay 
389 (1.0e-9) /@data_delay (1.0e-9) /@index (?) /@set_delay (1.0E-9) /@reset_delay 
390 (1.0e-9) /@data_load (1.0e-12) /@reset_load (1.0e-12) /@set_load 
391 (1.0e-12) /@ic (0) >> begingate
392 1 1.000 -64 64 -96 64 2 polygon
393 1.000 0.000 0.000 scb
394 (D) {/Times-Roman cf} 2 23 0.000 0.700 -96 64 pinlabel
395 0.180 0.545 0.341 scb
396 mark @index ( %%d %pD %%d %pEN %%d %pS %%d %pC %%d %pQ %%d %pQbar d_latch_) @index 
397 (spice1:A) {/Times-Roman cf} ctmk 20 0.000 0.700 -144 -176 infolabel
398 0.000 0.000 1.000 scb
399 mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 16 label
401 0 1.000 -64 -64 -64 96 64 96 64 -64 4 polygon
402 1 1.000 64 64 96 64 2 polygon
403 1.000 0.000 0.000 scb
404 (Q) {/Times-Roman cf} 2 20 0.000 0.700 96 64 pinlabel
405 (EN) {/Times-Roman cf} 2 23 0.000 0.700 -96 -32 pinlabel
407 1 1.000 64 -32 96 -32 2 polygon
408 1.000 0.000 0.000 scb
409 (Qbar) {/Times-Roman cf} 2 20 0.000 0.700 96 -32 pinlabel
411 (D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
412 (S) {/Times-Roman cf} 2 21 0.000 0.700 0 80 label
413 (C) {/Times-Roman cf} 2 21 0.000 0.700 0 -48 label
414 (Q) {/Times-Roman cf} 2 21 0.000 0.700 48 64 label
415 (Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 48 -32 label
416 1.000 0.000 0.000 scb
417 (C) {/Times-Roman cf} 2 29 0.000 0.700 0 -96 pinlabel
418 (S) {/Times-Roman cf} 2 17 0.000 0.700 0 128 pinlabel
420 1 1.000 0 -96 0 -64 2 polygon
421 1 1.000 0 128 0 96 2 polygon
422 0.180 0.545 0.341 scb
423 mark @reset_load ( reset_load=) @set_load ( set_load=) @enable_load 
424 ( enable_load=) @data_load ( data_load=) @ic (spice3:+ ic=) {/Times-Roman cf} 
425 ctmk 20 0.000 0.700 -144 -240 infolabel
426 mark (\)) @fall_delay ( fall_delay=) @rise_delay (spice4:+ rise_delay=) 
427 {/Times-Roman cf} ctmk 20 0.000 0.700 -144 -272 infolabel
428 mark @reset_delay ( reset_delay=) @set_delay ( set_delay=) @enable_delay 
429 ( d_latch\(enable_delay=) @index (spice2:.model d_latch_) {/Times-Roman cf} ctmk 
430 20 0.000 0.700 -144 -208 infolabel
432 1 1.000 -96 -32 -64 -32 2 polygon
433 (EN) {/Times-Roman cf} 2 20 0.000 0.700 -56 -32 label
434 endgate
435 } def
437 /xspice::d_ram_8x1k {
438 <</@address_load (1.0e-12) /@select_load (1.0E-12) /@read_delay (100.0E-9) /@select_value 
439 (1) /@ic (0) /@data_load (1.0e-12) /@index (?) /@enable_load 
440 (1.0e-12) >> begingate
441 0.000 0.000 1.000 scb
442 mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 224 96 label
444 0 1.000 -64 -64 -64 224 544 224 544 -64 4 polygon
445 1.000 0.000 0.000 scb
446 (D7) {/Times-Roman cf} 2 23 0.000 0.700 -96 -32 pinlabel
448 1 1.000 -96 -32 -64 -32 2 polygon
449 (D7) {/Times-Roman cf} 2 20 0.000 0.700 -56 -32 label
450 1.000 0.000 0.000 scb
451 (D6) {/Times-Roman cf} 2 23 0.000 0.700 -96 0 pinlabel
453 1 1.000 -96 0 -64 0 2 polygon
454 (D6) {/Times-Roman cf} 2 20 0.000 0.700 -56 0 label
455 1.000 0.000 0.000 scb
456 (D5) {/Times-Roman cf} 2 23 0.000 0.700 -96 32 pinlabel
458 1 1.000 -96 32 -64 32 2 polygon
459 (D5) {/Times-Roman cf} 2 20 0.000 0.700 -56 32 label
460 1.000 0.000 0.000 scb
461 (D4) {/Times-Roman cf} 2 23 0.000 0.700 -96 64 pinlabel
463 1 1.000 -96 64 -64 64 2 polygon
464 (D4) {/Times-Roman cf} 2 20 0.000 0.700 -56 64 label
465 1.000 0.000 0.000 scb
466 (D3) {/Times-Roman cf} 2 23 0.000 0.700 -96 96 pinlabel
468 1 1.000 -96 96 -64 96 2 polygon
469 (D3) {/Times-Roman cf} 2 20 0.000 0.700 -56 96 label
470 1.000 0.000 0.000 scb
471 (D2) {/Times-Roman cf} 2 23 0.000 0.700 -96 128 pinlabel
473 1 1.000 -96 128 -64 128 2 polygon
474 (D2) {/Times-Roman cf} 2 20 0.000 0.700 -56 128 label
475 1.000 0.000 0.000 scb
476 (D1) {/Times-Roman cf} 2 23 0.000 0.700 -96 160 pinlabel
478 1 1.000 -96 160 -64 160 2 polygon
479 (D1) {/Times-Roman cf} 2 20 0.000 0.700 -56 160 label
480 1.000 0.000 0.000 scb
481 (D0) {/Times-Roman cf} 2 23 0.000 0.700 -96 192 pinlabel
483 1 1.000 -96 192 -64 192 2 polygon
484 (D0) {/Times-Roman cf} 2 20 0.000 0.700 -56 192 label
485 1.000 0.000 0.000 scb
486 (Q7) {/Times-Roman cf} 2 20 0.000 0.700 576 -32 pinlabel
488 1 1.000 576 -32 544 -32 2 polygon
489 (Q7) {/Times-Roman cf} 2 23 0.000 0.700 536 -32 label
490 1.000 0.000 0.000 scb
491 (Q6) {/Times-Roman cf} 2 20 0.000 0.700 576 0 pinlabel
493 1 1.000 576 0 544 0 2 polygon
494 (Q6) {/Times-Roman cf} 2 23 0.000 0.700 536 0 label
495 1.000 0.000 0.000 scb
496 (Q5) {/Times-Roman cf} 2 20 0.000 0.700 576 32 pinlabel
498 1 1.000 576 32 544 32 2 polygon
499 (Q5) {/Times-Roman cf} 2 23 0.000 0.700 536 32 label
500 1.000 0.000 0.000 scb
501 (Q4) {/Times-Roman cf} 2 20 0.000 0.700 576 64 pinlabel
503 1 1.000 576 64 544 64 2 polygon
504 (Q4) {/Times-Roman cf} 2 23 0.000 0.700 536 64 label
505 1.000 0.000 0.000 scb
506 (Q3) {/Times-Roman cf} 2 20 0.000 0.700 576 96 pinlabel
508 1 1.000 576 96 544 96 2 polygon
509 (Q3) {/Times-Roman cf} 2 23 0.000 0.700 536 96 label
510 1.000 0.000 0.000 scb
511 (Q2) {/Times-Roman cf} 2 20 0.000 0.700 576 128 pinlabel
513 1 1.000 576 128 544 128 2 polygon
514 (Q2) {/Times-Roman cf} 2 23 0.000 0.700 536 128 label
515 1.000 0.000 0.000 scb
516 (Q1) {/Times-Roman cf} 2 20 0.000 0.700 576 160 pinlabel
518 1 1.000 576 160 544 160 2 polygon
519 (Q1) {/Times-Roman cf} 2 23 0.000 0.700 536 160 label
520 1.000 0.000 0.000 scb
521 (Q0) {/Times-Roman cf} 2 20 0.000 0.700 576 192 pinlabel
523 1 1.000 576 192 544 192 2 polygon
524 (Q0) {/Times-Roman cf} 2 23 0.000 0.700 536 192 label
525 1 1.000 368 -64 368 -96 2 polygon
526 1 1.000 416 -64 416 -96 2 polygon
527 1 1.000 464 -64 464 -96 2 polygon
528 1.000 0.000 0.000 scb
529 (A2) {/Times-Roman cf} 2 29 0.000 0.700 368 -96 pinlabel
530 (A1) {/Times-Roman cf} 2 29 0.000 0.700 416 -96 pinlabel
531 (A0) {/Times-Roman cf} 2 29 0.000 0.700 464 -96 pinlabel
533 1 1.000 320 -64 320 -96 2 polygon
534 1.000 0.000 0.000 scb
535 (A3) {/Times-Roman cf} 2 29 0.000 0.700 320 -96 pinlabel
537 1 1.000 272 -64 272 -96 2 polygon
538 1.000 0.000 0.000 scb
539 (A4) {/Times-Roman cf} 2 29 0.000 0.700 272 -96 pinlabel
541 1 1.000 224 -64 224 -96 2 polygon
542 1.000 0.000 0.000 scb
543 (A5) {/Times-Roman cf} 2 29 0.000 0.700 224 -96 pinlabel
545 1 1.000 176 -64 176 -96 2 polygon
546 1.000 0.000 0.000 scb
547 (A6) {/Times-Roman cf} 2 29 0.000 0.700 176 -96 pinlabel
549 1 1.000 128 -64 128 -96 2 polygon
550 1.000 0.000 0.000 scb
551 (A7) {/Times-Roman cf} 2 29 0.000 0.700 128 -96 pinlabel
553 1 1.000 80 -64 80 -96 2 polygon
554 1.000 0.000 0.000 scb
555 (A8) {/Times-Roman cf} 2 29 0.000 0.700 80 -96 pinlabel
557 1 1.000 32 -64 32 -96 2 polygon
558 1.000 0.000 0.000 scb
559 (A9) {/Times-Roman cf} 2 29 0.000 0.700 32 -96 pinlabel
561 (A9) {/Times-Roman cf} 2 17 0.000 0.700 32 -48 label
562 (A8) {/Times-Roman cf} 2 17 0.000 0.700 80 -48 label
563 (A7) {/Times-Roman cf} 2 17 0.000 0.700 128 -48 label
564 (A6) {/Times-Roman cf} 2 17 0.000 0.700 176 -48 label
565 (A5) {/Times-Roman cf} 2 17 0.000 0.700 224 -48 label
566 (A4) {/Times-Roman cf} 2 17 0.000 0.700 272 -48 label
567 (A3) {/Times-Roman cf} 2 17 0.000 0.700 320 -48 label
568 (A2) {/Times-Roman cf} 2 17 0.000 0.700 368 -48 label
569 (A1) {/Times-Roman cf} 2 17 0.000 0.700 416 -48 label
570 (A0) {/Times-Roman cf} 2 17 0.000 0.700 464 -48 label
571 (SRAM 1k x 8) {/Times-Roman cf} 2 21 0.000 0.700 224 48 label
572 0.180 0.545 0.341 scb
573 mark ( %%d [ %pD7 %pD6 %pD5 %pD4 %pD3 %pD2 %pD1 %pD0 ]) @index (spice1:A) 
574 {/Times-Roman cf} ctmk 20 0.000 0.700 -144 -192 infolabel
575 (spice2:+ %%d [ %pQ7 %pQ6 %pQ5 %pQ4 %pQ3 %pQ2 %pQ1 %pQ0 ]) {/Times-Roman cf} 2 
576 20 0.000 0.700 -144 -224 infolabel
577 (spice3:+ %%d [ %pA9 %pA8 %pA7 %pA6 %pA5 %pA4 %pA3 %pA2 %pA1 %pA0 ]) 
578 {/Times-Roman cf} 2 20 0.000 0.700 -144 -256 infolabel
579 mark @index (spice4:+ d_ram_8x1k) {/Times-Roman cf} ctmk 20 0.000 0.700 -144 -288 
580 infolabel
581 mark @read_delay ( read_delay=) @ic ( ic=) @select_value 
582 ( d_ram\(select_value=) @index (spice5:.model d_ram_8x1k) {/Times-Roman cf} ctmk 
583 20 0.000 0.700 -144 -320 infolabel
584 mark (\)) @enable_load ( enable_load=) @select_load ( select_load=) 
585 @address_load ( address_load=) @data_load (spice6:+ data_load=) 
586 {/Times-Roman cf} ctmk 20 0.000 0.700 -144 -352 infolabel
587 endgate
588 } def
591 % EndLib