EDA数字设计之全加器课件
- 格式:ppt
- 大小:973.00 KB
- 文档页数:24
EDA课程设计一位全加器的设计The design of one bit full adder学校:兰州交通大学学院:电子与信息工程学院班级:姓名:学号:指导老师:成绩:摘要:本设计主要是利用VHDL语言设计一个一位全加器,它由半加器和或门两个模块组成。
两个模块通过顶层元件例化连接到一起。
几个模块组成的整体能够实现全加器的功能,对所给数据,能够准确快速地计算出其结果.具体的该设计利用VHDL语言使用文本输入,新建工程,通过设计输入、编译、仿真完成各种模块设计,然后生成元器件,再根据元件例化完成各部分的整合,从而形成一个完整的全加器,功能上很好地被满足。
关键字:全加器元件例化Abstract:This design primarily uses VHDL language to design the one bit full adder, which is composed of two half adder and a OR gate. The two modules are connected by top Component instance. Finally, the whole of several parts achieve the function of full adder. For given dates, it can calculate its consequence accurately and quickly.In detail, the design uses text input method by VHDL language to create new projects. By designing the input, compile, simulate, it complete various modules design and generate new components. Then it forms a complete one bit full adder by accomplishing the integration of all parts, according to component instance. And the function can be well satisfied.Key word:full adder component instance一.原理(说明)在计算机中2个二进制数之间的加减乘除算术运算都是由若干加法运算实现的.全加器是算术逻辑运算的重要组成部分,对其深入探索研究有重要的意义。
给出1位全减器的VHDL描述。
首先设计1位半减器,然后用例化语句将它们连接起来底层文件半减器(h_suber)程序设计:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_suber ISPORT ( x , y : IN STD_LOGIC;diff , s_out : OUT STD_LOGIC ) ;END ENTITY h_suber;ARCHITECTURE fh1 OF h_suber ISSIGNAL abc : STD_LOGIC_VECTOR ( 1 DOWNTO 0 ) ;BEGINabc <= x & y ;PROCESS ( abc )BEGINCASE abc ISWHEN "00" => diff <= '0'; s_out <= '0' ;WHEN "01" => diff <= '1'; s_out <= '1' ;WHEN "10" => diff <= '1'; s_out <= '0' ;WHEN "11" => diff <= '0'; s_out <= '0' ;WHEN OTHER => NULL ;END CASE;END PROCESS;END ARCHITECTURE fh1 ;底层文件或门(or2a)程序设计:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a ISPORT ( a , b : IN STD_LOGIC;c : OUT STD_LOGIC ) ;END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINC <= a OR b ;END ARCHITECTURE one;根据连接图,顶层文件全减器(f_suber)程序设计:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_suber ISPORT ( xin , yin , sub_in : IN STD_LOGIC;diffout , sub_out : OUT STD_LOGIC ) ;END ENTITY f_suber;ARCHITECTURE fd1 OF f_suber ISCOMPONENT h_suberPORT ( x , y : IN STD_LOGIC;diff , s_out : OUT STD_LOGIC ) ;END COMPONENT ;COMPONENT or2aPORT ( a , b : IN STD_LOGIC;c : OUT STD_LOGIC ) ;END COMPONENT ;SIGNAL d , e , f : STD_LOGIC;BEGINu1 : h_suber PORT MAP ( x => xin , y => yin , diff => d , s_out => e );u2 : h_suber PORT MAP ( x => d , y => sub_in , diff => diffout , s_out => f ); u3 : or2a PORT MAP ( a => f , b => e , c => sub_out );END ARCHITECTURE fd1;全加器程序参照自动化同学课本,原理与全减器类似。
eda实验报告全加器EDA实验报告:全加器一、引言在数字电路设计中,全加器是一种基本的组合逻辑电路,用于实现两个二进制数的加法运算。
全加器的设计和性能对于数字电路的正确性和效率至关重要。
本实验报告将介绍全加器的原理、设计方法以及实验结果。
二、全加器的原理全加器是由两个半加器和一个额外的输入引脚组成的。
它可以实现三个二进制输入数的相加运算,并输出相应的和与进位。
1. 半加器半加器是一个简单的组合逻辑电路,用于实现两个二进制数的相加运算。
它有两个输入引脚A和B,分别代表两个二进制数的对应位,一个和输出引脚S和一个进位输出引脚C。
半加器的真值表如下所示:A B S C0 0 0 00 1 1 01 0 1 01 1 0 1可以看出,和输出引脚S等于A和B的异或运算结果,进位输出引脚C等于A 和B的与运算结果。
2. 全加器全加器是由两个半加器和一个额外的输入引脚组成的。
它有三个输入引脚A、B 和Cin,分别代表两个二进制数的对应位以及上一位的进位,两个输出引脚S 和Cout,分别代表相加结果的和以及当前位的进位。
全加器的真值表如下所示:A B Cin S Cout0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1可以看出,和输出引脚S等于A、B和Cin的异或运算结果,进位输出引脚Cout等于A、B和Cin的与运算结果与A和B的或运算结果的与运算结果。
三、全加器的设计方法全加器的设计可以使用逻辑门电路实现。
常用的逻辑门包括与门、或门、非门和异或门。
根据全加器的真值表,可以使用这些逻辑门组合来实现全加器。
1. 使用逻辑门实现半加器半加器可以使用异或门和与门来实现。
异或门用于计算和输出引脚S,与门用于计算和输出引脚C。
2. 使用逻辑门实现全加器全加器可以使用两个半加器和一个或门来实现。
两个半加器分别用于计算和输出引脚S和C1,或门用于计算和输出引脚Cout。
课程名称:EDA技术与FPGA应用设计实验项目:1位全加器2012年 6 月22 日一、实验目的①熟悉ispDesignEXPERT System、Quartus II原理图设计流程的全过程。
②学习简单组合电路的设计方法、输入步骤。
③学习层次化设计步骤。
④学习EDA设计的仿真和硬件测试方法。
二、实验原理1位全加器可以由2个半加器及1个或门连接而成,因此首先完成如图的半加器设计。
使用原理图输入的方法先进行底层半加器设计,在建立上层全加器设计文件,调用半加器和或门符号,连线完成原理设计。
半加器原理图全加器原理图三、主要仪器设备Isp Design EXPERT软件,FPGA配置存储芯片,硬件电路板。
四、实验步骤(1)启动Isp Design EXPERT软件,并创立半加器设计项目和选择器件ispLSI 1016E。
(2)添加原理图输入源文件(3)根据上图添加半加器中的元件符号和输入输出符号,然后连线,画好半加器。
(4)将图形中半加器的添加输入输出端口并锁定引脚。
(5)画出半加器的仿真波形。
(6)删掉半加器的输入输出端口链接和引脚,将半加器变成模块的形式并保存。
(7)再把半加器当作元件,按照原理图链接。
(8)根据图形标记输入输出和锁定引脚(9)保存所完成的全加器图(10)建立波形仿真源文件,分别进行功能和时序仿真(11)接好编程电缆,选择Scan Board命令。
完成一个包含菊花链中所有器件的基本结构文件。
(12)添加JEDEC文件和器件编程。
(13)根据锁定的引脚观察实验板上相应的LED灯的变化。
五、实验结果及分析设计校验过程:功能仿真:在设计输入阶段,进行逻辑功能验证,称为功能仿真或前仿真。
时序仿真:在选择了具体器件并完成布局布线方案后进行的时序仿真称为后仿真或延时仿真。
由于不同器件的内部延时不一样,不同的布局、布线方案也给延迟造成了很大的影响,因此在设计处理以后,分析时序关系,估计设计的性能以及检查和消除竞争冒险等是必要的。
目的要求:掌握原理图输入设计方法掌握基本组合逻辑电路层次设计方法重难点:层次设计方法一.层次化设计流程1.用文本方法设计半加器(35’)1)建立存储文件夹2)新建一个工程adder,保存在文件夹下;3)新建一个文本文件,保存为half_adder.v存在同一工程目录下;代码如下:module half_adder(a,b,so,co);input a,b;output so,co;assign {co,so} = a+b ;endmodule4)将该文件设置为项目顶层文件(否则会报错);编译文件,检查语法错误;5)仿真,验证设计正确。
新建波形文件保存为half_adder.vwf,管脚导入,设置波形;将编译后的文件,操作processing->generate functional simulation netlist在settings中的simulation verfication页面中将波形文件导入;执行simulation6)flie->project->set project to cunrent file,执行file->create default symbol ,生成一个元件符号2. 按利用设计好的的半加器按原理图设计全加器,文件保存为adder.bdf3.用上面设计的一位全加器设计4位全加器1)新一个原理图文件,选择上述4个所设计的一位全加器,根据4位全加器的原理图设计4位并行全加器;(注意粗细信号线的设置:用鼠标左键单击信号线,使之变为红色,然后在红线上单击鼠标右键,选择line style,然后选择相应的粗线或者细线)2)将设计好的文件保存为adder_4.gdf3)编译项目并仿真仿真波形如下:。
一、实验目的和要求复习加法器的原理,掌握加法器的设计实现方法,设计实现数字系统设计中常用的4位全加器,在此基础上进一步熟悉MAX+PLUSⅡ或Quartus II软件的使用方法,熟练掌握EDA的图形编程方法、开发流程、以及组合逻辑电路的设计、分析、综合、仿真方法。
二、实验主要仪器和设备1. 计算机及操作系统2. MAX+Plus II或Quartus II软件3. 编程电缆(可选)三、实验原理1. 4位全加器的管脚如图:2. 说明:其中CIN表示输入进位位,COUT表示输出进位位,输入A和B分别表示加数和被加数。
输出SUM=A+B+CIN,当SUM大于255时,COUT 置‘1’。
四、实验方案设计、实验方法1.实验方案4位全加器可以看作四个1位全加器级联而成,首先采用基本逻辑门设计1位全加器,而后通过多个1位全加器级联实现4位全加器。
1位全加器示意图如下:其中,其中CI 表示输入进位位,CO 表示输出进位位,输入A 和B 分别表示加数和被加数。
S 为输出和,其功能可用布尔代数式表示为:ii i i o ii i ABCABC ABC ABC C ABCC B A C B A C B A S +++=+++=2. 实验方法首先根据一位全加器的布尔代数式应用基本逻辑门设计一位全加器,而后仿真验证一位全加器设计,准确无误后生成元件,供4位全加器设计用。
将4个1位全加器级联构成四位全加器。
五、实验步骤1. 一位全加器设计输入1) 创建文件 采用File\new 菜单,创建图形文件。
2) 添加元件 采用菜单symbol\enter symbol ,在弹出的对话框中选中相应的库与元件,添加元件,构成一位全加器并保存。
2. 一位全加器元件的创建1) 对上述文件编译综合仿真…. 2) 生成元件….采用菜单FILE\CREATE SYMBOL 生成一位全加器元件3. 4位全加器设计输入1) 创建文件….2) 添加元件 采用菜单symbol\enter symbol ,选中生成的元件FADD1 3) 级联 前级1位全加器CO 与后级CI 相连…. 4) 添加I/O …. 4. 设计编译….5. 器件选择及管脚分配….6. 设计仿真….7. 时序分析….8. 编程下载(可选)….六、实验结果与分析1. 1位全加器设计1) 1位全加器原理图2) 1位全加器仿真波形2. 四位全加器设计1. 四位全加器原理图1. 器件及管脚逻分配图管脚分配情况如图,所选器件为EPM7032AELCC44-42. 仿真波形四位全加器的仿真波形如下图,从波形可以得出,输入输出满足表达式S=A+B+CI,S>15时进位位置‘1’,设计电路功能达1. 时序分析图上述时间分析可以得到,输出信号存在4.5-7.5ns不等的时间延迟,它主要与器件速度、表达逻辑的合理性有关,选用速度更高器件、优化设计可以使该值降低。
实验一全加器设计一、实验名称:全加器设计二、实验目的:用原理图输入法设计全加器电路,简历全加器的实验模式。
通过电路仿真和硬件验证,进一步了解全加器的功能。
三、实验仪器:EDA试验箱个人计算机四、实验原理:将来自低位进位的加法运算陈伟“全加”,能实现全加运算的电路称为全加器。
1位全加器的真值表如表2.1所示,表中的A,B是两个一位二进制加数的输入端,CI是低位进位输入端。
根据真值表写出电路输出与输入之间的逻辑关系表达式为A B CI SO CO0 0 0 0 0 1 0 1 00 1 11 0 0 1 0 1 1 1 0 1 1 1 0 01 0 1 00 11 0 0 10 11 1五、实验步骤创建工程准备工作项目的建立选择目标器件EP1C6Q240C8建立的工程选择编辑文件选择元件编译成功仿真选择编辑矢量波形文件建立波形文件节点发现者对话框设置仿真时间对话框全加器电路的仿真波形建立试验模式在EDA6000/EDA2000软件主界面上打开“结构框图”的“新建模式”窗口,将EDA2000实验开发系统的按键K0、K1、和K2设置为“高/低”输入键,分别与IO40、IO41和IO42管脚连接,将按键名分别更改为“A”“B”“CI”,作为全加器A、B和CI的输入按键。
将发光管L0、L1和L2分别设置与IO40、IO41和IO42管脚连接,发红光,信号名更改为“A”“B”和“CI”,作为按键K0、K1、和K2的显示器。
将发光管L8和L9分别设置与IO43、IO44管脚连接,发绿光,信号名更改为“SO和“CO”,作为全加器输出SO和CO的显示器。
将设置好的全加器实验模拟式以m3l.mod为文件名,保存在模式文件夹中。
引脚锁定下载设计文件通过并行电缆将EDA6000/EDA2000实验开发系统的FPGA/EPLD编程下载打印接口“PRT”与计算机的并行打印机接口连接好,用串行电缆将实验开发系统的配置232通信接口“SYSTEM232”与计算机的串行232接口连好,打开实验开发系统的电源。
学生实验报告系别电子信息学院课程名称《EDA综合实验》班级实验名称8位全加器的设计姓名实验时间2014年月日学号指导教师王红航成绩批改时间2014年月日报告内容一、实验目的和任务利用Quartus II 原理图输入方法设计简单组合电路, 通过一个8位全加器的设计掌握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。
二、实验原理介绍三、一个8位全加器可以由2个4位全加器构成, 加法器间的进位可以用串行方式实现, 即将低位加法器的进位输出cout 与相邻的高位加法器的最低进位输入信号cin相接。
四、设计代码(或原理图)、仿真波形及分析在Quartus II 集成环境下, 选择“Bock Diagram/Schematic File”, 进入Quartus II图形编辑方式。
双击编辑窗口, 在元件选择窗口的符号库“Library”栏中, 选择”Primitives”文件夹中的”Logic”后, 调出元件。
根据8位加法器设计的原理图, 将2个4位加法器74283及输入、输出元件符号调入, 完成电路内部的连接及输入、输出元件的连接, 并将相应的输入、输出元件符号名分别更改为A[7..0]、B[7..0]、SUM[7...0]和OUT2。
再将当前设计设定为工程, 目标芯片类型为ACEX1K;型号为EP1K30TC144-3。
编译设计文件, 选择“Start Compilation”对文件进行编译。
然后进行逻辑仿真设计, 先建立波形文件, 然后输入信号节点, 设置波形参量, 编辑输入信号, 保存文件。
时序仿真图功能仿真图由图片可以看出, 当8位全加器的输入端口A输入为60时, B端口输入为160时, 输出SUM 为220, 进位OUT2为0;当输入端口A输入为60时, B输入为200时, SUM为4, 进位OUT2为1.当8位全加器的输入端口A输入为80时, B端口输入为200时, 输出SUM为24, 进位OUT2为1;当输入端口A输入为80时, B输入为160时, SUM为240, 进位OUT2为0.证明设计是正确的。
EDA —VHDL 的四位全加器设计1 设计分析全加器是能进行加数、被加数和低位来的进位信号相加,并根据求和结果给出该位的进位信号的加法电路。
其真值表如表1所示:根据真值表可得出下列表达式:根据以上表达式,可以用数据流方式设计出1位全加器。
要设计的是4位全加器,这里采用串行进位来设计。
先设计4个1位的全加器,然后将低位的进位输出与高位的进位输入相连,将要进行加法运算的两个4位数的每一位分别作为每一个1位全加器的输入,进行加法运算,所有的1位全加器的输出组成一个4位数,即输入的两个4位数之和,最高位的全加器产生的进位输出即两个4位数求和的进位输出。
4位全加器的原理图如图1所示:()()cinb a ab cin b a b a ab abcincin b a bcin a cin ab cout ⊕+=++=+++=()()()()cinb a cin b a cin b a cin ab b a cin b a b a abcin cin b a cin b a cin b a s ⊕⊕=⊕+⊕=+++=+++=图1 4位全加器原理图根据图1所示,可以采用结构化描述方式设计4位全加器。
2 程序设计设计的程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder1 IS --1位全加器设计PORT(a,b,cin:IN STD_LOGIC;s,cout:OUT STD_LOGIC);END adder1;ARCHITECTURE dataflow OF adder1 IS --用数据流方式设计1位全加器SIGNAL tmp:STD_LOGIC; --用tmp表示a⊕b BEGINtmp<=a XOR b AFTER 10 ns;s<=tmp XOR cin AFTER 10 ns;cout<=(a AND b)OR(tmp AND cin) AFTER 20 ns;END dataflow;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder4 IS --4位全加器设计PORT(a,b:IN STD_LOGIC_VECTOR(3 DOWNTO 0);cin:IN STD_LOGIC;s:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);cout:OUT STD_LOGIC);END adder4;ARCHITECTURE structural OF adder4 IS --用结构化描述风格设计4位全加器COMPONENT adder1PORT(a,b,cin:IN STD_LOGIC;s,cout:OUT STD_LOGIC);END COMPONENT;SIGNAL x,y,z:STD_LOGIC;FOR u1,u2,u3,u4:adder1 USE ENTITY WORK.adder1(dataflow);BEGINu1:adder1 PORT MAP(a(0),b(0),cin,s(0),x);u2:adder1 PORT MAP(a(1),b(1),x,s(1),y);u3:adder1 PORT MAP(a(2),b(2),y,s(2),z);u4:adder1 PORT MAP(a(3),b(3),z,s(3),cout);END structural;3 仿真结果对上面的程序进行仿真,先对1位全加器仿真,结果如图2所示:图2 1位全加器仿真图由图2可以看出,1位全加器的仿真结果与表1相符,说明1位全加器设计成功。
实验一1位全加器和四位全加器的设计一、实验目的1、掌握Quartus Ⅱ6.0软件使用流程。
2、初步掌握VHDL的编程方法。
3、掌握图形层次设计方法;4、掌握全加器原理,能进行多位加法器的设计。
二、实验原理(一位全加器的逻辑表达式为:sum=a^b^Cl;Ch= a&b|(a^b)&Cl.(2)四位加法器加法器是数字系统中的基本逻辑器件。
多位加法器的构成有两种方式:并行进位和串行进位方式。
并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。
通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。
三、实验连线(1)一位全加器1、将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到SOPC下载的一边2、将JPLED1短路帽右插,JPLED的短路帽全部上插。
3、请将JP103的短路帽全部插上,,打开实验箱电源。
( 2 ) 四位加法器1、将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到SOPC下载的一边2、JPLED1短路帽右插,JPLED的短路帽全部上插。
3、请将JP103的短路帽全部插上,,打开实验箱电源。
四、实验代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY fulladder ISPORT(A,B,C1 :IN STD_LOGIC;CH,SUM : OUT STD_LOGIC);END ENTITY fulladder;ARCHITECTURE ADO OF fulladder isSIGNAL AB :STD_LOGIC;BEGINSUM<=A XOR B XOR C1;AB<=A XOR B;CH<=(A AND B) OR (AB AND C1);END ARCHITECTURE ADO;一位全加器波形如下:图4-1四位加法器波形如下:图4-2五、实验仿真过程SW1,SW2,SW3对应a,b,Cl;D101,D102分别对应sum和Ch,当结果为0时彩色LED灯熄灭,当结果为1时彩灯点亮,改变SW1,SW2,SW3的输入状态,观察实验结果。