用原理图输入方法设计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显示进位输出。

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

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

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

实验1 原理图输入设计8位全加器11电子2班 邓嘉明 学号:201124121228实验目的:熟悉利用Quartus Ⅱ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA 软件进行电子线路设计的详细流程 实验工具:Quartus Ⅱ8.0 实验步骤:(1)工程设计步骤:(2)八位全加器设计步骤:实验内容:一、一位半加器(1)原理图设计:如图1-1图1-1一位半加器原理图(2)综合一位半加器综合报告:如图1-2图1-2 一位半加器综合报告图流动状态 软件版本 修复名称 顶层文件 器件系列所有逻辑资源所有寄存器 所有引脚 所有虚拟引脚 所有存储器 器件型号 时间模型(3)功能仿真半加器功能仿真波形图:如图1-3图1-3半加器波形仿真图半加器理论的结果:如表1-1结论:图所以波形图仿真时成功的。

(4)时序仿真半加器时序仿真波形图:如图1-4图1-4 半加器时序仿真波形图结论:时序仿真没有出现毛刺,只能说明这次试验比较幸运。

延时情况:如图1-5注:tsu(建立时间),th(保持时间),tco(时钟至输出延时),tpd(引脚至引脚延时)图1-5 半加器时序仿真延时情况(5)封装一位半加器的封装:如图1-6图1-6 一位半加器封装二、一位全加器(1)一位全加器原理图设计:如图2-1图2-1 一位全加器原理图(2)综合一位全加器综合报告:如图2-2图2-2 一位全加器综合报告(3)功能仿真一位全加器功能仿真波形图:如图2-3果,所以波形图仿真时成功的。

(4)时序仿真一位全加器时序仿真波形图:如图2-4图2-4 一位全加器时序仿真波形图结论:一位全加器时序仿真结果没有出现毛刺,只能说明这次试验比较幸运。

延时情况:如图2-5图2-5 一位全加器时序仿真延时情况(5)封装一位全加器封装:如图2-6图2-6 一位全加器封装三、八位全加器(1)原理图设计一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现。

原理图输入设计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位全加器

实验五用原理图输入法设计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.编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设计成一个硬件符号入库。

Quartus_II设计八位加法器

Quartus_II设计八位加法器

Q u a r t u s_I I设计八位加法器(总19页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--摘要关键词: 8位加法器;EDA(电子设计自动化);QuartusⅡ(可编程逻辑软件)目录第1章概述..................................................................................................... 错误!未定义书签。

EDA的概念 ...................................................................................................... 错误!未定义书签。

硬件描述语言概述........................................................................................ 错误!未定义书签。

第2章QUARTUS II ...................................................................................... 错误!未定义书签。

QUARTUSII概述............................................................................................. 错误!未定义书签。

QUARTUSII建立工程项目......................................................................... 错误!未定义书签。

QUARTUSII建立原理图输入文件 .......................................................... 错误!未定义书签。

8位全加器的设计

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实验_设计一个8位加法器

EDA实验_设计一个8位加法器

XXXX大学计算机科学学院实验/上机报告一、实验目的设计一个8位加法器。

二、实验环境Quartus II 7.0 开发系统三、实验内容利用全加器,设计一个8位加法器。

四、实验过程设计思想:8位二进制加法器可以由8个全加器通过级联的方式构成。

根据全加器级联的原理,用VHDL设计一个8位二进制数的加法器,可以先设计一个一位全加器,然后利用一位全加器采用元件例化的方式实现加法器。

实验步骤:1、设计一个全加器新建工程,建立源文件,输入VHDL设计文件,如下图所示:完成设计文件输入后,保存文件,对文件进行编译、仿真,以下是仿真结果,如图所示:由图可知仿真结果正确。

2、元件例化把VHDL设计文件转为原理图中使用的元件。

在文件菜单File中选择Creat/Update选项,单击Create Symbol File for Current File 选项,系统自动生成相应的元件标号。

重复新建文件的操作,选择Block Diagram/Schmatic File 选项,新建一个原理图文件,在添加元件列表中可以看到自动生成的元件,选择full_adder这个元件添加到原理图中,如下图所示:3、完成顶层图的设计用生成的元件标号,完成顶层图的设计。

这里有两种方法,一种是直接用原理图设计,根据原理图设计工具的使用方法,完成顶层文件的设计,这个方法比较复杂,所以这里选择另一种方法,通过VHDL设计文件。

继续建立源文件,输入VHDL设计文件,如下图所示:依照上述步骤,保存文件,对文件进行编译、仿真,以下是仿真结果,如图所示:五、实验总结本次实验的目的是设计一个8位二进制加法器,而8位二进制加法器可以由8个全加器通过级联的方式构成。

根据全加器级联的原理,用VHDL设计一个8位二进制数的加法器,可以先设计一个一位全加器,然后利用一位全加器采用元件例化的方式实现加法器。

根据实验设计思路,我先用VHDL设计了一个全加器full_adder.vhd,编译、仿真成功后,通过元件例化的方式,采用原理图设计了一个8位的加法器adder8.bdf,但是在这个过程中出现了很多问题,即由于我是把这个8位的加法器的每个全加器元件输入输出引脚分开的,因此一开始就设计了17个输入引脚,这使得我在给输入引脚添加信号时不知道添加什么信号,才能够起到验证仿真结果是否正确的目的。

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

用原理图方法设计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)决定的,而超前进位是事先得出每一位全加器的进位输出信号,而无需再从低位开始向高位逐位传递进位信号了,这就有效地提高了工作速度了。

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

实验一 用原理图输入方法设计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.主要仪器设备(实验用的软硬件环境)
实验的硬件环境是:
微机
I113co
a so
b
1
0101
0110001
10
0co so b a not
xnor2
and2
I113ain cout
cout ain bin
sum
cin
bin sum
cin
f_adder
or2a
f e d
u3
u2
u1
b a
c
co so
B co so
B
h_adder A h_adder
A
EDA实验开发系统 ZY11EDA13BE
并口延长线,JTAG延长线
实验的软件环境是:
MAX+plus 10.2
4.操作方法与实验步骤
●按照4.1 节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。

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

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

结果如图所示:
然后编译可查看仿真波形图验证原理图的正确性即建立仿真波形图,得到图像如图所示
然后,simulator,结果如图所示:
如图然后把半加器进行模块化,结果如图所示:
(2) 设计一位全加器
在半加器的同一个文件目录下,进行创建一位全加器的f_add.gdf,按照第一步的方式输入元件input(ain、bin、cin)、output(cout、sum)、h_add、or2,然后用连线把元件连接成一个全加器,ain、bin给第一个半加器的输入端,而分别把它输出端so和第三个输入端cin给第二个半加器的ain、bin,分别把第二个半加器的输出端co和第一个的输出端co给or2元器件作为输入端,然后送给count作为进位显示,而第二个半加器的输出so给sum作为加法的结果,
原理图如下所示:
然后在assign里头的device里头根据试验箱的芯片设置Decices,选择芯片的型号进行设置输入输出荧脚的输入端和输出端,设置如下:
表2.一位全加器引脚端口设置
引脚名称设置端口
ain input Pin=45
bin input Pin=46
cin input Pin=47
co output Pin=19
so output Pin=24 然后Save,再Compile。

结果如图所示:
将其进行编译,仿真后得到仿真波形图如下:
然后,simulator,结果如图所示:
将全加器封装成一个电路模块,如图所示:
(3)设计8位全加器
在一位全加器的同一个文件目录下,进行创建一位全加器的8bitf_add.gdf,按照第一步的方式输入元件input[ain(7..0)、bin(7..0)、cin]、output[cout、sum(7..0)]、f_add,然后用标号的方式把元件的输入输出端口接成一个八位全加器,分别把ain(7..0)给编号为1-8的一位全加器的输入端ain;分别把bin(7..0)给编号为1-8的一位全加器的输入端bin;并把每个一位全加器的输出端count给下一个的cin输入端,直到第八个一位全加器把count送给输出端count作为最后的进位位,把sum输出端分别给sum(7..0)作为每个全加器的结果输出,原理图如图所示:
将8位全加器封装成一个电路模块,如图所示:
经过编译,仿真之后,得到仿真波形图,如下图:
6.实验数据处理与分析
半加器的实验数据:
ain bin so co
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
可以看出,so是有ain,bin相加后得到的,但未有进位。

当ain,bin都为
0时,so为0;当ain,bin中有一个为1时,so为1,而这之前co都是为0,表明未进位。

当ain,bin都为1时,此时so为0,co为1,表明已进位。

一位全加器的实验数据:
ain bin cin sum count
0 0 0 0 0
0 1 0 1 0
1 0 0 1 0
1 1 0 0 1
ain bin cin sum count
0 0 1 0 0
0 1 1 1 0
1 0 1 0 1
1 1 1 1 1
当cin=0的情况下和半加器的结果是一样的,当cin=1时,若ain=0时,count=0;若ain=1时,count=1;由此可见半加器和全加器的设计是正确的。

7.质疑、建议、问题讨论
总结:经过此次实验,让我懂得了EDA设计的具体流程,首次接触maxplux2这个软件,对其有了一定的了解。

从半加器的设计到1位全加器的设计,再到8位全加器的设计,让我对该程序又了更深的理解。

而且在此次实验中还学会了如何进行程序的改错,为以后得学习打下基础。

相关文档
最新文档