如何使用vhdl查找具有最高值的数组索引?

如何使用vhdl查找具有最高值的数组索引?,vhdl,Vhdl,我想找到具有最高值的数组索引。因此,是否可以简单地使用vhdl属性?如果是,怎么做 TYPE x_Array IS ARRAY (0 TO 3) OF STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL y : x_Array; 示例: x_Array(0) = "000" x_Array(1) = "011" x_Array(2) = "111" x_Array(3) = "101" index <= x_Array'high; -- is

我想找到具有最高值的数组索引。因此,是否可以简单地使用vhdl属性?如果是,怎么做

TYPE x_Array IS ARRAY (0 TO 3) OF STD_LOGIC_VECTOR(2 DOWNTO 0);      
SIGNAL y : x_Array;
示例:

x_Array(0) = "000"
x_Array(1) = "011"
x_Array(2) = "111"
x_Array(3) = "101"


index <= x_Array'high;    -- is this correct or..?
x_数组(0)=“000”
x_阵列(1)=“011”
x_阵列(2)=“111”
x_阵列(3)=“101”

索引如前所述,你的问题毫无意义:std_逻辑_向量需要一种解释,甚至可以被视为一个数字

我们假设你知道这一点,并且写了

library ieee;
use ieee.numeric_std.all;
use ieee.std_logic_1164.all;
type x_array is array(integer range <>) of unsigned(2 downto 0);      
signal y : x_array(0 to 3);

并根据需要应用。

如前所述,您的问题没有意义:标准逻辑向量需要解释,甚至可以被视为数字

我们假设你知道这一点,并且写了

library ieee;
use ieee.numeric_std.all;
use ieee.std_logic_1164.all;
type x_array is array(integer range <>) of unsigned(2 downto 0);      
signal y : x_array(0 to 3);

并根据需要申请。

对不起,我不明白。你想知道最高的索引吗?在这种情况下,答案是肯定的:使用
'HIGH
。或者您想知道具有最高值的元素的索引吗?在这种情况下,答案是:不。定义的数组没有具有最高值的元素。@MatthewTaylor我编辑了我的问题。我想知道值最高的元素的索引。重复?编辑后:定义的数组仍然没有具有最高值的元素。抱歉-我不明白。你想知道最高的索引吗?在这种情况下,答案是肯定的:使用
'HIGH
。或者您想知道具有最高值的元素的索引吗?在这种情况下,答案是:不。定义的数组没有具有最高值的元素。@MatthewTaylor我编辑了我的问题。我想知道值最高的元素的索引。重复?编辑后:定义的数组仍然没有具有最高值的元素。