|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 sdwsh 于 2011-11-24 23:30 编辑
module mult_8b_for(
a, b, q
);
parameter bsize = 8;
input [bsize-1 : 0] a, b;
output [2*bsize-1 : 0] q;
reg [2*bsize-1 : 0] q, a_t;
reg [bsize-1 : 0] b_t;
reg [bsize-1 : 0] cnt;
always @(a or b) begin
q = 0;
a_t = {{bsize{0}},a};
b_t = b;
cnt = bsize;
for(cnt = bsize; cnt>0; cnt = cnt-1)begin
if (b_t[0]) begin
q = q + a_t;
end
else begin
q = q;
end
a_t = a_t << 1;
b_t = b_t >> 1;
end
end
endmodule
仿真截图
|
|