EDA课程设计----八位二进制全加器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA设计说明书
课程名称:EDA技术实用教程
设计题目:八位二进制全加器
院系:电子信息与电气工程学院学生姓名:
学号:
专业班级:
指导教师:**
2011 年6 月1
1. 设计目的
熟悉利用QuartusⅡ的原理图输入法设计简单的组合电路,掌握层次化设计的方法,并通过一个八位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。
2. 设计原理
2.1 一位全加器的原理
一位全加器可以用两个半加器及一个或门连接而成,因此需要首先完成半加器的设计。在本设计中,将采用原理图输入法来完成设计。
一位全加器的设计步骤:
①为本项工程设计建立文件夹;
②输入设计项目和存盘;
③将设计项目设计成可调用的元件;
④设计全加器顶层文件;
⑤将设计项日设置成工程和时序仿真。
2.2 八位全加器的原理
一个八位全加器可以由八个一位全加器构成,加法器之间的进位可以用串行方式实现,即将低位加法器的进位输出cout 与相邻的高位加法器的最低进位输入信号cin 相接。
3. 设计方案与仿真
3.1 一位全加器的设计与仿真
全加器的实现是以半加器的实现为基础的,因此,要设计全加器应首先设计一个一位的半加器。半加器的实现方案为:
①为此项工程建立文件夹;
②在基本元件库中,选中需要的元件,将元件(包含元件and2、not 、xnor 和输
入输出引脚input、output)调入原理图编辑窗口中;
③将己设计好的原理图文件存盘;
④将所设计的半加器设置成可调用的元件。
用原理图输入法所设计的半加器原理图如图3-1所示,利用QuartusⅡ软件平台,根据图3-1所示电路,可生成一个半加器元件符号,如图3-2所示。在半加器的基础上,为了建立全加器的顶层文件,必须再打开一个原理图编辑窗口,方法同上。其中,所选择的元件包含半加器、或门和输入输出引脚,由此可得到如图3-3所示的全加器原理图;进而可生成个全加器元件符号,如图3-4所示。
图3-1 半加器原理图图3-2 半加器元件符号
图3-3 全加器原理图图3-4 全加器元件符号按照一位全加器原理图连接电路,通过编译、仿真所得的波形图如图3-5所示:
图3-5 一位全加器时序仿真波形
根据图3-5可知,当输入信号ain 、bin 、cin 全是低电平时,输出信号sum 和cout 全是低电平;当输入信号ain 、bin 、cin 中有且只有一个为高电平时,输出信号sum 为高电平,输出信号cout 为低电平;当输入信号ain 、bin 、cin 中有两个为
高电平时,输出信号sum 为低电平,输出信号cout 为高电平;当输入信号ain 、bin 、cin 全是高电平时,输出信号sum 和cout 全是高电平。由此可以看出仿真结果与理论值相符合。
3.2 八位全加器的实现方案与仿真
八位全加器的实现是以一位全加器的实现为基础的,它由八个一位全加器构成,加法器之间的进位可以用串行方式实现,即将低位加法器的进位输出cout 与相邻的高位加法器的最低进位输入信号cin 相接。一位全加器的实现方案如3.1所述;八位全加器的原理图见图3-6。根据其电路生成的可调用原件符号如图3-7所示。
图3-6 八位全加器原理图
图3-7 八位全加器元件符号
根据图3-6所示的原理图进行时序仿真的波形如下图3-8所示:
图3-8 八位全加器时序仿真波形
上图3-8中:1a 、2a 、3a 、4a 、5a 、6a 、7a 、8a 与1b 、2b 、3b 、4b 、5b 、6b 、7b 、8b 为八位全加器的输入信号,1s 、2s 、3s 、4s 、5s 、6s 、7s 、8s 为八位输出信号, cout 为最高位进位输出信号;根据波形图可得,当输入信号1a 、2a 、3a 、4a 、5a 、6a 、7a 、8a 输入7B, 1b 、2b 、3b 、4b 、5b 、6b 、7b 、8b 输入07时,输出为82,与原理图的设计要求完全相符。
3.3 七段译码器的实现方案与仿真
为了将全加器的输出结果在七段数码管上显示出来,就需要用到七段译码器。其VHDL 源程序代码详见附 6.1。
按照程序生成的七段译码器元件符号如图3-9所示:
图3-9 七段译码器元件符号
七段译码器的仿真结果如下图所示:
图3-10 七段译码器仿真波形
3.4 输出结果数码显示的实现方案与仿真
为了将八位全加器的输出结果在实验箱上用数码管显示出来,需要将八位输出结果按高低位经过两个七段译码器分别对两个七段数码管生成可控的高低电平信号,驱动相应的数字点亮。具体电路连接如下图所示:
图3-11数码管显示译码电路
在此电路的仿真过程中,主程序需要调用八位全加器的源程序和七段译码器的源程序,将两个原件的.vhd文件和.bsf文件拷到目前工程文件夹中即可。七段译码器的VHDL 程序设计详见附 6.1,八位全加器VHDL源程序代码详见附 6.2。
按照图3-11电路图连接好电路,通过编译、仿真所得的波形图如图3-12所示。
图3-12 输出结果数码管显示仿真波形
4. 八位全加器的引脚锁定与下载
在本设计中,为了在实验系统上硬件验证八位全加器的功能,用十六个键分别输入八个加数和被加数,分别对应1a 、2a 、3a 、4a 、5a 、6a 、7a 、8a 和1b 、2b 、3b 、4b 、5b 、6b 、7b 、8b ,数码管显示相加结果,发光二极管显示进位cout ,编译下载后进行硬件测试。改变1a 、2a 、3a 、4a 、5a 、6a 、7a 、8a 和1b 、2b 、3b 、4b 、5b 、6b 、7b 、8b 键入值,数码管会显示相应的结果,同时,发光二极管显示进位信息,有进位则亮。其引脚锁定图如图4-1所示: