我是靠谱客的博主 顺心哈密瓜,最近开发中收集的这篇文章主要介绍13,Verilog数据的位宽扩展规则,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

注:学习、交流就在博主的个人weixin公众号 “FPGA动力联盟” 留言或直接+博主weixin “fpga_start” 私信~

通常情况下,我们在实际工程中会遇到数据位宽扩展的问题(比如一个数是4bit,需要扩展为8bit),而且该数据既可能是有符号数,也可能是无符号数,此时我们该如何扩展呢?这就需要用到前面说到的拼接运算符了!

对于无符号数,很容易理解。即扩展位补零即可。这里对于有符号数来说有一个万能公式:即对于一个用n位表示的有符号数据data1,比如:

wire signed [n-1:0] data1;//有符号wire型变量
reg  signed [n-1:0] data1;//有符号reg型变量

我们可以举例验证一下:

我们想要将data1扩展为m位表示的data2(m>n),data2表示成如下:

{ {(m-n){data1[n-1]}}, data1[n-1,0] }

假设data1是有符号的4bit位宽数据+7(4’b0111),需要扩展为8bit位宽data2,代入上述公式后,data2为8’b0000_0111,确实还是+7。

假设data1是有符号的4bit位宽数据-7(4’b1001),需要扩展为8bit位宽data2,代入上述公式后,data2为8’b1111_1001,确实还是-7。

参考文献:

1,verilog传奇——从电路出发的HDL代码设计

2,verilog编程艺术

最后

以上就是顺心哈密瓜为你收集整理的13,Verilog数据的位宽扩展规则的全部内容,希望文章能够帮你解决13,Verilog数据的位宽扩展规则所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部