EDA课程设计----八位二进制全加器_第1页
EDA课程设计----八位二进制全加器_第2页
EDA课程设计----八位二进制全加器_第3页
EDA课程设计----八位二进制全加器_第4页
EDA课程设计----八位二进制全加器_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EDA设计说明书课程名称: EDA技术实用教程 设计题目: 八位二进制全加器 院 系: 电子信息与电气工程学院 学生姓名: 学 号: 专业班级: 指导教师: 李 响 2011 年 6 月 11. 设计目的 熟悉利用Quartus的原理图输入法设计简单的组合电路,掌握层次化设计的方法,并通过一个八位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。2. 设计原理2.1 一位全加器的原理一位全加器可以用两个半加器及一个或门连接而成,因此需要首先完成半加器的设计。在本设计中,将采用原理图输入法来完成设计。一位全加器的设计步骤: 为本项工程设计建立文件夹; 输入设计项目和存盘;

2、 将设计项目设计成可调用的元件; 设计全加器顶层文件; 将设计项日设置成工程和时序仿真。2.2 八位全加器的原理一个八位全加器可以由八个一位全加器构成,加法器之间的进位可以用串行方式实现,即将低位加法器的进位输出cout 与相邻的高位加法器的最低进位输入信号cin 相接。3. 设计方案与仿真3.1 一位全加器的设计与仿真全加器的实现是以半加器的实现为基础的,因此,要设计全加器应首先设计一个一位的半加器。半加器的实现方案为: 为此项工程建立文件夹; 在基本元件库中,选中需要的元件,将元件(包含元件and2、not 、xnor 和输 入输出引脚input、output)调入原理图编辑窗口中; 将己

3、设计好的原理图文件存盘; 将所设计的半加器设置成可调用的元件。用原理图输入法所设计的半加器原理图如图3-1所示,利用Quartus软件平台,根据图3-1所示电路,可生成一个半加器元件符号,如图3-2所示。在半加器的基础上,为了建立全加器的顶层文件,必须再打开一个原理图编辑窗口,方法同上。其中,所选择的元件包含半加器、或门和输入输出引脚,由此可得到如图3-3所示的全加器原理图;进而可生成个全加器元件符号,如图3-4所示。图3-1 半加器原理图 图3-2 半加器元件符号图3-3 全加器原理图 图3-4 全加器元件符号按照一位全加器原理图连接电路,通过编译、仿真所得的波形图如图3-5所示:图3-5

4、一位全加器时序仿真波形根据图3-5可知,当输入信号ain 、bin 、cin 全是低电平时,输出信号sum 和cout 全是低电平;当输入信号ain 、bin 、cin 中有且只有一个为高电平时,输出信号sum 为高电平,输出信号cout 为低电平;当输入信号ain 、bin 、cin 中有两个为高电平时,输出信号sum 为低电平,输出信号cout 为高电平;当输入信号ain 、bin 、cin 全是高电平时,输出信号sum 和cout 全是高电平。由此可以看出仿真结果与理论值相符合。3.2 八位全加器的实现方案与仿真八位全加器的实现是以一位全加器的实现为基础的,它由八个一位全加器构成,加法器

5、之间的进位可以用串行方式实现,即将低位加法器的进位输出cout 与相邻的高位加法器的最低进位输入信号cin 相接。一位全加器的实现方案如3.1所述;八位全加器的原理图见图3-6。根据其电路生成的可调用原件符号如图3-7所示。 图3-6 八位全加器原理图图3-7 八位全加器元件符号根据图3-6所示的原理图进行时序仿真的波形如下图3-8所示:图3-8 八位全加器时序仿真波形上图3-8中:、与、为八位全加器的输入信号,、为八位输出信号, cout为最高位进位输出信号;根据波形图可得,当输入信号、输入7B, 、输入07时,输出为82,与原理图的设计要求完全相符。3.3 七段译码器的实现方案与仿真为了将

6、全加器的输出结果在七段数码管上显示出来,就需要用到七段译码器。其VHDL源程序代码详见附 6.1。 按照程序生成的七段译码器元件符号如图3-9所示:图3-9 七段译码器元件符号 七段译码器的仿真结果如下图所示:图3-10 七段译码器仿真波形3.4 输出结果数码显示的实现方案与仿真为了将八位全加器的输出结果在实验箱上用数码管显示出来,需要将八位输出结果按高低位经过两个七段译码器分别对两个七段数码管生成可控的高低电平信号,驱动相应的数字点亮。具体电路连接如下图所示:图3-11 数码管显示译码电路在此电路的仿真过程中,主程序需要调用八位全加器的源程序和七段译码器的源程序,将两个原件的.vhd文件和.

7、bsf文件拷到目前工程文件夹中即可。七段译码器的VHDL程序设计详见附 6.1,八位全加器VHDL源程序代码详见附 6.2。按照图3-11电路图连接好电路,通过编译、仿真所得的波形图如图3-12所示。图3-12 输出结果数码管显示仿真波形4. 八位全加器的引脚锁定与下载在本设计中,为了在实验系统上硬件验证八位全加器的功能,用十六个键分别输入八个加数和被加数,分别对应、和、,数码管显示相加结果,发光二极管显示进位cout ,编译下载后进行硬件测试。改变、和、键入值,数码管会显示相应的结果,同时,发光二极管显示进位信息,有进位则亮。其引脚锁定图如图4-1所示:图4-1 八位全加器的引脚锁定图5.

8、设计结论与总结根据八位全加器的硬件测试结果可知:其测试结果与软件仿真的时序波形是一一对应的,即完全符合八位全加器原理图设计的设计要求。如果、输入加数为FF,由、输入被加数为FF,数码管输出为FE,与此同时,发光二极管点亮。通过本次设计,熟悉了利用Quartus的原理图输入法设计简单组合电路,掌握了层次化设计的方法,通过一个八位全加器的设计理解并掌握了利用EDA软件进行原路图输入方式电子线路设计的详细流程。6. 附录附 6.1 七段译码器VHDL源程序代码LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DECL7S IS PORT ( A

9、: IN STD_LOGIC_VECTOR(4 DOWNTO 1); LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ; END ; ARCHITECTURE one OF DECL7S IS BEGIN PROCESS( A ) BEGIN CASE A IS WHEN 0000 = LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S NULL ; END CASE ; END PROCESS ; END ;附 6.

10、2 八位全加器VHDL源程序代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.all; LIBRARY work;ENTITY f_8adder IS port(a1 : IN STD_LOGIC;b1 : IN STD_LOGIC;a2 : IN STD_LOGIC;b2 : IN STD_LOGIC;a3 : IN STD_LOGIC;b3 : IN STD_LOGIC;a4 : IN STD_LOGIC;b4 : IN STD_LOGIC;a5 : IN STD_LOGIC;b5 : IN STD_LOGIC;a6 : IN STD_LOGIC;b6 : IN

11、 STD_LOGIC;a7 : IN STD_LOGIC;b7 : IN STD_LOGIC;a8 : IN STD_LOGIC;b8 : IN STD_LOGIC;cout : OUT STD_LOGIC;s : OUT STD_LOGIC_VECTOR(8 downto 1);END f_8adder;ARCHITECTURE bdf_type OF f_8adder IS component f_1adderPORT(ain : IN STD_LOGIC; bin : IN STD_LOGIC; cin : IN STD_LOGIC; cout : OUT STD_LOGIC; sum

12、: OUT STD_LOGIC);end component;signals_ALTERA_SYNTHESIZED : STD_LOGIC_VECTOR(8 downto 1);signalSYNTHESIZED_WIRE_0 : STD_LOGIC;signalSYNTHESIZED_WIRE_1 : STD_LOGIC;signalSYNTHESIZED_WIRE_2 : STD_LOGIC;signalSYNTHESIZED_WIRE_3 : STD_LOGIC;signalSYNTHESIZED_WIRE_4 : STD_LOGIC;signalSYNTHESIZED_WIRE_5 :

13、 STD_LOGIC;signalSYNTHESIZED_WIRE_6 : STD_LOGIC;signalSYNTHESIZED_WIRE_7 : STD_LOGIC;BEGIN SYNTHESIZED_WIRE_0 a1, bin = b1, cin = SYNTHESIZED_WIRE_0, cout = SYNTHESIZED_WIRE_1, sum = s_ALTERA_SYNTHESIZED(1);b2v_inst1 : f_1adderPORT MAP(ain = a2, bin = b2, cin = SYNTHESIZED_WIRE_1, cout = SYNTHESIZED

14、_WIRE_2, sum = s_ALTERA_SYNTHESIZED(2);b2v_inst2 : f_1adderPORT MAP(ain = a3, bin = b3, cin = SYNTHESIZED_WIRE_2, cout = SYNTHESIZED_WIRE_3, sum = s_ALTERA_SYNTHESIZED(3);b2v_inst3 : f_1adderPORT MAP(ain = a4, bin = b4, cin = SYNTHESIZED_WIRE_3, cout = SYNTHESIZED_WIRE_4, sum = s_ALTERA_SYNTHESIZED(

15、4);b2v_inst4 : f_1adderPORT MAP(ain = a5, bin = b5, cin = SYNTHESIZED_WIRE_4, cout = SYNTHESIZED_WIRE_5, sum = s_ALTERA_SYNTHESIZED(5);b2v_inst5 : f_1adderPORT MAP(ain = a6, bin = b6, cin = SYNTHESIZED_WIRE_5, cout = SYNTHESIZED_WIRE_6, sum = s_ALTERA_SYNTHESIZED(6);b2v_inst6 : f_1adderPORT MAP(ain = a7, bin =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论