verilog中的@(posedge clk)问题!大神帮帮忙!
第一个always与第二个always块语句有何不同,@(posedgeClk);不是等待一个上升沿就执行吗?为何第二种输出直接就是高,初始值也不是0,连等一个上升沿也没...
第一个always与第二个always块语句有何不同,@(posedge Clk);不是等待一个上升沿就执行吗?为何第二种输出直接就是高,初始值也不是0,连等一个上升沿也没有,跟不存在@(posedge Clk)似的。还有,如果修改第二种使其实现与第一种相同的效果(时钟的二分频),实在不行,告诉我 @(posedge Clk)在不与always搭配下的运用实例也行,如像第二种单独使用,或跟repeat、while、for、if等语句使用都行。谢谢!
module OneTraffic(Grn,Yel,Red,Clk);
output Grn,Yel,Red;
input Clk;
reg Grn,Yel,Red;
always @(posedge Clk)
begin
Grn=~Grn;
Red=~Red;
end
always
begin
@(posedge Clk);
Yel=~Yel;
end
endmodule 展开
module OneTraffic(Grn,Yel,Red,Clk);
output Grn,Yel,Red;
input Clk;
reg Grn,Yel,Red;
always @(posedge Clk)
begin
Grn=~Grn;
Red=~Red;
end
always
begin
@(posedge Clk);
Yel=~Yel;
end
endmodule 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询