集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1669|回复: 6

fpga 有符号数、无符号数

[复制链接]
晓灰灰 发表于 2018-10-8 10:25:55 | 显示全部楼层 |阅读模式
        在设计中,所有的算数运算符都是按照无符号数进行的。如果要完成有符号数计算,对于加、减操作通过补码处理即可用无符号加法完成。对于乘法操作,无符号数直接采用“*”运算符,有符号数运算可通过定义输出为 signed 来处理。

        通过“*”运算符完成有符号数的乘法运算。
        module ceshi (out, clk, a, b);
         output   [15:0] out;
         input       clk;
    
            //通过 signed 关键字定义输入端口的数据类型为有符号数
         input  signed [7:0]  a;
         input  signed [7:0]  b;
 
            //通过 signed 关键字定义寄存器的数据类型为有符号数
         reg signed [7:0]  a_reg;
         reg signed [7:0]  b_reg;
         reg signed [15:0] out;
 
         wire  signed [15:0] mult_out; 
            //调用*运算符完成有符号数乘法
         assign mult_out = a_reg * b_reg;
 
         always@(posedge clk)
         begin
&nbsp;         a_reg <= a;
&nbsp;         b_reg <= b;
&nbsp;         out <= mult_out;
&nbsp;        end
&nbsp;
        endmodule
        上述程序在 ISE 中的综合结果如下图所示,从其 RTL 结构图可以看到乘法器标注为“signed” ,为有符号数乘法器。
       

        仿真结果图
       

        二进制显示的结果
       

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 晓灰灰 发表于 2018-10-8 10:29:22 | 显示全部楼层

&#8203; 通过“*”运算符完成有符号数的乘法运算。
module ceshi (out, clk, a, b);
output [15:0] out;
input clk;

//通过 signed 关键字定义输入端口的数据类型为有符号数
input signed [7:0] a;
input signed [7:0] b;

//通过 signed 关键字定义寄存器的数据类型为有符号数
reg signed [7:0] a_reg;
reg signed [7:0] b_reg;
reg signed [15:0] out;

wire signed [15:0] mult_out;
//调用*运算符完成有符号数乘法
assign mult_out = a_reg * b_reg;

always@(posedge clk)
begin
a_reg <= a;
b_reg <= b;
out <= mult_out;
end

endmodule
 楼主| 晓灰灰 发表于 2018-10-8 10:29:41 | 显示全部楼层
上面空格乱码显示了
Sunlife 发表于 2018-10-8 17:28:59 | 显示全部楼层
                              
zhangyukun 发表于 2018-10-9 09:21:32 | 显示全部楼层
fpga 有符号数、无符号数
 楼主| 晓灰灰 发表于 2018-10-15 10:34:33 | 显示全部楼层
fpga 有符号数、无符号数
Sunlife 发表于 2018-10-15 11:44:12 | 显示全部楼层
                  
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-4-27 00:58 , Processed in 0.081084 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表