探索定点数

来源:互联网 发布:网络机顶盒安装app 编辑:程序博客网 时间:2024/05/13 11:53

定点数表示

       几乎所有的数字计算机,包括FPGA在内的数字信号处理器件,数字和信号变量都是用二进制来表示的。数字使用符号“0”和“1”来表示,称为比特,其中二进制小数点将数字的整数和小数部分分开。为了与十进制小数点相区别,使用三角符号“△”来表示二进制的小数点位置。

       例如,十进制11.625的二进制表示为“1011△101”。二进制小数点左边的四位“1011”形成整数部分,小数点右边的三位“101”代表数字的小数部分。对于任意一个二进制整数来讲,均可由B个整数位和b个小数位组成。



①无符号数加法器设计

RTL视图:


代码:

module wufuhaoshujiafaqi(in1 , in2 , q ) ;input [7:0] in1, in2 ; output reg [8:0] q;always@(*)       begin  q = in1 + in2 ;            endendmodule


输入输出都是无符号的整数,输入位宽为8bit ,则其最大值为255,所以两个输入口相加的最大值为510,所以输出位宽9bit就可以满足。



②有符号数加法器设计

RTL视图:


代码:

module youfuhaoshujiafaqi (in1 ,in2 , w ) ;input signed [7:0] in1, in2 ;output reg signed [8:0] w;always@(in1 or in2)     begin              w = in1 + in2 ;          end endmodule

输入和输出数据都是2补码形式的有符号数。从逻辑门电路的角度观察,补码加法器和无符号加法器的电路逻辑是不同的,但可以通过使用”signed”关键字来描述加法器的输入数据格式为有符号数,则EDA工具检测到该信息后,会自动生成补码加法器的电路逻辑。


1 0