我应该如何在 VHDL 中将二进制或整数转换为十六进制

How should i do to convert binary or integer to heximal in VHDL

我有二进制值作为输入,我需要将其转换为十六进制输出。我应该怎么做?

我是新来的。请多多指教

如果你的信号是4位的倍数,那么你可以用X表示十六进制。

signal d : std_logic_vector(15 downto 0) := X"1234";

如果您的信号是混合信号,您可以使用连接运算符,例如,将 18 位设置为 0x12345,您可以使用

signal d : std_logic_vector(17 downto 0) := "01" & X"2345";

使用 VHDL-2008 可以使用宽度说明符

signal d : std_logic_vector(17 downto 0) := 18X"12345";

您还可以使用转换函数,例如,将十六进制格式的整数值 16#12345# 转换为 std_logic_vector。