使用 的shift_left
功能ieee.numeric_std
,我想将信号向左移动并插入1
或0
从右侧插入。
signal qo: signed (3 downto 0) := (others=>'0');
qo <= shift_left(qo,1);
Run Code Online (Sandbox Code Playgroud)
那只会0
从右边插入。我想1
在某些条件下插入。
不使用shift_left
函数,如何使用切片和连接:
qo <= qo(2 downto 0) & '1';
Run Code Online (Sandbox Code Playgroud)
或者
qo <= qo(2 downto 0) & '0';
Run Code Online (Sandbox Code Playgroud)
就个人而言,我建议使用切片和串联进行移位和旋转。运算符(sra
等)存在问题,如您所见,使用切片和连接可以让您完全控制。
归档时间: |
|
查看次数: |
4550 次 |
最近记录: |