gpt4 book ai didi

vhdl - 如何在报告语句中将字符串与整数连接起来?

转载 作者:行者123 更新时间:2023-12-01 00:53:38 25 4
gpt4 key购买 nike

我无法使以下报告语句起作用:

report "ERROR: instruction address '" & CONV_INTEGER(a(7 downto 2)) & "' out of memory range." severity failure;

哪里 a类型为 in std_logic_vector(31 downto 0) .

我得到的错误是:
No feasible entries for infix operator "&".

我想打印出一个字符串,连接整数值,然后连接另一个字符串。

我究竟做错了什么?

最佳答案

使用“图像”的示例:

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity foo is
end entity;

architecture fum of foo is
signal a: std_logic_vector (31 downto 0) := x"deadbeef";
begin
process (a)
begin
report "ERROR: instruction address '" &
-- CONV_INTEGER(a(7 downto 2)) &
INTEGER'IMAGE(to_integer(unsigned (a(7 downto 2)))) &
"' out of memory range." ;-- severity failure;
end process;
end architecture;

我使用了包 numeric_std。原理相同,转换例程的名称不同。

'IMAGE 是一个预定义的属性,它返回一个类型值的字符串表示(在本例中是一个 INTEGER)。

您的失败消息是因为没有可用的“&”连接运算符知道如何将整数连接到字符串上,因此您提供整数的字符串图像。

运行时:

ghdl -r foo
foo.vhdl:13:9:@0ms:(report note): ERROR: instruction address '59' out of memory range.



从位串初始化开始,第 7 位到第 2 位是“111011”,当表示为整数时恰好等于 59。

关于vhdl - 如何在报告语句中将字符串与整数连接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29682965/

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