数字のみ、bit 幅指定なしで進数表記ありの場合どちらも 32bit(以上)の bit 幅になります。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5 // 32-bit | |
'd5 // 32-bit | |
'h5 // 32-bit | |
'b101 // 32-bit |
The number of bits that make up an unsized number (which is a simple decimal number or a number without
the size specification) shall be at least 32.
32bit より大きい式で使うと bit 幅が拡張されます。ただ Verilog 1995 では、MSB の x, z は 32bit までしか拡張されないらしい。
SystemVerilog: An unsized single-bit value
SystemVerilog からは 式の bit 幅に合わせて自動拡張するリテラル表記が追加されています。bit 幅と進数表記指定なしで「’」のみ付けて表記します。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
logic [63:0] a; | |
a = '0; // | |
a = '1; // a = 64'hFFFF_FFFF_FFFF_FFFF | |
a = 'x; // 'X も OK | |
a = 'z; // 'Z も OK |
‘0、’1 単独では 1bit 幅のようです。
See Also
- IEEE Std 1364™-2005: 3.5.1 Integer constants
- IEEE Std 1800™-2012: 5.7.1 Integer literal constants