利用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位全加器的设计
姓名
实验时王红航
  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 以原理图的形式进行设计输入和编辑。

相关文档
最新文档