1.数字表示方式
在Verilog中的数字表示方式,最常用的格式是:
<位宽>'<基数><常量>,如4’b1011
位宽:描述常量所含位数的十进制整数。注意,位宽是将进制转化为二进制之后的位数。(如4’d10,表示十进制的10,转换为二进制就是4’b1010,其常量的二进制是4位)
例如4’b1011中的4就是位宽,通俗理解就是4根线。如果没有位宽这一项可以通过常量的值进行推断;例如’b1011可知位宽是4,而’b10010可知位宽为5。
基数:表示常量为什么进制。可以是二进制(b/B)、十进制(d/D)、八进制(o/O)、十六进制(h/H)。如果没有此项,则缺省默认为十进制。例如二进制的4’b1011,可以写成十进制的4’d11,可以写成十六进制的4’hb,可以写成八进制的4’o13,也可以不写基数直接写成11。
常量:由基数决定的一串ASCII码。如果基数为B/b,其常量每一位数值可以为0/1/x/z;如果基数为o/O,其常量每一位数值可以为0-7;如果基数为h/H,其常量每一位数值可以为0-9或a-f;如果基数为d/D,其常量每一位数值可以为0-9。
举例:
4’b12 //错误,二进制每一位只能为0/1/x/z
32’h12 //等同于32’h00000012,即