当前位置:文档之家› vhdl BCD码加法器

vhdl BCD码加法器

vhdl BCD码加法器
vhdl BCD码加法器

实验一BCD码加法器

一、实验目的

了解BCD 码的构成。了解BCD 码加法器的原理和设计实现方法。巩固Quartus II 的使用。

二、实验内容与要求

通过键盘输入两组4BIT的二进制数据,按照二进制加法器原理进行加和,求出和合进位,并通过电路静态数码LED显示灯输出显示,完成编译、综合、适配、仿真、实验箱上的硬件测试。

三、实验平台

(1)硬件:计算机、GX-SOC/SOPC-DEV-LAB

CycloneII EP2C35F672C8核心板

(2)软件:Quartus II

四、实验原理

BCD码是二进制编码的十进制码,也就是用4位二进制数来表示十进制中的0~9这十个数。由于4位二进制数有0000~1111共16种组合,而十进制数只需对应4位二进制数的10种组合,故从4位二进制数的16种组合中取出10种组合来分别表示十进制中的0~9,则有许多不同的取舍方式,于是变形成了不同类型的BCD码。

当BCD码相加的值小于等于9时,结果仍旧是正确的BCD码;当两个码相加的结果大于9时,必须作加6的修正处理,对于大于19的值作加12的修正处理,对于大于29的值作加18的修正处理。

然后根据仿真进行实验及验证。

六、仿真截图

七、硬件实现

八、程序代码

1

LIBRARY Ieee;

USE Ieee.Std_Logic_1164.all;

ENTITY f_ADDER Is

Port (x: In Std_Logic;

y: In Std_Logic;

cin: In Std_Logic;

cout: Out Std_Logic;

sum: Out Std_Logic);

END f_ADDER;

ARCHITECTURE fd1 Of f_ADDER Is Component HADDER

Port( a,b: In Std_Logic;

co,so: Out Std_Logic);

END Component;

Component ora

Port(a,b: In Std_Logic;

c: Out Std_Logic);

END Component;

Signal d,e,f: Std_Logic;

Begin

U1: HADDER

Port Map(a=>X,b=>Y,Co=>d,so=>e);

U2:HADDER

Port Map(a=>e,b=>cin,Co=>f,so=>sum);

U3:ora Port Map(a=>d,b=>f,c=>cout);

END ARCHITECTURE fd1;

2

LIBRARY Ieee;

USE Ieee.Std_Logic_1164.all;

ENTITY HADDER Is

Port (a,b: In Bit;

Co, So: Out Bit);

END HADDER;

ARCHITECTURE fh1 Of HADDER Is BEGIN

So <= (a Xor b);

Co <= (a And b);

END fh1;

3

LIBRARY Ieee;

USE Ieee.Std_Logic_1164.all;

ENTITY ora Is

Port ( a: in Std_Logic;

b: in Std_Logic;

c: out Std_Logic);

END ora;

ARCHITECTURE org OF ora IS

BEGIN

c <= a Or b;

END org;

4

Library ieee;

Use ieee.std_logic_1164.all;

Entity Qadd is

Port (a:in std_logic_VECTOR(7 DOWNTO 0);

b:in std_logic_VECTOR(7 DOWNTO 0);

--cin:in std_logic;

s:out std_logic_VECTOR(7 DOWNTO 0));

End Qadd;

Architecture one of Qadd is

Signal c0,c1,c2,c3,c4,c5,c6,c7 : std_logic;

Component f_ADDER

Port (x: In Std_Logic;

y: In Std_Logic;

cin: In Std_Logic;

cout: Out Std_Logic;

sum: Out Std_Logic);

END Component;

Begin

u1 :F_ADDER

Port map(sum=>s(0),cout=>c0,X=>a(0),Y=>b(0),cin=>'0'); u2 :F_ADDER

Port map(sum=>s(1),cout=>c1,X=>a(1),Y=>b(1),cin=>c0 ); u3 : F_ADDER

Port map(sum=>s(2),cout=>c2,X=>a(2),Y=>b(2),cin=>c1 ); u4 : F_ADDER

Port map(sum=>s(3),cout=>c3,X=>a(3),Y=>b(3),cin=>c2 ); u5 : F_ADDER

Port map(sum=>s(4),cout=>c4,X=>a(4),Y=>b(4),cin=>c3 ); u6 : F_ADDER

Port map(sum=>s(5),cout=>c5,X=>a(5),Y=>b(5),cin=>c4 ); u7 :F_ADDER

Port map(sum=>s(6),cout=>c6,X=>a(6),Y=>b(6),cin=>c5 ); u8 : F_ADDER

Port map(sum=>s(7),cout=>c7,X=>a(7),Y=>b(7),cin=>c6 ); END;

九、实验总结

实验一1位二进制全加器的设计

龙岩学院实验报告 班级学号姓名同组人 实验日期室温大气压成绩 实验题目:基于原理图输入法的1位二进制全加器的设计 一、实验目的 1、学习、掌握QuartusⅡ开发平台的基本使用。 2、学习基于原理图输入设计法设计数字电路的方法,能用原理图输入设计法 设计1位二进制半加器、1位二进制全加器。 3、学习EDA-V型实验系统的基本使用方法。 二、实验仪器 装有QuartusⅡ软件的计算机一台、EDA系统实验箱、导线若干 三、实验原理 半加器只考虑两个1位二进制数相加,而不考虑低位进位数相加。半加器的逻辑函数 为 式中A和B是两个相加的二进制数,S是半加和,C是向高位的进位数。表1为半加器真值表。 表1 A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 显然,异或门具有半加器求和的功能,与门具有进位功能。 其逻辑图跟逻辑符号如下图:

全加器除了两个1位二进制数相加以外,还与低位向本位的进位数相加。表2为全加器的真值表。 表2 A i B i C I-1 C i S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 由真值表可得出逻辑函数式 式中,A i 和B i 是两个相加的1为二进制数,C i-1 是由相邻低位送来的进位数, S I 是本位的全加和,C I 是向相邻高位送出的进位数。其逻辑图跟逻辑符号如下图所示: 四、实验内容 1、根据1位二进制半加器、1位二进制全加器的真值表,设计并画出1位二进制半加器的原理框图,由半加器及门电路设计并画出1位二进制全加器的原理框图(最终设计的是1位二进制全加器)。

实验一-加法器的设计与实现讲解

实验项目二:简单计算器设计与实现基本要求: 1. 能够实现加减运算 2. 能够实现乘法运算 扩展要求: 1.能够实现除法运算 一、实验目的 利用原件例化语句完成一个8位加法器的设计。 二、实验环境 Quartus II 开发系统 三、实验内容 1、掌握层次化设计的方法; 2、掌握一位全加器工作原理; 3、掌握用VHDL文本输入法设计电子线路的详细流程; 4、掌握元件例化语句用法; 5、熟悉软硬件设计验证方法。 四、实验过程 设计思想: 8位二进制加法器可以由8个全加器通过级联的方式构成。根据全加器级联的原理,用VHDL设计一个8位二进制数的加法器,可以先设计一个一位全加器,然后利用一位全加器采用元件例化的方式实现加法器。 实验步骤: 1、设计一个全加器 新建工程,建立源文件,输入VHDL设计文件,如下图所示:

完成设计文件输入后,保存文件,对文件进行编译、仿真,以下是仿真结果,如图所示: 由图可知仿真结果正确。 2、元件例化 把VHDL设计文件转为原理图中使用的元件。在文件菜单File中选择Creat/Update选项,单击Create Symbol File for Current File 选项,系统自动生成相应的元件标号。 重复新建文件的操作,选择Block Diagram/Schmatic File 选项,新建一个原理图文件,在添加元件列表中可以看到自动生成的元件,选择full_adder这个元件添加到原理图中,如下图所示:

3、完成顶层图的设计 用生成的元件标号,完成顶层图的设计。这里有两种方法,一种是直接用原理图设计,根据原理图设计工具的使用方法,完成顶层文件的设计,这个方法比较复杂,所以这里选择另一种方法,通过VHDL设计文件。 继续建立源文件,输入VHDL设计文件,如下图所示: 依照上述步骤,保存文件,对文件进行编译、仿真,以下是仿真结果,如图所示:

实验一 一位二进制全加器设计实验

南昌大学实验报告 学生姓名: 学 号: 专业班级: 中兴101 实验类型:■ 验证 □ 综合 □设计 □ 创新 实验日期: 2012 9 28 实验成绩: 实验一 一位二进制全加器设计实验 一.实验目的 (1)掌握Quartus II 的VHDL 文本设计和原理图输入方法设计全过程; (2)熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果; (3) 熟悉设备和软件,掌握实验操作。 二.实验内容与要求 (1)在利用VHDL 编辑程序实现半加器和或门,再利用原理图连接半加器和或门完成全加器的设计,熟悉层次设计概念; (2)给出此项设计的仿真波形; (3)参照实验板1K100的引脚号,选定和锁定引脚,编程下载,进行硬件测试。 三.设计思路 一个1位全加器可以用两个1位半加器及一个或门连接而成。而一个1位半加器可由基本门电路组成。 (1) 半加器设计原理 能对两个1位二进制数进行相加而求得和及进位的逻辑电路称为半加器。或:只考虑两个一位二进制数的相加,而不考虑来自低位进位数的运算电路,称为半加器。图1为半加器原理图。其中:a 、b 分别为被加数与加数,作为电路的输入端;so 为两数相加产生的本位和,它和两数相加产生的向高位的进位co 一起作为电路的输出。 半加器的真值表为 表1 半加器真值表 由真值表可分别写出和数so ,进位数co 的逻辑函数表达式为: b a b a b a so ⊕=+=- - (1) ab co = (2) 图1半加器原理图 (2) 全加器设计原理 除本位两个数相加外,还要加上从低位来的进位数,称为全加器。图2全加器原理图。全加器的真值表如下:

全加器构成十进制加法器

上海 xxx 学院 《硬件系统设计》上机实验报告(五) 姓名:学号:班级:成绩: 实验名称:全加器及其应用实验地点: 实验设备:(计算机型号)(生产商)设备号: 使用软件: Multisim 10.0 实验时间:年月日星期,时分至时分 一、实验原理:(简述----用自己的理解) 两个一位十进制数相加,若考虑低位来的进位,其和应为0~19,8421BCD 码加法器 的输入、输出都采用8421BCD 码表示,其进位规律为逢十进一,而74HC283D 是按两个 四位二进制数进行运算的,其进位规律为逢十六进一,故二者的进位关系不同,当和数 大于9时,8421BCD 码应产生进位,而十六进制还不可能产生进位。为此应对结果进行 修正,当结果大于9 时,需要加6(0110B)修正。故修正电路应含一个判9 电路,当结果 大于9 时对结果加0110,小于等于9 时加0000。 大于9 的数是最小项的m10~m15,除了上述情况大于9 时外,如相加结果产生了进 位位,其结果必定大于9,因此大于9 的条件为 F = C + SUM4? SUM3+ SUM4? SUM2 = C ? SUM4? SUM3? SUM4? SUM2 全加器74HC283D 的A4A3A2A1、B4B3B2B1 为两个四位二进制数输入端,SUM1、SUM2、 SUM3、SUM4 为相加的和,C0 为低位来的进位,C4 为向高位产生的进位。

二、实验内容(步骤): 选择一个74HC283D_2v,二输入与非门7400N和三输入与非门7410N芯片,Word Genvertor(字信号发生器),构成8421BCD 码加法电路,电路图如下: 对Genvertor(字信号发生器)进行相关设置如下: 在Controls 中选择Cycle 按钮,选择循环输出方式。在Trigger 区,点击按钮Internal,选择内部触发方式。在Controls-Setting 按钮填出的选项卡中,Pre-set Patterns 中选择在Up Counter 选项,即按逐个加1 递增的方式进行编码。在Display Type 中选择Hex,在Buffer Size 中输入0009,在Initial Pattern 中选择00000000。

用门电路设计一位的全加器

实验二组合逻辑设计 一、实验目的 1、掌握组合电路设计的具体步骤和方法; 2、巩固门电路的运用和电路搭建能力; 3、掌握功能表的建立与运用; 4、为体验MSI(中规模集成电路)打基础。 二、实验使用的器件和设备 四2输入异或门74LS86 1片 四2输入正与非门74LS00 1片 TDS-4数字系统综合实验平台1台 三、实验内容 1.测试四2输入异或门74LS86 一个异或门的输入和输出之间的逻辑关系。 2.测试四2输人与非门74LS00一个与非门的输入和输出之间的逻辑关系。 3.等价变换Si=Ai○十Bi○十Ci-1 Ci=AiBi +(Ai○十Bi)Ci-1 4.画出变换后的原理图和接线图。 四、实验过程 1、选择实验题目,分析逻辑功能 用门电路设计一位的全加器 一位全加器:在进行两个数的加法运算时不仅要考虑被加数和加数而且要考虑前一位(低位)向本位的进位的一种逻辑器件。 2、根据逻辑功能写出真值表; 3、根据真值表写出逻辑函数表达式; Si=Ai○十Bi○十Ci-1 Ci=AiBi +(Ai○十Bi)Ci-1 4、利用卡诺图法或布尔代数法对逻辑函数表达式进 行化简; 不需化简 Si=Ai○十Bi○十Ci-1 Ci=AiBi +(Ai○十Bi)Ci-1 5、将化简的逻辑表达式等价变换,统计出实验所需芯片;

Si=Ai○十Bi○十Ci-1 所需芯片: 四2输入异或门74LS86 1片 四2输入正与非门74LS00 1片 6、根据各芯片的引脚图,测试所有需用芯片的功能,画出各芯片的功能表; VCC VCC 74LS86接线图 74LS00接线图 74LS 86芯片测试结果74LS00 芯片测试结果

四位二进制加法器课程设计

课题名称与技术要求 课题名称: 四位二进制加法器设计 技术要求: 1)四位二进制加数与被加数输入 2)二位数码管显示 摘要 本设计通过八个开关将A3,A2,A1,A0和B3,B2,B1,B0信号作为加数和被加数输入四位串行进位加法器相加,将输出信号S3,S2,S1,S0和向高位的进位 C3通过译码器Ⅰ译码,再将输出的Y3,Y2,Y1,Y0和X3,X2,X1,X0各自分别通过一个74LS247译码器,最后分别通过数码管BS204实现二位显示。 本设计中译码器Ⅰ由两部分组成,包括五位二进制译码器和八位二进制输出器。信号S3,S2,S1,S0和向高位的进位C3输入五位二进制-脉冲产生器,将得到的n(五位二进制数码对应的十进制数)个脉冲信号输入八位二进制输出器,使电路的后续部分得以执行。 总体论证方案与选择 设计思路:两个四位二进制数的输入可用八个开关实现,这两个二进制数经全加器求和后最多可以是五位二进制数。本题又要求用两个数码管分别显示求和结果的十进制十位和各位,因此需要两个译码器Ⅱ分别译码十位和

个位。综上所述,需要设计一个译码器Ⅰ,能将求和得到的五位二进制数译成八位,其中四位表示这个五位二进制数对应十进制数的十位,另四位表示个位。而译码器Ⅱ有现成的芯片可选用,此处可选74LS247,故设计重点就在译码器Ⅰ。 加法器选择 全加器:能对两个1位二进制数进行相加并考虑低位来的进位,即相当于3个1位二进制数相加,求得和及进位的逻辑电路称为全加器。或:不仅考虑两个一位二进制数相加,而且还考虑来自低位进位数相加的运算电路,称为全加器。 1)串行进位加法器 构成:把n位全加器串联起来,低位全加器的进位输出连接到相邻的高位全加器的进位输入。 优点:电路比较简单。 最大缺点:进位信号是由低位向高位逐级传递的,运算速度慢。 2)超前进位加法器 为了提高运算速度,必须设法减小或消除由于进位信号逐级传递所消耗的时间,于是制成了超前进位加法器。 优点:与串行进位加法器相比,(特别是位数比较大的时候)超前进位加法器的延迟时间大大缩短了。 缺点:电路比较复杂。 综上所述,由于此处位数为4(比较小),出于简单起见,这里选择串行进位加法器。 译码器Ⅱ选择 译码是编码的逆过程,将输入的每个二进制代码赋予的含意“翻译”过来,给出相应的输出信号。译码器是使用比较广泛的器材之一,主要分为:变量译码器和码制译码器,其中二进制译码器、二-十进制译码器和显示译码器三种最典型,使用十分广泛。显示译码器又分为七段译码器和八段

一位全加器的设计

课程设计任务书 学生:袁海专业班级:电子1303班 指导教师:封小钰工作单位:信息工程学院 题目: 一位全加器的设计 初始条件: 计算机、ORCAD软件,L-EDIT软件 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1、课程设计工作量:1周 2、技术要求: (1)学习ORCAD软件,L-EDIT软件。 (2)设计一个一位全加器电路。 (3)利用ORCAD软件对该电路进行系统设计、电路设计,利用L-EDIT软件进行版图设计,并进行相应的设计、模拟和仿真工作。 3、查阅至少5篇参考文献。按《理工大学课程设计工作规》要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规。 时间安排: 2016.12.30布置课程设计任务、选题;讲解课程设计具体实施计划与课程设计报告格式的要求;课程设计答疑事项。 2016.12.31-2017.1.2学习ORCAD软件和L-EDIT软件,查阅相关资料,复习所设计容的基本理论知识。 2017.1.3-2017.1.4对一位全加器电路进行设计仿真工作,完成课设报告的撰写。 2017.1.5 提交课程设计报告,进行答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要........................................................................ I ABSTRACT ................................................................... II 1绪论. (1) 1.1集成电路发展现状 (1) 1.2集成电路版图工具L-edit简介 (1) 2全加器原理及一位全加器原理图设计 (3) 2.1一位全加器原理简介 (3) 2.2实现一位全加器功能的原理图设计 (4) 2.2.1一位全加器原理图 (4) 2.2.2基于ORCAD的一位全加器设计 (4) 2.2.3 一位全加器的电路图仿真 (7) 3一位全加器的版图设计 (9) 3.1确定一位全加器版图结构 (9) 3.2源漏共享缩小版图面积 (10) 3.3 版图所需基础器件绘制编辑 (12) 3.3.1 PMOS、NMOS等基础器件编辑 (12) 3.3.2 两输入与非门与异或门的绘制编辑 (13) 3.3.3源漏共享得到版图 (14) 3.4 绘制最终一位全加器版图 (15) 4心得体会 (18) 5参考文献 (19)

十进制加法器

十进制加法器 十进制加法器可由BCD码(二-十进制码)来设计,它可以在二进制加法器的基础上加上适当的 “校正”逻辑来实现,该校正逻辑可将二进制的“和”改变成所要求的十进制格式。 n位BCD码行波式进位加法器的一般结构如图2.3(a)所示,它由n级组成,每一级将一对4位的 BCD数字相加,并通过一位进位线与其相邻级连接。而每一位十进制数字的BCD 加法器单元的逻辑 结构示于图2.3(b)。 图2.3 十进制加法器 在十进制运算时,当相加二数之和大于9时,便产生进位。可是用BCD码完成十进制数运算时,

当和数大于9时,必须对和数进行加6修正。这是因为,采用BCD码后,在二数相加的和数小于等于 9时,十进制运算的结果是正确的;而当相加的和数大于9时,结果不正确,必须加6修正后才能得 出正确的结果。因此,当第一次近似求值时,可将它看成每一级是一个4位二进制加法器来执行, 就好像x i 和y i 是普通4位二进制数一样。设S' i 代表这样得到的4位二进制数 和,C' i+1 为输出 进位,而S i 代表正确的BCD和,C i+1 代表正确的进位,那么当x i +y i +C i <10时, S i =S' i 当X i +Y i +C i ≥10时, S i =S' i +6 显然,当C' i+1=1或S' i ≥10时,输出进位C i+1=1。因此,可利用C i+1的状态来产 生所要求的 校正因子:C i+1=1时校正因子为6;C i+1 =0时校正因子为0。在图2.3(b)中,4位 行波式进位的二 进制加法器计算出和S' i ,然后S' i 经过第二级二进制加法器加上0或6,则产生最 终结果S i 。

一位半加器设计与前仿

集成电路课程设计一位半加器设计与前仿 专业:电子科学与技术 学号: 姓名: 指导老师:

一、半加器的电路设计和前仿 1.1熟习schematic 设计环境 1.2掌握半加器电路原理图输入方法 1.3掌握逻辑符号创建方法 1.4熟习电路设计的思想 1.5 熟习集成电路设计仿真工具的使用 1.6 熟习集成电路设计的流程 1.7 熟习集成电路前仿真的设计 一位半加器输入有两个输入端有两个,分别是两个一位二进制数:A 、B ;两个输出端C 代表进位S 表示和。 A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 C=A ∩ B B A B +=A s 三、试验内容和步骤 1.调用cadence 软件 输入icfb 命令调用candence 软件

2.创建模型库与单元视图 1.1在ciw窗口file→new→library,将库文件路径设置在cadence 目录下,name自定义,technology file选第二个;点击file→new →cellview生成单元视图,library name选之前自定义的此处为chen,cell name自定义,viewname设置shcemetic,tool为composer schematic点击ok,就弹出绘制原理图窗口: 快捷键: I,add instance W,add wire P,add pin U,undo M,stretch Del,delete 按照原理图一次添加元件,连线,check and save,无误后进行下一步。

3.创建符号 生成符号 design→create cellview→from cellview弹出cell from cellview窗口,默认设置,ok→ok。这时候会显示一个长方形symbol 符号,将其绘画成反相器的形状,如下图;

vhdl通用十进制加法器

湖南人文科技学院 课程设计报告 课程名称:VHDL语言与EDA课程设计 设计题目:通用十进制加法器 系别:通信与控制工程系 专业:电子信息工程 班级: 学生姓名: 学号: 起止日期: 指导教师: 教研室主任:

指导教师评语: 指导教师签名:年月日 成绩评定 项目权重 成绩 1、设计过程中出勤、学习态度等方面0.2 2、课程设计质量与答辩0.5 3、设计报告书写及图纸规范程度0.3 总成绩 教研室审核意见: 教研室主任签字:年月日教学系审核意见: 主任签字:年月日

摘要 随着科技的发展,通用十进制加法器的应用已广泛融入到现实生活中。EDA 技术的应用引起电子产品及系统开发的革命性变革。本文采用EDA技术设计,并以VHDL语言为基础制作的通用十进制加法器。该系统借助于强大的EDA工具和硬件描述语言可实现两个一位以上的十进制数的加法,在输入两个十进制数之后,给出两个数的相加结果。本设计充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,提高了设计的效率。设计主要步骤:首先利用QUARTUS‖来编辑、编译、仿真各个模块;然后以原理图为顶层文件建立工程,再进行引脚锁定、编译、下载,最后采用杭州康芯电子有限公司生产的GW48系列/SOPC/EDA实验开发系统,进行硬件测试。 关键词:通用十进制加法器;EDA技术;VHDL语言; QUARTUS‖

目录 设计要求 (1) 1、方案论证与对比 (1) 1.1方案一 (1) 1.2方案二 (1) 1.3 方案的对比与选择 (2) 2、设计原理 (2) 3、通用十进制加法器的主要硬件模块 (3) 3.1 4位BCD码全加器模块 (3) 3.2八加法器的实现框图 (3) 4、调试与操作 (4) 4.1通用十进制加法器的功能仿真 (4) 4.2模式选择与引脚锁定 (4) 4.2.1模式选择 (4) 4.2.2引脚锁定 (5) 4.3设备与器件明细表 (6) 4.4调试 (6) 4.4.1软件调试 (6) 4.4.2硬件调试 (6) 5、总结与致谢 (7) 5.1总结与思考 (7) 5.2致谢 (7) 附录 (8) 附录一 (8) 附录二 (9) 参考文献 (11)

实验二一位8421BCD码加法器的设计

实验二一位8421BCD码加法器的设计 一、实验目的 1. 理解四位加法器7483和四位比较器7485的工作原理及使用 2. 掌握一位8421BCD码加法器的工作过程 3. 进一步熟悉Quartus软件的使用,了解设计的全过程, 二、实验内容 1.采用画原理图的方法设计一位8421BCD码加法器。要求使用四位 加法器7483和四位比较器7485及必要的逻辑门电路。 三、分析过程 7483是四位二进制加法器,其进位规则是逢16进1。而8421BCD 码表示的是十进制数,进位规则是逢10进1。用7483将两个1位BCD码相加时,当和小于等于9时,结果正确;当和大于9时,需加6进行修正。 实验中要求使用7483、7485及必要的逻辑门完成。由于7483通过输出引脚C4 S3 S2 S1 S o输出二进制的和,7485是四位比较器,关键在于如何通过7483及7485的输出判断何时应对结果修正以及如何修正。 由于两个1位十进制数相加时,和的取值范围是0—18,将该范围内各数值对应的二进制数和8421BCD码列表,以便寻找何时应对结果修正以及如何修正

从表中分析可得出如下结论: 当7483输出的二进制数的和为0---9时,即S3 S2 S1 SO W 9时结果正确,不需修正;当和为10-----15时S3 S2 S1 S)> 9时,需加6 修正,此种情况可将7483的输出S3 S2 S1 S0送入7485的输入引脚A3 A2 A1 A0 ,将1001(即卩9)送入7485另一组输入引脚B3 B2 B1 B0, 若7485的输出A> B=1,则说明需加6修正;当和为16、17、18时,结果需加6修正。此种情况7483的输出S3 S2 S1 S)v 9,但C4=1。 综合以上分析,当7483输出的二进制数的和S3 S2 S1 S)> 9或 C4=1时结果需修正。此修正的条件可通过7485的输出A> B和7483 输出的C4通过逻辑或门(OR1获得。当OR1输出为1时需修正,当OR1输出为0时不需修正。(分析出何时应对结果修正)

多位十进制数加法器实验-2014

实验三多位十进制数加法器设计 1、实验目的 (1)继续熟练掌握在PC机上建立、汇编、链接、调试和运行8088汇编语言程序的过程; (2)学习数据传送和算术运算指令的用法; (3)掌握子程序设计方法; (4)掌握宏汇编设计方法; (5)掌握键盘输出的DOS功能调用方法。 2、实验内容 (1)将两个多位十进制数相加。要求被加数、加数均以ASCII码形式各自按高位高地址的规律分别顺序存放在以DATAl和DATA2为首的5个内存单元中(低位在前),结果送回结果变量DATA3处,并屏幕显示结果。 (2)在以上程序基础上,设计一个多位十进制数加法器,键盘输入十进制加数和被加数,将输入和输出结果以竖式形式显示在屏幕。 3、提示: (1)算法说明:以42136与12547相加为例,首先将两个数中的每一位都以ASCII码存入相应的内存单元,然后将每一位数都减去30H,并将被加数DATA1和加数DATA2相对应位相加(BCD码加法及其十进制调整,要考虑低位向高位的进位),存入相应的结果DATA3存储单元中,最后将该单元中的每一位数转换成相应的ASCII码,调用DOS系统功能调用的显示字符指令,显示两数相加的结果。 (2)部分程序代码: DATA SEGMENT ;数据段 …;补充必要的代码,定义被加数、加数和结果变量 DATA ENDS STACK SEGMENT STACK ;堆栈段 STA DB 64 DUP(0) SP_TOP DB 0 STACK ENDS CODE SEGMENT ; 代码段 …;补充必要的代码 ;显示回车换行功能用宏定义CRLF实现,放在代码段最前面 CRLF MACRO MOV DL,0DH ;回车(0DH为回车的ASCII 码) MOV AH,02H ; 送DOS 的中断调用功能号 INT 21H ; DOS 的中断调用

1位全加器的电路和版图设计

集成电路设计基础 论文题目:CMOS全加器设计学院:信息科学与工程学院专业:集成电路工程 姓名:耿烨亮 学号:1311082135

CMOS全加器设计 摘要:现代社会随着电路的集成度越来越高,功耗和信号延迟成为超大规模集成电路的关键。加法运算是数字系统中最基本的运算,为了更好地利用加法器实现减法、乘法、除法等运算,需要对全加器进行功能仿真设计和分析。另外通过全加器可以对其它相关电路有所了解。因此只有深刻理解了全加器的性能才能进一步减小功耗和信号延迟[1]。本文用对一位全加器进行了全面的分析。并且通过使用Cadence公司的工具IC 5141与Hspice来实现全定制的整个设计流程。 关键词:全加器;全定制;Cadence

As the circuit’s integration is increasing in the modern society,Power consumption and signal delay is crucial to the design of high-performance very large scale integration circuits. Addition operation is the basic operation of the digital system, In order to achieve much better use of the adder subtraction, multiplication, division and other operations, The need for full adder functional simulation design and analysis is necessary .what’s more, we can understand the other related circuitry through the full adder , Therefore, only a deep understanding of the performance of the full adder can we reduce the power consumption and signal delay.The paper has a comprehensive analysis to the full adder. And through the use of Cadence tool IC 5141 and Hspice to achieve full custom throughout the design process. Key words: the full adder ; Full – Custom; Cadence

EDA课程设计 十进制加法器

燕山大学 课程设计说明书题目:十进制加法计数器 学院(系):电气工程学院 年级专业: 学号: 学生姓名: 指导教师: 教师职称:

燕山大学课程设计(论文)任务书 院(系):电气工程学院基层教学单位:电子实验中心 说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。

目录 第1章摘要 (4) 第2章十进制加法器设计说明 (5) 2.1 设计思路 (5) 2.2 流程图 (5) 2.3 模块介绍 (6) 2.4 真值表 (6) 第3章原理图分析 (11) 3.1 整体原理图 (11) 3.2 输入转换部分设计 (12) 3.3 蜂鸣器部分 (12) 3.4 加法器部分 (13) 3.5 B-BCD(二进制转换为BCD码) (13) 3.6 动态数码管部分 (14) 第4章波形仿真图及结果分析 (16) 第5章管脚锁定及硬件连线 (21) 第6章总结 (22) 参考文献 (23) 燕山大学评审意见表 (24)

摘要 十进制加法器可由BCD码(二-十进制码)来设计,它可以在二进制加法器的基础上加上适当的“校正”逻辑来实现,该校正逻辑可将二进制的“和”改变成所要求的十进制格式。n位BCD码行波式进位加法器由n级组成,每一级将一对4位的BCD数字相加,并通过一位进位线与其相邻级连接。在十进制运算时,当相加二数之和大于9时,便产生进位。用BCD码完成十进制数运算时,当和数大于9时,必须对和数进行加6修正,由加法器和比较器完成功能的实现。加法器的加数和被加数若大9则蜂鸣器警报5秒,数码管显示为0,由比较器和计数器控制。动态数码管由计数器、数据选择器、译码器完成显示功能。 关键词:十进制加法器、动态数码管显示、蜂鸣器警报

实验一1 1位全加器的设计

实验一1位全加器的设计 一、实验目的 1.熟悉ISE软件的使用; 2.熟悉下载平台的使用; 3.掌握利用层次结构描述法设计电路。 二、实验原理及说明 由数字电路知识可知,一位全加器可由两个一位半加器与一个或门构成,其原理图如图1所示。该设计利用层次结构描述法,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验板,其中a,b,cin 信号可采用实验箱上SW0,SW1,SW2键作为输入,输出sum,cout信号采用发光二极管LED3,LED2来显示。 图1 全加器原理图 三、实验步骤 1.在ISE软件下创建一工程,工程名为full_adder,工程路径在E盘,或DATA盘, 并以学号为文件夹,注意不要有中文路径,注意:不可将工程放到默认的软件安装 目录中。芯片名为Spartan3E系列的XC3S500E-PQG208 2.新建Verilog HDL文件,首先设计半加器,输入如下源程序; module half_adder(a,b,s,co); input a,b; output s,co;

wire s,co; assign co=a & b; assign s=a ^ b; endmodule 3.保存半加器程序为half_adder.v,通过HDL Bench画仿真波形,获得仿真用激励文 件,随后进行功能仿真、时序仿真,验证设计的正确性,观察两种仿真波形的差异。 4.在Design窗口中,选择Design Utilities→Create Schematic Symbol创建半加器模 块; 5.新建一原理图(Schematic)文件,在原理图中调用两个半加器模块、一个或门模块, 按照图1所示连接电路,并连接输入、输出引脚。完成后另保存full_adder.sch。 6.对设计进行综合,如出现错误请按照错误提示进行修改。 7.HDL Bench画仿真波形,获得仿真用激励文件,分别进行功能与时序仿真,验证全 加器的逻辑功能,观察两类波形的差异。 8.根据下载板的情况锁定引脚 9.下载,采用JATG方式进行下载,通过SW0,SW1,SW2输入,观察的LED2,LED3, 亮灭情况,验证全加器的逻辑功能。 四、思考题 1.为什么在实验步骤3中,将半加器保存为half_adder,可否保存为full_adder? 2.对电路进行功能仿真与时序仿真时,发现二者有什么样的区别? 3.为什么要进行引脚锁定? 4.采用层次结构法描述电路有什么样的优点?

一位十进制加法器设计报告

一位十进制加法器设计报告成员:

一位十进制加法器 一、实验目的: 1、进一步学习组合逻辑电路的设计方法; 2、学习相关芯片的使用; 3、学一位十进制加法器的原理,并设计一个一位十进制加法电路。 二、设计原理: 利用74HC283芯片,可以实现4为二进制数的相加运算,因此,对两个一位十进制数进行加运算时,应先把十进制数转化成二进制数,即进行编码,然后进行加运算,编码采用了两个8线-3线编码器串联组成的16线-4线编码器。对求和结果进行输出时,当结果是一位十进制数时,可以直接输出,而求和结果为二位十进制数时,需要将结果分成十位数字和个位数字,分别显示在两个七段数码显示器上,这就需要对输出结果进行处理,设计时用对要输出结果加六,并取后四位作为个位输出,十位输出为1。 下面分介绍电路各个部分的设计方法与功能。 1、译码部分: 电路设计如图一,CD4532为8线-3线译码器,输入和输出端均为高电平有效,即可以把0~7的十进制数转化为相应的二进制数输出。设计时用两片CD4532组成16线-4线译码器,当要是入一个十进制数时,在相应的输入端加高电平即可。 图一 2、求和部分: 求和部分电路设计如图二,74HC283为四位二进制加法器,输入和输出端均为高电平有效,可以对输入的两个十进制数转化为的二进制数进行求和,其中,C4为进位输出端,当输出结果超过15时,输出高电平。

图二 3、结果处理输出部分: 结果处理输出部分电路设计如图三,CD4585为四位二进制比较电路,输入和输出端均为高电平有效,用两片CD4585组成8位二进制比较电路,将求和结果与9比较。当结果小于9时,输出端输出为低电平,即输出为零,利用74HC283,将结果直接输出;当大于9时输出为1,对输出结果加6,并取后四位作为个位输出。当输出结果为10~15时,用作加六运算的74HC283的C4端输出为1;当结果为16~18时,用作求和的电路C4端输出为1;当结果为0~9时,二者输出均为0;以此可以控制十位输出1还是0。 图三 4、显示部分:

一位全加器的设计(学习资料)

课程设计任务书 学生姓名:袁海专业班级:电子1303班 指导教师:封小钰工作单位:信息工程学院 题目: 一位全加器的设计 初始条件: 计算机、ORCAD软件,L-EDIT软件 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1、课程设计工作量:1周 2、技术要求: (1)学习ORCAD软件,L-EDIT软件。 (2)设计一个一位全加器电路。 (3)利用ORCAD软件对该电路进行系统设计、电路设计,利用L-EDIT软件进行版图设计,并进行相应的设计、模拟和仿真工作。 3、查阅至少5篇参考文献。按《武汉理工大学课程设计工作规范》要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。 时间安排: 2016.12.30布置课程设计任务、选题;讲解课程设计具体实施计划与课程设计报告格式的要求;课程设计答疑事项。 2016.12.31-2017.1.2学习ORCAD软件和L-EDIT软件,查阅相关资料,复习所设计内容的基本理论知识。 2017.1.3-2017.1.4对一位全加器电路进行设计仿真工作,完成课设报告的撰写。 2017.1.5 提交课程设计报告,进行答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要.................................................................................................................................................. I ABSTRACT ................................................................................................................................... II 1绪论. (1) 1.1集成电路发展现状 (1) 1.2集成电路版图工具L-edit简介 (1) 2全加器原理及一位全加器原理图设计 (3) 2.1一位全加器原理简介 (3) 2.2实现一位全加器功能的原理图设计 (4) 2.2.1一位全加器原理图 (4) 2.2.2基于ORCAD的一位全加器设计 (4) 2.2.3 一位全加器的电路图仿真 (7) 3一位全加器的版图设计 (9) 3.1确定一位全加器版图结构 (9) 3.2源漏共享缩小版图面积 (10) 3.3 版图所需基础器件绘制编辑 (12) 3.3.1 PMOS、NMOS等基础器件编辑 (12) 3.3.2 两输入与非门与异或门的绘制编辑 (13) 3.3.3源漏共享得到版图 (14) 3.4 绘制最终一位全加器版图 (15) 4心得体会 (18) 5参考文献 (19)

8位二进制加法器

8位二进制加法器 1.摘要: 本次设计主要是如何实现8位二进制数的相加,即两个000到255之间的数相加,由于在实际中输入的往往是三位十进制数,因此,被加数和加数是两个三位十进制数,范围在000到255之间,通过六个二-十进制编码器(即74LS147)分别将加数和被加数的个位、十位、百位转换为8421BCD码,于是得到了两个12位字码,将它们接入三个四位超前进位并行加法器(即74LS283),其中原加数三位十进制数的个位转换得到的四位BCD码与被加数三位十进制数的个位转换得到的四位BCD码相加,串入到第一个74LS283的接线端,得到一个四位8421BCD码。同理,原加数和被加数的十位转换得到的四位BCD码相加也得到一个8421BCD码。同理,百位也是如此。需要注意的是:由于这12位BCD码是由三位十进制数转换过来的,因此在用加法器相加时,要逢10进一。于是通过一些与非门、非门和加法器构成一个新的加法器,使该加法器能对这十二位BCD码进行计算,并且逢10进1,这样得到一个十二位BCD码,即相加结果三位十进制数所对应的BCD码,再通过7447数字显示译码器将这十二位8421BCD码还原成一个三位十进制数,用数码管显示出来,得到一个三位十进制数,即为所求的结果。另外,本次设计不仅可以适用加数和被加数是000到255的数字,同时也适用于加数和被加数是000到999的任何一个数,这是本次设计的创新之处。2.关键字: 二-十进制编码器、四位超前进位并行加法器、7447七段数码显示译码器、逢十进一、数码管。 3.设计要求: 1.八位二进制加数与被加数的输入; 2.三位数码管显示; 3.三位十进制加数与被加数的输入。 4.正文: 第一章系统概述 本次设计的目的是实现两个八位二进制数的相加,那么我们如何实现呢?通常在实际中输入的是三位十进制数,而要求是八位二进制数,八位二进制数换算成三位十进制数最大为

4位二进制加法器课程设计

长安大学 电工与电子技术课程设计 题目:4位二进制加法器学院:汽车学院 专业:汽车运用工程 班级: 姓名: 学号: 指导老师:李三财

目录 一、课题名称与技术要求··························· 二、摘要········································· 三、总体设计方案论证及选择······················· 1、方案论证与选择······························ 2、加法器的选取································ 3、译码器的选取································ 4、数码管的选取································ 四、设计方案的原理框图、总体电路原理图及说明····· 1、原理框图···································· 2、总体电路原理图······························ 3、说明········································ 五、单元电路设计、主要元器件选择及电路参数计算··· 1、单元电路设计································ 2、主要元器件选择······························ 六、收获与体会及存在的问题······················· 七、参考文献····································· 八、附件·········································

设计示例432位先行进位加法器的设计

设计示例4:32位先行进位加法器的设计 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有关,将各级间的进位级联传播给去掉了,因此减小了进位产生的延迟。每个等式与只有三级延迟的电路对应,第一级延迟对应进位产生信号和进位传递信号,后两级延迟对应上面的积之和。实现上述逻辑表达式(1-3)的电路称为超前进位部件(Carry Lookahead Unit),也称为CLA 部件。通过这种进位方式实现的加法器称为超前进位加法器。因为各个进位是并行产生的,所以是一种并行进位加法器。 从公式(1-3)可知,更多位数的CLA部件只会增加逻辑门的输入端个数,而不会增加门的级数,因此,如果采用超前进位方式实现更多位的加法器,从理论上讲,门延迟不变。但是由于CLA部件中连线数量和输入端个数的增多,使得电路中需要具有大驱动信号和大扇入门,这会大大增加门的延迟,起不到提高电路性能的作用。因此更多位数的加

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