类型std_logic不是数组类型,无法索引

时间:2019-01-05 12:37:22

标签: vhdl

检查这段代码的语法:给我“类型std_logic不是数组类型,无法索引。”在第12和14行。

为什么?!

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity Tot_and_module is
Port ( s : in  STD_LOGIC_VECTOR(0 to 39);
res : out  STD_LOGIC);
end Tot_and_module;

architecture Behavioral of Tot_and_module is
signal temp: std_logic_vector(0 to 39);
begin
temp(0) <= res(0);
gen: for i in 1 to 39 generate
temp(i) <= temp(i-1) and res(i);
end generate; 
res <= temp(39);
end Behavioral;

1 个答案:

答案 0 :(得分:0)

res是std_logic-一位。 temp和s是std_logic_vectors-std_logic类型的数组

您有:

temp(0) <= res(0);

这不可能,因为res不是数组。修复它:

temp(0) <= res;