Updates to the xcircuit library for sky130_fd_sc_hd.
diff --git a/sky130/xcircuit/sky130_fd_sc_hd.lps b/sky130/xcircuit/sky130_fd_sc_hd.lps
index 6e245d2..a5a4f08 100644
--- a/sky130/xcircuit/sky130_fd_sc_hd.lps
+++ b/sky130/xcircuit/sky130_fd_sc_hd.lps
@@ -6,6 +6,38 @@
 
 
 % XCircuitLib library objects
+/sky130_fd_sc_hd::conb {
+<</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
+(vdd1v8) /@VNB (gnd) >> begingate
+1.000 0.000 0.000 scb
+(HI) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pHI %pLO sky130_fd_sc_hd__conb_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -192 -192 
+infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -192 -160 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
+sce
+0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
+(HI) {/Times-Roman cf} 2 23 0.000 0.700 24 64 label
+0.000 0.000 1.000 scb
+(conb) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
+sce
+1 1.000 64 64 32 64 2 polygon
+1.000 0.000 0.000 scb
+(LO) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+sce
+(LO) {/Times-Roman cf} 2 23 0.000 0.700 24 0 label
+1 1.000 64 0 32 0 2 polygon
+endgate
+} def
+
 /sky130_fd_sc_hd::inv {
 <</@VNB (gnd) /@VPB (vdd1v8) /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@strength 
 (1) (lindex {1 2 4 6 8 12 16} 0) pop >> begingate
@@ -259,212 +291,19 @@
 endgate
 } def
 
-/sky130_fd_sc_hd::or2 {
-<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
-(1) (lindex {0 1 2 4} 1) pop >> begingate
-1.000 0.000 0.000 scb
-(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pX skty130_fd_sc_hd__or2_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 
-infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
-sce
-1 1.000 -35 48 96 270.000 330.000 xcarc
-1 1.000 -64 -48 -35 -48 2 polygon
-1 1.000 -128 0 80 -37.000 37.000 xcarc
-1 1.000 -35 -48 96 30.000 90.000 xcarc
-1 1.000 -64 48 -35 48 2 polygon
-1 1.000 -64 32 -56 32 2 polygon
-1 1.000 -64 -32 -56 -32 2 polygon
-1 1.000 48 0 64 0 2 polygon
-endgate
-} def
-
-/sky130_fd_sc_hd::ebufn {
-<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
-(1) (lindex {1 2 4 8} 0) pop >> begingate
-0 1.000 -32 -40 -32 40 40 0 3 polygon
-1 1.000 -32 0 -64 0 2 polygon
-1 1.000 40 0 64 0 2 polygon
-1.000 0.000 0.000 scb
-(Z) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pZ sky130_fd_sc_hd__ebufn_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pTE_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -176 
--128 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -176 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 24 24 label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 0 -32 label
-sce
-1 1.000 0 40 0 64 2 polygon
-1.000 0.000 0.000 scb
-(TE_B) {/Times-Roman cf} 2 17 0.000 1.000 0 64 pinlabel
-sce
-1 1.000 0 32 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::mux2 {
+/sky130_fd_sc_hd::and2 {
 <</@VNB (gnd) /@VPB (vdd1v8) /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@strength 
-(1) (lindex {1 2 4 8} 0) pop >> begingate
-1 1.000 0 16 -32 16 2 polygon
-1 1.000 64 -16 96 -16 2 polygon
-1.000 0.000 0.000 scb
-(X) {/Times-Roman cf} 2 4 0.000 1.000 96 -16 pinlabel
-(A0) {/Times-Roman cf} 2 7 0.000 1.000 -32 16 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pX sky130_fd_sc_hd__mux2_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA0 %pA1 %pS ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -128 
--176 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -128 -144 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 16 -24 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 24 -80 label
-sce
-1 1.000 32 32 32 64 2 polygon
-1.000 0.000 0.000 scb
-(S) {/Times-Roman cf} 2 17 0.000 1.000 32 64 pinlabel
-(A1) {/Times-Roman cf} 2 7 0.000 1.000 -32 -48 pinlabel
-sce
-1 1.000 -32 -48 0 -48 2 polygon
-1 1.000 0 48 64 16 64 -48 0 -80 0 48 5 polygon
-(0) {/Times-Roman cf} 2 20 0.000 0.700 8 16 label
-(1) {/Times-Roman cf} 2 20 0.000 0.700 8 -48 label
-endgate
-} def
-
-/sky130_fd_sc_hd::dfxtp {
-<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
-(1) (lindex {1 2} 0) pop >> begingate
-1.000 0.000 0.000 scb
-(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
-(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
-(CLK) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pQ sky130_fd_sc_hd__dfxtp_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pCLK %pD ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -192 
--192 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -192 -160 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
-sce
-0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
-1 1.000 -32 -48 -16 -32 0 -48 3 polygon
-(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
-(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
-0.000 0.000 1.000 scb
-(dfxtp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
-sce
-1 1.000 -16 -64 -16 -48 2 polygon
-1 1.000 64 64 32 64 2 polygon
-1 1.000 -64 64 -96 64 2 polygon
-endgate
-} def
-
-/sky130_fd_sc_hd::xor2 {
-<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
 (1) (lindex {1 2 4} 0) pop >> begingate
-1.000 0.000 0.000 scb
-(X) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pX sky130_fd_sc_hd__xor2_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 
-infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -24 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -24 16 label
-sce
-1 1.000 -19 -48 96 30.000 90.000 xcarc
-1 1.000 -19 48 96 270.000 330.000 xcarc
-1 1.000 -128 0 80 -37.000 37.000 xcarc
-1 1.000 -112 0 80 -37.000 37.000 xcarc
-1 1.000 -48 48 -19 48 2 polygon
-1 1.000 -48 -48 -19 -48 2 polygon
-1 1.000 96 0 64 0 2 polygon
-1 1.000 -64 32 -56 32 2 polygon
-1 1.000 -64 -32 -56 -32 2 polygon
-endgate
-} def
-
-/sky130_fd_sc_hd::xnor2 {
-<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
-(1) (lindex {1 2 4} 0) pop >> begingate
-1.000 0.000 0.000 scb
-(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pY sky130_fd_sc_hd__xnor2_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 
-infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -24 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -24 16 label
-sce
-1 1.000 72 0 8 0.000 360.000 xcarc
-1 1.000 -19 -48 96 30.000 90.000 xcarc
-1 1.000 -19 48 96 270.000 330.000 xcarc
-1 1.000 -128 0 80 -37.000 37.000 xcarc
-1 1.000 -112 0 80 -37.000 37.000 xcarc
-1 1.000 -48 48 -19 48 2 polygon
-1 1.000 -48 -48 -19 -48 2 polygon
-1 1.000 96 0 80 0 2 polygon
-1 1.000 -64 32 -56 32 2 polygon
-1 1.000 -64 -32 -56 -32 2 polygon
-endgate
-} def
-
-/sky130_fd_sc_hd::nand3b {
-<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
-(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
 1 1.000 0 -48 -64 -48 -64 48 0 48 4 polygon
-1 1.000 56 0 8 0.000 360.000 xcarc
 1 1.000 0 0 48 -90.000 90.000 xcarc
 1.000 0.000 0.000 scb
-(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-(A_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
-(C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
+(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
 0.180 0.545 0.341 scb
-mark @strength ( %pY sky130_fd_sc_hd__nand3b_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pA_N %pB %pC ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
-0.700 -64 -128 infolabel
+mark @strength ( %pX sky130_fd_sc_hd__and2_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 
+infolabel
 
 (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
 {/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
@@ -474,11 +313,9 @@
 0.000 0.000 1.000 scb
 mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
 sce
-1 1.000 -96 32 -80 32 2 polygon
-1 1.000 -96 0 -64 0 2 polygon
+1 1.000 -96 32 -64 32 2 polygon
 1 1.000 -96 -32 -64 -32 2 polygon
-1 1.000 96 0 64 0 2 polygon
-1 1.000 -72 32 8 0.000 360.000 xcarc
+1 1.000 64 0 48 0 2 polygon
 endgate
 } def
 
@@ -512,6 +349,69 @@
 endgate
 } def
 
+/sky130_fd_sc_hd::and4 {
+<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1 1.000 0 -64 -64 -64 -64 64 0 64 4 polygon
+1 1.000 0 0 48 64 -90.000 90.000 ellipse
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
+(C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
+(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pX sky130_fd_sc_hd__and4_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB %pC %pD ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
+-64 -144 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -112 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
+sce
+1 1.000 -96 48 -64 48 2 polygon
+1 1.000 -96 16 -64 16 2 polygon
+1 1.000 -96 -16 -64 -16 2 polygon
+1 1.000 -96 -48 -64 -48 2 polygon
+1 1.000 48 0 64 0 2 polygon
+endgate
+} def
+
+/sky130_fd_sc_hd::or2 {
+<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
+(1) (lindex {0 1 2 4} 1) pop >> begingate
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pX skty130_fd_sc_hd__or2_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 
+infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
+sce
+1 1.000 -35 48 96 270.000 330.000 xcarc
+1 1.000 -64 -48 -35 -48 2 polygon
+1 1.000 -128 0 80 -37.000 37.000 xcarc
+1 1.000 -35 -48 96 30.000 90.000 xcarc
+1 1.000 -64 48 -35 48 2 polygon
+1 1.000 -64 32 -56 32 2 polygon
+1 1.000 -64 -32 -56 -32 2 polygon
+1 1.000 48 0 64 0 2 polygon
+endgate
+} def
+
 /sky130_fd_sc_hd::or3 {
 <</@strength (1) (lindex {0 1 2 4} 1) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index 
 (?) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
@@ -546,20 +446,795 @@
 endgate
 } def
 
-/sky130_fd_sc_hd::and4 {
+/sky130_fd_sc_hd::or4 {
+<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 48 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 16 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pX sky130_fd_sc_hd__or4_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB %pC %pD ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
+-64 -128 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -32 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -32 16 label
+sce
+1 1.000 -64 48 -58 48 2 polygon
+1 1.000 -64 -16 -48 -16 2 polygon
+1 1.000 -48 16 -64 16 2 polygon
+1.000 0.000 0.000 scb
+(C) {/Times-Roman cf} 2 7 0.000 1.000 -64 -16 pinlabel
+sce
+1 1.000 32 32 0 56 -40 56 48 0 spline
+1 1.000 32 -32 0 -56 -40 -56 48 0 spline
+1 1.000 -40 32 -40 -24 -64 -56 -64 56 spline
+1 1.000 -64 56 -40 56 2 polygon
+1 1.000 -64 -56 -40 -56 2 polygon
+1.000 0.000 0.000 scb
+(D) {/Times-Roman cf} 2 7 0.000 1.000 -64 -48 pinlabel
+sce
+1 1.000 -64 -48 -60 -48 2 polygon
+1 1.000 64 0 48 0 2 polygon
+endgate
+} def
+
+/sky130_fd_sc_hd::xor2 {
+<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
+(1) (lindex {1 2 4} 0) pop >> begingate
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pX sky130_fd_sc_hd__xor2_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 
+infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -24 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -24 16 label
+sce
+1 1.000 -19 -48 96 30.000 90.000 xcarc
+1 1.000 -19 48 96 270.000 330.000 xcarc
+1 1.000 -128 0 80 -37.000 37.000 xcarc
+1 1.000 -112 0 80 -37.000 37.000 xcarc
+1 1.000 -48 48 -19 48 2 polygon
+1 1.000 -48 -48 -19 -48 2 polygon
+1 1.000 96 0 64 0 2 polygon
+1 1.000 -64 32 -56 32 2 polygon
+1 1.000 -64 -32 -56 -32 2 polygon
+endgate
+} def
+
+/sky130_fd_sc_hd::xor3 {
+<</@strength (1) (lindex {1 2 4} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index 
+(?) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pX sky130_fd_sc_hd__xor3_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB %pC ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 
+-128 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -24 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -24 16 label
+sce
+1 1.000 -19 -48 96 30.000 90.000 xcarc
+1 1.000 -19 48 96 270.000 330.000 xcarc
+1 1.000 -128 0 80 -37.000 37.000 xcarc
+1 1.000 -112 0 80 -37.000 37.000 xcarc
+1 1.000 -48 48 -19 48 2 polygon
+1 1.000 -48 -48 -19 -48 2 polygon
+1 1.000 96 0 64 0 2 polygon
+1 1.000 -64 32 -56 32 2 polygon
+1 1.000 -64 -32 -56 -32 2 polygon
+1 1.000 -64 0 -48 0 2 polygon
+1.000 0.000 0.000 scb
+(C) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel
+endgate
+} def
+
+/sky130_fd_sc_hd::xnor2 {
+<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
+(1) (lindex {1 2 4} 0) pop >> begingate
+1.000 0.000 0.000 scb
+(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pY sky130_fd_sc_hd__xnor2_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 
+infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -24 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -24 16 label
+sce
+1 1.000 72 0 8 0.000 360.000 xcarc
+1 1.000 -19 -48 96 30.000 90.000 xcarc
+1 1.000 -19 48 96 270.000 330.000 xcarc
+1 1.000 -128 0 80 -37.000 37.000 xcarc
+1 1.000 -112 0 80 -37.000 37.000 xcarc
+1 1.000 -48 48 -19 48 2 polygon
+1 1.000 -48 -48 -19 -48 2 polygon
+1 1.000 96 0 80 0 2 polygon
+1 1.000 -64 32 -56 32 2 polygon
+1 1.000 -64 -32 -56 -32 2 polygon
+endgate
+} def
+
+/sky130_fd_sc_hd::xnor3 {
+<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
+(1) (lindex {1 2 4} 0) pop >> begingate
+1.000 0.000 0.000 scb
+(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pY sky130_fd_sc_hd__xnor3_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB %pC ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 
+-128 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -24 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -24 16 label
+sce
+1 1.000 -19 -48 96 30.000 90.000 xcarc
+1 1.000 -19 48 96 270.000 330.000 xcarc
+1 1.000 -128 0 80 -37.000 37.000 xcarc
+1 1.000 -112 0 80 -37.000 37.000 xcarc
+1 1.000 -48 48 -19 48 2 polygon
+1 1.000 -48 -48 -19 -48 2 polygon
+1 1.000 96 0 80 0 2 polygon
+1 1.000 -64 32 -56 32 2 polygon
+1 1.000 -64 -32 -56 -32 2 polygon
+1 1.000 -64 0 -48 0 2 polygon
+1.000 0.000 0.000 scb
+(C) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel
+sce
+1 1.000 72 0 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::einvn {
+<</@strength (1) (lindex {1 2 4 8} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index 
+(?) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+0 1.000 -32 -40 -32 40 40 0 3 polygon
+1 1.000 -32 0 -64 0 2 polygon
+1 1.000 56 0 64 0 2 polygon
+1.000 0.000 0.000 scb
+(Z) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pZ sky130_fd_sc_hd__einvn_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pTE_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -176 
+-128 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -176 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 24 24 label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 0 -32 label
+sce
+1 1.000 0 40 0 64 2 polygon
+1.000 0.000 0.000 scb
+(TE_B) {/Times-Roman cf} 2 17 0.000 1.000 0 64 pinlabel
+sce
+1 1.000 0 32 8 0.000 360.000 xcarc
+1 1.000 48 0 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::einvp {
+<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
+(1) (lindex {1 2 4 8} 0) pop >> begingate
+0 1.000 -32 -40 -32 40 40 0 3 polygon
+1 1.000 -32 0 -64 0 2 polygon
+1 1.000 56 0 64 0 2 polygon
+1.000 0.000 0.000 scb
+(Z) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pZ sky130_fd_sc_hd__einvp_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pTE ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -176 -128 
+infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -176 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 24 24 label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 0 -32 label
+sce
+1 1.000 0 23 0 64 2 polygon
+1.000 0.000 0.000 scb
+(TE) {/Times-Roman cf} 2 17 0.000 1.000 0 64 pinlabel
+sce
+1 1.000 48 0 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::ebufn {
+<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
+(1) (lindex {1 2 4 8} 0) pop >> begingate
+0 1.000 -32 -40 -32 40 40 0 3 polygon
+1 1.000 -32 0 -64 0 2 polygon
+1 1.000 40 0 64 0 2 polygon
+1.000 0.000 0.000 scb
+(Z) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pZ sky130_fd_sc_hd__ebufn_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pTE_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -176 
+-128 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -176 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 24 24 label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 0 -32 label
+sce
+1 1.000 0 40 0 64 2 polygon
+1.000 0.000 0.000 scb
+(TE_B) {/Times-Roman cf} 2 17 0.000 1.000 0 64 pinlabel
+sce
+1 1.000 0 32 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::clkinv {
+<</@VNB (gnd) /@VPB (vdd1v8) /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@strength 
+(1) (lindex {1 2 4 6 8 12 16} 0) pop >> begingate
+0 1.000 -32 -40 -32 40 40 0 3 polygon
+1 1.000 -32 0 -64 0 2 polygon
+1 1.000 56 0 64 0 2 polygon
+1.000 0.000 0.000 scb
+(Y) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pY sky130_fd_sc_hd__clkinv_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pA ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -32 -112 
+infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -32 -80 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 0 24 label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 16 0.000 0.600 24 -32 label
+sce
+1 1.000 -24 -12 -16 -12 -16 12 0 12 0 -12 8 -12 6 polygon
+1 1.000 48 0 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::clkbuf {
+<</@strength (1) (lindex {1 2 4 6 8 12 16} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+0 1.000 -32 -40 -32 40 40 0 3 polygon
+1 1.000 -32 0 -64 0 2 polygon
+1 1.000 40 0 64 0 2 polygon
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pX sky130_fd_sc_hd__clkbuf_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pA ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -32 -112 
+infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -32 -80 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 0 24 label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 16 0.000 0.600 24 -32 label
+sce
+1 1.000 -24 -12 -16 -12 -16 12 0 12 0 -12 8 -12 6 polygon
+endgate
+} def
+
+/sky130_fd_sc_hd::mux2 {
+<</@VNB (gnd) /@VPB (vdd1v8) /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@strength 
+(1) (lindex {1 2 4 8} 0) pop >> begingate
+1 1.000 0 16 -32 16 2 polygon
+1 1.000 64 -16 96 -16 2 polygon
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 4 0.000 1.000 96 -16 pinlabel
+(A0) {/Times-Roman cf} 2 7 0.000 1.000 -32 16 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pX sky130_fd_sc_hd__mux2_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA0 %pA1 %pS ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -128 
+-176 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -128 -144 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 16 -24 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 24 -80 label
+sce
+1 1.000 32 32 32 64 2 polygon
+1.000 0.000 0.000 scb
+(S) {/Times-Roman cf} 2 17 0.000 1.000 32 64 pinlabel
+(A1) {/Times-Roman cf} 2 7 0.000 1.000 -32 -48 pinlabel
+sce
+1 1.000 -32 -48 0 -48 2 polygon
+1 1.000 0 48 64 16 64 -48 0 -80 0 48 5 polygon
+(0) {/Times-Roman cf} 2 20 0.000 0.700 8 16 label
+(1) {/Times-Roman cf} 2 20 0.000 0.700 8 -48 label
+endgate
+} def
+
+/sky130_fd_sc_hd::mux2i {
+<</@strength (1) (lindex {1 2 4 8} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1 1.000 0 16 -32 16 2 polygon
+1 1.000 80 -16 96 -16 2 polygon
+1.000 0.000 0.000 scb
+(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 -16 pinlabel
+(A0) {/Times-Roman cf} 2 7 0.000 1.000 -32 16 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pY sky130_fd_sc_hd__mux2i_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA0 %pA1 %pS ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -128 
+-176 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -128 -144 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 16 -24 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 24 -80 label
+sce
+1 1.000 32 32 32 64 2 polygon
+1.000 0.000 0.000 scb
+(S) {/Times-Roman cf} 2 17 0.000 1.000 32 64 pinlabel
+(A1) {/Times-Roman cf} 2 7 0.000 1.000 -32 -48 pinlabel
+sce
+1 1.000 -32 -48 0 -48 2 polygon
+1 1.000 0 48 64 16 64 -48 0 -80 0 48 5 polygon
+1 1.000 72 -16 8 0.000 360.000 xcarc
+(0) {/Times-Roman cf} 2 20 0.000 0.700 8 16 label
+(1) {/Times-Roman cf} 2 20 0.000 0.700 8 -48 label
+endgate
+} def
+
+/sky130_fd_sc_hd::mux4 {
+<</@strength (1) (lindex {1 2 4 8} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1 1.000 0 96 -32 96 2 polygon
+1 1.000 80 32 96 32 2 polygon
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 4 0.000 1.000 96 32 pinlabel
+(A0) {/Times-Roman cf} 2 7 0.000 1.000 -32 96 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pX sky130_fd_sc_hd__mux4_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA0 %pA1 %pA2 %pA3 %pS0 %pS1 ) @index (spice:X) {/Times-Roman cf} ctmk 16 
+360.000 0.700 -128 -176 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -128 -144 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 40 32 label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 24 -80 label
+sce
+1 1.000 32 110 32 128 2 polygon
+1.000 0.000 0.000 scb
+(S0) {/Times-Roman cf} 2 17 0.000 1.000 32 128 pinlabel
+(A1) {/Times-Roman cf} 2 7 0.000 1.000 -32 48 pinlabel
+sce
+1 1.000 -32 -48 0 -48 2 polygon
+1 1.000 0 128 80 80 80 -32 0 -80 0 128 5 polygon
+1 1.000 -32 48 0 48 2 polygon
+1 1.000 -32 0 0 0 2 polygon
+1 1.000 64 90 64 128 2 polygon
+1.000 0.000 0.000 scb
+(S1) {/Times-Roman cf} 2 16 0.000 1.000 64 128 pinlabel
+(A2) {/Times-Roman cf} 2 7 0.000 1.000 -32 0 pinlabel
+(A3) {/Times-Roman cf} 2 7 0.000 1.000 -32 -48 pinlabel
+sce
+(0) {/Times-Roman cf} 2 29 0.000 0.700 32 80 label
+(1) {/Times-Roman cf} 2 29 0.000 0.700 64 80 label
+(0) {/Times-Roman cf} 2 20 0.000 0.700 8 96 label
+(1) {/Times-Roman cf} 2 20 0.000 0.700 8 56 label
+(2) {/Times-Roman cf} 2 20 0.000 0.700 8 0 label
+(3) {/Times-Roman cf} 2 20 0.000 0.700 8 -40 label
+endgate
+} def
+
+/sky130_fd_sc_hd::nand2b {
+<</@strength (1) (lindex {1 2 4 8} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1 1.000 0 -48 -64 -48 -64 48 0 48 4 polygon
+1 1.000 56 0 8 0.000 360.000 xcarc
+1 1.000 0 0 48 -90.000 90.000 xcarc
+1.000 0.000 0.000 scb
+(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+(A_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
+sce
+1 1.000 -64 -48 -64 48 2 polygon
+0.180 0.545 0.341 scb
+mark @strength ( %pY sky130_fd_sc_hd__nand2b_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pA_N %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
+-64 -128 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
+0.180 0.545 0.341 scb
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+sce
+1 1.000 -96 32 -80 32 2 polygon
+1 1.000 -96 -32 -64 -32 2 polygon
+1 1.000 96 0 64 0 2 polygon
+1 1.000 -72 32 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::nand3b {
+<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1 1.000 0 -48 -64 -48 -64 48 0 48 4 polygon
+1 1.000 56 0 8 0.000 360.000 xcarc
+1 1.000 0 0 48 -90.000 90.000 xcarc
+1.000 0.000 0.000 scb
+(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+(A_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+(C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pY sky130_fd_sc_hd__nand3b_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pA_N %pB %pC ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
+0.700 -64 -128 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
+sce
+1 1.000 -96 32 -80 32 2 polygon
+1 1.000 -96 0 -64 0 2 polygon
+1 1.000 -96 -32 -64 -32 2 polygon
+1 1.000 96 0 64 0 2 polygon
+1 1.000 -72 32 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::nand4b {
+<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1 1.000 0 -64 -64 -64 -64 64 0 64 4 polygon
+1 1.000 56 0 8 0.000 360.000 xcarc
+1 1.000 0 0 48 64 -90.000 90.000 ellipse
+1.000 0.000 0.000 scb
+(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+(A_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
+(C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
+(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pY sky130_fd_sc_hd__nand4b_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pA_N %pB %pC %pD ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
+0.700 -64 -144 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -112 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
+sce
+1 1.000 -96 48 -80 48 2 polygon
+1 1.000 -96 16 -64 16 2 polygon
+1 1.000 -96 -16 -64 -16 2 polygon
+1 1.000 -96 -48 -64 -48 2 polygon
+1 1.000 64 0 96 0 2 polygon
+1 1.000 -72 48 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::nand4bb {
+<</@VNB (gnd) /@VPB (vdd1v8) /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@strength 
+(1) (lindex {1 2 4} 0) pop >> begingate
+1 1.000 0 -64 -64 -64 -64 64 0 64 4 polygon
+1 1.000 56 0 8 0.000 360.000 xcarc
+1 1.000 0 0 48 64 -90.000 90.000 ellipse
+1.000 0.000 0.000 scb
+(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+(A_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
+(B_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
+(C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
+(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pY sky130_fd_sc_hd__nand4bb_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pA_N %pB_N %pC %pD ) @index (spice:X) {/Times-Roman cf} ctmk 16 
+360.000 0.700 -64 -144 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -112 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
+sce
+1 1.000 -96 48 -80 48 2 polygon
+1 1.000 -96 16 -80 16 2 polygon
+1 1.000 -96 -16 -64 -16 2 polygon
+1 1.000 -96 -48 -64 -48 2 polygon
+1 1.000 64 0 96 0 2 polygon
+1 1.000 -72 48 8 0.000 360.000 xcarc
+1 1.000 -72 16 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::nor2b {
+<</@strength (1) (lindex {1 2 4 8} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1 1.000 56 0 8 0.000 360.000 xcarc
+1.000 0.000 0.000 scb
+(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -80 32 pinlabel
+(B_N) {/Times-Roman cf} 2 7 0.000 1.000 -80 -32 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pY sky130_fd_sc_hd__nor2b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 
+infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
+sce
+1 1.000 -35 48 96 270.000 330.000 xcarc
+1 1.000 -64 -48 -35 -48 2 polygon
+1 1.000 -128 0 80 -37.000 37.000 xcarc
+1 1.000 -35 -48 96 30.000 90.000 xcarc
+1 1.000 -64 48 -35 48 2 polygon
+1 1.000 -80 32 -56 32 2 polygon
+1 1.000 -80 -32 -72 -32 2 polygon
+0.180 0.545 0.341 scb
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+sce
+1 1.000 96 0 64 0 2 polygon
+1 1.000 -64 -32 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::nor3b {
+<</@strength (1) (lindex {1 2 4} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index 
+(?) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1 1.000 56 0 8 0.000 360.000 xcarc
+1.000 0.000 0.000 scb
+(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pY sky130_fd_sc_hd__nor3b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB %pC_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 
+-128 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -32 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -32 16 label
+sce
+1 1.000 -35 48 96 270.000 330.000 xcarc
+1 1.000 -64 -48 -35 -48 2 polygon
+1 1.000 -128 0 80 -36.870 36.870 xcarc
+1 1.000 -35 -48 96 30.000 90.000 xcarc
+1 1.000 -64 48 -35 48 2 polygon
+1 1.000 -96 32 -56 32 2 polygon
+1 1.000 -96 -32 -72 -32 2 polygon
+1 1.000 -48 0 -96 0 2 polygon
+1.000 0.000 0.000 scb
+(C_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
+sce
+1 1.000 96 0 64 0 2 polygon
+1 1.000 -64 -32 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::nor4b {
+<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1 1.000 56 0 8 0.000 360.000 xcarc
+1.000 0.000 0.000 scb
+(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pY sky130_fd_sc_hd__nor4b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB %pC %pD_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
+-64 -128 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -32 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -32 16 label
+sce
+1 1.000 -96 48 -58 48 2 polygon
+1 1.000 -96 -16 -48 -16 2 polygon
+1 1.000 -48 16 -96 16 2 polygon
+1.000 0.000 0.000 scb
+(C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
+sce
+1 1.000 32 32 0 56 -40 56 48 0 spline
+1 1.000 32 -32 0 -56 -40 -56 48 0 spline
+1 1.000 -40 32 -40 -24 -64 -56 -64 56 spline
+1 1.000 -64 56 -40 56 2 polygon
+1 1.000 -64 -56 -40 -56 2 polygon
+1.000 0.000 0.000 scb
+(D_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
+sce
+1 1.000 -96 -48 -76 -48 2 polygon
+1 1.000 96 0 64 0 2 polygon
+1 1.000 -68 -48 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::nor4bb {
+<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1 1.000 56 0 8 0.000 360.000 xcarc
+1.000 0.000 0.000 scb
+(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pY sky130_fd_sc_hd__nor4bb_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pA %pB %pC_N %pD_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 
+360.000 0.700 -64 -128 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -32 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -32 16 label
+sce
+1 1.000 -96 48 -58 48 2 polygon
+1 1.000 -96 -16 -65 -16 2 polygon
+1 1.000 -48 16 -96 16 2 polygon
+1.000 0.000 0.000 scb
+(C_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
+sce
+1 1.000 32 32 0 56 -40 56 48 0 spline
+1 1.000 32 -32 0 -56 -40 -56 48 0 spline
+1 1.000 -40 32 -40 -24 -64 -56 -64 56 spline
+1 1.000 -64 56 -40 56 2 polygon
+1 1.000 -64 -56 -40 -56 2 polygon
+1.000 0.000 0.000 scb
+(D_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
+sce
+1 1.000 -96 -48 -77 -48 2 polygon
+1 1.000 96 0 64 0 2 polygon
+1 1.000 -69 -48 8 0.000 360.000 xcarc
+1 1.000 -56 -16 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::and2b {
+<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1 1.000 0 -48 -64 -48 -64 48 0 48 4 polygon
+1 1.000 0 0 48 -90.000 90.000 xcarc
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pX sky130_fd_sc_hd__and2b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA_N %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 
+infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
+sce
+1 1.000 -96 32 -80 32 2 polygon
+1 1.000 -96 -32 -64 -32 2 polygon
+1 1.000 64 0 48 0 2 polygon
+1 1.000 -72 32 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::and3b {
+<</@VNB (gnd) /@VPB (vdd1v8) /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@strength 
+(1) (lindex {1 2 4} 0) pop >> begingate
+1 1.000 0 -48 -64 -48 -64 48 0 48 4 polygon
+1 1.000 0 0 48 -90.000 90.000 xcarc
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+(C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pX sky130_fd_sc_hd__and3b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA_N %pB %pC ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 
+-128 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
+sce
+1 1.000 -96 32 -80 32 2 polygon
+1 1.000 -96 0 -64 0 2 polygon
+1 1.000 -96 -32 -64 -32 2 polygon
+1 1.000 64 0 48 0 2 polygon
+1 1.000 -72 32 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::and4b {
 <</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
 (gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
 1 1.000 0 -64 -64 -64 -64 64 0 64 4 polygon
 1 1.000 0 0 48 64 -90.000 90.000 ellipse
 1.000 0.000 0.000 scb
 (X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
+(A_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
 (B) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
 (C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
 (D) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
 0.180 0.545 0.341 scb
-mark @strength ( %pX sky130_fd_sc_hd__and4_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB %pC %pD ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
+mark @strength ( %pX sky130_fd_sc_hd__and4b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA_N %pB %pC %pD ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
 -64 -144 infolabel
 
 (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
@@ -570,11 +1245,12 @@
 0.000 0.000 1.000 scb
 mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
 sce
-1 1.000 -96 48 -64 48 2 polygon
+1 1.000 -96 48 -80 48 2 polygon
 1 1.000 -96 16 -64 16 2 polygon
 1 1.000 -96 -16 -64 -16 2 polygon
 1 1.000 -96 -48 -64 -48 2 polygon
 1 1.000 48 0 64 0 2 polygon
+1 1.000 -72 48 8 0.000 360.000 xcarc
 endgate
 } def
 
@@ -612,6 +1288,188 @@
 endgate
 } def
 
+/sky130_fd_sc_hd::or2b {
+<</@strength (1) (lindex {0 1 2 4} 1) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index 
+(?) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pX skty130_fd_sc_hd__or2b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 
+infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
+sce
+1 1.000 -35 48 96 270.000 330.000 xcarc
+1 1.000 -64 -48 -35 -48 2 polygon
+1 1.000 -128 0 80 -37.000 37.000 xcarc
+1 1.000 -35 -48 96 30.000 90.000 xcarc
+1 1.000 -64 48 -35 48 2 polygon
+1 1.000 -96 32 -56 32 2 polygon
+1 1.000 -96 -32 -72 -32 2 polygon
+1 1.000 48 0 64 0 2 polygon
+1 1.000 -64 -32 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::or3b {
+<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
+(1) (lindex {0 1 2 4} 1) pop >> begingate
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pX skty130_fd_sc_hd__or3b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB %pC_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 
+-128 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
+sce
+1 1.000 -35 48 96 270.000 330.000 xcarc
+1 1.000 -64 -48 -35 -48 2 polygon
+1 1.000 -128 0 80 -37.000 37.000 xcarc
+1 1.000 -35 -48 96 30.000 90.000 xcarc
+1 1.000 -64 48 -35 48 2 polygon
+1 1.000 -96 32 -56 32 2 polygon
+1 1.000 -96 -32 -72 -32 2 polygon
+1 1.000 48 0 64 0 2 polygon
+1 1.000 -48 0 -96 0 2 polygon
+1.000 0.000 0.000 scb
+(C_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
+sce
+1 1.000 -64 -32 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::or4b {
+<</@VNB (gnd) /@VPB (vdd1v8) /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@strength 
+(1) (lindex {1 2 4} 0) pop >> begingate
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pY sky130_fd_sc_hd__or4b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB %pC %pD_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
+-64 -128 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -32 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -32 16 label
+sce
+1 1.000 -96 48 -58 48 2 polygon
+1 1.000 -96 -16 -48 -16 2 polygon
+1 1.000 -48 16 -96 16 2 polygon
+1.000 0.000 0.000 scb
+(C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
+sce
+1 1.000 32 32 0 56 -40 56 48 0 spline
+1 1.000 32 -32 0 -56 -40 -56 48 0 spline
+1 1.000 -40 32 -40 -24 -64 -56 -64 56 spline
+1 1.000 -64 56 -40 56 2 polygon
+1 1.000 -64 -56 -40 -56 2 polygon
+1.000 0.000 0.000 scb
+(D_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
+sce
+1 1.000 -96 -48 -76 -48 2 polygon
+1 1.000 64 0 48 0 2 polygon
+1 1.000 -68 -48 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::or4bb {
+<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
+1 1.000 -56 -16 8 0.000 360.000 xcarc
+1.000 0.000 0.000 scb
+(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pY sky130_fd_sc_hd__or4bb_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA %pB %pC_N %pD_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
+0.700 -64 -128 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -32 -32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -32 16 label
+sce
+1 1.000 -96 48 -58 48 2 polygon
+1 1.000 -96 -16 -64 -16 2 polygon
+1 1.000 -48 16 -96 16 2 polygon
+1.000 0.000 0.000 scb
+(C_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
+sce
+1 1.000 32 32 0 56 -40 56 48 0 spline
+1 1.000 32 -32 0 -56 -40 -56 48 0 spline
+1 1.000 -40 32 -40 -24 -64 -56 -64 56 spline
+1 1.000 -64 56 -40 56 2 polygon
+1 1.000 -64 -56 -40 -56 2 polygon
+1.000 0.000 0.000 scb
+(D_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
+sce
+1 1.000 -96 -48 -76 -48 2 polygon
+1 1.000 64 0 48 0 2 polygon
+1 1.000 -68 -48 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::dfxtp {
+<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
+(1) (lindex {1 2} 0) pop >> begingate
+1.000 0.000 0.000 scb
+(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
+(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
+(CLK) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pQ sky130_fd_sc_hd__dfxtp_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pCLK %pD ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -192 
+-192 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -192 -160 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
+sce
+0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
+1 1.000 -32 -48 -16 -32 0 -48 3 polygon
+(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
+0.000 0.000 1.000 scb
+(dfxtp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
+sce
+1 1.000 -16 -64 -16 -48 2 polygon
+1 1.000 64 64 32 64 2 polygon
+1 1.000 -64 64 -96 64 2 polygon
+endgate
+} def
+
 /sky130_fd_sc_hd::dfrtn {
 <</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
 (vdd1v8) /@VNB (gnd) >> begingate
@@ -650,6 +1508,81 @@
 endgate
 } def
 
+/sky130_fd_sc_hd::dfstp {
+<</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
+(vdd1v8) /@VNB (gnd) >> begingate
+1.000 0.000 0.000 scb
+(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
+(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
+(CLK) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pQ sky130_fd_sc_hd__dfstp_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pCLK %pD %pSET_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
+-192 -224 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -192 -192 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
+sce
+0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
+1 1.000 -32 -48 -16 -32 0 -48 3 polygon
+(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
+0.000 0.000 1.000 scb
+(dfstp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
+sce
+1 1.000 -96 64 -64 64 2 polygon
+1 1.000 32 64 64 64 2 polygon
+1 1.000 -64 32 -96 32 2 polygon
+(S) {ol} {/Times-Roman cf} 3 21 0.000 0.700 -48 32 label
+1.000 0.000 0.000 scb
+(SET_B) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
+sce
+1 1.000 -16 -64 -16 -48 2 polygon
+endgate
+} def
+
+/sky130_fd_sc_hd::dfrtp {
+<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
+(1) (lindex {1 2} 0) pop >> begingate
+1.000 0.000 0.000 scb
+(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
+(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
+(CLK) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pQ sky130_fd_sc_hd__dfrtp_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pCLK %pD %pRESET_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
+0.700 -192 -192 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -192 -160 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
+sce
+0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
+1 1.000 -32 -48 -16 -32 0 -48 3 polygon
+(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
+0.000 0.000 1.000 scb
+(dfrtp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
+sce
+1 1.000 -16 -64 -16 -48 2 polygon
+1 1.000 -96 64 -64 64 2 polygon
+1 1.000 32 64 64 64 2 polygon
+1 1.000 -64 0 -96 0 2 polygon
+(R) {ol} {/Times-Roman cf} 3 21 0.000 0.700 -48 0 label
+1.000 0.000 0.000 scb
+(RESET_B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+endgate
+} def
+
 /sky130_fd_sc_hd::dfsbp {
 <</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
 (1) (lindex {1 2} 0) pop >> begingate
@@ -693,128 +1626,6 @@
 endgate
 } def
 
-/sky130_fd_sc_hd::mux4 {
-<</@strength (1) (lindex {1 2 4 8} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
-(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-1 1.000 0 96 -32 96 2 polygon
-1 1.000 80 32 96 32 2 polygon
-1.000 0.000 0.000 scb
-(X) {/Times-Roman cf} 2 4 0.000 1.000 96 32 pinlabel
-(A0) {/Times-Roman cf} 2 7 0.000 1.000 -32 96 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pX sky130_fd_sc_hd__mux4_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA0 %pA1 %pA2 %pA3 %pS0 %pS1 ) @index (spice:X) {/Times-Roman cf} ctmk 16 
-360.000 0.700 -128 -176 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -128 -144 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 40 32 label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 24 -80 label
-sce
-1 1.000 32 110 32 128 2 polygon
-1.000 0.000 0.000 scb
-(S0) {/Times-Roman cf} 2 17 0.000 1.000 32 128 pinlabel
-(A1) {/Times-Roman cf} 2 7 0.000 1.000 -32 48 pinlabel
-sce
-1 1.000 -32 -48 0 -48 2 polygon
-1 1.000 0 128 80 80 80 -32 0 -80 0 128 5 polygon
-1 1.000 -32 48 0 48 2 polygon
-1 1.000 -32 0 0 0 2 polygon
-1 1.000 64 90 64 128 2 polygon
-1.000 0.000 0.000 scb
-(S1) {/Times-Roman cf} 2 16 0.000 1.000 64 128 pinlabel
-(A2) {/Times-Roman cf} 2 7 0.000 1.000 -32 0 pinlabel
-(A3) {/Times-Roman cf} 2 7 0.000 1.000 -32 -48 pinlabel
-sce
-(0) {/Times-Roman cf} 2 29 0.000 0.700 32 80 label
-(1) {/Times-Roman cf} 2 29 0.000 0.700 64 80 label
-(0) {/Times-Roman cf} 2 20 0.000 0.700 8 96 label
-(1) {/Times-Roman cf} 2 20 0.000 0.700 8 56 label
-(2) {/Times-Roman cf} 2 20 0.000 0.700 8 0 label
-(3) {/Times-Roman cf} 2 20 0.000 0.700 8 -40 label
-endgate
-} def
-
-/sky130_fd_sc_hd::nor2b {
-<</@strength (1) (lindex {1 2 4 8} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
-(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-1 1.000 56 0 8 0.000 360.000 xcarc
-1.000 0.000 0.000 scb
-(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -80 32 pinlabel
-(B_N) {/Times-Roman cf} 2 7 0.000 1.000 -80 -32 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pY sky130_fd_sc_hd__nor2b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 
-infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
-sce
-1 1.000 -35 48 96 270.000 330.000 xcarc
-1 1.000 -64 -48 -35 -48 2 polygon
-1 1.000 -128 0 80 -37.000 37.000 xcarc
-1 1.000 -35 -48 96 30.000 90.000 xcarc
-1 1.000 -64 48 -35 48 2 polygon
-1 1.000 -80 32 -56 32 2 polygon
-1 1.000 -80 -32 -72 -32 2 polygon
-0.180 0.545 0.341 scb
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-sce
-1 1.000 96 0 64 0 2 polygon
-1 1.000 -64 -32 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::dlrbp {
-<</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
-(vdd1v8) /@VNB (gnd) >> begingate
-1.000 0.000 0.000 scb
-(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
-(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
-(GATE) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pQ %pQ_N sky130_fd_sc_hd__dlrbp_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pD %GATE %pRESET_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 
-360.000 0.700 -192 -224 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -192 -192 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
-sce
-0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
-(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
-(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
-0.000 0.000 1.000 scb
-(dlrbp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
-sce
-1 1.000 -96 64 -64 64 2 polygon
-1 1.000 32 64 64 64 2 polygon
-1 1.000 -64 0 -96 0 2 polygon
-(R) {ol} {/Times-Roman cf} 3 21 0.000 0.700 -48 0 label
-1.000 0.000 0.000 scb
-(RESET_B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
-sce
-1 1.000 32 0 64 0 2 polygon
-1.000 0.000 0.000 scb
-(Q_N) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-sce
-(Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 16 0 label
-1 1.000 -16 -64 -16 -48 2 polygon
-(GATE) {/Times-Roman cf} 2 17 0.000 0.700 -16 -40 label
-endgate
-} def
-
 /sky130_fd_sc_hd::dfbbn {
 <</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
 (vdd1v8) /@VNB (gnd) >> begingate
@@ -864,155 +1675,7 @@
 endgate
 } def
 
-/sky130_fd_sc_hd::nor4bb {
-<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
-(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-1 1.000 56 0 8 0.000 360.000 xcarc
-1.000 0.000 0.000 scb
-(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pY sky130_fd_sc_hd__nor4bb_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pA %pB %pC_N %pD_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 
-360.000 0.700 -64 -128 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -32 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -32 16 label
-sce
-1 1.000 -96 48 -58 48 2 polygon
-1 1.000 -96 -16 -65 -16 2 polygon
-1 1.000 -48 16 -96 16 2 polygon
-1.000 0.000 0.000 scb
-(C_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
-sce
-1 1.000 32 32 0 56 -40 56 48 0 spline
-1 1.000 32 -32 0 -56 -40 -56 48 0 spline
-1 1.000 -40 32 -40 -24 -64 -56 -64 56 spline
-1 1.000 -64 56 -40 56 2 polygon
-1 1.000 -64 -56 -40 -56 2 polygon
-1.000 0.000 0.000 scb
-(D_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
-sce
-1 1.000 -96 -48 -77 -48 2 polygon
-1 1.000 96 0 64 0 2 polygon
-1 1.000 -69 -48 8 0.000 360.000 xcarc
-1 1.000 -56 -16 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::ha {
-<</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
-(vdd1v8) /@VNB (gnd) >> begingate
-1.000 0.000 0.000 scb
-(SUM) {/Times-Roman cf} 2 4 0.000 1.000 96 64 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pCOUT %pSUM sky130_fd_sc_hd__ha_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pA %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -192 
--192 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -192 -160 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 0 32 label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 0 128 label
-sce
-0 1.000 -64 -48 -64 112 64 112 64 -48 4 polygon
-(A) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
-(SUM) {/Times-Roman cf} 2 23 0.000 0.700 56 64 label
-0.000 0.000 1.000 scb
-(ha) {/Times-Roman cf} 2 21 0.000 0.700 0 96 label
-sce
-1 1.000 96 64 64 64 2 polygon
-1 1.000 -64 64 -96 64 2 polygon
-1.000 0.000 0.000 scb
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
-sce
-(B) {/Times-Roman cf} 2 21 0.000 0.700 -48 0 label
-1 1.000 -64 0 -96 0 2 polygon
-1.000 0.000 0.000 scb
-(COUT) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-sce
-(O) {ss} (C) {/Times-Roman cf} 4 23 0.000 0.700 56 0 label
-1 1.000 96 0 64 0 2 polygon
-endgate
-} def
-
-/sky130_fd_sc_hd::conb {
-<</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
-(vdd1v8) /@VNB (gnd) >> begingate
-1.000 0.000 0.000 scb
-(HI) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pHI %pLO sky130_fd_sc_hd__conb_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -192 -192 
-infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -192 -160 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
-sce
-0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
-(HI) {/Times-Roman cf} 2 23 0.000 0.700 24 64 label
-0.000 0.000 1.000 scb
-(conb) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
-sce
-1 1.000 64 64 32 64 2 polygon
-1.000 0.000 0.000 scb
-(LO) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-sce
-(LO) {/Times-Roman cf} 2 23 0.000 0.700 24 0 label
-1 1.000 64 0 32 0 2 polygon
-endgate
-} def
-
-/sky130_fd_sc_hd::xor3 {
-<</@strength (1) (lindex {1 2 4} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index 
-(?) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-1.000 0.000 0.000 scb
-(X) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pX sky130_fd_sc_hd__xor3_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB %pC ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 
--128 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -24 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -24 16 label
-sce
-1 1.000 -19 -48 96 30.000 90.000 xcarc
-1 1.000 -19 48 96 270.000 330.000 xcarc
-1 1.000 -128 0 80 -37.000 37.000 xcarc
-1 1.000 -112 0 80 -37.000 37.000 xcarc
-1 1.000 -48 48 -19 48 2 polygon
-1 1.000 -48 -48 -19 -48 2 polygon
-1 1.000 96 0 64 0 2 polygon
-1 1.000 -64 32 -56 32 2 polygon
-1 1.000 -64 -32 -56 -32 2 polygon
-1 1.000 -64 0 -48 0 2 polygon
-1.000 0.000 0.000 scb
-(C) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel
-endgate
-} def
-
-/sky130_fd_sc_hd::dfstp {
+/sky130_fd_sc_hd::dfxbp {
 <</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
 (vdd1v8) /@VNB (gnd) >> begingate
 1.000 0.000 0.000 scb
@@ -1020,8 +1683,8 @@
 (D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
 (CLK) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
 0.180 0.545 0.341 scb
-mark @strength ( %pQ sky130_fd_sc_hd__dfstp_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pCLK %pD %pSET_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
+mark @strength ( %pQ %pQ_N sky130_fd_sc_hd__dfxbp_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pCLK %pD ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
 -192 -224 infolabel
 
 (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
@@ -1037,460 +1700,7 @@
 (D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
 (Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
 0.000 0.000 1.000 scb
-(dfstp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
-sce
-1 1.000 -96 64 -64 64 2 polygon
-1 1.000 32 64 64 64 2 polygon
-1 1.000 -64 32 -96 32 2 polygon
-(S) {ol} {/Times-Roman cf} 3 21 0.000 0.700 -48 32 label
-1.000 0.000 0.000 scb
-(SET_B) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
-sce
-1 1.000 -16 -64 -16 -48 2 polygon
-endgate
-} def
-
-/sky130_fd_sc_hd::mux2i {
-<</@strength (1) (lindex {1 2 4 8} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
-(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-1 1.000 0 16 -32 16 2 polygon
-1 1.000 80 -16 96 -16 2 polygon
-1.000 0.000 0.000 scb
-(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 -16 pinlabel
-(A0) {/Times-Roman cf} 2 7 0.000 1.000 -32 16 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pY sky130_fd_sc_hd__mux2i_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA0 %pA1 %pS ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -128 
--176 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -128 -144 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 16 -24 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 24 -80 label
-sce
-1 1.000 32 32 32 64 2 polygon
-1.000 0.000 0.000 scb
-(S) {/Times-Roman cf} 2 17 0.000 1.000 32 64 pinlabel
-(A1) {/Times-Roman cf} 2 7 0.000 1.000 -32 -48 pinlabel
-sce
-1 1.000 -32 -48 0 -48 2 polygon
-1 1.000 0 48 64 16 64 -48 0 -80 0 48 5 polygon
-1 1.000 72 -16 8 0.000 360.000 xcarc
-(0) {/Times-Roman cf} 2 20 0.000 0.700 8 16 label
-(1) {/Times-Roman cf} 2 20 0.000 0.700 8 -48 label
-endgate
-} def
-
-/sky130_fd_sc_hd::einvn {
-<</@strength (1) (lindex {1 2 4 8} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index 
-(?) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-0 1.000 -32 -40 -32 40 40 0 3 polygon
-1 1.000 -32 0 -64 0 2 polygon
-1 1.000 56 0 64 0 2 polygon
-1.000 0.000 0.000 scb
-(Z) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pZ sky130_fd_sc_hd__einvn_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pTE_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -176 
--128 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -176 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 24 24 label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 0 -32 label
-sce
-1 1.000 0 40 0 64 2 polygon
-1.000 0.000 0.000 scb
-(TE_B) {/Times-Roman cf} 2 17 0.000 1.000 0 64 pinlabel
-sce
-1 1.000 0 32 8 0.000 360.000 xcarc
-1 1.000 48 0 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::and3b {
-<</@VNB (gnd) /@VPB (vdd1v8) /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@strength 
-(1) (lindex {1 2 4} 0) pop >> begingate
-1 1.000 0 -48 -64 -48 -64 48 0 48 4 polygon
-1 1.000 0 0 48 -90.000 90.000 xcarc
-1.000 0.000 0.000 scb
-(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
-(C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pX sky130_fd_sc_hd__and3b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA_N %pB %pC ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 
--128 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
-sce
-1 1.000 -96 32 -80 32 2 polygon
-1 1.000 -96 0 -64 0 2 polygon
-1 1.000 -96 -32 -64 -32 2 polygon
-1 1.000 64 0 48 0 2 polygon
-1 1.000 -72 32 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::or2b {
-<</@strength (1) (lindex {0 1 2 4} 1) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index 
-(?) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-1.000 0.000 0.000 scb
-(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pX skty130_fd_sc_hd__or2b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 
-infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
-sce
-1 1.000 -35 48 96 270.000 330.000 xcarc
-1 1.000 -64 -48 -35 -48 2 polygon
-1 1.000 -128 0 80 -37.000 37.000 xcarc
-1 1.000 -35 -48 96 30.000 90.000 xcarc
-1 1.000 -64 48 -35 48 2 polygon
-1 1.000 -96 32 -56 32 2 polygon
-1 1.000 -96 -32 -72 -32 2 polygon
-1 1.000 48 0 64 0 2 polygon
-1 1.000 -64 -32 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::or4 {
-<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
-(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-1.000 0.000 0.000 scb
-(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 48 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 16 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pX sky130_fd_sc_hd__or4_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB %pC %pD ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
--64 -128 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -32 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -32 16 label
-sce
-1 1.000 -64 48 -58 48 2 polygon
-1 1.000 -64 -16 -48 -16 2 polygon
-1 1.000 -48 16 -64 16 2 polygon
-1.000 0.000 0.000 scb
-(C) {/Times-Roman cf} 2 7 0.000 1.000 -64 -16 pinlabel
-sce
-1 1.000 32 32 0 56 -40 56 48 0 spline
-1 1.000 32 -32 0 -56 -40 -56 48 0 spline
-1 1.000 -40 32 -40 -24 -64 -56 -64 56 spline
-1 1.000 -64 56 -40 56 2 polygon
-1 1.000 -64 -56 -40 -56 2 polygon
-1.000 0.000 0.000 scb
-(D) {/Times-Roman cf} 2 7 0.000 1.000 -64 -48 pinlabel
-sce
-1 1.000 -64 -48 -60 -48 2 polygon
-1 1.000 64 0 48 0 2 polygon
-endgate
-} def
-
-/sky130_fd_sc_hd::or4b {
-<</@VNB (gnd) /@VPB (vdd1v8) /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@strength 
-(1) (lindex {1 2 4} 0) pop >> begingate
-1.000 0.000 0.000 scb
-(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pY sky130_fd_sc_hd__or4b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB %pC %pD_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
--64 -128 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -32 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -32 16 label
-sce
-1 1.000 -96 48 -58 48 2 polygon
-1 1.000 -96 -16 -48 -16 2 polygon
-1 1.000 -48 16 -96 16 2 polygon
-1.000 0.000 0.000 scb
-(C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
-sce
-1 1.000 32 32 0 56 -40 56 48 0 spline
-1 1.000 32 -32 0 -56 -40 -56 48 0 spline
-1 1.000 -40 32 -40 -24 -64 -56 -64 56 spline
-1 1.000 -64 56 -40 56 2 polygon
-1 1.000 -64 -56 -40 -56 2 polygon
-1.000 0.000 0.000 scb
-(D_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
-sce
-1 1.000 -96 -48 -76 -48 2 polygon
-1 1.000 64 0 48 0 2 polygon
-1 1.000 -68 -48 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::dlclkp {
-<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
-(1) (lindex {1 2} 0) pop >> begingate
-1.000 0.000 0.000 scb
-(GCLK) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
-(GATE) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
-(CLK) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pGCLK sky130_fd_sc_hd__dlclkp_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pCLK %GATE ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
--192 -224 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -192 -192 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
-sce
-0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
-0.000 0.000 1.000 scb
-(dlclkp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
-sce
-1 1.000 32 64 64 64 2 polygon
-1 1.000 -16 -64 -16 -48 2 polygon
-(GATE) {/Times-Roman cf} 2 17 0.000 0.700 -16 -40 label
-1 1.000 -64 64 -96 64 2 polygon
-1 1.000 -64 80 -48 64 -64 48 3 polygon
-1 1.000 16 80 32 64 16 48 3 polygon
-1 1.000 16 80 16 48 2 polygon
-endgate
-} def
-
-/sky130_fd_sc_hd::einvp {
-<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
-(1) (lindex {1 2 4 8} 0) pop >> begingate
-0 1.000 -32 -40 -32 40 40 0 3 polygon
-1 1.000 -32 0 -64 0 2 polygon
-1 1.000 56 0 64 0 2 polygon
-1.000 0.000 0.000 scb
-(Z) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pZ sky130_fd_sc_hd__einvp_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pTE ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -176 -128 
-infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -176 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 24 24 label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 0 -32 label
-sce
-1 1.000 0 23 0 64 2 polygon
-1.000 0.000 0.000 scb
-(TE) {/Times-Roman cf} 2 17 0.000 1.000 0 64 pinlabel
-sce
-1 1.000 48 0 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::dfrtp {
-<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
-(1) (lindex {1 2} 0) pop >> begingate
-1.000 0.000 0.000 scb
-(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
-(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
-(CLK) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pQ sky130_fd_sc_hd__dfrtp_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pCLK %pD %pRESET_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
-0.700 -192 -192 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -192 -160 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
-sce
-0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
-1 1.000 -32 -48 -16 -32 0 -48 3 polygon
-(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
-(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
-0.000 0.000 1.000 scb
-(dfrtp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
-sce
-1 1.000 -16 -64 -16 -48 2 polygon
-1 1.000 -96 64 -64 64 2 polygon
-1 1.000 32 64 64 64 2 polygon
-1 1.000 -64 0 -96 0 2 polygon
-(R) {ol} {/Times-Roman cf} 3 21 0.000 0.700 -48 0 label
-1.000 0.000 0.000 scb
-(RESET_B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
-endgate
-} def
-
-/sky130_fd_sc_hd::clkbuf {
-<</@strength (1) (lindex {1 2 4 6 8 12 16} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
-(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-0 1.000 -32 -40 -32 40 40 0 3 polygon
-1 1.000 -32 0 -64 0 2 polygon
-1 1.000 40 0 64 0 2 polygon
-1.000 0.000 0.000 scb
-(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pX sky130_fd_sc_hd__clkbuf_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pA ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -32 -112 
-infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -32 -80 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 0 24 label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 16 0.000 0.600 24 -32 label
-sce
-1 1.000 -24 -12 -16 -12 -16 12 0 12 0 -12 8 -12 6 polygon
-endgate
-} def
-
-/sky130_fd_sc_hd::fah {
-<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
-(1) (lindex {1 2} 0) pop >> begingate
-1.000 0.000 0.000 scb
-(SUM) {/Times-Roman cf} 2 4 0.000 1.000 96 64 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pCOUT %pSUM sky130_fd_sc_hd__fah_) @VPWR ( ) @VPB ( ) @VNB 
-( ) @VGND ( %pA %pB %pCI ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
-0.700 -192 -192 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -192 -160 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 0 32 label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 0 128 label
-sce
-0 1.000 -64 -48 -64 112 64 112 64 -48 4 polygon
-(A) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
-(SUM) {/Times-Roman cf} 2 23 0.000 0.700 56 64 label
-0.000 0.000 1.000 scb
-(fah) {/Times-Roman cf} 2 21 0.000 0.700 0 96 label
-sce
-1 1.000 96 64 64 64 2 polygon
-1 1.000 -64 64 -96 64 2 polygon
-1.000 0.000 0.000 scb
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
-sce
-(B) {/Times-Roman cf} 2 21 0.000 0.700 -48 32 label
-1 1.000 -64 32 -96 32 2 polygon
-1.000 0.000 0.000 scb
-(COUT) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-sce
-(O) {ss} (C) {/Times-Roman cf} 4 23 0.000 0.700 56 0 label
-1 1.000 96 0 64 0 2 polygon
-1.000 0.000 0.000 scb
-(CI) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
-sce
-1 1.000 -64 0 -96 0 2 polygon
-(I) {ss} (C) {/Times-Roman cf} 4 21 0.000 0.700 -48 0 label
-endgate
-} def
-
-/sky130_fd_sc_hd::or4bb {
-<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
-(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-1 1.000 -56 -16 8 0.000 360.000 xcarc
-1.000 0.000 0.000 scb
-(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pY sky130_fd_sc_hd__or4bb_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB %pC_N %pD_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
-0.700 -64 -128 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -32 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -32 16 label
-sce
-1 1.000 -96 48 -58 48 2 polygon
-1 1.000 -96 -16 -64 -16 2 polygon
-1 1.000 -48 16 -96 16 2 polygon
-1.000 0.000 0.000 scb
-(C_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
-sce
-1 1.000 32 32 0 56 -40 56 48 0 spline
-1 1.000 32 -32 0 -56 -40 -56 48 0 spline
-1 1.000 -40 32 -40 -24 -64 -56 -64 56 spline
-1 1.000 -64 56 -40 56 2 polygon
-1 1.000 -64 -56 -40 -56 2 polygon
-1.000 0.000 0.000 scb
-(D_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
-sce
-1 1.000 -96 -48 -76 -48 2 polygon
-1 1.000 64 0 48 0 2 polygon
-1 1.000 -68 -48 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::dlxbn {
-<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
-(1) (lindex {1 2} 0) pop >> begingate
-1.000 0.000 0.000 scb
-(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
-(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
-(GATE_N) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pQ %pQ_N sky130_fd_sc_hd__dlxbn_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pD %GATE_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
--192 -224 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -192 -192 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
-sce
-0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
-(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
-(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
-0.000 0.000 1.000 scb
-(dlxbn) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
+(dfxbp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
 sce
 1 1.000 -96 64 -64 64 2 polygon
 1 1.000 32 64 64 64 2 polygon
@@ -1500,122 +1710,134 @@
 sce
 (Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 16 0 label
 1 1.000 -16 -64 -16 -48 2 polygon
-(GATE) {ol} {/Times-Roman cf} 3 17 0.000 0.700 -16 -40 label
 endgate
 } def
 
-/sky130_fd_sc_hd::fahcon {
+/sky130_fd_sc_hd::dfrbp {
 <</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
 (vdd1v8) /@VNB (gnd) >> begingate
 1.000 0.000 0.000 scb
-(SUM) {/Times-Roman cf} 2 4 0.000 1.000 96 64 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
+(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
+(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
+(CLK) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
 0.180 0.545 0.341 scb
-mark @strength ( %pCOUT_N %pSUM sky130_fd_sc_hd__fahcon_) @VPWR ( ) @VPB ( ) 
-@VNB ( ) @VGND ( %pA %pB %pCI ) @index (spice:X) {/Times-Roman cf} ctmk 16 
-360.000 0.700 -192 -192 infolabel
+mark @strength ( %pQ %pQ_N sky130_fd_sc_hd__dfrbp_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pCLK %pD %pRESET_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 
+360.000 0.700 -192 -224 infolabel
 
 (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -192 -160 infolabel
+{/Times-Roman cf} 2 16 0.000 0.700 -192 -192 infolabel
 0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 0 32 label
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
+label
 0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 0 128 label
+mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
 sce
-0 1.000 -64 -48 -64 112 64 112 64 -48 4 polygon
-(A) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
-(SUM) {/Times-Roman cf} 2 23 0.000 0.700 56 64 label
+0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
+1 1.000 -32 -48 -16 -32 0 -48 3 polygon
+(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
 0.000 0.000 1.000 scb
-(fahcon) {/Times-Roman cf} 2 21 0.000 0.700 0 96 label
+(dfrbp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
 sce
-1 1.000 96 64 64 64 2 polygon
-1 1.000 -64 64 -96 64 2 polygon
-1.000 0.000 0.000 scb
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
-sce
-(B) {/Times-Roman cf} 2 21 0.000 0.700 -48 32 label
-1 1.000 -64 32 -96 32 2 polygon
-1.000 0.000 0.000 scb
-(COUT_N) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-sce
-(O) {ss} (C) {/Times-Roman cf} 4 23 0.000 0.700 56 0 label
-1 1.000 96 0 80 0 2 polygon
-1.000 0.000 0.000 scb
-(CI) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
-sce
+1 1.000 -96 64 -64 64 2 polygon
+1 1.000 32 64 64 64 2 polygon
 1 1.000 -64 0 -96 0 2 polygon
-(I) {ss} (C) {/Times-Roman cf} 4 21 0.000 0.700 -48 0 label
-1 1.000 72 0 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::nand4b {
-<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
-(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-1 1.000 0 -64 -64 -64 -64 64 0 64 4 polygon
-1 1.000 56 0 8 0.000 360.000 xcarc
-1 1.000 0 0 48 64 -90.000 90.000 ellipse
+(R) {ol} {/Times-Roman cf} 3 21 0.000 0.700 -48 0 label
 1.000 0.000 0.000 scb
-(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-(A_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
-(C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
-(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pY sky130_fd_sc_hd__nand4b_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pA_N %pB %pC %pD ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
-0.700 -64 -144 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -112 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
+(RESET_B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
 sce
-1 1.000 -96 48 -80 48 2 polygon
-1 1.000 -96 16 -64 16 2 polygon
-1 1.000 -96 -16 -64 -16 2 polygon
-1 1.000 -96 -48 -64 -48 2 polygon
-1 1.000 64 0 96 0 2 polygon
-1 1.000 -72 48 8 0.000 360.000 xcarc
+1 1.000 32 0 64 0 2 polygon
+1.000 0.000 0.000 scb
+(Q_N) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+sce
+(Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 16 0 label
+1 1.000 -16 -64 -16 -48 2 polygon
 endgate
 } def
 
-/sky130_fd_sc_hd::or3b {
+/sky130_fd_sc_hd::dfbbp {
 <</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
-(1) (lindex {0 1 2 4} 1) pop >> begingate
+(1) (lindex {1 2} 0) pop >> begingate
 1.000 0.000 0.000 scb
-(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
+(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
+(CLK) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
 0.180 0.545 0.341 scb
-mark @strength ( %pX skty130_fd_sc_hd__or3b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB %pC_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 
--128 infolabel
+mark @strength ( %pQ %pQ_N sky130_fd_sc_hd__dfbbp_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pCLK %pD %pSET_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
+0.700 -192 -224 infolabel
 
 (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+{/Times-Roman cf} 2 16 0.000 0.700 -192 -192 infolabel
 0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
 label
 0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
+mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
 sce
-1 1.000 -35 48 96 270.000 330.000 xcarc
-1 1.000 -64 -48 -35 -48 2 polygon
-1 1.000 -128 0 80 -37.000 37.000 xcarc
-1 1.000 -35 -48 96 30.000 90.000 xcarc
-1 1.000 -64 48 -35 48 2 polygon
-1 1.000 -96 32 -56 32 2 polygon
-1 1.000 -96 -32 -72 -32 2 polygon
-1 1.000 48 0 64 0 2 polygon
-1 1.000 -48 0 -96 0 2 polygon
+0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
+1 1.000 -32 -48 -16 -32 0 -48 3 polygon
+(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
+0.000 0.000 1.000 scb
+(dfbbp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
+sce
+1 1.000 -96 64 -64 64 2 polygon
+1 1.000 32 64 64 64 2 polygon
+1 1.000 -64 32 -96 32 2 polygon
+(S) {ol} {/Times-Roman cf} 3 21 0.000 0.700 -48 32 label
 1.000 0.000 0.000 scb
-(C_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
+(SET_B) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
 sce
-1 1.000 -64 -32 8 0.000 360.000 xcarc
+1 1.000 32 0 64 0 2 polygon
+1.000 0.000 0.000 scb
+(Q_N) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+sce
+(Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 16 0 label
+1 1.000 -16 -64 -16 -48 2 polygon
+1 1.000 -64 0 -96 0 2 polygon
+(R) {ol} {/Times-Roman cf} 3 21 0.000 0.700 -48 0 label
+1.000 0.000 0.000 scb
+(RESET_B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+endgate
+} def
+
+/sky130_fd_sc_hd::dlrtp {
+<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
+(1) (lindex {1 2} 0) pop >> begingate
+1.000 0.000 0.000 scb
+(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
+(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
+(GATE) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pQ sky130_fd_sc_hd__dlrtp_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pD %GATE %pRESET_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
+0.700 -192 -224 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -192 -192 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
+sce
+0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
+(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
+0.000 0.000 1.000 scb
+(dlrtp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
+sce
+1 1.000 -96 64 -64 64 2 polygon
+1 1.000 32 64 64 64 2 polygon
+1 1.000 -64 0 -96 0 2 polygon
+(R) {ol} {/Times-Roman cf} 3 21 0.000 0.700 -48 0 label
+1.000 0.000 0.000 scb
+(RESET_B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+sce
+1 1.000 -16 -64 -16 -48 2 polygon
+(GATE) {/Times-Roman cf} 2 17 0.000 0.700 -16 -40 label
 endgate
 } def
 
@@ -1685,151 +1907,122 @@
 endgate
 } def
 
-/sky130_fd_sc_hd::xnor3 {
+/sky130_fd_sc_hd::dlrbp {
+<</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
+(vdd1v8) /@VNB (gnd) >> begingate
+1.000 0.000 0.000 scb
+(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
+(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
+(GATE) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pQ %pQ_N sky130_fd_sc_hd__dlrbp_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pD %GATE %pRESET_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 
+360.000 0.700 -192 -224 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -192 -192 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
+label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
+sce
+0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
+(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
+0.000 0.000 1.000 scb
+(dlrbp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
+sce
+1 1.000 -96 64 -64 64 2 polygon
+1 1.000 32 64 64 64 2 polygon
+1 1.000 -64 0 -96 0 2 polygon
+(R) {ol} {/Times-Roman cf} 3 21 0.000 0.700 -48 0 label
+1.000 0.000 0.000 scb
+(RESET_B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+sce
+1 1.000 32 0 64 0 2 polygon
+1.000 0.000 0.000 scb
+(Q_N) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+sce
+(Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 16 0 label
+1 1.000 -16 -64 -16 -48 2 polygon
+(GATE) {/Times-Roman cf} 2 17 0.000 0.700 -16 -40 label
+endgate
+} def
+
+/sky130_fd_sc_hd::dlxbn {
 <</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
-(1) (lindex {1 2 4} 0) pop >> begingate
+(1) (lindex {1 2} 0) pop >> begingate
 1.000 0.000 0.000 scb
-(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 32 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
+(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
+(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
+(GATE_N) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
 0.180 0.545 0.341 scb
-mark @strength ( %pY sky130_fd_sc_hd__xnor3_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB %pC ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 
--128 infolabel
+mark @strength ( %pQ %pQ_N sky130_fd_sc_hd__dlxbn_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pD %GATE_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
+-192 -224 infolabel
 
 (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+{/Times-Roman cf} 2 16 0.000 0.700 -192 -192 infolabel
 0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -24 -32 
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
 label
 0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -24 16 label
+mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
 sce
-1 1.000 -19 -48 96 30.000 90.000 xcarc
-1 1.000 -19 48 96 270.000 330.000 xcarc
-1 1.000 -128 0 80 -37.000 37.000 xcarc
-1 1.000 -112 0 80 -37.000 37.000 xcarc
-1 1.000 -48 48 -19 48 2 polygon
-1 1.000 -48 -48 -19 -48 2 polygon
-1 1.000 96 0 80 0 2 polygon
-1 1.000 -64 32 -56 32 2 polygon
-1 1.000 -64 -32 -56 -32 2 polygon
-1 1.000 -64 0 -48 0 2 polygon
+0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
+(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
+0.000 0.000 1.000 scb
+(dlxbn) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
+sce
+1 1.000 -96 64 -64 64 2 polygon
+1 1.000 32 64 64 64 2 polygon
+1 1.000 32 0 64 0 2 polygon
 1.000 0.000 0.000 scb
-(C) {/Times-Roman cf} 2 7 0.000 1.000 -64 -32 pinlabel
+(Q_N) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
 sce
-1 1.000 72 0 8 0.000 360.000 xcarc
+(Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 16 0 label
+1 1.000 -16 -64 -16 -48 2 polygon
+(GATE) {ol} {/Times-Roman cf} 3 17 0.000 0.700 -16 -40 label
 endgate
 } def
 
-/sky130_fd_sc_hd::nor4b {
-<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
-(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-1 1.000 56 0 8 0.000 360.000 xcarc
+/sky130_fd_sc_hd::dlxbp {
+<</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
+(vdd1v8) /@VNB (gnd) >> begingate
 1.000 0.000 0.000 scb
-(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
+(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
+(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
+(GATE) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
 0.180 0.545 0.341 scb
-mark @strength ( %pY sky130_fd_sc_hd__nor4b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB %pC %pD_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
--64 -128 infolabel
+mark @strength ( %pQ %pQ_N sky130_fd_sc_hd__dlxbp_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pD %GATE ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
+-192 -224 infolabel
 
 (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
+{/Times-Roman cf} 2 16 0.000 0.700 -192 -192 infolabel
 0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -32 -32 
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
 label
 0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -32 16 label
+mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
 sce
-1 1.000 -96 48 -58 48 2 polygon
-1 1.000 -96 -16 -48 -16 2 polygon
-1 1.000 -48 16 -96 16 2 polygon
-1.000 0.000 0.000 scb
-(C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
-sce
-1 1.000 32 32 0 56 -40 56 48 0 spline
-1 1.000 32 -32 0 -56 -40 -56 48 0 spline
-1 1.000 -40 32 -40 -24 -64 -56 -64 56 spline
-1 1.000 -64 56 -40 56 2 polygon
-1 1.000 -64 -56 -40 -56 2 polygon
-1.000 0.000 0.000 scb
-(D_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
-sce
-1 1.000 -96 -48 -76 -48 2 polygon
-1 1.000 96 0 64 0 2 polygon
-1 1.000 -68 -48 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::nor3b {
-<</@strength (1) (lindex {1 2 4} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index 
-(?) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-1 1.000 56 0 8 0.000 360.000 xcarc
-1.000 0.000 0.000 scb
-(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pY sky130_fd_sc_hd__nor3b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB %pC_N ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 
--128 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -32 -32 
-label
+0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
+(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
 0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -32 16 label
+(dlxbp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
 sce
-1 1.000 -35 48 96 270.000 330.000 xcarc
-1 1.000 -64 -48 -35 -48 2 polygon
-1 1.000 -128 0 80 -36.870 36.870 xcarc
-1 1.000 -35 -48 96 30.000 90.000 xcarc
-1 1.000 -64 48 -35 48 2 polygon
-1 1.000 -96 32 -56 32 2 polygon
-1 1.000 -96 -32 -72 -32 2 polygon
-1 1.000 -48 0 -96 0 2 polygon
+1 1.000 -96 64 -64 64 2 polygon
+1 1.000 32 64 64 64 2 polygon
+1 1.000 32 0 64 0 2 polygon
 1.000 0.000 0.000 scb
-(C_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
+(Q_N) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
 sce
-1 1.000 96 0 64 0 2 polygon
-1 1.000 -64 -32 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::nand2b {
-<</@strength (1) (lindex {1 2 4 8} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
-(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-1 1.000 0 -48 -64 -48 -64 48 0 48 4 polygon
-1 1.000 56 0 8 0.000 360.000 xcarc
-1 1.000 0 0 48 -90.000 90.000 xcarc
-1.000 0.000 0.000 scb
-(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-(A_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
-sce
-1 1.000 -64 -48 -64 48 2 polygon
-0.180 0.545 0.341 scb
-mark @strength ( %pY sky130_fd_sc_hd__nand2b_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pA_N %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
--64 -128 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
-0.180 0.545 0.341 scb
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-sce
-1 1.000 -96 32 -80 32 2 polygon
-1 1.000 -96 -32 -64 -32 2 polygon
-1 1.000 96 0 64 0 2 polygon
-1 1.000 -72 32 8 0.000 360.000 xcarc
+(Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 16 0 label
+1 1.000 -16 -64 -16 -48 2 polygon
+(GATE) {/Times-Roman cf} 2 17 0.000 0.700 -16 -40 label
 endgate
 } def
 
@@ -1876,16 +2069,16 @@
 endgate
 } def
 
-/sky130_fd_sc_hd::dfxbp {
-<</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
-(vdd1v8) /@VNB (gnd) >> begingate
+/sky130_fd_sc_hd::dlclkp {
+<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
+(1) (lindex {1 2} 0) pop >> begingate
 1.000 0.000 0.000 scb
-(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
-(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
-(CLK) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
+(GCLK) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
+(GATE) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
+(CLK) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
 0.180 0.545 0.341 scb
-mark @strength ( %pQ %pQ_N sky130_fd_sc_hd__dfxbp_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pCLK %pD ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
+mark @strength ( %pGCLK sky130_fd_sc_hd__dlclkp_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pCLK %GATE ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
 -192 -224 infolabel
 
 (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
@@ -1897,337 +2090,343 @@
 mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
 sce
 0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
-1 1.000 -32 -48 -16 -32 0 -48 3 polygon
-(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
-(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
 0.000 0.000 1.000 scb
-(dfxbp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
+(dlclkp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
 sce
-1 1.000 -96 64 -64 64 2 polygon
 1 1.000 32 64 64 64 2 polygon
-1 1.000 32 0 64 0 2 polygon
-1.000 0.000 0.000 scb
-(Q_N) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-sce
-(Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 16 0 label
 1 1.000 -16 -64 -16 -48 2 polygon
+(GATE) {/Times-Roman cf} 2 17 0.000 0.700 -16 -40 label
+1 1.000 -64 64 -96 64 2 polygon
+1 1.000 -64 80 -48 64 -64 48 3 polygon
+1 1.000 16 80 32 64 16 48 3 polygon
+1 1.000 16 80 16 48 2 polygon
 endgate
 } def
 
-/sky130_fd_sc_hd::and2 {
-<</@VNB (gnd) /@VPB (vdd1v8) /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@strength 
-(1) (lindex {1 2 4} 0) pop >> begingate
-1 1.000 0 -48 -64 -48 -64 48 0 48 4 polygon
-1 1.000 0 0 48 -90.000 90.000 xcarc
-1.000 0.000 0.000 scb
-(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pX sky130_fd_sc_hd__and2_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 
-infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
-sce
-1 1.000 -96 32 -64 32 2 polygon
-1 1.000 -96 -32 -64 -32 2 polygon
-1 1.000 64 0 48 0 2 polygon
-endgate
-} def
-
-/sky130_fd_sc_hd::and2b {
-<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
-(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-1 1.000 0 -48 -64 -48 -64 48 0 48 4 polygon
-1 1.000 0 0 48 -90.000 90.000 xcarc
-1.000 0.000 0.000 scb
-(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 -32 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pX sky130_fd_sc_hd__and2b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA_N %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -64 -128 
-infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -96 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
-sce
-1 1.000 -96 32 -80 32 2 polygon
-1 1.000 -96 -32 -64 -32 2 polygon
-1 1.000 64 0 48 0 2 polygon
-1 1.000 -72 32 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::clkinv {
-<</@VNB (gnd) /@VPB (vdd1v8) /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@strength 
-(1) (lindex {1 2 4 6 8 12 16} 0) pop >> begingate
-0 1.000 -32 -40 -32 40 40 0 3 polygon
-1 1.000 -32 0 -64 0 2 polygon
-1 1.000 56 0 64 0 2 polygon
-1.000 0.000 0.000 scb
-(Y) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A) {/Times-Roman cf} 2 7 0.000 1.000 -64 0 pinlabel
-0.180 0.545 0.341 scb
-mark @strength ( %pY sky130_fd_sc_hd__clkinv_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pA ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -32 -112 
-infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -32 -80 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 0 24 label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 16 0.000 0.600 24 -32 label
-sce
-1 1.000 -24 -12 -16 -12 -16 12 0 12 0 -12 8 -12 6 polygon
-1 1.000 48 0 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::dfrbp {
+/sky130_fd_sc_hd::ha {
 <</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
 (vdd1v8) /@VNB (gnd) >> begingate
 1.000 0.000 0.000 scb
-(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
-(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
-(CLK) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
+(SUM) {/Times-Roman cf} 2 4 0.000 1.000 96 64 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
 0.180 0.545 0.341 scb
-mark @strength ( %pQ %pQ_N sky130_fd_sc_hd__dfrbp_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pCLK %pD %pRESET_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 
-360.000 0.700 -192 -224 infolabel
+mark @strength ( %pCOUT %pSUM sky130_fd_sc_hd__ha_) @VPWR ( ) @VPB ( ) @VNB ( ) 
+@VGND ( %pA %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -192 
+-192 infolabel
 
 (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -192 -192 infolabel
+{/Times-Roman cf} 2 16 0.000 0.700 -192 -160 infolabel
 0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
-label
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 0 32 label
 0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
+mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 0 128 label
 sce
-0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
-1 1.000 -32 -48 -16 -32 0 -48 3 polygon
-(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
-(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
+0 1.000 -64 -48 -64 112 64 112 64 -48 4 polygon
+(A) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+(SUM) {/Times-Roman cf} 2 23 0.000 0.700 56 64 label
 0.000 0.000 1.000 scb
-(dfrbp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
+(ha) {/Times-Roman cf} 2 21 0.000 0.700 0 96 label
 sce
-1 1.000 -96 64 -64 64 2 polygon
-1 1.000 32 64 64 64 2 polygon
+1 1.000 96 64 64 64 2 polygon
+1 1.000 -64 64 -96 64 2 polygon
+1.000 0.000 0.000 scb
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+sce
+(B) {/Times-Roman cf} 2 21 0.000 0.700 -48 0 label
 1 1.000 -64 0 -96 0 2 polygon
-(R) {ol} {/Times-Roman cf} 3 21 0.000 0.700 -48 0 label
 1.000 0.000 0.000 scb
-(RESET_B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+(COUT) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
 sce
-1 1.000 32 0 64 0 2 polygon
-1.000 0.000 0.000 scb
-(Q_N) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-sce
-(Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 16 0 label
-1 1.000 -16 -64 -16 -48 2 polygon
+(O) {ss} (C) {/Times-Roman cf} 4 23 0.000 0.700 56 0 label
+1 1.000 96 0 64 0 2 polygon
 endgate
 } def
 
-/sky130_fd_sc_hd::nand4bb {
-<</@VNB (gnd) /@VPB (vdd1v8) /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@strength 
-(1) (lindex {1 2 4} 0) pop >> begingate
-1 1.000 0 -64 -64 -64 -64 64 0 64 4 polygon
+/sky130_fd_sc_hd::fah {
+<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
+(1) (lindex {1 2} 0) pop >> begingate
+1.000 0.000 0.000 scb
+(SUM) {/Times-Roman cf} 2 4 0.000 1.000 96 64 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pCOUT %pSUM sky130_fd_sc_hd__fah_) @VPWR ( ) @VPB ( ) @VNB 
+( ) @VGND ( %pA %pB %pCI ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
+0.700 -192 -192 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -192 -160 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 0 32 label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 0 128 label
+sce
+0 1.000 -64 -48 -64 112 64 112 64 -48 4 polygon
+(A) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+(SUM) {/Times-Roman cf} 2 23 0.000 0.700 56 64 label
+0.000 0.000 1.000 scb
+(fah) {/Times-Roman cf} 2 21 0.000 0.700 0 96 label
+sce
+1 1.000 96 64 64 64 2 polygon
+1 1.000 -64 64 -96 64 2 polygon
+1.000 0.000 0.000 scb
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
+sce
+(B) {/Times-Roman cf} 2 21 0.000 0.700 -48 32 label
+1 1.000 -64 32 -96 32 2 polygon
+1.000 0.000 0.000 scb
+(COUT) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+sce
+(O) {ss} (C) {/Times-Roman cf} 4 23 0.000 0.700 56 0 label
+1 1.000 96 0 64 0 2 polygon
+1.000 0.000 0.000 scb
+(CI) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+sce
+1 1.000 -64 0 -96 0 2 polygon
+(I) {ss} (C) {/Times-Roman cf} 4 21 0.000 0.700 -48 0 label
+endgate
+} def
+
+/sky130_fd_sc_hd::fahcon {
+<</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
+(vdd1v8) /@VNB (gnd) >> begingate
+1.000 0.000 0.000 scb
+(SUM) {/Times-Roman cf} 2 4 0.000 1.000 96 64 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pCOUT_N %pSUM sky130_fd_sc_hd__fahcon_) @VPWR ( ) @VPB ( ) 
+@VNB ( ) @VGND ( %pA %pB %pCI ) @index (spice:X) {/Times-Roman cf} ctmk 16 
+360.000 0.700 -192 -192 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -192 -160 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 0 32 label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 0 128 label
+sce
+0 1.000 -64 -48 -64 112 64 112 64 -48 4 polygon
+(A) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+(SUM) {/Times-Roman cf} 2 23 0.000 0.700 56 64 label
+0.000 0.000 1.000 scb
+(fahcon) {/Times-Roman cf} 2 21 0.000 0.700 0 96 label
+sce
+1 1.000 96 64 64 64 2 polygon
+1 1.000 -64 64 -96 64 2 polygon
+1.000 0.000 0.000 scb
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
+sce
+(B) {/Times-Roman cf} 2 21 0.000 0.700 -48 32 label
+1 1.000 -64 32 -96 32 2 polygon
+1.000 0.000 0.000 scb
+(COUT_N) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+sce
+(O) {ss} (C) {/Times-Roman cf} 4 23 0.000 0.700 56 0 label
+1 1.000 96 0 80 0 2 polygon
+1.000 0.000 0.000 scb
+(CI) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+sce
+1 1.000 -64 0 -96 0 2 polygon
+(I) {ss} (C) {/Times-Roman cf} 4 21 0.000 0.700 -48 0 label
+1 1.000 72 0 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::fahcin {
+<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
+(1) (lindex {1 2} 0) pop >> begingate
+1.000 0.000 0.000 scb
+(SUM) {/Times-Roman cf} 2 4 0.000 1.000 96 64 pinlabel
+(A) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
+0.180 0.545 0.341 scb
+mark @strength ( %pCOUT %pSUM sky130_fd_sc_hd__fahcin_) @VPWR ( ) @VPB ( ) @VNB 
+( ) @VGND ( %pA %pB %pCIN ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
+0.700 -192 -192 infolabel
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -192 -160 infolabel
+0.647 0.165 0.165 scb
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 0 32 label
+0.000 0.000 1.000 scb
+mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 0 128 label
+sce
+0 1.000 -64 -48 -64 112 64 112 64 -48 4 polygon
+(A) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
+(SUM) {/Times-Roman cf} 2 23 0.000 0.700 56 64 label
+0.000 0.000 1.000 scb
+(fahcin) {/Times-Roman cf} 2 21 0.000 0.700 0 96 label
+sce
+1 1.000 96 64 64 64 2 polygon
+1 1.000 -64 64 -96 64 2 polygon
+1.000 0.000 0.000 scb
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
+sce
+(B) {/Times-Roman cf} 2 21 0.000 0.700 -48 32 label
+1 1.000 -64 32 -96 32 2 polygon
+1.000 0.000 0.000 scb
+(COUT) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+sce
+(O) {ss} (C) {/Times-Roman cf} 4 23 0.000 0.700 56 0 label
+1 1.000 96 0 64 0 2 polygon
+1.000 0.000 0.000 scb
+(CIN) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+sce
+1 1.000 -80 0 -96 0 2 polygon
+(I) {ss} (C) {ol} {/Times-Roman cf} 5 20 0.000 0.700 -56 0 label
+1 1.000 -72 0 8 0.000 360.000 xcarc
+endgate
+} def
+
+/sky130_fd_sc_hd::a21oi {
+<</@strength (1) (lindex {1 2 4 8} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
 1 1.000 56 0 8 0.000 360.000 xcarc
-1 1.000 0 0 48 64 -90.000 90.000 ellipse
 1.000 0.000 0.000 scb
 (Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
-(A_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
-(B_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
-(C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
-(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
+(A1) {/Times-Roman cf} 2 7 0.000 1.000 -192 80 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -192 -32 pinlabel
 0.180 0.545 0.341 scb
-mark @strength ( %pY sky130_fd_sc_hd__nand4bb_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pA_N %pB_N %pC %pD ) @index (spice:X) {/Times-Roman cf} ctmk 16 
-360.000 0.700 -64 -144 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -112 infolabel
+mark @strength ( %pY sky130_fd_sc_hd__a21oi_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA1 %pA2 %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -256 
+-128 infolabel
 0.647 0.165 0.165 scb
 mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
 label
 0.000 0.000 1.000 scb
 mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
 sce
-1 1.000 -96 48 -80 48 2 polygon
-1 1.000 -96 16 -80 16 2 polygon
-1 1.000 -96 -16 -64 -16 2 polygon
-1 1.000 -96 -48 -64 -48 2 polygon
-1 1.000 64 0 96 0 2 polygon
-1 1.000 -72 48 8 0.000 360.000 xcarc
-1 1.000 -72 16 8 0.000 360.000 xcarc
-endgate
-} def
-
-/sky130_fd_sc_hd::dlrtp {
-<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
-(1) (lindex {1 2} 0) pop >> begingate
-1.000 0.000 0.000 scb
-(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
-(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
-(GATE) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
+1 1.000 -35 48 96 270.000 330.000 xcarc
+1 1.000 -64 -48 -35 -48 2 polygon
+1 1.000 -128 0 80 -37.000 37.000 xcarc
+1 1.000 -35 -48 96 30.000 90.000 xcarc
+1 1.000 -64 48 -35 48 2 polygon
+1 1.000 -192 -32 -56 -32 2 polygon
 0.180 0.545 0.341 scb
-mark @strength ( %pQ sky130_fd_sc_hd__dlrtp_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pD %GATE %pRESET_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
-0.700 -192 -224 infolabel
 
 (spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -192 -192 infolabel
-0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
-label
-0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
+{/Times-Roman cf} 2 16 0.000 0.700 -256 -96 infolabel
 sce
-0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
-(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
-(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
-0.000 0.000 1.000 scb
-(dlrtp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
-sce
-1 1.000 -96 64 -64 64 2 polygon
-1 1.000 32 64 64 64 2 polygon
-1 1.000 -64 0 -96 0 2 polygon
-(R) {ol} {/Times-Roman cf} 3 21 0.000 0.700 -48 0 label
+1 1.000 96 0 64 0 2 polygon
+1 1.000 -112 0 -176 0 -176 96 -112 96 4 polygon
+1 1.000 -192 80 -176 80 2 polygon
+1 1.000 -192 16 -176 16 2 polygon
+1 1.000 -112 48 48 -90.000 90.000 xcarc
 1.000 0.000 0.000 scb
-(RESET_B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
-sce
-1 1.000 -16 -64 -16 -48 2 polygon
-(GATE) {/Times-Roman cf} 2 17 0.000 0.700 -16 -40 label
+(A2) {/Times-Roman cf} 2 7 0.000 1.000 -192 16 pinlabel
 endgate
 } def
 
-/sky130_fd_sc_hd::and4b {
-<</@strength (1) (lindex {1 2 4} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
-(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
-1 1.000 0 -64 -64 -64 -64 64 0 64 4 polygon
-1 1.000 0 0 48 64 -90.000 90.000 ellipse
+/sky130_fd_sc_hd::a21o {
+<</@VNB (gnd) /@VPB (vdd1v8) /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@strength 
+(1) (lindex {1 2 4 8} 0) pop >> begingate
 1.000 0.000 0.000 scb
 (X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-(A_N) {/Times-Roman cf} 2 7 0.000 1.000 -96 48 pinlabel
-(B) {/Times-Roman cf} 2 7 0.000 1.000 -96 16 pinlabel
-(C) {/Times-Roman cf} 2 7 0.000 1.000 -96 -16 pinlabel
-(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 -48 pinlabel
+(A1) {/Times-Roman cf} 2 7 0.000 1.000 -192 80 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -192 -32 pinlabel
 0.180 0.545 0.341 scb
-mark @strength ( %pX sky130_fd_sc_hd__and4b_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
-( %pA_N %pB %pC %pD ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
--64 -144 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -64 -112 infolabel
+mark @strength ( %pX sky130_fd_sc_hd__a21o_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA1 %pA2 %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -256 
+-128 infolabel
 0.647 0.165 0.165 scb
 mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
 label
 0.000 0.000 1.000 scb
 mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
 sce
-1 1.000 -96 48 -80 48 2 polygon
-1 1.000 -96 16 -64 16 2 polygon
-1 1.000 -96 -16 -64 -16 2 polygon
-1 1.000 -96 -48 -64 -48 2 polygon
-1 1.000 48 0 64 0 2 polygon
-1 1.000 -72 48 8 0.000 360.000 xcarc
+1 1.000 -35 48 96 270.000 330.000 xcarc
+1 1.000 -64 -48 -35 -48 2 polygon
+1 1.000 -128 0 80 -37.000 37.000 xcarc
+1 1.000 -35 -48 96 30.000 90.000 xcarc
+1 1.000 -64 48 -35 48 2 polygon
+1 1.000 -192 -32 -56 -32 2 polygon
+0.180 0.545 0.341 scb
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -256 -96 infolabel
+sce
+1 1.000 64 0 48 0 2 polygon
+1 1.000 -112 0 -176 0 -176 96 -112 96 4 polygon
+1 1.000 -192 80 -176 80 2 polygon
+1 1.000 -192 16 -176 16 2 polygon
+1 1.000 -112 48 48 -90.000 90.000 xcarc
+1.000 0.000 0.000 scb
+(A2) {/Times-Roman cf} 2 7 0.000 1.000 -192 16 pinlabel
 endgate
 } def
 
-/sky130_fd_sc_hd::dfbbp {
-<</@VNB (gnd) /@VPB (vdd1v8) /@index (?) /@VPWR (vdd1v8) /@VGND (gnd) /@strength 
-(1) (lindex {1 2} 0) pop >> begingate
+/sky130_fd_sc_hd::o21ai {
+<</@VNB (gnd) /@VPB (vdd1v8) /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@strength 
+(1) (lindex {1 2 4 8} 0) pop >> begingate
+1 1.000 56 0 8 0.000 360.000 xcarc
 1.000 0.000 0.000 scb
-(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
-(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
-(CLK) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
+(Y) {/Times-Roman cf} 2 4 0.000 1.000 96 0 pinlabel
+(A1) {/Times-Roman cf} 2 7 0.000 1.000 -192 80 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -192 -32 pinlabel
 0.180 0.545 0.341 scb
-mark @strength ( %pQ %pQ_N sky130_fd_sc_hd__dfbbp_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pCLK %pD %pSET_B ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 
-0.700 -192 -224 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -192 -192 infolabel
+mark @strength ( %pY sky130_fd_sc_hd__o21ai_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA1 %pA2 %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -256 
+-128 infolabel
 0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
 label
 0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
 sce
-0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
-1 1.000 -32 -48 -16 -32 0 -48 3 polygon
-(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
-(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
-0.000 0.000 1.000 scb
-(dfbbp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
+1 1.000 -147 96 96 270.000 330.000 xcarc
+1 1.000 -176 0 -147 0 2 polygon
+1 1.000 -240 48 80 -37.000 37.000 xcarc
+1 1.000 -147 0 96 30.000 90.000 xcarc
+1 1.000 -176 96 -147 96 2 polygon
+1 1.000 -192 -32 -64 -32 2 polygon
+0.180 0.545 0.341 scb
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -256 -96 infolabel
 sce
-1 1.000 -96 64 -64 64 2 polygon
-1 1.000 32 64 64 64 2 polygon
-1 1.000 -64 32 -96 32 2 polygon
-(S) {ol} {/Times-Roman cf} 3 21 0.000 0.700 -48 32 label
+1 1.000 96 0 64 0 2 polygon
+1 1.000 0 -48 -64 -48 -64 48 0 48 4 polygon
+1 1.000 -192 80 -168 80 2 polygon
+1 1.000 -192 16 -168 16 2 polygon
+1 1.000 0 0 48 -90.000 90.000 xcarc
 1.000 0.000 0.000 scb
-(SET_B) {/Times-Roman cf} 2 7 0.000 1.000 -96 32 pinlabel
-sce
-1 1.000 32 0 64 0 2 polygon
-1.000 0.000 0.000 scb
-(Q_N) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-sce
-(Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 16 0 label
-1 1.000 -16 -64 -16 -48 2 polygon
-1 1.000 -64 0 -96 0 2 polygon
-(R) {ol} {/Times-Roman cf} 3 21 0.000 0.700 -48 0 label
-1.000 0.000 0.000 scb
-(RESET_B) {/Times-Roman cf} 2 7 0.000 1.000 -96 0 pinlabel
+(A2) {/Times-Roman cf} 2 7 0.000 1.000 -192 16 pinlabel
 endgate
 } def
 
-/sky130_fd_sc_hd::dlxbp {
-<</@strength (1) (lindex {1 2} 0) pop /@VGND (gnd) /@VPWR (vdd1v8) /@index (?) /@VPB 
-(vdd1v8) /@VNB (gnd) >> begingate
+/sky130_fd_sc_hd::o21a {
+<</@strength (1) (lindex {1 2 4 8} 0) pop /@index (?) /@VPWR (vdd1v8) /@VGND 
+(gnd) /@VPB (vdd1v8) /@VNB (gnd) >> begingate
 1.000 0.000 0.000 scb
-(Q) {/Times-Roman cf} 2 4 0.000 1.000 64 64 pinlabel
-(D) {/Times-Roman cf} 2 7 0.000 1.000 -96 64 pinlabel
-(GATE) {/Times-Roman cf} 2 13 0.000 1.000 -16 -64 pinlabel
+(X) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
+(A1) {/Times-Roman cf} 2 7 0.000 1.000 -192 80 pinlabel
+(B) {/Times-Roman cf} 2 7 0.000 1.000 -192 -32 pinlabel
 0.180 0.545 0.341 scb
-mark @strength ( %pQ %pQ_N sky130_fd_sc_hd__dlxbp_) @VPWR ( ) @VPB ( ) @VNB ( ) 
-@VGND ( %pD %GATE ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 
--192 -224 infolabel
-
-(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
-{/Times-Roman cf} 2 16 0.000 0.700 -192 -192 infolabel
+mark @strength ( %pX sky130_fd_sc_hd__o21a_) @VPWR ( ) @VPB ( ) @VNB ( ) @VGND 
+( %pA1 %pA2 %pB ) @index (spice:X) {/Times-Roman cf} ctmk 16 360.000 0.700 -256 
+-128 infolabel
 0.647 0.165 0.165 scb
-mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 21 0.000 0.600 -16 32 
+mark @strength {qS} (\327) {/Times-RomanISO cf} ctmk 16 0.000 0.600 -40 -32 
 label
 0.000 0.000 1.000 scb
-mark @index (U) {/Times-RomanISO cf} ctmk 17 0.000 0.700 -16 128 label
+mark @index (U) {/Times-RomanISO cf} ctmk 28 0.000 0.700 -40 16 label
 sce
-0 1.000 -64 -48 -64 112 32 112 32 -48 4 polygon
-(D) {/Times-Roman cf} 2 21 0.000 0.700 -48 64 label
-(Q) {/Times-Roman cf} 2 21 0.000 0.700 16 64 label
-0.000 0.000 1.000 scb
-(dlxbp) {/Times-Roman cf} 2 21 0.000 0.700 -16 96 label
+1 1.000 -147 96 96 270.000 330.000 xcarc
+1 1.000 -176 0 -147 0 2 polygon
+1 1.000 -240 48 80 -37.000 37.000 xcarc
+1 1.000 -147 0 96 30.000 90.000 xcarc
+1 1.000 -176 96 -147 96 2 polygon
+1 1.000 -192 -32 -64 -32 2 polygon
+0.180 0.545 0.341 scb
+
+(spice@1:%FSTAGING_PATH/TECHNAME/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice) 
+{/Times-Roman cf} 2 16 0.000 0.700 -256 -96 infolabel
 sce
-1 1.000 -96 64 -64 64 2 polygon
-1 1.000 32 64 64 64 2 polygon
-1 1.000 32 0 64 0 2 polygon
+1 1.000 64 0 48 0 2 polygon
+1 1.000 0 -48 -64 -48 -64 48 0 48 4 polygon
+1 1.000 -192 80 -168 80 2 polygon
+1 1.000 -192 16 -168 16 2 polygon
+1 1.000 0 0 48 -90.000 90.000 xcarc
 1.000 0.000 0.000 scb
-(Q_N) {/Times-Roman cf} 2 4 0.000 1.000 64 0 pinlabel
-sce
-(Q) {ol} {/Times-Roman cf} 3 21 0.000 0.700 16 0 label
-1 1.000 -16 -64 -16 -48 2 polygon
-(GATE) {/Times-Roman cf} 2 17 0.000 0.700 -16 -40 label
+(A2) {/Times-Roman cf} 2 7 0.000 1.000 -192 16 pinlabel
 endgate
 } def