Vector 或具有灵活大小的std_逻辑_向量的所有元素

Vector 或具有灵活大小的std_逻辑_向量的所有元素,vector,vhdl,Vector,Vhdl,我有一个向量,它有一个可配置的大小,比如 signal a_vector : std_logic_vector(size-1 downto 0); 其中大小在配置文件中定义。我现在想做的是,将一个_向量的所有元素或所有元素以如下方式放入一个单独的std _逻辑中 signal result : std_logic; result <= a_vector(0) or a_vector(1) or ... or a_vector(size-1) 我想要 result <= a_vec

我有一个向量,它有一个可配置的大小,比如

signal a_vector : std_logic_vector(size-1 downto 0);
其中大小在配置文件中定义。我现在想做的是,将一个_向量的所有元素或所有元素以如下方式放入一个单独的std _逻辑中

signal result : std_logic;
result <= a_vector(0) or a_vector(1) or ... or a_vector(size-1)
我想要

result <= a_vector(0)(1) or a_vector(1)(1) or ... or a_vector(size-1)(1);

如果您使用的是内置了“还原”和/或函数的VHDL2008或更高版本,那么如果您使用的是内置了“还原”和/或函数的VHDL2008或更高版本,您只需编写结果即可,您可以简单地编写结果。是否也可以为向量数组的向量的特定元素编写结果?请参见编辑?如果您不介意使用非标准代码,并且您仍然使用VHDL 1993,我使用过的所有工具都包括ieee库中的std_logic_misc,它有一个or_reduce函数。你的-2008右手表达式不需要括号。向量数组的特定向量元素也可以参见编辑吗?如果你不介意使用非标准代码,并且坚持使用VHDL 1993,我使用过的所有工具都包括ieee库中的std_logic_misc,它有一个or_reduce函数。您的-2008右手表达式不需要括号。
result <= a_vector(0)(1) or a_vector(1)(1) or ... or a_vector(size-1)(1);
function reductive_or (a_vector : std_logic_vector) return std_logic is
  variable r : std_logic := '0';
begin
  for i in a_vector`range loop
    r := r or a_vector(i);
  end loop;
  return r;
end function;