早教吧作业答案频道 -->其他-->
写了个用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描述的无...的网友还看了以下:
线性空间L,关于其闭子空间M的商空间为L/M,设a属于L/M,怎么得出来a是L的闭子集的?真心不会 2020-05-22 …
已知文法G2=(VT={a,',',(,)},VN={S,L),S,P),其中P为, S→(L)|a 2020-05-26 …
已知文法G2=(VT={a,',',(,)},VN{S,L},S,P),其中P为, S→(L)|a 2020-05-26 …
已知弦长弓高,求半径,请给出多种解法和公式,需求简单快速的解答办法A到B是80,高20、求半径.给 2020-07-08 …
二元一次不等式证明怎样用向量的办法证明直线l:Ax+By+C=0将坐标平面内不在l上的点分为两部分 2020-07-29 …
设n是直线l的法向量,A,B为两个定点,A∈l,B不属于l,P为一动点,若点P满足:=|向量PA• 2020-07-30 …
二元一次不等式证明怎样用向量的办法证明直线l:Ax+By+C=0将坐标平面内不在l上的点分为两部分 2020-08-01 …
已知c条直线l5:了x-y+a=0(a>0),直线l了:-6x+了y+5=0和直线l3:x+y-5= 2020-11-01 …
若非零向量n⊥直线l,则称n为l的法向量.(I)已知直线l过点P0(x0,y0),法向量n=(A,B 2020-12-07 …
你帮我回答的化简函数很厉害,你还可以帮我化简几道题吗?用卡诺图法化简1题L=∑m(0,1,3,5,7 2020-12-23 …