以下几条是veriog标准确定表达式结果类型的规则:
- 小数是有符号的。
- 带基数指定的数值默认为无符号数,除非在基数指定符中使用了 s 符号(如 "4'sd12"),才被认为有符号数。
- 位选结果是无符号的,与操作数无关。
- 部分选择结果为无符号,与操作数无关,即使部分选择指定了整个矢量。
- 无论操作数是什么,连接操作后的结果都是无符号的。
- 比较结果(1,0)是无符号的,与操作数无关。
- 通过类型强制转换为整数的实数是有符号的。
- 任何自定操作数的符号和大小由操作数本身决定,与表达式的其余部分无关。
- 对于非自定操作数,如果任一操作数是实数,结果也是实数。如果任一操作数是无符号的,则结果是无符号的,与运算符无关。如果所有操作数都是带符号的,则无论运算符是什么,结果都是带符号的,除非另有规定。
点赞加关注博主(ID:FPGA小飞)的博文,咱们一起系统学习verilog最终标准IEEE Std 1364-2005吧!