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

合集下载

8位全加器设计

8位全加器设计

实验报告
系别电子信息工程系课程名称《EDA技术及其应用》实验
班级1班实验名称8位全加器设计
姓名×××实验时间××××年××月××日
学号××××××××指导教师×××
报告内容
一、实验目的和任务
学习使用QuartusⅡ9.0软件,熟悉EDA设计流程。

学习用图形输入法设计八位全加器,并对其进行分析和测试。

二、实验原理介绍
学习用四位全加器设计八位全加器,第1片74283(四位全加器)的进位输出信号应该和第2片74283的进位输入信号相连。

三、设计代码、仿真波形及分析
任务1:学习使用QuartusⅡ软件,熟悉EDA设计流程(主要为软件设计部分)。

步骤:
编辑输入图形、编译设计文件、仿真设计文件
仿真波形如下图所示:
任务2:硬件验证8位全加器的功能。

步骤:
引脚锁定、编译、下载、硬件测试
可选实验电路模式1;
键2、键1和键3、4分别负责输入两个加数A和B;且能在数码管1、2和3、4上显示;两个加数的和在数码管5、6显示;发光管D1显示进位输出。

编译下载后进行硬件测试;
实验室演示
四、实验结论与心得。

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

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

实验一 用原理图输入方法设计8位全加器1.实验目的和要求本实验为综合性实验,综合了简单组合电路逻辑,MAX+plus 10.2的原理图输入方法, 层次化设计的方法等内容。

其目的是通过一个8位全加器的设计熟悉EDA 软件进行电子线路设计的详细流程。

学会对实验板上的FPGA/CPLD 进行编程下载,硬件验证自己的设计项目。

2.实验原理1位全加器可以用两个半加器及一个或门连接而成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor 为同或符合,相同为1,不同为0)来实现。

先设计底层文件:半加器,再设计顶层文件全加器。

(1) 半加器的设计:半加器表达式:进位:co=a and b 和:so=a xnor ( not b )半加器原理图如下:(2) 全加器的设计: 全加器原理图如下:3.主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机I113coa sob101010110001100co so b a notxnor2and2I113ain coutcout ain binsumcinbin sumcinf_adderor2af e du3u2u1b acco soB co soBh_adder A h_adderAEDA实验开发系统 ZY11EDA13BE并口延长线,JTAG延长线实验的软件环境是:MAX+plus 10.24.操作方法与实验步骤●按照4.1 节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。

●建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真、硬件测试。

5.实验内容及实验数据记录1.设计半加器:用原理图输入的方法输入一个半加器的逻辑图,如图所示:然后在assign里头的device里头根据试验箱的芯片设置Decices,接着就设置输入输出荧脚的输入端和输出端,设置如表1所示:表1.半加器引脚端口设置引脚名称设置端口ain input Pin=45bin input Pin=46co output Pin=19so output Pin=24 然后Save,名称为h_add.gdf,再save & Compile。

[高等教育]实验三 用原理图输入法设计8位全加器

[高等教育]实验三  用原理图输入法设计8位全加器

实验三用原理图输入法设计8位全加器1、实验目的:学习利用原理图输入法设计简单组合电路,掌握层次化设计的方法,掌握用原理图进行设计的整体流程。

2、实验内容:一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相临的高位加法器的最低进位输入信号cin相接。

利用QuartusII完成1位全加器文本编辑输入设计,并以此为依据,再利用原理图输入法设计8位全加器,得出仿真输出波形,并进行硬件引脚锁定,在实验系统上进行硬件测试,验证其硬件实现功能。

3、主要仪器设备:EDA实验箱、QuartusII软件和计算机。

4、实验内容及过程:在E:/EDA/下建立一个新的文件夹为ADDER8。

本设计的思路是先设计1个1位半加器,因此建立新建文件夹E:/EDA/ ADDER8/h_adder;要利用1位的半加器构造1位的全加器,因此建立新建文件夹E:/EDA/ ADDER8/f_adder;要利用1位的全加器构造8位的全加器,因此建立新建文件夹E:/EDA/ ADDER8/adder8;(1)、用原理图输入法构造1位半加器打开QuartusII软件,选择新建一个原理图文件,进入原理图编辑窗。

在空白编辑窗的地方电击鼠标右键,选择加入模块。

此图电击OK,为加入输入引脚。

以同样的方法加入其它模块,如下图所示。

对其连线。

连线时注意,若信号为1位,则用导线进行连接,若信号为多位,则用总线进行连接。

注意连线时,最后连好的线平滑,无x等标识方能表明线正确连接。

连好后更改输入输出引脚。

保存到E:/EDA/ ADDER8/h_adder路径下,文件名为h_adder。

建立相应的工程文件,并编译。

编译成功后转换为原理图模块。

(2)、用原理图输入法构造1位全加器把1位半加器的模块和原理图拷入文件夹E:/EDA/ ADDER8/f_adder。

用两个1位半加器构造1位全加器,以同样的步骤和方式建立1位全加器的原理图,如下图所示。

8位串行全加器设计

8位串行全加器设计

8位串行全加器设计一.实验目的1.掌握ISE开发工具的使用,掌握FPGA开发的基本步骤;2.掌握8位串行全加器电路设计的一般办法;3.掌握程序下载的办法;4.初步了解开发板资源,掌握开发板的使用方法,重点掌握按键,开关,LCD,LED的使用方法。

二.实验内容1.用VHDL实现8位串行全加器8位串行全加器顶层模块电路如下图所示。

图 8位串行全加器顶层模块其中a_in,b_in:数据输入,使用板上开关(S0~S15);sum_out:运算结果输出,使用LED显示运算结果。

2.将程序下载到FPGA并进行检验资源使用要求用开关(S0~S15)输入加数,被加数。

用 LED(D8~D15)显示运算结果。

三.实验步骤1.启动ISE,新建工程文件;2.编写8位串行全加器模块Hadder,其原理图如上图所示。

3.编写完加法器模块之后,在顶层文件上实现映射;4.新建UCF文件,输入位置约束;5.完成综合,实现,生成下载文件;6.连接开发板USB下载线,开启开发板电源;7.下载FPGA;8.输入数据,验证结果。

四.关键代码entity add_one isPort ( a_in : in STD_LOGIC;b_in : in STD_LOGIC;cin : in STD_LOGIC;si : out STD_LOGIC;cout : out STD_LOGIC);end add_one;architecture Behavioral of add_one isbeginsi<=(a_in xor b_in)xor cin;cout<=(a_in and b_in)or(cin and a_in)or(cin and b_in); end Behavioral;-- 一位加entity add_eight isPort ( a : in STD_LOGIC_VECTOR (7 downto 0);b : in STD_LOGIC_VECTOR (7 downto 0);sum : out STD_LOGIC_VECTOR (7 downto 0);c_out :out STD_LOGIC);end add_eight;architecture Behavioral of add_eight is component add_oneport( a_in,b_in,cin:in STD_LOGIC;si,cout:out STD_LOGIC);end component;signal c: STD_LOGIC_VECTOR (7 downto 0);signal c_in:STD_LOGIC:='0';beginu0: add_one port map(a(0),b(0),c_in,sum(0),c(0)); u1: add_one port map(a(1),b(1),c(0),sum(1),c(1)); u2: add_one port map(a(2),b(2),c(1),sum(2),c(2)); u3: add_one port map(a(3),b(3),c(2),sum(3),c(3)); u4: add_one port map(a(4),b(4),c(3),sum(4),c(4)); u5: add_one port map(a(5),b(5),c(4),sum(5),c(5)); u6: add_one port map(a(6),b(6),c(5),sum(6),c(6)); u7: add_one port map(a(7),b(7),c(6),sum(7),c_out); end Behavioral;--八位加。

八位全加器原理图设计实验报告

八位全加器原理图设计实验报告

南通大学计算机科学与技术学院课程实验报告
课程名称:计算机组成原理年级:2012级上机日期:11月6日姓名:学号:班级:信管122
实验名称:八位全加器设计教师:陈越成绩:
上图为n个1位的全加器FA级联成的n位的行波进位加减器。

M为方式控制输入线,当M=0时,做加法运算;当M=1时,做减法运算。

图中左边还表示出单符号位法的溢出检测逻辑:当C n=C n-1时,运算无溢出;而当C n≠C n-1时,运算有溢出,经异或门产生溢出信号,0无溢出,1表示溢出。

四、内容及步骤(包括程序流程及说明)
1.建立add8项目
2.建立一位全加器原理图,输入如下
3.将一位全加器封装成芯片FA,如图
4.将FA级联成8位全加器如图,至此8位全加器原理图设计完毕
四、运行结果
建立波形文件,验证8位全加器。

原理图输入设计8位全加器

原理图输入设计8位全加器

原理图输入设计8位全加器一、实验目的掌握运用MAX+plusII原理图编辑器进行层次电路系统设计的方法。

进一步熟悉利用MAX+plusII进行电路系统设计的一般流程。

掌握8位全加器原理图输入设计的基本方法及过程。

二、实验原理一个8位全加器可以由8个1位全加器构成,加法器间的进位可以以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相连接。

而一个1位全加器则可由实验一包装元件入库得到。

实验步骤1、为本项设计建立文件夹2、输入设计项目和存盘根据8位全加器原理图输入设计8位全加器。

并另存(Save As)在为本设计建立的文件夹中。

3、将设计项目设置成工程文件将8位全加器设置为工程文件。

4、选择目标器件并编译首先在Assign选项的下拉菜单中选择器件选择项Device,此窗口的Device Family是器件序列栏,应该首先在此拦中选定目标器件对应的序列名,为了选择EPF1K30TC144-3器件,应将此栏下方标有Show only Fastest Speed Grades的勾消去,以便显示出所有速度级别的器件。

完成器件选择后,按OK键。

最后启动编译器,首先选择左上角的MAX+plusII选项,在其下拉菜单中选择编译器项Compiler。

(此编译器的功能包括网表文件提取、设计文件排错、逻辑综合、逻辑分配、适配(结构综合)、时序仿真文件提取和编程下载文件装配等。

)点击Start,开始编译!如果发现有错,排除错误后再次编译。

5、时序仿真接下来应该测试设计项目的正确性,即逻辑仿真,具体步骤如下:(1)建立波形文件。

(2)输入信号节点。

(3)设置波形参量。

(4)设定仿真时间宽度。

(5)加上输入信号。

(6)波形文件存盘。

(7)运行仿真器。

选择MAX+plusII项及其中的仿真器Simulator选项,点击跳出的仿真器窗口中的Start键。

(注意,刚进入窗口时,应该将最下方的滑标拖向最左侧,以便可观察到初始波形)。

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

实验五用原理图输入法设计8位全加器一、实验目的熟悉利用QuartusII的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计,把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。

二、实验原理一个8位全加器可以由8个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。

而一个1位全加器可以也是通过原理图输入的方法来完成。

三、实验内容(一)完成半加器和全加器的设计1、打开原理图输入编辑窗(1)File/new/“Block Diagram/Schematic File ”(2)在编辑窗中合适位置双击/展开libraries的“+”号、primitives/logic (3)根据半加器电路图,一次双击logic中的元件and2、not、xnor及pin 中的输入引脚input、输出引脚output调入各元件。

(4)通过左侧工具栏选择连线,按原理图连接好电路(5)双击input和output的PIN NAME至变成黑色,输入各引脚名:a、b、co、so(6)存盘 Fileve as/建立文件夹及目录,如d:\adder\存盘文件名为h_adder (7)生成电路符号在打开半加器原理图时/File/“Create/Update”/Create Symbol Files for Current File说明:A.转换生成电路符号也适用输入文本形式的文件B.只针对被打开的原理图或文件C.转换好的元件必须存在当前工程的文件夹中(8)设计全加器再打开一个原理图编辑窗口/调入元件连接好电路图/以名f_adder将其存在同一文件夹中。

(9)将f_adder.bdf设置为工程 File/New Project Wizard/Next/工程名和顶层文件名都为f_adder2.编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设计成一个硬件符号入库。

8位全加器的设计

二、实验原理:一个8位全加器可以由2个4位全加器构成,加法器间的进位可以用串行方式实现,即将低位加法器的进位输出与相临的高位加法器的低进位输入信号相接。

4位全加器采用VHDL语言输入方式进行设计,将设计的4位全加器变成一个元件符号,在8位全加器的设计中进行调用。

三、实验内容和步骤:1. 采用VHDL语言输入方式设计4位全加器(1)打开QuartusII,执行File|New,在New窗口中的Device Design Files 中选择VHDL Files,然后在VHDL文本编译窗中输入程序。

执行File|Save As,找到已设立的文件夹,存盘文件名应该与实体名一致。

(2)将设计项目设置成可调用的元件选择File→create/update→create symbol Files for current file命令,将转换好的元件存在当前工程的路径文件夹中。

2.采用原理图输入方式设计8位全加器(1)打开QuartusII,执行File|New,选择block diagram/schematic file,在原理图编辑窗口中连接好8位全加器电路图(注意元件的调用),存盘。

(2)创建工程:执行File|New Project Wizard,选择目标芯片。

(3)编译:执行Processing|Start Compilation命令,进行编译。

(4)引脚锁定:在菜单Assignments中选Assignments Editor按钮,先单击右上方的Pin,再双击下方最左栏的“New”选项,弹出信号名栏,锁定所有引脚,进行编译,存盘。

选择编程模式1,键2、键1输入8位加数,键4、键3输入8位被加数,键8输入进位cin,数码管6/5显示和,D8显示进位cout。

5. 编程下载及验证:执行Tool|Programmer命令,选择program/config;执行start,进行验证,记录结果。

4位全加器的参考源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder4b ISPORT(cin:IN STD_LOGIC;a,b:IN STD_LOGIC_VECTOR(3 DOWNTO 0);s:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);cout:OUT STD_LOGIC);END ENTITY adder4b;ARCHITECTURE art OF adder4b ISSIGNAL sint,aa,bb:STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINaa<='0'&a;bb<='0'&b;sint<=aa+bb+cin;s<=sint(3 downto 0);cout<=sint(4);END art;触发器功能的模拟实现三、实验内容:基本RS触发器、同步RS触发器、集成JK触发器和D触发器同时集成在一个芯片上,实现的原理图如下:输入信号Sd、Rd对应的管脚接按键开关,CLK1、CLK2接时钟源(频率<5Hz);J,K,D,R,S对应的管脚分别接拨码开关;输出信号QRS,NQRS,QRSC,NQRSC,QJK,NQJK,QD,NQD对应管脚分别接LED灯。

EDA实验2 原理图输入法设计8位二进制全加器

实验2原理图输入法设计8位二进制全加器一、实验目的进一步熟悉QuartusⅡ的使用方法,学习时序仿真。

二、实验内容用V erilog HDL设计一个8位二进制全加器。

可以直接编写程序,也可以利用例化语句调用1位全加器构成8位全加器。

并进行编译、综合、适配和仿真。

三、实验步骤:1.为本项工程设计建立文件夹2.建立V erilog HDL文件3.存盘并建立工程4.全程编译5.时序仿真⑴建立矢量波形文件菜单操作:file—new图2-1 选择编辑矢量波形文件图2-2 波形编辑器⑵设置仿真时间长度菜单操作:Edit—end time图2-3 设置仿真时间长度⑶存盘图2-4 vwf激励波形文件存盘⑷将工程test2的端口信号选入波形编辑器中。

菜单操作:View—Utility Windows—Node Finder,并按图2-5 向波形编辑器拖入信号节点选项:Look:工程名;filer:Pins all⑸编辑输入波形单击输入信号a使之变成蓝色条,激活波形编辑器图2-6波形编辑器按图2-7设置输入信号a的周期在Tool Zoom 状态下调整波形图图2-8 设置好的激励波形图⑹菜单操作:Assignments –setting进入以下窗口:图2-9 选择仿真控制图2-10 仿真波形输出图2-11 选择全时域显示⑺仿真:Processing-Start Simulation 或。

注:该实验也可用硬件测试的方法来验证其设计的正确性。

四、实验报告详细叙述实验内容所要求的设计流程;给出仿真波形图;给时序分析情况。

五、参考程序module ADDER8B(A,B,CIN,COUT,DOUT);output [7:0] DOUT; output COUT;input [7:0] A,B; input CIN; wire [8:0] DA TA;assign DA TA =A+B+CIN;assign COUT=DA TA[8];assign DOUT=DA TA[7:0];endmodule。

实验06八位硬件加法器

实验六8位硬件加法器一. 实验目的1. 掌握QuartusII的硬件描述语言设计方法2. 了解同步计数器的原理及应用3. 设计一个带使能输入、进位输出及同步清零的增1四位N (N<16)进制同步计数器二. 准备知识1. 串行进位加法器若有多位数相加,则可采用并行相加串行进位的方式来完成。

例如,有两个4位二进制数A3A2A1A0和B3B2B1B0相加,可以采用两片内含两个全加器或1片内含4个全加器的集成电路组成,其原理图如图6.1所示:图6.1 串行进位加法器由图6.1可以看出,每1位的进位信号送给下1位作为输入信号,因此,任1位的加法运算必须在低1位的运算完成之后才能进行,这种进位方式称为串行进位。

这种加法器的逻辑电路比较简单,但它的运算速度不高。

为克服这一缺点,可以采用超前进位等方式。

2. 超前进位加法器对于一个加法器来说,它是一个纯组合电路。

也就是它的输出在输入出现的时刻就已经确定了,包括它的和和进位值,是输入的组合逻辑。

换而言之,只要知道输入,在不算出和的情况下也可以得到进位值,该值仅为输入的组合逻辑,以这样的一种思路设计的叫超前进位加法器。

而所谓串行进位加法器,就是必须算得低位加法的值后才可以继续计算高位值,如图6.1所示的电路,引用了一位全加器构成了四位全加器。

在硬件实现上,在4倍的单个全加器延时时间内它的输出都是不准确的,必须经过4倍的单个全加器延时时间才能得到准确值。

如果是16位或32位的加法器,延时是不可容忍的。

因此一般来说是直接利用输入组合逻辑方式同时决定结果的每一位和输出进位来实现的加法器,为超前进位加法器,相比与串行加法大大减低了多位加法所需要的延迟。

由于串行进位加法器的速度受到进位信号的限制,人们又设计了一种多位数超前进位加法逻辑电路,使每位的进位只由加数和被加数决定,而与低位的进位无关。

现在介绍超前进位的概念。

根据全加器的功能,可列出它的真值表:表6.1 全加器真值表由全加器的真值表可得Si 和Ci 的逻辑表达式:1111111i i i i i i i i i i i i i i i i i i i i i i S A B C A B C A B C A B C A B C A B C A B C -------=+++=⊕+⊕=⊕⊕ (6.1)11111i i i i i i i i i i i i i i i i i i C A B C A B C A B C A B C A B A B C -----=+++=+⊕ (6.2)定义两个中间变量Gi 和Pi :i i i i i iG A B P A B ==⊕ (6.3)当Ai =Bi =1时,Gi =1,由Ci 的表达式可得Ci =1,即产生进位,所以Gi 称为产生量变 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告一
一、实验目的
熟悉利用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)决定的,而超前进位是事先得出每一位全加器的进位输出信号,而无需再从低位开始向高位逐位传递进位信号了,这就有效地提高了工作速度了。

相关文档
最新文档