VHDL 相当于 Verilog "10' h234"

标签 vhdl verilog

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

最佳答案

答案取决于您使用的 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')

关于VHDL 相当于 Verilog "10' h234",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56322957/

相关文章:

vhdl - 在ncvhdl中获取vhdl设计的内部信号(替代modelsim的signal spy)

vhdl - 如何在不使用加法器的情况下制作数字的 2 补码

compiler-errors - 端口映射中的语法/逻辑错误

verilog - verilog中的u0是什么?

arrays - 移位 2D 数组 Verilog

vhdl - 综合全局实例计数

vhdl - VHDL 中 x"00"的含义

verilog - 为什么在 verilog 中总是阻止内部不允许分配给 wire 数据类型变量?

recursion - Verilog中可以递归实例化吗?

verilog - $sformat 是否有等效的函数?