VHDL相当于Verilog“ 10'h234”

Jav*_*viC 1 verilog vhdl

我只需要知道如何将常量值从Verilog转换为VHDL。我想知道是否仍然可以指示范围,以及它是否为十六进制,八进制,二进制等,就像在Verilog中一样:14'h1->我不想键入类似X“ 00000000000001”的内容,谢谢!

mfr*_*fro 7

答案取决于您使用的VHDL标准。

在VHDL 2008之前,仅当二进制位数为4的倍数(十六进制半字节的长度)时才能直接表示十六进制常数。

x"0001" 是一个16位常量。

使用VHDL 2008,可以指定常量的位长:

x"0001"仍然是16位常量,而14x"0001"您想要的是:14位常量。

如果您使用的是较早的标准,则必须像下面这样解决此限制:

std_logic_vector(resize("1", 14)) 要么 (0 => '1', others => '0')