blob: 939039f65d1b17c5127493806d208698c303926f [file] [log] [blame]
%! PostScript set of library objects for XCircuit
% Version: 3.6
% Library name is: sky130_fd_sc_hd.lps
% Author: R. Timothy Edwards <tim.edwards@multigig.com>
%
% XCircuitLib library objects
/sky130_fd_sc_hd::inv {
<</gnd (dgnd) /vdd (dvdd) /@index (?) /voltage () /strength (1) >> 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
(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel
(A) {/Times-Roman cf} 2 7 0 1.00 -48 0 pinlabel
0.180 0.545 0.341 scb
mark voltage strength ( %pA %pY invX) gnd ( ) vdd ( ) @index (spice:X)
{/Times-Roman cf} ctmk 16 360 0.70 -32 -136 infolabel
mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf}
ctmk 16 0 0.70 -32 -96 infolabel
0.647 0.165 0.165 scb
mark voltage {/Times-Roman cf} ctmk 21 0 0.60 -8 0 label
mark strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0 0.60 0 24 label
0.000 0.000 1.000 scb
mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.70 8 -24 label
endgate
} def
<</strength (2) >> /sky130_fd_sc_hd::inv libinst
<</strength (4) >> /sky130_fd_sc_hd::inv libinst
<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::inv libinst
<</voltage (_3V) /strength (2) /vdd (dvdd3) >> /sky130_fd_sc_hd::inv libinst
<</voltage (_3V) /strength (4) /vdd (dvdd3) >> /sky130_fd_sc_hd::inv libinst
/sky130_fd_sc_hd::buf {
<</gnd (dgnd) /vdd (dvdd) /@index (?) /voltage () /strength (2) >> begingate
0 1.00 -32 -40 -32 40 40 0 3 polygon
1 1.00 -32 0 -48 0 2 polygon
1 1.00 40 0 64 0 2 polygon
1.000 0.000 0.000 scb
(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel
(A) {/Times-Roman cf} 2 7 0 1.00 -48 0 pinlabel
0.180 0.545 0.341 scb
mark voltage strength ( %pA %pY bufX) gnd ( ) vdd ( ) @index (spice:X)
{/Times-Roman cf} ctmk 16 360 0.70 -32 -112 infolabel
mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf}
ctmk 16 0 0.70 -32 -80 infolabel
0.647 0.165 0.165 scb
mark voltage {/Times-RomanISO cf} ctmk 21 0 0.50 -8 0 label
mark strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0 0.50 8 24 label
0.000 0.000 1.000 scb
mark @index (U) {/Times-RomanISO cf} ctmk 16 0 0.60 24 -32 label
endgate
} def
<</strength (4) >> /sky130_fd_sc_hd::buf libinst
<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::buf libinst
<</voltage (_3V) /strength (4) /vdd (dvdd3) >> /sky130_fd_sc_hd::buf libinst
/sky130_fd_sc_hd::nand2 {
<</gnd (dgnd) /vdd (dvdd) /voltage () /@index (?) >> begingate
1 1.00 0 -48 -64 -48 -64 48 0 48 4 polygon
1 1.00 56 0 8 0.00 360.00 xcarc
1 1.00 0 0 48 -90.00 90.00 xcarc
1.000 0.000 0.000 scb
(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel
(A) {/Times-Roman cf} 2 7 0 1.00 -64 32 pinlabel
(B) {/Times-Roman cf} 2 7 0 1.00 -64 -32 pinlabel
sce
1 1.00 -64 -48 -64 48 2 polygon
0.180 0.545 0.341 scb
mark voltage ( %pA %pB %pY nand2X1) gnd ( ) vdd ( ) @index (spice:X)
{/Times-Roman cf} ctmk 16 360 0.70 -64 -128 infolabel
0.647 0.165 0.165 scb
mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 16 label
0.000 0.000 1.000 scb
mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.70 -40 -8 label
0.180 0.545 0.341 scb
mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf}
ctmk 16 0 0.70 -64 -96 infolabel
endgate
} def
<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::nand2 libinst
/sky130_fd_sc_hd::nand3 {
<</gnd (dgnd) /vdd (dvdd) /@index (?) /voltage () >> begingate
1 1.00 0 -48 -64 -48 -64 48 0 48 4 polygon
1 1.00 56 0 8 0.00 360.00 xcarc
1 1.00 0 0 48 -90.00 90.00 xcarc
1.000 0.000 0.000 scb
(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel
(A) {/Times-Roman cf} 2 7 0 1.00 -64 32 pinlabel
(B) {/Times-Roman cf} 2 7 0 1.00 -64 0 pinlabel
(C) {/Times-Roman cf} 2 7 0 1.00 -64 -32 pinlabel
sce
1 1.00 -64 -64 -64 64 2 polygon
0.180 0.545 0.341 scb
mark voltage ( %pA %pB %pC %pY nand3X1) gnd ( ) vdd ( ) @index (spice:X)
{/Times-Roman cf} ctmk 16 360 0.70 -64 -128 infolabel
mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf}
ctmk 16 0 0.70 -64 -96 infolabel
0.647 0.165 0.165 scb
mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 16 label
0.000 0.000 1.000 scb
mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.70 -40 -8 label
endgate
} def
<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::nand3 libinst
/sky130_fd_sc_hd::nand4 {
<</gnd (dgnd) /vdd (dvdd) /voltage () /@index (?) >> begingate
1 1.00 0 -64 -64 -64 -64 64 0 64 4 polygon
1 1.00 56 0 8 0.00 360.00 xcarc
1 1.00 0 0 48 64 -90.00 90.00 ellipse
1.000 0.000 0.000 scb
(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel
(A) {/Times-Roman cf} 2 7 0 1.00 -64 48 pinlabel
(B) {/Times-Roman cf} 2 7 0 1.00 -64 16 pinlabel
(C) {/Times-Roman cf} 2 7 0 1.00 -64 -16 pinlabel
(D) {/Times-Roman cf} 2 7 0 1.00 -64 -48 pinlabel
sce
1 1.00 -64 -80 -64 80 2 polygon
0.180 0.545 0.341 scb
mark voltage ( %pA %pB %pC %pD %pY nand4X1) gnd ( ) vdd ( ) @index (spice:X)
{/Times-Roman cf} ctmk 16 360 0.70 -64 -144 infolabel
mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf}
ctmk 16 0 0.70 -64 -112 infolabel
0.647 0.165 0.165 scb
mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 16 label
0.000 0.000 1.000 scb
mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.70 -40 -8 label
endgate
} def
<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::nand4 libinst
/sky130_fd_sc_hd::nor2 {
<</gnd (dgnd) /vdd (dvdd) /@index (?) /voltage () >> begingate
1 1.00 56 0 8 0.00 360.00 xcarc
1.000 0.000 0.000 scb
(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel
(A) {/Times-Roman cf} 2 7 0 1.00 -64 32 pinlabel
(B) {/Times-Roman cf} 2 7 0 1.00 -64 -32 pinlabel
0.180 0.545 0.341 scb
mark voltage ( %pA %pB %pY nor2X1) gnd ( ) vdd ( ) @index (spice:X)
{/Times-Roman cf} ctmk 16 360 0.70 -64 -128 infolabel
0.647 0.165 0.165 scb
mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 16 label
0.000 0.000 1.000 scb
mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.70 -40 -8 label
sce
1 1.00 -35 48 96 270.00 330.00 xcarc
1 1.00 -64 -48 -35 -48 2 polygon
1 1.00 -128 0 80 -37.00 37.00 xcarc
1 1.00 -35 -48 96 30.00 90.00 xcarc
1 1.00 -64 48 -35 48 2 polygon
1 1.00 -64 32 -56 32 2 polygon
1 1.00 -64 -32 -56 -32 2 polygon
0.180 0.545 0.341 scb
mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf}
ctmk 16 0 0.70 -64 -96 infolabel
endgate
} def
<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::nor2 libinst
/sky130_fd_sc_hd::nor3 {
<</voltage () /@index (?) /vdd (dvdd) /gnd (dgnd) >> begingate
1 1.00 56 0 8 0.00 360.00 xcarc
1.000 0.000 0.000 scb
(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel
(A) {/Times-Roman cf} 2 7 0 1.00 -64 32 pinlabel
(B) {/Times-Roman cf} 2 7 0 1.00 -64 0 pinlabel
0.180 0.545 0.341 scb
mark voltage ( %pA %pB %pC %pY nor3X1) gnd ( ) vdd ( ) @index (spice:X)
{/Times-Roman cf} ctmk 16 360 0.70 -64 -128 infolabel
mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf}
ctmk 16 0 0.70 -64 -96 infolabel
0.647 0.165 0.165 scb
mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 16 label
0.000 0.000 1.000 scb
mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.70 -40 -8 label
sce
1 1.00 -35 48 96 270.00 330.00 xcarc
1 1.00 -64 -48 -35 -48 2 polygon
1 1.00 -128 0 80 -36.87 36.87 xcarc
1 1.00 -35 -48 96 30.00 90.00 xcarc
1 1.00 -64 48 -35 48 2 polygon
1 1.00 -64 32 -56 32 2 polygon
1 1.00 -64 -32 -56 -32 2 polygon
1 1.00 -48 0 -64 0 2 polygon
1.000 0.000 0.000 scb
(C) {/Times-Roman cf} 2 7 0 1.00 -64 -32 pinlabel
sce
1 1.00 -64 48 -64 64 2 polygon
1 1.00 -64 -48 -64 -64 2 polygon
endgate
} def
<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::nor3 libinst
/sky130_fd_sc_hd::nor4 {
<</gnd (dgnd) /vdd (dvdd) /@index (?) /voltage () >> begingate
1 1.00 56 0 8 0.00 360.00 xcarc
1.000 0.000 0.000 scb
(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel
(A) {/Times-Roman cf} 2 7 0 1.00 -64 48 pinlabel
(B) {/Times-Roman cf} 2 7 0 1.00 -64 16 pinlabel
0.180 0.545 0.341 scb
mark voltage ( %pA %pB %pC %pD %pY nor4X1) gnd ( ) vdd ( ) @index (spice:X)
{/Times-Roman cf} ctmk 16 360 0.70 -64 -128 infolabel
mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf}
ctmk 16 0 0.70 -64 -96 infolabel
0.647 0.165 0.165 scb
mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 16 label
0.000 0.000 1.000 scb
mark @index (U) {/Times-RomanISO cf} ctmk 21 0 0.70 -8 -16 label
sce
1 1.00 -64 48 -58 48 2 polygon
1 1.00 -64 -16 -48 -16 2 polygon
1 1.00 -48 16 -64 16 2 polygon
1.000 0.000 0.000 scb
(C) {/Times-Roman cf} 2 7 0 1.00 -64 -16 pinlabel
sce
1 1.00 32 32 0 56 -40 56 48 0 spline
1 1.00 32 -32 0 -56 -40 -56 48 0 spline
1 1.00 -40 32 -40 -24 -64 -56 -64 56 spline
1 1.00 -64 56 -40 56 2 polygon
1 1.00 -64 -56 -40 -56 2 polygon
1.000 0.000 0.000 scb
(D) {/Times-Roman cf} 2 7 0 1.00 -64 -48 pinlabel
sce
1 1.00 -64 -48 -60 -48 2 polygon
endgate
} def
<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::nor4 libinst
/sky130_fd_sc_hd::or2 {
<</voltage () /@index (?) /vdd (dvdd) /gnd (dgnd) >> begingate
1.000 0.000 0.000 scb
(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel
(A) {/Times-Roman cf} 2 7 0 1.00 -64 32 pinlabel
(B) {/Times-Roman cf} 2 7 0 1.00 -64 -32 pinlabel
0.180 0.545 0.341 scb
mark voltage ( %pA %pB %pY or2X1) gnd ( ) vdd ( ) @index (spice:X)
{/Times-Roman cf} ctmk 16 360 0.70 -64 -128 infolabel
mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf}
ctmk 16 0 0.70 -64 -96 infolabel
0.647 0.165 0.165 scb
mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 16 label
0.000 0.000 1.000 scb
mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.70 -40 -8 label
sce
1 1.00 -35 48 96 270.00 330.00 xcarc
1 1.00 -64 -48 -35 -48 2 polygon
1 1.00 -128 0 80 -37.00 37.00 xcarc
1 1.00 -35 -48 96 30.00 90.00 xcarc
1 1.00 -64 48 -35 48 2 polygon
1 1.00 -64 32 -56 32 2 polygon
1 1.00 -64 -32 -56 -32 2 polygon
1 1.00 48 0 64 0 2 polygon
endgate
} def
/sky130_fd_sc_hd::ebufn {
<</strength (2) /voltage () /@index (?) /vdd (dvdd) /gnd (dgnd) >> begingate
0 1.00 -32 -40 -32 40 40 0 3 polygon
1 1.00 -32 0 -48 0 2 polygon
1 1.00 40 0 64 0 2 polygon
1.000 0.000 0.000 scb
(Y) {/Times-Roman cf} 2 4 0 1.00 64 0 pinlabel
(A) {/Times-Roman cf} 2 7 0 1.00 -48 0 pinlabel
0.180 0.545 0.341 scb
mark voltage strength ( %pA %pY %pEn ebufnX) gnd ( ) vdd ( ) @index (spice:X)
{/Times-Roman cf} ctmk 16 360 0.70 -176 -112 infolabel
mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf}
ctmk 16 0 0.70 -176 -80 infolabel
0.647 0.165 0.165 scb
mark voltage {/Times-RomanISO cf} ctmk 21 0 0.50 -8 0 label
mark strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0 0.50 8 24 label
0.000 0.000 1.000 scb
mark @index (U) {/Times-RomanISO cf} ctmk 16 0 0.60 24 -32 label
sce
1 1.00 0 24 0 48 2 polygon
1.000 0.000 0.000 scb
(En) {/Times-Roman cf} 2 17 0 1.00 0 48 pinlabel
endgate
} def
<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::ebufn libinst
/sky130_fd_sc_hd::mux2 {
<</gnd (dgnd) /vdd (dvdd) /@index (?) /voltage () >> begingate
1 1.00 -16 16 -32 16 2 polygon
1 1.00 48 -16 64 -16 2 polygon
1.000 0.000 0.000 scb
(Y) {/Times-Roman cf} 2 4 0 1.00 64 -16 pinlabel
(A) {/Times-Roman cf} 2 7 0 1.00 -32 16 pinlabel
0.180 0.545 0.341 scb
mark voltage ( %pA %pB %pY %pS mux2X1) gnd ( ) vdd ( ) @index (spice:X)
{/Times-Roman cf} ctmk 16 360 0.70 -128 -176 infolabel
mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf}
ctmk 16 0 0.70 -128 -144 infolabel
0.647 0.165 0.165 scb
mark voltage {/Times-RomanISO cf} ctmk 21 0 0.50 16 -16 label
0.000 0.000 1.000 scb
mark @index (U) {/Times-RomanISO cf} ctmk 28 0 0.60 24 -80 label
sce
1 1.00 16 32 16 64 2 polygon
1.000 0.000 0.000 scb
(S) {/Times-Roman cf} 2 17 0 1.00 16 64 pinlabel
(B) {/Times-Roman cf} 2 7 0 1.00 -32 -48 pinlabel
sce
1 1.00 -32 -48 -16 -48 2 polygon
1 1.00 -16 48 48 16 48 -48 -16 -80 -16 48 5 polygon
endgate
} def
<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::mux2 libinst
/sky130_fd_sc_hd::dlrbn {
<</@index (?) /voltage () /vdd (dvdd) /gnd (dgnd) >> begingate
1.000 0.000 0.000 scb
(Q) {/Times-Roman cf} 2 4 0 1.00 32 32 pinlabel
(D) {/Times-Roman cf} 2 7 0 1.00 -64 32 pinlabel
(CLK) {/Times-Roman cf} 2 13 0 1.00 -16 -48 pinlabel
0.180 0.545 0.341 scb
mark voltage ( %pCLK %pD %pQ dlrbn) gnd ( ) vdd ( ) @index (spice:X)
{/Times-Roman cf} ctmk 16 360 0.70 -192 -160 infolabel
mark (.cir) voltage (spice@1:%F$XCIRCUIT_LIB_DIR/standard_cells) {/Times-Roman cf}
ctmk 16 0 0.70 -192 -128 infolabel
0.647 0.165 0.165 scb
mark voltage {/Times-Roman cf} ctmk 21 0 0.70 -16 64 label
0.000 0.000 1.000 scb
mark @index (U) {/Times-RomanISO cf} ctmk 17 0 0.70 -16 128 label
sce
0 1.00 -64 -48 -64 112 32 112 32 -48 4 polygon
1 1.00 -32 -48 -16 -32 0 -48 3 polygon
(D) {/Times-Roman cf} 2 21 0 0.70 -48 32 label
(Q) {/Times-Roman cf} 2 21 0 0.70 16 32 label
0.000 0.000 1.000 scb
(dlrbn) {/Times-Roman cf} 2 29 0 0.70 -16 96 label
endgate
} def
<</voltage (_3V) /vdd (dvdd3) >> /sky130_fd_sc_hd::dlrbn libinst
% EndLib