利用Quartus II软件和原理图输入法设计八位加法器

合集下载

8位加法器的设计

8位加法器的设计

实验二8位加法器的设计1.实验目的:(1)学习使用Quartus II软件的基本用法(2)了解和掌握VHDL语言的语法规则和编程方法及基本流程(3)了解VHDL语言的基本结构(4)掌握元件例化设计思想2.实验内容设计一个由两个4位二进制并行加法器级联而成的8位加法器。

参考设计方案:加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。

多位加法器的构成有两种方式:并行进位和串行进位方式。

并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。

并行进位加法器通常比串行级联加法器占用更多的资源。

随着位数的增加,相同位数的并行加法器与串行加法器的资源占用差距也越来越大。

因此,在工程中使用加法器时,要在速度和容量之间寻找平衡点。

实践证明,4位二进制并行加法器和串行级联加法器占用几乎相同的资源。

这样,多位加法器由4位二进制并行加法器级联构成是较好的折中选择,下图即为八位加法器原理框图。

3.实验要求(1)画出系统的RTL原理框图,说明系统中个主要成分的功能(2)编写VHDL程序(3)进行系统时序仿真,画出时序图(4)记录实验过程中遇到的问题及解决办法4.程序设计5.生成RTL电路图如图所示,一个8位加法器由2个4位二进制并行加法器级联构成,4位二进制并行加法器U1的进位输出串接在U2的低位进位CIN上,4位二进制并行加法器U1的输入是A、B、CIN,4位二进制并行加法器U2的输入是A、B和由U1来的进位CONT,从而得到一个8位全加器。

6.仿真波形7.实验心得在本次实验中我遇到的问题是,刚开始我以为只要把4位二进制并行加法器和8位二进制加法器的VHDL程序代码全打在ADDER8B 中编译就可以了,这样做虽然也能够编译成功,但是,结果是,Quartus II软件只默认编译的第一个源程序,也就是4位二进制并行加法器的源程序。

结果我尝试了很久才发现,原来要把两个.vhd文件分开书写,并且8位二进制加法器的顶层文件名要与程序的实体名称一致。

用原理图输入方法设计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位全加器>一、实验名称:基于封装设计思想实现8位全加器二、实验学时:3学时三、实验目的:1) 在掌握QuartusII软件环境和全加器原理的基础上,重点学习Verilog封装的设计方法。

2)进一步巩固文本和图形法结合的设计方法。

四、实验内容分别用原理图输入法和文本输入法来设计八位全加器。

1)原理图输入法:给出一位全加器的原理图,在quartusⅡ中封装一位全加器,再用它顺序链接形成八位全加器。

2)文本输入法:用Verilog语言编写源程序来实现八位全加器。

五、实验仪器1.PC机2. 数字系统设计实验开发板六、实验步骤1)熟悉quartusII的使用a)打开开发环境,如图表1图表 12)原理图输入法a) 我们在这里给出一位加法器的原理图图表2。

图表 2b) 给出一位加法器的真值表图表3。

图表 33) 文本输入方法i.创建Verilog程序文件,如图表。

图表 5ii.把同学们自己写的源程序输入进去,然后编译,如果不明白,可以参考以前的实验。

iii.代码可以参考《V erilog数字系统设计教程》,P199,进行设计。

4)通过文本输入法或原理图输入法实现一位加法运算器,并将其封装,然后通过8个一位加法器的链接实现8位加法器。

封装方法:一位加法器程序编写并编译通过后,点击File->Creat/Update->Creat Symbol Files for Current File可以产生与module同名的元器件,然后可以通过对器件的连接产生一个8位加法器。

请同学们根据一位加法器设计出8位加法器的电路图。

然后进行仿真。

我们在这里提供一个4位加法器的参考设计图6.图表 4七、实验结果1.文本输入法1.1一位全加器:程序代码:module one_bit(s,co,x,y,ci);input x,y,ci;output s,co;wire a,b,c;xor (s,ci,x,y);andand1(a,x,y),and2(b,x,ci),and3(c,y,ci);or (co,a,b,c);endmodule波形图:1.2 八位全加器程序代码:module eight_bit(s,co,x,y); input [7:0] x,y;output [7:0] s;output co;assign {co,s}=x+y;endmodule波形图:2.原理图输入法:2.1 一位全加器原理图:波形图:2.2 八位全加器:原理图:波形图:八、问题讨论:为什么我们有时候用always,而有时候又用assign,同学们能否正确区分它们的区别?assign语句即持续赋值语句,主要用于对wire型变量的赋值,因为wire即线型的值不能存住,需要一直给值,所以需要用持续赋值。

实验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位加法器设计实验1.实验目的:熟悉利用quartus原理图输入方法设计简单组合电路,掌握层次化设计方法。

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

3.实验任务:完成半加器,全加器,八位加法器设计,使用例化语句,并将其设计成一个原件符号入库,做好程序设计,编译,程序仿真。

1)编译成功的半加器程序:module h_adder(a,b,so,co);input a,b;output so,co;assign so=a^b;assign co=a&b;endmodule2)编译成功的全加器程序:module f_adder(ain,bin,cin,cout,sum);output cout,sum;input ain,bin,cin;wire net1,net2,net3;h_adder u1(ain,bin,net1,net2);h_adder u2(.a(net1),.so(sum),.b(cin),.co(net3));or u3(cout,net2,net3);endmodule3)编译成功的八位加法器程序:module f_adder8(ain,bin,cin,cout,sum);output [7:0]sum; output cout;input [7:0]ain,bin;input cin;wire cout0, cout1, cout2 ,cout3, cout4,cout5,cout6;f_adderu0(.ain(ain[0]),.bin(bin[0]),.cin(cin),.sum(sum[0]),.cout(cout0));f_adderu1(.ain(ain[1]),.bin(bin[1]),.cin(cout0),.sum(sum[1]),.cout(cout1)); f_adderu2(.ain(ain[2]),.bin(bin[2]),.cin(cout1),.sum(sum[2]),.cout(cout2)); f_adderu3(.ain(ain[3]),.bin(bin[3]),.cin(cout2),.sum(sum[3]),.cout(cout3)); f_adderu4(.ain(ain[4]),.bin(bin[4]),.cin(cout3),.sum(sum[4]),.cout(cout4)); f_adderu5(.ain(ain[5]),.bin(bin[5]),.cin(cout4),.sum(sum[5]),.cout(cout5)); f_adderu6(.ain(ain[6]),.bin(bin[6]),.cin(cout5),.sum(sum[6]),.cout(cout6));f_adderu7(.ain(ain[7]),.bin(bin[7]),.cin(cout6),.sum(sum[7]),.cout(cout)); endmodule4)八位加法器仿真程序:module f_adder8_vlg_tst();// constants// general purpose registers//reg eachvec;// test vector input registersreg [7:0] ain;reg [7:0] bin;reg cin;// wireswire cout;wire [7:0] sum;// assign statements (if any)f_adder8 i1 (// port map - connection between master ports and signals/registers.ain(ain),.bin(bin),.cin(cin),.cout(cout),.sum(sum));initialbeginain=10;bin=11;cin=0;#100 ain=10;bin=10;cin=0;#100 ain=10;bin=10;cin=1;#100 ain=12;bin=18;cin=0;#100 ain=12;bin=18;cin=1;#100 $stop;endendmodule5)八位加法器仿真图:6)元件原理图及元件入库:半加器原理图:文件入库bsf:全加器原理图:全加器元件入库:八位全加器rtl图:八位全加器仿真图:如有侵权请联系告知删除,感谢你们的配合!。

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

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

在QuartusII中用原理图输入法设计8位全加器VHDL与集成电路设计实验报告实验二:在QuartusII中用原理图输入法设计8位全加器姓名院系学号任课教师指导教师评阅教师实验地点实验四号楼611室实验时间2012 年11月实验目的:熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序电路的设计、仿真和测试实验原理:一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相临的高位加法器的最低进位输入信号cin相接。

而一个1位全加器可以按照6.1节的方法来完成实验内容:实验内容1:按照6.1节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。

键1、键2、键3(PIO0/1/2)分别接ain、bin、cin;发光管D2、D1(PIO9/8)分别接sum 和cout实验内容2:实验内容2,建立一个更高层次的原理图设计,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。

建议选择电路模式1(附录图3);键2、键1输入8位加数;键4、键3输入8位被加数;数码6/5显示加和;D8显示进位cout实验过程:1、先建立工程,再建立第一个半加器.bdf文件,进行元件逻辑器件选择,放置好端口器件,连接好线,改好名字2、进行编译综合。

3、再在半加器的基础上建立全加器。

注意半加器要进行包装成一个元件。

4、再在全加器的基础上建立起8位全加器。

同样要把全加器进行包装。

5、仿真分析:建立一个.vwf文件,设定好各个输入端口频率,进行仿真分析。

6、硬件测试:引脚锁定,综合,接实验箱的线,打开电源,如果没有驱动,进行驱动选择。

点击下载按钮,进行下载测试。

5、测试过程及结果:引脚锁定4个按键,按前两个按键,前两位的数码管的前两个数码管显示两个数,还有另外两个数码管6/5显示和,按另外两个键,后两位的数码管显示当前的数,结果那6/5两个数码管显示这两个数加起来的和。

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综合实验——八位全加器

EDA综合实验——八位全加器
二、实验原理介绍
一个8位全加器可以由2个4位全加器构成,加法器间的进位可以用串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。
3、设计代码(或原理图)、仿真波形及分析
在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综合实验》
班级
实验名称
8位全加器的设计
姓名
实验时王红航

实验一 8位全加器

实验一 8位全加器

实验一:8位全加器请大家先学习实验一附 Quartus II开发环境简介.doc文件,对照着完成本次实验。

实验步骤1、熟悉QUARTUSⅡ集成开发环境;2、熟悉GW48-PK2型FPGA实验箱;3、编写8位全加器的Verilog HDL源代码;4、完成计算机模拟功能仿真;5、下载到Altera ACEXEP1K30中,使用实验箱完成硬件验证;6、完成实验报告实验要求8位全加器输入:Clk,Rst_,In1,In2,Cin输出:Cout,Sum首先在实验箱左下角有个按钮模式选择,选择到模式1,红色的七段译码器会显示你所选择的模式。

下载到实验箱的时候需要查阅白皮书,首先请查阅第129页找到各实验电路结构图特点和适用范围简述:我们实验时使用结构图NO.1来实现加法器设计,结构图NO.1见白皮书P133页附图3。

关于引脚的绑定,例如键1对应PIO3-PIO0,绑定引脚的时候我们就要查阅白皮书第142页的适合于QuartusII 的部分引脚对照表选择PIO0对应的GW AK30/50 EP1K30/20/50TQC144这一列对应的引脚名称I/00,这个引脚对应与我们程序中的In1[0],依次类推,绑定好引脚In1[2],到In2[7]。

Cin绑到键7,相加的结果绑到译码器5和6。

绑定的时候注意引脚和结果的高低位顺序。

Cout绑到D1。

Rst_绑定到键8。

Clk 绑到CLOCK0。

完成实验后提交:请指导老师观看实验结果,写电子档的实验报告包括实验结果(包括仿真截图,仿真截图需要有文字说明),实验心得,代码(是.V文件)。

截图工具为键盘上的F12右边的那个PrtscSysRq键。

按下此键后,点击电脑左下角的开始—〉所有程序—〉附件—〉画图工具,打开,按住Ctrl+V粘贴图像,再保存截图即可。

提交的时候,请将文件夹命名为学号姓名(如:200531510001XXX)。

回去以后尽快填写纸质实验报告,并在下次做实验的时候交上来。

EDA技术与应用实验报告8位加法器的设计

EDA技术与应用实验报告8位加法器的设计

EDA技术与应用实验报告实验、8位加法器的设计1、实验目的1、学习Quartus II/ISE Suite/ispLEVER软件的基本使用方法。

2、学习GW48-CK或其他EDA实验开发系统的基本使用方法。

3、了解VHDL程序的基本结构。

2、实验内容设计并调试好一个由两个4位二进制并行加法器级联而成的8位二进制并行加法器,并用GW48-CK或其他EDA实验开发系统进行硬件验证。

3、实验要求1、画出系统的原理框图,说明系统中各主要组成部分的功能。

2、编写各个VHDL源程序。

3、根据系统的功能,选好测试用例,画出测试输入信号波形或编好测试程序。

4、记录系统仿真、逻辑综合及硬件验证结果。

5、记录实验过程中出现的问题及解决办法。

4位加法器原理图8位加法器电路原理图ADDER8B动态显示电路原理图注:本设计中的8位二进制并行加法器是由两个4位二进制加法器级联而成的4、VHDL源程序1)4位二进制并行加法器的源程序ADDER4B.VHD--ADDER4B.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER4B ISPORT(C4: IN STD_LOGIC;A4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);B4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);S4: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO4: OUT STD_LOGIC);END ENTITY ADDER4B;ARCHITECTURE ART OF ADDER4B ISSIGNAL S5: STD_LOGIC_VECTOR(4 DOWNTO 0);SIGNAL A5, B5: STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINA5<=‘0’& A4;B5<=‘0’& B4;S5<=A5+B5+C4;S4<=S5(3 DOWNTO 0);CO4<=S5(4);END ARCHITECTURE ART;2)8位二进制加法器的源程序ADDER8B.VHD--ADDER8B.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER8B ISPORT(C8:IN STD_LOGIC;A8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);B8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);S8:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);CO8:OUT STD_LOGIC);END ENTITY ADDER8B;ARCHITECTURE ART OF ADDER8B ISCOMPONENT ADDER4B ISPORT(C4:IN STD_LOGIC;A4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);B4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);S4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO4:OUT STD_LOGIC);END COMPONENT ADDER4B;SIGNAL SC:STD_LOGIC;BEGINU1:ADDER4BPORT MAP(C4=>C8,A4=>A8(3 DOWNTO 0),B4=>B8(3 DOWNTO 0), S4=>S8(3 DOWNTO 0),CO4=>SC);U2:ADDER4BPORT MAP(C4=>SC,A4=>A8(7 DOWNTO 4),B4=>B8(7 DOWNTO 4), S4=>S8(7 DOWNTO 4),CO4=>CO8);END ARCHITECTURE ART;3)CTRLS显示控制程序--CTRLS.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CTRLS ISPORT(CLK:IN STD_LOGIC;SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END ENTITY CTRLS;ARCHITECTURE ART OF CTRLS ISSIGNAL CNT:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINPROCESS(CLK) ISBEGINIF CLK'EVENT AND CLK='1' THENIF CNT="111" THENCNT<="000";ELSECNT<=CNT+'1';END IF;END IF;END PROCESS;SEL<=CNT;END ARCHITECTURE ART;动LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DISPLAY ISPORT(SEL:IN STD_LOGIC_VECTOR(2 DOWNTO 0);S8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);COM:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);SEG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ENTITY DISPLAY;ARCHITECTURE ART OF DISPLAY ISSIGNAL vaul:INTEGER RANGE 0 TO 256;SIGNAL ge,shi,bai:INTEGER RANGE 0 TO 9;SIGNAL DATA:INTEGER RANGE 0 TO 9 ;BEGINvaul<=CONV_INTEGER(S8);P0:PROCESS(vaul) ISVARIABLE A,B,C:INTEGER RANGE 0 TO 9 ;BEGINA:= vaul REM 10 ; B:=(vaul-A) REM 100 ; C:=vaul MOD 100 ; ge<=A;shi<=B;bai<=C;END PROCESS P0;P1:PROCESS(SEL) ISBEGINCASE SEL ISWHEN"000"=>COM<="11111110";WHEN"001"=>COM<="11111101";WHEN"010"=>COM<="11111011";WHEN"011"=>COM<="11110111";WHEN OTHERS=>COM<="11111111";END CASE;END PROCESS P1;P2:PROCESS(SEL) ISBEGINCASE SEL ISWHEN"000"=>DATA<=ge;WHEN"001"=>DATA<=shi;WHEN"010"=>DATA<=bai;WHEN OTHERS=>DATA<=0;END CASE;CASE DATA ISWHEN 0=>SEG<="00111111"; --3FHWHEN 1=>SEG<="00000110"; --06HWHEN 2=>SEG<="01011011"; --5BHWHEN 3=>SEG<="01001111"; --4FHWHEN 4=>SEG<="01100110"; --66HWHEN 5=>SEG<="01101101"; --6DHWHEN 6=>SEG<="01111101"; --7DHWHEN 7=>SEG<="00000111"; --07HWHEN 8=>SEG<="01111111"; --7FHWHEN 9=>SEG<="01101111"; --6FHWHEN OTHERS=>SEG<="00000000";END CASE;END PROCESS P2;4)态DISPLAY5)动态显示仿真程序--LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER8B ISPORT(CLK:IN STD_LOGIC;C8:IN STD_LOGIC;A8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);B8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);CO8:OUT STD_LOGIC;COM:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);SEG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END ENTITY ADDER8B;ARCHITECTURE ART OF ADDER8B ISCOMPONENT ADDER4B ISPORT(C4:IN STD_LOGIC;A4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);B4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);S4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO4:OUT STD_LOGIC);END COMPONENT ADDER4B;COMPONENT CTRLS ISPORT(CLK:IN STD_LOGIC;SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT CTRLS;COMPONENT DISPLAY ISPORT(SEL:IN STD_LOGIC_VECTOR(2 DOWNTO 0);S8:IN STD_LOGIC_VECTOR(7 DOWNTO 0);COM:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);SEG:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END COMPONENT DISPLA Y;SIGNAL SC:STD_LOGIC;SIGNAL S8:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL SEL:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINU1:ADDER4BPORT MAP(C4=>C8,A4=>A8(3 DOWNTO 0),B4=>B8(3 DOWNTO 0),S4=>S8(3 DOWNTO 0),CO4=>SC);U2:ADDER4BPORT MAP(C4=>SC,A4=>A8(7 DOWNTO 4),B4=>B8(7 DOWNTO 4),S4=>S8(7 DOWNTO 4),CO4=>CO8);U3:CTRLSPORT MAP(CLK,SEL(2 DOWNTO 0));U5:DISPLAYPORT MAP(SEL(2 DOWNTO 0),S8(7 DOWNTO 0),COM(7 DOWNTO 0),SEG(7 DOWNTO 0));END ARCHITECTURE ART;5、仿真结果验证在程序调试和仿真时,我们要使用自底向上的方法进行,也就是对于含有多个模块的设计,我们要先从底层模块进行调试和仿真,再进行更高层次模块的调试和仿真,最后进行顶层模块的调试与仿真。

EDA2实验4-8位加法器的设计

EDA2实验4-8位加法器的设计

实验四八位加法器的设计一、实验目的(1)进一步熟悉和掌握Quartus II 软件的使用。

(2)进一步熟悉和掌握GW48-CK或其他EDA实验开发系统的基本使用方法。

(3)学习VHDL程序的基本构成。

二、实验内容设计并调试好一个由两个4位二进制并行加法器级联而成的8位二进制并行加法器,并用GW48-CK或其他EDA实验开发系统进行硬件验证。

三、实验条件(1)开发软件:Quartus II 9.0(2)实验设备:W48-CK EDA实验开发系统。

四、实验原理加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可以由加法器来构成。

多位加法器的构成有两种方式:并行进位和串行进位。

并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。

并行进位加法器通常比串行级联加法器占用更多的资源。

随着位数增加。

相同位数的并行加法器与串行加法器的资源占用差距也越来越大。

因此,在工程中使用加法器时,要在速度和容量之间寻找平衡点。

实践证明,4位二进制并行加法器和串行级联加法器占用几乎相同的资源,这样,多位加法器由4位二进制并行加法器级联构成是较好的折中选择。

本设计中的8位二进制并行加法器即是由两个4位二进制并行加法器级联而成的,其电路原理图如图所示。

五、实验设计VHDL程序(1)4位二进制并行加法器的源程序ADDER4B.VHD library ieee;use ieee.std_logic_1164.all;use ;entity ADDER4B isport (C4:in std_logic;A4:in std_logic_vector (3 downto 0);B4:in std_logic_vector (3 downto 0);S4:out std_logic_vector (3 downto 0);CO4:out std_logic);end entity ADDER4B;architecture ART of ADDER4B issignal S5:std_logic_vector (4 downto 0);signal A5,B5:std_logic_vector (4 downto 0);beginA5<='0'&A4;B5<='0'&B4;S5<=A5+B5+C4;S4<=S5(3 downto 0);CO4<=S5(4);end architecture ART;(2)8位二进制并行加法器的源程序ADDER8B.VHD library ieee;use ieee.std_logic_1164.all;use ;entity ADDER8B isport (C8:in std_logic;A8:in std_logic_vector (7 downto 0);B8:in std_logic_vector (7 downto 0);S8:out std_logic_vector (7 downto 0);CO8:out std_logic);end entity ADDER8B;architecture ART of ADDER8B iscomponent ADDER4B isport (C4:in std_logic;A4:in std_logic_vector (3 downto 0);B4:in std_logic_vector (3 downto 0);S4:out std_logic_vector (3 downto 0);CO4:out std_logic);end component ADDER4B;signal SC:std_logic;beginU1:ADDER4Bport map (C4=>C8,A4=>A8 (3 downto 0),B4=>B8(3 downto 0),S4=>S8(3 downto 0),CO4=>SC);U2:ADDER4Bport map (C4=>SC,A4=>A8 (7 downto 4),B4=>B8(7 downto 4),S4=>S8(7 downto 4),CO4=>CO8);end architecture ART;仿真波形设置(1)4位二进制(2)8位二进制六、实验结果及总结(1)4位二进制功能仿真结果4位二进制时序仿真结果(2)8位二进制功能仿真结果8位二进制时序仿真结果从系统仿真的结果可以看出,程序的设计完全符合设计要求。

最新Quartus_II设计八位加法器

最新Quartus_II设计八位加法器

摘要关键词:8位加法器;EDA(电子设计自动化);QuartusⅡ(可编程逻辑软件)目录第1章概述 (1)1.1EDA的概念 (1)1.1.1EDA的发展 (1)1.1.2EDA的应用 (2)1.2硬件描述语言概述 (2)第2章QUARTUS II (4)2.1QUARTUSII概述 (4)2.2QUARTUSII建立工程项目 (4)2.3QUARTUSII建立原理图输入文件 (6)2.4QUARTUSII层次化项目设计 (9)2.4.1底层模块符号的建立和修改 (9)2.4.2建立顶层设计文件 (9)第3章8位加法器设计 (12)3.18位加法器 (12)3.1.1原理及功能说明 (12)3.1.2设计思路 (12)3.2设计过程 (12)3.2.1半加器、 (12)3.2.2全加器 (13)3.2.38位全加器 (13)参考文献 (15)结论 (16)第1章概述1.1 EDA的概念EDA是电子设计自动化(Electronic Design Automation)的缩写,从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

由于它是一门刚刚发展起来的新技术,涉及面广,内容丰富,理解各异,所以目前尚无一个确切的定义。

但从EDA技术的几个主要方面的内容来看,可以理解为EDA技术就是以计算机为工具,设计者在EDA软件平台上,以硬件描述语言为系统逻辑描述的主要表达方式完成设计文件,然后由计算机自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化,逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度[1]。

利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。

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

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

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

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

而一个1位全加器可以按照6.1节介绍的方法来完成。

三、实验内容1、完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。

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

(5)通过之后,将该全加器封装入库待设计8位全加器的时候调用。

四、实验步骤1、设计半加器:(1)打开QUARTUS?,选file->new,在弹出的new对话框中选择Device DesignFiles页的原理图文件编辑输入项Block diagram\Schematic File,按OK后将打开原理图输入窗。

(2)原理图输入结果如下图所示:(3)保存此原理图文件,命名为h_adder.bdf,并为此文件建立工程。

(4)编译此原理图文件得到如下结果:(5)对半加器进行仿真得到结果:(6)通过之后,将该半加器封装入库待设计全加器的时候调用。

2、设计全加器(1)重复1 中的步骤(1)和(2),设计如下所示的全加器原理图:(2)保存此原理图文件,命名为f_adder.bdf,新建工程名f_adder.qpf,将此文件设置为工程顶层文件。

(3)编译此原理图文件得到如下结果:(4)对全加器进行仿真得到结果:(5)通过之后,将该全加器封装入库待设计8位全加器的时候调用。

(6)对全加器进行硬件测试,其相应引脚设置为:键1、键2、键3(PIO 0/1/2) 分别接ain、bin、cin;发光管D2、D1(PIO9/8)分别接sum和cout。

EDA综合实验——八位全加器

EDA综合实验——八位全加器

学生实验报告系别电子信息学院课程名称《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.证明设计是正确的。

实验二 8位加法器的设计

实验二  8位加法器的设计

实验二八位加法器的设计一、实验目的1、掌握QUARTUSII设计工具进行电子设计的基本流程。

2、了解可编程器件设计的全过程。

二、实验内容设计并调试一个由两个4位二进制并行加法器级联而成的8位二进制加法器,并进行硬件验证。

三、实验条件QUARTUSII软件,GW48试验箱,计算机。

四、实验设计(1)系统的原理框图(2)VHDL源程序--四位加法器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_arith.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADD4 ISPORT(C4: IN STD_LOGIC;A4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);B4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);S4: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO4: OUT STD_LOGIC);END ENTITY ADD4;ARCHITECTURE ART OF ADD4 ISSIGNAL S5: STD_LOGIC_VECTOR(4 DOWNTO 0);SIGNAL A5,B5: STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINA5<='0'&A4;B5<='0'&B4;S5<=A5+B5+C4;S4<=S5(3 DOWNTO 0);CO4<=S5(4);END ARCHITECTURE ART;--顶层文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADD8 ISPORT(C8: IN STD_LOGIC;A8: IN STD_LOGIC_VECTOR(7 DOWNTO 0);B8: IN STD_LOGIC_VECTOR(7 DOWNTO 0);S8: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);CO8: OUT STD_LOGIC);END ENTITY ADD8;ARCHITECTURE ART1 OF ADD8 ISCOMPONENT ADD4 ISPORT(C4: IN STD_LOGIC;A4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);B4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);S4: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO4: OUT STD_LOGIC);END COMPONENT;SIGNAL S1,S3,AH4,BH4,AL4,BL4 :STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL S2:STD_LOGIC;BEGINAL4<=A8(3 DOWNTO 0);BL4<=B8(3 DOWNTO 0);AH4<=A8(7 DOWNTO 4);BH4<=B8(7 DOWNTO 4);U1:ADD4 PORT MAP(C8,AL4,BL4,S1,S2);U2:ADD4 PORT MAP(S2,AH4,BH4,S3,CO8);S8<=S3&S1;END ARCHITECTURE ART1;(3)管脚锁定实验设备:CW48系统;试验芯片:EP1C6/12Q240;试验模式:NO.1;五、实验结果及总结(1)系统仿真情况(2)硬件验证情况A8 19 19 CC CC B8 2C 2C F1 F1 C8 0 1 0 1S8 45 46 BD BECO8 0 0 1 1。

计算机组成原理实验报告-八位补码加减法器的设计与实现

计算机组成原理实验报告-八位补码加减法器的设计与实现

计算机科学与技术学院计算机组成原理实验报告书实验名称八位补码加/减法器的设计与实现班级学号姓名指导教师日期成绩实验1八位补码加/减法器的设计与实现一、实验目的1.掌握算术逻辑运算单元(ALU)的工作原理。

2.熟悉简单运算器的数据传送通路。

3.掌握8位补码加/减法运算器的设计方法。

4.掌握运算器电路的仿真测试方法二、实验任务1.设计一个8位补码加/减法运算器(1)参考图1,在QUARTUS II里输入原理图,设计一个8位补码加/减法运算器。

(2)创建波形文件,对该8位补码加/减法运算器进行功能仿真测试。

(3)测试通过后,封装成一个芯片。

2.设计8位运算器通路电路参考下图,利用实验任务1设计的8位补码加/减法运算器芯片建立运算器通路。

3.利用仿真波形,测试数据通路的正确性。

设定各控制信号的状态,完成下列操作,要求记录各控制信号的值及时序关系。

(1)在输入数据IN7~IN0上输入数据后,开启输入缓冲三态门,检查总线BUS7~BUS0上的值与IN0~IN7端输入的数据是否一致。

(2)给DR1存入55H,检查数据是否存入,请说明检查方法。

(3)给DR2存入AAH,检查数据是否存入,请说明检查方法。

(4)完成加法运算,求55H+AAH,检查运算结果是否正确,请说明检查方法。

(5)完成减法运算,分别求55H-AAH和AAH-55H,检查运算结果是否正确,请说明检查方法。

(6)求12H+34H-56H,将结果存入寄存器R0,检查运算结果是否正确,同时检查数据是否存入,请说明检查方法。

三、实验要求(1)做好实验预习,掌握运算器的数据传送通路和ALU的功能特性。

(2)实验完毕,写出实验报告,内容如下:①实验目的。

②实验电路图。

③按实验任务3的要求,填写下表,以记录各控制信号的值及时序关系。

表中的序号表示各控制信号之间的时序关系。

要求一个控制任务填一张表,并可用文字对有关内容进行说明。

⑤实验体会与小结。

四、实验预习内容1.实验电路设计原理及思路说明本实验利用基本逻辑门电路设计一位全加器(FA),如表1:法又可以实现减法,所以使用了一个M输入来进行方式控制加减。

8位加法器的设计(推荐文档)

8位加法器的设计(推荐文档)

实验二 8位加法器设计一、实验目的熟悉利用Quartus Ⅱ的图形编辑输入法设计简单组合电路,掌握层次化设计方法,并通过8位全加器的设计,进一步熟悉利用EDA 软件进行数字系统设计的流程。

二、实验仪器与器材计算机1台,GW48-PK2S 实验箱1台,Quartus Ⅱ6.0 1套。

三、实验内容1. 基本命题利用图形输入法设计一个一位半加器和全加器,再利用级联方法构成8位加法器。

2. 扩展命题利用文本输入法设计4位并行进位加法器,再利用层次设计方法构成8位加法器。

通过时序仿真,比较两种加法器的性能。

四、设计思路加法器是数字系统中的基本逻辑器件。

例如,为了节省逻辑资源,减法器和硬件乘法器都可由加法器来构成。

多位加法器的设计十分耗费硬件资源,因此在实际的设计和相关系统的开发中,需要注意资源的利用率和进位速度两方面的问题。

对此,首先应选择较适合组合逻辑设计的器件作为最终的目标器件,如CPLD ;其次在加法器的逻辑结构设计上,在芯片资源的利用率和加法器的速度两方面权衡得失,探寻最佳选择,即选择最佳的并行进位最小的加法单元的宽度。

显然这种选择与目标器件的时延特性有直接关系。

多位加法器的构成有两种方式:即并行进位和串行进位方式。

串行进位方式的加法器是将全加器级联构成的,它有电路简单,但进位速度较慢的特点。

并行进位加法器设有产生并行进位的逻辑电路,加法器的进位仅与输入状态有关,与各级加法器的进位无关,即第 i 位加法器的进位直接由该位的各输入状态决定,其关系式为:i i i i i i C Y X Y X C ⋅⊕+=+1 (i = 0,1,2,3…)当i = 3时,代入上述表达式可得:00112233001122331122332233334C Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X Y X C ⋅⊕⋅⊕⋅⊕⋅⊕+⋅⊕⋅⊕⋅⊕+⋅⊕⋅⊕+⋅⊕+= 4位加法器的各位和数表达式如下:0000010000111112111122222322223333343333C Y X Y X C C Y X S C Y X Y X C C Y X S C Y X Y X C C Y X S C Y X Y X C C Y X S ⋅⊕+=⊕⊕=⋅⊕+=⊕⊕=⋅⊕+=⊕⊕=⋅⊕+=⊕⊕=用门电路实现的4位并行加法器电路如图2-1所示。

计算机组成原理实验报告-八位补码加减法器的设计与实现

计算机组成原理实验报告-八位补码加减法器的设计与实现

计算机科学与技术学院计算机组成原理实验报告书实验名称八位补码加/减法器的设计与实现班级学号姓名指导教师日期成绩实验1八位补码加/减法器的设计与实现一、实验目的1.掌握算术逻辑运算单元(ALU)的工作原理。

2.熟悉简单运算器的数据传送通路。

3.掌握8位补码加/减法运算器的设计方法。

4.掌握运算器电路的仿真测试方法二、实验任务1.设计一个8位补码加/减法运算器(1)参考图1,在QUARTUS II里输入原理图,设计一个8位补码加/减法运算器。

(2)创建波形文件,对该8位补码加/减法运算器进行功能仿真测试。

(3)测试通过后,封装成一个芯片。

2.设计8位运算器通路电路参考下图,利用实验任务1设计的8位补码加/减法运算器芯片建立运算器通路。

3.利用仿真波形,测试数据通路的正确性。

设定各控制信号的状态,完成下列操作,要求记录各控制信号的值及时序关系。

(1)在输入数据IN7~IN0上输入数据后,开启输入缓冲三态门,检查总线BUS7~BUS0上的值与IN0~IN7端输入的数据是否一致。

(2)给DR1存入55H,检查数据是否存入,请说明检查方法。

(3)给DR2存入AAH,检查数据是否存入,请说明检查方法。

(4)完成加法运算,求55H+AAH,检查运算结果是否正确,请说明检查方法。

(5)完成减法运算,分别求55H-AAH和AAH-55H,检查运算结果是否正确,请说明检查方法。

(6)求12H+34H-56H,将结果存入寄存器R0,检查运算结果是否正确,同时检查数据是否存入,请说明检查方法。

三、实验要求(1)做好实验预习,掌握运算器的数据传送通路和ALU的功能特性。

(2)实验完毕,写出实验报告,内容如下:①实验目的。

②实验电路图。

③按实验任务3的要求,填写下表,以记录各控制信号的值及时序关系。

表中的序号表示各控制信号之间的时序关系。

要求一个控制任务填一张表,并可用文字对有关内容进行说明。

⑤实验体会与小结。

四、实验预习内容1.实验电路设计原理及思路说明本实验利用基本逻辑门电路设计一位全加器(FA),如表1:表1-一位全加器(FA)电路的输入输出信号说明法又可以实现减法,所以使用了一个M输入来进行方式控制加减。

Quartus II设计八进制计数器的两种方法

Quartus II设计八进制计数器的两种方法
CARRY1:OUT STD_LOGIC);
END ENTITY COUNT8;
ARCHITECTURE ART OF COUNT8 IS
SIGNAL CQI:STD_LOGIC_VECTOR(2 DOWNTO 0);
BEGIN
PROCESS(CLK,CLR,ENA)
BEGIN
IF CLR='1'THEN
2、新建项目:
Quartus II建议相关的设计、仿真、目标文件等信息都以项目的形式管理。
项目文件建议保存在一个用户指定的文件夹中。因此我们首先要利用Windows操作系统建立一个文件夹。然后,通过界面左边任务列表中的“Open New Project Wizard”选项,或者主菜单File下有“New Project Wizard”子菜单进入新项目向导界面。
END ENTITY COUNTER8;
ARCHITECTURE ART OF COUNTER8 IS
SIGNAL CURRENT_STATE,NEXT_STATE:STATE_T;
BEGIN
SYNC:PROC
CURRENT_STATE<=S0;
ELSIF(CLK'EVENT AND CLK='1')THEN
CURRENT_STATE<=NEXT_STATE;
END IF;
END PROCESS SYNC;
FSM:PROCESS(CURRENT_STATE) IS
BEGIN
NEXT_STATE<=S0;
IF(INC='1')THEN
CASE CURRENT_STATE IS
向导介绍界面提示用户,本向导要输入的内容有项目的名称和目录;顶层设计文件的名称;项目和库文件;目标器件族和目标器件;EDA工具设置。点击“Next”按钮进入下一个对话框界面。在此界面中需要填写项目名Name of project,工作目录Working Directory for this project,顶层文件名要和设计文件中的实体名一致。点击“Next”按钮,进入向导的下一个对话框。在这里可以把已有的文件纳入新的项目中。如果有已经存在的文件,那么可以通过这一步,将其归入本项目。然后点击“Next”按钮,进入硬件选择对话框。点击“Next”按钮,进入Summary对话框,如下图所示。对话框中的内容是之前各步输入信息的归纳,如果核对无误,点击“Finish”按钮。系统自动生成对应的项目。

数电课程设计报告--quartus ll软件设计环境中利用一位全加d锁存器或者d触发器实现8位二进制加法器

数电课程设计报告--quartus ll软件设计环境中利用一位全加d锁存器或者d触发器实现8位二进制加法器

数学逻辑课程设计报告一、课程设计题目和要求在Quartus ll软件设计环境中利用一位全加D锁存器或者D触发器实现8位二进制加法器,将其进行功能仿真。

二、课程设计目的课程设计是培养我们学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,数字电子技术已经成为当今计算机应用中重要的基础领域,在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握运用数字电子技术及逻辑电路的开发技术是十分重要的。

课程设计的目的与要求:1、了解基本的逻辑门电路。

2、在实际应用中学会实验元件的作用和工作方式。

3、提高自己的动手动脑能力,将在课堂上学到的知识应用到实际当中。

三、实验条件QUARTUS II 9.0软件、计算机四、实验设计思路1、打开QUARTUS II 9.0软件新建工程并打开作图界面。

2、按照实验要求搭好电路3、我们采用了一个74283的四位全加器,又根据题目的要求用一位的全加器因此只利用其中一位,输出输入端如图所示:4、之后我们又考虑到8位数据的存储与输出,因此我们重复使用了8次D触发器来得到八位的数据存储。

五、仿真和仿真结果1、在软件中绘制好电路图后,建立工程文件,经过编译后建立波形文件。

在波形文件中设置参数,时间为区域设为10ns 。

下图为该电路实验在RTL viewer 下的电路示意图。

2、功能仿真结果图:六、实验的不足在实验设计的过程中,由于对软件的使用和操作不是太熟练由此而导致一些问题的不断产生,电路的输入也不是规则有序的输入信号,因此只能实现以上的试验结果,初步的达到了本次课程设计的实验要求。

七、心得体会通过这次课程设计,加强了我们动手、思考和解决问题的能力。

在整个设计过程中,我们通过这个方案包括设计了一套电路原理和了解芯片的选择。

回顾起此次数字电子技术课程设计,至今我仍感慨颇多,的确,从查资料到定稿,从理论到实践,在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的接法可以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。

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

摘要Quartus II是最高级和复杂的,用于system-on-a-programmable-chip (SOPC)的设计环境。

Quartus II提供完善的timing closure 和LogicLock 基于块的设计流程。

QuartusII design是唯一一个包括以timing closure 和基于块的设计流为基本特征的programmable logic device (PLD)的软件。

Quartus II 设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA与mask-programmed devices开发的统一工作流程。

本文介绍了微机上的QuartusⅡ软件系统的使用,并用该软件分别设计半加器,全加器,并编译连接设计一个8位加法器的过程。

关键词:8位加法器;EDA(电子设计自动化);QuartusⅡ(可编程逻辑软件)目录第1章概述 (1)1.1EDA的概念 (1)1.2硬件描述语言概述 (2)第2章QUARTUS II (4)2.1QUARTUSII概述 (4)2.2QUARTUSII建立工程项目 (4)2.3QUARTUSII建立原理图输入文件 (6)2.4QUARTUSII层次化项目设计 (9)第3章8位加法器设计 (12)3.18位加法器分析 (12)3.2设计过程 (12)参考文献 (15)结论 (16)第1章概述1.1 EDA的概念EDA是电子设计自动化(Electronic Design Automation)的缩写,从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

由于它是一门刚刚发展起来的新技术,涉及面广,内容丰富,理解各异,所以目前尚无一个确切的定义。

但从EDA技术的几个主要方面的内容来看,可以理解为EDA技术就是以计算机为工具,设计者在EDA软件平台上,以硬件描述语言为系统逻辑描述的主要表达方式完成设计文件,然后由计算机自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化,逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度[1]。

利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。

EDA技术是伴随着计算机、集成电路、电子系统的设计发展起来的,至今已有30多年的历程。

大致可以分为三个发展阶段。

20世纪70年代的CAD(计算机辅助设计)阶段:这一阶段的主要特征是利用计算机辅助进行电路原理图编辑,PCB 布同布线,使得设计师从传统高度重复繁杂的绘图劳动中解脱出来。

20世纪80年代的QAE(计算机辅助工程设计)阶段:这一阶段的主要特征是以逻辑摸拟、定时分析、故障仿真、自动布局布线为核心,重点解决电路设计的功能检测等问题,使设计能在产品制作之前预知产品的功能与性能[2]。

20世纪90年代是EDA(电子设计自动化)阶段:这一阶段的主要特征是以高级描述语言,系统级仿真和综合技术为特点,采用“自顶向下”的设计理念,将设计前期的许多高层次设计由EDA工具来完成[3]。

1.1.1 EDA的发展从目前的EDA技术来看,中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PC主板和小型ASIC领域,仅有小部分的设计人员工发复杂的片上系统器件。

为了与台湾和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要购入一些最新的EDA技术。

在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点。

要大力推进制造业信息化,积极开展计算机辅助设计(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP)、计算机机辅助制造(CAM)、产品数据管理(PDM)、制造资源计划(MRPII)及企业资源管理(ERP)等。

有条件的企业可开展“网络制造”,便于合作设计、合作制造,参与国内和国际竞争。

开展“数控化”工程和“数字化”工程。

自动化仪表的技术发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机(M3C)结构。

在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方向发展。

1.1.2 EDA的应用电子EDA技术发展迅猛,逐渐在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。

利用电路仿真工具进行电路设计与仿真;利用虚拟仪器进行产品调试;将FPGA器件的开发应用到仪器设备中。

在产品设计与制造方面:从高性能的微处理器、数字信号处理器一直到彩电、音响和电子玩具电路等,EDA技术不单是应用于前期的计算机模拟仿真、产品调试,而且也在后期的制作、电子设备的研制与生产、电路板的焊接、器件的制作过程等有重要作用。

可以说电子EDA技术已经成为电子工业领域不可缺少的技术支持[4]。

1.2 硬件描述语言概述硬件描述语言(HDL-Hardware Description Language)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。

例如一个32位的加法器,利用图形输入软件需要输入500至1000个门,而利用VHDL 语言只需要书写一行A=B+C即可,而且VHDL语言可读性强,易于修改和发现错误。

早期的硬件描述语言,如ABEL-HDL、AHDL,是由不同的EDA厂商开发的,互相不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。

为了克服以上缺陷,1985年美国国防部正式推出了VHDL(Very High Speed IC Hardware Description Language)语言,1987年IEEE采纳VHDL为硬件描述语言标准(IEEE STD-1076)。

VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用VHDL来完成。

另外,VHDL还具有以下优点:VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心提高到了系统功能的实现与调试,只需花较少的精力用于物理实现[5]。

VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用。

VHDL的设计不依赖于特定的器件,方便了工艺的转换。

VHDL是一个标准语言,为众多的EDA厂商支持,因此移植性好。

第2章QUARTUS II2.1 QUARTUSII概述设计输入是设计者对系统要实现的逻辑功能进行描述的过程。

设计输入有多种表达方式,常用的用原理图输入、硬件描述语言输入、网表输入等。

1、原理图输入:原理图设计输入方式是利用软件提供的各种原理图库,采用画图的方式进行设计输入。

这是一种最为简单和直观的输入方式。

原理图输入方式的效率比较低,半只用于小规模系统设计,或用于在顶层拼接各个以设计完成的电路子模块。

2、硬件描述语言输入:这种设计输入方式是通过文本编辑器,用VHDL,Verilog或AHDL等硬件描述语言进行设计输入。

采用语言描述的有点事效率较高,结果容易仿真,信号观察方便,在不同的设计输入库之间转换方便,适用于大规模数字系统的设计。

但语言输入必须依赖综合器,只有好的综合器才能把语言综合成优化的电路。

3、网表输入:现代可编程数字系统设计工具都提供了和它第三方EDA工具相连接的接口。

采用这种方法输入时,可以通过标准的网表把它设计工具上已经实现了的设计直接移植进来,而不必重新输入。

一般开发软件可以接受的网表有EDIF格式、VHDL 格式及Verilog格式等。

在用网表输入时,必须注意在两个系统中采用库的对应关系,所有的库单元必须一一对应,才可以成功读入网表[6]。

2.2 QUARTUSII建立工程项目在Quartus II 中,用户的每个独立设计都对应一个工程项目,每个工程项目可包含一个或多个设计文件。

其中一个是顶层文件,编译器是对项目中的顶层文件进行编译的,项目同时还管理编译过程中产生的各种中间文件,这些中间文件的文件名相同,但后缀名不同。

为了便于管理,对于每个新的项目应该建立一个单独的子目录。

指定项目名称的步骤如下:1. 打开Quartus II,在File 菜单中选择New Project Wizard 项,将出现工程项目建立向导对话框。

如图2-1 (a)所示。

2. 点击“Next”,进入到如图2-1 (b)所示的工程项目命名对话框,在最上面的文本输入框中输入为该项目所建的目录名,如本例为“E:\Clock”,在中间的文本输入框中输入项目名称,本次实验为“adder”,在最下面的文本输入框中输入最顶层模块的名称“adder”。

3. 点击“Next”,进入到如图2-1 (c)所示的设计文件选择对话框,由于在本例中还没有任何设计文件,所以不选择任何文件。

(a)工程项目建立向导对话框图(b)工程项目命名对话框(c)设计文件选择对话框(d)器件选择对话框(e)第三方EDA工具选则对话框(f)”Summary”对话框图2-1 项目建立向导4. 点击“Next”,进入到如图2-1(d)所示的器件选择对话框,在“Family”下拉菜单中选择需要的器件。

5. 点击“Next”进入到如图2-1 (e)所示的第三方EDA 工具选择对话框,在这个界面可以选择第三方的综合工具、仿真工具和时延分析工具。

由于在本例中综合、仿真和时延分析都采用Quartus II 内置的工具,所以在这个页面不作任何选择。

6. 点击“Next”进入到如图2-1 (f)所示的“Summary”对话框,在这个窗口列出了前面所作设置的全部信息。

7. 点击“Finish”完成工程项目建立过程,回到如图2-2主窗口,主窗口分为几个部分,除了菜单和工具条以外,左上有项目导航(Project Navigator)栏,此时在该栏能看到顶层模块的名称;左中是处理进度栏,用于显示项目处理的进度;下方是信息栏,用于显示项目处理过程中产生的各项信息。

项目导航栏主工作区进度处理栏信息栏图2-2 Quartus II主窗口界面2.3 QUARTUSII建立原理图输入文件在Quartus II 中我们可以利用Block Editor 以原理图的形式进行设计输入和编辑。

相关文档
最新文档