1、上讲主要内容回顾:任务任务1 1z 1、EDA技术及其发展z 2、EDA技术最终实现目标的ASIC的三种途径:z(1)超大规模可编程逻辑器件z(2)半定制或全定制ASICz(3)混合ASICz 4、硬件描述语言VHDLz(1)VHDL (2)Verilog HDLz(3)System Verilog (4)System Cz 5、VHDL综合z 设计过程中的每一步都可称为一个综合环节。z (1)自然语言综合;(2)行为综合;z (3)逻辑综合;(4)版图综合或结构综合。z 6、基于VHDL的自顶向下设计方法z 7、EDA与传统电子设计方法的比较z 8、EDA的发展趋势上讲主要内容回顾:任务任务
2、2 2z 1、FPGACPLD设计流程z(1)设计输入(原理图HDL文本编辑)z(2)综合z(3)适配z(4)时序仿真与功能仿真z(5)编程下载z 2、ASIC及其设计流程z(1)ASIC设计方法:z(2)ASIC设计的流程:z 3、常用EDA工具z EDA工具大致可以分为如下5个模块:z 设计输入编辑器,HDL综合器,仿真器,适配器(或布局布线器),下载器z 4、MAX+plusII概述z 5、IP核 EDAEDA技术技术实用教程实用教程EDAEDA技术技术实用教程实用教程教学导航教学导航任务任务3 3:CPLD结构与工作原理结构与工作原理1、概述、概述 (1)可编程器件发展的六个阶段)可编
3、程器件发展的六个阶段 (2)可编程器件的分类:)可编程器件的分类:三种分类方法三种分类方法2、简单、简单PLD原理原理 (1)电路符号表示)电路符号表示 (2)PROM基本结构基本结构 (3)PLA逻辑阵列逻辑阵列 (4)PAL (5)GAL 3、CPLD结构与工作原理结构与工作原理 (1)逻辑阵列块逻辑阵列块(LAB)(2)宏单元宏单元 (3)扩展乘积项扩展乘积项 (4)可编程连线阵列可编程连线阵列PIA (5)I/O控制块控制块 FPGA-Field Programmable Gate Array CPLD-Complex Programmable Logic Device 3.1 3.1
4、 概概 述述输 入缓冲电路与阵列或阵列输出缓冲电路输入输出图图3-1 基本基本PLD器件的原理结构图器件的原理结构图3.1.1 可编程逻辑器件的发展历程可编程逻辑器件的发展历程70年代年代80年代年代90年代年代PROM 和和PLA 器件器件改进的改进的 PLA 器件器件GAL器件器件FPGA器件器件EPLD 器件器件CPLD器件器件内嵌复杂内嵌复杂功能模块功能模块的的SoPC3.1.2 可编程逻辑器件的分类可编程逻辑器件的分类图图3-2 按集成度按集成度(PLD)分类分类 可编程逻辑器件(PLD)简单 PLD 复杂 PLD PROM PAL PLA GAL CPLD FPGA 3.1.2 3
5、.1.2 可编程逻辑器件的分类可编程逻辑器件的分类z按结构特点 基于与或阵列结构的器件阵列型yPROM,EEPROM,PAL,GAL,CPLDyCPLD的代表芯片如:Altera的MAX系列 基于门阵列结构的器件单元型yFPGA3.1.2 3.1.2 可编程逻辑器件的分类可编程逻辑器件的分类z 按编程工艺熔丝或反熔丝编程器件Actel的FPGA器件y体积小,集成度高,速度高,易加密,抗干扰,耐高温y只能一次编程,在设计初期阶段不灵活SRAM大多数公司的FPGA器件y可反复编程,实现系统功能的动态重构y每次上电需重新下载,实际应用时需外挂EEPROM用于保存程序EEPROM大多数CPLD器件y可
6、反复编程y不用每次上电重新下载,但相对速度慢,功耗较大EPROMFLASH3.2 简单简单PLD原理原理3.2.1 电路符号表示电路符号表示图图3-3 常用逻辑门符号与现有国标符号的对照常用逻辑门符号与现有国标符号的对照3.2.1 电路符号表示电路符号表示图图3-4PLD的互补缓冲器的互补缓冲器 图图3-5 PLD的互补输入的互补输入 图图3-6 PLD中与阵列表示中与阵列表示图图3-7 PLD中或阵列的表示中或阵列的表示 图图3-8 阵列线连接表示阵列线连接表示 ROM分类1、PROM 由使用者写入信息,随后存储内容不可更改2、EPROM 信息写入后,可用紫外线照射,再写入新的内容3、EEP
7、ROM 信息写入后用电方法擦除,再写入新的内容4、MROM 掩模型只读存储器3.2.2 PROM3.2.2 PROM地 址译 码 器存 储 单 元阵 列0A1A1nA0W1W1pW0F1F1mFnp2图图3-9 PROM基本结构:基本结构:0111201110110.AAAWAAAWAAAWnnnn其逻辑函数是:其逻辑函数是:3.2.2 PROM图图3-10 PROM的逻辑阵列结构的逻辑阵列结构与阵列(不可编程)或阵列(可编程)0A1A1nA0W1W1pW0F1F1mFnp201,011,111,1101,011,111,1100,010,110,10WMWMWMFWMWMWMFWMWMWMF
8、mmpmpmpppp逻辑函数表示:逻辑函数表示:3.2.2 PROM图图3-11 PROM表达的表达的PLD图阵列图阵列与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F图图3-12 用用PROM完成半加器逻辑阵列完成半加器逻辑阵列与 阵 列(固 定)或 阵 列(可 编 程)0A1A1A1A0A0A1F0Fz 若输入若输入I2=A、I1=B、I0=Ci,z 输出输出O1=Co、O0=S,z 则根据阵列图,可得:则根据阵列图,可得:z S=ABCi+A/B/Ci+/AB/Ci+/A/BCiCo=AB+A/BCi+/ABCi=ABCi+AB/Ci+A/BCi+/ABCiz 实现全加器功
9、能实现全加器功能实现实现1位全加器功能位全加器功能3.2.3 PLA图3-13 PLA逻辑阵列示意图逻辑阵列示意图与 阵 列(可 编 程)或 阵 列(可 编 程)0A1A1A1A0A0A1F0F3.2.3 PLA图图3-14 PLA与与 PROM的比较的比较0A1A1F0F2A2F0A1A1F0F2A2F3.2.4 PAL0A1A1F0F0A1A1F0F 图3-15PAL结构:结构:图图3-16 PAL的常用表示:的常用表示:3.2.4 PAL11100100R11100100RQQD11100100R11100100RVccSG1SL07SL17SG0SL0619I/O711100100R1
10、1100100RQQD11100100R11100100RVccSG1SL06SL16SG1SL0618I/O61CLK/I02I13I2078150 3 4 78121115 1619 2023 2427 2831图图3-17 一种一种PAL16V8的部分结构图的部分结构图3.2.5 GAL2071 90 34 781 21 11 51 61 92 02 32 42 72 83 11381 51 8O L M CO L M C41 62 31 752 43 11 6O L M CO L M C63 23 91 574 04 71 4O L M CO L M C84 85 51 395 66
11、31 2O L M CO L M C1 1I/C L KIIIIIIIII/O EI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QC L KO E图图3-18 GAL16V8的结构图的结构图GAL:General Array Logic Device最多有8个或项,每个或项最多有32个与项EPLDErasable Programmable Logic Device3.2.5 GAL逻辑宏单元输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列GAL16V8GAL器件的OLMCOutput Logic Macro Cell每个OLMC包含或阵列中的一个或门
12、组成:异或门:控制输出信号的极性D触发器:适合设计时序电路4个多路选择器或门控制选择输出使能选择输出选择反馈信号选择3.2.5 GAL图图3-19寄存器输出结构寄存器输出结构图图3-20寄存器模式组合双向输出结构寄存器模式组合双向输出结构3.2.5 GAL图图3-21 组合输出双向结构组合输出双向结构图图3-22 复合型组合输出结构复合型组合输出结构3.2.5 GAL图图3-23 反馈输入结构反馈输入结构图图3-24输出反馈结构输出反馈结构3.2.5 GAL图图3-25 简单模式输出结构简单模式输出结构3.3 CPLD3.3 CPLD结构与工作原理结构与工作原理 CPLD内部结构(Altera
13、的MAX7000S系列)逻辑阵列模块中包含多个宏单元3.3 CPLD结构与工作原理结构与工作原理图图3-26 MAX7000系列的单个宏单元结构系列的单个宏单元结构PRNCLRNENA逻辑阵列全局清零共享逻辑扩展项清零时钟清零选择寄存器旁路并行扩展项通往 I/O模块通往 PIA乘积项选择矩阵来自 I/O引脚全局时钟QDEN来自来自 PIA的的 36个信号个信号快速输入选择快速输入选择23.3 CPLD结构与工作原理结构与工作原理(1)逻辑阵列块逻辑阵列块(LAB)图图3-27-MAX7128S的的结构结构3.3 CPLD结构与工作原理结构与工作原理(2)宏单元宏单元(3)扩展乘积项扩展乘积项图
14、图3-28 共享扩展乘积共享扩展乘积项结构项结构 图图3-29 并并联扩展项馈联扩展项馈送方式送方式3.3 CPLD结构与工作原理结构与工作原理(4)可编程连线阵列可编程连线阵列(5)不同的不同的LAB通过在可编程连线阵列通过在可编程连线阵列(PIA)上布线,以相互连上布线,以相互连接构成所需的逻辑。接构成所需的逻辑。图图3-30 PIA信号布线到信号布线到LAB的方式的方式(6)I/O控制块控制块图图3-31-EPM7128S器器件的件的I/O控制控制块块知识梳理与总结:知识梳理与总结:任务任务3 3:CPLDCPLD结构与工作原理结构与工作原理z 1、概述z (1)可编程器件发展的六个阶段
15、z (2)可编程器件的分类:三种分类方法z 2、简单PLD原理z (1)电路符号表示z (2)PROM基本结构z (3)PLA逻辑阵列z (4)PALz (5)GAL z 3、CPLD结构与工作原理z (1)逻辑阵列块(LAB)z (2)宏单元z (3)扩展乘积项z (4)可编程连线阵列PIAz (5)I/O控制块 任务任务4 4:FPGAFPGA结构与工作原理结构与工作原理z 1、FPGA结构与工作原理z(1)FPGA查找表单元z(2)FLEX10K系列器件 z z FLEX 10K内部结构:z 1)逻辑单元LEz 2)逻辑阵列LAB z 3)快速通道(FastTrack)z 4)I/O单元
16、与专用输入端口z 5)嵌入式阵列块EABz 2、FPGA/CPLD测试技术z(1)内部逻辑测试z(2)JTAG边界扫描测试z(3)嵌入式逻辑分析仪 3.4 FPGA结构与工作原理结构与工作原理3.4.1 查找表查找表0000010100000101161RAM输入A输入B输入C输入D查找表输出多路选择器图图3-33 FPGA查找表单元内部结构查找表单元内部结构查找表LUT输入1输入2输入3输入4输出图图3-32 FPGA查找查找表单元:表单元:一个一个N输入查找表输入查找表(LUT,Look Up Table)可以实现可以实现N个输入变量的任何逻辑功个输入变量的任何逻辑功能,如能,如 N输入输
17、入“与与”、N输入输入“异或异或”等。等。输入多于输入多于N个的函数、方程必须分开用几个查找表(个的函数、方程必须分开用几个查找表(LUT)实现)实现输出输出查黑查黑找盒找盒表子表子输入输入1输入输入2输入输入3输入输入4什么是查找表什么是查找表?基于查找表的结构模块基于查找表的结构模块 0000010100000101输入 A 输入 B 输入C 输入D 查找表输出16x1RAM查找表原理查找表原理多路选择器查找表的基本原理实际逻辑电路LUT的实现方式 a,b,c,d 输入逻辑输出地址RAM中存储的内容00000000000001000010.0.01111111111N个输入的逻辑函数需要2
18、的N次方的容量的SRAM来实现,一般多个输入的查找表采用多个逻辑块级连的方式3.4.2 FLEX10K系列器件系列器件图图3-34 FLEX 10K内部结构内部结构.IOCIOCIOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC逻辑单元逻辑单元.IOCIOC.IOCIOCIOCIOC.快速通道互连快速通道互连逻辑阵列块逻辑阵列块(LAB)IOCIOC.连续布线和分段布线的比较连续布线连续布线=每次设计重复的可预测性和高性能每次设计重复的可预测性和高性能连续布线(Altera 基于查找表(LUT)的 FPGA)LABLE.IOCIOC.IOCIOC.IOCIOC.IOCIOC.
19、IOCIOC.IOCIOCFLEX 10K系列FPGA结构图.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOCEABEAB嵌入式嵌入式阵列块阵列块(1)逻辑单元逻辑单元LE图图3-35 LE(LC)结构图结构图数据1Lab 控制 3LE 输出进位链级联链查找表(LUT)清零和预置逻辑时钟选择进位输入级联输入进位输出级联输出Lab 控制 1CLRNDQ数据2数据3数据4Lab 控制 2Lab 控制 4(1)逻辑单元逻辑单元LE图图3-36 进位链连通进位链连通LAB中的所有中的所有LE快速加法器快速加法器,比较器和计数器比较器和计数器DFF进位输入进位输入(来自
20、上一个逻辑单元来自上一个逻辑单元)S1LE1查找表查找表LUT进位链进位链DFFS2LE2A1B1A2B2进位输出进位输出(到到 LAB中的下一个逻辑单元中的下一个逻辑单元)进位链进位链查找表查找表LUT(1)逻辑单元逻辑单元LE图图3-37 两种不同的级联方式两种不同的级联方式“与与”级联链级联链“或或”级联链级联链LUTLUTIN 3.0IN 4.7LUTIN(4n-1).4(n-1)LUTLUTIN 3.0IN 4.7LUTIN(4n-1).4(n-1)LE1LE2LEnLE1LE2LEn0.6 ns2.4 ns16位地址译码速度可达位地址译码速度可达 2.4+0.6x3=4.2 ns(
21、2)逻辑阵列逻辑阵列LAB是由一系列的相邻是由一系列的相邻LE构成的构成的图图3-38-FLEX10K LAB的结构图的结构图(3)快速通道快速通道(FastTrack)(4)I/O单元与专用输入端口单元与专用输入端口图图3-39 IO单元结构图单元结构图(5)嵌入式阵列块嵌入式阵列块EAB是在输入、输出口上带有寄存器的是在输入、输出口上带有寄存器的RAM块,是由一系列的嵌入式块,是由一系列的嵌入式RAM单元构成。单元构成。图图3-40 用用EAB构成不同结构构成不同结构的的RAM和和ROM 输出时钟DRAM/ROM256x8512x41024x22048x1DDD写脉冲电路输出宽度8,4,2
22、,1 数据宽度8,4,2,1地址宽度 8,9,10,11 写使能输入时钟z EAB的大小灵活可变z 通过组合EAB 可以构成更大的模块z 不需要额外的逻辑单元,不引入延迟,EAB 可配置为深度达2048的存储器(5)(5)嵌入式阵列块嵌入式阵列块EAB EAB EAB EAB 的字长是可配置的的字长是可配置的256x8512x41024x22048x1256x8256x8512x4512x4256x16512x8EAB 可以用来实现乘法器 VS非流水线结构非流水线结构,使用使用35个个 LE,速度为速度为 34 MHz 流水线结构速度为流水线结构速度为100 MHz,EAB8890 MHz用用
23、EAB实现的流水线乘法器操作速度可达实现的流水线乘法器操作速度可达 90 MHz!实例实例:4x4 乘法器乘法器+(6 LE)+(6 LE)+(7 LE)8LELELELELELELELELELELELELELELELECPLD与FPGA的区别CPLDFPGA内部结构 ProducttermLookup Table程序存储 内部EEPROMSRAM,外挂EEPROM资源类型 组合电路资源丰富触发器资源丰富集成度低高使用场合 完成控制逻辑能完成比较复杂的算法速度慢快其他资源EAB,锁相环保密性可加密一般不能保密CPLD与FPGA的区别zFPGA采用SRAM进行功能配置,可重复编程,但系统掉电后,
24、SRAM中的数据丢失。因此,需在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。CPLD器件一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适于数据的保密。CPLD与FPGA的区别zFPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路则需要几个CLB结合起来实现。CPLD的与或阵列结构,使其适于实现大规模的组合功能,但触发器资源相对较少。FPGA与CPLD的区别zFPGA为细粒度结构,CPLD为粗粒度结构。FPGA内部有丰富连线资源,CLB分块较小,芯片的利用率较高。CPLD的宏单元的与或阵列
25、较大,通常不能完全被应用,且宏单元之间主要通过高速数据通道连接,其容量有限,限制了器件的灵活布线,因此CPLD利用率较FPGA器件低。FPGA与CPLD的区别zFPGA为非连续式布线,CPLD为连续式布线。FPGA器件在每次编程时实现的逻辑功能一样,但走的路线不同,因此延时不易控制,要求开发软件允许工程师对关键的路线给予限制。CPLD每次布线路径一样,CPLD的连续式互连结构利用具有同样长度的一些金属线实现逻辑单元之间的互连。连续式互连结构消除了分段式互连结构在定时上的差异,并在逻辑单元之间提供快速且具有固定延时的通路。CPLD的延时较小。PLD器件的命名与选型zEPM7 128 S L C
26、8410yEPM7:产品系列为EPM7000系列y128:有128个逻辑宏单元yS:电压为5V,AE为3.3V,B为2.5VyL:封装为PLCC,Q代表PQFP等yC:商业级(Commercial)070度,I:工业级(Industry),4085度M:军品级(Military),55125度y84:管脚数目y10:速度级别管脚的定义z特殊功能的管脚y电源脚VCC和GND,VCC一般分为VCCINT和VCCIO两种yJTAG管脚:实现在线编程和边界扫描y配置管脚(FPGA):用于由EEPROM配置芯片z信号管脚y专用输入管脚:全局时钟、复位、置位y可随意配置其功能为:输入、输出、双向、三态10
27、,00020,00030,00040,00050,00070,000100,000130,000250,0006,00012,00012,00016,00020,00018,00024,00032,00040,000存储器容量存储器容量(单位单位:Bit)典型可用门典型可用门EPF10K10/AEPF10K20EPF10K30/AEPF10K40EPF10K5/VEPF10K70EPF10K100/AEPF10K130VEPF10K250A管芯尺寸比较AlteraEPF10K100A相对管芯尺寸:1.00.35 工艺4,992个逻辑单元(LE)12 个EABXilinxXC4062XL相对管芯
28、尺寸:1.910.35 工艺相当于4,608个逻辑单元(LE)*没有EABAlteraEPF10K100E相对管芯尺寸:0.60.25 工艺4,992个逻辑单元(LE)12 个EAB*1个 CLB 相当于 2 两个LE工艺改进促使供电电压降低0 02 24 46 68 8101019921992199319931994199419951995199619961997199719981998199919992000200020012001电压电压5.0 V3.3 V2.5 V1.8 V崩溃电压崩溃电压供电电压供电电压FPGA/CPLD多电压兼容系统内核电压 3.3V、2.5V或 1.8V 接受
29、2.5V、3.3V 或者 5.0V 输入输出电位标准 Vccio资料来源:美国Altera公司0%0%20%20%40%40%60%60%80%80%100%100%199219921993199319941994199519951996199619971997199819981999199920002000200120015.0 V3.3 V2.5 V1.8 V初始设计百分比初始设计百分比FPGA/CPLD不同芯核电压器件流行趋势 4、FPGA/CPLD生产商 ALTERAFPGA:FLEX系列:10K、10A、10KE,EPF10K30E APEX系列:20K、20KE EP20K200E
30、 ACEX系列:1K系列 EP1K30、EP1K100 STRATIX系列:EP1系列 EP1S30、EP1S120CPLD:MAX7000/S/A/B系列:EPM7128S MAX9000/A系列FPGA:XC3000系列,XC4000系列,XC5000系列 Virtex系列 SPARTAN系列:XCS10、XCS20、XCS30CPLD:XC9500系列:XC95108、XC95256XILINXLATTICEVANTIS(AMD)ispLSI系列:系列:1K、2K、3K、5K、8K ispLSI1016 、ispLSI2032、ispLSI1032E、ispLSI3256A MACH系列
31、系列 ispPAC系列:系列:其他其他PLD公司:公司:ACTEL公司:公司:ACT1/2/3、40MXATMEL公司:公司:ATF1500AS系列、系列、40MXCYPRESS公司公司QUIKLOGIC公司公司 CPLD SO MUCH IC!FPGA CPLD4、FPGA/CPLD生产商 ALTERA FPGA:FLEX系列:10K、10A、10KE,EPF10K30E APEX系列:20K、20KE EP20K200E ACEX系列:1K系列 EP1K30、EP1K100 STRATIX系列:EP1系列 EP1S30、EP1S120 CYCLONE系列:EP1C20 EXCALIBUR系
32、列:CPLD:MAX7000/S/A/B系列:EPM7128S MAX9000/A系列 MAX3000系列3.5 FPGA/CPLD测试技术测试技术3.5.1 内部逻辑测试内部逻辑测试3.5.2 JTAG边界扫描测试边界扫描测试图图3-41 边界扫描电路结构边界扫描电路结构引 脚描 述功 能TDI测试数据输入(Test Data Input)测试指令和编程数据的串行输入引脚。数据在TCK的上升沿移入。TDO测试数据输出(Test Data Output)测试指令和编程数据的串行输出引脚,数据在 TCK 的下降沿移出。如果数据没有被移出时,该引脚处于高阻态。TMS测试模式选择(Test Mode
33、 Select)控制信号输入引脚,负责 TAP 控制器的转换。TMS 必须在TCK 的上升沿到来之前稳定。TCK测试时钟输入(Test Clock Input)时钟输入到BST 电路,一些操作发生在上升沿,而另一些发生在下降沿。TRST测试复位输入(Test Reset Input)低电平有效,异步复位边界扫描电路(在IEEE 规范中,该引脚可选)。3.5.2 JTAG边界扫描测试边界扫描测试表表3-1 边界扫描边界扫描IO引脚功能引脚功能图图3-42 边边界扫描数界扫描数据移位方据移位方式式3.5.2 JTAG边界扫描测试边界扫描测试图图3-43 JTAG BST 系统内系统内部结构部结构图
34、图3-44 JTAG BST系统与与系统与与FLEX器件关联结构图器件关联结构图图图3-45 JTAG BST选择命令模式时序选择命令模式时序TAP控制器的命令模式有:控制器的命令模式有:SAMPLEPRELOAD指令模式指令模式EXTEST指令模式指令模式BYPASS指令模式指令模式IDCODE指令模式指令模式USERCODE指令模式指令模式3.6 FPGA/CPLD产品概述产品概述3.6.1 Lattice公司公司CPLD器件系列器件系列1.ispLSI器器件系列件系列ispLSI1000E系列系列ispLSI2000E/2000VL/200VE系列系列ispLSI5000V系列系列isp
35、LSI 8000/8000V系列系列2.ispLSI器件的结构与特点器件的结构与特点:采用采用UltraMOS工艺。工艺。系统可编程功能。系统可编程功能。边界扫描测试功能。边界扫描测试功能。加密功能。加密功能。短路保护功能。短路保护功能。3.6.2 Xilinx公司的公司的FPGA和和CPLD器件系列器件系列1.Virtex E系列系列FPGA2.Spartan器件系列器件系列3.XC9500系列系列CPLD4.Xilinx FPGA配置器件配置器件SPROM5.Xilinx的的IP核核3.6.3 Altera公司公司FPGA和和CPLD器件系列器件系列1.Stratix 系列系列FPGA2.
36、APEX系列系列FPGA3.ACEX系列系列FPGA4.FLEX系列系列FPGA5.MAX系列系列CPLD6.Altera宏功能块及宏功能块及IP核核3.6.4 Altera公司的公司的FPGA配置方式与器件系列配置方式与器件系列器 件功能描述封装形式EPC216956801位,3.3/5V供电20脚PL CC、32 脚 TQFPEPC110464961位,3.3/5V供电8脚PDIP、20脚PLCCEPC1441440 8001位,3.3/5V供电8脚PDIP、20脚PLCCEPC1213212 942位,5V供电8脚PDIP、20脚PLCC、32脚TQFPEPC106465 536位,5V
37、供电8脚PDIP、20脚PLCC、32脚TQFPEPC1064V65 536位,5V供电8脚PDIP、20脚PLCC、32脚TQFP表表3-2 Altera FPGA常用配置器件常用配置器件3.7 CPLD和和FPGA的编程与配置的编程与配置图图3-46 10芯下载口芯下载口引脚12345678910PS 模式DCKGNDCONF_DONEVCCnCONFIG-nSTA TUS-DATA0GNDJATG模式TCKGNDTDOVCCTMS-TDIGND表表3-3 图图3-46 接口各引脚信号名称接口各引脚信号名称 FPGA与与CPLD的的配置与编程方案配置与编程方案 CPLD的编程方案的编程方案
38、PC机JTAG编程端口CPLDPC机isp编程端口CPLD编程适配电路编程适配电路JTAG编程信号:TCK、TDO、TMS、TDICPLDisp-IN-SYSTEM-PROGRAMMERBALELATTICE 的isp下载方式 ISPISP功能提高设计和应用的灵活性功能提高设计和应用的灵活性n 减少对器减少对器件的触摸件的触摸和损伤和损伤n 不计较器不计较器件的封装件的封装形式形式n 允许一般的允许一般的存储存储n 样机制造方样机制造方便便n 支持生产和支持生产和测试流程中测试流程中的修改的修改n 允许现场硬允许现场硬件升级件升级n 迅速方便地迅速方便地提升功能提升功能未编程前先焊未编程前先焊
39、接安装接安装系统内编程系统内编程-ISP在系统现场重在系统现场重编程修改编程修改此接口既可作编此接口既可作编程下载口,也可作程下载口,也可作JTAG接口接口 ALTERA 的 ByteBlaster(MV)下载接口 FPGA的配置方案的配置方案FPGA的3种常用的 标准下载配置模式1、Passive Serial Mode3、JTAG Mode2、Active Serial Mode FPGA配置配置JTAG配置端口FPGAPS配置端口PC机配置适配电路配置器件或配置电路AS配置端口专用FLASH配置器件3.7.1 CPLD的的JTAG方式编程方式编程图图3-47 CPLD编程下载连接图编程下
40、载连接图TCK、TDO、TMS、TDI为为CPLD的的JTAG口口对CPLD编程图图3-48 多多CPLD芯片芯片ISP编程连接方式编程连接方式3.7.1 CPLD的的ISP方式编程方式编程3.7.2 使用使用PC并行口配置并行口配置FPGA图图3-49 FLEX10K PS模式配置时序模式配置时序 图图3-50 多多FPGA芯片配芯片配置电路置电路 FLEX、ACEX、APEX等系列 FPGA器件配置连线图 注意:1、不要忘了将多片配 置 控制信号nCE 引 脚接地!2、作为PS配置模式,不要忘了将配置模式 控制信号脚MSEL1和 MSEL0都接地!FLEX、ACEX、APEX系列系列FPG
41、A 配置电路配置电路 FPGA Passive Serial Configuration 被动串行配置模式被动串行配置模式10针标准配置/下载接口通过配置电路后与PC机的并行接口相接对FPGA配置方案方案1:1:PSPS端口直接配置端口直接配置图图3-51 FPGA使用使用EPC配置器件的配置时序配置器件的配置时序 3.7.3 用专用配置器件配置用专用配置器件配置FPGA图图3-52 FPGA的配置电路原理图的配置电路原理图OTP配置器件配置器件:EPC1441、EPC1、EPC1213等等 方案方案2:2:PSPS端口端口OTPOTP专用器件配置专用器件配置缺点缺点:1 1、芯片价格高。、芯
42、片价格高。2 2、只能一次编程。、只能一次编程。3 3、可配置的、可配置的FPGAFPGA规模小,不能用于规模小,不能用于SOPCSOPC系统配置。系统配置。4 4、无法用于实时多任务重配置、无法用于实时多任务重配置 FPGA的OTP配置器件 使用方法选择Global Project Device项 编译前选择配置器件编译前选择配置器件注意,被编译文件的工程名为“DAC”,因此,其配置文件名应该为“DAC.POF”对于低芯核电压FPGA(如EP1K30),需选择此项,电路中的配置芯片应该接3.3V工作电压。选择配置芯片的型号为EPC1PC8选择PS模式 编编 译!译!选择配置器件生产商 打开通
43、用编程器编程窗打开通用编程器编程窗选择器件类型选择器件型号器件接插方式进入工程文件夹,选择编程文件选择编程文件双击编程文件后,进入“File type”窗,选择文件类型为“POF”:Programming Output File编程缓冲器中的DAC.POF文件码注意文件芯片型号是否对!打开编程窗口编程窗开始编程将编程完毕的配置器件插在相应的电路系统上3.7.4 用专用配置器件配置用专用配置器件配置FPGA图图3-53 EPC2配置配置FPGA的电路原理图的电路原理图EPC2可以多次重复编可以多次重复编程,且是程,且是isp方式编程方式编程外部上拉电阻1K X 5 DCLK nCSnINIT_C
44、ONF OE DATA PC机FPGAEPC2EPC2配置芯片配置芯片配置电路和JTAG编程端口DCLKCONF_DONEnCONFIGnSTATUSDATA0TCKTMSTDOTDITCKTMSTDOTDI配置配置 编程编程利用利用FLASH结构的结构的EPC2为为FPGA作配置作配置方案方案3:3:PSPS端口端口E E平方专用器件配置平方专用器件配置缺点缺点:1 1、芯片价格高。、芯片价格高。2 2、可多次编程次数少。、可多次编程次数少。3 3、无法用于实时多任务重配置、无法用于实时多任务重配置 FPGA的ispFLASH配置器件 EPC2/4/8/16使用方法如果没有使用外部上拉电阻,
45、则必须选择此项选择配置器件型号:EPC2LC20 编编 译!译!编程前,首先打开编程器窗口然后用鼠标双击此文件名于是弹出编程文件选择窗双击此编程文件名:DAC.POF这是对FPGA的配置文件对EPC2编程文件名编程器件名开始编程方案方案4:4:ASAS端口端口FLASHFLASH专用器件配置专用器件配置 PC机Cyclone系列 FPGAEPCSXEPCSX配置芯片配置芯片ByteBlasterII配置电路配置配置 编程编程ASAS配配置端置端口口ByteBlaster(MV)配置电路ByteBlasterII配置电路POFPOF硬件购建配硬件购建配置文件置文件NiosNios工作软件工作软件
46、Nios嵌入式系统缺点缺点:1 1、只适合于、只适合于CycloneCyclone系列器件系列器件2 2、无法用于实时多任务重配置、无法用于实时多任务重配置FPGA普通单片机普通单片机EPROM或串行E平方ROMPS配置端口DCLKCONF_DONEnCONFIGnSTATUSDATA0方案方案5:5:PSPS端口单片机软件方式配置端口单片机软件方式配置单片机I/O端口单片机软件配置方案单片机软件配置方案缺点缺点:1 1、配置过程中易受干扰,可靠性低,不能用于可靠性要求高的领域。、配置过程中易受干扰,可靠性低,不能用于可靠性要求高的领域。2 2、配置速度慢,不能用于反应速度要求高的领域。、配置
47、速度慢,不能用于反应速度要求高的领域。3 3、可配置的、可配置的FPGAFPGA规模小,无法用于大于规模小,无法用于大于10K3010K30乃至乃至SOPCSOPC领域的器件配置。领域的器件配置。4 4、电路面积比较大、电路面积比较大5 5、实验模式不规范、实验模式不规范3.7.4 使用单片机配置使用单片机配置FPGA图图3-54 MCU用用PPS模式配置模式配置FPGA电路电路图图3-55 单片机使用单片机使用PPS模式配置时序模式配置时序图图3-56 用用89C52进行配置进行配置各种规模的FPGAASIC/CPLDASIC/CPLD大容量EPROMPS配置端口DCLKCONF_DONEn
48、CONFIGnSTATUSDATA0方案方案6:6:PSPS端口端口ASIC/CPLDASIC/CPLD硬件高速配置方案硬件高速配置方案I/O端口缺点缺点:1 1、电路面积比较大、电路面积比较大FPGA的配置和重配置的配置和重配置 (RECONFIGURATION)PC机FPGA应用电路系统应用电路系统CPU/CPLDCPU/CPLD 大容量大容量ROM/EPROM/ROM/EPROM/FLASHFLASH芯片芯片FPGA应用电路系统应用电路系统CPU/CPLDCPU/CPLD RAM RAM方案1方案21 1、通用编程器、通用编程器2 2、通用仿真器、通用仿真器3 3、虚拟仪表、虚拟仪表 1
49、、ALTERA公司:Byteblaster(MV)2、ALTERA公司:Byteblaster II普通下载器SOPC开发下载器3、LATTICE公司:isp编程器4、LATTICE公司:JTAG编程器5、XILINX公司:isp编程器6、XILINX公司:JTAG编程器7、VANTIS公司:JTAG编程器8、ATMEL公司:isp编程器 康芯公司GW48系列EDA/SOPC开发系统通用编程配置电路含多模式集成编程下载电路模块通过EDA工具中的LPM模块调用如LPM_ROM,LPM_FIFO等FPGA中的硬件EAB/ESB硬核硬核IPIP或嵌入式硬件模块(如或嵌入式硬件模块(如EABEAB)调
50、用图示)调用图示通过LPM编辑器或直接编辑设计(调用),以及参数设定LPM模块的相关底层文件(或元件)顶层系统调用产生HARDCOPY文件ASIC无缝转化ALTERA ALTERA HARDCOPYHARDCOPY ASIC ASIC设计流程设计流程FPGA硬件系统测试仿真ASIC顶层设计STRATIX系列FPGA规范的配置方案规范的配置方案JTAG端口FPGAPS配置端口PC机配置适配电路配置器件或配置电路FPGAPS配置端口PC机配置适配电路配置器件或配置电路不规范的配置方案不规范的配置方案 3种种EDA实验系统设计方案实验系统设计方案1、全开方手工接线方案3、重配置电子切换方案2、全闭合