异步减法器Verilog HDL代码
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/14 04:09:28
异步减法器Verilog HDL代码
使用的是上升沿触发的D触发器,下面的代码不知道哪里错了,高手指教(本人新手,刚学这个)
module Dcfq(Clk,Clr,D,Q,NQ);
input Clk,Clr,D;
output Q,NQ;
reg Q,NQ;
always@(posedge Clk)
begin
if(Clr)
Q=0;
else
Q=D;
NQ=~Q;
end
endmodule
module ybjfjsq(Clk,Clr,Q);
input Clk,Clr;
output [2:0]Q;
wire [2:0]D;
Dcfq m0(.Clk(Clk),.Clr(Clr),.D(D[0]),.Q(Q[0]),.NQ(D[0]));
Dcfq m1(.Clk(Q[0]),.Clr(Clr),.D(D[1]),.Q(Q[1]),.NQ(D[1]));
Dcfq m2(.Clk(Q[1]),.Clr(Clr),.D(D[2]),.Q(Q[2]),.NQ(D[2]));
endmodule
使用的是上升沿触发的D触发器,下面的代码不知道哪里错了,高手指教(本人新手,刚学这个)
module Dcfq(Clk,Clr,D,Q,NQ);
input Clk,Clr,D;
output Q,NQ;
reg Q,NQ;
always@(posedge Clk)
begin
if(Clr)
Q=0;
else
Q=D;
NQ=~Q;
end
endmodule
module ybjfjsq(Clk,Clr,Q);
input Clk,Clr;
output [2:0]Q;
wire [2:0]D;
Dcfq m0(.Clk(Clk),.Clr(Clr),.D(D[0]),.Q(Q[0]),.NQ(D[0]));
Dcfq m1(.Clk(Q[0]),.Clr(Clr),.D(D[1]),.Q(Q[1]),.NQ(D[1]));
Dcfq m2(.Clk(Q[1]),.Clr(Clr),.D(D[2]),.Q(Q[2]),.NQ(D[2]));
endmodule
你这个是个计数器;
异步的模块应该always@(posedge Clk or posedge clr),你那样写是同步的;
内部应该用
异步的模块应该always@(posedge Clk or posedge clr),你那样写是同步的;
内部应该用