Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module PE(clk,in_a,in_b,reset,out_a,out_b,out_c);
- input clk,reset;
- input [9:0] in_a,in_b;
- output reg [9:0] out_a,out_b;
- output reg [19:0] out_c;
- always @(posedge clk)begin
- if(reset==1'b1) begin
- out_a=1'b0;
- out_b=1'b0;
- out_c=1'b0;
- end
- else begin
- out_c=out_c+in_a*in_b;
- out_a=in_a;
- out_b=in_b;
- end
- end
- endmodule
- module SA(clk,reset,a1,a2,a3,a4,b1,b2,b3,b4,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16);
- parameter size=10;
- input clk,reset;
- input [size-1:0] a1,a2,a3,a4,b1,b2,b3,b4;
- output [2*size-1:0] c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16;
- wire [size-1:0] out_a1,out_a2,out_a3,out_a4,out_a5,out_a6,out_a7,out_a8,out_a9,out_a10,out_a11,out_a12;
- wire [size-1:0] out_b1,out_b2,out_b3,out_b4,out_b5,out_b6,out_b7,out_b8,out_b9,out_b10,out_b11,out_b12,XXXXX;
- PE PE1(clk,a1,b1,reset,out_a1,out_b1,c1);
- PE PE2(clk,out_a1,b2,reset,out_a2,out_b2,c2);
- PE PE3(clk,out_a2,b3,reset,out_a3,out_b3,c3);
- PE PE4(clk,out_a3,b4,reset,XXXXX,out_b4,c4);
- PE PE5(clk,a2,out_b1,reset,out_a4,out_b5,c5);
- PE PE6(clk,out_a4,out_b2,reset,out_a5,out_b6,c6);
- PE PE7(clk,out_a5,out_b3,reset,out_a6,out_b7,c7);
- PE PE8(clk,out_a6,out_b4,reset,XXXXX,out_b8,c8);
- PE PE9(clk,a3,out_b5,reset,out_a7,out_b9,c9);
- PE PE10(clk,out_a7,out_b6,reset,out_a8,out_b10,c10);
- PE PE11(clk,out_a8,out_b7,reset,out_a9,out_b11,c11);
- PE PE12(clk,out_a9,out_b8,reset,XXXXX,out_b12,c12);
- PE PE13(clk,a4,out_b9,reset,out_a10,XXXXX,c13);
- PE PE14(clk,out_a10,out_b10,reset,out_a11,XXXXX,c14);
- PE PE15(clk,out_a11,out_b11,reset,out_a12,XXXXX,c15);
- PE PE16(clk,out_a12,out_b12,reset,XXXXX,XXXXX,c16);
- endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement