另外在元素或数组前面加上

Prepending by element or array in addition

想不通为什么这两个VHDL写法是同一个意思:

("0" & x) + y 

('0' & x) + ('0' & y) 假设我们已经在实体

中声明
x,y : in unsigned(3 downto 0);

"0" & x'0' & x有什么区别? 另外,我们为什么要使用逻辑函数和进位在 VHDL 中创建如此困难的加法器,因为只需编写 x + y(包括一个额外的进位位)就足够了?

2个案例:

  • "0" & x:将具有单个元素 '0' 的数组添加到 x
  • 之前
  • '0' & x:将单个元素 '0' 添加到 x
  • 之前

这两种情况下的结果都是 'x' 加上单个元素 '0'

仅当目标比两个源 xy 中的任何一个长时才需要在前面添加 '0',因为 x + y 的长度为xy 中最长的一个。