EDA实验讲义最新版.docx

上传人:b****2 文档编号:2837271 上传时间:2023-05-04 格式:DOCX 页数:44 大小:1.02MB
下载 相关 举报
EDA实验讲义最新版.docx_第1页
第1页 / 共44页
EDA实验讲义最新版.docx_第2页
第2页 / 共44页
EDA实验讲义最新版.docx_第3页
第3页 / 共44页
EDA实验讲义最新版.docx_第4页
第4页 / 共44页
EDA实验讲义最新版.docx_第5页
第5页 / 共44页
EDA实验讲义最新版.docx_第6页
第6页 / 共44页
EDA实验讲义最新版.docx_第7页
第7页 / 共44页
EDA实验讲义最新版.docx_第8页
第8页 / 共44页
EDA实验讲义最新版.docx_第9页
第9页 / 共44页
EDA实验讲义最新版.docx_第10页
第10页 / 共44页
EDA实验讲义最新版.docx_第11页
第11页 / 共44页
EDA实验讲义最新版.docx_第12页
第12页 / 共44页
EDA实验讲义最新版.docx_第13页
第13页 / 共44页
EDA实验讲义最新版.docx_第14页
第14页 / 共44页
EDA实验讲义最新版.docx_第15页
第15页 / 共44页
EDA实验讲义最新版.docx_第16页
第16页 / 共44页
EDA实验讲义最新版.docx_第17页
第17页 / 共44页
EDA实验讲义最新版.docx_第18页
第18页 / 共44页
EDA实验讲义最新版.docx_第19页
第19页 / 共44页
EDA实验讲义最新版.docx_第20页
第20页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

EDA实验讲义最新版.docx

《EDA实验讲义最新版.docx》由会员分享,可在线阅读,更多相关《EDA实验讲义最新版.docx(44页珍藏版)》请在冰点文库上搜索。

EDA实验讲义最新版.docx

EDA实验讲义最新版

第一章CPLD\FPGA可编程逻辑器件

1.1前言

PLD是可编程逻辑器件(ProgrammableLogicDevice)的英文缩写。

在可编程逻辑器件芯片内部,按一定的排列方式集成了大量的门和触发器等基本元件。

使用者可利用特定的计算机开发工具对其进行加工,即按设计要求将这些芯片内部的元件连接起来,使之实现完成某个数字逻辑电路或系统的功能,成为一个可在实际电子系统中使用的专用集成电路(ASIC,ApplicationSpecificIntegratedCircuit)。

随着集成电路工艺的日趋完善,集成度急剧增加,其功能日益强大。

PLD广阔的应用前景备受业内人士的瞩目。

1.2PLD的分类

按照不同的分类方法,PLD可分为如下几种情况:

(1)按集成度分

可分为低密度和高密度两大类,如图1.1所示。

 

图1.1PLD按集成度的分类图

(2)按结构分

按结构的不同可分为两类:

一类是基于与/或阵列结构的器件(PORM、PLA、PAL、GAL)、CPLD(EPLD)。

另一类是基于门阵列结构的器件(FPGA)。

(3)按编程工艺分

①熔丝和反熔丝编程器件。

如Actel的FPGA器件。

②SRAM器件,如Xilinx的FPGA。

③UEPROM器件,即紫外线擦除/电可编程器件。

如大多数的EPLD器件。

④EEPROM器件。

如GAL、CPLD器件。

1.3PLD的发展概况

PLD从20世纪70年代发展到现在,已形成了许多类型的产品,其结构、工艺、集成度、速度和性能都在不断改进和提高。

最早的PLD是1970年制成的PROM(ProgrammableReadOnlyMemory),即可编程只读存储器,它是由固定的与阵列和可编程的或阵列组成。

PROM采用熔丝工艺编程,只能写一次,不能擦除和重写。

随着技术的发展和应用要求,此后又出现了UVEPROM(紫外线可擦除只读存储器)、EEPROM(电可擦除只读存储器),由于它们价格低,易于编程,速度低、适合于存储函数和数据表格,因此主要用作存储器。

典型的EPROM有2716、2732等。

可编程逻辑阵列PIA(ProgrammableLogicArray)于20世纪70年代中期出现,它是由可编程的与阵列和可编程的或阵列组成,但由于器件的资源利用率低,价格较贵,编程复杂,支持PLA的开发软件有一定难度,因而没有得到广泛应用。

可编程阵列逻辑PAL(ProgrammableArrayLogic)器件是1977年美国MMI公司(单片存储器公司)率先推出的,它由可编程的与阵列和固定的或阵列组成,采用熔丝编程方式,双极性工艺制造,器件的工作速度很高。

由于它的输出结构种类很多,设计灵活,因而成为第一个得到普遍应用的可编程逻辑器件,如PALl6L8。

通用阵列逻辑器件GAL(GenericArrayLogic)器件是1985年Lattice公司最先发明的可电擦写、可重复编程、可设置加密位的PLD。

GAL在PAL基础上,采用了输出逻辑宏单元形式E2CMOS工艺结构。

具有代表性的GAL芯片有GALl6V8、GAL20V8,这两种GAL几乎能够代替所有类型的PAL器件。

在实际应用中,GAL器件对PAL器件仿真具有百分之百的兼容性,所以GAL几乎完全代替了PAL器件,并可以取代大部分SSI、MSI、数字集成电路,如标准的54/74系列器件,因而获得广泛应用。

PAL和GAL都属于简单PLD,结构简单,设计灵活,对开发软件的要求低,但规模小,难以实现复杂的逻辑功能。

随着技术的发展,简单PLD在集成密度和性能方面的局限性也暴露出来,其寄存器、I/O引脚、时钟资源的数目有限,没有内部互连,因此包括EPLD、CPLD和FPGA在内的复杂PLD迅速发展起来,并向着高密度、高速度、低功耗以及结构体系更灵活、适用范围更宽广的方向发展。

可擦除可编程逻辑器件EPLD是20世纪80年代中期Altera公司推出的基于UVEPROM和CMOS技术的PLD,后来发展到采用E2CMOS工艺制作的PLD。

EPLD的基本逻辑单元是宏单元。

宏单元由可编程的与或阵列、可编程寄存器和可编程I/O三部分组成。

从某种意义上讲EPLD是改进的GAL,它在GAL基础上大大增加输出宏单元的数目,提供更大的与阵列,灵活性较GAL有较大改善,集成密度大幅度提高,内部连线相对固定,延时小,有利于器件在高频率下工作,但内部互连能力十分弱。

世界著名的半导体器件公司Altera、Xilinx、AMD、Lattice均有EPLD产品,但结构差异较大。

复杂可编程逻辑器件CPLD(ComplexPLD)是20世纪80年代末Lattice公司提出的在系统可编程(ISP,InSystemProgrammability)技术以后于20世纪90年代初出现的。

CPLD是在EPLD的基础上发展起来的,采用E2CMOS工艺制作,与EPLD相比,增加了内部连线,对逻辑宏单元和I/O单元也有重大的改进。

CPLD至少包含三种结构:

可编程逻辑宏单元、可编程I/O单元和可编程内部连线。

部分CPLD器件内部还集成了RAM、FIFO或双口RAM等存储器,以适应DSP应用设计的要求。

其典型器件有Altera的MAX7000系列,Xilinx的7000和9500

系列,Lattice的PLSI/ispLSI系列和AMD的MACH系列。

现场可编程门阵列FPGA(FieldProgrammableGateArray)器件是Xilinx公司1985年首家推出的,它是一种新型的高密度PLD,采用CMOS-SRAM工艺制作。

FPGA的结构与门阵列PLD不同,其内部由许多独立的可编程逻辑块(CLB)组成,逻辑块之间可以灵活的相互连接。

FPGA的结构一般分为三部分:

可编程逻辑块、可编程I/O模块和可编程内部连线。

CLB的功能很强,不仅能够实现逻辑函数,还可以配置成RAM等复杂形式。

配置数据存放在片内的SRAM或者熔丝图上,基于SRAM的FPGA器件工作前需要从芯片外部加载配置数据。

配置数据可以存放在片外的EPROM或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场可编程。

FPGA出现后受到电子设计工程师的普遍欢迎,发展十分迅速。

Xilinx、Altera和Actel等公司都提供高性能的FPGA芯片。

高密度PLD在生产工艺、器件编程和测试技术等方面都有了飞速发展。

目前PLD的集成度非常高,如Altera公司的APEXⅡ系列器件,采用0.15μm工艺,各层都是铜金属布线,其中EP2A90的密度可达400万典型门,可为用户提供1140个I/O引脚,1Gbit/s数据速率。

世界各著名半导体公司,如Altera、Xilinx、Lattice、Actel和AMD公司均可提供不同类型的CPLD、FPGA产品。

众多公司的竞争促进了可编程集成电路技术的提高,使其性能不断改善,产品日益丰富,价格逐步下降。

可以预计,可编程逻辑器件将在结构、密度、功能、速度和性能等方面得到进一步发展,结合EDA技术,PLD将在现代电子系统设计中得到非常广泛的应用。

1.4Altera系列CPLD和FPGA器件

随着可编程逻辑器件应用的日益广泛,许多IC制造厂家均已涉足CPLD/FPGA领域。

目前世界上有十几家生产CPLD/FPGA的公司,最大的三家是Altera、Xilinx和Lattice-Vantis,其中Altera和Xilinx占了60%以上的市场份额。

Altera在20世纪90年代以后发展很快,是最大的可编程逻辑供应商之一。

Altera的CPLD器件具有良好的性能、极高的密度和非常大的灵活性,除了具有一般PLD的特点外,还具有改进的结构、先进的处理技术、现代化的开发工具以及多种宏功能模块可选用等优点。

(1)性能高

Altera器件的高性能主要体现在技术和结构上,Altera器件采用铜铝布线的先进CMOS技术,具有非常低的功耗和相当高的速度,而且它采用了连续式互连结构,能够提供快速的、连续的信号延时。

(2)逻辑集成度高

在设计过程中,设计者总是希望将更多的逻辑集成进更少的器件中,并缩小印制板的尺寸和降低成本。

具有高集成能力的PLD提供了优秀的解决方案:

Altera器件密度从300门到400万门,能很容易地集成现有的各种逻辑器件,包括小规模及大规模标准逻辑器件、PLD、FPGA或ASIC。

高集成能力的PLD就代表着更高的系统性能、更高的可靠性和更低的成本。

(3)性价比高

Altera不断改进产品的开发和制造工艺,它的经验积累使其处理技术和制造流程十分有效,能够有效地提供高性价比的可编程逻辑器件。

Altera的PLD成本与门阵列相当。

(4)开发周期短

对设计者来说时间是最宝贵的资源,Altera的快速、直观、易于使用的MAX+plusⅡ和QuartusII软件能够极大地缩短开发周期。

使用的MAX+PLUSII和QuartusII软件设计输入、处理、校验以及器件编程一共仅需几个小时,一天内可完成几个完整的设计。

Altera与其他EDA制造商紧密合作,在MAX+PLUSII和QuartusII软件中集成了另外的工业标准设计输入、综合、校验工具,如Cadence、ExemplarLogic、Mentor、Graphics、Synopsys、Synplicity、Viewlogic

提供的软件。

(5)对器件优化的IP解决方案

Altera为设计者提供已经做好的、经过预先测试并优化了的IP宏功能模块(Megafunctions),允许设计人员在一个器件中快速实现一定的功能而不必从基础的设计做起,大大地提高了设计效率。

由于Altera提供开发板,所以可以在设计开始时就进行应用软件的开发,硬件设计人员也可以使用这些开发板快速有效地验证IP功能。

(6)在线可编程

MAX9000、MAX7000、MAX7000A、MAX7000B和MAX3000A系列器件具有在线可编程性,简化了设计开发过程及流水线生产过程,提高了设计的灵活性,并且,能够快速有效地对产品进行现场升级。

Altera的ISP使用IEEEll49.1标准的JTAG(JointActionTestGroup)测试端口,允许对器件进行编程,并可以对印刷电路板(PCB)进行功能测试。

现在,Altera的PLD器件包括APEX20K、APEXII、Excalibur、Mercury、Stratix、ACEXlK、FLEXl0K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX3000和Classic系列。

从MAX系列发展到APEX系列,器件的可用资源逐渐增多,输入输出管脚也随之增加。

灵活逻辑单元矩阵FLEX(FlexibleLogicElementMatrix)器件采用查找表(LUT)结构来实现逻辑功能,而多阵列矩阵MAX(MultipleArrayMatriX)和Classic采用“与”可编程“或”固定的乘积项(product-term)结构。

查找表和嵌入式寄存器表示了可编程逻辑矩阵(APEX)的先进结构特征,而Mercury系列则是基于查找表结构,它的特征是具有时钟数据恢复和一个性能优化的核,另外,Excalibur的结构特征是基于ARM和基于MIPS的硬核微处理器。

针对具体的应用,每种器件系列都有各自不同的特点,这就需要设计者掌握好它们之间的区别。

所有Altera的CPLD器件都采用了CMOS工艺,其中一些系列经过改进已采用了更为先进的工艺技术,嵌入了大量的RAM块。

其性能对照如表1.1所示。

表1.1Altera器件性能对照表

器件序列

逻辑单元结构

可配置单元

用户I/O数量

典型可用门

Classic

乘积项

EPROM

22~68

300~900

MAX3000

乘积项

EPROM

34~158

600~5000

MAX7000

乘积项

EPROM

36~212

600~1万

MAX9000

乘积项

EPROM

52~216

1万~1.2万

FLEX6000

查找表

SRAM

71~218

1.6万~2.4万

FLEX8000

查找表

SRAM

68~208

2500~1.6万

FLEX10K

查找表

SRAM

59~470

1万~25万

ACEX1K

查找表

SRAM

66~333

1万~10万

Excalibur

查找表和RISC处理器

SRAM

178~521

10万~100万

Mercury

查找表和CDR

SRAM

303~486

12万~35万

APEXII

查找表和乘积项

SRAM

492~1140

60万~400万

APEX20KC

查找表和乘积项

SRAM

250~780

10万~150万

APEX20K

查找表和乘积项

SRAM

128~808

3万~150万

Altera的系列器件针对设计者需求提供了如下的特性:

高带宽、低电压I/O标准(LVDS速率可以达到622Mb/s)和多种I/O电压标准(可以在混合系统中非常方便地实现5.0V,3.3V,2.5V,1.8V电压的互联)。

内部集成的锁相环(PLLPhase-LockedLoop)增加了器件的系统级时钟管理,还增加了I/O的性能。

Altera的系列器件提供了丰富的芯片封装形式:

TQFP、BGA和FBGA等。

1.5可编程逻辑器件上机实验

 

实验一3-8译码器设计

一、实验目的

1、掌握组合逻辑电路的设计方法;

2、掌握VerilogHDL语言设计输入方法;

3、掌握组合逻辑电路的仿真测试方法;

4、初步掌握QuartusII软件的基本操作与应用;

5、初步了解可编程逻辑器件的设计过程。

二、硬件、软件要求

计算机、EDA实验箱、QuartusII软件,下载电缆

三、实验内容及实验原理

(一)使用向导建立新工程:

1、启动软件:

通过桌面快捷方式或“开始”菜单打开QuartusII软件,打开后界面如图1.1.1所示。

图1.1.1启动界面

2、选择File\NewProjectWizard命令,弹出建立新工程向导,如图1.1.2所示。

按照提示选择保存文件的工程目录、工程文件名称及顶层实体的名称(顶层实体名和之后设计的顶层实体名必须相同,默认的顶层实体名与工程文件名相同)。

单击Next按钮(如果文件夹不存在,会出现提示界面,如图1.1.3所示,单击“是(Y)”按钮,创建该文件夹即可)进入第2页面。

(注意:

工程文件夹的名称和文件名不要使用汉字,最好也不要使用数字开头)

图1.1.2新建设计项目对话框(第1页面)

图1.1.3目录创建提示对话框

3、第2页面如图1.1.4所示,用于添加已经存在的文件到当前工程项目。

如果设计文件和其它底层文件已经存在,可以单击FileName后面的“...”找到相应的文件夹,再单击需要的文件名(按住Ctrl键可以选择多个文件),然后单击Add或者AddAll按钮,就可以将原来存在的文件添加到当前工程中;也可以不添加文件,直接单击Next按钮进入第3页面。

图1.1.4新建设计项目对话框(第2页面)

4、第三页面如图1.1.5所示,用于选择将要使用的目标器件(要根据实验箱上FPGA芯片的具体型号而定)。

在选择芯片时,首先要在Family右边的下拉框中选择目标器件的系列,然后可以在Showin‘Availabledevice’list中限定封装、管脚数和速度等级,以缩小可用器件列表的范围,便于快速找到需要的目标器件。

然后,单击Next按钮进入第4、5页面。

图1.1.5新建设计项目对话框(第3页面)

5、第4页面用于选择使用第三方软件工具,如不使用则不必设置,直接使用QuartusII软件集成的工具。

第5页面显示了新建设计项目的摘要,检查全部参数设置,若无误,则单击Finish按钮,完成工程的创建;若有误,则单击Back按钮返回,重新设置。

图1.1.6新建设计项目对话框(第4页面)

图1.1.7新建设计项目对话框(第5页面)

(二)输入设计文件

1、文件输入方式选择。

在QuartusII软件主界面选择File/New…命令,出现如图1.1.8所示界面,选择设计文件的输入方式,如VerilogHDLFile,单击OK按钮,则会打开输入编辑界面如图1.1.9所示。

图1.1.8设计输入方式选择界面

图1.1.9Verilog文本编辑窗口

2、文件输入。

在图1.1.9所示的界面中将Verilog程序输入到编辑器中,然后保存文件。

出现如图1.1.10所示界面,点击保存(S)按钮。

(注意:

下方的复选框一定要勾上)保存后界面如图1.1.11所示。

图1.1.10文件保存提示对话框

图1.1.11保存文件后的界面图

(三)编译工程

在QuartusII软件主界面选择Processing/StartCompilation开始编译,编译完成后的窗口如图1.1.12所示。

单击“确定”按钮后,在该图中显示了编译时的各种信息,其中包括警告和出错信息。

根据错误提示进行相应的修改,并重新编译,直到没有错误提示为止。

图1.1.12编译完成后的窗口

(四)仿真与时序分析

1、建立矢量波形文件。

在图1.1.12中,单击“File”菜单下的“New”命令,在弹出的“New”对话框中选择“VectorWaveformFile”选项后单击“OK”按钮,弹出如图1.1.13所示的矢量波形编辑窗口。

图1.1.13矢量波形编辑窗口

2、添加引脚或节点。

(1)在图1.1.13中,双击“Name”下方的空白处,弹出“InsertNodeorBus”对话框,如图1.1.14所示。

单击对话框的“NodeFinder…”按钮后,弹出“NodeFinder”对话框,如图1.1.15所示。

图1.1.14“InsertNodeorBus”对话框

图1.1.15“NodeFinder”对话框

(2)单击“List”按钮,在“NodeFound”栏中列出了设计中的引脚号,如图1.1.16所示。

图1.1.16列出输入/输出节点

(3)单击“»”按钮,所有列出的输入/输出被复制到右边的一侧,也可以只选中其中的一部分,根据情况而定,如图1.1.17所示。

图1.1.17选择输入/输出节点

(4)单击“OK”按钮后,返回“InsertNodeorBus”对话框,此时,在“Name”和“Type”栏里出现了“MultipleItems”项,如图1.1.18所示。

图1.1.18“InsertNodeorBus”对话框

(5)单击“OK”按钮,选中的输入/输出被添加到矢量波形编辑窗口中,如图1.1.19所示。

图1.1.19添加节点后的矢量波形编辑窗口

3、编辑输入信号并保存文件。

在图1.1.19中单击“Name”下方的“a”,即选中该行的波形。

将输入信号“a”设置为时钟信号,选择Edit菜单下的“Value”中的“Clock”,弹出“Clock”对话框,此时可以修改信号的周期、相位和占空比。

设置完成后单击“OK”按钮,输入信号“a”设置完毕。

同理设置输入信号“b”和“c”,如图1.1.20所示。

最后单击保存文件按钮,根据提示完成保存工作。

图1.1.20编辑输入信号

4、仿真波形。

仿真分为功能仿真和时序仿真,功能仿真是忽略延时后的仿真,是最理想的仿真;时序仿真则是加上了一些延时的仿真,是最接近于实际的仿真。

在本设计中,直接采用时序仿真。

QuartusII中默认的仿真为时序仿真,在图1.1.20中,选择“Processing”菜单下的“StartSimulation”进行仿真。

仿真完成后的窗口如图1.1.21所示。

观察波形可知输出和输入之间有一定的延时。

图1.1.21时序仿真

(五)引脚分配

引脚分配是为了对所设计的工程进行硬件测试,将输入/输出信号锁定在器件确定的引脚上。

单击“Assignments”菜单下的“Pins”命令,弹出的对话框如图1.1.22所示,在下方的列表中列出了本项目所有的输入/输出引脚名。

图1.1.22选择要分配的引脚

在图1.1.22中,双击与输入端“a”对应的“Location”选项后弹出引脚列表,从中选择合适的引脚(尽量别选择具有第二功能的引脚),则输入a的引脚分配完毕。

同理完成所有引脚的指定,如图1.1.23所示。

图1.1.23完成所有引脚的分配

(六)下载验证

下载验证是将本次设计所生成的文件通过计算机下载到实验箱里来验证此次设计是否符合要求。

大体上分为以下几个步骤。

1、编译。

分配完引脚后必须再次编译才能存储这些引脚锁定的信息。

2、配置下载电缆。

在“Tool”菜单下选择“Programmer”命令,弹出如图1.1.24所示的对话框。

图1.1.24未配置的下载电缆窗口

单击“HardwareSetup”按钮,弹出“HardwareSetup”对话框,如图1.1.25所示。

双击“USB-Blaster”即可,下载电缆配置完成。

图1.1.25设置编程器对话框

3、下载。

JTAG模式是软件的默认下载模式,相应的下载文件为“.sof”格式。

勾选下载文件“Decoder3to8.sof”右侧的第一个小方框,将下载电缆连接好后,打开实验箱电源,然后单击“Start”按钮计算机就开始下载编程文件,下载完成后如图1.1.26所示。

图1.1.26下载完毕

(五)、器件下载编程与硬件实现

一)实验电路板上的连线

用三位拨码开关代表译码器的输入端A、B、C,将之分别与实验箱上芯片的相应管脚相连;用LED灯来表示译码器的输出,将D0...D7对应的管脚分别与8只LED灯相连。

试验结果如下:

A

B

C

LED0

LED1

LED2

LED3

LED4

LED5

LED6

LED7

0

0

0

1

0

0

0

1

0

1

1

0

0

0

1

1

0

1

0

1

1

1

1

1

四、回答问题

1、对于复杂电路设计,比较原理图与Verilog语言输入设计的优缺点;

2、列出目前Altera公司的主要CPLD和FPGA芯片系列号,并写出该系列中部分具体器件型号;

3、说明实验所用FPGA芯片的具体型号及主要参数;

4、说明编译正确与时序仿真正确之间的区别;

 

实验二七段译码器设计

一、实验目的

1、掌握7段数码管的使用方法,学习数字编码的规则;

2、进一步熟悉Verilog语言设计方法;

3、熟悉QuartusII软件中逻辑宏单元的使用方法;

二、硬件、软件要求

计算机、EDA实验箱、QuartusII软件,下载电缆

三、实验内容及实验原理

1、实验原理说明:

a

7段数码管的结构,如图1.2.1所示:

 

f

b

g

 

e

c

dp

d

图1.2

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2