首页 > 其他分享 >无符号二进制加法

无符号二进制加法

时间:2023-03-04 17:22:48浏览次数:46  
标签:符号 二进制 localparam WIDTH 加数 加法

无符号二进制加法,需要保证两个相加的加数均为无符号数,如果有一个位有符号数,则均为有符号运算,结果为有符号数,即对于减法来讲,不存在无符号减法。
    无符号A+无符号B = 无符号C
    无符号A+有符号B = 有符号C
    有符号A+有符号B = 有符号C
    有符号A+有符号B = 有符号C

    二进制加法,动态范围会增加,精度保持不变,因此加法的结果需要扩一位,用于存放进位。
    1011.1000            =》 8位
+  0101.1101            =》 8位
------------------
   10001.0101            =》 9位

    无符号加法Verilog 编码实现
   
    localparam A_WIDTH = 16;
    localparam B_WIDTH = 8;
   // Sumation result width should be 1 bit more than biggest widht of adder factor
    localparam C_WIDTH = if (A_WIDTH > B_WIDTH) ? A_WIDTH + 1'b1 : B_WIDTH + 1'b1;

    reg [A_WIDTH-1  : 0]      a;
    reg [B_WIDTH-1  : 0]      b;
   
    reg [C_WIDTH-1  : 0]      c;

    always @(*) begin
          c = {1'b0,a} + {1'b0,{A_WIDTH-B_WIDTH{1'b0}},b};
    end

     无符号加法编码要点:
     1. 和c需要定位位宽比加数最大位宽大1位;
     2. 加数a和b需要扩展位宽,扩展到与c位宽相等,且扩展位补0,否则有很多语法检查工具会报位宽不匹配错误,同时不同工具理解不一致,如果自动补1或者补最高位,就功能出问题了;

标签:符号,二进制,localparam,WIDTH,加数,加法
From: https://www.cnblogs.com/chunk998/p/17178644.html

相关文章

  • 算法基础1.3.1高精度加法
    前言该文章探讨的高精度代指C++中极大整数的计算,不是浮点数(y总说那个少见,不讲)。这个问题只在C++中存在,Java有大整数类来解决,python本身特性就已经解决了。高精度整数分......
  • Mysql 中二进制日志的初步认知
    二进制日志二进制日志中以“事件”的形式记录了数据库中数据的变化情况,对于MySQL数据库的灾难恢复起着重要的作用。开启二进制日志可以在​​my.cnf​​​文件或者​​my......
  • idea2020版本找不到符号,找不到程序包问题
    本人把网上除了重装idea的方法试了个遍,最后才重装的,根据群体反应2020版本的这个问题是通病,2020版本会出现这种莫名的错误,建议官网下载2019,2021,2022版本的idea(2022版本需......
  • LNK2001 无法解析的外部符号 "int const ROUND"
    今天在写代码时出现了这个错误,网上的解决方法都不合适我的代码是这样,在一个cpp里申明了一个常量//data.cppconstintROUND=3;然后在一个头文件里申明为全局变量......
  • HTML 符号实体
    HTML符号实体本字符实体参考手册包括了数学符号、希腊字符、各种箭头记号、科技符号以及形状。注释: 实体名称对大小写敏感。HTML支持的数学符号字符实体编号实体......
  • mysql: 看不见的空符号 char(9) char(10) char(13)
    trim,消除前后的空格,没有效时果updatetable_namesetcolumn_name=replace(replace(replace(column_name,char(9),''),char(10),''),char(13),'');说明:table_name:表......
  • 每日一练(剑指offer)二进制中1的个数
    描述输入一个整数n,输出该数32位二进制表示中1的个数。其中负数用补码表示。示例输入:10返回值:2说明:十进制中10的32位二进制表示为00000000000000000000000000001010......
  • pat 乙级1024 科学计数法关于stl中size()的一些思考即测试点六,无符号整数问题
    来,先看题目:1024科学计数法分数20作者HOU,Qiming单位浙江大学科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9].[0-9]+......
  • LEETCODE 面试题 05.02. 二进制数转字符串
    每次将实数乘2,取出最高位的部分存到res里,实数乘2的结果再减去最高位进入下一次循环0.625-》1.25取出1加入res,1.25-》0.25》0.5,取出0加入res0.5-》1 取出1加入res,最终输入......
  • js中图片二进制和base64的互转
    <html><head><metacharset="UTF-8"><title></title></head><body><p>正常图片</p><p></p><imgsrc="132......