我知道'HIGH它是一个数据属性,它返回上面的数组索引,但是括号中的向量我没有得到它。它与vector'HIGH ??
相同告诉我是否有人需要更多信息
答案 0 :(得分:6)
让我们按部分去做:
vector'high
:如果在数组上使用,则属性“high”返回可用于索引到该数组的最高值。更正式的定义是:它是highest subscript of array A or constrained array type。因此,如果vector
具有范围(7 downto 0),vector'high
等于7 vector( X )
:返回vector
中位置X处元素的值(这是一个简单的数组索引)vector( vector'high )
返回vector
vector(vector'high)='1'
将该元素的值与文字位值“1”进行比较。 举一个具体的例子,如果你有:
constant vector: standard_logic_vector(7 downto 0) = "1000_000X";
然后:
vector(vector'high)
将等于'1'
就个人而言,我认为如果我们有一个预定义的属性(返回具有最高下标的元素的值)会很棒。
最后,为了完整起见,'high
可以与受约束的数组(似乎是您的情况)或类型一起使用。如果在类型标识符上使用,它将提供该类型的最高值。例如:bit'high
- > '1'
,std_logic'high
- > '-'
。
答案 1 :(得分:3)
它只是矢量的正常索引。
vector'high
为您提供一个数字,该数字被定义为向量中的最高位位置。
所以像vector(2)
给出了向量位置2的位,所以vector(vector'high)
返回最高位的值。
答案 2 :(得分:2)
它将vector
中最高下标的元素与'1'
进行比较。为了进行比较,vector(3)
将是恰好具有下标3的向量元素。