# Benchmark pipelined_32b_adder .model pipelined_32b_adder .inputs clk wen ren \ raddr[0] raddr[1] raddr[2] raddr[3] raddr[4] raddr[5] raddr[6] raddr[7] raddr[8] raddr[9] raddr[10] \ waddr[0] waddr[1] waddr[2] waddr[3] waddr[4] waddr[5] waddr[6] waddr[7] waddr[8] waddr[9] waddr[10] \ a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] \ a[11] a[12] a[13] a[14] a[15] a[16] a[17] a[18] a[19] a[20] \ a[21] a[22] a[23] a[24] a[25] a[26] a[27] a[28] a[29] a[30] \ b[0] b[1] b[2] b[3] b[4] b[5] b[6] b[7] b[8] b[9] b[10] \ b[11] b[12] b[13] b[14] b[15] b[16] b[17] b[18] b[19] b[20] \ b[21] b[22] b[23] b[24] b[25] b[26] b[27] b[28] b[29] b[30] .outputs q[0] q[1] q[2] q[3] q[4] q[5] q[6] q[7] q[8] q[9] q[10] \ q[11] q[12] q[13] q[14] q[15] q[16] q[17] q[18] q[19] q[20] \ q[21] q[22] q[23] q[24] q[25] q[26] q[27] q[28] q[29] q[30] q[31] # Start pipeline # Pipeline a .subckt shift D=a[0] clk=clk Q=a_st0[0] .subckt shift D=a_st0[0] clk=clk Q=a_st1[0] .subckt shift D=a[1] clk=clk Q=a_st0[1] .subckt shift D=a_st0[1] clk=clk Q=a_st1[1] .subckt shift D=a[2] clk=clk Q=a_st0[2] .subckt shift D=a_st0[2] clk=clk Q=a_st1[2] .subckt shift D=a[3] clk=clk Q=a_st0[3] .subckt shift D=a_st0[3] clk=clk Q=a_st1[3] .subckt shift D=a[4] clk=clk Q=a_st0[4] .subckt shift D=a_st0[4] clk=clk Q=a_st1[4] .subckt shift D=a[5] clk=clk Q=a_st0[5] .subckt shift D=a_st0[5] clk=clk Q=a_st1[5] .subckt shift D=a[6] clk=clk Q=a_st0[6] .subckt shift D=a_st0[6] clk=clk Q=a_st1[6] .subckt shift D=a[7] clk=clk Q=a_st0[7] .subckt shift D=a_st0[7] clk=clk Q=a_st1[7] .subckt shift D=a[8] clk=clk Q=a_st0[8] .subckt shift D=a_st0[8] clk=clk Q=a_st1[8] .subckt shift D=a[9] clk=clk Q=a_st0[9] .subckt shift D=a_st0[9] clk=clk Q=a_st1[9] .subckt shift D=a[10] clk=clk Q=a_st0[10] .subckt shift D=a_st0[10] clk=clk Q=a_st1[10] .subckt shift D=a[11] clk=clk Q=a_st0[11] .subckt shift D=a_st0[11] clk=clk Q=a_st1[11] .subckt shift D=a[12] clk=clk Q=a_st0[12] .subckt shift D=a_st0[12] clk=clk Q=a_st1[12] .subckt shift D=a[13] clk=clk Q=a_st0[13] .subckt shift D=a_st0[13] clk=clk Q=a_st1[13] .subckt shift D=a[14] clk=clk Q=a_st0[14] .subckt shift D=a_st0[14] clk=clk Q=a_st1[14] .subckt shift D=a[15] clk=clk Q=a_st0[15] .subckt shift D=a_st0[15] clk=clk Q=a_st1[15] .subckt shift D=a[16] clk=clk Q=a_st0[16] .subckt shift D=a_st0[16] clk=clk Q=a_st1[16] .subckt shift D=a[17] clk=clk Q=a_st0[17] .subckt shift D=a_st0[17] clk=clk Q=a_st1[17] .subckt shift D=a[18] clk=clk Q=a_st0[18] .subckt shift D=a_st0[18] clk=clk Q=a_st1[18] .subckt shift D=a[19] clk=clk Q=a_st0[19] .subckt shift D=a_st0[19] clk=clk Q=a_st1[19] .subckt shift D=a[20] clk=clk Q=a_st0[20] .subckt shift D=a_st0[20] clk=clk Q=a_st1[20] .subckt shift D=a[21] clk=clk Q=a_st0[21] .subckt shift D=a_st0[21] clk=clk Q=a_st1[21] .subckt shift D=a[22] clk=clk Q=a_st0[22] .subckt shift D=a_st0[22] clk=clk Q=a_st1[22] .subckt shift D=a[23] clk=clk Q=a_st0[23] .subckt shift D=a_st0[23] clk=clk Q=a_st1[23] .subckt shift D=a[24] clk=clk Q=a_st0[24] .subckt shift D=a_st0[24] clk=clk Q=a_st1[24] .subckt shift D=a[25] clk=clk Q=a_st0[25] .subckt shift D=a_st0[25] clk=clk Q=a_st1[25] .subckt shift D=a[26] clk=clk Q=a_st0[26] .subckt shift D=a_st0[26] clk=clk Q=a_st1[26] .subckt shift D=a[27] clk=clk Q=a_st0[27] .subckt shift D=a_st0[27] clk=clk Q=a_st1[27] .subckt shift D=a[28] clk=clk Q=a_st0[28] .subckt shift D=a_st0[28] clk=clk Q=a_st1[28] .subckt shift D=a[29] clk=clk Q=a_st0[29] .subckt shift D=a_st0[29] clk=clk Q=a_st1[29] .subckt shift D=a[30] clk=clk Q=a_st0[30] .subckt shift D=a_st0[30] clk=clk Q=a_st1[30] # Pipeline b .subckt shift D=b[0] clk=clk Q=b_st0[0] .subckt shift D=b_st0[0] clk=clk Q=b_st1[0] .subckt shift D=b[1] clk=clk Q=b_st0[1] .subckt shift D=b_st0[1] clk=clk Q=b_st1[1] .subckt shift D=b[2] clk=clk Q=b_st0[2] .subckt shift D=b_st0[2] clk=clk Q=b_st1[2] .subckt shift D=b[3] clk=clk Q=b_st0[3] .subckt shift D=b_st0[3] clk=clk Q=b_st1[3] .subckt shift D=b[4] clk=clk Q=b_st0[4] .subckt shift D=b_st0[4] clk=clk Q=b_st1[4] .subckt shift D=b[5] clk=clk Q=b_st0[5] .subckt shift D=b_st0[5] clk=clk Q=b_st1[5] .subckt shift D=b[6] clk=clk Q=b_st0[6] .subckt shift D=b_st0[6] clk=clk Q=b_st1[6] .subckt shift D=b[7] clk=clk Q=b_st0[7] .subckt shift D=b_st0[7] clk=clk Q=b_st1[7] .subckt shift D=b[8] clk=clk Q=b_st0[8] .subckt shift D=b_st0[8] clk=clk Q=b_st1[8] .subckt shift D=b[9] clk=clk Q=b_st0[9] .subckt shift D=b_st0[9] clk=clk Q=b_st1[9] .subckt shift D=b[10] clk=clk Q=b_st0[10] .subckt shift D=b_st0[10] clk=clk Q=b_st1[10] .subckt shift D=b[11] clk=clk Q=b_st0[11] .subckt shift D=b_st0[11] clk=clk Q=b_st1[11] .subckt shift D=b[12] clk=clk Q=b_st0[12] .subckt shift D=b_st0[12] clk=clk Q=b_st1[12] .subckt shift D=b[13] clk=clk Q=b_st0[13] .subckt shift D=b_st0[13] clk=clk Q=b_st1[13] .subckt shift D=b[14] clk=clk Q=b_st0[14] .subckt shift D=b_st0[14] clk=clk Q=b_st1[14] .subckt shift D=b[15] clk=clk Q=b_st0[15] .subckt shift D=b_st0[15] clk=clk Q=b_st1[15] .subckt shift D=b[16] clk=clk Q=b_st0[16] .subckt shift D=b_st0[16] clk=clk Q=b_st1[16] .subckt shift D=b[17] clk=clk Q=b_st0[17] .subckt shift D=b_st0[17] clk=clk Q=b_st1[17] .subckt shift D=b[18] clk=clk Q=b_st0[18] .subckt shift D=b_st0[18] clk=clk Q=b_st1[18] .subckt shift D=b[19] clk=clk Q=b_st0[19] .subckt shift D=b_st0[19] clk=clk Q=b_st1[19] .subckt shift D=b[20] clk=clk Q=b_st0[20] .subckt shift D=b_st0[20] clk=clk Q=b_st1[20] .subckt shift D=b[21] clk=clk Q=b_st0[21] .subckt shift D=b_st0[21] clk=clk Q=b_st1[21] .subckt shift D=b[22] clk=clk Q=b_st0[22] .subckt shift D=b_st0[22] clk=clk Q=b_st1[22] .subckt shift D=b[23] clk=clk Q=b_st0[23] .subckt shift D=b_st0[23] clk=clk Q=b_st1[23] .subckt shift D=b[24] clk=clk Q=b_st0[24] .subckt shift D=b_st0[24] clk=clk Q=b_st1[24] .subckt shift D=b[25] clk=clk Q=b_st0[25] .subckt shift D=b_st0[25] clk=clk Q=b_st1[25] .subckt shift D=b[26] clk=clk Q=b_st0[26] .subckt shift D=b_st0[26] clk=clk Q=b_st1[26] .subckt shift D=b[27] clk=clk Q=b_st0[27] .subckt shift D=b_st0[27] clk=clk Q=b_st1[27] .subckt shift D=b[28] clk=clk Q=b_st0[28] .subckt shift D=b_st0[28] clk=clk Q=b_st1[28] .subckt shift D=b[29] clk=clk Q=b_st0[29] .subckt shift D=b_st0[29] clk=clk Q=b_st1[29] .subckt shift D=b[30] clk=clk Q=b_st0[30] .subckt shift D=b_st0[30] clk=clk Q=b_st1[30] # Pipeline waddr .subckt shift D=waddr[0] clk=clk Q=waddr_st0[0] .subckt shift D=waddr_st0[0] clk=clk Q=waddr_st1[0] .subckt shift D=waddr[1] clk=clk Q=waddr_st0[1] .subckt shift D=waddr_st0[1] clk=clk Q=waddr_st1[1] .subckt shift D=waddr[2] clk=clk Q=waddr_st0[2] .subckt shift D=waddr_st0[2] clk=clk Q=waddr_st1[2] .subckt shift D=waddr[3] clk=clk Q=waddr_st0[3] .subckt shift D=waddr_st0[3] clk=clk Q=waddr_st1[3] .subckt shift D=waddr[4] clk=clk Q=waddr_st0[4] .subckt shift D=waddr_st0[4] clk=clk Q=waddr_st1[4] .subckt shift D=waddr[5] clk=clk Q=waddr_st0[5] .subckt shift D=waddr_st0[5] clk=clk Q=waddr_st1[5] .subckt shift D=waddr[6] clk=clk Q=waddr_st0[6] .subckt shift D=waddr_st0[6] clk=clk Q=waddr_st1[6] .subckt shift D=waddr[7] clk=clk Q=waddr_st0[7] .subckt shift D=waddr_st0[7] clk=clk Q=waddr_st1[7] .subckt shift D=waddr[8] clk=clk Q=waddr_st0[8] .subckt shift D=waddr_st0[8] clk=clk Q=waddr_st1[8] .subckt shift D=waddr[9] clk=clk Q=waddr_st0[9] .subckt shift D=waddr_st0[9] clk=clk Q=waddr_st1[9] .subckt shift D=waddr[10] clk=clk Q=waddr_st0[10] .subckt shift D=waddr_st0[10] clk=clk Q=waddr_st1[10] # Pipeline wen .subckt shift D=wen clk=clk Q=wen_st0 .subckt shift D=wen_st0 clk=clk Q=wen_st1 # End pipeline # Start adder .subckt adder a=a_st1[0] b=b_st1[0] cin=zero00 cout=cint01 sumout=AplusB[0] .subckt adder a=a_st1[1] b=b_st1[1] cin=cint01 cout=cint02 sumout=AplusB[1] .subckt adder a=a_st1[2] b=b_st1[2] cin=cint02 cout=cint03 sumout=AplusB[2] .subckt adder a=a_st1[3] b=b_st1[3] cin=cint03 cout=cint04 sumout=AplusB[3] .subckt adder a=a_st1[4] b=b_st1[4] cin=cint04 cout=cint05 sumout=AplusB[4] .subckt adder a=a_st1[5] b=b_st1[5] cin=cint05 cout=cint06 sumout=AplusB[5] .subckt adder a=a_st1[6] b=b_st1[6] cin=cint06 cout=cint07 sumout=AplusB[6] .subckt adder a=a_st1[7] b=b_st1[7] cin=cint07 cout=cint08 sumout=AplusB[7] .subckt adder a=a_st1[8] b=b_st1[8] cin=cint08 cout=cint09 sumout=AplusB[8] .subckt adder a=a_st1[9] b=b_st1[9] cin=cint09 cout=cint10 sumout=AplusB[9] .subckt adder a=a_st1[10] b=b_st1[10] cin=cint10 cout=cint11 sumout=AplusB[10] .subckt adder a=a_st1[11] b=b_st1[11] cin=cint11 cout=cint12 sumout=AplusB[11] .subckt adder a=a_st1[12] b=b_st1[12] cin=cint12 cout=cint13 sumout=AplusB[12] .subckt adder a=a_st1[13] b=b_st1[13] cin=cint13 cout=cint14 sumout=AplusB[13] .subckt adder a=a_st1[14] b=b_st1[14] cin=cint14 cout=cint15 sumout=AplusB[14] .subckt adder a=a_st1[15] b=b_st1[15] cin=cint15 cout=cint16 sumout=AplusB[15] .subckt adder a=a_st1[16] b=b_st1[16] cin=cint16 cout=cint17 sumout=AplusB[16] .subckt adder a=a_st1[17] b=b_st1[17] cin=cint17 cout=cint18 sumout=AplusB[17] .subckt adder a=a_st1[18] b=b_st1[18] cin=cint18 cout=cint19 sumout=AplusB[18] .subckt adder a=a_st1[19] b=b_st1[19] cin=cint19 cout=cint20 sumout=AplusB[19] .subckt adder a=a_st1[20] b=b_st1[20] cin=cint20 cout=cint21 sumout=AplusB[20] .subckt adder a=a_st1[21] b=b_st1[21] cin=cint21 cout=cint22 sumout=AplusB[21] .subckt adder a=a_st1[22] b=b_st1[22] cin=cint22 cout=cint23 sumout=AplusB[22] .subckt adder a=a_st1[23] b=b_st1[23] cin=cint23 cout=cint24 sumout=AplusB[23] .subckt adder a=a_st1[24] b=b_st1[24] cin=cint24 cout=cint25 sumout=AplusB[24] .subckt adder a=a_st1[25] b=b_st1[25] cin=cint25 cout=cint26 sumout=AplusB[25] .subckt adder a=a_st1[26] b=b_st1[26] cin=cint26 cout=cint27 sumout=AplusB[26] .subckt adder a=a_st1[27] b=b_st1[27] cin=cint27 cout=cint28 sumout=AplusB[27] .subckt adder a=a_st1[28] b=b_st1[28] cin=cint28 cout=cint29 sumout=AplusB[28] .subckt adder a=a_st1[29] b=b_st1[29] cin=cint29 cout=cint30 sumout=AplusB[29] .subckt adder a=a_st1[30] b=b_st1[30] cin=cint30 cout=cint31 sumout=AplusB[30] .subckt adder a=zero00 b=zero00 cin=cint31 cout=unconn sumout=AplusB[31] # End adder # Start DPRAM .subckt dpram clk=clk wen=wen_st1 ren=ren \ waddr[0]=waddr_st1[0] waddr[1]=waddr_st1[1] waddr[2]=waddr_st1[2] waddr[3]=waddr_st1[3] waddr[4]=waddr_st1[4] \ waddr[5]=waddr_st1[5] waddr[6]=waddr_st1[6] waddr[7]=waddr_st1[7] waddr[8]=waddr_st1[8] waddr[9]=waddr_st1[9] waddr[10]==waddr_st1[10] \ raddr[0]=raddr[0] raddr[1]=raddr[1] raddr[2]=raddr[2] raddr[3]=raddr[3] raddr[4]=raddr[4] raddr[5]=raddr[5] \ raddr[6]=raddr[6] raddr[7]=raddr[7] raddr[8]=raddr[8] raddr[9]=raddr[9] raddr[10]=raddr[10] \ d_in[0]=AplusB[0] d_in[1]=AplusB[1] d_in[2]=AplusB[2] d_in[3]=AplusB[3] d_in[4]=AplusB[4] d_in[5]=AplusB[5] \ d_in[6]=AplusB[6] d_in[7]=AplusB[7] d_in[8]=AplusB[8] d_in[9]=AplusB[9] d_in[10]=AplusB[10] d_in[11]=AplusB[11] \ d_in[12]=AplusB[12] d_in[13]=AplusB[13] d_in[14]=AplusB[14] d_in[15]=AplusB[15] d_in[16]=AplusB[16] d_in[17]=AplusB[17] \ d_in[18]=AplusB[18] d_in[19]=AplusB[19] d_in[20]=AplusB[20] d_in[21]=AplusB[21] d_in[22]=AplusB[22] d_in[23]=AplusB[23] \ d_in[24]=AplusB[24] d_in[25]=AplusB[25] d_in[26]=AplusB[26] d_in[27]=AplusB[27] d_in[28]=AplusB[28] d_in[29]=AplusB[29] \ d_in[30]=AplusB[30] d_in[31]=AplusB[31] \ d_in[32]=zero00 d_in[33]=zero00 d_in[34]=zero00 d_in[35]=zero00 d_in[36]=zero00 d_in[37]=zero00 d_in[38]=zero00 d_in[39]=zero00 d_in[40]=zero00 d_in[41]=zero00 d_in[42]=zero00 d_in[43]=zero00 d_in[44]=zero00 d_in[45]=zero00 d_in[46]=zero00 d_in[47]=zero00 d_in[48]=zero00 d_in[49]=zero00 d_in[50]=zero00 d_in[51]=zero00 d_in[52]=zero00 d_in[53]=zero00 d_in[54]=zero00 d_in[55]=zero00 d_in[56]=zero00 d_in[57]=zero00 d_in[58]=zero00 d_in[59]=zero00 d_in[60]=zero00 d_in[61]=zero00 d_in[62]=zero00 d_in[63]=zero00 \ d_out[0]=q[0] d_out[1]=q[1] d_out[2]=q[2] d_out[3]=q[3] d_out[4]=q[4] d_out[5]=q[5] \ d_out[6]=q[6] d_out[7]=q[7] d_out[8]=q[8] d_out[9]=q[9] d_out[10]=q[10] \ d_out[11]=q[11] d_out[12]=q[12] d_out[13]=q[13] d_out[14]=q[14] d_out[15]=q[15] \ d_out[16]=q[16] d_out[17]=q[17] d_out[18]=q[18] d_out[19]=q[19] d_out[20]=q[20] \ d_out[21]=q[21] d_out[22]=q[22] d_out[23]=q[23] d_out[24]=q[24] d_out[25]=q[25] \ d_out[26]=q[26] d_out[27]=q[27] d_out[28]=q[28] d_out[29]=q[29] d_out[30]=q[30] d_out[31]=q[31] \ d_out[32]=unconn d_out[33]=unconn d_out[34]=unconn d_out[35]=unconn d_out[36]=unconn d_out[37]=unconn d_out[38]=unconn d_out[39]=unconn d_out[40]=unconn d_out[41]=unconn d_out[42]=unconn d_out[43]=unconn d_out[44]=unconn d_out[45]=unconn d_out[46]=unconn d_out[47]=unconn d_out[48]=unconn d_out[49]=unconn d_out[50]=unconn d_out[51]=unconn d_out[52]=unconn d_out[53]=unconn d_out[54]=unconn d_out[55]=unconn d_out[56]=unconn d_out[57]=unconn d_out[58]=unconn d_out[59]=unconn d_out[60]=unconn d_out[61]=unconn d_out[62]=unconn d_out[63]=unconn # End DPRAM # Start global variable .names zero00 0 # End global variable .end # Start blackbox definition .model dpram .inputs clk wen ren waddr[0] waddr[1] waddr[2] waddr[3] waddr[4] waddr[5] \ waddr[6] waddr[7] waddr[8] waddr[9] waddr[10] raddr[0] raddr[1] raddr[2] \ raddr[3] raddr[4] raddr[5] raddr[6] raddr[7] raddr[8] raddr[9] raddr[10] \ d_in[0] d_in[1] d_in[2] d_in[3] d_in[4] d_in[5] d_in[6] d_in[7] d_in[8] \ d_in[9] d_in[10] d_in[11] d_in[12] d_in[13] d_in[14] d_in[15] d_in[16] \ d_in[17] d_in[18] d_in[19] d_in[20] d_in[21] d_in[22] d_in[23] d_in[24] \ d_in[25] d_in[26] d_in[27] d_in[28] d_in[29] d_in[30] d_in[31] d_in[32] \ d_in[33] d_in[34] d_in[35] d_in[36] d_in[37] d_in[38] d_in[39] d_in[40] \ d_in[41] d_in[42] d_in[43] d_in[44] d_in[45] d_in[46] d_in[47] d_in[48] \ d_in[49] d_in[50] d_in[51] d_in[52] d_in[53] d_in[54] d_in[55] d_in[56] \ d_in[57] d_in[58] d_in[59] d_in[60] d_in[61] d_in[62] d_in[63] .outputs d_out[0] d_out[1] d_out[2] d_out[3] d_out[4] d_out[5] d_out[6] \ d_out[7] d_out[8] d_out[9] d_out[10] d_out[11] d_out[12] d_out[13] \ d_out[14] d_out[15] d_out[16] d_out[17] d_out[18] d_out[19] d_out[20] \ d_out[21] d_out[22] d_out[23] d_out[24] d_out[25] d_out[26] d_out[27] \ d_out[28] d_out[29] d_out[30] d_out[31] d_out[32] d_out[33] d_out[34] \ d_out[35] d_out[36] d_out[37] d_out[38] d_out[39] d_out[40] d_out[41] \ d_out[42] d_out[43] d_out[44] d_out[45] d_out[46] d_out[47] d_out[48] \ d_out[49] d_out[50] d_out[51] d_out[52] d_out[53] d_out[54] d_out[55] \ d_out[56] d_out[57] d_out[58] d_out[59] d_out[60] d_out[61] d_out[62] \ d_out[63] .blackbox .end .model adder .inputs a b cin .outputs cout sumout .blackbox .end .model shift .inputs D clk .outputs Q .blackbox .end # End blackbox definition