永发信息网

verilog中的@(posedge clk)问题!大神帮帮忙!

答案:2  悬赏:0  手机版
解决时间 2021-01-28 12:19
  • 提问者网友:我是女神我骄傲
  • 2021-01-27 22:50
第一个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
最佳答案
  • 五星知识达人网友:撞了怀
  • 2021-01-27 23:03
你语法都没有学完,就来瞎写程序

第二中写法是不可综合的语句

仔细看看书吧,不是所有关键词都是可以拿来随便用的,要分清场合
全部回答
  • 1楼网友:煞尾
  • 2021-01-28 00:36
您看的这段应该是在库文件中的吧。猜想这个应该是库文件用来做hold检查的。 其实这个“&&&”已经不是咱么常常学的verilog语言符号范畴了, 常用的只有: && 逻辑与 & 按位与 没有这个&&&
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯