gpt4 book ai didi

vhdl - 如何在VHDL中将十六进制的整数写为stdout?

转载 作者:行者123 更新时间:2023-12-04 16:31:04 30 4
gpt4 key购买 nike

我可以通过以下方式将integer打印为十进制格式的stdout:

library std;
use std.textio.all;

entity min is
end min;

architecture behav of min is
begin
process is
variable my_line : line;
begin
write(my_line, 16);
writeline(output, my_line);
wait;
end process;
end behav;

输出:
16

但是如何输出呢?
10
0x10

最佳答案

假设整数i和VHDL-2008,可以使用:

write(output, integer'image(i) & LF);  -- Plain integer value
write(output, "0x" & to_hstring(to_signed(i, 32)) & LF); -- Hexadecimal representation

您需要具有 use std.textio.all;才能起作用。更改 32以减小十六进制值的长度。我选择32,以便它可以代表大多数模拟器中的任何整数值。

这些也适用于 report语句,例如
report "i = 0x" & to_hstring(to_signed(i, 32));

关于vhdl - 如何在VHDL中将十六进制的整数写为stdout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37879954/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com