CrazyBingo

SystemVerilog 2005 语法

0
阅读(3468)

按位与  :  &

逻辑与  :  &&

(1)if( (hcnt>=656)&& (hcnt<752) ) 与 if( 656<=hcnt<752 )

   Verilog中不能同时判断连个条件 ,在实际测试中,发现用后一种就会出问题,因为不能同时判断2个,否则 默认为条件成立

  必须用逻辑与,2个判断合起来,就OK 了,

  跟C语言不一样啊

 

(2)if( (hcnt>=656)&& (hcnt<752) ) 与 if( (hcnt>=656)& (hcnt<752) )

  结果没有区别,1&&1=1;1&1=1;所以都成立

  但是要搞清楚逻辑与 与 按位与的关系

  一般在多个条件判断的时候用逻辑与,因为那是逻辑

 

但是:

  ((AA>5) && (CC<8) && (BB>4))
  ((AA>5) & (CC<8) & (BB>4))

  这两个表达式的
  RTL,和 Technology Map Viewer的结果是一样的

 

parameter 稳定define

(3)可以直接写一个后缀为.h的文件,里面写parameter 所有定义,然后再需要用到的地方 `include "LCD_Define.h" 就可以了

  灰常方便,但是必须是SytemVerilog 2005 的语法