刚开始学verilog,请问#号在verilog中都能表达什么意思?
我知道放在左边的时候好像是表达延时的,还有别的情况的时候表达别的意思的么?比如放在右边<=#,求大侠解答,最好有例子有讲解比如在blocking里比如#15reg_a[2...
我知道放在左边的时候好像是表达延时的,还有别的情况的时候表达别的意思的么?比如放在右边<=#,求大侠解答,最好有例子有讲解
比如在blocking里 比如#15 reg_a[2]=1'b1; 和 reg_a[2]<=#15 1'b1;有什么区别,请具体讲解一下 展开
比如在blocking里 比如#15 reg_a[2]=1'b1; 和 reg_a[2]<=#15 1'b1;有什么区别,请具体讲解一下 展开
3个回答
展开全部
井号就是延迟的意思,无论在哪里,但是不能被综合,只对仿真的时候可以产生延时效果
更多追问追答
追问
不能被综合是什么意思?比如在blocking里 比如#15 reg_a[2]=1'b1; 和 reg_a[2]<=#15 1'b1;有什么区别,请具体讲解一下
追答
不能被综合就是不能产生实际的电路结构,只是仿真的时候能用到看个波形延迟什么的。
#15 reg_a[2]=1'b1;
reg_a[2]<=#15 1'b1;
这两条语句你仔细看是有差别的,你看第一个是=号,第二个是<=号,第一个叫阻塞赋值,等号右边的值计算完马上赋给左边,第二个叫非阻塞赋值,等号右边的数先进行运算,但是不赋值,等要程序代码块都结束了再赋值,这个你要看书了。至于#15的位置,完全就是两个语句的事,你就这么写就行,仿真延迟没有差别。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询