行波进位加法器设计 Verilog实现
一. 全加器 & 半加器
引用《电子技术基础(数字部分)》的说法:
1.全加器能进行被加数、加数和来自低位的进位信号相加,并根据结果给出该位的进位信号。
用逻辑表达式可描述为:
S = A ⊕ B ⊕ C S = A\oplus B \oplus C S=A⊕B⊕C
C o u t = A B + ( A ⊕ B ) C i n C_{out} = AB + (A \oplus B)C_{in} Cout=AB+(A⊕B)Cin
2.半加器仅考虑两个加数本身,而没有考虑低位进位的加法运算。由真值表可以得到逻辑表达式:
S = A ˉ B + A B ˉ S = \bar{A}B + A\bar{B} S=AˉB+ABˉ
C = A B C = AB C=AB
二. 行波进位加法器(串行进位加法器)
设计思想:按照正常的加法运算逻辑,由低位向高位依次进行计算,进位依次从低位传递到高位。
公示推导:
3.架构图:
加法器整体由全加器串联构成,每一位的计算对应一个全加器,进位输入由相邻低位产生。关键路径
图中红色路径为此加法器的关键路径,加法器的延迟和操作数尾数成正比。
三、verilog 代码
- 设计代码
module adder_TWC //行波进位加法器
#(parameter N = 64)
(input [N-1:0]A,B,input C_in,output [N-1:0]Y,output C_out//Y = (A + B) % (1<<N) //C = (A + B)>>N
); wire [N:0]C_mid;assign C_mid[0] = C_in; assign C_out = C_mid[N];generate genvar i;for(i=0;i<N;i=i+1)begin: add_unitadder_full a1(A[i] , B[i] ,C_mid[i] ,Y[i] , C_mid[i+1] );endendgenerateendmodulemodule adder_full(input A,B,C_in,output S,C_out);assign C_out = (A&B)|((A^B)&C_in);assign S = A ^ B ^ C_in;
endmodule
- tb
module adder_TWC_tb();reg [63:0]a,b;reg cin;wire cout;wire [63:0]y;adder_TWC T1 (.A(a),.B(b),.C_in(cin),.Y(y),.C_out(cout));integer i = 0;initial begincin = 1;for(i=0;i<16;i=i+1)begina = $random;b = $random;#10;endend
endmodule
行波进位加法器设计 Verilog实现相关推荐
- 【HDL系列】半加器、全加器和行波进位加法器原理与设计
目录 一.半加器 二.全加器 三.行波进位加法器 加法器是算术运算的一种,在计算机和一些处理器中被运用于算术逻辑单元ALU中或者处理器的其他部分如计算地址,加减操作等类似操作.今天.我们来重温下数字电 ...
- 四位行波进位加法器_【HDL系列】半加器、全加器和行波进位加法器原理与设计...
加法器是算术运算的一种,在计算机和一些处理器中被运用于算术逻辑单元ALU中或者处理器的其他部分如计算地址,加减操作等类似操作.今天.我们来重温下数字电路中的加法器. 一.半加器 半加器用于计算2个单比 ...
- 四位行波进位加法器_【HDL系列】超前进位加法器原理与设计
上期介绍了半加器.全加器以及行波进位加法器(RCA),本文介绍超前进位加法器(Lookahead Carry Adder,简称LCA).在介绍超前进位加法器前,我们先来分析下行波进位加法器的关键路径. ...
- 四位行波进位加法器_【HDL系列】进位选择加法器原理与设计
前期已介绍了行波进位加法器(Ripple Carry Adder, RCA)依赖于低位进位,所以具有超长的进位链和关键路径.对于RCA的改进中,进位选择加法器(Carry Select Adder)是 ...
- 四位行波进位加法器_【HDL系列】进位旁边加法器原理与设计
一.进位旁边加法器 进位旁路加法器(Carry Skip Adder,CSA),也称Carry Bypass Adder.需要注意的是,CSA也是另外一种加法器--进位保存加法器(Carry Save ...
- 四位行波进位加法器_【HDL系列】Sklansky加法器原理与设计
Sklansky加法器是另一种并行高速的树形加法器,由Sklansky于1959年发表,该加法器对比特位进位层级分组,根据对不同比特组所有可能的进位计算所有可选的和与进位,所以也叫Conditiona ...
- HDLBits答案(8)_Verilog半加器、全加器和行波进位加法器原理与设计
半加器.全加器和行波进位加法器原理与设计 HDLBits链接 半加器 定义: 半加器用于计算2个单比特二进制数a与b的和,输出结果sum(s)和进位carry(c).在多比特数的计算中,进位c将作为下 ...
- 四位行波进位加法器_【HDL系列】硬件加法器原理与设计小结
硬件加法器种类繁多,对于不同的设计,加法器的需求也不一样.在前端设计中,使用符号"+"便可轻而易举地实现加法器.只是在特殊的情况下,指定选择加法器类型,或许可以用到.其他情况,可以 ...
- (萌新的数电学习)用VHDL语言设计4位行波进位加法器
实验背景: 全加器是实现三位数相加的组合逻辑电路,共有三个输入,两个输出.输入变量中的两个用 X 和 Y 表示,代表两个加数,第三个输入 Z 表示低位产生的进位.两个输出用 S(和)与 C(进位)来表 ...
最新文章
- Laravel 5.0 的新特性
- node的包管理工具:yarn和npm
- mysql 2003报错_为什么不建议在 MySQL 中使用 UTF-8?
- 第三课 泛型+反射封装数据库访问层 2019-04-02
- 快速掌握MATLAB应用,从这一步开始
- Java面试知识点总结宝典助你通关!成功入职字节跳动
- Typescript学习笔记(五) 模块机制
- Possible iteration over unexpected (custom / inherited) members, probably missing hasOwnProperty che
- PHP+SQLite3简约网址导航、书签管理器网站源码
- 论述计算机与外设的访问控制方法,试论述计算机与外设访问控制的方法有多少种各有什么优缺点...
- Outlook 2013中 IMAP配置
- Node.js API方法
- FTP已登录,读取目录列表失败
- 如何在手机上新建html文件夹,用手机怎么制作网页
- rsync报错:rsync: chgrp .hejian.txt.D1juHb (in backup) failed: Operation not permitted (1)
- sql注入漏洞,应屏蔽SQL注入攻击
- IT桔子 - 千里马俱乐部
- 6、springboot-防止xxs攻击
- NSPredicate的本地模糊查询
- ping服务器ip地址ping不通