vhdl通用十进制加法器

vhdl通用十进制加法器
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)

通用十进制加法器

设计要求

1、用VHDL 硬件描述语言设计4位的BCD 码全加器;

2、以4位BCD 码全加器为模块设计两位十进制数的加法。

1、方案论证与对比

1.1方案一

方案一,通过VHDL 语言设计一个4位的BCD 码全加器,以其作为底层文件,然后建立一个顶层文件,调用这个底层文件设计出双4位的BCD 码全加器,最后结果通过译码电路译为7段显示输出。方案一原理方框图如图1所示:

图1 方案一结构方框图

1.2方案二

方案二,采用原理图输入,先定制LPM_ROM 宏模块,然后再采用原理图输入的方法画出电路图。方案二原理方框图如图2所示:

4位的BCD 码全加器

4位的BCD 码全加器

显示结果

译码器

控制信号

输入信号

定制LPM_ROM宏模块

译码器显示结果

原理设计图

图2 方案二结构方框图

1.3 方案的对比与选择

方案一:采用VHDL语言输入,它具有多层次的设计描述功能,层层细化,最后可直接生成电路描述,移植性很强。而且采用VHDL语言输入设计不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。

方案二:采用原理图输入,原理图输入的设计方法不能实现真实意义上的自顶向下的设计,并无法建立行为模型。而且不同的EDA软件中的图形处理工具对图形的设计规则、存档格式和图形编译方式都不同,因此兼容性差。

选择方案一的理由:方案一比较方案二具有综合设计优点。

2、设计原理

用VHDL 进行设计,首先应该了解,VHDL 语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。应充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的,它使得人们可以从简单的单元入手,逐渐构成庞大而复杂的系统。

通用十进制加法器的功能为:输入两个十进制数,通过输入信号BTN相加得出十进制数结果,最后通过译码器来显示结果。

图3 加法器原理图

3、通用十进制加法器的主要硬件模块

3.1 4位BCD 码全加器模块

C4A4[3..0]B4[3..0]BTN

S4[3..0]

CO4

add_f

inst

3 4位的BCD 码全加器

3.2八加法器的实现框图

图4 8位加法器原理

4、调试与操作

4.1通用十进制加法器的功能仿真

图5 时序仿真1

图6 时序仿真2

4.2模式选择与引脚锁定

4.2.1模式选择

根据程序,结合电路设计情况,最终选择了模式3,以CTRA,CTRA1,CTRB,CTRB1为输入信号,每按一下输入信号CTRA(CTRB),两位的十进制数的个位就加一,同理,按一下输入信号CTRA1(CTRB1),这个十进制数的十位加一;并通过控制信号BTN来得出结果,最后译码显示出来。

4.2.2引脚锁定

表1 引脚锁定表

信号名类型(输入/输出)引脚号说明

BTN IN PIN_233 控制信号CTRA IN PIN_239 输入信号CTRA1 IN PIN_240 输入信号CTRB IN PIN_237 输入信号CTRB1 IN PIN_238 输入信号A4[0] OUT PIN_161 BUFFER A4[1] OUT PIN_162 BUFFER A4[2] OUT PIN_163 BUFFER A4[3] OUT PIN_164 BUFFER A14[0] OUT PIN_165 BUFFER A14[1] OUT PIN_166 BUFFER A14[2] OUT PIN_167 BUFFER A14[3] OUT PIN_168 BUFFER B4[0] OUT PIN_137 BUFFER B4[1] OUT PIN_138 BUFFER B4[2] OUT PIN_139 BUFFER B4[3] OUT PIN_140 BUFFER B14[0] OUT PIN_141 BUFFER B14[1] OUT PIN_158 BUFFER B14[2] OUT PIN_159 BUFFER B14[3] OUT PIN_160 BUFFER

S[0] OUT PIN_13 输出信号

S[1] OUT PIN_14 输出信号

S[2] OUT PIN_15 输出信号

S[3] OUT PIN_16 输出信号

S[4] OUT PIN_17 输出信号

S[5] OUT PIN_18 输出信号

S[6] OUT PIN_19 输出信号

S[7] OUT PIN_20 输出信号

S[8] OUT PIN_21 输出信号

S[9] OUT PIN_41 输出信号S[10] OUT PIN_128 输出信号

S[11] OUT PIN_132 输出信号

4.3设备与器件明细表

表2 设备与器件明细表

名称型号/参数数量SOPC/EDA开发系统GW48系列1套微型计算机联想1台Quartus II开发软件Quartus II 1套

4.4调试

4.4.1软件调试

本系统的软件系统很长,首先按照QuartusII设计流程,完成各项步骤,编好VHDL 程序。然后运行,查看是否有语法错误,当确认程序没有语法错误的前提下,开始建立波形编辑器文件,开始时序仿真,查看结果是否符合题目要求,若符合,则进行下一步的硬件调试,否则,重新检查程序,以及仿真设置等等,直到符合要求。软件调试采取的是自分断调试的方法,即单独调试好每一个模块,然后再连接成一个完整的系统,最后完成一个完整的系统调试。

4.4.2硬件调试

锁定引脚后,然后进行硬件调试,本课程设计采用的是Cycone 系列的SOPC/EDA 开发系统,根据电路设计情况,通过分析,最终选择了模式7,选择CLOCK0作为输入的时钟信号的端口,16位预置输入数通过4个4位的按键控制。引脚锁定后,开始下载到Cycone 系列的SOPC/EDA开发系统,通过按键输入不同的初始值,输入完毕后,通过按键2控制输出两输入数的和。最后,通过嵌入式逻辑分析仪SignalTal II测试,然后通过设置以确定前后触发捕捉信号信息的比列。

5、总结与致谢

5.1总结与思考

本次EDA课程设计,是我们第一次深入接触电路设计和工程设计的内容。作为一个学生,在过去的两年半中学习了专业的各方面知识,包括电路原理、模拟电路、数字电路等等,而这周的EDA课设,将我们学过的各方面电学知识和现代电路设计方法结合起来,应用计算机软件进行课题项目设计,不单夯实了我们的理论知识和对数字电路的理解,更极大的锻炼了我们实际动脑、动手能力。

我们的设计题目是通用十进制加法器,通过拨码开关输入两个十进制数,将输入的数通过数码管显示,相加后的结果也通过数码管显示出来。

这个设计题目是整体来看是比较简单的。仔细分析这个题目,遇到的第一个问题是要对两个输入的数进行处理,当其大于9的时候要把它变成0后再输入加法器。而后比较棘手的问题是怎样把输出的二进制结果转换成十进制数。由此我们设计出一个查表方案。至此,整个设计方案就比较完善了。

5.2致谢

通过两周课程设计,我们受益良多。在老师的指导下,我们逐步完善了各个环节的构思与设计。在这两周的时间里,这次课设让我在实际中真正地运用了在课本中学到的东西,既加深理论知识的理解,又锻炼了自己的动手能力。在此,对老师们致以衷心的感谢和崇高的敬意!最终,在老师及同学们的帮助与指导下顺利完成了本次的课程设计。

附录

附录一

底层源程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY add_f IS

PORT(C4: IN STD_LOGIC;--前一位的进位C

A4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);--被加数A

B4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);--被加数B

S4: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--相加的和S

BTN:in std_logic;

CO4: OUT STD_LOGIC);--相加产生的进位C

END ENTITY add_f;

ARCHITECTURE ART OF add_f IS

SIGNAL S5,S6: STD_LOGIC_VECTOR(4 DOWNTO 0);

SIGNAL A5,B5: STD_LOGIC_VECTOR(4 DOWNTO 0);

BEGIN

process(BTN)

begin

if BTN'EVENT AND BTN='1' then

A5<='0'&A4;--扩展被加数A高位为0

B5<='0'&B4;--扩展被加数B高位为0

S5<=A5+B5+C4;--二数相加,并加上前一位的进位

if S5>"01001" THEN

S6<=S5+"00110";

ELSE S6<=S5;

END IF;

end if;

S4<=S6(3 DOWNTO 0);

CO4<=S6(4);

end process;

END ARCHITECTURE ART;

附录二

顶层源文件

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

use ieee.std_logic_arith.all;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY add IS

PORT( A4,A14: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);--被加数A B4,B14: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);--被加数B

BTN,CTRA,CTRA1,CTRB,CTRB1:IN std_logic;

S: OUT STD_LOGIC_VECTOR(11 DOWNTO 0));--相加的和S

END ENTITY add;

ARCHITECTURE ART OF add IS

component add_f

PORT(C4: IN STD_LOGIC;--前一位的进位C

A4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);--被加数A

B4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);--被加数B

S4: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--相加的和S BTN:IN STD_LOGIC;

CO4: OUT STD_LOGIC);--相加产生的进位C

end component;

SIGNAL COUT,C1,C2: STD_LOGIC;

BEGIN

PROCESS(CTRA,CTRA1,CTRB,CTRB1)

BEGIN

IF CTRA'EVENT AND CTRA='1' THEN

IF A4<"1001" THEN A4<=A4+1; ELSE A4<="0000";

END IF;END IF;

IF CTRA1'EVENT AND CTRA1='1' THEN

IF A14<"1001" THEN A14<=A14+1; ELSE A14<="0000";

END IF;END IF;

IF CTRB'EVENT AND CTRB='1' THEN

IF B4<"1001" THEN B4<=B4+1; ELSE B4<="0000";

END IF;END IF;

IF CTRB1'EVENT AND CTRB1='1' THEN

IF B14<"1001" THEN B14<=B14+1; ELSE B14<="0000";

END IF;END IF;

END PROCESS;

C1<='0';

u1:add_f port map(C4=>C1,A4=>A4,B4=>B4,BTN=>BTN,CO4=>COUT,S4=>S(3 DOWNTO 0));

u2:add_f port map(C4=>COUT,A4=>A14,B4=>B14,BTN=>BTN,CO4=>C2,S4=>S(7 DOWNTO 4));

s(8)<=C2;

S(11 DOWNTO 9)<="000";

END ARCHITECTURE ART;

参考文献

[1]潘松,黄继业主编.EDA技术与VHDL[M].北京:清华大学出版社.2006年9月

[2]潘松,王国栋编著.VHDL实用教程[M].成都:电子科技大学出版社,2006

[3]江国强主编.EDA技术与应用[M].北京:电子工业出版社.2007

[4]康华光主编.数字技术基础(第五版)[M].北京:高等教育出版社.2000

[5]徐志军,徐光辉编著.CPLD/FPGA的开发与应用[M].北京:电子工业出版社.2002

[6]李玉华.DEA技术与电子实验教学结合的探讨[J].长春师范学院报(自然科学版),2009,(06)

[7]庄海军,林咏海.基于FPGA的数控分频器的实现[J].电子与封装,2008,(11)

[8]周立功编著.EDA实验与实践[M].北京:北京航空航天大学出版社.2007年3月

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

实验项目二:简单计算器设计与实现基本要求: 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设计文件,如下图所示: 依照上述步骤,保存文件,对文件进行编译、仿真,以下是仿真结果,如图所示:

全加器构成十进制加法器

上海 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)二位数码管显示 摘要 本设计通过八个开关将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(比较小),出于简单起见,这里选择串行进位加法器。 译码器Ⅱ选择 译码是编码的逆过程,将输入的每个二进制代码赋予的含意“翻译”过来,给出相应的输出信号。译码器是使用比较广泛的器材之一,主要分为:变量译码器和码制译码器,其中二进制译码器、二-十进制译码器和显示译码器三种最典型,使用十分广泛。显示译码器又分为七段译码器和八段

十进制加法器

十进制加法器 十进制加法器可由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 。

实验二 一位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 S0输出二进制的和,7485是四位比较器,关键在于如何通过7483及7485的输出判断何时应对结果修正以及如何修正。 由于两个1位十进制数相加时,和的取值范围是0—18,将该范围内各数值对应的二进制数和8421BCD码列表,以便寻找何时应对结果修正以及如何修正

从表中分析可得出如下结论: 当7483输出的二进制数的和为0---9时,即S3 S2 S1 S0≤9时结果正确,不需修正;当和为10-----15时S3 S2 S1 S0>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 S0<9,但C4=1。 综合以上分析,当7483输出的二进制数的和S3 S2 S1 S0>9或C4=1时结果需修正。此修正的条件可通过7485的输出A>B和7483输出的C4通过逻辑或门(OR1)获得。当OR1输出为1时需修正,当OR1输出为0时不需修正。(分析出何时应对结果修正)

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)

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、进一步学习组合逻辑电路的设计方法; 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、显示部分:

设计示例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部件中连线数量和输入端个数的增多,使得电路中需要具有大驱动信号和大扇入门,这会大大增加门的延迟,起不到提高电路性能的作用。因此更多位数的加

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

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

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

一位十进制BCD码加法器设计

一位十进制BCD码加法器设计 计科1001班 2010310200523 初昌禹 2012年3月30日

实验目的:熟悉基于EDA平台的电路设计,掌握MAXPLUS的使用,并运用MAXPLUS设计电路图,模拟其工作环境 实验原理:MAXPLUS软件能够模拟电路工作的实际情况,给电路设计带来方便 实验内容:使用MAXPLUS设计一位十进制BCD码的加法器 部件的逻辑原理图: 一位全加器FA的逻辑图: 实验电路图:

图三: 波形图:

实验步骤:分析一位BCD码进行加分运算的情况,进位或者不进位分成两种情况,而进位又分为两种情况: 1)若不进位,则结果直接相加即若仅为信号为0,则不进行其他操作 2)若进位,则要进行分析,BCD码只能表示0~9之间的数字,若超过9则要进行进位,而当BCD码之和超过15(16~18)超过四位二进制的表示 范围,也要进行进位考虑 ○1当和的范围是10~15时:画卡洛图得到的表达式是F=S3S Z?S0+S1S0,依 据表达式得到电路图添加到上图中,表达式的逻辑图如图三,当二者和 超过10时,例如当和为12时,二进制表示:1100,对其加6修正,修 正后结果是1(溢出)0010 ②当和的范围超过了16时,超过四位二进制的表示范围,这需要对结 果进行修正,例如:二者和超过17时,二进制结果是1(溢出)0001, 对结果进行修正,这结果是1(溢出)0111,若对结果修正,也要对结 果加0110 实验的测试数据及测试结果: 实验小结:用BCD码表示的十进制加法要对其进行详细分析: ①当二者和小于等于9时,无需进位,不用进行其他的任何处理,直接进行 加法运算; ②当和大于等于10小于等于15时,要对其进行加6修正(+0110) ③当合大于等于16时,超过了四位二进制的表时范围对于其结果也要进行 加6修正,由于②、③的情况不能同时发生,因此二者的信号不能合并实验中遇到的问题及解决方法: ①判断冗余位:1010、1011、1100、1101、1110、1111是冗余位,用卡洛 图, 判断,卡洛图

十进制加法计数器

十进制加法器设计 1课程设计的任务与要求 1.1课程设计的任务 1、综合应用数字电路知识设计一个十进制加法器。了解各种元器件的原理及其应用。 2、了解十进制加法器的工作原理。 3、掌握multisim 软件的操作并对设计进行仿真。 4、锻炼自己的动手能力和实际解决问题的能力。 5、通过本设计熟悉中规模集成电路进行时序电路和组合电路设计的方法,掌握十进制加法器的设计方法。 1.2课程设计的要求 1、设计一个十进制并运行加法运算的电路。 2、0-9十个字符用于数据输入。 3、要求在数码显示管上显示结果。 2十进制加法器设计方案制定 2.1加法电路设计原理 图1加法运算原理框图 如图1所示 第一步 置入两个四位二进制数。例如(1001)2,(0011)2和(0101)2,(1000)2,同时在两个七段译码显示器上显示出对应的十进制数9,3和5,8。 第二步 将置入的数运用加法电路进行加法运算。 第三步 前面所得结果通过另外两个七段译码器显示。即:

加法运算方式,则(1000) 2+(0110) 2 =(1110) 2 十进制8+6=14 并在七段译码显示出 14。 2.2运算方案 通过开关S1——S8接不同的高低电平来控制输入端所置的两个一位十进制数,译码显示器U8和U9分别显示所置入的两个数。数A直接置入四位超前进位加法器74LS283的A4——A1端,74LS283的B4——B1端接四个2输入异或门。四个2输入异或门的一输入端同时接到开关S1上,另一输入端分别接开关S5——S8,通过开关S5——S8控制数B的输入,通过加法器74LS283完成两个数A和B的相加。由于译码显示器只能显示0——9,所以当A+B>9时不能显示,我们在此用另一片芯片74LS283完成二进制码与8421BCD码的转换,即S>9(1001)2时加上3(0011)2,产生的进位信号送入译码器U10来显示结果的十位,U11显示结果的个位。 3十进制加法器电路设计 3.1加法电路的实现 用两片4位全加器74LS283和门电路设计一位8421BCD码加法器。由于一位8421BCD 数A加一位数B有0到18这十九种结果。而且由于显示的关系,当大于9的时候要加六转换才能正常显示,所以设计的时候有如下的真值表:

基于proteus的十进制加法器设计

实验题目:基于proteus的十进制加法器设计 一、实验目的 初步掌握Protues进行数字电路电路设计和仿真的方法;培养中小规模组合逻辑电路综合运用的能力。 二、实验设备 硬件:计算机 软件:Proteus 三、实验内容 设计实现两个一位十进制数(8421BCD码)相加电路,利用数码管显示来结果(8421BCD码)。 四、实验原理 利用加法器、比较器和译码器的组合逻辑电路实现两个一位十进制数的相加。 五、实验步骤: (一)分析题目 关于元器件的选择,一般构成加法运算电路主要由集成4位超前进位加法器74LS283实现。这个芯片可以进行两个4位2进制数的全加,符合我此次课程设计的要求,所以就采用它来完成我的电路功能。对于加法运算,开关控制输入,将输入的两位十进制数(10 以内)的二进制送入74283 全加器,结果经过译码显示电路后由LED 管显示。当相加的结果大于1001 时,需要对结果加0110,将其变为个位与十位,然后经过译码显示电路,由LED 显示结果。由于一位8421BCD数A加一位数B有0到18这十九种结果。而且由于显示的关系,当大于9的时候要加六转换才能正常显示,具体情况如下: 结合真值表,把问题分成三个部分: 1.和为0-9时,直接输出。 2.和为10-15时,加上0110,再输出。 3.和为16-18时,在2的基础上,结合第一个加法器的进位,进行输出。 (二)设计电路

(三)仿真测试 (1+3=4) (6+6=12) 六、实验总结和心得体会 通过这次课程设计,加强了我们动手、思考和解决问题的能力。在整个设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的接法可以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。同时,做仿真实验也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,所以在这次实验过程中,我们了解了很多元件的功能,对于它们在电路中的使用有了更多的认识。

一位加法器的设计

1、课程设计的目的 课程设计是某门课程的总结性教学环节,是培养学生综合运用本门课程及有关先修课程的基本知识去解决某一实际问题的基本训练,加深对该课程知识的理解。在整个教学计划中,它起着培养学生独立工作能力的重要作用。 通过本课程设计, 主要训练和培养学生的以下能力: (1).查阅资料:搜集与本设计有关部门的资料(包括从已发表的文献中和从生产现场中搜集)的能力; (2).方案的选择:树立既考虑技术上的先进性与可行性,又考虑经济上的合理性,并注意提高分析和解决实际问题的能力; (3).迅速准确的进行工程计算的能力,计算机应用能力; (4).用简洁的文字,清晰的图表来表达自己设计思想的能力。 2.课程设计的题目描述与要求 题目:一位加法器 我们要设计一个两个十进制数加法器(含进位位),其中十进制数编码为8421码。十进制数加法可首先转换为二进制加法来执行。然后,若得到的和大于9,则产生一个进位值,并在得到的和值上加6(这是用来补足未使用的六种输入组合)。 要求:(1)利用基本逻辑门电路和编码器,译码器及计数器完成电路(2)用LED管显示 3.课程设计报告内容 3.1设计方案的选定与说明 要设计一个一位加法器,我选用了两片全加器74LS83芯片,一片与非门74LS00芯片,一片三输入的与非门74LS10芯片,两片74HC4511七段显示译码器和两个LED显示器。 3.2论述方案的各部分工作原理 (1).显示译码器: 发光二极管构成的七段显示器有两种,共阴极和共阳极电路,共阴

极电路中,七个发光二极管的阴极连在一起接低电平,需要某一段发光,就将相应二极管的阳极接高电平。共阳极显示器的驱动则刚好相反,七段LED数码管的原理图如图1所示,具有4个输入端,7个输出端。如显示译码器74HC4511。图 2为共阳共阴极接法。其功能表见表1。 图 1 (a)共阳极接法(b)共阴极接法 表1

第五讲 基本的二进制加法减法器

第五讲.基本的二进制加法/减法器 本讲内容: 1.一位全加器的设计与实现 2.N位行波进位加法/减法器 3.十进制加法器的实现 1. 一位全加器的设计与实现 设加法器的输入端为x i和y i,进位输入端为c i,结果输出端为z i,进位输出端为c i+1,则一位加法器的真值表如下表所示。20 输入输出 x0 y0 c i c i+1 z i 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 1 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 0 1 1 1 1 1 第i位加减法电路的输入输出关系可表示为

同一套加法器电路,可以完成[x+y]补和[x-y]补的运算,实现过程中的差别仅表现在加法时y用其原值,而减法时对y求一次补。求补的操作就是在按位求反的基础上最低位再加上1,结果得到[-y]补。求补操作可以通过在输入端增加一个反相输入实现,加1操作可通过在最低位上设置进位输入信号为1来实现。这样改进的加法器电路ALU如下图所示。 在上图所示的具有加减法功能的电路中增加了一个信号M,用于控制加减法运算。 当M=0时得到上述相同的全加器公式: 当M=1时得到求差公式:

2、N位行波进位加法/减法器 n个1位的全加器(FA)可级联成一个n位的行波进位加减器。M为方式控制输入线,当M=0时,作加法(A+B)运算;当M=1时,作减法(A-B)运算,在后一种情况下,A-B运算转化成[A]补+[-B]补运算,求补过程由B+1来实现。因此,图中最右边的全加器的起始进位输入端被连接到功能方式线M上,作减法时M=1,相当于在加法器的最低位上加1。另外,图中左边还表示出单符号位法的溢出检测逻辑;当Cn=Cn-1时,运算无溢出;而当Cn≠Cn-1时,运算有溢出,经异或门产生溢出信号。 对一位全加器(FA)来说,Si的时间延迟为6T(每级异或门延迟3T),Ci+1的时间延迟为5T,其中T被定义为相应于单级逻辑电路的单位门延迟。T通常采用一个“与非”门或一个“或非”门的时间延迟来作为度量单位。 现在我们计算一个n位的行波进位加法器的时间延迟。假如采用图2.2(a)所示的一位全加器并考虑溢出检测,那么n位行波进位加法器的延迟时间ta为 ta=n·2T+9T=(2n+9)T (2.22) 9T为最低位上的两极“异或”门再加上溢出“异或”门的总时间,2T为每级进位链的延迟时间。当不考虑溢出检测时,有 ta=(n-1)·2T+9T (2.23) ta意味着加法器的输入端输入加数和被加数后,在最坏情况下加法器输出端得到稳定的求和输出所需的最长时间。显然这个时间越小越好。注意,加数、被加数、进位与和数都是用电平来表示的,因此,所谓稳定的求和输出,就是指稳定的电平输出

实验二一位8421BCD码加法器的设计教学提纲

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

实验二一位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 S0输出二进制的和,7485是四位比较器,关键在于如何通过7483及7485的输出判断何时应对结果修正以及如何修正。 由于两个1位十进制数相加时,和的取值范围是0—18,将该范围内各数值对应的二进制数和8421BCD码列表,以便寻找何时应对结果修正以及如何修正

从表中分析可得出如下结论: 当7483输出的二进制数的和为0---9时,即S3 S2 S1 SK 9时结果正确,不需修正;当和为10-----15时S3 S2 S1 S)> 9时,需加6 修正,此种情况可将7483的输出S3 S2 S1 SQ送入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)v9,但C4=1。 综合以上分析,当7483输出的二进制数的和S3 S2 S1 S)> 9 或C4=1时结果需修正。此修正的条件可通过7485的输出A> B和7483输出的C4通过逻辑或门(0R1获得。当0R1输出为1时需修正,当0R1输出为0时不需修正。(分析出何时应对结果修正) 需再使用一片7483实现加6修正,将第一片7483输出的

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

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

实验项目二:简单计算器设计与实现 基本要求: 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设计文件,如下图所示: 依照上述步骤,保存文件,对文件进行编译、仿真,以下是仿真结果,如图所示:

全加器构成十进制加法器

全加器构成十进制加法器

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

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 码加法电路,电路图如下: 3

相关文档
最新文档