模m加法器的硬件实现
hardware implementation of Modulo m adder
我有 8 个输入,我必须使用 modulus m.i 知道 2 个输入的算法,但它在这里不起作用。
例如,我有 sum=sum0+sum1+sum2+sum3+sum4+sum5+sum6+sum7 并且我必须采取 mod m of sum.How 来做这个 rom 硬件实现的观点?
我也写代码,但它不工作
m3 是 mod3
always@(posedge clk)
begin
sum3a<=mod30+mod31;
sum3b<=mod32+mod33;
sum3c<=mod34+mod35;
sum3d<=mod36+mod37;
sum3e<=sum3a+sum3b;
sum3f<=sum3c+sum3d;
x31= (sum3e+sum3f);
x32= (sum3e-m3);
if (x32>=0 )
sum3 <= x32;
else
sum3 <= x31;
end
不要在同一个 always
块中混合阻塞和非阻塞赋值。 sum3e
变量依赖于 sum3a
和 sum3b
但同时 sum3a
和 sum3b
值由于非阻塞赋值而改变,这将导致逻辑错误。
我有 8 个输入,我必须使用 modulus m.i 知道 2 个输入的算法,但它在这里不起作用。 例如,我有 sum=sum0+sum1+sum2+sum3+sum4+sum5+sum6+sum7 并且我必须采取 mod m of sum.How 来做这个 rom 硬件实现的观点? 我也写代码,但它不工作 m3 是 mod3
always@(posedge clk)
begin
sum3a<=mod30+mod31;
sum3b<=mod32+mod33;
sum3c<=mod34+mod35;
sum3d<=mod36+mod37;
sum3e<=sum3a+sum3b;
sum3f<=sum3c+sum3d;
x31= (sum3e+sum3f);
x32= (sum3e-m3);
if (x32>=0 )
sum3 <= x32;
else
sum3 <= x31;
end
不要在同一个 always
块中混合阻塞和非阻塞赋值。 sum3e
变量依赖于 sum3a
和 sum3b
但同时 sum3a
和 sum3b
值由于非阻塞赋值而改变,这将导致逻辑错误。