FPGA入门教程 FPGA架构教程 Verilog教程Verilog-2001 SystemC教程
返回首页
当前位置: FPGA主页 > FPGA教程 > Verilog-2001 >

10.Verilog-2001有符号运算

时间:2009-12-18 14:52来源:未知 作者:zjl 点击:
在Verilog-1995中,integer数据类型为有符号类型,而reg和wire类型为无符号类型。而且integer大小固定,即为32位数据。在Verilog-2001中对符号运算进行了如下扩展。 Reg和wire变量可以定义为有符

      在Verilog-1995中,integer数据类型为有符号类型,而reg和wire类型为无符号类型。而且integer大小固定,即为32位数据。在Verilog-2001中对符号运算进行了如下扩展。
    
     Reg和wire变量可以定义为有符号类型:
    
     reg signed [63:0] data;
     wire signed [7:0] vector;
     input signed [31:0] a;
     function signed [128:0] alu;
    
     函数返回类型可以定义为有符号类型。
    
     带有基数的整数也可以定义为有符号数,在基数符号前加入s符号。
    
     16'hC501 //an unsigned 16-bit hex value
     16'shC501 //a signed 16-bit hex value
     操作数可以在无符号和有符号之间转变。通过系统函数$signed和$unsigned实现。
    
     reg [63:0] a; //unsigned data type
     always @(a) begin
     result1 = a / 2; //unsigned arithmetic
     result2 = $signed(a) / 2;//signed arithmetic
     end

(责任编辑:admin)
顶一下
(2)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名:密码: 验证码:点击我更换图片
推荐内容