我有以下代码(简化):
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
use ieee.std_logic_arith.all;
entity foo is
end entity;
architecture fum of foo is
signal slv16 : STD_LOGIC_VECTOR(15 DOWNTO 0);
signal slv5 : STD_LOGIC_VECTOR(7 DOWNTO 0);
begin
slv16 <= std_logic_vector(resize(unsigned(slv5), slv16'length));
end architecture;
我收到一条错误消息“&#39;调整大小&#39;无法与子程序匹配。为什么呢?
答案 0 :(得分:0)
我想我发现了问题。我使用了这两个图书馆:
USE ieee.numeric_std.all;
USE ieee.std_logic_arith.all;
虽然两者对无符号具有相同的实现,如下所示:
type UNSIGNED is array (NATURAL range <>) of STD_LOGIC;
删除概要库后,错误消息消失。虽然我在这里理解了这个问题,但上面的错误信息让我看错了方向。
谢谢!