verilog逻辑移位与算术移位的区别(有仿真) 本文首发于【木叶芯】,版权所有,禁止转载。 如需转载,请在评论区留言或私信申请,经同意后可转载,否则属于侵权行为。 作者昵称:城外南风起 原文链接:verilog逻辑移位与算术移位的区别(有仿真) verilog中,逻辑移位与算术移位的右移符号分别为“>>”和“>>>”,左移同理。 两者的区别在于:逻辑移位不考虑符号位,左移和右移都只补零;算术移位考虑符号位,左移补零,右移补符号位。 在vivado中进行行为级仿真,原始数据位32’hFF00ABC4,dout1为先逻辑左移再逻辑右移,dout2和dout3为先逻辑左移再算数右移。dout2和dout3的区别在于,verilog默认是无符号的,需要通过$signed声明有符号数。如果不声明,则会默认为无符号数,从而不区分算术左移与逻辑左移。 testbench仿真代码: 仿真结果:
可以看到,dout1 = 0fc02af1,dout2 = 0fc02af1,dout3 = ffc02af1。结果正确。 如果您觉得有收获,不要忘记 点赞 / 喜欢 / 收藏 哦~ 我是城外南风起,欢迎我的【木叶芯】。 以下链接可以快速搜索内的文章:号内搜 木叶飞舞之处,火亦生生不息。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/87515.html