另外在元素或数组前面加上
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'
。
仅当目标比两个源 x
和 y
中的任何一个长时才需要在前面添加 '0'
,因为 x + y
的长度为x
和 y
中最长的一个。
想不通为什么这两个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'
。
仅当目标比两个源 x
和 y
中的任何一个长时才需要在前面添加 '0'
,因为 x + y
的长度为x
和 y
中最长的一个。