当前位置:文档之家› 8位串行进位加法器

8位串行进位加法器

8位串行进位加法器
8位串行进位加法器

实验报告

一、实验目的

使对quartus II的使用进行初步的了解,对于一些芯片的组合应用更加掌握。

二、实验内容

设计8位串行进位加法器

用半加器设计一个全加器元件,然后根据图4-38,在顶层设计中用8个1位全加器构成8位串行进位加法器。给出时序仿真波形并说明之、引脚锁定编译、编程下载于FPGA中进行硬件测试。完成实践报告。

三、实验步骤及各步结果

1、分析8位串行全加器的层次结构

2、半加器

3、一位全加器

4、8位全加器

//8-bit adder

//half adder

module halfadder(S,C,A,B);

input A,B;

output S,C;

xor(S,A,B);

and(C,A,B);

endmodule

//1-bit full adder

module fulladder(S,CO,A,B,CI);

input A,B,CI;

output S,CO;

wire S1,D1,D2;

halfadder HA1(S1,D1,A,B);

halfadder HA2(S,D2,S1,CI);

or g1(CO,D2,D1);

endmodule

//8-bit full adder

module _8bit_adder(S,C7,A,B,C_1);

input[7:0]A,B;

input C_1;

output [7:0]S;

output C7;

wire C0,C1,C2,C3,C4,C5,C6,C7;

fulladder FA0(S[0],C0,A[0],B[0],C_1), FA1(S[1],C1,A[1],B[1],C0),

FA2(S[2],C2,A[2],B[2],C1),

FA3(S[3],C3,A[3],B[3],C2),

FA4(S[4],C4,A[4],B[4],C3),

FA5(S[5],C5,A[5],B[5],C4),

FA6(S[6],C6,A[6],B[6],C5),

FA7(S[7],C7,A[7],B[7],C6); endmodule

5、软件使用

(1)、新建一个工程,工程名为_8bit_adder

(2)、新建一个Verilog HDL File文件并写入程序代码

(3)、对写完的代码进行编译,发现没有错误

(4)、新建一个波形文件

(5)、新建

(6)、插入程序后双击输入数值进行数据的输入

(7)、输入相应的值

(8)、仿真出来的结果

(9)、按时序给输入端输入不同的数据

(10)、继续仿真,波形如图

(11)、时序仿真

(12)、放大后

这里出现了冒险竞争。

实验一四位串行进位加法器的设计实验报告

实验一四位串行进位加法器的设计 一、实验目的 1.理解一位全加器的工作原理 2.掌握串行进位加法器的逻辑原理 3.进一步熟悉Quartus软件的使用,了解设计的全过程, 二、实验容 1.采用VHDL语言设计四位串行进位的加法器 2.采用画原理图的方法设计四位串行进位加法器 三、实验步骤 1、使用VHDL语言设计 1.打开File—>New Project Wizard输入文件名adder4保存在D 盘,打开File—>New—>VHDL File,从模版中选择库的说明,use 语句的说明,实体的说明,结构体的说明,编写VHDL代码,然后保存、编译。打开File—>New—>Other File—>Vector Waveform File,查找引脚,从Edit中选择End Time 输入40、ns 保存。从Assignments—>Settings—>Simulator Settings —>Functional 然后Processing—>Generate Functional Simnlation Netlist —>确定。选择Start Simulation保存最后的波形图,打开File —>close关闭工程。 底层文件: LIBRARY ieee;

USE ieee.std_logic_1164.ALL; ENTITY fadder IS PORT ( a, b,cin : IN STD_LOGIC; s, co : OUT STD_LOGIC ); END fadder; ARCHITECTURE arc1 OF fadder IS BEGIN s<=a xor b xor cin; co<=((a xor b)and cin)or(a and b); END arc1; 顶层文件: LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY adder4 IS PORT ( c0: IN STD_LOGIC; a,b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); s : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

四位超前进位加法器原理

超前进位加法器原理 74283为4位超前进位加法器,不同于普通串行进位加法器由低到高逐级进位,超前进位加法器所有位数的进位大多数情况下同时产生,运算速度快,电路结构复杂。其管脚如图1所示: 图1 74283管脚图 其真值表如下所示: 表1 4位超前进位加法器真值表

由全加器的真值表可得S i 和C i 的逻辑表达式: 定义两个中间变量G i 和P i : 当A i =B i =1时,G i =1,由C i 的表达式可得C i =1,即产生进位,所以G i 称为产生量变。若P i =1,则A i ·B i =0,C i =C i-1 ,即P i =1时,低位的进位能传 送到高位的进位输出端,故P i 称为传输变量,这两个变量都与进位信号无关。 将G i 和P i 代入S i 和C i 得: 进而可得各位进位信号的逻辑表达如下:

根据逻辑表达式做出电路图如下: 逻辑功能图中有2输入异或门,2输入与门,3输入与门,4输入与门,2输入或门,3输入或门,4输入或门,其转化成CMOS晶体管图如下:

电路网表如下: *xor 2 .subckt xor2 a b c d f mxorpa 1 a vdd vdd pmos l=2 w=8 mxorpb f d 1 vdd pmos l=2 w=8 mxorpc 2 b vdd vdd pmos l=2 w=8 mxorpd f c 2 vdd pmos l=2 w=8 mxorna f a 3 0 nmos l=2 w=4 mxornb 3 b 0 0 nmos l=2 w=4 mxornc f c 4 0 nmos l=2 w=4 mxornd 4 d 0 0 nmos l=2 w=4 .ends xor2 *and2 .subckt and2 a b f mandpa f a vdd vdd pmos l=2 w=4 mandpb f b vdd vdd pmos l=2 w=4 mandna f a 1 0 nmos l=2 w=4 mandnb 1 b 0 0 nmos l=2 w=4 .ends and2 *and3 .subckt and3 a b c f mandpa f a vdd vdd pmos l=2 w=4 mandpb f b vdd vdd pmos l=2 w=4 mandpc f c vdd vdd pmos l=2 w=4 mandna f a 1 0 nmos l=2 w=6 mandnb 1 b 2 0 nmos l=2 w=6 mandnc 2 c 0 0 nmos l=2 w=6 .ends and3 *and4 .subckt and4 a b c d f mandpa f a vdd vdd pmos l=2 w=4 mandpb f b vdd vdd pmos l=2 w=4 mandpc f c vdd vdd pmos l=2 w=4 mandpd f d vdd vdd pmos l=2 w=4 mandna f a 1 0 nmos l=2 w=8 mandnb 1 b 2 0 nmos l=2 w=8 mandnc 2 c 3 0 nmos l=2 w=8 mandnd 3 d 0 0 nmos l=2 w=8 .ends and4

四位串行进位加法器设计教学文稿

四位串行进位加法器 设计

集成电路CAD课程设计报告 四位串行加法器设计 1串行进位加法器简介 1.1加法器实现多为二进制数相加的电路,称为加法器。根据进位方式不同,有串行进位加法器和超前进位加法器之分。采用串行进位方式,优点是电路简单,连接方便;缺点是运算速度不高。原理:把四个全加器(例如两片74LS183)依次级联起来,便可构成四位串行进位加法器。因此四位串行进位加法器的设计可以分以下两步进行:(1)全加器设计;(2)将全加器级联,构成四位串行进位加法器 (a)(b) 图(1)四位串行加法器7483

1.2 图2为四位串行加法器7483逻辑图 图(2)四位串行加法器 2 四位串行进位加法器的设计实现: 2.1 输出级电路设计 与TTL电路兼容驱动10个TTL ①输出高电平时|IoH|<=20uA VoHmin=4.4V ②输出低点平时|IoH|<=20mA VoHmax=0.4V ③输出级充放电时间tr=tf 计算电路如图3所示

①以15个PF 的电容负载代替10个TTL 电路来计算tr 、tf ②输入V 为的前一级的输出被认为是理想的输出,即:ViL=Vss,ViH=Vdd ③计算电流时,负载为电流负载,有拉电流的灌电流。 图3 (1)CMOS N 管(W/L )N 的计算: 当输入为高电平时(Vi=Vdd ),N 管导通后级TTL 电路有较大的灌电流输入,此时(表示成对称形式) 使方括号中的值和栅电容Cox 及电子迁移率un 为最小值: o u t 00f f [] 200200)()(2V V V V V V C L W I tn i s tn ox N n dsn -----??? ??=μm ax 0m in 2 ox SiO ox t C εε=

先行进位加法器

实验四32位先行进位加法器 一、功能概述 串行进位加法器延时很大,每级的输出结果都要等上一级的进位到来才可以求和算出结果,这次实验对普通全加器进行改良,改良为先行进位加法器。 先行进位加法器,各级的进位彼此是独立产生,只与输入数据A,B和C_in有关,将各级间的进位级联传播给去掉了,这样就可以减小进位产生的延时。每个等式与只有三级延迟的电路对应,第一级延迟对应进位产生信号和进位传递信号,后两级延迟对应上面的积之和。通过这种进位方式实现的加法器称为超前进位加法器。因为各个进位是并行产生的,所以是一种并行进位加法器。 二、实验原理 1、设二进制加法器第i位为A i,B i,输出为S i,进位输入为C i,进位输出为C i+1,则有: S i=A i⊕B i⊕C i (1-1) C i+1 =A i * B i+ A i *C i+ B i*C i =A i * B i+(A i+B i)* C i (1-2)令G i = A i * B i , P i = A i+B i,则C i+1= G i+ P i *C i 当A i和B i都为1时,G i = 1,产生进位C i+1 = 1

当A i和B i有一个为1时,P i = 1,传递进位C i+1= C i 因此G i定义为进位产生信号,P i定义为进位传递信号。G i的优先级比P i高,也就是说:当G i = 1时(当然此时也有P i = 1),无条件产生进位,而不管C i是多少;当G i=0而P i=1时,进位输出为C i,跟C i之前的逻辑有关。 下面推导4位超前进位加法器。设4位加数和被加数为A 和B,进位输入为C in,进位输出为C out,对于第i位的进位产生G i = A i·B i ,进位传递P i=A i+B i , i=0,1,2,3。于是这各级进位输出,递归的展开Ci,有: C0 = C in C1=G0 + P0·C0 C2=G1 + P1·C1 = G1 + P1·G0 + P1·P0?C0 C3=G2+ P2·C2= G2+ P2·G1+ P2·P1·G0+ P2·P1·P0·C0 C4=G3+ P3·C3= G3+ P3·G2+ P3·P2·G1+ P3·P2·P1·G0 + P3·P2·P1·P0·C0 (1-3) C out=C4 由此可以看出,各级的进位彼此独立产生,只与输入数据Ai、Bi和Cin有关。 2、接口说明

四位串行进位加法器设计

集成电路CAD课程设计报告 四位串行加法器设计 1串行进位加法器简介 1.1加法器实现多为二进制数相加的电路,称为加法器。根据进位方式不同,有串行进位加法器和超前进位加法器之分。采用串行进位方式,优点是电路简单,连接方便;缺点是运算速度不高。 原理:把四个全加器(例如两片74LS183)依次级联起来,便可构成四位串行进位加法器。因此四位串行进位加法器的设计可以分以下两步进行:(1)全加器设计;(2)将全加器级联,构成四位串行进位加法器 (a)(b) 图(1)四位串行加法器7483 1.2 图2为四位串行加法器7483逻辑图

图(2)四位串行加法器 2 四位串行进位加法器的设计实现: 2.1 输出级电路设计 与TTL电路兼容驱动10个TTL ①输出高电平时|IoH|<=20uAV oHmin=4.4V ②输出低点平时|IoH|<=20mAV oHmax=0.4V ③输出级充放电时间tr=tf 计算电路如图3所示 ①以15个PF的电容负载代替10个TTL电路来计算tr、tf ②输入V为的前一级的输出被认为是理想的输出,即:

ViL=Vss,ViH=Vdd ③计算电流时,负载为电流负载,有拉电流的灌电流。 图3 (1)CMOS N 管(W/L )N 的计算: 当输入为高电平时(Vi=Vdd ),N 管导通后级TTL 电路有较大的灌电流输入,此时(表示成对称形式) 使方括号中的值和栅电容Cox 及电子迁移率un 为最小值: o u t 00f f [] 200200)()(2V V V V V V C L W I tn i s tn ox N n dsn -----? ?? ??=μm ax 0m in 2 ox SiO ox t C εε= 2 30m ax 0m in - ??? ? ? ?=T T n n μμ

第4组 3位串行加法器

第4组3位串行加法器_课程报告 项目名称:可数字显示的3位串行进位加法器 组员:邵捷(1111122217) 罗洪强(1111122216) 姜帅(1111122204) 指导教师:张凡 上课时间:2013/9/16 ~2013/9/27 项目摘要:将三个一位全加器串联,实现0到7的十进制加法运算,加数以二进制的形式从两端口输入。并分别对两个加数与和数进行译码,输出到三个数码管上,以十进制的形式分别显示出两个加数的输入值与和数的输出值。 关键字:全加器FPGA 数字显示

一、实验目的 实现0到7的十进制加法运算,加数以二进制的形式从两端口输入。并给出三个数码管,以十进制的形式分别显示出两个加数的输入值与和数的输出值。 二、实验设备 FPGA器件、USB JTAG调试工具、Quarts9.0软件、VHDL硬件设计语言。 三、硬件设计 3.1 框图 数据显示器1 数据显示器2 数据显示器3 A0 A1 A2 B0 B1 B2 S0 S1 S2 CO 求和输出值 S0 CO S1 CO S2 CO 1位全加器1位全加器1位全加器 A0 B0 A1 B1 A2 B2 A0 A1 A2 B0 B1 B2 输入端口1 输入端口2

3.2 原理阐述 取3只全加器,依次将低位全加器的进位输出端接到高位全加器的进位输入端,便可得到3位串行进位加法器,此时有六个输入端口A0、B0、A1、B1、A2、B2和四个输出端口S0、S1、S2、CO 。分别将六个端口通过6只开关与5V 直流电源连接起来当相应输入端口所对应的开关闭合,该端口就被输入二进制数1;开关断开,该端口就被输入二进制数0。 再将A0、A1、A2端口从低位到高位依次接到DCD_HEX_ORANGE 上,B0、B1、B2端口从低位到高位依次接到另一只DCD_HEX_ORANGE 上。这样当两个相加的数A2A1A0、B2B1B0被以二进制的形式输入时,其对应的DCD_HEX_ORANGE 上就会以十进制的形式显示出其数值。 同理,将四个输出端口S0、S1、S2、CO 从低位到高位依次接到第3只DCD_HEX_ORANGE 上,这样两个数相加得到的和就会以十进制的形式显示出来。 四、软件设计 4.1 软件设计流程图 求 和 是 进位 是 进位 是 进位 4.2 真值表 开始 数据2 数据1 A0 A1 A2 溢出? 溢出? 溢出? A3 译码 输出

加法器的门级结构

两个二进制数之间的运算无论是加减乘除,目前在计算机中都是化作若干步加法运算进行的。因此加法器是构成算数运算器的基本单元。 1 半加器 如果不考虑来自低位的进位,将两个一位二进制数相加,称为半加。 半加器真值表 输入 输出 A B S CO 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 半加器逻辑表达式以及其逻辑图和符号 S=A B CO=AB 加法器 一位加法器 半加器 全加器 多位加法器 串行进位加 法器超前进位加 法器 =1 B A S & B A CO ∑ B A S CO CO CO

2 全加器 将两个对应位的加数和来自低位的进位3个数相加,这种运算称为全加,对应电路称为全加器。 全加器真值表 输入输出 A B CI S CO 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 1 1 1 全加器的逻辑表达式 由真值表观察:S= A B CI + A B CI + A B CI + A B CI CO= A B CI + A B CI + A B CI + A B CI CO的卡诺图 AB CI 00 01 11 10 0 1 1 1 1 1 由卡诺图化简CO的逻辑表达:CO= B CI + A CI + A B

反演定理: 对于任意一个逻辑式Y,若将其中所有的的”.”换成”+”,”+”换成”.”,0换成1,1换成0,原变量换成反变量,反变量换成原变量。则得到的结果就是Y。这个规律叫做反演定理。 根据反演定理,CO = (A+B)(A+CI)(B+CI) = AB+A CI+B CI 最终得到结果CO = AB+A CI+B CI ① 至于为什么要化成带有非门的形式,我也正在收集资料。以后再研究吧 利用卡诺图合并0再求反的方法可以直接得到表达式① CO的卡诺图 AB CI 00 01 11 10 0 1 0 0 1 0 0 1 1 1 S的卡诺图 AB CI 00 01 11 10 0 1 0 1 0 1 1 0 1 0 不能合并,直接写出0项再求反:S=A B CI+ A B CI+ A B CI+A B CI ②

组成原理 超前进位加法器设计

《计算机组成原理》实验报告 专业: 学号: 学生姓名: 实验日期:

实验二 一、实验名称:超前进位加法器设计 二、实验目的: 1 掌握超前进位加法器的原理及其设计方法。 2 熟悉CPLD 应用设计及EDA 软件的使用。 三、实验设备: PC 机一台,TD-CMA 实验系统一套,排线若干。 四、实验内容: 1.了解加法器的工作原理,掌握超前进位产生电路的设计方法. 2.正确将电路原理图下载到试验箱中. 3.正确通过实验箱连线实现4位二进制数的相加并得到正确结果 五、实验原理: 加法器是执行二进制加法运算的逻辑部件,也是CPU 运算器的基本逻辑部件(减法可以通过补码相加来实现)。加法器又分为半加器和全加器(FA),不考虑低位的进位,只考虑两个二进制数相加,得到和以及向高位进位的加法器为半加器,而全加器是在半加器的基础上又考虑了低位过来的进位信号。 表1-2-1 1 位全加器真值表 A、B 为2 个1 位的加数,Ci 为来自低位的进位,S 为和,Co 为向高位的进位,根据表1-2-1所示的真值表,可得到全加器的逻辑表达式为: S = ABCi + ABCi + ABCi + ABCi Co = AB+ ACi + BCi 根据逻辑表达式,可得到如图1-2-1 所示的逻辑电路图。

有了 1 位全加器,就可以用它来构造多位加法器,加法器根据电路结构的不同,可以分为串行加法器和并行加法器两种。串行加法器低位全加器产生的进位要依次串行地向高位进位,其电路简单,占用资源较少,但是串行加法器每位和以及向高位的进位的产生都依赖于低位的进位,导致完成加法运算的延迟时间较长,效率并不高。 C0 = 0 Ci+1 = AiBi + AiCi + BiCi = AiBi + (Ai + Bi)Ci 设 gi = AiBi pi = Ai + Bi 则有: Ci+1 = gi + piCi = gi + pi(gi-1 + pi-1Ci-1) = gi + pi(gi-1 + pi-1(gi-2 + pi-2Ci-2)) … = gi + pi (gi-1 + pi-1(gi-2 + pi-2(…(g0 + p0C0)…))) = gi + pigi-1 + pipi-1gi-2 + … + pipi-1…p1g0 + pipi-1…p1p0C0 由于gi、pi 只和Ai、Bi 有关,这样Ci+1 就只和Ai、Ai-1、…、A0,Bi、Bi-1、…、B0 及C0 有关。所以各位的进位Ci、Ci-1、…、C1 就可以并行地产生,这种进位就叫超前进位。定义 Gi,j = gi + pigi-1 + pipi-1gi-2 + … + pipi-1…pj+1gj Pi,j = pipi-1…pj+1pj 则有 Gi,i = gi Pi,i = pi Gi,j = Gi,k + Pi,kGk-1,j Pi,j = Pi,kPk-1,j Ci+1 = Gi,j + Pi,jCj 从而可以得到表1-2-2 所示的算法,该算法为超前进位算法的扩展算法,这里实现的是一个8 位加法器的算法。 表1-2-2 超前进位扩展算法

8位串行进位加法器

实验报告 一、实验目的 使对quartus II的使用进行初步的了解,对于一些芯片的组合应用更加掌握。 二、实验内容 设计8位串行进位加法器 用半加器设计一个全加器元件,然后根据图4-38,在顶层设计中用8个1位全加器构成8位串行进位加法器。给出时序仿真波形并说明之、引脚锁定编译、编程下载于FPGA中进行硬件测试。完成实践报告。 三、实验步骤及各步结果 1、分析8位串行全加器的层次结构 2、半加器 3、一位全加器 4、8位全加器

//8-bit adder //half adder module halfadder(S,C,A,B); input A,B; output S,C; xor(S,A,B); and(C,A,B); endmodule //1-bit full adder module fulladder(S,CO,A,B,CI); input A,B,CI; output S,CO; wire S1,D1,D2; halfadder HA1(S1,D1,A,B); halfadder HA2(S,D2,S1,CI); or g1(CO,D2,D1); endmodule //8-bit full adder module _8bit_adder(S,C7,A,B,C_1); input[7:0]A,B; input C_1; output [7:0]S; output C7; wire C0,C1,C2,C3,C4,C5,C6,C7; fulladder FA0(S[0],C0,A[0],B[0],C_1), FA1(S[1],C1,A[1],B[1],C0), FA2(S[2],C2,A[2],B[2],C1), FA3(S[3],C3,A[3],B[3],C2), FA4(S[4],C4,A[4],B[4],C3), FA5(S[5],C5,A[5],B[5],C4), FA6(S[6],C6,A[6],B[6],C5), FA7(S[7],C7,A[7],B[7],C6); endmodule

※ 加法器工作原理※

第十六讲 若干常用中规模组合逻辑电路-加法器
※ 加法器工作原理 ※
Lecture
《数字电子技术基础》

第十六讲 若干常用中规模组合逻辑电路-加法器
█ 加法器概述
两个二进制数之间的算术运算无论是加、减、乘、除, 目前在数字计算机中都是化为若干步加法运算和移位进行 的。因此,加法器是构成算术运算器的基本单元。 目前,常用加法器分类如下:
加 法 器
1位加法器
半加器 全加器
多位加法器
串行进位加法器 超前进位加法器
《数字电子技术基础》

第十六讲 若干常用中规模组合逻辑电路-加法器
█ 1位全加器 ◆ 半加器(Half-adder)
若不考虑有来自低位的进位将两个1位二进制数相加, 称为半加。实现半加运算的电路叫做半加器。 半加器的逻辑表达式:
表1 半加器的真值表 输入 A B 0 0 1 1 0 1 0 1 输出 S CO 0 1 1 0 0 0 0 1
? S = AB + AB = A ⊕ B ? ?CO = AB 半加器的逻辑电路及符号:
Σ
《数字电子技术基础》

第十六讲 若干常用中规模组合逻辑电路-加法器
◆ 全加器(Full-adder)
将两个多位二进制数相加时,除了最低位以外,每一位 都应考虑来自低位的进位,即将两个对应的加数和来自低位 的进位3个数相加。这种运算称为全加,所用电路称为全加器。
表2 全加器的真值表
输 入 CI A B 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
输 出 S CO 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1
? ?S = A? B? CI + AB? CI + AB? CI + AB? CI ? ? ?CO = A? B + B? CI + A? CI
?S = A⊕ B ⊕ CI 或? ?CO = AB+ CI( A + B)
《数字电子技术基础》

三种16位加法器(串行、并行、超前进位)adder

//进位链加法器 modulecarry_chain_adder(x, y, cin, sum, cout); parameterN = 16; //N-bits input cin; input [N-1:0] x, y; output [N-1:0] sum; output cout; reg cout, q[N:0], p[N-1:0], g[N-1:0]; reg [N-1:0] sum; always @(x or y or cin)begin //:ADDER integeri; q[0] = cin; for(i=0; i

四位加法器的电路图

武汉大学教学实验报告 信息管理学院信息管理与信息系统专业2015年9月14 日 指导教师王先兵 实验名称 设计四位二进制加法器的详细电路图 姓名仝晶晶年级2013级学号2013302330031 成绩 一、预习部分 1.实验目的 2.实验基本原理 3.主要仪器设备(含必要的元器件、工具) 实验目的: 更透彻的了解加法器的工作原理及电路图。 实验内容: 查阅相关资料分析设计出四位二进制加法器的详细电路图。 实验要求: 结合四位二进制加法器74283的引脚图,仔细查阅资料,分析设计出四位二进制加法器的详细电路图。 二、实验操作部分 1. 实验数据、表格及数据处理 2. 实验操作过程(可用图表示) 3. 结论

一、半加器 两个一位二进制数相加,叫做半加,实现半加操作的电路,称为半加器。所谓“半加”,就是只考虑两个加数本身的求和,而没有考虑地位来的进位数。 半加器逻辑图及符号 二、全加器 全加器可用两个半加器和一个或门组成,如图所示。A i和B i在第一个半加器中相加,得出的和再跟C i-1在第二个半加器中相加,即得出全加和S i。两个半加器的进位数通过或门输出作为本位的进位数C i。 全加器逻辑图及符号

三、74238 74283为4位超前进位加法器,不同于普通串行进位加法器由低到高逐级进位,超前进位加法器所有位数的进位大多数情况下同时产生,运算速度快,电路结构复杂。 四位超前进位加法器真值表: 进而可得各位进位信号的逻辑表达如下:(来自参考资料) 电路图如下(来自参考资料)

四、四位二进制串行进位加法器逻辑图

五、四位二进制串行进位加法器电路图如下

组成原理课下报告_8位并串行加法器

组成原理课外实践报告 (第二次) 院系:计算机学院 专业班:信息安全0902 学号:U200915316 姓名:丁洪鑫 老师:秦磊华 时间:2011.5

一.题目要求 利用EDA 软件分别设计一个先行进位和行波进位的8位加法器,分别对它们进行时序分析,比较先行进位和行波进位在时间上的差别。 二.实践准备 1. 了解EDA (基于MAX+plus ) 在做这个实践题目之前,并未接触过EDA 技术和实际的EDA 软件。在查阅了相关书籍后,对EDA 技术有了两方面的初步认识(足以解决本实践问题): 1. VHDL 语言算法(自顶向下)。这种语言以前并未接触学习过,故在实践开始前做了一些粗浅的自学功课。总的说来即是避开复杂的逻辑运算与原理图设计,用比较简洁的VHDL 语言直接描述器件的逻辑结构,编译成功后可利用该EDA 软件(本实践中利用的是MAX+plus 工具)进行时序仿真并进行延时分析。本实践中的先行进位8位加法器即用VHDL 语言来描述实现。 2. 原理图输入设计(自底向上)。这是传统的电子设计技术,在这里结合VHDL 语言(即先利用VHDL 语言设计一位全加器封装后用于原理图设计)用原理图的传统方法来设计8位行波进位加法器。 2.理论分析 1)行波进位加法器 行波进位加法器即串行进位加法器。可以用一位全加器FA 直接相连得到(低FA 的进位输出直接与相邻的高位FA 的进位输出相连),如图 C0 A0B0 A7 B7 F7 F0 C7FA FA FA FA FA FA FA FA

图中进位表达式为: C 0=X(未知) C 1=A 0B 0+(A 0+B 0)C 0 C 2=A 1B 1+(A 1+B 1)C 1 …… C 7=A 6B 6+(A 6+B 6)C 6 由公式知,高位进位产生依赖于相邻地位的进位输出,由于高位运算需要等待地位的运算,因此串行进位加法器的速度较慢。 2)并行进位加法器 由串行进位的进位表达式,得到下式: C 0=0 C 1=A 0B 0+(A 0+B 0)C 0=A 0B 0 C 2=A 1B 1+(A 1+B 1)C 1=A 1B 1+(A 1+B 1)A 0B 0 C 3=A 2B 2+(A 2+B 2)C 2=A 2B 2+(A 2+B 2)A 1B 1+(A 2+B 2)(A 1+B 1)A 0B 0 …… C 7=A 6B 6+(A 6+B 6)A 5B 5+(A 6+B 6)(A 5+B 5)A 4B 4+(A 6+B 6)(A 5+B 5)(A 4+B 4)A 3B 3+(A 6+B 6)(A 5+A 5)(A 4+B 4)(A 3+B 3)A 2B 2+(A 6+B 6)(A 5+B 5)(A 4+B 4)(A 3+B 3)(A 2+B 2)A 1B 1 由公式可以看出,每一个进位的产生都不不互相依赖,只要给出C 0 ,加数和被加数即可算出所有的进位,即可同时计算。如图 并行进位产生电路 FA FA FA FA FA FA FA FA C 7 C 7 A 0B 0 B 7 A 7

2 全加器&并行加法器&串行加法器的仿真实验报告

实验二加法器的设计与仿真 一、实验内容 1.用VHDL语言设计全加器; 2.利用设计的全加器组成串行加法器; 3.用VHDL语言设计并行加法器。 二、实验要求 1.进实验室前,请写一份预习报告;进实验室时经指导老师检查后,才可上机操作。 2.预习报告内容有: 用VHDL语言编写全加器、串行加法器和并行加法器。 3.在文本编辑区使用VHDL硬件描述语言设计逻辑电路,再利用波形编辑区进行逻辑功能仿真,以此验证电路的逻辑功能是否正确,最后在实验箱上进行下载验证。 4.实验结束前,由指导老师检查了以上三种电路的仿真波形和实验箱上的实验结果后方可离开。 三、电路功能介绍 1.全加器 用途:实现一位全加操作 逻辑图 真值表

VHDL程序数据流描述: 波形图

2.四位串行加法器 逻辑图 波形图

3.74283:4位先行进位全加器(4-Bit Full Adder) 逻辑框图 逻辑功能表 注:1、输入信号和输出信号采用两位对折列表,节省表格占用的空间,如:[A1/A3]对应的列取值相同,结果和值[Σ1/Σ3]对应的运算是Σ1=A1+B1和 Σ3=A3+B3。请自行验证一下。 2、C2是低两位相加产生的半进位,C4是高两位相加后产生的进位输出,C0是低位级加法器向本级加法器的进位输入。

VHDL实现 全加器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY f_adder IS PORT( x,y,cin:IN STD_LOGIC; S,cout:OUT STD_LOGIC ); END ENTITY f_adder; ARCHITECTURE bhv OF f_adder IS BEGIN s<=x XOR y XOR cin; cout<=(x AND y)OR(x AND cin)OR(y AND cin); END ARCHITECTURE bhv; 波形图:

三种加法器

三种加法器 加法器是为了实现加法的,即是产生数的和的装置。加法器常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。在此以三种加法器为例分析加法器的结构、设计及优缺点等性能参数。 加数和被加数为输入,和数与进位为输出的装置为半加器。半加器有两个二进制的输入,其将输入的值相加,并输出结果到和进制。半加器虽能产生进制值,但半加器本身并不能处理进制值。若将A、B分别作为一位二进制数,S表示A、B相加的“和”,C是相加产生的“进位”,半加器的真值表如表1所示。由表1可直接写出, 。半加器可以利用一个集成异或门和与门来实现,如图1(a)所示。图1(b)是半加器的逻辑符号。 A B S C 0000 0110 1010 1101 表1 半加器真值表

图1 半加器逻辑图及其逻辑符号半加器实验时的VHDL代码如下: library ieee; use ieee.std_logic_1164.all; entity half_adder is port(a,b:in std_logic; sum,carry_out:out std_logic); end half_adder; architecture dataflow of half_adder is begin sum<=(not a and b) or (a and not b); carry_out<=a and b; end dataflow;

加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。全加器可以处理低位进位, 并输出本位加法进位。对两个一位二进制数及来自低位的“进位”进行相加,产生本位“和”及向高位“进位”的逻辑电路称为全加器。由此可知,全加器有三个输入端,二个输出端,其真值表如表2所示。其中Ai 、Bi 分别是被加数、加数,Ci –1是低位进位,Si 为本位全加和,Ci 为本位向高位的进位。 A i B i C i –1 S i C i 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 表2 全加器真值表 由真值表可分别写出输出端Si 和Ci 的逻辑表达式

16位超前进位加法器的verilog实现

H a r b i n I n s t i t u t e o f T e c h n o l o g y v e r i l o g实验报告(1) 设计题目:16位超前进位加法器班级: 姓名: 学号: 哈尔滨工业大学 2015年6月

一、功能描述 加法运算是最基本的运算,所有其他基本算术运算都是以加法运算为基础。但因为加法运算存在进位问题,使得某一位计算结果的得出和所有低于它的位相关,因此,为了减少进位传输所耗的时间,提高计算速度,我们可以采用超前进位加法器,它是利用输入信号来预先产生高位进位信号,从而减少进位从低位到高位的传递时间。 超前进位加法器,不同于串行进位加法器,对于每一位的结果是否有进位,不需要等前一位的进位结果计算出来,而是只要输入A, B 到来就可以经过一些列的逻辑运算同时计算出各位是否有进位。理论上讲无论多少位的加法器都可以设计成为超前进位加法器,但是当位数很大的时候,超前进位加法器的逻辑会变得异常复杂,而失去了使用的意义,所以大多数超前进位加法器做到4位,而多于4位的要求,就用多个超前进位加法器级联实现,所以本设计要进行16位的加法运算,我们可以将其分成四组,组内采用超前进位,组间采用串行进位,既提高了运算速度,又不至于采用过多的门数。 二、设计方案 1.设计原理 首先做两个传递函数;进位产生函数Gi和进位传送函数 Gi=Ai Bi Pi=Ai^Bi 当Gi=1时会产生进位,而当Pi=1时会使进位输入传到输出。 根据全加器原理,第i位的进位及和的输出可表示为 C i =G i +P i C i-1 S i =P i ^C i-1 由此可得各位的进位输出表达式C1=G1+P1C0 C2=G2+P2G1+P2P1C0 C3=G3+P3G2+P3P2G1+P3P2P1C0

16位超前进位加法器

16位超前进位加法器设计 目录 摘要 (1) 1需求分析 1.1加法器的发展..................................................................... 错误!未定义书签。 1.2几种串行加法器性能比较 (3) 1.2.1串行进位加法器 (3) 1.2.1超前进位加法器 (3) 2主要内容 (4) 2.1设计原理 (6) 2.2设计思路 (4) 3 设计思想 (5) 4 实现方法 (6) 4.1顶层方案图的设计与实现 (6) .4.1.1顶层方案的整体设计 (6) 4.1.2元器件选择和引脚锁定 (7) 4.2功能模块的设计与实现 (8) 4.2.1设计描述 (8) 4.2.2创建RTL代码并得到电路图....................................................... .9 4.3功能仿真 (11) 4.4编程与下载 (12) 4.5硬件仿真结果 (12) 5小结 (13)

参考文献 (13) 附录 (14) 摘要:加法运算是最重要最基本的运算,所有的其他基本算术运算乘除等都最终可以用加法运算来表示在不同的场合对加法器的要求 不同,要的要求速度快有的要求面积小超前进位加法器相比于串行进位加法器是一种快速加法运算器,根据用户的要求追求速度与面积的平衡。 关键词:超前进位加法器串行进位加法器速度面积 1需求分析 1.1 加法器的发展 加法运算是最基本的运算,所有其他基本算术运算都是以加法运算为基础。但因为加法运算存在进位问题,使得某一位计算结果的得出和所有低于他的位相关,因此,为了减少进位传输所耗的时间提高计算速度人们设计了多种类型的加法器。如跳跃进位加法器,进位选择加法器,超前进位加法器等他们都是利用各位之间的状态来预先产生高位进位信号从而减少进位从低位到

利用原理图输入法实现4位串行进位加法器

VHDL(一)模拟部分电子线路仿真实验报告 实验名称:软件和实验箱介绍 姓名:申红霞 学号: 080404108 班级: 08通信一班 时间: 10.02 南京理工大学紫金学院电光系

一、实验目的 1.讲解QuartusⅡ软件和实验箱的使用。 2.利用原理图输入法实现4位串行进位加法器。 3.重点掌握软件使用过程中工程建立、原理图输入方法、编译、仿真、管脚配置等。 二、实验原理 1.加法器原理 全加器真值表如图1所示: 加法器真值表 全加器表达式为:Si=Ai⊕Bi⊕Ci-1 Ci=(Ai⊕Bi)Ci-1+AiBi 全加器逻辑符号如图2所示: 全加器逻辑符号 2.利用全加器可以构成4位串行进位加法器,逻辑符号如图3所示: 4位串行进位加法器逻辑符号图 三、实验内容 1.新建文件夹,在所新建的文件夹中利用QuartusⅡ软件建立新工程,设计原理图输入的一

位全加器电路,如图4所示: 图4、一位全加器电路 2.对该图进行全编译,编译成功后,建立矢量波形文件,验证所设计的一位全加器电路的 正确性,时序仿真结果和功能仿真结果如下图所示: 图5、时序仿真结果 图6、功能仿真结果 由仿真波形分析可知,该全加器设计正确。

3.将设计好的全加器生成一个模块,如图7所示: 图7、一位全加器器件 4.将4个全加器串联,再添加相应的管脚和原件构成四位串行进位加法器,如图8所示: 图8、四位串行进位加法器电路图 5.将此文件设置为顶层文件,对该图进行全编译,编译成功后,建立矢量波形文件,添加相应的节点,为输入信号赋初值,功能仿真结果和时序仿真结果如下图:

相关主题
文本预览
相关文档 最新文档