blob: 6bfbf6e2963544ed16bfb47de49e4b7ec5e4b175 [file] [log] [blame]
/* Generated by Yosys 0.9+3621 (git sha1 84e9fa7, gcc 8.3.1 -fPIC -Os) */
module BYTE(CLK, WE, SEL, Di, Do);
input CLK;
input [7:0] Di;
output [7:0] Do;
wire GCLK;
input SEL;
wire SEL_B;
input WE;
wire \q_wire[0] ;
wire \q_wire[1] ;
wire \q_wire[2] ;
wire \q_wire[3] ;
wire \q_wire[4] ;
wire \q_wire[5] ;
wire \q_wire[6] ;
wire \q_wire[7] ;
wire we_wire;
sky130_fd_sc_hd__dfxtp_1 \BIT[0].FF (
.CLK(GCLK),
.D(Di[0]),
.Q(\q_wire[0] )
);
sky130_fd_sc_hd__ebufn_2 \BIT[0].OBUF (
.A(\q_wire[0] ),
.TE_B(SEL_B),
.Z(Do[0])
);
sky130_fd_sc_hd__dfxtp_1 \BIT[1].FF (
.CLK(GCLK),
.D(Di[1]),
.Q(\q_wire[1] )
);
sky130_fd_sc_hd__ebufn_2 \BIT[1].OBUF (
.A(\q_wire[1] ),
.TE_B(SEL_B),
.Z(Do[1])
);
sky130_fd_sc_hd__dfxtp_1 \BIT[2].FF (
.CLK(GCLK),
.D(Di[2]),
.Q(\q_wire[2] )
);
sky130_fd_sc_hd__ebufn_2 \BIT[2].OBUF (
.A(\q_wire[2] ),
.TE_B(SEL_B),
.Z(Do[2])
);
sky130_fd_sc_hd__dfxtp_1 \BIT[3].FF (
.CLK(GCLK),
.D(Di[3]),
.Q(\q_wire[3] )
);
sky130_fd_sc_hd__ebufn_2 \BIT[3].OBUF (
.A(\q_wire[3] ),
.TE_B(SEL_B),
.Z(Do[3])
);
sky130_fd_sc_hd__dfxtp_1 \BIT[4].FF (
.CLK(GCLK),
.D(Di[4]),
.Q(\q_wire[4] )
);
sky130_fd_sc_hd__ebufn_2 \BIT[4].OBUF (
.A(\q_wire[4] ),
.TE_B(SEL_B),
.Z(Do[4])
);
sky130_fd_sc_hd__dfxtp_1 \BIT[5].FF (
.CLK(GCLK),
.D(Di[5]),
.Q(\q_wire[5] )
);
sky130_fd_sc_hd__ebufn_2 \BIT[5].OBUF (
.A(\q_wire[5] ),
.TE_B(SEL_B),
.Z(Do[5])
);
sky130_fd_sc_hd__dfxtp_1 \BIT[6].FF (
.CLK(GCLK),
.D(Di[6]),
.Q(\q_wire[6] )
);
sky130_fd_sc_hd__ebufn_2 \BIT[6].OBUF (
.A(\q_wire[6] ),
.TE_B(SEL_B),
.Z(Do[6])
);
sky130_fd_sc_hd__dfxtp_1 \BIT[7].FF (
.CLK(GCLK),
.D(Di[7]),
.Q(\q_wire[7] )
);
sky130_fd_sc_hd__ebufn_2 \BIT[7].OBUF (
.A(\q_wire[7] ),
.TE_B(SEL_B),
.Z(Do[7])
);
sky130_fd_sc_hd__dlclkp_1 CG (
.CLK(CLK),
.GATE(we_wire),
.GCLK(GCLK)
);
sky130_fd_sc_hd__and2_1 CGAND (
.A(SEL),
.B(WE),
.X(we_wire)
);
sky130_fd_sc_hd__inv_1 INV (
.A(SEL),
.Y(SEL_B)
);
endmodule
module DEC2x4(EN, A, SEL);
input [1:0] A;
input EN;
output [3:0] SEL;
sky130_fd_sc_hd__nor3b_4 AND0 (
.A(A[0]),
.B(A[1]),
.C_N(EN),
.Y(SEL[0])
);
sky130_fd_sc_hd__and3b_4 AND1 (
.A_N(A[1]),
.B(A[0]),
.C(EN),
.X(SEL[1])
);
sky130_fd_sc_hd__and3b_4 AND2 (
.A_N(A[0]),
.B(A[1]),
.C(EN),
.X(SEL[2])
);
sky130_fd_sc_hd__and3_4 AND3 (
.A(A[1]),
.B(A[0]),
.C(EN),
.X(SEL[3])
);
endmodule
module DEC3x8(EN, A, SEL);
input [2:0] A;
input EN;
output [7:0] SEL;
sky130_fd_sc_hd__nor4b_2 AND0 (
.A(A[0]),
.B(A[1]),
.C(A[2]),
.D_N(EN),
.Y(SEL[0])
);
sky130_fd_sc_hd__and4bb_2 AND1 (
.A_N(A[2]),
.B_N(A[1]),
.C(A[0]),
.D(EN),
.X(SEL[1])
);
sky130_fd_sc_hd__and4bb_2 AND2 (
.A_N(A[2]),
.B_N(A[0]),
.C(A[1]),
.D(EN),
.X(SEL[2])
);
sky130_fd_sc_hd__and4b_2 AND3 (
.A_N(A[2]),
.B(A[1]),
.C(A[0]),
.D(EN),
.X(SEL[3])
);
sky130_fd_sc_hd__and4bb_2 AND4 (
.A_N(A[0]),
.B_N(A[1]),
.C(A[2]),
.D(EN),
.X(SEL[4])
);
sky130_fd_sc_hd__and4b_2 AND5 (
.A_N(A[1]),
.B(A[0]),
.C(A[2]),
.D(EN),
.X(SEL[5])
);
sky130_fd_sc_hd__and4b_2 AND6 (
.A_N(A[0]),
.B(A[1]),
.C(A[2]),
.D(EN),
.X(SEL[6])
);
sky130_fd_sc_hd__and4_2 AND7 (
.A(A[0]),
.B(A[1]),
.C(A[2]),
.D(EN),
.X(SEL[7])
);
endmodule
module DEC6x64(EN, A, SEL);
input [5:0] A;
wire \A_buf[0] ;
wire \A_buf[1] ;
wire \A_buf[2] ;
input EN;
output [63:0] SEL;
wire \SEL0_w[0] ;
wire \SEL0_w[1] ;
wire \SEL0_w[2] ;
wire \SEL0_w[3] ;
wire \SEL0_w[4] ;
wire \SEL0_w[5] ;
wire \SEL0_w[6] ;
wire \SEL0_w[7] ;
sky130_fd_sc_hd__clkbuf_16 \ABUF[0] (
.A(A[0]),
.X(\A_buf[0] )
);
sky130_fd_sc_hd__clkbuf_16 \ABUF[1] (
.A(A[1]),
.X(\A_buf[1] )
);
sky130_fd_sc_hd__clkbuf_16 \ABUF[2] (
.A(A[2]),
.X(\A_buf[2] )
);
DEC3x8 DEC_L0 (
.A(A[5:3]),
.EN(EN),
.SEL({ \SEL0_w[7] , \SEL0_w[6] , \SEL0_w[5] , \SEL0_w[4] , \SEL0_w[3] , \SEL0_w[2] , \SEL0_w[1] , \SEL0_w[0] })
);
DEC3x8 \DEC_L1[0].U (
.A({ \A_buf[2] , \A_buf[1] , \A_buf[0] }),
.EN(\SEL0_w[0] ),
.SEL(SEL[7:0])
);
DEC3x8 \DEC_L1[1].U (
.A({ \A_buf[2] , \A_buf[1] , \A_buf[0] }),
.EN(\SEL0_w[1] ),
.SEL(SEL[15:8])
);
DEC3x8 \DEC_L1[2].U (
.A({ \A_buf[2] , \A_buf[1] , \A_buf[0] }),
.EN(\SEL0_w[2] ),
.SEL(SEL[23:16])
);
DEC3x8 \DEC_L1[3].U (
.A({ \A_buf[2] , \A_buf[1] , \A_buf[0] }),
.EN(\SEL0_w[3] ),
.SEL(SEL[31:24])
);
DEC3x8 \DEC_L1[4].U (
.A({ \A_buf[2] , \A_buf[1] , \A_buf[0] }),
.EN(\SEL0_w[4] ),
.SEL(SEL[39:32])
);
DEC3x8 \DEC_L1[5].U (
.A({ \A_buf[2] , \A_buf[1] , \A_buf[0] }),
.EN(\SEL0_w[5] ),
.SEL(SEL[47:40])
);
DEC3x8 \DEC_L1[6].U (
.A({ \A_buf[2] , \A_buf[1] , \A_buf[0] }),
.EN(\SEL0_w[6] ),
.SEL(SEL[55:48])
);
DEC3x8 \DEC_L1[7].U (
.A({ \A_buf[2] , \A_buf[1] , \A_buf[0] }),
.EN(\SEL0_w[7] ),
.SEL(SEL[63:56])
);
endmodule
module DFFRAM(CLK, WE, EN, Di, Do, A);
input [7:0] A;
input CLK;
wire \DOUT[0][0] ;
wire \DOUT[0][10] ;
wire \DOUT[0][11] ;
wire \DOUT[0][12] ;
wire \DOUT[0][13] ;
wire \DOUT[0][14] ;
wire \DOUT[0][15] ;
wire \DOUT[0][16] ;
wire \DOUT[0][17] ;
wire \DOUT[0][18] ;
wire \DOUT[0][19] ;
wire \DOUT[0][1] ;
wire \DOUT[0][20] ;
wire \DOUT[0][21] ;
wire \DOUT[0][22] ;
wire \DOUT[0][23] ;
wire \DOUT[0][24] ;
wire \DOUT[0][25] ;
wire \DOUT[0][26] ;
wire \DOUT[0][27] ;
wire \DOUT[0][28] ;
wire \DOUT[0][29] ;
wire \DOUT[0][2] ;
wire \DOUT[0][30] ;
wire \DOUT[0][31] ;
wire \DOUT[0][3] ;
wire \DOUT[0][4] ;
wire \DOUT[0][5] ;
wire \DOUT[0][6] ;
wire \DOUT[0][7] ;
wire \DOUT[0][8] ;
wire \DOUT[0][9] ;
input [31:0] Di;
output [31:0] Do;
wire \Do_pre[0] ;
wire \Do_pre[10] ;
wire \Do_pre[11] ;
wire \Do_pre[12] ;
wire \Do_pre[13] ;
wire \Do_pre[14] ;
wire \Do_pre[15] ;
wire \Do_pre[16] ;
wire \Do_pre[17] ;
wire \Do_pre[18] ;
wire \Do_pre[19] ;
wire \Do_pre[1] ;
wire \Do_pre[20] ;
wire \Do_pre[21] ;
wire \Do_pre[22] ;
wire \Do_pre[23] ;
wire \Do_pre[24] ;
wire \Do_pre[25] ;
wire \Do_pre[26] ;
wire \Do_pre[27] ;
wire \Do_pre[28] ;
wire \Do_pre[29] ;
wire \Do_pre[2] ;
wire \Do_pre[30] ;
wire \Do_pre[31] ;
wire \Do_pre[3] ;
wire \Do_pre[4] ;
wire \Do_pre[5] ;
wire \Do_pre[6] ;
wire \Do_pre[7] ;
wire \Do_pre[8] ;
wire \Do_pre[9] ;
input EN;
wire EN_lines;
input [3:0] WE;
DFFRAM_COL4 \COLUMN[0].RAMCOLS (
.A(A),
.CLK(CLK),
.Di(Di),
.Do({ \DOUT[0][31] , \DOUT[0][30] , \DOUT[0][29] , \DOUT[0][28] , \DOUT[0][27] , \DOUT[0][26] , \DOUT[0][25] , \DOUT[0][24] , \DOUT[0][23] , \DOUT[0][22] , \DOUT[0][21] , \DOUT[0][20] , \DOUT[0][19] , \DOUT[0][18] , \DOUT[0][17] , \DOUT[0][16] , \DOUT[0][15] , \DOUT[0][14] , \DOUT[0][13] , \DOUT[0][12] , \DOUT[0][11] , \DOUT[0][10] , \DOUT[0][9] , \DOUT[0][8] , \DOUT[0][7] , \DOUT[0][6] , \DOUT[0][5] , \DOUT[0][4] , \DOUT[0][3] , \DOUT[0][2] , \DOUT[0][1] , \DOUT[0][0] }),
.EN(EN_lines),
.WE(WE)
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[0] (
.A(\Do_pre[0] ),
.X(Do[0])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[10] (
.A(\Do_pre[10] ),
.X(Do[10])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[11] (
.A(\Do_pre[11] ),
.X(Do[11])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[12] (
.A(\Do_pre[12] ),
.X(Do[12])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[13] (
.A(\Do_pre[13] ),
.X(Do[13])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[14] (
.A(\Do_pre[14] ),
.X(Do[14])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[15] (
.A(\Do_pre[15] ),
.X(Do[15])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[16] (
.A(\Do_pre[16] ),
.X(Do[16])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[17] (
.A(\Do_pre[17] ),
.X(Do[17])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[18] (
.A(\Do_pre[18] ),
.X(Do[18])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[19] (
.A(\Do_pre[19] ),
.X(Do[19])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[1] (
.A(\Do_pre[1] ),
.X(Do[1])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[20] (
.A(\Do_pre[20] ),
.X(Do[20])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[21] (
.A(\Do_pre[21] ),
.X(Do[21])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[22] (
.A(\Do_pre[22] ),
.X(Do[22])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[23] (
.A(\Do_pre[23] ),
.X(Do[23])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[24] (
.A(\Do_pre[24] ),
.X(Do[24])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[25] (
.A(\Do_pre[25] ),
.X(Do[25])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[26] (
.A(\Do_pre[26] ),
.X(Do[26])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[27] (
.A(\Do_pre[27] ),
.X(Do[27])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[28] (
.A(\Do_pre[28] ),
.X(Do[28])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[29] (
.A(\Do_pre[29] ),
.X(Do[29])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[2] (
.A(\Do_pre[2] ),
.X(Do[2])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[30] (
.A(\Do_pre[30] ),
.X(Do[30])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[31] (
.A(\Do_pre[31] ),
.X(Do[31])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[3] (
.A(\Do_pre[3] ),
.X(Do[3])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[4] (
.A(\Do_pre[4] ),
.X(Do[4])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[5] (
.A(\Do_pre[5] ),
.X(Do[5])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[6] (
.A(\Do_pre[6] ),
.X(Do[6])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[7] (
.A(\Do_pre[7] ),
.X(Do[7])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[8] (
.A(\Do_pre[8] ),
.X(Do[8])
);
sky130_fd_sc_hd__clkbuf_4 \DOBUF[9] (
.A(\Do_pre[9] ),
.X(Do[9])
);
sky130_fd_sc_hd__clkbuf_4 ENBUF (
.A(EN),
.X(EN_lines)
);
PASS MUX (
.A({ \DOUT[0][31] , \DOUT[0][30] , \DOUT[0][29] , \DOUT[0][28] , \DOUT[0][27] , \DOUT[0][26] , \DOUT[0][25] , \DOUT[0][24] , \DOUT[0][23] , \DOUT[0][22] , \DOUT[0][21] , \DOUT[0][20] , \DOUT[0][19] , \DOUT[0][18] , \DOUT[0][17] , \DOUT[0][16] , \DOUT[0][15] , \DOUT[0][14] , \DOUT[0][13] , \DOUT[0][12] , \DOUT[0][11] , \DOUT[0][10] , \DOUT[0][9] , \DOUT[0][8] , \DOUT[0][7] , \DOUT[0][6] , \DOUT[0][5] , \DOUT[0][4] , \DOUT[0][3] , \DOUT[0][2] , \DOUT[0][1] , \DOUT[0][0] }),
.X({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] })
);
endmodule
module DFFRAM_COL4(CLK, WE, EN, Di, Do, A);
input [7:0] A;
wire \A_buf[3] ;
wire \A_buf[4] ;
wire \A_buf[5] ;
input CLK;
wire CLK_buf;
input [31:0] Di;
wire \Di_buf[0] ;
wire \Di_buf[10] ;
wire \Di_buf[11] ;
wire \Di_buf[12] ;
wire \Di_buf[13] ;
wire \Di_buf[14] ;
wire \Di_buf[15] ;
wire \Di_buf[16] ;
wire \Di_buf[17] ;
wire \Di_buf[18] ;
wire \Di_buf[19] ;
wire \Di_buf[1] ;
wire \Di_buf[20] ;
wire \Di_buf[21] ;
wire \Di_buf[22] ;
wire \Di_buf[23] ;
wire \Di_buf[24] ;
wire \Di_buf[25] ;
wire \Di_buf[26] ;
wire \Di_buf[27] ;
wire \Di_buf[28] ;
wire \Di_buf[29] ;
wire \Di_buf[2] ;
wire \Di_buf[30] ;
wire \Di_buf[31] ;
wire \Di_buf[3] ;
wire \Di_buf[4] ;
wire \Di_buf[5] ;
wire \Di_buf[6] ;
wire \Di_buf[7] ;
wire \Di_buf[8] ;
wire \Di_buf[9] ;
output [31:0] Do;
wire \Do_B_0_0[0] ;
wire \Do_B_0_0[10] ;
wire \Do_B_0_0[11] ;
wire \Do_B_0_0[12] ;
wire \Do_B_0_0[13] ;
wire \Do_B_0_0[14] ;
wire \Do_B_0_0[15] ;
wire \Do_B_0_0[16] ;
wire \Do_B_0_0[17] ;
wire \Do_B_0_0[18] ;
wire \Do_B_0_0[19] ;
wire \Do_B_0_0[1] ;
wire \Do_B_0_0[20] ;
wire \Do_B_0_0[21] ;
wire \Do_B_0_0[22] ;
wire \Do_B_0_0[23] ;
wire \Do_B_0_0[24] ;
wire \Do_B_0_0[25] ;
wire \Do_B_0_0[26] ;
wire \Do_B_0_0[27] ;
wire \Do_B_0_0[28] ;
wire \Do_B_0_0[29] ;
wire \Do_B_0_0[2] ;
wire \Do_B_0_0[30] ;
wire \Do_B_0_0[31] ;
wire \Do_B_0_0[3] ;
wire \Do_B_0_0[4] ;
wire \Do_B_0_0[5] ;
wire \Do_B_0_0[6] ;
wire \Do_B_0_0[7] ;
wire \Do_B_0_0[8] ;
wire \Do_B_0_0[9] ;
wire \Do_B_0_1[0] ;
wire \Do_B_0_1[10] ;
wire \Do_B_0_1[11] ;
wire \Do_B_0_1[12] ;
wire \Do_B_0_1[13] ;
wire \Do_B_0_1[14] ;
wire \Do_B_0_1[15] ;
wire \Do_B_0_1[16] ;
wire \Do_B_0_1[17] ;
wire \Do_B_0_1[18] ;
wire \Do_B_0_1[19] ;
wire \Do_B_0_1[1] ;
wire \Do_B_0_1[20] ;
wire \Do_B_0_1[21] ;
wire \Do_B_0_1[22] ;
wire \Do_B_0_1[23] ;
wire \Do_B_0_1[24] ;
wire \Do_B_0_1[25] ;
wire \Do_B_0_1[26] ;
wire \Do_B_0_1[27] ;
wire \Do_B_0_1[28] ;
wire \Do_B_0_1[29] ;
wire \Do_B_0_1[2] ;
wire \Do_B_0_1[30] ;
wire \Do_B_0_1[31] ;
wire \Do_B_0_1[3] ;
wire \Do_B_0_1[4] ;
wire \Do_B_0_1[5] ;
wire \Do_B_0_1[6] ;
wire \Do_B_0_1[7] ;
wire \Do_B_0_1[8] ;
wire \Do_B_0_1[9] ;
wire \Do_B_0_2[0] ;
wire \Do_B_0_2[10] ;
wire \Do_B_0_2[11] ;
wire \Do_B_0_2[12] ;
wire \Do_B_0_2[13] ;
wire \Do_B_0_2[14] ;
wire \Do_B_0_2[15] ;
wire \Do_B_0_2[16] ;
wire \Do_B_0_2[17] ;
wire \Do_B_0_2[18] ;
wire \Do_B_0_2[19] ;
wire \Do_B_0_2[1] ;
wire \Do_B_0_2[20] ;
wire \Do_B_0_2[21] ;
wire \Do_B_0_2[22] ;
wire \Do_B_0_2[23] ;
wire \Do_B_0_2[24] ;
wire \Do_B_0_2[25] ;
wire \Do_B_0_2[26] ;
wire \Do_B_0_2[27] ;
wire \Do_B_0_2[28] ;
wire \Do_B_0_2[29] ;
wire \Do_B_0_2[2] ;
wire \Do_B_0_2[30] ;
wire \Do_B_0_2[31] ;
wire \Do_B_0_2[3] ;
wire \Do_B_0_2[4] ;
wire \Do_B_0_2[5] ;
wire \Do_B_0_2[6] ;
wire \Do_B_0_2[7] ;
wire \Do_B_0_2[8] ;
wire \Do_B_0_2[9] ;
wire \Do_B_0_3[0] ;
wire \Do_B_0_3[10] ;
wire \Do_B_0_3[11] ;
wire \Do_B_0_3[12] ;
wire \Do_B_0_3[13] ;
wire \Do_B_0_3[14] ;
wire \Do_B_0_3[15] ;
wire \Do_B_0_3[16] ;
wire \Do_B_0_3[17] ;
wire \Do_B_0_3[18] ;
wire \Do_B_0_3[19] ;
wire \Do_B_0_3[1] ;
wire \Do_B_0_3[20] ;
wire \Do_B_0_3[21] ;
wire \Do_B_0_3[22] ;
wire \Do_B_0_3[23] ;
wire \Do_B_0_3[24] ;
wire \Do_B_0_3[25] ;
wire \Do_B_0_3[26] ;
wire \Do_B_0_3[27] ;
wire \Do_B_0_3[28] ;
wire \Do_B_0_3[29] ;
wire \Do_B_0_3[2] ;
wire \Do_B_0_3[30] ;
wire \Do_B_0_3[31] ;
wire \Do_B_0_3[3] ;
wire \Do_B_0_3[4] ;
wire \Do_B_0_3[5] ;
wire \Do_B_0_3[6] ;
wire \Do_B_0_3[7] ;
wire \Do_B_0_3[8] ;
wire \Do_B_0_3[9] ;
wire \Do_pre[0] ;
wire \Do_pre[10] ;
wire \Do_pre[11] ;
wire \Do_pre[12] ;
wire \Do_pre[13] ;
wire \Do_pre[14] ;
wire \Do_pre[15] ;
wire \Do_pre[16] ;
wire \Do_pre[17] ;
wire \Do_pre[18] ;
wire \Do_pre[19] ;
wire \Do_pre[1] ;
wire \Do_pre[20] ;
wire \Do_pre[21] ;
wire \Do_pre[22] ;
wire \Do_pre[23] ;
wire \Do_pre[24] ;
wire \Do_pre[25] ;
wire \Do_pre[26] ;
wire \Do_pre[27] ;
wire \Do_pre[28] ;
wire \Do_pre[29] ;
wire \Do_pre[2] ;
wire \Do_pre[30] ;
wire \Do_pre[31] ;
wire \Do_pre[3] ;
wire \Do_pre[4] ;
wire \Do_pre[5] ;
wire \Do_pre[6] ;
wire \Do_pre[7] ;
wire \Do_pre[8] ;
wire \Do_pre[9] ;
input EN;
input [3:0] WE;
wire \WE_buf[0] ;
wire \WE_buf[1] ;
wire \WE_buf[2] ;
wire \WE_buf[3] ;
wire \row_sel[0] ;
wire \row_sel[1] ;
wire \row_sel[2] ;
wire \row_sel[3] ;
sky130_fd_sc_hd__clkbuf_16 \ABUF[0] (
.A(A[3]),
.X(\A_buf[3] )
);
sky130_fd_sc_hd__clkbuf_16 \ABUF[1] (
.A(A[4]),
.X(\A_buf[4] )
);
sky130_fd_sc_hd__clkbuf_16 \ABUF[2] (
.A(A[5]),
.X(\A_buf[5] )
);
SRAM64x32 B_0_0 (
.A({ \A_buf[5] , \A_buf[4] , \A_buf[3] , A[2:0] }),
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_B_0_0[31] , \Do_B_0_0[30] , \Do_B_0_0[29] , \Do_B_0_0[28] , \Do_B_0_0[27] , \Do_B_0_0[26] , \Do_B_0_0[25] , \Do_B_0_0[24] , \Do_B_0_0[23] , \Do_B_0_0[22] , \Do_B_0_0[21] , \Do_B_0_0[20] , \Do_B_0_0[19] , \Do_B_0_0[18] , \Do_B_0_0[17] , \Do_B_0_0[16] , \Do_B_0_0[15] , \Do_B_0_0[14] , \Do_B_0_0[13] , \Do_B_0_0[12] , \Do_B_0_0[11] , \Do_B_0_0[10] , \Do_B_0_0[9] , \Do_B_0_0[8] , \Do_B_0_0[7] , \Do_B_0_0[6] , \Do_B_0_0[5] , \Do_B_0_0[4] , \Do_B_0_0[3] , \Do_B_0_0[2] , \Do_B_0_0[1] , \Do_B_0_0[0] }),
.EN(\row_sel[0] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
SRAM64x32 B_0_1 (
.A({ \A_buf[5] , \A_buf[4] , \A_buf[3] , A[2:0] }),
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_B_0_1[31] , \Do_B_0_1[30] , \Do_B_0_1[29] , \Do_B_0_1[28] , \Do_B_0_1[27] , \Do_B_0_1[26] , \Do_B_0_1[25] , \Do_B_0_1[24] , \Do_B_0_1[23] , \Do_B_0_1[22] , \Do_B_0_1[21] , \Do_B_0_1[20] , \Do_B_0_1[19] , \Do_B_0_1[18] , \Do_B_0_1[17] , \Do_B_0_1[16] , \Do_B_0_1[15] , \Do_B_0_1[14] , \Do_B_0_1[13] , \Do_B_0_1[12] , \Do_B_0_1[11] , \Do_B_0_1[10] , \Do_B_0_1[9] , \Do_B_0_1[8] , \Do_B_0_1[7] , \Do_B_0_1[6] , \Do_B_0_1[5] , \Do_B_0_1[4] , \Do_B_0_1[3] , \Do_B_0_1[2] , \Do_B_0_1[1] , \Do_B_0_1[0] }),
.EN(\row_sel[1] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
SRAM64x32 B_0_2 (
.A({ \A_buf[5] , \A_buf[4] , \A_buf[3] , A[2:0] }),
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_B_0_2[31] , \Do_B_0_2[30] , \Do_B_0_2[29] , \Do_B_0_2[28] , \Do_B_0_2[27] , \Do_B_0_2[26] , \Do_B_0_2[25] , \Do_B_0_2[24] , \Do_B_0_2[23] , \Do_B_0_2[22] , \Do_B_0_2[21] , \Do_B_0_2[20] , \Do_B_0_2[19] , \Do_B_0_2[18] , \Do_B_0_2[17] , \Do_B_0_2[16] , \Do_B_0_2[15] , \Do_B_0_2[14] , \Do_B_0_2[13] , \Do_B_0_2[12] , \Do_B_0_2[11] , \Do_B_0_2[10] , \Do_B_0_2[9] , \Do_B_0_2[8] , \Do_B_0_2[7] , \Do_B_0_2[6] , \Do_B_0_2[5] , \Do_B_0_2[4] , \Do_B_0_2[3] , \Do_B_0_2[2] , \Do_B_0_2[1] , \Do_B_0_2[0] }),
.EN(\row_sel[2] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
SRAM64x32 B_0_3 (
.A({ \A_buf[5] , \A_buf[4] , \A_buf[3] , A[2:0] }),
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_B_0_3[31] , \Do_B_0_3[30] , \Do_B_0_3[29] , \Do_B_0_3[28] , \Do_B_0_3[27] , \Do_B_0_3[26] , \Do_B_0_3[25] , \Do_B_0_3[24] , \Do_B_0_3[23] , \Do_B_0_3[22] , \Do_B_0_3[21] , \Do_B_0_3[20] , \Do_B_0_3[19] , \Do_B_0_3[18] , \Do_B_0_3[17] , \Do_B_0_3[16] , \Do_B_0_3[15] , \Do_B_0_3[14] , \Do_B_0_3[13] , \Do_B_0_3[12] , \Do_B_0_3[11] , \Do_B_0_3[10] , \Do_B_0_3[9] , \Do_B_0_3[8] , \Do_B_0_3[7] , \Do_B_0_3[6] , \Do_B_0_3[5] , \Do_B_0_3[4] , \Do_B_0_3[3] , \Do_B_0_3[2] , \Do_B_0_3[1] , \Do_B_0_3[0] }),
.EN(\row_sel[3] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
sky130_fd_sc_hd__clkbuf_8 CLKBUF (
.A(CLK),
.X(CLK_buf)
);
DEC2x4 DEC (
.A(A[7:6]),
.EN(EN),
.SEL({ \row_sel[3] , \row_sel[2] , \row_sel[1] , \row_sel[0] })
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[0] (
.A(Di[0]),
.X(\Di_buf[0] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[10] (
.A(Di[10]),
.X(\Di_buf[10] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[11] (
.A(Di[11]),
.X(\Di_buf[11] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[12] (
.A(Di[12]),
.X(\Di_buf[12] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[13] (
.A(Di[13]),
.X(\Di_buf[13] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[14] (
.A(Di[14]),
.X(\Di_buf[14] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[15] (
.A(Di[15]),
.X(\Di_buf[15] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[16] (
.A(Di[16]),
.X(\Di_buf[16] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[17] (
.A(Di[17]),
.X(\Di_buf[17] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[18] (
.A(Di[18]),
.X(\Di_buf[18] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[19] (
.A(Di[19]),
.X(\Di_buf[19] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[1] (
.A(Di[1]),
.X(\Di_buf[1] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[20] (
.A(Di[20]),
.X(\Di_buf[20] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[21] (
.A(Di[21]),
.X(\Di_buf[21] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[22] (
.A(Di[22]),
.X(\Di_buf[22] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[23] (
.A(Di[23]),
.X(\Di_buf[23] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[24] (
.A(Di[24]),
.X(\Di_buf[24] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[25] (
.A(Di[25]),
.X(\Di_buf[25] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[26] (
.A(Di[26]),
.X(\Di_buf[26] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[27] (
.A(Di[27]),
.X(\Di_buf[27] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[28] (
.A(Di[28]),
.X(\Di_buf[28] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[29] (
.A(Di[29]),
.X(\Di_buf[29] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[2] (
.A(Di[2]),
.X(\Di_buf[2] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[30] (
.A(Di[30]),
.X(\Di_buf[30] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[31] (
.A(Di[31]),
.X(\Di_buf[31] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[3] (
.A(Di[3]),
.X(\Di_buf[3] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[4] (
.A(Di[4]),
.X(\Di_buf[4] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[5] (
.A(Di[5]),
.X(\Di_buf[5] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[6] (
.A(Di[6]),
.X(\Di_buf[6] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[7] (
.A(Di[7]),
.X(\Di_buf[7] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[8] (
.A(Di[8]),
.X(\Di_buf[8] )
);
sky130_fd_sc_hd__clkbuf_8 \DIBUF[9] (
.A(Di[9]),
.X(\Di_buf[9] )
);
MUX4x1_32 MUX (
.A0({ \Do_B_0_0[31] , \Do_B_0_0[30] , \Do_B_0_0[29] , \Do_B_0_0[28] , \Do_B_0_0[27] , \Do_B_0_0[26] , \Do_B_0_0[25] , \Do_B_0_0[24] , \Do_B_0_0[23] , \Do_B_0_0[22] , \Do_B_0_0[21] , \Do_B_0_0[20] , \Do_B_0_0[19] , \Do_B_0_0[18] , \Do_B_0_0[17] , \Do_B_0_0[16] , \Do_B_0_0[15] , \Do_B_0_0[14] , \Do_B_0_0[13] , \Do_B_0_0[12] , \Do_B_0_0[11] , \Do_B_0_0[10] , \Do_B_0_0[9] , \Do_B_0_0[8] , \Do_B_0_0[7] , \Do_B_0_0[6] , \Do_B_0_0[5] , \Do_B_0_0[4] , \Do_B_0_0[3] , \Do_B_0_0[2] , \Do_B_0_0[1] , \Do_B_0_0[0] }),
.A1({ \Do_B_0_1[31] , \Do_B_0_1[30] , \Do_B_0_1[29] , \Do_B_0_1[28] , \Do_B_0_1[27] , \Do_B_0_1[26] , \Do_B_0_1[25] , \Do_B_0_1[24] , \Do_B_0_1[23] , \Do_B_0_1[22] , \Do_B_0_1[21] , \Do_B_0_1[20] , \Do_B_0_1[19] , \Do_B_0_1[18] , \Do_B_0_1[17] , \Do_B_0_1[16] , \Do_B_0_1[15] , \Do_B_0_1[14] , \Do_B_0_1[13] , \Do_B_0_1[12] , \Do_B_0_1[11] , \Do_B_0_1[10] , \Do_B_0_1[9] , \Do_B_0_1[8] , \Do_B_0_1[7] , \Do_B_0_1[6] , \Do_B_0_1[5] , \Do_B_0_1[4] , \Do_B_0_1[3] , \Do_B_0_1[2] , \Do_B_0_1[1] , \Do_B_0_1[0] }),
.A2({ \Do_B_0_2[31] , \Do_B_0_2[30] , \Do_B_0_2[29] , \Do_B_0_2[28] , \Do_B_0_2[27] , \Do_B_0_2[26] , \Do_B_0_2[25] , \Do_B_0_2[24] , \Do_B_0_2[23] , \Do_B_0_2[22] , \Do_B_0_2[21] , \Do_B_0_2[20] , \Do_B_0_2[19] , \Do_B_0_2[18] , \Do_B_0_2[17] , \Do_B_0_2[16] , \Do_B_0_2[15] , \Do_B_0_2[14] , \Do_B_0_2[13] , \Do_B_0_2[12] , \Do_B_0_2[11] , \Do_B_0_2[10] , \Do_B_0_2[9] , \Do_B_0_2[8] , \Do_B_0_2[7] , \Do_B_0_2[6] , \Do_B_0_2[5] , \Do_B_0_2[4] , \Do_B_0_2[3] , \Do_B_0_2[2] , \Do_B_0_2[1] , \Do_B_0_2[0] }),
.A3({ \Do_B_0_3[31] , \Do_B_0_3[30] , \Do_B_0_3[29] , \Do_B_0_3[28] , \Do_B_0_3[27] , \Do_B_0_3[26] , \Do_B_0_3[25] , \Do_B_0_3[24] , \Do_B_0_3[23] , \Do_B_0_3[22] , \Do_B_0_3[21] , \Do_B_0_3[20] , \Do_B_0_3[19] , \Do_B_0_3[18] , \Do_B_0_3[17] , \Do_B_0_3[16] , \Do_B_0_3[15] , \Do_B_0_3[14] , \Do_B_0_3[13] , \Do_B_0_3[12] , \Do_B_0_3[11] , \Do_B_0_3[10] , \Do_B_0_3[9] , \Do_B_0_3[8] , \Do_B_0_3[7] , \Do_B_0_3[6] , \Do_B_0_3[5] , \Do_B_0_3[4] , \Do_B_0_3[3] , \Do_B_0_3[2] , \Do_B_0_3[1] , \Do_B_0_3[0] }),
.S(A[7:6]),
.X(Do)
);
sky130_fd_sc_hd__clkbuf_8 \WEBUF[0] (
.A(WE[0]),
.X(\WE_buf[0] )
);
sky130_fd_sc_hd__clkbuf_8 \WEBUF[1] (
.A(WE[1]),
.X(\WE_buf[1] )
);
sky130_fd_sc_hd__clkbuf_8 \WEBUF[2] (
.A(WE[2]),
.X(\WE_buf[2] )
);
sky130_fd_sc_hd__clkbuf_8 \WEBUF[3] (
.A(WE[3]),
.X(\WE_buf[3] )
);
endmodule
module MUX4x1_32(A0, A1, A2, A3, S, X);
input [31:0] A0;
input [31:0] A1;
input [31:0] A2;
input [31:0] A3;
input [1:0] S;
output [31:0] X;
sky130_fd_sc_hd__mux4_1 \MUX[0] (
.A0(A0[0]),
.A1(A1[0]),
.A2(A2[0]),
.A3(A3[0]),
.S0(S[0]),
.S1(S[1]),
.X(X[0])
);
sky130_fd_sc_hd__mux4_1 \MUX[10] (
.A0(A0[10]),
.A1(A1[10]),
.A2(A2[10]),
.A3(A3[10]),
.S0(S[0]),
.S1(S[1]),
.X(X[10])
);
sky130_fd_sc_hd__mux4_1 \MUX[11] (
.A0(A0[11]),
.A1(A1[11]),
.A2(A2[11]),
.A3(A3[11]),
.S0(S[0]),
.S1(S[1]),
.X(X[11])
);
sky130_fd_sc_hd__mux4_1 \MUX[12] (
.A0(A0[12]),
.A1(A1[12]),
.A2(A2[12]),
.A3(A3[12]),
.S0(S[0]),
.S1(S[1]),
.X(X[12])
);
sky130_fd_sc_hd__mux4_1 \MUX[13] (
.A0(A0[13]),
.A1(A1[13]),
.A2(A2[13]),
.A3(A3[13]),
.S0(S[0]),
.S1(S[1]),
.X(X[13])
);
sky130_fd_sc_hd__mux4_1 \MUX[14] (
.A0(A0[14]),
.A1(A1[14]),
.A2(A2[14]),
.A3(A3[14]),
.S0(S[0]),
.S1(S[1]),
.X(X[14])
);
sky130_fd_sc_hd__mux4_1 \MUX[15] (
.A0(A0[15]),
.A1(A1[15]),
.A2(A2[15]),
.A3(A3[15]),
.S0(S[0]),
.S1(S[1]),
.X(X[15])
);
sky130_fd_sc_hd__mux4_1 \MUX[16] (
.A0(A0[16]),
.A1(A1[16]),
.A2(A2[16]),
.A3(A3[16]),
.S0(S[0]),
.S1(S[1]),
.X(X[16])
);
sky130_fd_sc_hd__mux4_1 \MUX[17] (
.A0(A0[17]),
.A1(A1[17]),
.A2(A2[17]),
.A3(A3[17]),
.S0(S[0]),
.S1(S[1]),
.X(X[17])
);
sky130_fd_sc_hd__mux4_1 \MUX[18] (
.A0(A0[18]),
.A1(A1[18]),
.A2(A2[18]),
.A3(A3[18]),
.S0(S[0]),
.S1(S[1]),
.X(X[18])
);
sky130_fd_sc_hd__mux4_1 \MUX[19] (
.A0(A0[19]),
.A1(A1[19]),
.A2(A2[19]),
.A3(A3[19]),
.S0(S[0]),
.S1(S[1]),
.X(X[19])
);
sky130_fd_sc_hd__mux4_1 \MUX[1] (
.A0(A0[1]),
.A1(A1[1]),
.A2(A2[1]),
.A3(A3[1]),
.S0(S[0]),
.S1(S[1]),
.X(X[1])
);
sky130_fd_sc_hd__mux4_1 \MUX[20] (
.A0(A0[20]),
.A1(A1[20]),
.A2(A2[20]),
.A3(A3[20]),
.S0(S[0]),
.S1(S[1]),
.X(X[20])
);
sky130_fd_sc_hd__mux4_1 \MUX[21] (
.A0(A0[21]),
.A1(A1[21]),
.A2(A2[21]),
.A3(A3[21]),
.S0(S[0]),
.S1(S[1]),
.X(X[21])
);
sky130_fd_sc_hd__mux4_1 \MUX[22] (
.A0(A0[22]),
.A1(A1[22]),
.A2(A2[22]),
.A3(A3[22]),
.S0(S[0]),
.S1(S[1]),
.X(X[22])
);
sky130_fd_sc_hd__mux4_1 \MUX[23] (
.A0(A0[23]),
.A1(A1[23]),
.A2(A2[23]),
.A3(A3[23]),
.S0(S[0]),
.S1(S[1]),
.X(X[23])
);
sky130_fd_sc_hd__mux4_1 \MUX[24] (
.A0(A0[24]),
.A1(A1[24]),
.A2(A2[24]),
.A3(A3[24]),
.S0(S[0]),
.S1(S[1]),
.X(X[24])
);
sky130_fd_sc_hd__mux4_1 \MUX[25] (
.A0(A0[25]),
.A1(A1[25]),
.A2(A2[25]),
.A3(A3[25]),
.S0(S[0]),
.S1(S[1]),
.X(X[25])
);
sky130_fd_sc_hd__mux4_1 \MUX[26] (
.A0(A0[26]),
.A1(A1[26]),
.A2(A2[26]),
.A3(A3[26]),
.S0(S[0]),
.S1(S[1]),
.X(X[26])
);
sky130_fd_sc_hd__mux4_1 \MUX[27] (
.A0(A0[27]),
.A1(A1[27]),
.A2(A2[27]),
.A3(A3[27]),
.S0(S[0]),
.S1(S[1]),
.X(X[27])
);
sky130_fd_sc_hd__mux4_1 \MUX[28] (
.A0(A0[28]),
.A1(A1[28]),
.A2(A2[28]),
.A3(A3[28]),
.S0(S[0]),
.S1(S[1]),
.X(X[28])
);
sky130_fd_sc_hd__mux4_1 \MUX[29] (
.A0(A0[29]),
.A1(A1[29]),
.A2(A2[29]),
.A3(A3[29]),
.S0(S[0]),
.S1(S[1]),
.X(X[29])
);
sky130_fd_sc_hd__mux4_1 \MUX[2] (
.A0(A0[2]),
.A1(A1[2]),
.A2(A2[2]),
.A3(A3[2]),
.S0(S[0]),
.S1(S[1]),
.X(X[2])
);
sky130_fd_sc_hd__mux4_1 \MUX[30] (
.A0(A0[30]),
.A1(A1[30]),
.A2(A2[30]),
.A3(A3[30]),
.S0(S[0]),
.S1(S[1]),
.X(X[30])
);
sky130_fd_sc_hd__mux4_1 \MUX[31] (
.A0(A0[31]),
.A1(A1[31]),
.A2(A2[31]),
.A3(A3[31]),
.S0(S[0]),
.S1(S[1]),
.X(X[31])
);
sky130_fd_sc_hd__mux4_1 \MUX[3] (
.A0(A0[3]),
.A1(A1[3]),
.A2(A2[3]),
.A3(A3[3]),
.S0(S[0]),
.S1(S[1]),
.X(X[3])
);
sky130_fd_sc_hd__mux4_1 \MUX[4] (
.A0(A0[4]),
.A1(A1[4]),
.A2(A2[4]),
.A3(A3[4]),
.S0(S[0]),
.S1(S[1]),
.X(X[4])
);
sky130_fd_sc_hd__mux4_1 \MUX[5] (
.A0(A0[5]),
.A1(A1[5]),
.A2(A2[5]),
.A3(A3[5]),
.S0(S[0]),
.S1(S[1]),
.X(X[5])
);
sky130_fd_sc_hd__mux4_1 \MUX[6] (
.A0(A0[6]),
.A1(A1[6]),
.A2(A2[6]),
.A3(A3[6]),
.S0(S[0]),
.S1(S[1]),
.X(X[6])
);
sky130_fd_sc_hd__mux4_1 \MUX[7] (
.A0(A0[7]),
.A1(A1[7]),
.A2(A2[7]),
.A3(A3[7]),
.S0(S[0]),
.S1(S[1]),
.X(X[7])
);
sky130_fd_sc_hd__mux4_1 \MUX[8] (
.A0(A0[8]),
.A1(A1[8]),
.A2(A2[8]),
.A3(A3[8]),
.S0(S[0]),
.S1(S[1]),
.X(X[8])
);
sky130_fd_sc_hd__mux4_1 \MUX[9] (
.A0(A0[9]),
.A1(A1[9]),
.A2(A2[9]),
.A3(A3[9]),
.S0(S[0]),
.S1(S[1]),
.X(X[9])
);
endmodule
module PASS(A, X);
input [31:0] A;
output [31:0] X;
assign X = A;
endmodule
module SRAM64x32(CLK, WE, EN, Di, Do, A);
input [5:0] A;
input CLK;
wire CLK_buf;
input [31:0] Di;
wire \Di_buf[0] ;
wire \Di_buf[10] ;
wire \Di_buf[11] ;
wire \Di_buf[12] ;
wire \Di_buf[13] ;
wire \Di_buf[14] ;
wire \Di_buf[15] ;
wire \Di_buf[16] ;
wire \Di_buf[17] ;
wire \Di_buf[18] ;
wire \Di_buf[19] ;
wire \Di_buf[1] ;
wire \Di_buf[20] ;
wire \Di_buf[21] ;
wire \Di_buf[22] ;
wire \Di_buf[23] ;
wire \Di_buf[24] ;
wire \Di_buf[25] ;
wire \Di_buf[26] ;
wire \Di_buf[27] ;
wire \Di_buf[28] ;
wire \Di_buf[29] ;
wire \Di_buf[2] ;
wire \Di_buf[30] ;
wire \Di_buf[31] ;
wire \Di_buf[3] ;
wire \Di_buf[4] ;
wire \Di_buf[5] ;
wire \Di_buf[6] ;
wire \Di_buf[7] ;
wire \Di_buf[8] ;
wire \Di_buf[9] ;
output [31:0] Do;
wire \Do_pre[0] ;
wire \Do_pre[10] ;
wire \Do_pre[11] ;
wire \Do_pre[12] ;
wire \Do_pre[13] ;
wire \Do_pre[14] ;
wire \Do_pre[15] ;
wire \Do_pre[16] ;
wire \Do_pre[17] ;
wire \Do_pre[18] ;
wire \Do_pre[19] ;
wire \Do_pre[1] ;
wire \Do_pre[20] ;
wire \Do_pre[21] ;
wire \Do_pre[22] ;
wire \Do_pre[23] ;
wire \Do_pre[24] ;
wire \Do_pre[25] ;
wire \Do_pre[26] ;
wire \Do_pre[27] ;
wire \Do_pre[28] ;
wire \Do_pre[29] ;
wire \Do_pre[2] ;
wire \Do_pre[30] ;
wire \Do_pre[31] ;
wire \Do_pre[3] ;
wire \Do_pre[4] ;
wire \Do_pre[5] ;
wire \Do_pre[6] ;
wire \Do_pre[7] ;
wire \Do_pre[8] ;
wire \Do_pre[9] ;
input EN;
wire \SEL[0] ;
wire \SEL[10] ;
wire \SEL[11] ;
wire \SEL[12] ;
wire \SEL[13] ;
wire \SEL[14] ;
wire \SEL[15] ;
wire \SEL[16] ;
wire \SEL[17] ;
wire \SEL[18] ;
wire \SEL[19] ;
wire \SEL[1] ;
wire \SEL[20] ;
wire \SEL[21] ;
wire \SEL[22] ;
wire \SEL[23] ;
wire \SEL[24] ;
wire \SEL[25] ;
wire \SEL[26] ;
wire \SEL[27] ;
wire \SEL[28] ;
wire \SEL[29] ;
wire \SEL[2] ;
wire \SEL[30] ;
wire \SEL[31] ;
wire \SEL[32] ;
wire \SEL[33] ;
wire \SEL[34] ;
wire \SEL[35] ;
wire \SEL[36] ;
wire \SEL[37] ;
wire \SEL[38] ;
wire \SEL[39] ;
wire \SEL[3] ;
wire \SEL[40] ;
wire \SEL[41] ;
wire \SEL[42] ;
wire \SEL[43] ;
wire \SEL[44] ;
wire \SEL[45] ;
wire \SEL[46] ;
wire \SEL[47] ;
wire \SEL[48] ;
wire \SEL[49] ;
wire \SEL[4] ;
wire \SEL[50] ;
wire \SEL[51] ;
wire \SEL[52] ;
wire \SEL[53] ;
wire \SEL[54] ;
wire \SEL[55] ;
wire \SEL[56] ;
wire \SEL[57] ;
wire \SEL[58] ;
wire \SEL[59] ;
wire \SEL[5] ;
wire \SEL[60] ;
wire \SEL[61] ;
wire \SEL[62] ;
wire \SEL[63] ;
wire \SEL[6] ;
wire \SEL[7] ;
wire \SEL[8] ;
wire \SEL[9] ;
input [3:0] WE;
wire \WE_buf[0] ;
wire \WE_buf[1] ;
wire \WE_buf[2] ;
wire \WE_buf[3] ;
wire float_buf_en;
wire lo;
sky130_fd_sc_hd__clkbuf_16 CLKBUF (
.A(CLK),
.X(CLK_buf)
);
DEC6x64 DEC (
.A(A),
.EN(EN),
.SEL({ \SEL[63] , \SEL[62] , \SEL[61] , \SEL[60] , \SEL[59] , \SEL[58] , \SEL[57] , \SEL[56] , \SEL[55] , \SEL[54] , \SEL[53] , \SEL[52] , \SEL[51] , \SEL[50] , \SEL[49] , \SEL[48] , \SEL[47] , \SEL[46] , \SEL[45] , \SEL[44] , \SEL[43] , \SEL[42] , \SEL[41] , \SEL[40] , \SEL[39] , \SEL[38] , \SEL[37] , \SEL[36] , \SEL[35] , \SEL[34] , \SEL[33] , \SEL[32] , \SEL[31] , \SEL[30] , \SEL[29] , \SEL[28] , \SEL[27] , \SEL[26] , \SEL[25] , \SEL[24] , \SEL[23] , \SEL[22] , \SEL[21] , \SEL[20] , \SEL[19] , \SEL[18] , \SEL[17] , \SEL[16] , \SEL[15] , \SEL[14] , \SEL[13] , \SEL[12] , \SEL[11] , \SEL[10] , \SEL[9] , \SEL[8] , \SEL[7] , \SEL[6] , \SEL[5] , \SEL[4] , \SEL[3] , \SEL[2] , \SEL[1] , \SEL[0] })
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[0] (
.A(Di[0]),
.X(\Di_buf[0] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[10] (
.A(Di[10]),
.X(\Di_buf[10] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[11] (
.A(Di[11]),
.X(\Di_buf[11] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[12] (
.A(Di[12]),
.X(\Di_buf[12] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[13] (
.A(Di[13]),
.X(\Di_buf[13] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[14] (
.A(Di[14]),
.X(\Di_buf[14] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[15] (
.A(Di[15]),
.X(\Di_buf[15] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[16] (
.A(Di[16]),
.X(\Di_buf[16] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[17] (
.A(Di[17]),
.X(\Di_buf[17] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[18] (
.A(Di[18]),
.X(\Di_buf[18] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[19] (
.A(Di[19]),
.X(\Di_buf[19] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[1] (
.A(Di[1]),
.X(\Di_buf[1] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[20] (
.A(Di[20]),
.X(\Di_buf[20] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[21] (
.A(Di[21]),
.X(\Di_buf[21] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[22] (
.A(Di[22]),
.X(\Di_buf[22] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[23] (
.A(Di[23]),
.X(\Di_buf[23] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[24] (
.A(Di[24]),
.X(\Di_buf[24] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[25] (
.A(Di[25]),
.X(\Di_buf[25] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[26] (
.A(Di[26]),
.X(\Di_buf[26] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[27] (
.A(Di[27]),
.X(\Di_buf[27] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[28] (
.A(Di[28]),
.X(\Di_buf[28] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[29] (
.A(Di[29]),
.X(\Di_buf[29] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[2] (
.A(Di[2]),
.X(\Di_buf[2] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[30] (
.A(Di[30]),
.X(\Di_buf[30] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[31] (
.A(Di[31]),
.X(\Di_buf[31] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[3] (
.A(Di[3]),
.X(\Di_buf[3] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[4] (
.A(Di[4]),
.X(\Di_buf[4] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[5] (
.A(Di[5]),
.X(\Di_buf[5] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[6] (
.A(Di[6]),
.X(\Di_buf[6] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[7] (
.A(Di[7]),
.X(\Di_buf[7] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[8] (
.A(Di[8]),
.X(\Di_buf[8] )
);
sky130_fd_sc_hd__clkbuf_16 \DIBUF[9] (
.A(Di[9]),
.X(\Di_buf[9] )
);
sky130_fd_sc_hd__clkbuf_4 FBUFENBUF (
.A(EN),
.X(float_buf_en)
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[0] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[0] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[10] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[10] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[11] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[11] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[12] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[12] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[13] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[13] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[14] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[14] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[15] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[15] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[16] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[16] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[17] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[17] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[18] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[18] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[19] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[19] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[1] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[1] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[20] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[20] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[21] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[21] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[22] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[22] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[23] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[23] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[24] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[24] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[25] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[25] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[26] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[26] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[27] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[27] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[28] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[28] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[29] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[29] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[2] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[2] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[30] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[30] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[31] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[31] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[3] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[3] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[4] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[4] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[5] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[5] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[6] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[6] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[7] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[7] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[8] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[8] )
);
sky130_fd_sc_hd__ebufn_4 \FLOATBUF[9] (
.A(lo),
.TE_B(float_buf_en),
.Z(\Do_pre[9] )
);
sky130_fd_sc_hd__dfxtp_1 \OUT[0].FF (
.CLK(CLK),
.D(\Do_pre[0] ),
.Q(Do[0])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[10].FF (
.CLK(CLK),
.D(\Do_pre[10] ),
.Q(Do[10])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[11].FF (
.CLK(CLK),
.D(\Do_pre[11] ),
.Q(Do[11])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[12].FF (
.CLK(CLK),
.D(\Do_pre[12] ),
.Q(Do[12])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[13].FF (
.CLK(CLK),
.D(\Do_pre[13] ),
.Q(Do[13])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[14].FF (
.CLK(CLK),
.D(\Do_pre[14] ),
.Q(Do[14])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[15].FF (
.CLK(CLK),
.D(\Do_pre[15] ),
.Q(Do[15])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[16].FF (
.CLK(CLK),
.D(\Do_pre[16] ),
.Q(Do[16])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[17].FF (
.CLK(CLK),
.D(\Do_pre[17] ),
.Q(Do[17])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[18].FF (
.CLK(CLK),
.D(\Do_pre[18] ),
.Q(Do[18])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[19].FF (
.CLK(CLK),
.D(\Do_pre[19] ),
.Q(Do[19])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[1].FF (
.CLK(CLK),
.D(\Do_pre[1] ),
.Q(Do[1])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[20].FF (
.CLK(CLK),
.D(\Do_pre[20] ),
.Q(Do[20])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[21].FF (
.CLK(CLK),
.D(\Do_pre[21] ),
.Q(Do[21])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[22].FF (
.CLK(CLK),
.D(\Do_pre[22] ),
.Q(Do[22])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[23].FF (
.CLK(CLK),
.D(\Do_pre[23] ),
.Q(Do[23])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[24].FF (
.CLK(CLK),
.D(\Do_pre[24] ),
.Q(Do[24])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[25].FF (
.CLK(CLK),
.D(\Do_pre[25] ),
.Q(Do[25])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[26].FF (
.CLK(CLK),
.D(\Do_pre[26] ),
.Q(Do[26])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[27].FF (
.CLK(CLK),
.D(\Do_pre[27] ),
.Q(Do[27])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[28].FF (
.CLK(CLK),
.D(\Do_pre[28] ),
.Q(Do[28])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[29].FF (
.CLK(CLK),
.D(\Do_pre[29] ),
.Q(Do[29])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[2].FF (
.CLK(CLK),
.D(\Do_pre[2] ),
.Q(Do[2])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[30].FF (
.CLK(CLK),
.D(\Do_pre[30] ),
.Q(Do[30])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[31].FF (
.CLK(CLK),
.D(\Do_pre[31] ),
.Q(Do[31])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[3].FF (
.CLK(CLK),
.D(\Do_pre[3] ),
.Q(Do[3])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[4].FF (
.CLK(CLK),
.D(\Do_pre[4] ),
.Q(Do[4])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[5].FF (
.CLK(CLK),
.D(\Do_pre[5] ),
.Q(Do[5])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[6].FF (
.CLK(CLK),
.D(\Do_pre[6] ),
.Q(Do[6])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[7].FF (
.CLK(CLK),
.D(\Do_pre[7] ),
.Q(Do[7])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[8].FF (
.CLK(CLK),
.D(\Do_pre[8] ),
.Q(Do[8])
);
sky130_fd_sc_hd__dfxtp_1 \OUT[9].FF (
.CLK(CLK),
.D(\Do_pre[9] ),
.Q(Do[9])
);
sky130_fd_sc_hd__conb_1 TIE (
.HI(),
.LO(lo)
);
sky130_fd_sc_hd__clkbuf_16 \WEBUF[0] (
.A(WE[0]),
.X(\WE_buf[0] )
);
sky130_fd_sc_hd__clkbuf_16 \WEBUF[1] (
.A(WE[1]),
.X(\WE_buf[1] )
);
sky130_fd_sc_hd__clkbuf_16 \WEBUF[2] (
.A(WE[2]),
.X(\WE_buf[2] )
);
sky130_fd_sc_hd__clkbuf_16 \WEBUF[3] (
.A(WE[3]),
.X(\WE_buf[3] )
);
WORD32 \WORD[0].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] }),
.SEL(\SEL[0] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
WORD32 \WORD[10].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] }),
.SEL(\SEL[10] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
WORD32 \WORD[11].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] }),
.SEL(\SEL[11] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
WORD32 \WORD[12].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] }),
.SEL(\SEL[12] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
WORD32 \WORD[13].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] }),
.SEL(\SEL[13] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
WORD32 \WORD[14].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] }),
.SEL(\SEL[14] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
WORD32 \WORD[15].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] }),
.SEL(\SEL[15] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
WORD32 \WORD[16].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] }),
.SEL(\SEL[16] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
WORD32 \WORD[17].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] }),
.SEL(\SEL[17] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
WORD32 \WORD[18].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] }),
.SEL(\SEL[18] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
WORD32 \WORD[19].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] }),
.SEL(\SEL[19] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
WORD32 \WORD[1].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] }),
.SEL(\SEL[1] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
WORD32 \WORD[20].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] }),
.SEL(\SEL[20] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
WORD32 \WORD[21].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12] , \Do_pre[11] , \Do_pre[10] , \Do_pre[9] , \Do_pre[8] , \Do_pre[7] , \Do_pre[6] , \Do_pre[5] , \Do_pre[4] , \Do_pre[3] , \Do_pre[2] , \Do_pre[1] , \Do_pre[0] }),
.SEL(\SEL[21] ),
.WE({ \WE_buf[3] , \WE_buf[2] , \WE_buf[1] , \WE_buf[0] })
);
WORD32 \WORD[22].W (
.CLK(CLK_buf),
.Di({ \Di_buf[31] , \Di_buf[30] , \Di_buf[29] , \Di_buf[28] , \Di_buf[27] , \Di_buf[26] , \Di_buf[25] , \Di_buf[24] , \Di_buf[23] , \Di_buf[22] , \Di_buf[21] , \Di_buf[20] , \Di_buf[19] , \Di_buf[18] , \Di_buf[17] , \Di_buf[16] , \Di_buf[15] , \Di_buf[14] , \Di_buf[13] , \Di_buf[12] , \Di_buf[11] , \Di_buf[10] , \Di_buf[9] , \Di_buf[8] , \Di_buf[7] , \Di_buf[6] , \Di_buf[5] , \Di_buf[4] , \Di_buf[3] , \Di_buf[2] , \Di_buf[1] , \Di_buf[0] }),
.Do({ \Do_pre[31] , \Do_pre[30] , \Do_pre[29] , \Do_pre[28] , \Do_pre[27] , \Do_pre[26] , \Do_pre[25] , \Do_pre[24] , \Do_pre[23] , \Do_pre[22] , \Do_pre[21] , \Do_pre[20] , \Do_pre[19] , \Do_pre[18] , \Do_pre[17] , \Do_pre[16] , \Do_pre[15] , \Do_pre[14] , \Do_pre[13] , \Do_pre[12