从本篇开始,咱们来介绍 Verilog HDL 中可用的运算符(operators)和操作数(operands),以及如何用它们组成表达式(expressions)。
表达式是一种结构,它将操作数与运算符结合起来,产生一个结果,这个结果是操作数和运算符的函数。任何不含运算符的合法操作数(如位选择),也都被视为表达式。在 Verilog HDL 语句中需要数值的地方,都可以使用表达式。
某些语句结构要求表达式是常量表达式。常量表达式的操作数包括常量数字、字符串、参数、常量位选择和参数的部分选择、常量函数调用以及仅常量系统函数调用。
常量系统函数调用是对参数为常量表达式的某些内置系统函数的调用。在常量系统函数调用中使用的系统函数是纯函数,即其值只取决于输入参数。具体来说,常量表达式中允许使用的系统函数包括某些转换系统函数和数学系统函数(后续我们会专门介绍这些函数,这里只简单提一下常量表达式可以使用常量系统函数)。
Verilog的操作数可以是以下之一:
- 常数(包括实数)或字符串
- 参数(包括本地参数和指定参数)
- 参数(非实数)位选或部分选(包括本地参数和指定参数)
- net
- net位选择或部分选择
- reg、integer或time变量
- reg、integer或time变量的位选择或部分选择
- real或realtime变量
- 数组元素
- 数组元素(非实数)的位选择或部分选择
- 函数(返回上述任一值)
Verilog HDL 运算符与我们最早接触的C编程语言中的符号类似。下表1列出了所有运算符,咱们后面博文再分别详细介绍这些运算符~
表1:verilog所有运算符
点赞加关注博主(ID:FPGA小飞)的博文,咱们一起系统学习verilog最终标准IEEE Std 1364-2005吧!