VerilogHDL的基本语法 联系客服

发布时间 : 星期六 文章VerilogHDL的基本语法更新完毕开始阅读282dc7a930126edb6f1aff00bed5b9f3f90f7291

的说明,典型应用是高层次的行为建模,它与后面的time和real类型一样是不可综合的,也就是说这些类型是数学的抽象描述,不与任何物理电路相对应。 eg.integer d[1:8];//定义了一个含有8个数据的整形数组 time型

time类型用于储存和处理时间,是64位无符号数 time 变量1,变量2,…,变量n; real型

real型是64位带符号实型变量,用于储存和处理实型数据

real 变量1,变量2,…,变量n; 运算符

算术运算符

+,-,*,/,%

逻辑运算符

&&,||,!

关系运算符

;,>;=

等值运算符

==逻辑相等,!=逻辑不等(可能为1,0,x),===全等(按位比较),!==非全等

位运算符

~,&,~&,|,~|,^(异或),~^(同或)

缩减运算符

~,&,~&,|,~|,^(异或),~^(同或)

缩减运算符与逻辑运算符的法则是一样的,但缩减运算符是对单一操作数按位进行逻辑递推运算的,运算结

果为1位二进制数。

移位运算符

>;>;,;>;m;//结果为1

条件运算符

条件? 表达式1:表达式2 eg. a=10,b=20; y=a>;b?a:b;

拼接运算符

X={a[7:4],b[3],c[2:0]};

运算符的优先级

赋值语句

连续赋值语句

连续赋值语句用来驱动wire型变量,这个变量必须事先定义过。 eg.

wire a,b,c; assign c=a&b;

过程赋值语句

过程赋值语句是在initial或者always语句块内赋值的,它对reg型、memory型、integer型、time型、real型变量进行赋值,这些变量在下一次过程赋值之前保持原来的值。

阻塞型赋值

在该语句结束时就完成赋值操作 变量=赋值语句;

非阻塞型赋值