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

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

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

一位十进制加法器

一、实验目的:

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、显示部分:

显示部分即将输入和求和结果显示在七段数字显示管上,电路设计如图四。74LS48为七段显示译码器,输入和输出端均为高电平有效。将74LS48接限流电阻后,接在共阴极七段数码显示器上,便可以将输出结果显示。

图四

三、总结:

通过本次仿真实验,首先学习了相关加法芯片、译码芯片、七段数字译码器等芯片的使用,学习了组合逻辑电路的设计方法、思路、过程,而且进一步学习了数字电子技术所学知识在实际中的应用,对于进一步理解掌握数字电子技术所学知识很有帮助。

实验一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位二进制全加器)。

实验一 八位全加器的设计

电子科技大学电子工程学院标准实验报告(实验)课程名称EDA技术与应用 姓名:孙远 学号:2010021030002 指导教师:窦衡 电子科技大学教务处制表

实验一八位全加器的设计 一、预习内容 1.结合教材中的介绍熟悉QuartusⅡ软件的使用及设计流程; 2.八位全加器设计原理。 二、实验目的 1.掌握图形设计方法; 2.熟悉QuartusⅡ软件的使用及设计流程; 3.掌握全加器原理,能进行多位加法器的设计。 三、实验器材 PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干 四、实验要求 1、用VHDL设计一个四位并行全加器; 2、用图形方式构成一个八位全加器的顶层文件; 3、完成八位全加器的时序仿真。 五、实验原理与内容 1、原理: 加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实验表明,4 位二进制并行加法器和串行级联加法器占用几乎相同的资源。这样,多位数加法器由4 位二进制并行加法器级联构成是较好的折中选择。因此本实验中的8 位加法器采用两个4位二进制并行加法器级联而成。

2、实现框图: 1)四位加法器 四位加法器可以采用四个一位全加器级连成串行进位加法器,实现框图如下图所示,其中CSA为一位全加器。显然,对于这种方式,因高位运算必须要等低位进位来到后才能进行,因此它的延迟非常可观,高速运算肯定无法胜任。 通过对串行进位加法器研究可得:运算的延迟是由于进位的延迟。因此,减小进位的延迟对提高运算速度非常有效。下图是减少了进位延迟的一种实现方法。可见,将迭代关系去掉,则各位彼此独立,进位传播不复存在。因此,总的延迟是两级门的延迟,其高速也就自不待言。 2)八位加法器 用两个并行四位加法器实现一个八位加法器的框图如下:

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

实验一四位串行进位加法器的设计 一、实验目的 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);

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

南昌大学实验报告 学生姓名: 学 号: 专业班级: 中兴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。

8位全加器的设计

课程设计报告 课程名称数字逻辑课程设计 课题8位全加器的设计 专业计算机科学与技术 班级1202 学号34 姓名贺义君 指导教师刘洞波陈淑红陈多 2013年12月13日

课程设计任务书 课程名称数字逻辑课程设计 课题8位全加器的设计 专业班级计算机科学与技术1202 学生姓名贺义君 学号34 指导老师刘洞波陈淑红陈多审批刘洞波 任务书下达日期:2013年12月13日 任务完成日期:2014年01月21日

一、设计内容与设计要求 1.设计内容: 本课程是一门专业实践课程,学生必修的课程。其目的和作用是使学生能将已学过的数字电子系统设计、VHDL程序设计等知识综合运用于电子系统的设计中,掌握运用VHDL或者Verilog HDL设计电子系统的流程和方法,采用Quartus II等工具独立应该完成1个设计题目的设计、仿真与测试。加强和培养学生对电子系统的设计能力,培养学生理论联系实际的设计思想,训练学生综合运用数字逻辑课程的理论知识的能力,训练学生应用Quartus II进行实际数字系统设计与验证工作的能力,同时训练学生进行芯片编程和硬件试验的能力。 题目一4线-16线译码器电路设计; 题目二16选1选择器电路设计; 题目三4位输入数据的一般数值比较器电路设计 题目四10线-4线优先编码器的设计 题目五8位全加器的设计 题目六RS触发器的设计; 题目七JK触发器的设计; 题目八D触发器的设计; 题目九十进制同步计数器的设计; 题目十T触发器的设计; 每位同学根据自己学号除以10所得的余数加一,选择相应题号的课题。 参考书目 1 EDA技术与VHDL程 序开发基础教程 雷伏容,李俊,尹 霞 清华大学出版 社 978-7-302-22 416-7 201 TP312VH/ 36 2 VHDL电路设计雷伏容清华大学出版 社 7-302-14226-2 2006 TN702/185 3 VHDL电路设计技术王道宪贺名臣? 刘伟 国防工业出版 社 7-118-03352-9 2004 TN702/62 4 VHDL 实用技术潘松,王国栋7-8106 5 7-81065-290-7 2000 TP312VH/1 5 VHDL语言100 例详解 北京理工大学A SIC研究所 7-900625 7-900625-02-X 19 99 TP312VH/3 6 VHDL编程与仿真王毅平等人民邮电出版 社 7-115-08641-9 20 00 7 3.9621/W38V 7 VHDL程序设计教程邢建平?曾繁泰清华大学出版 社 7-302-11652-0 200 5 TP312VH/27 /3

16位超前加法器实验报告

16位超前加法器设计实验 一、实验分析: 四位超前进位加法器HDL程序: module add4_head ( a, b, ci, s, pp, gg); input[3:0] a; input[3:0] b; input ci; output[3:0] s; output pp; output gg; wire[3:0] p; wire[3:0] g; wire[2:0] c; assign p[0] = a[0] ^ b[0]; assign p[1] = a[1] ^ b[1]; assign p[2] = a[2] ^ b[2]; assign p[3] = a[3] ^ b[3]; assign g[0] = a[0] & b[0]; assign g[1] = a[1] & b[1]; assign g[2] = a[2] & b[2]; assign g[3] = a[3] & b[3]; assign c[0] = (p[0] & ci) | g[0]; assign c[1] = (p[1] & c[0]) | g[1]; assign c[2] = (p[2] & c[1]) | g[2]; assign pp = p[3] & p[2] & p[1] & p[0]; assign gg = g[3] | (p[3] & (g[2] | p[2] & (g[1] | p[1] & g[0]))); assign s[0] = p[0] ^ ci; assign s[1] = p[1] ^ c[0]; assign s[2] = p[2] ^ c[1]; assign s[3] = p[3] ^ c[2]; endmodule p表示进位否决信号(pass),如果p为0就否决调前一级的进位输入。否决的意思就是即使前一级有进位,本级也不会向后一级产生进位输出。 g表示进位产生信号(generate),如果g为1就表示一定会向后一级产生进位输出。p[n] = a[n] ^ b[n]这句话的意思是说,当a=1,b=0或a=0,b=1时前一级的进位输入信号不能否决。这样就有个问题了,即当a=1,b=1时前一级的进位输入信号也不能否决啊,怎么没有体现出来?其实当a=1,b=1时产生了进位产生信号g,它的优先级高于p信号,就忽略了p信号,直接产生了向后一级产生进位输出,是没有逻辑错误的。 g[n] = a[n] & b[n] 这句话的意思是说,如果a=1,b=1时就直接向后一级产生进位输出信号,而不用考虑其它的任何因素。

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

实验二组合逻辑设计 一、实验目的 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 芯片测试结果

一位全加器的设计

课程设计任务书 学生:袁海专业班级:电子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 。

8位全加器设计

基于原理图的8位全加器设计 实验目的:熟悉利用Quartus II的原理图输入方法设计简单的组合电路,掌握层次化设 计的方法,并通过一个8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。 实验原理:一个8位全加器可以由8个1位全加器串行构成,即将低位加法器的进位输 出cout与相临的高位加法器的最低位输入信号cin相接。 试验任务:1.完成半加器和全加器的设计。 2.建立一个更高层次的原理图设计,利用以上获得的1位全加器构成8位全加器,完成编译、综合、适配、仿真和硬件测试。 实验步骤: 一、1位全加器设计 1.建立工程文件夹adder,路径d:\adder。 2.输入设计项目和存盘 原理图编辑输入流程如下: (1)打开Quartus II,选择file—>new命令,在弹出的窗口中选择block diagram/schematic file 选项,单击ok按钮后将打开原理图编辑窗口。 (2)在编辑窗口中的任何一个位置上右击,将弹出快捷菜单,选择inset—>symbol命令,将弹出元件输入对话框。 (3)单击“…”按钮,找到基本元件库路径d:/altera/90/quartus/libraries/primitives/logic项(假设软件安装在D盘),选中需要的元件,单击“打开”按钮,此元件即显示在窗口中,然后单击symbol窗口中的ok按钮,即可将元件调入原理图编辑窗口中。也可以在name栏输入需要的元件名。调入好元件和引脚后,连接好电路,再输入各引脚名。 (4)选择file—>save as命令,选择刚才为自己的工程建立的目录d:\adder,将已设计好的原理图取名为h_adder.bdf,并存盘此文件夹内。 3.将设计好的项目设置成可调用的元件 为了构成全加器的顶层设计,必须将以上设计的半加器h_adder.bdf设置成可调用的元件。在打开半加器原理图文件的情况下,选择file—>create/update—>create symbol file for current file命令,即可将当前文件h_adder.bdf变成一个元件符号存盘,以待高层次设计中调用。4.设计全加器顶层文件 打开一个原理图编辑窗口,方法同前。在新打开的原理图窗口中双击,在弹出的窗口中选择project选项,选择h_adder.bdf,并调入其他元件,连接好电路。以f_adder.bdf名存在同一路径d:\adder中。 二、8位全加器设计 1.将刚设计好的1位全加器设置成可调用的元件,方法同上。 2.调入元件,连接电路图,以8f_adder.bdf保存于同一路径d:\adder中的文件夹中。 3.将顶层文件8f_adder.bdf设置为工程。 4.编译与仿真 原理图与仿真波形分析:

超前进位加法器设计报告

存档资料成绩: 华东交通大学理工学院 课程设计报告书 所属课程名称EDA课程设计 题目超前进位加法器设计 分院 专业班级 学号 学生姓名 指导教师 2013 年7月2日

目录 第一章设计内容与要求 (3) 第二章超前进位加法器设计原理 (3) 第三章详细设计流程 (4) 3.1.创建工程文件 (4) 3.2.程序的编译 (5) 3.3.波形的仿真 (7) 第四章设计结果分析 (11) 第五章源程序代码 (12) 第六章心得体会 (14) 第七章参考文献 (15)

第一章设计内容与要求 加法运算是最重要也是最基本的运算,所有的其他基本运算,如减、乘、除运算最终都能归结为加法运算。但因为加法运算存在进位问题,使得某一位计算结果的得出和所有低于他的位相关。因此为了减少进位传输所消耗的时间,提高计算速度,人们设计了多种类型的加法器,如跳跃进位加法器、进位选择加法器、超前进位加法器等。本设计采用的是超前进位加法器。通过Verilog 设计一个超前8位加法器。 要求在Quartus II软件下,利用Verilog编程完成层次式电路设计,电路中的元件可以用Verilog设计也可以用库元件连线构成再封装。8位超前进位加法器,借助EDA工具中的综合器,适配器,时序仿真器和编程器等工具进行相应处理。适配采用Cyclone系列的EP1C6Q240C8。 要求综合出RTL电路,并进行仿真输入波形设计并分析电路输出波形. 试比较并阐述数据类型reg型和wire型的区别。 第二章超前进位加法器设计原理 将n个全加器相连可得n位加法器,但是加法时间较长。解决的方法之一是采用“超前进位产生电路”来同时形成各位进位,从而实现快速加法。超前进位产生电路是根据各位进位的形成条件来实现的 首先对于1位加法器基本位值和与进位输出为1;如果a,b有一个为1,则进位输出等于cin; 令G=ab,P=a+b,则有: Cout==ab+(a+b)cin=G+P?cin 由此可以G和P来写出4位超前进位链如下(设定四位被加数和加数为A

一位半加器设计与前仿

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

一、半加器的电路设计和前仿 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)

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

长安大学电子技术课程设计 课题名称______________ 班级______________ 姓名______________ 指导教师 日期______________

前言 8位二进制加法器,它的功能主要是实现两个8位二进制数的相加,其结果的范围应该在00000000到111111110之间,即000到510之间。加法器在实际应用中占据着十分重大的地位,从我们呱呱坠地起,到小学,到初中,到高中,到大学,到工作,等等。我们能离开加法吗,不能!加法可以说是一切运算的基础,因此8位二进制加法器的设计是很有必要的。 那么我们如何设计一个8位二进制加法器呢?在实际应用中,我们通常输入的是十进制数,一个八位二进制数所对应的最大的十进制数是255,于是输入两个范围在000到255之间的数,首先通过二-十进制编码器将输入的三位十进制数的个位、十位、百位分别转换为8421BCD码,得到两个十二位字码,再通过加法器将它们相加,逢10进1,得到一个新的十二位字码,再用7447数字显示译码器将这个十二位字码还原到原来的三位十进制数。最后输出的就是一个三位十进制数,其范围在000到510之间。通过上述方法我们实现了八位二进制数的相加,从而达到了题目的要求。 为实现上述目的,我们需要查阅相关资料。通过查阅,理解以及加以运用,我们认识到了收集资料的不易性,但同时也得到了不少收获,可以说是有苦有甜。同时,虽然我们基本设计出了这个八位二进制加法器,但是不必可避免地会产生一些问题,比如说在连线上可能有更简便的途径,在元件的选用上可能还有其它更简便的方法,在控制上可能还不够精简,等等。我们希望在以后的实践中能找出更好的方法,也希望能吸取这次设计中的不足,逐渐改善。另外,在电子设计的过程中,与同组同学之间的合作配和是十分重要的。我在此次设计中也充分认识到这一点的重要性,我相信这次的电子设计能够为我们将来的工作奠定一定的基础。

加法器的设计与仿真实验报告

加法器的设计与仿真 一、实验内容 1、用逻辑图和VHDL语言设计全加器。 2、利用设计的全加器组成串行加法器。 3、用逻辑图和VHDL语言设计并行加法器。 4、应用MaxplusII软件对全加器和串行加法器进行编译、仿真和模拟。 5、在“MaxplusII软件的基本操作”实验的基础上,能更加熟练的掌握应用MaxplusII软件,从而更形象更深层次的理解全加器和串行加法器。 二、实验平台及实验方法 用VHDL语言编写全加器和串行加法器的程序,运用MaxplusII软件进行仿真,再结合FPGA(即对实验箱的芯片进行编译)进行验证。也可以用原理图进行文本设计,波形设计。逻辑符号图: 真值表: 电路图: 三、实验过程 1.启动MaxplusII软件; 2.新建一个文本编辑文件,输入全加器的VHDL语言; 3.编译。点击file save as,保存文件名为f-adder名称,扩展名为vhd,选择芯片类型为EPF10K20TI144-4,保存并进行编译,

若编译结果出现0 error,0 warnings则说明编译通过。 4.仿真波形。点Max+plus II→Waveform editor,出现波形图的设置界面,然后点Node→Enter Nodes from SNF→list,将输入输出端添加到界面,并设置其周期和输入波形,保存后,点Max+plus II→Simulator,即可仿真出输出的波形。 5.配置芯片。点Max+plus II→Floorplan editor,将Unassigned Nodes & 栏中,电路的输入输出节点标号直接用鼠标“拖到” 想分配的引脚上,Max+plusII→programmer→configuer,然后就可以操作试验箱,观察全加器的工作情况。 四、实验结果 实验步骤: 1、用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; 2、将上述程序保存为文件名为f_adder的文件,点击Maxplus里的compiler进行编译,点击start,如果出现0 error,0 warnings,则编译成功。

实验二一位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 的中断调用

用原理图方法设计8位全加器

实验报告一 一、实验目的 熟悉利用QuartusII的原理图输入方法设计简单电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行电子线路设计的详细流程。 二、实验内容 1.根据工作原理,完成1位半加器和全加器的设计; 2.建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成 编译、综合、适配、仿真。 三、实验环境 计算机、QuartusII软件 四、实验步骤 1.根据半加器工作原理,建立电路并仿真,并将元件打包。 (1)电路 (2)仿真: 仿真结果分析:S为和信号,当A=1,B=0或A=0,B=1时,和信号S为1,否则为0.当A=B=1时,产生进位信号,及CO=1。 (3)打包后的文件:

2.利用半加器构成一位全加器,并打包。 (1)电路 (2)仿真 仿真结果分析:CI为来自低位的进位,S=A xor B xor CI,即:当A,B,CI中有一位为高电平‘1’或者三位同时高电平为‘1’,则S=1,否则S=0;当A,B,CI有两位或者三位同为高电平‘1’时,产生进位信号CO=‘1’。 (3)打包后的文件 3.利用全加器构成8位全加器,并完成编译、综合、适配、仿真。 (1)电路

(2)仿真 仿真结果分析:八位全加器,和S分别与A,B 对应。当来自第七位的进位信号为‘1’、A 的最高位和B的最高位三者有两个位高电平‘1’时,则产生进位信号CO=‘1’。 五、实验结果与讨论 实验的仿真结果与预计的结果一致,所以所设计的电路是正确的。不足的地方有: 1、对软件还不够熟悉,所以操作的有点慢;

2、设计电路时,由于数字电路的知识有些开始淡忘了,所以应当及时去补 缺补弱。 六、总结 思考题:为了提高加法器工作速度,如何改进以设计的进位方式? 答:采用超前进位。串行加法器的第i位进位是由0~(i-1)决定的,而超前进位是事先得出每一位全加器的进位输出信号,而无需再从低位开始向高位逐位传递进位信号了,这就有效地提高了工作速度了。

十六位硬件乘法器电路设计报告

课程名称电子设计自动化 题目十六位硬件乘法器电路 院系班级信息学院11电子信息工程A班姓名 学号 指导老师凌朝东 2013 年 12 月 5 日

题目名称: 十六位硬件乘法器电路 摘要: 设计一个16位硬件乘法器电路.要求2位十进制乘法,能用LED数码管同时显示乘数,被乘数和积的值.本设计利用Quartus II软件为设计平台,通过移位相加的乘法原理:即从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。经软件仿真和硬件测试验证后,以达到实验要求。

目录 1.题目名称 (2) 2.摘要 (2) 3.目录 (3) 4.正文 (4) 4.1. 系统设计 (4) 4.1 设计要求 (4) 4.2 系统设计方案 (4) 4.2 单元电路设计 (4) 4.2.1十进制计算模块 (5) 4.2.2 BCD码转二进制模块 (5) 4.2.3 8位右移寄存器模块 (6) 4.2.4 8位加法器模块 (7) 4.2.5 1乘法器multi_1模块 (7) 4.2.6 16位移位寄存器reg_16模块 (8) 4.2.7 16位二进制转BCD码B_BCD模块 (9) 4.2.8 8位乘法器multi_8x8顶层设计 (10) 4.3 软件设计 (12) 4.3.1设计平台和开发工具 (12) 4.3.2程序流程方框图 (13) 4.4 系统测试 (14) 4.1仿真分析 (14) 4.2硬件验证 (15) 5. 结论 (15) 6. 参考文献 (15) 7. 附录 (15)

4.正文 4.1系统设计 1.1设计要求 题目要求设计一个16位硬件乘法器电路.要求2位十进制乘法;能用LED数码管同时显示乘数,被乘数和积的信息.设置一个乘法使能端,控制乘法器的计算和输出. 1.2系统设计方案 此设计问题可分为乘数和被乘数输入控制模块,乘法模块和输出乘积显示模块基本分. 乘数和被乘数的输入模块使输入的十进制数转化为二进制数输入乘法模块,乘法模块利用移位相加的方法将输入的两组二进制数进行相乘,并将16位乘积输出到乘积输出显示模块.显示模块将输入的二进制数按千,百,十,个位分别转化为十进制数输出. 乘数和被乘数的输入可用数据开关K1~K10分别代表数字1,2,…,9,0,用编码器对数据开关K1~K10的电平信号进行编码后输入乘法器进行计算.但此方案所用硬件资源较多,输入繁琐,故不采取. 方案二是利用硬件箱自带16进制码发生器,由对应的键控制输出4位2进制构成的1位16进制码,数的范围是0000~1111,即0H~FH.每按键一次,输出递增1,输出进入目标芯片的4位2进制数将显示在该键对应的数码管. 乘数和被乘数的输入模块将16进制码的A~F码设计成输出为null.使得减少了无用码的输入. 两数相乘的方法很多,可以用移位相加的方法,也可以将乘法器看成计数器,乘积的初始值为零,每一个时钟周期将乘数的值加到积上,同时乘数减一,这样反复执行,直到乘数为零.本设计利用移位相加的方法使得程序大大简化. 系统总体电路组成原理图如下图所示: 4.2单元电路设计

相关文档
最新文档