基于FPGA CPLD的EDA技术实用教程(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-19 17:49:02

点击下载

作者:任全会 主编

出版社:化学工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

基于FPGA CPLD的EDA技术实用教程

基于FPGA CPLD的EDA技术实用教程试读:

前言

计算机技术和微电子工艺的发展,使得现代数字系统设计和应用进入一个新的阶段,新的设计工具和设计方法不断推出。与之相适应,可编程逻辑器件也不断升级,功能越来越强,硬件描述语言也不断发展,功能上更加丰富,操作上也更加便捷。

现代数字系统设计一般采用硬件描述语言实现。作为数字系统设计开发人员,必须至少掌握一种硬件描述语言。Verilog HDL和VHDL已成为IEEE的标准硬件描述语言,而Verilog HDL具有简捷、高效、易学、功能强的特点,具有广泛的应用群体,并且在工程实际中,基于FPGA/CPLD器件的数字应用系统占很大比例,因此本书基于FPGA/CPLD器件开发工具QuartusⅡ及硬件描述语言Verilog HDL讲述现代数字系统设计。

本书共分8个项目,全面介绍了Verilog HDL的语法和语句结构,通过实例由浅入深地展示了利用Verilog HDL进行数字系统设计的方法和技巧。书中所有的实例全部通过了调试验证。由于数字系统设计一直在不断发展变化,要熟练掌握数字系统设计和FPGA/CPLD技术的精髓,需要设计人员在不断实践的过程中,不懈地摸索和积累,逐步提高自己的数字系统设计水平。读者如果还需要深入学习FPGA/CPLD数字系统开发技术,可参考其他专门书籍。

本书由任全会主编并编写项目3、项目4、项目5,孙逸洁老师编写了项目1、项目2、项目6,江兴盟老师编写了项目7、项目8。

本书可作为高职高专电子工程、通信、电气自动化、计算机应用技术、仪器仪表等专业的教材,也可作为自学用书。

由于水平所限,本书编写虽然做了很大努力,书中疏漏之处仍在所难免,真诚希望广大读者给予批评指正。编者2018年12月项目1 认识FPGA/CPLD及其开发工具

目前数字电子技术已经渗透到人类生活的各个方面,从计算机到手机,从家用电器到军用设备,从工业自动化到航天技术,都广泛采用了数字电子技术。现代数字电子设计基本采用基于计算机的电子设计自动化技术,即EDA(Electronic Design Automation)技术,自动完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,最后将逻辑代码下载到FPGA(Field Programmable Gate Array)/CPLD(Complex Programmable Logic Device)芯片或ASIC芯片中,实现既定的电子电路功能。一、FPGA/CPLD技术及其发展历程(一)可编程逻辑器件(PLD)

在数字集成电路中,存在三种基本的器件类型:存储器、微处理器和逻辑器件。存储器用来存储特定的二进制信息,如数据表或数据库的内容;微处理器用来执行软件指令,以完成范围广泛的任务,如运行文字处理程序或音视频游戏,而逻辑器件则用来提供特定的功能,包括数据通信、信号处理、数据显示、定时和控制操作等功能。逻辑器件可分为固定逻辑器件和可编程逻辑器件两大类。固定逻辑器件中的电路是永久性的,这种器件一旦制造完成,其功能就无法改变,而可编程逻辑器件可在任何时间改变其功能,且具有设计开发周期短、设计制造成本低、开发工具先进、质量稳定以及可实时在线检验等优点。

可编程逻辑器件技术是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于20世纪70年代单片机的发明和使用。采用可编程逻辑器件可实现任何数字器件的功能,上至高性能CPU,下至简单的74系列、CC4000系列,都可以用可编程逻辑器件来实现。

不论是简单的还是复杂的数字器件,都是由基本门电路构成的,包括“与”门、“或”门、“非”门等。由基本门电路可构成两类数字电路,一类是组合电路,另一类是时序电路。任何组合逻辑都可以化为“与或”表达式,因此任何组合电路都可以用与或门电路实现。任何时序电路都可由组合电路加上存储元件构成,由此人们提出了可编程逻辑器件(PLD)的概念,其原理如图1.1所示。图1.1 PLD原理

此后人们又从ROM工作原理、地址信号与输出数据间的关系以及ASIC门阵列获得启发,构造出SRAM查找表逻辑形成方法,采用RAM数据查找的方式,使用多个查找表构成一个查找表阵列,即可编程门阵列(PGA)。(二)PLD的发展及分类1.PLD的发展历程

很早以前人们就曾设想设计出一种可编程逻辑器件,不过由于受到当时集成电路工艺技术的限制,一直未能如愿,直到20世纪后期,集成电路技术有了飞速的发展,可编程逻辑器件才得以实现。

历史上,可编程逻辑器件(PLD)经历了PROM、PLA、PAL、GAL、EPLD、CPLD和FPGA的发展过程,在结构、工艺、集成度、功能、速度和灵活性方面逐渐改进和提高,大致的演变过程如下。

20世纪70年代初,推出熔丝编程的PROM和PLA可编程逻辑器件。

20世纪70年代末,AMD公司推出PAL器件。

20世纪80年代初,Lattice公司发明电可擦写的、比PAL使用更灵活的GAL器件。

20世纪80年代中期,Xilinx公司提出现场可编程概念,同时生产出了世界上第一片FPGA器件。同一时期,Altera公司推出EPLD器件,较GAL器件有更高的集成度,可以用紫外线或电擦除。

20世纪80年代末,Lattice公司推出了一系列CPLD器件,将可编程逻辑器件的性能推向了一个全新的高度。

进入20世纪90年代后,可编程逻辑器件进入飞速发展时期,可用逻辑门数超过了百万门,并出现了内嵌复杂功能模块(如加法器、乘法器、CPU核、DSP核、PLL等)的SoPC(可编程片上系统)。2.PLD的分类

PLD的种类很多,几乎每个大型PLD供应商都能提供具有自身结构特点的PLD器件,由于历史原因,PLD的分类方法较多,较常见的是按集成度来分类,如图1.2所示。一般按集成度可分为两大类:一类是芯片集成度较低的简单PLD,早期出现的PROM、PLA、PAL、GAL都属于这类,逻辑门数大约在500门以下;另一类是芯片集成度较高的复杂PLD,如现在大量使用的FPGA/CPLD器件。图1.2 PLD按集成度分类

另外,还可以根据可编程逻辑器件的结构分为两大类:一类是乘积项结构器件,其基本结构为“与或阵列”器件,大部分简单PLD以及CPLD属于这个范畴;另一类是查找表结构器件,由简单的查找表组成可编程逻辑门,再构成逻辑阵列形式,FPGA属于此类器件。

常见的FPGA/CPLD芯片外形和封装如图1.3所示。图1.3 常见FPGA/CPLD芯片外形和封装3.PLD的发展趋势

目前PLD的发展趋势主要体现在以下几点。

①继续向高密度、高容量方向发展。目前对新型高密度器件的需求有增无减,大容量FPGA/CPLD是市场发展的方向。

②IP内核得到进一步发展。各大厂家不断开发新的IP内核,并且将部分功能在出厂时就固化在芯片中。

③SoPC成为主流。由于系统级芯片(SoC)流片成本非常高,晶圆厂承担的风险太大,所以一般为顶级OEM商提供。从图1.4可以看出,SoPC既含有嵌入的处理器、I/O支持电路,也含有PLD,所嵌入的处理器可以是软核,也可以是硬核,包括DSP/MCU/ASSP,用户可以根据具体应用场景选择处理器和I/O,然后对SoPC进行编程,因此SoPC很快进入了DSP/MCU的应用领域,成为受欢迎的产品。图1.4 SoPC组成示意图

④ASIC和PLD相互融合。ASIC芯片尺寸小、功能强大、不耗电,但设计复杂,并且有批量要求。PLD器件价格较低廉,能在现场进行编程,但体积大、功能有限,而且功耗比ASIC大。因此,FPGA/CPLD和ASIC将会互相融合发展。二、FPGA/CPLD的特点(一)CPLD与FPGA的结构特点1.CPLD的结构特点

CPLD是在PAL、GAL的基础上发展起来的阵列型PLD器件,具有高密度、高速度的优点。CPLD一般包含宏单元、可编程I/O单元和可编程连线阵列(PIA)三部分。(1)宏单元

宏单元是CPLD器件的基本单元,宏单元内部主要包括“与或”阵列、触发器和多路选择电路,能独立地配置为组合工作方式或时序工作方式。在早期的GAL器件中,宏单元与I/O单元集成在一起,称为逻辑宏单元(OLMC),高密度CPLD的逻辑宏单元都做在内部,称为内部逻辑宏单元。CPLD的宏单元内一般有多个触发器,其中只有一个触发器与输出端相连,其余触发器的输出可以反馈到“与阵列”,构成更复杂的时序电路,这些触发器称为“隐埋”触发器。

尽管大多逻辑函数能够用每个宏单元中的乘积项实现,但某些逻辑函数比较复杂,要实现它们,需要附加乘积项。为提供所需要的逻辑资源,可以借助可编程开关,将同一宏单元(或其他宏单元)中未使用的乘积项联合起来使用,称为乘积项共享方式。Lattice和Altera的CPLD无一例外地采用了乘积项共享方式。利用乘积扩展项,可保证在实现逻辑综合时,用尽可能少的逻辑资源,得到尽可能快的工作速度。(2)可编程I/O单元

可编程I/O单元具有以下一些特点:

•能够兼容TTL和CMOS多种接口标准;

•可配置为输入、输出、双向I/O、集电极开路和三态门等各种组态;

•能够提供适当的驱动电流,以直接驱动发光二极管(LED)等器件;

•降低功率消耗,防止过冲和减少噪声。

I/O单元必须能够支持多种接口电压。随着半导体工艺中线宽的不断缩小,器件的内核必须采用更低的电压。例如当工艺线宽为1.2~0.5μm时,器件一般采用5V电压;当工艺线宽为0.35μm时,器件的供电电压为3.3V;当工艺线宽为0.25μm时,I/O单元与芯片内核的供电电压不再相同,内核的电压一般为2.5V,I/O单元的工作电压为3.3V,并且能兼容5V和3.3V的器件;当工艺线宽为0.18μm时,器件内核一般采用1.8V的电压,I/O单元则要能够兼容2.5V和3.3V的电压。(3)可编程连线阵列(PIA)

可编程连线阵列在各逻辑宏单元之间以及逻辑宏单元和I/O单元之间提供互联网络。在FPGA中,布线延时是累加的,与路径有关;而在CPLD中,一般采用固定长度的线段来连接,这种连线的好处是有固定的延时,时间性能容易预测。

下面以MAX7000S器件为例介绍Altera的CPLD结构特点。MAX7000S器件的逻辑阵列块(LAB,Logic Array Blocks)如图1.5所示,每个LAB由16个宏单元组成,多个LAB通过PIA和全局总线连接在一起。图1.5 MAX7000S器件的结构

MAX7000S每个宏单元由三个功能块组成:逻辑阵列、乘积项选择矩阵和可编程触发器。逻辑阵列实现组合逻辑功能,它可给每个宏单元提供5个乘积项;乘积项选择矩阵分配这些乘积项,作为“或”门和“异或”门的主要逻辑输入项,以实现组合逻辑函数;每个宏单元的一个乘积项可以反相后回送到逻辑阵列。“可共享”的乘积项能够连到同一个LAB中任何其他乘积项上。每个宏单元的触发器可以通过单独编程,采用D、T、JK、RS触发器的工作方式。也可将触发器旁路,实现纯组合逻辑的输出。

尽管大多逻辑函数能够用每个宏单元中的5个乘积项实现,但某些逻辑函数比较复杂,要实现它们的话,需要附加乘积项,将共享和并联这两种扩展项作为附加的乘积项直接送到LAB的任意宏单元中,可利用尽可能少的逻辑资源,得到尽可能快的工作速度。

MAX7000S每个LAB有16个共享扩展项。每个宏单元提供一个未使用的乘积项,并将它们反相后回送到逻辑阵列,便于集中使用,从而构成共享扩展项。每个共享扩展项可被LAB内任何宏单元共享,以实现复杂的逻辑函数。但采用共享扩展项会增加一个短的延时。共享扩展项的结构如图1.6所示。图1.6 共享扩展项的结构

并联扩展项是一些宏单元中没有使用的乘积项,这些乘积项可分配到邻近的宏单元,实现快速复杂的逻辑函数。并联扩展项的结构如图1.7所示。图1.7 并联扩展项的结构

图1.8所示是PIA布线到LAB的示意图。MAX7000S的PIA有固定的延时,它能消除信号之间的时间偏移。图1.8 PIA布线到LAB

图1.9所示为MAX7000S器件I/O控制块的结构图。I/O控制块允许每个I/O引脚单独设置为输入、输出和双向工作方式。所有I/O引脚都有一个三态缓冲器,当三态缓冲器的控制端接地时,输出为高阻态,此时I/O引脚可作为专用输入引脚使用;当三态缓冲器的控制端接高电平时,输出有效。I/O控制块有6个全局输出使能信号。图1.9 MAX7000S器件I/O控制块的结构

MAX7000S器件提供节电工作模式,在这种模式下,整个器件总功耗下降到原来的50%或更低。器件中的每一个独立的宏单元可切换为高速(打开Turbo位)或者低速(关闭Turbo位),从而降低整个器件的功耗。

MAX7000S器件每个I/O引脚都有一个控制漏极开路输出的Open-Drain选项,利用该选项可提供诸如中断、写允许等系统级信号。

MAX7000S器件支持多电压I/O接口,设有V和V两组电源CCINCCIO引脚,一组供内核和输入缓冲器工作,一组供I/O引脚工作。根据需要,V引脚可连接3.3V或5.0V电源,当接5.0V电源时,输出与CCIO5.0V系统兼容;当接3.3V电源时,输出与3.3V系统兼容。

CPLD具有以下优点。

•I/O数量多。在给定的器件密度上可提供更多的I/O接口。

•时序模型简单。这主要归功于CPLD的粗粒度特性,这不但可加速初始设计速度,而且可加速调试流程。

•CPLD是粗粒结构,具有较少数量的开关,相应地延迟也小,因此CPLD可工作在更高的频率,具有更好的性能。

•CPLD软件编译快,布放设计更加容易执行。2.FPGA的结构特征

CPLD是基于乘积项的可编程结构,而FPGA则是基于查找表(LUT)的可编程结构,即LUT是可编程的最小逻辑构成单元。与CPLD相比,FPGA具有更高的集成度、更强的逻辑功能和更大的灵活性。这里以Altera公司的FPGA器件ACEX1K为例介绍。

ACEX1K器件的内部包括嵌入式阵列(EAB)、逻辑阵列(LAB)、快速通道、I/O单元等部分。图1.10所示是ACEX1K器件的结构示意图。LAB按行和列排成一个矩阵,每一行中放置了一个嵌入式阵列块(EAB)。在器件内部,信号的互联及信号与器件引脚的连接由快速通道(Fast Track)提供,每行(或每列)的快速通道互连线的两端连接着若干个I/O单元。图1.10 ACEX1K器件的结构示意图

ACEX1K器件的嵌入式阵列包含一系列的EAB,可实现RAM、ROM、双口RAM以及FIFO等功能,也可实现普通逻辑门功能。EAB既可独立使用,也可以联合起来实现更复杂的功能。

ACEX1K器件的逻辑阵列由许多逻辑阵列块(LAB)构成,每个LAB包含8个逻辑单元(LE)。LE由一个4输入查找表(LUT)、一个可编程触发器和专用的进位链、级连链构成。8个LE可以实现一个中等规模的逻辑电路,如8位计数器等,也可将多个LAB结合起来实现复杂的逻辑功能,每个LAB约相当于96个逻辑门。ACEX1K器件内部的信号互连由纵横贯穿于整个器件的行列通道提供。

每个I/O引脚都配有一个I/O单元(IOE),它位于每个行或列的末端。每个I/O单元包含一个双向I/O缓冲器和一个寄存器,可以用作输出或输入寄存器,当被用作专用的时钟引脚时,缓冲器可提供附加的特性。I/O单元能提供许多功能,如支持JTAG BST、转换速度控制、三态缓冲等。

FPGA具有以下特点。

①FPGA是细粒结构,每个单元间存在细粒延迟,随着设计密度的增加,信号不得不通过更多开关,路由延迟也随之增加,从而削弱了整体性能。

②如果设计中要用到大量触发器(时序逻辑),那么使用FPGA就是一个很好的选择。根据结构原理可以知道,PLD分解组合逻辑的功能很强,一个宏单元就可以分解多个组合逻辑输入。而FPGA的一个LUT只能处理4输入的组合逻辑,因此,PLD适合用于设计译码等复杂组合逻辑。

③FPGA芯片中包含的LUT和触发器的数量非常多。FPGA的制造工艺确定了FPGA芯片中包含的LUT和触发器的数量非常多,平均逻辑单元成本很低。

④用FPGA作为控制器,程序跑飞或死机的可能性较小;FPGA的I/O口配置灵活,可自由设定I/O口的功能,并且I/O口多,易于实现复杂I/O口控制;同时FPGA执行速度快,可实现高速的数据采集和控制。(二)CPLD与FPGA的区别

FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但CPLD和FPGA在结构上存在差异,具有各自的特点。

①在编程方式上,CPLD主要是基于EEPROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。

②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。

③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。

④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。

⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。

⑥CPLD的速度比FPGA快,并且具有较强的时间预测性。FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。

⑦CPLD更适合完成各种算法和组合逻辑,FPGA更适合完成时序逻辑。换句话说,FPGA更适合触发器丰富的结构,而CPLD更适合触发器有限而乘积项丰富的结构。

⑧CPLD保密性好,FPGA保密性差。

⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。三、主流厂商FPGA/CPLD器件及开发软件(一)主流厂商FPGA/CPLD器件1. Altera公司的FPGA和CPLD器件

Altera公司是著名的PLD生产厂商,多年来直占据着行业领先的地位。Altera公司的PLD具有高性能、高集成度和高性价比的优点,此外它还提供了功能全面的开发工具和丰富的IP核、宏功能库等,因此Altera公司的产品获得了广泛的应用。Altera公司的产品有多个系列,包括Stratix Ⅱ系列、Stratix系列、Cyclone系列、MAX Ⅱ系列、Classic系列、FLEX系列、APEX系列、ACEX系列等。下面简要介绍几种主要系列。(1)Stratix Ⅱ系列

Stratix Ⅱ系列器件采用TSMC 90nm低绝缘工艺技术,采用了革新性的逻辑结构,基于自适应逻辑模块(ALM)构建。它将更多的逻辑器件封装到更小的面积内,具有更快的性能。Stratix Ⅱ中带有专用算法功能模块,能高效实现复杂算法。为了支持通信应用,Stratix Ⅱ系列提供了高速信号接口和动态相位调整(DPA)电路,消除外部板子和内部器件的偏移,更易获得最佳的性能。Stratix Ⅱ系列FPGA支持差分I/O信号电平,包括HyperTransport、LVDS、LVPECL及差分SSTL和HSTI。

Stratix Ⅱ系列还提供了外部存储器接口,包括DDR2 SDRAM、RLDRAMII和QDR ⅡSRAM,具有充裕的带宽和I/O引脚支持,具有多种标准168/144脚双直列存储模块(DIMM)接口。

为提高安全性,配置比特流加密技术的128位高级加密标准(AES)密钥存放在FPGA中,无需备份电池,不占用逻辑资源。Stratix Ⅱ系列器件含有TriMatrix存储器,三种存储块分别为M-RAM、M4K和M512,提供多达9MB的存储容量,包括用于检错的校验位,性能高达370MHz,混合宽度数据和混合时钟模式。

Stratix Ⅱ增强数字信号处理(DSP)特点包括:

①更大的DSP带宽,提供比Stratix器件多四倍的DSP带宽;

②专用乘法器、流水线和累加电路;

③每个DSP块支持Q1.15格式新的舍入和饱和;

④最大性能高达370MHz;

⑤时钟管理电路具有片内锁相环(PLL)支持器件和板子时钟管理动态PLL,重配置允许随时改变PLL参数,备份时钟切换用于差错恢复和多时钟系统;

⑥可以实现片内差分和串行匹配,简化了电路板设计的复杂性,降低了设计成本;

⑦支持远程系统升级,用于可靠安全地进行系统升级和差错修复。专用看门狗电路可确保升级后功能正常。(2)Stratix系列

该系列采用1.5V内核,0.13μm全铜工艺。芯片由Quartus Ⅱ软件支持。主要特点如下。

①内嵌三级存储单元,可配置为采用移位寄存器的512B小容量RAM、4KB容量的标准RAM(M4K)或512KB的大容量RAM(MegaRAM),并自带奇偶校验。

②内嵌乘加结构的DSP块(包括硬件乘法器/累加器和流水线结构),适于高速数字信号处理和各类算法的实现。

③全新的布线结构,分为三种长度的行列布线,在保证延时可预测的同时,提高资源利用率和系统速度。

④增强时钟管理和锁相环能力,最多可有40个独立的系统时钟管理区和12组锁相环PLL实现任意倍频/分频,且参数可动态配置。

⑤增加片内终端匹配电阻,提高信号完整性,简化PCB布线。

⑥增强远程升级能力,增加配置错误纠正电路,提高系统可靠性,方便远程维护升级。(3)ACEX系列

ACEX是Altera专门为通信(如xDSL调制解调器、路由器等)、音频处理及其他一些场合的应用而推出的芯片系列。ACEX器件的工作电压为2.5V,芯片的功耗较低,集成度在3万门到几十万门之间,基于查找表结构。在工艺上采用先进的1.8V/0.18μm、6层金属连线的SRAM工艺,封装形式则包括BGA、QFP等。(4)FLEX系列FPGA

FLEX系列是Altera为DSP设计应用最早推出的FPGA器件系列,包括FLEX10K、FLEXIOKE、FLEX8000和FLEX6000等。器件采用连续式互连和SRAM工艺,可用门数为1~25万门。FLEX10K器件具有灵活的逻辑结构和嵌入式存储器块,能够实现各种复杂的逻辑功能,是应用最为广泛的一个系列。(5)MAX系列

MAX系列包括MAX9000、MAX7000A、MAX7000B、MAX7000S、MAX3000A等器件系列。这些器件的基本结构单元是乘积项,在工艺上采用EEPROM和EPROM。器件的编程数据可以永久保存,可加密。MAX系列的集成度在数百门到2万门之间。所有MAX系列的器件都具有ISP在系统编程的功能,支持JTAG边界扫描测试。(6)Cyclone系列

Altera的系列FPGA在逻辑门、存储器、锁相环和高级I/O接口之间具有较好的平衡,Cyclone FPGA是价格敏感应用的最佳选择。Cyclone FPGA具有以下特性。

①采用新的可编程构架,通过设计实现低成本。

②嵌入式存储资源支持各种存储器应用和数字信号处理(DSP)实施。

②专用外部存储接口电路集成了DDR FCRAM和SDRAM器件以及SDR SDRAM存储器件。

④支持串行总线网络接口及多种通信协议。

⑤使用PLL管理片内和片外系统时序。

⑥支持单端I/O标准和差分I/O技术,支持高达311Mb/s的LVDS信号。

⑦支持NIOS Ⅱ系列嵌入式处理器。

⑧采用新的串行配置器件低成本配置方案。

⑨通过Quartus Ⅱ软件OpenCore评估特性,免费评估IP功能。(7)Cyclone Ⅳ系列

Cyclone Ⅳ器件采用经过优化的60nm低功耗工艺。Cyclone Ⅳ FPGA系列只需要两路电源供电,简化了电源分配网络。其特点如下。

①多达115KB的垂直排列的LE,以M9K模块形式排列的4MB嵌入式存储器。

②多达266个18×18位乘法器。

③专用外部存储器接口电路,用以连接DDR2、DDR和SDR SDRAM以及QDPⅡSRAM存储器件。最多有4个嵌入式PLL,用于片内和片外系统时钟管理。

④支持单端I/O标准的64位、66MHz PCI和64位、100MHz PCI-X(模式1)协议。

⑤具有差分I/O信号,支持RSDS、mini-LVDS、LVPECL和LVDS,CycloneⅣ GX集成了3.125Gb/s收发器。

⑥对安全敏感应用进行自动CRC检测,支持完全定制NIOS Ⅱ嵌入式处理器。

⑦采用串行配置器件低成本配置解决方案。(8)MAX Ⅱ系列

这是一款上电即用、非易失性的PLD器件系列,用于通用的低密度逻辑应用环境。MAX Ⅱ系列器件还将成本和功耗优势引入了高密度领域。其特点是使用LUT结构,内含Flash,可以实现自动配置。和3.3V MAX器件相比,MAX Ⅱ器件只有很小的功耗,采用1.8V内核电压,以减小功耗,可靠性高。支持内部时钟频率达300MHz,内置用户非易失性Flash存储器块,通过取代分立式非易失性存储器件减少芯片数量。

MAX Ⅱ器件在工作状态时能够下载第二个设计,可降低远程现场升级的成本,有灵活的多电压MultiVolt内核。片内电压调整器支持3.3V、2.5V或1.8V电源输入。可减少电源电压种类,简化单板设计。可以访问JTAG状态机,可提高单板上不兼容JTAG协议的Flash器件的配置效率。

随着百万门级FPGA的推出,SoPC可编程芯片系统成为可能,它可将一个完整的系统集成在一个可编程逻辑器件内。为了支持SoPC的实现,方便用户的开发与应用,Altera还提供了众多性能优良的宏模块、IP核以及系统集成解决方案,这些宏功能模块、IP核都经过了严格的测试,使用这些模块将大大减少设计的风险,缩短开发周期,可使用户将更多的精力和时间放在改善和提高设计系统的性能上,而不是重复开发已有的模块。

Altera通过以下两种途径开发IP模块。

①AMPP(Altera Megafunction Partners Program)。AMPP是Altera宏功能模块和IP核开发伙伴组织,通过该组织,提供基于Altera器件的优化宏功能模块和IP核。

②MegaCore。又称为兆功能模块,是Altera自行开发完成的。兆功能模块拥有高度的灵活性,具有一些固定功能器件达不到的性能。

Altera的Quartus平台提供对各种宏功能模块进行评估的功能,允许用户在购买某个宏功能模块之前对该模块进行编译和仿真,以测试其性能。

Altera能够提供以下宏功能模块。

①数字信号处理类。即DSP基本运算模块,包括快速加法器、快速乘法器、FIR滤波器和FFT等,这些参数化的模块均针对Altera FPGA的结构做了充分的优化。

②图像处理类。Altera为数字视频处理所提供的包括压缩和过滤等应用模块均针对Altera器件内置存储器的结构进行了优化,包括离散余弦变换和JPEG压缩等。

③通信类。包括信道编码解码、Viterbi编码解码和Turbo编码解码等模块,还能够提供无线电软件应用模块,如快速傅立叶变换和数字调制解调器等。在网络通信方面也提供了诸多选择,从交换机到路由器,从桥接器到终端适配器,均提供了一些应用模块。

④接口类。包括PCI、USB、CAN等总线接口以及SDRAM控制器、IEEEl394标准接口。其中PCI总线接口包括64位、66MHz的PCI总线和32位、33MHz的PCI总线等几种方案。

⑤处理器及外围功能模块。包括嵌入式微处理器、微控制器、CPU核、NIOS核、UART和中断控制器等。此外还有编码器、加法器、锁存器、寄存器和各类FIFO等IP。2.Lattice公司的FPGA和CPLD器件

Lattice也是最早推出PLD的公司之一。Lattice公司的CPLD产品主要有ispLSI、ispMACH等系列。20世纪90年代,Lattice发明了ISP(In-System Programmability)下载方式,并将EECMOS与ISP相结合,使CPLD的应用领域有了巨大的扩展。(1)ispLSI系列

ispLSI系列器件是Lattice公司于20世纪90年代推出的大规模可编程逻辑器件,集成度在1000~60000门之间,Pin-to-Pin(引脚到引脚)延时最小可达3ns。ispLSI器件支持在系统编程和JTAG边界扫描测试功能。

ispLSI器件主要分四个系列:ispLSI 1000E系列、ispLSI 2000E/2000VL/200VE系列、ispLSI 5000V系列、ispLSI 8000/8000V系列。它们的基本结构和功能相似,但在用途上有一定的侧重点,因而在结构和性能上有细微的差异,有的速度快,有的密度高,有的成本低,有的I/O口多,适合在不同的场合应用。(2)ispMACH 4000系列

ispMACH 4000系列CPLD器件有3.3V、2.5V和1.8V三种供电电压,分别属于ispMACH 4000V、ispMACH 4000B和ispMACH 4000C器件系列。

ispMACH 4000Z、ispMACH 4000V和ispMACH 4000Z均支持军用温度范围。MAcH4000系列支持介于3.3V和1.8V之间的I/O标准,既有业界领先的速度性能,又能提供最低的动态功耗。ispMACH 4000系列具有SuperFAST性能,引脚至引脚之间的传输延迟tpd为2.5ns,频率可达400MHz。(3)EC和ECP系列

EC和ECP系列属于Lattice的FPGA系列,使用0.13μm工艺制造,提供低成本的FPGA解决方案。在ECP系列器件中还嵌入了DSP模块。3. Xilinx公司的FPGA和CPLD器件

Xilinx在1985年首次推出了FPGA,随后不断推出新的集成度更高、速度更快、价格更低、功耗更小的FPGA器件系列。Xilinx有以CoolRunner、XC9500系列为代表的CPLD以及以XC4000、Spartan、Virtex系列为代表的FPGA器件,如C2000、XC4000、Spartan和Virtex、VirtexIIpro、Virtex-4等系列,其性能不断提高。(1)Virtex-4系列FPGA

采用已验证的90nm工艺制造,密度达20万逻辑单元,速度可达500MHz。整个系列分为三个面向特定应用领域而优化的FPGA平台架构,分别是:

①面向逻辑密集的设计:Virtex-4LX;

②面向高性能信号处理应用:Virtex-4SX;

③面向高速串行连接和嵌入式处理应用:Virtex-4FX。(2)Spartan Ⅱ/Spartan-3/Spartan-3E器件系列

Spartan Ⅱ器件是以Virtex器件的结构为基础发展起来的第二代高容量FPGA。Spartan Ⅱ器件的集成度可以达到15万门,系统速度可达到200MHz,能达到ASIC的性价比。Spartan Ⅱ器件的工作电压为25V,采用0.22μm/0.18μm CMOS工艺,6层金属连线制造。

Spartan-3也采用90nm工艺制造,是继Spartan Ⅱ之后的一个低成本FPGA版本。(3)XC9500/XC9500XL系列CPLD

XC9500系列被广泛地应用于通信、网络和计算机等产品中。该系列器件采用快闪存储技术(Fast Flash),比EECMOS工艺的速度更快,功耗更低。目前,Xilinx公司XC9500系列CPLD的tpd可达到4ns,宏单元数达到288个,系统时钟可达到200MHz。

XC9500器件支持PCI总线规范和JTAG边界扫描测试功能;具有在系统可编程能力。该系列有XC9500、XC9500XV和XCS1500XL三种类型,内核电压分别为5V、2.5V和3.3V。器件重要特点如下。

①采用快闪存储技术,器件速度快,功能强,引脚到引脚的延时最低为4ns,系统速度可达200MHz,器件功耗低。

②引脚作为输入可以接受3.3V、2.5V、1.8V和1.5V等几种电压,作为输出可以配置为3.3V、2.5V、1.8V等电压。

③支持在系统编程和JTAG边界扫描测试功能,器件可以反复编程达10000次,编程数据可以保持20年。

④集成度为36~288个宏单元,800~6400个可用门,器件有不同的封装形式。

XC9500XL系列是XC9500系列器件的低电压版本,采用3.3V供电,成本低于XC9500系列器件。4. FPGA的器件选择和使用注意事项(1)供应商的选择

目前,主要的FPGA供应商有Xilinx公司、Altera公司、Lattice公司和Actel公司,其中Xilinx公司和Altera公司的规模最大,能提供器件的种类非常丰富。(2)FPGA器件的基本参数和指标选择

基本参数是器件选型的重要标准。基本参数主要包括逻辑单元的数量、等效逻辑门数量、可用的I/O数量、片内的存储资源的多少等,其他参数有时钟管理、锁相环和延时锁定环、PLL和DLL、高速I/O接口、嵌入式的硬件乘法器或者DSP单元、处理器的硬IP核、其他硬IP核、各种软IP核。(3)型号选择

选择具体型号的FPGA需要考虑的因素的比较多,包括管脚数量、逻辑资源、片内存储器、DSP资源、功耗、封装的形式等等,一般都要参考各个厂家给出的器件的Datasheet,了解各项的参数和性能指标。为了保证具有较好的可扩展性和可升级性,应留出一定的资源余量,因此,要进行系统硬件资源需求的估计。(4)外围器件的选择

FPGA型号选定以后,根据FPGA的特性,为其选择合适的电源芯片、片外存储器芯片,配置信息存储器。

在设计FPGA的最小系统时,一般需要注意以下几个方面。

①必需的功能 最小系统之中,除了EP1C3芯片之外,应该还包括3.3V的I/O口用稳压电源、内核用1.5V稳压电源、测试用发光二极管指示灯、JTAG口、I/O口引出排针、有源晶振电路等。

②I/O口的引出与排列 最小系统板除了用于做一些简单的编程实验之外,最主要还是用于与其他扩展板配合使用,即可以嵌入到一些复杂的系统中。因此,尽量把所有的I/O都引出,同时应该分类引出,并且排列应比较连贯。

③器件的选择 对于低成本小系统,一般选择EP1C3或EP1C6,稳压芯片一般选择1117系列。许多厂家都用1117系列,并且各种不同的输出电压值都有,方便设计时灵活选择。2

④可选功能 可选功能包括1~3路RS232接口、IC总线存储器(例如24C02、24C64)。如果考虑到以NIOS Ⅱ的应用为主,FPGA可以改用EP1C6。144引脚封装的EP1C6与EP1C3除了几个特殊I/O外完全兼容。可按照Altera公司或相关开发板公司提供的开发板加上外部Flash和SDRAM。(二)FPGA/CPLD常用开发软件1. Quartus Ⅱ软件

Quartus Ⅱ是Altera公司推出的FPGA/CPLD开发工具,Quartus Ⅱ提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性。利用Quartus Ⅱ软件的开发流程可概括为以下几步:设计输入、设计编译、设计时序分析、设计仿真和器件编程。其中包括原理图、结构框图的Verilog HDL、AHDL和VHDL电路描述,可将其保存为设计实体文件;可进行芯片(电路)平面布局连线编辑,通过LogicLock增量设计方法,用户可优化系统,添加对原始系统性能影响较小或无影响的后续模块。

该软件还提供以下功能:

①功能强大的逻辑综合工具;

②完备的电路功能仿真与时序逻辑仿真工具;

③定时/时序分析与关键路径延时分析;

④可使用SignalTap Ⅱ逻辑分析工具进行嵌入式逻辑分析;

⑤支持软件源文件的添加和创建,并将它们链接起来生成编程文件;

⑥使用组合编译方式可一次完成整体设计流程;

⑦自动定位编译错误;

⑧高效的期间编程与验证工具;

⑨可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;

⑩能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。

Quartus Ⅱ编译器支持的硬件描述语言有VHDL、Verilog HDL及AHDL(Altera HDL),AHDL是Altera公司自己设计、制定的硬件描述语言,是以结构描述方式为主的硬件描述语言。Quartus Ⅱ设计流程如图1.11所示。图1.11 Quartus Ⅱ设计流程2. ISE软件

ISE是Xilinx推出的FPGA/CPLD开发设计工具集合,由早期的Foundation系列逐步发展到目前的ISE 9.1系列,集成了FPGA开发需要的所有功能,Foundation Series ISE具有界面友好、操作简单的特点,已经成为非常通用的FPGA工具软件。

ISE的主要功能包括设计输入、综合、仿真、实现和下载,涵盖了FPGA开发的全过程,从功能上讲,其工作流程无需借助任何第三方EDA软件。

①设计输入 ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(The ISE Text Editor),用于原理图编辑的工具ECS(The Engineering Capture System),用于生成IP Core的Core Generator,用于状态机设计的StateCAD以及用于约束文件编辑的Constraint Editor等。

②综合 ISE的综合工具不但包含了Xilinx自身提供的综合工具XST,同时还可以内嵌Mentor Graphics公司的Leonardo Spectrum和Synplicity公司的Synplify,实现无缝链接。

③仿真 ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDL Bencher,同时又提供了使用Model Tech公司的Modelsim进行仿真的接口。

④实现 此功能包括了翻译、映射、布局布线等,还具备时序分析、管脚指定以及增量设计等高级功能。

⑤下载 下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件,还包括了ImPACT,其功能是进行设备配置和通信,将程序烧写到FPGA芯片中去。3. Diamond软件

Diamond是Lattice公司推出的PLD开发设计软件。Diamond集成工具环境为低密度和超低密度FPGA的应用设计提供了一个友好、全面、快速的用户界面。Diamond使用扩展的基于项目的设计流程和集成的工具视图,可为用户提供包括进程流、层次结构、模块和文件列表等系统级信息,提供集成的HDL代码检查和合并报告生成功能。其特点如下。

①基于GUI的完整FPGA设计和验证环境。

②可通过多个工程以及设置策略,对单个设计项目进行设计探索。

③提供时序和功耗管理的图形化操作环境。四、FPGA/CPLD器件的配置

在大规模可编程逻辑器件出现以前,人们在设计数字系统时,把器件焊接在电路板上是设计的最后一个步骤。当设计存在问题时,设计者往往不得不重新设计印制电路板,设计周期被无谓地延长了,设计效率也很低。CPLD、FPGA的出现改变了这一切。现在,人们在逻辑设计时,可以在未设计具体电路时就把CPLD、FPGA焊接在印制电路板上,然后在设计调试时可以一次又一次随心所欲地改变整个电路的硬件逻辑关系,而不必改变电路板的结构。这一切都有赖于CPLD、FPGA的在系统下载或重新配置功能。

目前常见的大规模可编程逻辑器件的编程工艺有三种。

①基于电可擦除存储单元的EEPROM或Flash技术。CPLD一般使用此技术进行编程。CPLD被编程后改变了电可擦除存储单元中的信息,掉电后可保存。某些FPGA也采用Flash工艺,比如Lattice的Lattice XP系列FPGA。

②基于SRAM查找表的编程单元。对该类器件,编程信息是保存在SRAM中的,SRAM在掉电后编程信息立即丢失,在下次上电后,还需要重新载入编程信息。因此该类器件的编程一般称为配置。大部分FPGA采用该种编程工艺。

③基于反熔丝编程单元。比如Xilinx部分早期的FPGA采用此种结构,现在Xilinx已不采用。反熔丝技术编程方法是一次性可编程。

通常,将对CPLD的下载称为编程(Program),对FPGA中的SRAM进行直接下载的方式称为配置(Configure),对于反熔丝结构和Flash结构的FPGA的下载和对FPGA的专用配置ROM的下载仍称为编程。

不同厂商的器件,配置方法及工具并不相同,下面主要以Altera器件为例,介绍其配置工具及方法。(一)下载工具及其使用1. ByteBlaster并口下载电缆

ByteBlaster并口下载电缆是进行在系统编程常用的连接线,ByteBlaster下载电缆一端通过并口与PC机相连,另一端与目标PCB板插座相连,实现配置数据的传输,见图1.12。它的构成为:与PC并口相连的25针插座、与目标PCB板插座相连的10针插头和25针到10针的变换电路。图1.12 ByteBlaster并口下载电缆

下载电缆与Altera器件的接口一般是10芯的接口,连接信号如表1.1所示。表1.1 ByteBlaster下载电缆10芯接口引脚定义  2. USB Blaster下载电缆

USB Blaster是ALTERA推出的FPGA/CPLD程序下载电缆,见图1.13,通过计算机的USB接口可对Altera的FPGA/CPLD以及配置芯片进行编程、调试等操作。USB Blaster的驱动来自PC的配置或者编程数据。它具备以下特性。图1.13 USB Blaster

•支持1.8V、2.5V、3.3V和5.0V工作电压。

•支持SignalTap Ⅱ逻辑分析功能。

•支持Altera公司的全系列器件。CPLD有MAX3000、MAX7000、MAX9000、MAX Ⅱ等系列;FPGA有Stratix、Stratix Ⅱ、Stratix Ⅲ、Stratix Ⅳ、HardCopy Ⅰ、HardCopy Ⅱ、HardCopy Ⅲ、HardCopy Ⅳ、Cyclone Ⅰ、Cyclone Ⅱ、Cyclone Ⅲ、Cyclone Ⅳ、ACEX 1K、ACEX 20K、ACEX 10K等系列。

•支持EPCS串行配置器件的主动串行配置模式。

•支持NIOS Ⅱ嵌入式处理器系列的通信和调试。

•支持主动串行配置器件EPCS1、EPCS4、EPCS16以及其他第三方配置器件。

•支持强型配置器件EPC1、EPC4、EPC16等。

•支持NIOS调试,支持NIOS下的FLASH烧写。

•支持三种下载模式(AS、PS和JTAG)。

相比ByteBlaster,USB Blaster具备速度快、使用方便、接口简单、状态指示灯指示清晰等优势,是当今调试Altera系列FPGA/CPLD最为广泛使用的工具。(二)CPLD器件的配置

CPLD器件多采用JTAG编程方式,JTAG编程方式对CPLD和FPGA器件都支持,用于CPLD器件的下载文件为POF格式文件,用于PFGA器件的下载文件为SOF格式文件。1.单个MAX器件的JTAG编程

图1.14给出了单个MAX器件的JTAG编程连接示意图,图中的电阻为上拉电阻。图1.14 单个MAX器件的JTAG编程连接示意图2.多个MAX/FLEX器件的JTAG编程/配置

多个MAX器件的JTAG链配置如图1.15所示。当JTAG链中的器件多于5个时,建议对TCK、TMS和TDI信号进行缓冲处理。图1.15 多个MAX器件的JTAG链配置方式

在Quartus Ⅱ软件的Programmer窗口下打开多个器件的JTAG编程选项,然后选择“JTAG/Multi-Device JTAG Chain Setup”命令,出现多级JTAG链设置对话框。单击“Select Programming File”对话框,选择相应器件的下载文件,再将选定的文件添入器件编程列表中。确认所选择的下载文件类型及次序与硬件系统中连接的顺序是否一致,然后单击“OK”按钮,即设置好编程文件,就可以进行下载了。对器件进行编程和校验所需的硬件和软件均可从Altera获得,还有很多第三方厂家也提供编程支持。3. FPGA器件的配置

Altera的FPGA器件主要有两类配置方式:主动配置方式和被动配置方式。主动配置方式由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程;被动配置方式由外部计算机或控制器控制配置过程。根据配置数据线的宽度将配置分为串行配置和并行配置。

①使用PC并行配置FPGA 使用PC并行配置FPGA,配置数据将通过ByteBlaster电缆串行发送到FPGA器件,配置数据收发同步由ByteBlaster时钟提供,此种配置方式使用的配置文件为SOF文件(.sof),此文件在设计综合过程中自动形成。

将ByteBlaster电缆的一端与PC机的并口相连(LPT1),另一端10针插头与装配有PLD器件的PCB板上的插座相连,图1.16所示为FLEX10K器件的并口配置连接图。图1.16 FLEX10K器件并口配置连接图

②使用EPC配置器件配置FPGA 在FPGA 正常工作时,它的配置数据存储在SRAM中,由于SRAM的易失性,每次加电时,配置数据必须重新构造。在实验系统中,常用计算机或控制器进行调试,因此可以使用被动配置方式。而实用系统不能带有计算机控制,因此必须由FPGA器件引导配置操作工程,这时主动工作的FPGA器件从外围存储芯片中获得配置数据。

常用的EPC配置芯片有EPC1、EPC2和EPC141,这些器件将配置芯片存放在EPROM中,并按照内部的时钟频率输出数据。OE、nCS和DCLK引脚提供了地址计数器和三态输出缓存器控制信号。配置器件将配置数据通过串行比特流由DATA引脚输出,图1.17所示为单个EPC1、EPC2和EPC141器件配置FPGA器件的电路连接图。图1.17 单个EPC1、EPC2和EPC141器件配置FPGA器件的电路连接图练一练

一、指出下面的英文缩写的含义。

1.FPGA

2.HDL

3.CPLD

4.PLD

5.SOPC

6.JTAG

7.IP

8.ASIC

9.ISP

10.RTL

11.EDA

二、请查阅相关资料,说明MAX Ⅱ系列属于什么类型的PLD器件。

三、解释编程与配置这两个概念。

四、FPGA结构一般分为哪三部分?

五、CPLD和FPGA内部连线有什么区别?

六、CPLD和FPGA配置有什么区别?

七、目前世界上生产FPGA/CPLD的公司主要有哪几家?

八、分别列举出Altera公司常用的CPLD和FPGA型号。项目2 FPGA/CPLD基础开发一、FPGA/CPLD开发的基本方法(一)开发流程

FPGA/CPLD的开发流程(见图2.1)和基于处理器的软、硬件开发流程不同,最大特点是迭代性很强,并不是一个简单的顺序流程。在开发设计过程中,设计者在测试验证时一旦发现问题,往往需要回到前面的步骤重新审查、修改,然后重新综合、实现、仿真验证,直到设计符合要求。图2.1 FPGA/CPLD开发流程1.功能定义/器件选型

在FPGA/CPLD设计项目开始之前,必须进行系统功能的定义和模块的划分,还要根据任务要求,如系统的功能和复杂度,对工作速度和器件本身的资源、成本以及连线的可布性等进行权衡,选择合适的设计方案和合适的器件类型,建立与具体开发平台相对应的工程,比如当前开发平台是EPM240,则后续的工程开发也应该基于该芯片进行。2.模块划分

一个项目在整体把握的基础上进行模块划分,不仅有利于分工,更有利于日后的代码升级、维护以及设计的综合优化。模块划分的基本原则是以功能为主,有时也按照数据流来做划分。

建立设计方案时,必须考虑QuartusⅡ软件提供的设计流程。在自顶向下的设计流程中,整个设计只有一个输出网络表,用户可以对整个设计计划进行跨设计边界和结构层次的优化处理,并且管理容易;在自底向上的设计流程中,每个设计模块具有单独的网格表,它允许用户单独编译每个模块,且单个模块的修改不会影响到其他模块的优化。基于块的设计流程使用EDA设计输入和综合工具分别设计和综合各个模块,然后将各模块整合到QuartusⅡ软件的最高层设计中。用户可根据实际情况灵活使用各种设计方法。3.设计输入方式

创建好工程后,需要给工程添加设计输入文件。设计输入可以使用文本形式的文件(如AHDL、VHDL、Verilog HDL等)、存储器数据文件(如HEX、MIF等)、原理图输入以及第三方EDA工具产生的文件(如HDL、EDIF、VQM等)。同时还可以混合使用集中设计输入方式进行设计。(1)Verilog HDL/VHDL硬件描述语言设计输入方式

硬件描述语言HDL设计法是大型模块化设计工程最常用的设计方法。目前较为流行的HDL语言有Verilog HDL、VHDL等,其共同的特点是易于使用自顶向下的设计方法,易于进行模块划分和复用,移植性强,通用性好,设计流程不因芯片工艺和结构的改变而变化,利于ASIC的移植。HDL采用纯文本文件格式,用任何编辑器都可以编辑。(2)AHDL输入方式

AHDL是完全集成到QuartusⅡ软件系统中的一种高级模块化语言,可以用QuartusⅡ软件文本编辑器或者其他的文本编辑器产生AHDL文件。AHDL语言只能用于采用Altera器件的FPGA/CPLD设计,其代码不能移植到其他厂商器件(如Xilinx、Lattice等)上使用,通用性不强。(3)模块/原理图输入方式

模块/原理图输入方式是FPGA/CPLD设计的基本方法之一,几乎所有的设计环境都集成有模块/原理图输入方式。这种设计方式直观、易用,支撑它的是一个功能强大、分门别类的器件库。由于器件库元件通用性差,因此其移植性差,如果更换芯片,整个原理图需要做很大修改,甚至是全部重新设计,所以这种设计方式主要是混合设计中的一种辅助设计方式。(4)使用Mega Wizard Plug-In Maneger产生IP核/宏功能块

Mega Wizard Plug-In Maneger工具的使用基本可以分为以下几个

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载