%! PostScript set of library objects for XCircuit % Version: 2.3 % Library name is: digital % Author: R. Timothy Edwards % XCircuitLib library built-in objects /nand { % -64 -48 128 96 bbox % trivial begingate 1 1.0 0 -48 -64 -48 -64 48 0 48 4 polygon 1 1.0 56 0 8 0 360 xcarc 1 1.0 0 0 48 -90 90 xcarc 1 0 0 scb (Out) {/Times-Roman cf} 1 4 0 1.0 64 0 pinlabel (In.1) {/Times-Roman cf} 1 7 0 1.0 -64 32 pinlabel (In.2) {/Times-Roman cf} 1 7 0 1.0 -64 -32 pinlabel sce endgate } def /nor { % -64 -48 128 96 bbox % trivial begingate -64 48 -35 48 wire -64 -48 -35 -48 wire 1 1.0 -128 0 80 -37 37 xcarc 1 1.0 56 0 8 0 360 xcarc 1 1.0 -35 -48 96 30 90 xcarc 1 1.0 -35 48 96 270 330 xcarc 1 0 0 scb (Out) {/Times-Roman cf} 1 4 0 1.0 64 0 pinlabel (In.1) {/Times-Roman cf} 1 7 0 1.0 -56 32 pinlabel (In.2) {/Times-Roman cf} 1 7 0 1.0 -56 -32 pinlabel sce endgate } def /invert { % -48 -40 112 80 bbox % trivial begingate 0 1.00 -32 -40 -32 40 40 0 3 polygon 1 1.00 48 0 8 0.00 360.00 xcarc 1 1.00 -32 0 -48 0 2 polygon 1 1.00 56 0 64 0 2 polygon 1.000 0.000 0.000 scb (Out) {/Times-Roman cf} 1 4 0 1.0 64 0 pinlabel (In) {/Times-Roman cf} 1 7 0 1.0 -48 0 pinlabel sce endgate } def /and_gate { % -64 -48 112 96 bbox % trivial begingate 1 1.0 0 -48 -64 -48 -64 48 0 48 4 polygon 1 1.0 0 0 48 -90 90 xcarc 1 0 0 scb (Out) {/Times-Roman cf} 1 4 0 1.0 48 0 pinlabel (In.1) {/Times-Roman cf} 1 7 0 1.0 -64 32 pinlabel (In.2) {/Times-Roman cf} 1 7 0 1.0 -64 -32 pinlabel sce endgate } def /or_gate { % -49 -48 113 128 bbox % trivial begingate 1 1.0 -19 -48 96 30 90 xcarc 1 1.0 -19 48 96 270 330 xcarc 1 1.0 -112 0 80 -37 37 xcarc -48 48 -19 48 wire -48 -48 -19 -48 wire 1 0 0 scb (Out) {/Times-Roman cf} 1 4 0 1.0 64 0 pinlabel (In.1) {/Times-Roman cf} 1 7 0 1.0 -40 32 pinlabel (In.2) {/Times-Roman cf} 1 7 0 1.0 -40 -32 pinlabel sce endgate } def /buffer { % -56 -40 112 80 bbox % trivial begingate 0 1.0 -32 -40 -32 40 40 0 3 polygon -32 0 -48 0 wire 40 0 64 0 wire 1.000 0.000 0.000 scb (Out) {/Times-Roman cf} 1 4 0 1.0 64 0 pinlabel (In) {/Times-Roman cf} 1 7 0 1.0 -48 0 pinlabel sce endgate } def /xor_gate { % -65 -48 145 128 bbox % trivial begingate 1 1.0 -19 -48 96 30 90 xcarc 1 1.0 -19 48 96 270 330 xcarc 1 1.0 -128 0 80 -37 37 xcarc 1 1.0 -112 0 80 -37 37 xcarc -48 48 -19 48 wire -48 -48 -19 -48 wire 1 0 0 scb (Out) {/Times-Roman cf} 1 4 0 1.0 64 0 pinlabel (In.1) {/Times-Roman cf} 1 7 0 1.0 -56 32 pinlabel (In.2) {/Times-Roman cf} 1 7 0 1.0 -56 -32 pinlabel sce endgate } def /xnor { % -65 -48 145 128 bbox % trivial begingate 1 1.0 72 0 8 0 360 xcarc 1 1.0 -19 -48 96 30 90 xcarc 1 1.0 -19 48 96 270 330 xcarc 1 1.0 -128 0 80 -37 37 xcarc 1 1.0 -112 0 80 -37 37 xcarc -48 48 -19 48 wire -48 -48 -19 -48 wire 1 0 0 scb (Out) {/Times-Roman cf} 1 4 0 1.0 80 0 pinlabel (In.1) {/Times-Roman cf} 1 7 0 1.0 -56 32 pinlabel (In.2) {/Times-Roman cf} 1 7 0 1.0 -56 -32 pinlabel sce endgate } def /5V { % -32 -32 64 68 bbox % trivial begingate -32 0 32 0 wire 0 0 0 -32 wire (V) {/Times-Roman cf} (+5) {/Symbol cf} 2 17 0 0.9 0 8 label 1 0 0 scb (dVdd) {/Times-Roman cf} 1 13 0 1.0 0 -32 pinglobal sce endgate } def /gnd { % -32 -60 64 68 bbox % trivial begingate 0 0 0 -32 wire -32 -32 32 -32 wire -18 -46 18 -46 wire -4 -60 4 -60 wire 1 0 0 scb (GND) {/Times-Roman cf} 1 1 0 1.0 0 0 pinglobal sce endgate } def /battery { % -32 -64 64 128 bbox % trivial begingate -32 32 32 32 wire 0 64 0 32 wire -16 12 16 12 wire -16 -28 16 -28 wire -32 -8 32 -8 wire 0 -64 0 -28 wire 1 0 0 scb (b.p) {/Times-Roman cf} 1 9 0 1.0 0 64 pinlabel (b.m) {/Times-Roman cf} 1 13 0 1.0 0 -64 pinlabel sce endgate } def /passtrans { % -80 -64 160 128 bbox % trivial begingate 0 1.0 -64 48 0 -48 64 48 3 polygon 0 1.0 0 48 -64 -48 64 -48 3 polygon -50 0 -80 0 wire 32 0 80 0 wire 0 48 0 64 wire 0 -48 0 -64 wire 1 1.0 -42 0 8 0 360 xcarc 1 0 0 scb (c.p) {/Times-Roman cf} 1 7 0 1.0 -80 0 pinlabel (c.n) {/Times-Roman cf} 1 4 0 1.0 80 0 pinlabel (p.1) {/Times-Roman cf} 1 9 0 1.0 0 64 pinlabel (p.2) {/Times-Roman cf} 1 13 0 1.0 0 -64 pinlabel sce endgate } def % EndLib