【问题标题】:Signal vector assignment in VHDLVHDL 中的信号向量分配
【发布时间】:2015-11-08 01:30:51
【问题描述】:

我在建筑中有这些信号:

signal sign1: STD_LOGIC_VECTOR (21 downto 0); 
signal sign2: STD_LOGIC;   

然后在某些过程中我有这个任务。这是什么意思? sign2 中的值是多少?向量的第 21 位?

sign2 <= sign1(21);

【问题讨论】:

  • VHDL也有所谓的属性,所以可以sign2 &lt;= sign1(sign1'left),比硬编码的幻数更容易阅读和维护。
  • 信号赋值的右手表达式是一个索引名称,表示数组的元素 (sign1)。数组类型 std_logic_vector 的元素类型的基本类型与 std_logic 的基本类型相同,允许分配给目标sign2。数字文字21 表示一个通用整数 值,该值被转换为整数类型,它是std_logic_vector 索引类型的基本类型,并且是一个指定数组元素的索引。如果索引值不在sign1的索引范围内,则为错误。

标签: vhdl


【解决方案1】:

是的。您将 sign1 的最左边的位分配给 sign2。

【讨论】:

  • 就这样?您甚至不能将右手表达式描述为索引命名?这是什么意思?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多