VHDL中移位运算符的实现之SLL使用

2019-07-15 22:28发布

本帖最后由 guyubinghu 于 2016-8-14 19:34 编辑

大家好,想请教大家一个问题,大家在用VHDL时使用过SLL这个操作运算没,要是用过的话是怎么使用的呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
guyubinghu
1楼-- · 2019-07-15 23:34
FPGALOVER 发表于 2016-8-14 15:05
SLL是逻辑左移位,还有一个SRL是逻辑右移位.移出后用0补.只能用于位矢量,即bit_vector.如果用于std_logic_vector,先要转换为位矢量,移完后再转化回来.
to_std_logic_vector( to_bit_vector(signal) SLL 2 ) , 将signal逻辑左移2位.

谢谢你的帮助,现在解决了。
测试代码
测试波形
通过SLL实现五比特数的移动,另外常见的还有
SRL  逻辑右移  ---- 实现数据右移,左端补0;
SLA  算术左移  ---- 实现数据左移,同时复制最右端的位,填充在右端空出的位置;
SRA  算术右移  ---- 实现数据右移,同时复制最左端的位,填充在左端空出的位置;
ROL  循环逻辑左移 ---- 实现数据左移,从左端移出的位填充到右端空出的位置上;
ROR  循环逻辑右移 ----实现 数据右移,从右端移出的位填充到左端空出的位置上。
FPGALOVER
2楼-- · 2019-07-15 23:38
 精彩回答 2  元偷偷看……

一周热门 更多>