《Verilog编程艺术》第7章——常数

7.1整数

        1.Verilog采用四值逻辑:0,1,x,z。

        2.整数可以用十进制、十六进制、八进制、二进制形式表示,表现形式为:

<null |+| -><size><sign:s|S><base: d|h|o|b><0~9 | 0~f | 0~7 | 0~1 | x | z>,其中size、sign和base是可选的。

      最简单的整数是没有size、sign和base的十进制数,只用0~9,可选+或-,表示的是符号数。

         3.sign必须和base一起使用。当base前面有sign标志时,表示的是符号数,反之是无符号数

        4.负数是以2的补码形式表示。

        5.x表示不可知值,z表示高阻值。

        6.如果无符号数的位数小于size,那么就在左端扩展:如果最左边的位是0或1,左端就补0扩展;如果最左边的位是x,左端就补x扩展;如果最左边的位是z,左端就补z扩展。

        如果无符号数的位数大于size,那么就在左端截去多余的位。

        7.在Verilog-2001中,对于没有size限定的数,那么就在左端按照表达式的size根据最左边的位进行扩展(0、x或z),扩展多少位都没问题。

        但是在Verilog-1995中,如果最左边位是x或z,那么x或z最多只能扩展到32位,超出的位按0扩展。 

        8.当把带有size的负常数赋给一个reg类型的变量时,不管这个变量是否是signed,对这个负常数做符号扩展。 

7.2实数

       1. 实数有两种方式:十进制法和科学计数法。

        十进制:1.2,0.1,1234.5678

        科学计数:1.2E12,23E10

       2. 当把实数赋给一个整数变量时,按四舍五入转换后赋值。 

7.3字符串

        1.字符串是包含在两个"之间的字符。

        2.字符串在表达式中或在赋值时,被当做一个由8-bitASCII码序列组成的无符号数。

        3.字符串中可以使用如下的特殊字符:\n、\t、\\、\"和\ddd,\ddd用于表示八进制数。

        4.使用reg变量操作字符串时,每8-bit存一个字符。

        5.因为字符串被当做无符号数,所以也用整数的补齐和截去规则,就是如果字符串的位长小于变量的位长,那么字符串做右对齐存放到变量的右侧,变量的左侧补0;如果字符串的位长大于变量的位长,那么字符串做右对齐存放到变量的右侧,多余的位截去。

7.4标识符

        标识符就是模块、端口、任务、函数、变量、线网、参数、实例等的名字。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值