微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > FPGA如何实现位左移位右移?

FPGA如何实现位左移位右移?

时间:10-02 整理:3721RD 点击:
现在准备采集AD值,18位的AD,如何将采到的值放入最低位,然后左移,再放入下一位?还有一个问题,这个语句能实现刚才所说的功能吗?a <= {a[16:0], ad};求大神求教!

a <= {a[16:0], ad}可以啊,这是比较好的写法,这个是左移,a <= {ad,a[17:1]}这个是右移!

此问答贴被选为3月21日的每日一答贴,活动详情见:http://bbs.elecfans.com/jishu_1111064_1_1.html  希望大家可以踊跃帮助坛友解决问题,谢谢。

哦哦!明白了,那这句话assign LED = ~{ key, key } ;为什么代表的是assign LED=~{key[3],key[2],key[1],key[0],key[3],key[2],key[1],key[0],};而不是将最低位放入新的KEY值呢?

还有为什么是a <= {ad,a[17:1]}而不是a <= {ad,a[16:0]}?

a <= {ad,a[17:1]}应该指的是ad放在最高位,然后右移,这样最低位就给覆盖了   当然就是a[17:1]
a <= {ad,a[16:0]}只是把ad放在最高位,没有进行移位操作

希望小编可以选择满意的答案作为最佳答案哦~

已经选好啦

看完以后就懂了。谢谢大家的讨论

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top