早教吧作业答案频道 -->其他-->
写了个用Verilog描述的无符号加法器,用移位加实现,但是加法不能用Verilog的加号,只能用自己的加法器模modulemul4bit(A,B,M);//四位乘以四位,结果M为8位.inputwire[3:0]A,B;outputreg[7:0]M;wireCo;regC;wi
题目详情
写了个用Verilog描述的无符号加法器,用移位加实现,但是加法不能用Verilog的加号,只能用自己的加法器模
module mul_4bit(A,B,M); //四位乘以四位,结果M为8位.
input wire [3:0] A,B;
output reg [7:0] M;
wire Co;
reg C;
wire [3:0] S;
adder_4bit a0(M[7:4],A,1'b0,S,Co); // S是四位的结果,Co是进位标志
always @(*) begin
M = {4'b0000,B};
repeat (4)
if(M[0]) begin
C = Co;
M[7:4] = S;
M = M >> 1;
M[7] = C;
end
else M = M >> 1;
end
endmodule
可以保证加法器没错,但是结果是错的...如果把加法器换成加好,也就是
repeat (4)
if(M[0]) begin
{C,M[7:4]} = M[7:4]+A;
M = M >> 1;
M[7] = C;
end
结果就是对的..
感觉我的写法时序有点混乱,请问问题出在哪,应该怎么写?
module mul_4bit(A,B,M); //四位乘以四位,结果M为8位.
input wire [3:0] A,B;
output reg [7:0] M;
wire Co;
reg C;
wire [3:0] S;
adder_4bit a0(M[7:4],A,1'b0,S,Co); // S是四位的结果,Co是进位标志
always @(*) begin
M = {4'b0000,B};
repeat (4)
if(M[0]) begin
C = Co;
M[7:4] = S;
M = M >> 1;
M[7] = C;
end
else M = M >> 1;
end
endmodule
可以保证加法器没错,但是结果是错的...如果把加法器换成加好,也就是
repeat (4)
if(M[0]) begin
{C,M[7:4]} = M[7:4]+A;
M = M >> 1;
M[7] = C;
end
结果就是对的..
感觉我的写法时序有点混乱,请问问题出在哪,应该怎么写?
▼优质解答
答案和解析
这个加法器不是时序加法器,最好加一个时钟信号方便全局时钟统一,很有可能是这一个原因.还有always@(*)括号里面为啥是*
还有一个问题,这个repeat是综合出4个加法器,但是你那个却只是调用了一个加法器.verilog不是C语言,一个always模块内部只要是平行条件的,是并行执行的.千万不要忘了这一点.
还有一个问题,这个repeat是综合出4个加法器,但是你那个却只是调用了一个加法器.verilog不是C语言,一个always模块内部只要是平行条件的,是并行执行的.千万不要忘了这一点.
看了写了个用Verilog描述的无...的网友还看了以下:
在密闭容器中进行可逆反应,A跟B反应生成C,反应速率v(A)、v(B)、v(C)之间存在以下关系: 2020-05-13 …
设a1,a2.an是n维欧式空间v的一个基,求证a,b属于V,若有(a,a1)=(b,a1),i= 2020-06-26 …
对于字符串s="java",下面哪个选项可以返回字符'v'在字符串中的位置?A.s.charAt( 2020-07-17 …
1、“TownHallisthetallestbuildinginthecity.”“fromhe 2020-07-27 …
下列说法不正确的是请一一解析,A解析式v=3分之4πr³中,3分之4是常数,r是自变量,v是πr的函 2020-11-03 …
一、给加点字选择正确的读音,画“V”。1.我第一次抱母亲时,用力过猛,差(chāchà)点仰(áng 2020-11-07 …
复数v怎么开立方?我知道一部分:设v=s+ti,u=a+bi,u^3=vu^3=(a+bi)^3=( 2020-11-17 …
写了个用Verilog描述的无符号加法器,用移位加实现,但是加法不能用Verilog的加号,只能用自 2020-12-05 …
下列说法正确的是()A.瞬时速率是指瞬时速度的大小B.子弹以速度v从枪口射出,v是平均速度C.平均速 2020-12-31 …
一、给加点字选择正确的读音,画“V”。1.我第一次抱母亲时,用力过猛,差(chāchà)点仰(áng 2021-01-20 …