《第2章FPGA-CPLD结构原理XXXX第1讲.ppt》由会员分享,可在线阅读,更多相关《第2章FPGA-CPLD结构原理XXXX第1讲.ppt(89页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1/89CPLD/FPGA实用教程实用教程第第 2 2 章章 PLD/CPLD/FPGA/硬件结构硬件结构 2021/9/1712/89可编程逻辑器件(可编程逻辑器件(PLD):):Programmable Logic Device PLD是大规模集成电路技术发展的产物,是半定制的集成是大规模集成电路技术发展的产物,是半定制的集成电路,拥有自主设计的广泛空间。电路,拥有自主设计的广泛空间。PLD的应用和发展简化了电路设计、降低了成本,提高了的应用和发展简化了电路设计、降低了成本,提高了系统的可靠性和保密性,推动了系统的可靠性和保密性,推动了EDA工具的发展,而且改工具的发展,而且改变了数字系统
2、的设计方法。变了数字系统的设计方法。2021/9/1723/892.1 概概 述述 基本门基本门 组合电路组合电路 时序电路时序电路 任何的组合逻辑函数都可以化为任何的组合逻辑函数都可以化为“与与-或或”表达式表达式 任何的组合电路可以用任何的组合电路可以用“与门与门-或门或门”二级电路实二级电路实现现 任何的时序电路都可由组合电路加上存储元件(锁任何的时序电路都可由组合电路加上存储元件(锁存器、触发器)构成存器、触发器)构成2021/9/1734/892.1 概概 述述 基本基本PLD器件的原理结构图器件的原理结构图 2021/9/1745/892.1 概概 述述 2.1.1 可编程逻辑器件
3、的发展历程可编程逻辑器件的发展历程 PROM(Programmable Read Only Memory)PLA(Programmable Logic Array)PAL(Programmable Array Logic)GAL(Generic Array Logic)EPLDCPLDFPGA2021/9/1756/892.1 概概 述述 2.1.2 可编程逻辑器件的分类可编程逻辑器件的分类 PLD按集成度分类按集成度分类 低集成度(低密度)芯片低集成度(低密度)芯片:可用逻辑门数大约在:可用逻辑门数大约在1000以下,以下,称简单称简单PLD,如,如PLA、PAL、GAL高集成度(高密度)芯
4、片高集成度(高密度)芯片:CPLD、FPGA芯片,称复杂芯片,称复杂PLD 按集成度分类按集成度分类2021/9/1767/89 乘积项结构器件乘积项结构器件(CPLD)查找表结构器件查找表结构器件(FPGA)熔丝型器件:一次性器件熔丝型器件:一次性器件反熔丝型器件:一次性器件反熔丝型器件:一次性器件EPROM型器件:紫外线擦除电可编程型器件:紫外线擦除电可编程EEPROM型器件:电可擦写编程型器件:电可擦写编程SRAM型器件:查找表结构的器件型器件:查找表结构的器件Flash型器件:多次可编程,掉电后不需重配置型器件:多次可编程,掉电后不需重配置按结构分类按结构分类按编程工艺分类按编程工艺分
5、类第一代第一代第四代第四代2021/9/1778/892.2 简单简单可编程逻辑器件原理可编程逻辑器件原理 2.2.1 电路符号表示电路符号表示 常用逻辑门符号与现有国标符号的对照常用逻辑门符号与现有国标符号的对照 原理图一般用图中的常用符号来描述表示原理图一般用图中的常用符号来描述表示;比较复杂的逻辑结构,用一套简化的符号来表示(比较复杂的逻辑结构,用一套简化的符号来表示(1991标准标准符号)。符号)。2021/9/1789/892.2简单简单可编程逻辑器件原理可编程逻辑器件原理 2.2.1 电路符号表示电路符号表示 PLD的互补缓冲器的互补缓冲器 PLD的互补输入的互补输入 PLD中与阵
6、列表示中与阵列表示 PLD中或阵列的表示中或阵列的表示 阵列线连接表示阵列线连接表示 2021/9/17910/892.2简单简单可编程逻辑器件原理可编程逻辑器件原理 2.2.2 PROM PROM表达的表达的PLD阵列图阵列图 主要特点:主要特点:与阵列固定,或阵列可编程;与阵列固定,或阵列可编程;与阵列是全译码器与阵列是全译码器,产生了,产生了全部最小项,有全部最小项,有n个输入则有个输入则有2n个乘积项;个乘积项;出厂时或阵列的交叉处有熔出厂时或阵列的交叉处有熔丝连接,当编程此处为丝连接,当编程此处为0时,通过大电流将熔丝烧断。时,通过大电流将熔丝烧断。2021/9/171011/892
7、.2 简单简单可编程逻辑器件原理可编程逻辑器件原理 2.2.2 PROM 用用PROM完成半加器逻辑阵列完成半加器逻辑阵列 半加器的逻辑函数:半加器的逻辑函数:和:和:F0=A1A0+A1A0进位:进位:F1=A1A0 2021/9/171112/892.2简单简单可编程逻辑器件原理可编程逻辑器件原理 2.2.3 PLA PLA逻辑阵列示意图逻辑阵列示意图 与阵列与阵列不是不是全译码,全译码,n个个输入时,乘积项小于输入时,乘积项小于2n,减,减小了芯片规模。小了芯片规模。与阵列和或阵列都可编程与阵列和或阵列都可编程,提高了利用率,增加了灵活提高了利用率,增加了灵活性;性;主要特点:主要特点:
8、20世纪世纪70年代中期出现。年代中期出现。2021/9/171213/892.2简单简单可编程逻辑器件原理可编程逻辑器件原理 2.2.3 PLA PLA与与 PROM的比较的比较 6个乘积项个乘积项23个乘积项个乘积项2021/9/171314/89u PLA不需要包含输入变量每个可能的最小项,仅不需要包含输入变量每个可能的最小项,仅仅需包含的是在逻辑功能中实际要求的那些最小项。仅需包含的是在逻辑功能中实际要求的那些最小项。从而缓解规模的增加。从而缓解规模的增加。u 虽然虽然PLA利用率较高,但其利用率较高,但其软件算法比较复杂软件算法比较复杂,多输入变量和多输出的逻辑函数,处理上更困难。多
9、输入变量和多输出的逻辑函数,处理上更困难。2.2简单简单可编程逻辑器件原理可编程逻辑器件原理 2021/9/171415/892.2简单简单可编程逻辑器件原理可编程逻辑器件原理 2.2.4 PALPAL的常用表示的常用表示 PAL结构结构0A1A1F0F0A1A1F0F 与阵列可编程,与阵列可编程,或阵列固定或阵列固定的的PAL避免了避免了PLA的问题,的问题,运行速度有所提高。运行速度有所提高。从从PAL的结构可的结构可知,各个逻辑函数知,各个逻辑函数输出化简,不必考输出化简,不必考虑公共的乘积项。虑公共的乘积项。送到或门的乘积送到或门的乘积项数目是固定的,项数目是固定的,从而简化设计算法,
10、从而简化设计算法,使单个输出的乘积使单个输出的乘积项为有限。项为有限。20世纪世纪70年代后期,美国年代后期,美国MMI公司推出。公司推出。2021/9/171516/89PAL16V8的部分结构图的部分结构图 可编程结构能解决组合逻辑的可编程问题。时序电路是可编程结构能解决组合逻辑的可编程问题。时序电路是由组合电路及存储单元(锁存器、触发器、由组合电路及存储单元(锁存器、触发器、RAM)构成。)构成。PAL加上输出寄存器,可实现时序电路的可编程加上输出寄存器,可实现时序电路的可编程2021/9/171617/892.2.5 GAL 首次在首次在PLD上采用上采用EEPROM工艺。工艺。沿用沿
11、用与阵列可编程、或阵列固定与阵列可编程、或阵列固定的结构。的结构。对对I/O结构进行了较大的改进,输出部分结构进行了较大的改进,输出部分增加了输出逻辑宏增加了输出逻辑宏单元单元(OLMC)。)。OLMC单元设有多种组态单元设有多种组态,可配置称成,可配置称成专用组合输出专用组合输出、专用专用输入输入、组合输出双向口组合输出双向口、寄存器输出寄存器输出、寄存器输出双向口寄存器输出双向口等。等。1985年,年,Lattice在在PAL的基础上设计出的基础上设计出GAL器件(通用阵列器件(通用阵列逻辑器件)。逻辑器件)。主要特点:主要特点:2.2简单简单可编程逻辑器件原理可编程逻辑器件原理 2021
12、/9/171718/89 GAL结构结构2.2.5 GAL 时钟信号输入时钟信号输入逻辑宏单元逻辑宏单元输入输出口输入输出口固定或阵列固定或阵列可编程与阵列可编程与阵列三态控制三态控制输入输入OLMC输出逻辑宏单元输出逻辑宏单元GAL有有4个个多路选择器多路选择器,通过不同的选择方式可通过不同的选择方式可以产生以产生多种输出结构多种输出结构,分别属于三种模式。分别属于三种模式。一旦确定了某种模式,一旦确定了某种模式,所有的所有的OLMC都将工作都将工作在同一种模式下。在同一种模式下。2021/9/171819/89(1)寄存器模式:)寄存器模式:1.寄存器输出结构(寄存器输出结构(异或门输出异
13、或门输出经经D触发器至三态门,触发器触发器至三态门,触发器的时钟端的时钟端CLK连公共连公共CLK引引脚,三态门的使能端脚,三态门的使能端OE连公连公共共OE引脚引脚)2.寄存器模式组合输出双向口结寄存器模式组合输出双向口结构(构(输出三态门受控,输出反输出三态门受控,输出反馈至本单元,组合输出无触发馈至本单元,组合输出无触发器器)寄存器输出结构寄存器输出结构寄存器模式组合输出双向口结构寄存器模式组合输出双向口结构2021/9/171920/89(2)复合模式)复合模式组合输出双向口结构组合输出双向口结构组合输出结构组合输出结构组合输出双向结构组合输出双向结构 复合型组合输出结构复合型组合输出
14、结构 2021/9/172021/89(3)简单模式)简单模式反馈输入结构反馈输入结构输出反馈结构输出反馈结构输出结构输出结构反馈输入结构反馈输入结构 输出反馈结构输出反馈结构 简单模式输出结构简单模式输出结构 2021/9/172122/89简单简单PLD器件在实用中已经被淘汰,主要因为:器件在实用中已经被淘汰,主要因为:阵列规模较小,资源不够用于数字系统。阵列规模较小,资源不够用于数字系统。片内寄存器资源不足,且寄存器的结构限制较多,难以构成片内寄存器资源不足,且寄存器的结构限制较多,难以构成丰富的时序电路。丰富的时序电路。I/O不够灵活,限制了片内资源的利用率。不够灵活,限制了片内资源的
15、利用率。编程不便,需用专用的编程工具。编程不便,需用专用的编程工具。取而代之的是取而代之的是CPLD/FPGA,(例:,(例:Altera的的EPM7128S、Xilinx的的XC95108)。)。2021/9/172223/892.3 CPLD的结构与工作原理的结构与工作原理 2.3.1 基于乘积项的基于乘积项的CPLD结构结构EPM7128S的结构:的结构:宏单元(宏单元(Macrocell),它是它是CPLD的基本结构,可实现基的基本结构,可实现基本的逻辑功能,多个宏单元可以组成逻辑阵列块(本的逻辑功能,多个宏单元可以组成逻辑阵列块(LAB);可编程连线可编程连线(PIA),连接所有的宏
16、单元,负责信号的传递;,连接所有的宏单元,负责信号的传递;I/O控制块控制块(I/O Control Block),控制输入、输出的电气控制输入、输出的电气特性,比如特性,比如OC输出、三态输出等;输出、三态输出等;系统控制信号系统控制信号,如全局时钟、清零控制、输出使能等。,如全局时钟、清零控制、输出使能等。2021/9/172324/892.3 CPLD的结构与工作原理的结构与工作原理 2021/9/172425/891、逻辑阵列块逻辑阵列块(LAB)1个个LAB由由16个个宏单宏单元元的阵列组成。的阵列组成。多个多个LAB组成组成阵列阵列多个多个LAB通过可编通过可编程连线阵程连线阵PI
17、A和全局和全局总线链接在一起。总线链接在一起。2021/9/172526/89单个单个宏单元宏单元的结构包括:的结构包括:可编程的与阵列可编程的与阵列和固定的或阵列(和固定的或阵列(乘积乘积项选择矩阵项选择矩阵),),可编程寄存器可编程寄存器。含。含共享扩展乘积项共享扩展乘积项和和高速并行扩高速并行扩展乘积项展乘积项。2、宏单元、宏单元(Macrocell)2021/9/172627/89MAX3000A系列中的宏单元系列中的宏单元 可编程逻辑阵列可编程逻辑阵列可编程逻辑阵列可编程逻辑阵列 乘积项选择矩阵乘积项选择矩阵乘积项选择矩阵乘积项选择矩阵 可编程寄存器可编程寄存器可编程寄存器可编程寄存
18、器 三种时钟输入模式三种时钟输入模式 全局时钟信号全局时钟信号 全局时钟信号由高电平有效的时钟信号使能全局时钟信号由高电平有效的时钟信号使能 用乘积项实现一个阵列时钟用乘积项实现一个阵列时钟 可编程逻辑阵列实现组可编程逻辑阵列实现组合逻辑,可实现逻辑函合逻辑,可实现逻辑函数及宏单元寄存器的辅数及宏单元寄存器的辅助输入,也可以被单独助输入,也可以被单独地配置为时序逻辑和组地配置为时序逻辑和组合逻辑工作方式。合逻辑工作方式。A 可编程逻辑阵列、乘积项选择矩阵与可编程寄存器可编程逻辑阵列、乘积项选择矩阵与可编程寄存器2021/9/172728/89共享扩展乘积项结构共享扩展乘积项结构 B 扩展乘积项
19、扩展乘积项 复杂的逻辑函数需要附加乘积项,可利用其他宏单元以提供复杂的逻辑函数需要附加乘积项,可利用其他宏单元以提供逻辑资源,称为扩展(乘积)项。逻辑资源,称为扩展(乘积)项。共享扩展项共享扩展项由每个宏单元提供一由每个宏单元提供一个单独的乘积项,通个单独的乘积项,通过一个非门取反后反过一个非门取反后反馈到逻辑阵列中,可馈到逻辑阵列中,可被被LAB内任何一个或内任何一个或全部宏单元使用和共全部宏单元使用和共享。享。2021/9/172829/89并联扩展项馈送方式并联扩展项馈送方式 并联扩展项并联扩展项宏单元中一些没有被使宏单元中一些没有被使用的乘积项,被分配到邻用的乘积项,被分配到邻近的宏单
20、元。近的宏单元。允许最多允许最多20个乘积项直个乘积项直接送到宏单元的或逻辑。接送到宏单元的或逻辑。2021/9/172930/893、可编程连线阵列可编程连线阵列(PIA)PIA信号布线到信号布线到LAB的方式的方式 不同的不同的LAB通过在可编程连线阵列通过在可编程连线阵列PIA上布线,以上布线,以相互连接构成所需逻辑。相互连接构成所需逻辑。2021/9/173031/894、I/O控制块控制块 器件的器件的I/O控制块控制块 I/O控制块允许每个控制块允许每个IO引脚引脚单独被配置为输入、输出和双单独被配置为输入、输出和双向工作模式。向工作模式。所有所有IO引脚都有一个三态缓引脚都有一个
21、三态缓冲器,控制信号来自多路选择冲器,控制信号来自多路选择器,可以选择用信号、器,可以选择用信号、GND和和VCC控制。控制。2021/9/173132/895、系统控制信号、系统控制信号 INPUT/GLCK1:全局时钟;全局时钟;INPUT/GCLRn:系统清零;系统清零;INPUT/OE1、INPUT/OE2:输出使能;输出使能;2021/9/173233/892.3 CPLD的结构与工作原理的结构与工作原理 2.3.1 基于乘积项的基于乘积项的CPLD结构结构XC95108的结构:的结构:功能模块(功能模块(FB),每个功能模块由每个功能模块由18个独立的宏单元组成,提供个独立的宏单元
22、组成,提供36个个输入和输入和18个输出,每个宏单元可实现一个组合电路或寄存器的功能个输出,每个宏单元可实现一个组合电路或寄存器的功能;快速连接开关矩阵快速连接开关矩阵,通过编程选择,通过编程选择I/O模块和功能模块的连接方式,每模块和功能模块的连接方式,每个功能模块最多可以接收个功能模块最多可以接收36个来自开关矩阵的信号;个来自开关矩阵的信号;I/O模块,模块,内部逻辑电路到用户内部逻辑电路到用户I/O引脚之间的接口,每个引脚之间的接口,每个I/O口包括一口包括一个输入缓冲器、输出驱动器、输出使能数据选择器和用户可编程接地控个输入缓冲器、输出驱动器、输出使能数据选择器和用户可编程接地控制;
23、制;JTAG控制器控制器在系统可编程控制器在系统可编程控制器。2021/9/173334/89XC95108的结构:的结构:2021/9/173435/89功能模块:功能模块:2021/9/173536/89宏单元:宏单元:可以被单独配置成组合逻辑或时序逻辑功能。可以被单独配置成组合逻辑或时序逻辑功能。2021/9/173637/892.3 CPLD的结构与工作原理的结构与工作原理 2.3.2 乘积项结构的可编程实现原理乘积项结构的可编程实现原理见课本见课本 2021/9/173738/892.4 FPGA的结构与工作原理的结构与工作原理 2.4.1 查找表逻辑结构查找表逻辑结构 FPGA查找
24、表单元查找表单元 主要特点:主要特点:大部分大部分FPGA采用基于采用基于SRAM的查找表结构,的查找表结构,用用SRAM来构成逻辑函数发生器来构成逻辑函数发生器。一个一个N输入的输入的LUT可以实现可以实现N个输入变量的任何个输入变量的任何逻辑。逻辑。一个一个N输入的输入的LUT,需要,需要SRAM存储存储N个输入构个输入构成的真值表,需要成的真值表,需要2的的N次幂个位的次幂个位的SRAM单元。单元。由由Xilinx公司发明,基公司发明,基于查表结构(于查表结构(LUT)2021/9/173839/89FPGA查找表单元内部结构查找表单元内部结构 4输入输入161 SRAM存储真值表存储真
25、值表事先写入结果事先写入结果查表地址查表地址输出输出2021/9/173940/89.IOCIOCIOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC逻辑单元逻辑单元LE.IOCIOC.IOCIOCIOCIOC.快速通道互连快速通道互连逻辑阵列块逻辑阵列块(LAB)IOCIOC.2021/9/174041/892021/9/174142/89逻辑单元的内部结构逻辑单元的内部结构2021/9/174243/89CPLD与FPGA的区别CPLDFPGA内部结构 ProducttermLookup Table程序存储 内部EEPROMSRAM,外挂EEPROM资源类型 组合电路资源丰
26、富触发器资源丰富集成度低高使用场合 完成控制逻辑能完成比较复杂的算法速度慢快其他资源EAB,锁相环保密性可加密一般不能保密2021/9/174344/89FPGA与CPLD的区别 FPGA采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失。因此,需在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。CPLD器件一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适于数据的保密。2021/9/174445/89FPGA与CPLD的区别 FPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的
27、组合电路则需要几个CLB结合起来实现。CPLD的与或阵列结构,使其适于实现大规模的组合功能,但触发器资源相对较少。FPGA为细粒度结构,CPLD为粗粒度结构。FPGA内部有丰富连线资源,CLB分块较小,芯片的利用率较高。CPLD的宏单元的与或阵列较大,通常不能完全被应用,且宏单元之间主要通过高速数据通道连接,其容量有限,限制了器件的灵活布线,因此CPLD利用率较FPGA器件低。2021/9/174546/89FPGA与CPLD的区别FPGA为非连续式布线,CPLD为连续式布线。FPGA器件在每次编程时实现的逻辑功能一样,但走的路线不同,因此延时不易控制,要求开发软件允许工程师对关键的路线给予限
28、制。CPLD每次布线路径一样,CPLD的连续式互连结构利用具有同样长度的一些金属线实现逻辑单元之间的互连。连续式互连结构消除了分段式互连结构在定时上的差异,并在逻辑单元之间提供快速且具有固定延时的通路。CPLD的延时较小。2021/9/174647/89CPLD 与与FPGA的选择的选择CPLD适合于设计译码等复杂组合逻辑,适合于设计译码等复杂组合逻辑,上电即可以工作上电即可以工作;FPGA中的触发器很多,适合于复杂时中的触发器很多,适合于复杂时序逻辑电路,但上电时需要专用配置序逻辑电路,但上电时需要专用配置芯片进行配置。芯片进行配置。2021/9/174748/89行为仿真、功能仿真和时序仿
29、真2.5 CPLD/FPGA工程设计流程工程设计流程应用于应用于FPGA/CPLD的的EDA开发流程开发流程 图形输入通常包括原理图形输入通常包括原理图输入、状态图输入和波形图输入、状态图输入和波形图输入三种常用方法。图输入三种常用方法。将电路的高级语言将电路的高级语言(如行为如行为描述描述)转换成低级的,可与转换成低级的,可与FPGACPLD的基本结构相映的基本结构相映射的网表文件。射的网表文件。适配器将综合后的网表文件针对适配器将综合后的网表文件针对某一具体的目标器件进行某一具体的目标器件进行逻辑映射逻辑映射操操作,其中包括底层器件配置、逻辑分作,其中包括底层器件配置、逻辑分割、逻辑优化、
30、逻辑布局布线操作。割、逻辑优化、逻辑布局布线操作。适配完成后可以利用适配所产生的仿适配完成后可以利用适配所产生的仿真文件作精确的时序仿真,同时产生真文件作精确的时序仿真,同时产生可用于编程的文件。可用于编程的文件。把适配后生成的下载或配置把适配后生成的下载或配置文件,通过编程器或编程电缆向文件,通过编程器或编程电缆向FPGA或或CPLD芯片下载,以便芯片下载,以便进行硬件调试和验证。进行硬件调试和验证。直接对直接对VHDL、原理图描述、原理图描述或其他描述形式的逻辑功能进行或其他描述形式的逻辑功能进行测试模拟。测试模拟。接近真实器件运行特性接近真实器件运行特性的仿真。的仿真。2021/9/17
31、4849/892.5 CPLD/FPGA工程设计流程工程设计流程2.5.1 设计输入设计输入(原理图原理图HDL文本编辑文本编辑)1.图形输入图形输入 状态图输入状态图输入波形图输入波形图输入原理图输入原理图输入在EDA软件的图形编辑界面上绘制能完成特定功能的电路原理图 2.HDL文本输入文本输入 将使用了某种硬件描述语言将使用了某种硬件描述语言(HDL)的电路设计文本,如的电路设计文本,如VHDL或或Verilog的源程序,进行编辑输入。的源程序,进行编辑输入。优点:直观方便,易掌握。缺点:规模较大时,线路复杂,可读性差,修改难,移植难,交流难。以图形的方式表示状态图进行输入优点:填好时钟信
32、号、状态转换条件、状态机类型后可自动生成VHDL程序。2021/9/174950/892.5 CPLD/FPGA工程设计流程工程设计流程2.5.2 综合综合 整个综合过程就是将设计者在整个综合过程就是将设计者在EDAEDA平台上编辑输入平台上编辑输入的的VHDLVHDL文本文本、原理图原理图或或状态图形状态图形描述,依据给定的硬件描述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,结构组件和约束控制条件进行编译、优化、转换和综合,最终获得最终获得门级电路门级电路甚至更底层的电路描述甚至更底层的电路描述网表文件,网表文件,如如Xilinx XNFXilinx XNF网表格式、网
33、表格式、EDIFEDIF网表格式。网表格式。电子系统设计的描述等级电子系统设计的描述等级 行为级、行为级、RTLRTL级级(Register Transfer(Register Transfer Level)Level)、逻辑门级(或门级)、版图级。、逻辑门级(或门级)、版图级。2021/9/175051/892.5 CPLD/FPGA工程设计流程工程设计流程2.5.3 适配适配 适配也称为结构综合适配也称为结构综合,将由综合器产生的将由综合器产生的网表文件网表文件对某对某一具体的目标器件进行逻辑映射,包括底层器件配置、一具体的目标器件进行逻辑映射,包括底层器件配置、网表文件的逻辑分割、逻辑优
34、化、布线与操作等,也网表文件的逻辑分割、逻辑优化、布线与操作等,也即即将网表文件配置于指定的目标器件中将网表文件配置于指定的目标器件中,使之产生最终的,使之产生最终的下载文件下载文件,如,如JEDECJEDEC、JamJam格式格式的文件。的文件。2.5.4 编程下载编程下载 将将下载文件下载文件通过编程器或下载电缆下载到目标芯片通过编程器或下载电缆下载到目标芯片FPGAFPGA或或CPLDCPLD中。对于中。对于CPLDCPLD来说,是把下载文件写入到来说,是把下载文件写入到CPLDCPLD中,中,称为称为编程编程;对于;对于FPGAFPGA来说,由于其内容在断电后易失,来说,由于其内容在断
35、电后易失,因此称为因此称为配置配置。2021/9/175152/892.5 CPLD/FPGA工程设计流程工程设计流程2.5.5 行为仿真、行为仿真、功能仿真与时序仿真功能仿真与时序仿真 时序仿真时序仿真 将布线将布线/适配器所适配器所产生的产生的VHDLVHDL网表文件网表文件送到送到VHDLVHDL仿真器中进仿真器中进行的仿真,考虑了器行的仿真,考虑了器件特性,接近真实器件特性,接近真实器件运行特性的仿真。件运行特性的仿真。行为仿真行为仿真 直接对直接对VHDLVHDL、原理图、原理图描述或其他描述设计描述或其他描述设计的程序进行测试模拟,的程序进行测试模拟,与具体电路无关。与具体电路无关
36、。2.5.6 硬件测试硬件测试 功能仿真功能仿真 对综合以后的网对综合以后的网络表进行的测试络表进行的测试模拟,不涉及具模拟,不涉及具体硬件特性,如体硬件特性,如延时等。延时等。将将下载文件下载文件通过编程器或下载电缆下载到目标芯片通过编程器或下载电缆下载到目标芯片FPGAFPGA或或CPLDCPLD中后,上电,进行的系统测试。中后,上电,进行的系统测试。2021/9/175253/89QuartusII是是Altera提供的提供的FPGA/CPLD开发集成环境开发集成环境图图1-9 Quartus II设计流程设计流程 上排所示的是上排所示的是Quartus II编译设计主控界面,它显示了编
37、译设计主控界面,它显示了Quartus H自动设计的各主要处理环节和设计流程自动设计的各主要处理环节和设计流程。下排是与上面的下排是与上面的Quartus II设计流程相对照的标准的设计流程相对照的标准的EDA开发流程。开发流程。Quartus 设计流程2021/9/175354/892.5 CPLD/FPGA工程设计流程工程设计流程原理图输入2021/9/175455/892.5 CPLD/FPGA工程设计流程工程设计流程2021/9/175556/892.5 CPLD/FPGA工程设计流程工程设计流程CLB(configurable logic block):单元型FPGA的三个组成部分之
38、一。2021/9/175657/892.5 CPLD/FPGA工程设计流程工程设计流程2021/9/175758/892.5 CPLD/FPGA工程设计流程工程设计流程2021/9/175859/892.6 FPGA/CPLD产品概述产品概述 2.6.1 Lattice公司公司CPLD器件系列器件系列 1.ispLSI器件系列器件系列 ispLSI1000E系列系列 ispLSI2000E/2000VL/200VE系列系列 ispLSI 8000/8000V系列系列 ispLSI5000V系列系列 2.ispMACH4000系列系列 3.Lattice EC&ECP系列系列 IspMACH 4
39、000Z、ispMACH 4000V、ispMACH 4000Z 2021/9/175960/892.6 FPGA/CPLD产品概述产品概述 2.6.2 Xilinx公司的公司的FPGA和和CPLD器件系列器件系列 2.Spartan&Spartan-3&Spartan 3E器件系列器件系列 5.Xilinx的的IP核核 1.Virtex-4系列系列FPGA Virtex-4 LX Virtex-4 SX Virtex-4 FX 3.XC9500&XC9500XL系列系列CPLD 4.Xilinx FPGA配置器件配置器件SPROM 2021/9/176061/892.6 FPGA/CPLD产
40、品概述产品概述 2.6.3 Altera公司公司FPGA和和CPLD器件系列器件系列 1.Stratix II 系列系列FPGA 5.MAX系列系列CPLD 2.ACEX系列系列FPGA 4.FLEX系列系列FPGA 2.Stratix系列系列FPGA 6.Cyclone系列系列FPGA低成本低成本FPGA 7.Cyclone II系列系列FPGA 8.MAX II系列器件系列器件 9.Altera宏功能块及宏功能块及IP核核 2021/9/176162/892.6 FPGA/CPLD产品概述产品概述 2.6.4 Actel公司的公司的FPGA器件器件 2.6.5 Altera公司的公司的FP
41、GA配置方式与配置器件配置方式与配置器件 器器 件件功能描述功能描述封装形式封装形式EPC216956801位,位,2.3/5V供电供电20脚脚PLCC、32 脚脚 TQFPEPC110464961位,位,2.3/5V供电供电8脚脚PDIP、20脚脚PLCCEPC1441440 8001位,位,2.3/5V供电供电8脚脚PDIP、20脚脚PLCC2021/9/176263/892.7 编程与配置编程与配置 u器件焊接是设计数字系统的最后一个步骤。当设计器件焊接是设计数字系统的最后一个步骤。当设计存在问题时,设计者不得不重新印制电路板,从而存在问题时,设计者不得不重新印制电路板,从而延长了设计周
42、期。延长了设计周期。uCPLD/FPGA被焊接到电路板上,设计调试时可随被焊接到电路板上,设计调试时可随时改变整个电路的硬件逻辑关系,不必改变整个电时改变整个电路的硬件逻辑关系,不必改变整个电路板的结构。路板的结构。uCPLD/FPGA具有在具有在系统下载系统下载或或重新配置重新配置功能。功能。2021/9/176364/89可编程逻辑器件在利用开发工具设计好应用电路后,要将该应用电路写入PLD芯片。将应用电路写入PLD芯片的过程称为编程编程,而对FPGA器件来讲,由于其内容在断电后即丢失,因此称为配置配置(但把应用电路写入FPGA的专用配置ROM仍称为配置)。由于编程或配置一般是把数据由计算
43、机写入PLD芯片,因此,也叫下载下载。要把数据由计算机写入PLD芯片,首先要把计算机的通信接口和PLD的编程或配置引脚连接起来。一般是通过下载线和下载接口来实现的,也有专用的编程器。CPLD的编程主要要考虑编程下载接口及其连接,而FPGA 的配置除了考虑编程下载接口及其连接外,还要考虑配置器件问题。2.7 编程与配置编程与配置 2021/9/176465/89接口各引脚信号名称接口各引脚信号名称 引脚引脚12345678910PS模式模式DCKGNDCONF_DONEVCCnCONFIG-nSTATUS-DATA0GNDJATG模模式式TCKGNDTDOVCCTMS-TDIGNDu电可擦除编程
44、工艺优点是编程后信息不会因掉电而丢失,电可擦除编程工艺优点是编程后信息不会因掉电而丢失,但编程次数有限,编程的速度不快。但编程次数有限,编程的速度不快。u基于基于SRAM的的FPGA,配置次数无限,加电可随时更改逻,配置次数无限,加电可随时更改逻辑,但掉电后芯片中的信息丢失,下载保密性也有待提高。辑,但掉电后芯片中的信息丢失,下载保密性也有待提高。编程工艺编程工艺编程工艺编程工艺 基于电可擦除存储单元的基于电可擦除存储单元的EEPROM或或Flash技术技术 基于基于SRAM查找表的编程单元查找表的编程单元 基于反熔丝编程单元基于反熔丝编程单元 2021/9/176566/892.7 编程与配
45、置编程与配置 CPLDCPLD编程下载连接编程下载连接 u在系统可编程(在系统可编程(ISP)就是当系统上电并正常工作时,计算机通过系统中的)就是当系统上电并正常工作时,计算机通过系统中的ISP接口直接对其进行编程,器件在编程后立即进入正常工作状态。接口直接对其进行编程,器件在编程后立即进入正常工作状态。uMAX7000、MAX3000A系列是采用系列是采用JTAG接口方式对器件进行在系统编程接口方式对器件进行在系统编程的。的。uJTAG用于编程功能有利于各可编程逻辑器件编程接口的统一。用于编程功能有利于各可编程逻辑器件编程接口的统一。2021/9/176667/892.7 编程与配置编程与配
46、置 多个支持多个支持JTAG接口接口ISP编程的编程的CPLD器件,可以使用器件,可以使用JTAG链进行编程,也可以进行测试。链进行编程,也可以进行测试。多多CPLD芯片芯片ISP编程连接方式编程连接方式 2021/9/176768/892.7.2 使用使用PC并行口配置并行口配置FPGA 图图2-50 PS模式的模式的FPGA配置时序配置时序 u基于基于SRAM的的FPGA器件,没有器件,没有ISP的概念,代之以的概念,代之以ICR(在在线可重配置方式线可重配置方式)。)。uFPGA结构使之在上电后需要重新配置一次。结构使之在上电后需要重新配置一次。u电路可重配置是指允许器件已经配置好的情况
47、下进行重新配电路可重配置是指允许器件已经配置好的情况下进行重新配置,以改变电路逻辑结构和功能。如采用置,以改变电路逻辑结构和功能。如采用PC机的下载电缆下机的下载电缆下载设计文件至载设计文件至FPGA。2021/9/176869/892.7.3 FPGA专用配置器件专用配置器件 EPCS器件配置器件配置FPGA的电路原理图的电路原理图 PC机直接对机直接对FPGA进行配置,具进行配置,具有方便的特点。当数字系统设计有方便的特点。当数字系统设计完成,正式投入使用时,在应用完成,正式投入使用时,在应用现场的现场的FPGA加电配置,需要专用加电配置,需要专用的配置器件来完成。的配置器件来完成。如如E
48、PROM配置,专用配置器件配配置,专用配置器件配置,单片机控制配置,置,单片机控制配置,CPLD控制控制配置。配置。专用配置器件通常是串行的专用配置器件通常是串行的PROM器件。对于配置器件,器件。对于配置器件,ALtera的的FPGA允允许多个配置器件配置单个许多个配置器件配置单个FPGA器件,也允许多个配置器件配置多个器件,也允许多个配置器件配置多个FPGA器器件。件。Altera公司还提供了可重复编程配置器件。配置器件可通过公司还提供了可重复编程配置器件。配置器件可通过JTAG口完成,而口完成,而且器件间还可以进行级联。且器件间还可以进行级联。2021/9/176970/892.7.4
49、使用单片机配使用单片机配置置FPGA 用用89C52进行配置进行配置 利用单片机对利用单片机对FPGA进行配置,可以取代昂贵的专用进行配置,可以取代昂贵的专用OTP配置配置ROM,可实现单片机仿真的仿真器设计、多功能虚拟仪器设计、,可实现单片机仿真的仿真器设计、多功能虚拟仪器设计、多任务通信设备设计或多任务通信设备设计或EDA实验系统设计等。实验系统设计等。ROM内按不同地址放置多个针对不同功能要求设计好的内按不同地址放置多个针对不同功能要求设计好的FPGA配置文件,然后由单片机接收不同的命令,以选择不同的地址控配置文件,然后由单片机接收不同的命令,以选择不同的地址控制,从而使所需要的配置文件
50、下载到制,从而使所需要的配置文件下载到FPGA中。中。2021/9/177071/892.7 编程与配置编程与配置 2.7.5 使用使用CPLD配置配置FPGA 使用单片机配置的缺点:使用单片机配置的缺点:速度慢速度慢,不适用于大规模,不适用于大规模FPGA和高可靠应用;和高可靠应用;容量小容量小,单片机引脚少,不适合接大的,单片机引脚少,不适合接大的ROM以存以存储较大的配置文件;储较大的配置文件;体积大体积大,成本和功耗都不利于相关的设计。,成本和功耗都不利于相关的设计。采用采用CPLD作为配置控制器件的作为配置控制器件的FPGA配置电路,能很好地解配置电路,能很好地解决单片机配置存在的问