乘法器(流水线结构) Verilog HDL
RTL代码:
module mul(
clk,
rstn,
a,
b,
result
);
input clk;
input rstn;
input [15:0] a;
input [15:0] b;
output reg [31:0] result;
reg [15:0]a0,a1,a2,a3,a4,a5,a7,a6,a8,a9,a10,a11,
a12,a13,a14,a15;
reg [31:0] add01 ,
add23 ,
add45 ,
add67 ,
add89 ,
add1011,
add1213,
add1415;
reg [31:0] ad01 ,
ad23 ,
ad45 ,
ad67 ;
reg [31:0] a01 ,
a23 ;
always@(posedge clk)
if(!rstn)
begin
a0 <=16'd0;
a1 <=16'd0;
a2 <=16'd0;
a3 <=16'd0;
a4 <=16'd0;
a5 <=16'd0;
a6 <=16'd0;
a7 <=16'd0;
a8 <=16'd0;
a9