summaryrefslogtreecommitdiff
path: root/lib/xspice.lps
diff options
context:
space:
mode:
Diffstat (limited to 'lib/xspice.lps')
-rw-r--r--lib/xspice.lps591
1 files changed, 591 insertions, 0 deletions
diff --git a/lib/xspice.lps b/lib/xspice.lps
new file mode 100644
index 0000000..90d60ac
--- /dev/null
+++ b/lib/xspice.lps
@@ -0,0 +1,591 @@
+%! PostScript set of library objects for XCircuit
+% Version: 3.9
+% Library name is: xspice
+% Author: <tim@stravinsky>
+%
+
+
+% XCircuitLib library objects
+/xspice::d_dff {
+<</@ic (0) /@set_load (1.0e-12) /@reset_load (1.0e-12) /@clk_load (1.0e-12) /@data_load
+(1.0e-12) /@reset_delay (1.0e-9) /@set_delay (1.0E-9) /@clk_delay
+(1.0E-9) /@fall_delay (1.0e-9\)) /@rise_delay (1.0e-9) /@index (?) >> begingate
+1 1.000 -64 64 -96 64 2 polygon
+1.000 0.000 0.000 scb
+(D) {/Times-Roman cf} 2 23 0.000 0.700 -96 64 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( %%d %pD %%d %pCLK %%d %pS %%d %pC %%d %pQ %%d %pQbar d_dff_) @index
+(spice1:A) {/Times-Roman cf} ctmk 20 0.000 0.700 -144 -176 infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 16 label
+sce
+0 1.000 -64 -64 -64 96 64 96 64 -64 4 polygon
+1 1.000 64 64 96 64 2 polygon
+1.000 0.000 0.000 scb
+(Q) {/Times-Roman cf} 2 20 0.000 0.700 96 64 pinlabel
+(CLK) {/Times-Roman cf} 2 23 0.000 0.700 -96 -32 pinlabel
+sce
+1 1.000 64 -32 96 -32 2 polygon
+1.000 0.000 0.000 scb
+(Qbar) {/Times-Roman cf} 2 20 0.000 0.700 96 -32 pinlabel
+sce
+(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+1 1.000 -64 -48 -48 -32 -64 -16 3 polygon
+(S) {/Times-Roman cf} 2 21 0.000 0.700 0 80 label
+(C) {/Times-Roman cf} 2 21 0.000 0.700 0 -48 label
+(Q) {/Times-Roman cf} 2 21 0.000 0.700 48 64 label
+(Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 48 -32 label
+1.000 0.000 0.000 scb
+(C) {/Times-Roman cf} 2 29 0.000 0.700 0 -96 pinlabel
+(S) {/Times-Roman cf} 2 17 0.000 0.700 0 128 pinlabel
+sce
+1 1.000 0 -96 0 -64 2 polygon
+1 1.000 0 128 0 96 2 polygon
+0.180 0.545 0.341 scb
+mark @reset_load ( reset_load=) @set_load ( set_load=) @clk_load ( clk_load=)
+@data_load ( data_load=) @ic (spice3:+ ic=) {/Times-Roman cf} ctmk 20 0.000
+0.700 -144 -240 infolabel
+mark @fall_delay ( fall_delay=) @rise_delay (spice4:+ rise_delay=)
+{/Times-Roman cf} ctmk 20 0.000 0.700 -144 -272 infolabel
+mark @reset_delay ( reset_delay=) @set_delay ( set_delay=) @clk_delay
+( d_dff\(clk_delay=) @index (spice2:.model d_dff_) {/Times-Roman cf} ctmk 20
+0.000 0.700 -144 -208 infolabel
+sce
+1 1.000 -96 -32 -64 -32 2 polygon
+endgate
+} def
+
+/xspice::adc_bridge {
+<</@in_high (2.0) /@in_low (1.0) /@index (?) /@rise_delay (1.0e-9) /@fall_delay
+(1.0e-9) >> begingate
+1 1.000 48 0 80 0 2 polygon
+1 1.000 -48 0 -80 0 2 polygon
+1.000 0.000 0.000 scb
+(A) {/Times-Roman cf} 2 23 0.000 0.700 -80 0 pinlabel
+(D) {/Times-Roman cf} 2 20 0.000 0.700 80 0 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( [%p"A"] %%d [%p"D"] adc_bridge_) @index (spice1:A) {/Times-Roman cf}
+ctmk 20 0.000 0.700 -112 -64 infolabel
+mark (\)) @fall_delay ( fall_delay=) @rise_delay ( rise_delay=) @in_high
+( in_high=) @in_low ( adc_bridge\(in_low=) @index (spice2:.model adc_bridge_)
+{/Times-Roman cf} ctmk 20 0.000 0.700 -112 -96 infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
+sce
+1 1.000 -48 0 -32 -16 32 -16 48 0 32 16 -32 16 -48 0 7 polygon
+endgate
+} def
+
+/xspice::dac_bridge {
+<</@t_fall (1.0E-9) /@t_rise (1.0E-9) /@input_load (1.0E-12) /@out_undef (0.5) /@out_high
+(1.0) /@out_low (0.0) /@index (?) >> begingate
+1 1.000 48 0 80 0 2 polygon
+1 1.000 -48 0 -80 0 2 polygon
+1.000 0.000 0.000 scb
+(D) {/Times-Roman cf} 2 23 0.000 0.700 -80 0 pinlabel
+(A) {/Times-Roman cf} 2 20 0.000 0.700 80 0 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( %%d [%p"D"] [%p"A"] dac_bridge_) @index (spice1:A) {/Times-Roman cf}
+ctmk 20 0.000 0.700 -112 -64 infolabel
+mark @out_high ( out_high=) @out_low ( dac_bridge\(out_low=) @index
+(spice2:.model dac_bridge_) {/Times-Roman cf} ctmk 20 0.000 0.700 -112 -96
+infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
+sce
+1 1.000 -48 0 -32 -16 32 -16 48 0 32 16 -32 16 -48 0 7 polygon
+0.180 0.545 0.341 scb
+mark (\)) @t_fall ( t_fall=) @t_rise ( t_rise=) @input_load ( input_load=)
+@out_undef (spice3:+ out_undef=) {/Times-Roman cf} ctmk 20 0.000 0.700 -112
+-128 infolabel
+endgate
+} def
+
+/xspice::d_buffer {
+<</@input_load (1.0e-12) /@fall_delay (1.0e-9) /@rise_delay (1.0e-9) /@index (?) >>
+begingate
+1 1.000 48 0 80 0 2 polygon
+1 1.000 -48 0 -80 0 2 polygon
+1.000 0.000 0.000 scb
+(A) {/Times-Roman cf} 2 23 0.000 0.700 -80 0 pinlabel
+(X) {/Times-Roman cf} 2 20 0.000 0.700 80 0 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( %%d %pA %%d %pX d_buffer_) @index (spice1:A) {/Times-Roman cf} ctmk
+20 0.000 0.700 -112 -128 infolabel
+mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay
+( d_buffer\(rise_delay=) @index (spice2:.model d_buffer_) {/Times-Roman cf} ctmk
+20 0.000 0.700 -112 -160 infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 -16 0 label
+sce
+1 1.000 48 0 -48 48 -48 -48 48 0 4 polygon
+endgate
+} def
+
+/xspice::d_inverter {
+<</@input_load (1.0e-12) /@index (?) /@rise_delay (1.0e-9) /@fall_delay (1.0e-9) >>
+begingate
+1 1.000 64 0 80 0 2 polygon
+1 1.000 -48 0 -80 0 2 polygon
+1.000 0.000 0.000 scb
+(A) {/Times-Roman cf} 2 23 0.000 0.700 -80 0 pinlabel
+(X) {/Times-Roman cf} 2 20 0.000 0.700 80 0 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( %%d %pin %%d %pout d_inverter_) @index (spice1:A) {/Times-Roman cf}
+ctmk 20 0.000 0.700 -112 -128 infolabel
+mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay
+( d_inverter\(rise_delay=) @index (spice2:.model d_inverter_) {/Times-Roman cf}
+ctmk 20 0.000 0.700 -112 -160 infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 -16 0 label
+sce
+1 1.000 56 0 8 0.000 360.000 xcarc
+1 1.000 48 0 -48 48 -48 -48 48 0 4 polygon
+endgate
+} def
+
+/xspice::d_and2 {
+<</@index (?) /@rise_delay (1.0e-9) /@fall_delay (1.0e-9) /@input_load (1.0e-12) >>
+begingate
+1 1.000 64 0 96 0 2 polygon
+1 1.000 -48 32 -80 32 2 polygon
+1.000 0.000 0.000 scb
+(A) {/Times-Roman cf} 2 23 0.000 0.700 -80 32 pinlabel
+(X) {/Times-Roman cf} 2 20 0.000 0.700 96 0 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( %%d [%pA %pB] %%d %pX d_and2_) @index (spice1:A) {/Times-Roman cf}
+ctmk 20 0.000 0.700 -112 -128 infolabel
+mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay
+( d_and\(rise_delay=) @index (spice2:.model d_and2_) {/Times-Roman cf} ctmk 20
+0.000 0.700 -112 -160 infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
+sce
+1 1.000 -48 -48 -48 48 2 polygon
+1 1.000 -48 48 16 48 2 polygon
+1 1.000 -48 -48 16 -48 2 polygon
+1 1.000 16 0 48 270.000 450.000 xcarc
+1 1.000 -48 -32 -80 -32 2 polygon
+1.000 0.000 0.000 scb
+(B) {/Times-Roman cf} 2 23 0.000 0.700 -80 -32 pinlabel
+endgate
+} def
+
+/xspice::d_nand2 {
+<</@input_load (1.0e-12) /@fall_delay (1.0e-9) /@rise_delay (1.0e-9) /@index (?) >>
+begingate
+1 1.000 80 0 96 0 2 polygon
+1 1.000 -48 32 -80 32 2 polygon
+1.000 0.000 0.000 scb
+(A) {/Times-Roman cf} 2 23 0.000 0.700 -80 32 pinlabel
+(X) {/Times-Roman cf} 2 20 0.000 0.700 96 0 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( %%d [%pA %pB] %%d %pX d_nand2_) @index (spice1:A) {/Times-Roman cf}
+ctmk 20 0.000 0.700 -112 -128 infolabel
+mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay
+( d_nand\(rise_delay=) @index (spice2:.model d_nand2_) {/Times-Roman cf} ctmk 20
+0.000 0.700 -112 -160 infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
+sce
+1 1.000 -48 -48 -48 48 2 polygon
+1 1.000 -48 48 16 48 2 polygon
+1 1.000 -48 -48 16 -48 2 polygon
+1 1.000 16 0 48 270.000 450.000 xcarc
+1 1.000 -48 -32 -80 -32 2 polygon
+1.000 0.000 0.000 scb
+(B) {/Times-Roman cf} 2 23 0.000 0.700 -80 -32 pinlabel
+sce
+1 1.000 72 0 8 0.000 360.000 xcarc
+endgate
+} def
+
+/xspice::d_or2 {
+<</@input_load (1.0e-12) /@fall_delay (1.0e-9) /@rise_delay (1.0e-9) /@index (?) >>
+begingate
+1 1.000 64 0 96 0 2 polygon
+1 1.000 -40 32 -80 32 2 polygon
+1.000 0.000 0.000 scb
+(A) {/Times-Roman cf} 2 23 0.000 0.700 -80 32 pinlabel
+(X) {/Times-Roman cf} 2 20 0.000 0.700 96 0 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( %%d [%pA %pB] %%d %pX d_or2_) @index (spice1:A) {/Times-Roman cf}
+ctmk 20 0.000 0.700 -112 -128 infolabel
+mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay
+( d_or\(rise_delay=) @index (spice2:.model d_or2_) {/Times-Roman cf} ctmk 20
+0.000 0.700 -112 -160 infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
+sce
+1 1.000 -48 48 -16 48 2 polygon
+1 1.000 -40 -32 -80 -32 2 polygon
+1.000 0.000 0.000 scb
+(B) {/Times-Roman cf} 2 23 0.000 0.700 -80 -32 pinlabel
+sce
+1 1.000 -32 32 -32 -32 -48 -48 -48 48 spline
+1 1.000 56 24 16 48 -16 48 64 0 spline
+1 1.000 56 -24 16 -48 -16 -48 64 0 spline
+1 1.000 -48 -48 -16 -48 2 polygon
+endgate
+} def
+
+/xspice::d_nor2 {
+<</@index (?) /@rise_delay (1.0e-9) /@fall_delay (1.0e-9) /@input_load (1.0e-12) >>
+begingate
+1 1.000 80 0 96 0 2 polygon
+1 1.000 -40 32 -80 32 2 polygon
+1.000 0.000 0.000 scb
+(A) {/Times-Roman cf} 2 23 0.000 0.700 -80 32 pinlabel
+(X) {/Times-Roman cf} 2 20 0.000 0.700 96 0 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( %%d [%pA %pB] %%d %pX d_nor2_) @index (spice1:A) {/Times-Roman cf}
+ctmk 20 0.000 0.700 -112 -128 infolabel
+mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay
+( d_nor\(rise_delay=) @index (spice2:.model d_nor2_) {/Times-Roman cf} ctmk 20
+0.000 0.700 -112 -160 infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
+sce
+1 1.000 -48 48 -16 48 2 polygon
+1 1.000 -40 -32 -80 -32 2 polygon
+1.000 0.000 0.000 scb
+(B) {/Times-Roman cf} 2 23 0.000 0.700 -80 -32 pinlabel
+sce
+1 1.000 -32 32 -32 -32 -48 -48 -48 48 spline
+1 1.000 56 24 16 48 -16 48 64 0 spline
+1 1.000 56 -24 16 -48 -16 -48 64 0 spline
+1 1.000 -48 -48 -16 -48 2 polygon
+1 1.000 72 0 8 0.000 360.000 xcarc
+endgate
+} def
+
+/xspice::d_xor2 {
+<</@index (?) /@rise_delay (1.0e-9) /@fall_delay (1.0e-9) /@input_load (1.0e-12) >>
+begingate
+1 1.000 64 0 96 0 2 polygon
+1 1.000 -48 32 -80 32 2 polygon
+1.000 0.000 0.000 scb
+(A) {/Times-Roman cf} 2 23 0.000 0.700 -80 32 pinlabel
+(X) {/Times-Roman cf} 2 20 0.000 0.700 96 0 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( %%d [%pA %pB] %%d %pX d_xor2_) @index (spice1:A) {/Times-Roman cf}
+ctmk 20 0.000 0.700 -112 -128 infolabel
+mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay
+( d_xor\(rise_delay=) @index (spice2:.model d_xor2_) {/Times-Roman cf} ctmk 20
+0.000 0.700 -112 -160 infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
+sce
+1 1.000 -44 48 -16 48 2 polygon
+1 1.000 -48 -32 -80 -32 2 polygon
+1.000 0.000 0.000 scb
+(B) {/Times-Roman cf} 2 23 0.000 0.700 -80 -32 pinlabel
+sce
+1 1.000 -28 32 -28 -32 -44 -48 -44 48 spline
+1 1.000 56 24 16 48 -16 48 64 0 spline
+1 1.000 56 -24 16 -48 -16 -48 64 0 spline
+1 1.000 -44 -48 -16 -48 2 polygon
+1 1.000 -40 32 -40 -32 -56 -48 -56 48 spline
+endgate
+} def
+
+/xspice::d_xnor2 {
+<</@input_load (1.0e-12) /@fall_delay (1.0e-9) /@rise_delay (1.0e-9) /@index (?) >>
+begingate
+1 1.000 80 0 96 0 2 polygon
+1 1.000 -48 32 -80 32 2 polygon
+1.000 0.000 0.000 scb
+(A) {/Times-Roman cf} 2 23 0.000 0.700 -80 32 pinlabel
+(X) {/Times-Roman cf} 2 20 0.000 0.700 96 0 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( %%d [%pA %pB] %%d %pX d_xnor2_) @index (spice1:A) {/Times-Roman cf}
+ctmk 20 0.000 0.700 -112 -128 infolabel
+mark (\)) @input_load ( input_load=) @fall_delay ( fall_delay=) @rise_delay
+( d_xnor\(rise_delay=) @index (spice2:.model d_xnor2_) {/Times-Roman cf} ctmk 20
+0.000 0.700 -112 -160 infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 0 label
+sce
+1 1.000 -44 48 -16 48 2 polygon
+1 1.000 -48 -32 -80 -32 2 polygon
+1.000 0.000 0.000 scb
+(B) {/Times-Roman cf} 2 23 0.000 0.700 -80 -32 pinlabel
+sce
+1 1.000 -28 32 -28 -32 -44 -48 -44 48 spline
+1 1.000 56 24 16 48 -16 48 64 0 spline
+1 1.000 56 -24 16 -48 -16 -48 64 0 spline
+1 1.000 -44 -48 -16 -48 2 polygon
+1 1.000 -40 32 -40 -32 -56 -48 -56 48 spline
+1 1.000 72 0 8 0.000 360.000 xcarc
+endgate
+} def
+
+/xspice::d_tristate {
+<</@enable_load (1.0E-12) /@delay (1.0E-9) /@index (?) /@input_load (1.0e-12) >> begingate
+1 1.000 48 0 80 0 2 polygon
+1 1.000 -48 0 -80 0 2 polygon
+1.000 0.000 0.000 scb
+(A) {/Times-Roman cf} 2 23 0.000 0.700 -80 0 pinlabel
+(X) {/Times-Roman cf} 2 20 0.000 0.700 80 0 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( %%d %pA %%d %pEN %%d %pX d_tristate_) @index (spice1:A)
+{/Times-Roman cf} ctmk 20 0.000 0.700 -112 -128 infolabel
+mark (\)) @enable_load ( enable_load=) @input_load ( input_load=) @delay
+( d_tristate\(delay=) @index (spice2:.model d_tristate_) {/Times-Roman cf} ctmk
+20 0.000 0.700 -112 -160 infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 -16 0 label
+sce
+1 1.000 48 0 -48 48 -48 -48 48 0 4 polygon
+1 1.000 0 -24 0 -48 2 polygon
+1.000 0.000 0.000 scb
+(EN) {/Times-Roman cf} 2 29 0.000 0.700 0 -48 pinlabel
+endgate
+} def
+
+/xspice::d_pullup {
+<</@load (1.0e-12) /@index (?) >> begingate
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 29 0.000 0.700 32 0 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( %%d %pA %%d %pX d_pullup_) @index (spice1:A) {/Times-Roman cf} ctmk
+20 0.000 0.700 -120 -40 infolabel
+mark (\)) @load ( d_pullup\(load=) @index (spice2:.model d_pullup_)
+{/Times-Roman cf} ctmk 20 0.000 0.700 -120 -72 infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 20 0.000 0.700 64 64 label
+sce
+1 1.000 32 128 32 100 2 polygon
+1 1.000 32 0 32 28 2 polygon
+1 1.000 32 28 46 34 18 46 46 58 18 70 46 82 18 94 32 100 8 polygon
+1 1.000 0 128 64 128 2 polygon
+(Vdd) {/Times-Roman cf} 2 17 0.000 0.700 32 136 label
+endgate
+} def
+
+/xspice::d_pulldown {
+<</@index (?) /@load (1.0e-12) >> begingate
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 17 0.000 0.700 32 160 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( %%d %pA %%d %pX d_pulldown_) @index (spice1:A) {/Times-Roman cf} ctmk
+20 0.000 0.700 -224 -32 infolabel
+mark (\)) @load ( d_pulldown\(load=) @index (spice2:.model d_pulldown_)
+{/Times-Roman cf} ctmk 20 0.000 0.700 -224 -64 infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 20 0.000 0.700 64 96 label
+sce
+1 1.000 32 160 32 132 2 polygon
+1 1.000 32 32 32 60 2 polygon
+1 1.000 32 60 46 66 18 78 46 90 18 102 46 114 18 126 32 132 8 polygon
+1 1.000 0 32 64 32 2 polygon
+1 1.000 12 20 52 20 2 polygon
+1 1.000 24 8 40 8 2 polygon
+endgate
+} def
+
+/xspice::d_latch {
+<</@fall_delay (1.0e-9) /@rise_delay (1.0e-9) /@enable_load (1.0e-12) /@enable_delay
+(1.0e-9) /@data_delay (1.0e-9) /@index (?) /@set_delay (1.0E-9) /@reset_delay
+(1.0e-9) /@data_load (1.0e-12) /@reset_load (1.0e-12) /@set_load
+(1.0e-12) /@ic (0) >> begingate
+1 1.000 -64 64 -96 64 2 polygon
+1.000 0.000 0.000 scb
+(D) {/Times-Roman cf} 2 23 0.000 0.700 -96 64 pinlabel
+0.180 0.545 0.341 scb
+mark @index ( %%d %pD %%d %pEN %%d %pS %%d %pC %%d %pQ %%d %pQbar d_latch_) @index
+(spice1:A) {/Times-Roman cf} ctmk 20 0.000 0.700 -144 -176 infolabel
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 0 16 label
+sce
+0 1.000 -64 -64 -64 96 64 96 64 -64 4 polygon
+1 1.000 64 64 96 64 2 polygon
+1.000 0.000 0.000 scb
+(Q) {/Times-Roman cf} 2 20 0.000 0.700 96 64 pinlabel
+(EN) {/Times-Roman cf} 2 23 0.000 0.700 -96 -32 pinlabel
+sce
+1 1.000 64 -32 96 -32 2 polygon
+1.000 0.000 0.000 scb
+(Qbar) {/Times-Roman cf} 2 20 0.000 0.700 96 -32 pinlabel
+sce
+(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+(S) {/Times-Roman cf} 2 21 0.000 0.700 0 80 label
+(C) {/Times-Roman cf} 2 21 0.000 0.700 0 -48 label
+(Q) {/Times-Roman cf} 2 21 0.000 0.700 48 64 label
+(Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 48 -32 label
+1.000 0.000 0.000 scb
+(C) {/Times-Roman cf} 2 29 0.000 0.700 0 -96 pinlabel
+(S) {/Times-Roman cf} 2 17 0.000 0.700 0 128 pinlabel
+sce
+1 1.000 0 -96 0 -64 2 polygon
+1 1.000 0 128 0 96 2 polygon
+0.180 0.545 0.341 scb
+mark @reset_load ( reset_load=) @set_load ( set_load=) @enable_load
+( enable_load=) @data_load ( data_load=) @ic (spice3:+ ic=) {/Times-Roman cf}
+ctmk 20 0.000 0.700 -144 -240 infolabel
+mark (\)) @fall_delay ( fall_delay=) @rise_delay (spice4:+ rise_delay=)
+{/Times-Roman cf} ctmk 20 0.000 0.700 -144 -272 infolabel
+mark @reset_delay ( reset_delay=) @set_delay ( set_delay=) @enable_delay
+( d_latch\(enable_delay=) @index (spice2:.model d_latch_) {/Times-Roman cf} ctmk
+20 0.000 0.700 -144 -208 infolabel
+sce
+1 1.000 -96 -32 -64 -32 2 polygon
+(EN) {/Times-Roman cf} 2 20 0.000 0.700 -56 -32 label
+endgate
+} def
+
+/xspice::d_ram_8x1k {
+<</@address_load (1.0e-12) /@select_load (1.0E-12) /@read_delay (100.0E-9) /@select_value
+(1) /@ic (0) /@data_load (1.0e-12) /@index (?) /@enable_load
+(1.0e-12) >> begingate
+0.000 0.000 1.000 scb
+mark @index (A) {/Times-Roman cf} ctmk 21 0.000 0.700 224 96 label
+sce
+0 1.000 -64 -64 -64 224 544 224 544 -64 4 polygon
+1.000 0.000 0.000 scb
+(D7) {/Times-Roman cf} 2 23 0.000 0.700 -96 -32 pinlabel
+sce
+1 1.000 -96 -32 -64 -32 2 polygon
+(D7) {/Times-Roman cf} 2 20 0.000 0.700 -56 -32 label
+1.000 0.000 0.000 scb
+(D6) {/Times-Roman cf} 2 23 0.000 0.700 -96 0 pinlabel
+sce
+1 1.000 -96 0 -64 0 2 polygon
+(D6) {/Times-Roman cf} 2 20 0.000 0.700 -56 0 label
+1.000 0.000 0.000 scb
+(D5) {/Times-Roman cf} 2 23 0.000 0.700 -96 32 pinlabel
+sce
+1 1.000 -96 32 -64 32 2 polygon
+(D5) {/Times-Roman cf} 2 20 0.000 0.700 -56 32 label
+1.000 0.000 0.000 scb
+(D4) {/Times-Roman cf} 2 23 0.000 0.700 -96 64 pinlabel
+sce
+1 1.000 -96 64 -64 64 2 polygon
+(D4) {/Times-Roman cf} 2 20 0.000 0.700 -56 64 label
+1.000 0.000 0.000 scb
+(D3) {/Times-Roman cf} 2 23 0.000 0.700 -96 96 pinlabel
+sce
+1 1.000 -96 96 -64 96 2 polygon
+(D3) {/Times-Roman cf} 2 20 0.000 0.700 -56 96 label
+1.000 0.000 0.000 scb
+(D2) {/Times-Roman cf} 2 23 0.000 0.700 -96 128 pinlabel
+sce
+1 1.000 -96 128 -64 128 2 polygon
+(D2) {/Times-Roman cf} 2 20 0.000 0.700 -56 128 label
+1.000 0.000 0.000 scb
+(D1) {/Times-Roman cf} 2 23 0.000 0.700 -96 160 pinlabel
+sce
+1 1.000 -96 160 -64 160 2 polygon
+(D1) {/Times-Roman cf} 2 20 0.000 0.700 -56 160 label
+1.000 0.000 0.000 scb
+(D0) {/Times-Roman cf} 2 23 0.000 0.700 -96 192 pinlabel
+sce
+1 1.000 -96 192 -64 192 2 polygon
+(D0) {/Times-Roman cf} 2 20 0.000 0.700 -56 192 label
+1.000 0.000 0.000 scb
+(Q7) {/Times-Roman cf} 2 20 0.000 0.700 576 -32 pinlabel
+sce
+1 1.000 576 -32 544 -32 2 polygon
+(Q7) {/Times-Roman cf} 2 23 0.000 0.700 536 -32 label
+1.000 0.000 0.000 scb
+(Q6) {/Times-Roman cf} 2 20 0.000 0.700 576 0 pinlabel
+sce
+1 1.000 576 0 544 0 2 polygon
+(Q6) {/Times-Roman cf} 2 23 0.000 0.700 536 0 label
+1.000 0.000 0.000 scb
+(Q5) {/Times-Roman cf} 2 20 0.000 0.700 576 32 pinlabel
+sce
+1 1.000 576 32 544 32 2 polygon
+(Q5) {/Times-Roman cf} 2 23 0.000 0.700 536 32 label
+1.000 0.000 0.000 scb
+(Q4) {/Times-Roman cf} 2 20 0.000 0.700 576 64 pinlabel
+sce
+1 1.000 576 64 544 64 2 polygon
+(Q4) {/Times-Roman cf} 2 23 0.000 0.700 536 64 label
+1.000 0.000 0.000 scb
+(Q3) {/Times-Roman cf} 2 20 0.000 0.700 576 96 pinlabel
+sce
+1 1.000 576 96 544 96 2 polygon
+(Q3) {/Times-Roman cf} 2 23 0.000 0.700 536 96 label
+1.000 0.000 0.000 scb
+(Q2) {/Times-Roman cf} 2 20 0.000 0.700 576 128 pinlabel
+sce
+1 1.000 576 128 544 128 2 polygon
+(Q2) {/Times-Roman cf} 2 23 0.000 0.700 536 128 label
+1.000 0.000 0.000 scb
+(Q1) {/Times-Roman cf} 2 20 0.000 0.700 576 160 pinlabel
+sce
+1 1.000 576 160 544 160 2 polygon
+(Q1) {/Times-Roman cf} 2 23 0.000 0.700 536 160 label
+1.000 0.000 0.000 scb
+(Q0) {/Times-Roman cf} 2 20 0.000 0.700 576 192 pinlabel
+sce
+1 1.000 576 192 544 192 2 polygon
+(Q0) {/Times-Roman cf} 2 23 0.000 0.700 536 192 label
+1 1.000 368 -64 368 -96 2 polygon
+1 1.000 416 -64 416 -96 2 polygon
+1 1.000 464 -64 464 -96 2 polygon
+1.000 0.000 0.000 scb
+(A2) {/Times-Roman cf} 2 29 0.000 0.700 368 -96 pinlabel
+(A1) {/Times-Roman cf} 2 29 0.000 0.700 416 -96 pinlabel
+(A0) {/Times-Roman cf} 2 29 0.000 0.700 464 -96 pinlabel
+sce
+1 1.000 320 -64 320 -96 2 polygon
+1.000 0.000 0.000 scb
+(A3) {/Times-Roman cf} 2 29 0.000 0.700 320 -96 pinlabel
+sce
+1 1.000 272 -64 272 -96 2 polygon
+1.000 0.000 0.000 scb
+(A4) {/Times-Roman cf} 2 29 0.000 0.700 272 -96 pinlabel
+sce
+1 1.000 224 -64 224 -96 2 polygon
+1.000 0.000 0.000 scb
+(A5) {/Times-Roman cf} 2 29 0.000 0.700 224 -96 pinlabel
+sce
+1 1.000 176 -64 176 -96 2 polygon
+1.000 0.000 0.000 scb
+(A6) {/Times-Roman cf} 2 29 0.000 0.700 176 -96 pinlabel
+sce
+1 1.000 128 -64 128 -96 2 polygon
+1.000 0.000 0.000 scb
+(A7) {/Times-Roman cf} 2 29 0.000 0.700 128 -96 pinlabel
+sce
+1 1.000 80 -64 80 -96 2 polygon
+1.000 0.000 0.000 scb
+(A8) {/Times-Roman cf} 2 29 0.000 0.700 80 -96 pinlabel
+sce
+1 1.000 32 -64 32 -96 2 polygon
+1.000 0.000 0.000 scb
+(A9) {/Times-Roman cf} 2 29 0.000 0.700 32 -96 pinlabel
+sce
+(A9) {/Times-Roman cf} 2 17 0.000 0.700 32 -48 label
+(A8) {/Times-Roman cf} 2 17 0.000 0.700 80 -48 label
+(A7) {/Times-Roman cf} 2 17 0.000 0.700 128 -48 label
+(A6) {/Times-Roman cf} 2 17 0.000 0.700 176 -48 label
+(A5) {/Times-Roman cf} 2 17 0.000 0.700 224 -48 label
+(A4) {/Times-Roman cf} 2 17 0.000 0.700 272 -48 label
+(A3) {/Times-Roman cf} 2 17 0.000 0.700 320 -48 label
+(A2) {/Times-Roman cf} 2 17 0.000 0.700 368 -48 label
+(A1) {/Times-Roman cf} 2 17 0.000 0.700 416 -48 label
+(A0) {/Times-Roman cf} 2 17 0.000 0.700 464 -48 label
+(SRAM 1k x 8) {/Times-Roman cf} 2 21 0.000 0.700 224 48 label
+0.180 0.545 0.341 scb
+mark ( %%d [ %pD7 %pD6 %pD5 %pD4 %pD3 %pD2 %pD1 %pD0 ]) @index (spice1:A)
+{/Times-Roman cf} ctmk 20 0.000 0.700 -144 -192 infolabel
+(spice2:+ %%d [ %pQ7 %pQ6 %pQ5 %pQ4 %pQ3 %pQ2 %pQ1 %pQ0 ]) {/Times-Roman cf} 2
+20 0.000 0.700 -144 -224 infolabel
+(spice3:+ %%d [ %pA9 %pA8 %pA7 %pA6 %pA5 %pA4 %pA3 %pA2 %pA1 %pA0 ])
+{/Times-Roman cf} 2 20 0.000 0.700 -144 -256 infolabel
+mark @index (spice4:+ d_ram_8x1k) {/Times-Roman cf} ctmk 20 0.000 0.700 -144 -288
+infolabel
+mark @read_delay ( read_delay=) @ic ( ic=) @select_value
+( d_ram\(select_value=) @index (spice5:.model d_ram_8x1k) {/Times-Roman cf} ctmk
+20 0.000 0.700 -144 -320 infolabel
+mark (\)) @enable_load ( enable_load=) @select_load ( select_load=)
+@address_load ( address_load=) @data_load (spice6:+ data_load=)
+{/Times-Roman cf} ctmk 20 0.000 0.700 -144 -352 infolabel
+endgate
+} def
+
+
+% EndLib