前话

这个加法器写的是一波三折啊,昨天晚上花了两三个小时好不容易写完编译通过了,之后modelsim莫名其妙弹出一个对话框,我没看清就那么不小心一点,结果代码没了,惨痛啊。害的我今天早上又花了一上午的时间重写,结果又遇到了搞不清楚的编译问题。不过在重写的过程中,我还是发现昨天写的一些地方有问题,通过这次重写,我把verilog的语句并行理解的更加深刻了。下面总结一下原理和具体的实现。

原理

进位的传递
     ci+1 = ai*bi+ai*ci+bi*ci
          = ai*bi+(ai+bi)*ci
          = gi+pi*ci
gi=ai*bi称为进位生成因子, 只要gi为1, 就有进位
pi=ai+bi称为进位传递因子, 只要pi为1, 就有把低位的进位向前传递
四位进位传递为例
  c1 = g0+(p0*c0)
  c2 = g1+(p1*g0)+(p1*p0*c0)
  c3 = g2+(p2*g1)+(p2*p1*g0)+(p2*p1*p0*c0)
  c4 = g3+(p3*g2)+(p3*p2*g1)+(p3*p2*p1*g0)+(p3*p2*p1*p0*c0)
只要低位有一个进位生成, 而且被传递, 则进位输出为1.

对于16位先行加法器,采用4个4位先行进位加法器组成,块内并行,由于高位的块需要用到低位块的进位,快间仍然并行计算进位。方法是产生每块的进位传递因子和进位产生因子。

块间进位传递因子: 每一位的传递因子都为1时才能传递
      P0 = p0*p1*p2*p3
    块间进位产生因子: 块内产生进位, 不考虑进位输入
      G0 = g3+(p3*g2)+(p3*p2*g1)+(p3*p2*p1*g0)

块间进位的计算方法同上(只需要将p,g换成P,G就可以了)。

16位加法器相当与16个半加器同时工作,而每个半加器输入的进位cin都有传递因子和生产因子通过最低进位c0得到,而这16歌进位也是同时得到的。这大大提高了加法器的速度,设一个与非门的延迟为T,先行进位加法器总的延迟11T=2T(产生组内p g)+2T(产生组间P G)+2T(产生组内进位)+2T(产生组间进位)+3T(计算全加)。注意依赖关系,组内p g依赖于操作数a b,组内进位依赖于p g,组间的PG依赖于组内的p g,组间的进位依赖于P G,而全加依赖于组内和组间的进位。

16位先行进位加法器--原理篇相关推荐

  1. 计算机组成原理快速加法器与32位ALU设计实验报告(8位可控加减法电路设计、CLA182四位先行进位电路设计、4位快速加法器设计、16位快速加法器设计、32位快速加法器设计)

    实验二 快速加法器与32位ALU设计实验 本次实验,进行了五个实验,分别是8位可控加减法电路设计.CLA182四位先行进位电路设计.4位快速加法器设计.16位快速加法器设计.32位快速加法器设计.这次 ...

  2. 计算机原理74181芯片,利用SN74181芯片构成16位ALU及原理.ppt

    利用SN74181芯片构成16位ALU及原理 (2)利用SN74181芯片构成16位ALU的原理 l)组间串行进位的16位ALU的构成 2)组间并行进位的16位ALU的构成 SN74182芯片:是一个 ...

  3. hnu 数字电路 实验2.4 4位先行进位加法器

    4.用VHDL语言设计一个4位先行进位加法器 ① 理解要求,需要完成一个先行进位加法器,可采取化简后的公式,直接用逻辑门构造一个4位先行进位加法器. ② 公式和原理图: ③ 打开QuartusII,新 ...

  4. 第4关:16位快速加法器设计

    实验目的 帮助学生理解成组进位产生函数,成组进位传递函数的概念,熟悉 Logisim 平台子电路的概念,能利用前述实验封装好的4位先行进位子电路以及4位快速加法器子电路构建16位.32位.64位快速加 ...

  5. 4位先行进位加法器_行波进位/超前进位加法器详解

    行波进位加法器是串行执行的,其高位的运算要依赖低位的进位,所以当输入数据的位数较多时,会形成很大的延迟并可能成为芯片的关键路径. 采用超前进位加法器(也叫先行进位加法器)可以有效减小这种延迟.下面介绍 ...

  6. msp430系列16位超低功耗单片机原理与应用_第四章课后练习

    1.三个时钟源:LFXT1CLK.XT2CLK.DCOCLK 2.可提供四种时钟信号:ACLK(辅助时钟,用于低速外设).ACLK/n(经过分频的由P1.5脚输出,仅供外部电路使用).MCLK(主要用 ...

  7. 4位先行进位加法器的vhdl程序_VHDL精密,Verilog简洁,但要写好都要遵守这25条通则...

    欢迎FPGA工程师加入官方微信技术群 点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群 当前最流行的硬件设计语言有两种,即 VHDL 与 Verilog HDL,两者各有优劣,也各有相 ...

  8. 4位先行进位加法器的vhdl程序_CPU是如何执行程序的?

    前言 代码写了那么多,你知道 a = 1 + 2 这条代码是怎么被 CPU 执行的吗? 软件用了那么多,你知道软件的 32 位和 64 位之间的区别吗?再来 32 位的操作系统可以运行在 64 位的电 ...

  9. vivado设计4bit先行进位加法器 并使用 4bit CLA 组合设计一个 16bit 加法器

    vivado设计4bit先行进位加法器 并使用 4bit CLA 组合设计一个 16bit 加法器 前言 配置环境和文件 添加文件 实验代码测试 运行测试 4bit先行进位加法器 原理 代码实现 运行 ...

最新文章

  1. HTML`CSS_网站页面不同浏览器兼容性问题解决
  2. 惨!重新申请了网页的Counter
  3. js获取和设置属性的方法
  4. 图解WebGLThree.js工作原理【转】
  5. 数据结构1-树及常用算法
  6. php 不喜欢用对象,为什么PHP不在其默认库中使用对象?
  7. 分子进化和系统发育的基础知识
  8. URL重定向,rewrite命令
  9. 【数据分析面试】大厂高频SQL笔试题(一)
  10. Golang环境windows 设置 GOROOT 和 GOPATH
  11. 【工作日记18】渗透测试之xml注入攻击、CRLF漏洞
  12. 利用Powergui进行FFT Analysis,信号源为空解决方法
  13. 腾讯元老、上市公司CTO辞职后,每天对着200亩地发呆
  14. 计算机用户名含有中文,安装软件的时候,计算机用户名是中文名的解决办法
  15. R语言古风诗人转职c++
  16. 小书匠配置github图床服务(详细版)
  17. 交换机连接控制器_干货丨FIT控制器与eMotion LV1的配置场景介绍
  18. 致我们终将组件化的web
  19. vue的混入mixin拙见
  20. 实现一个自动搜狗搜索的小爬虫----user-agent反爬

热门文章

  1. java输出到文档如何排版_java word中表格怎么排版输出
  2. 整数划分的递归实现算法c语言,整数划分算法原理与实现
  3. 绘声绘影中文试用版下载
  4. Java模板引擎解析原理_关于前后端分离与模板引擎
  5. 鸿蒙用java虚拟机_漫画:趣解鸿蒙 OS 如何实现跨平台?
  6. Matlab中的复数运算函数
  7. nginx 杂文----01
  8. ubuntu18.10下wine运行大航海时代II、金庸群侠传1、三国志英杰传、笑傲江湖
  9. UESTC OJ1219 Ba Gua Zhen
  10. windows 7 共享打印机 给 window xp - 2/2