MyException - 我的异常网
当前位置:我的异常网» 硬件开发 » Verilog中关于if判定成立的有关问题

Verilog中关于if判定成立的有关问题

www.myexceptions.net  网友分享于:2013-04-10  浏览:4次
Verilog中关于if判定成立的问题
在看FPGA的资料,有一个关于Verilog语言的问题突然想不明白~
关于时序的,Verilog中,判断if成立的条件是当前值(感觉是电平式),还是过去值(感觉是时序)?
例如:        if(a==2) out<=out+1'b1;

过去值0         |         未来值0(过去值1)        |             未来值1
a=1        时钟上升沿0          a=2          时钟上升沿1         a=3

那么if判断条件成立的时候是在哪?是在a=2的那段,还是在时钟上升沿1的时候(时钟上升沿1时,a过去值为2,所以条件成立)
语言 Verilog,FPGA 硬件

------解决方案--------------------
你对硬件没啥概念,你可以看看D触发器的工作模式,就知道了。就是时钟脉冲/电平到来的时刻,进行判断
------解决方案--------------------
跟沿与电平是没有关系的
只判断if语句执行时变量/寄存器的值
只是 在HDL中,如果你是用非阻塞赋值的话,变量的值会在你的所有语句结束之后才修改,看起来像是前一时刻的值。

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有