《1.可编程逻辑器件的开发和应用.ppt》由会员分享,可在线阅读,更多相关《1.可编程逻辑器件的开发和应用.ppt(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、EDA技术应用专题可编程逻辑器件的开发和应用EDA技术概述什么是EDA技术 EDA(Electronic Design Automation)电子设计自动化。即以计算机为工具来完成电子系统的设计过程EDA技术的四个基本内容 1、电路原理图及PCB板图的绘制(PROTEL98/99,ORCAD等)2、电路的模拟仿真及功能测试(EWB等)3、可编程逻辑器件(PLD)的设计 4、专用集成电路ASIC的设计可编程逻辑器件概述什么是可编程逻辑器件使用PLD器件的好处PLD的基本结构PLD的分类和发展GAL器件、CPLD/FPGA器件介绍PLD厂商简介PLD器件的开发过程FLEX10K系列典型器件EPF1
2、0K10简介FPGA的编程和配置的编程和配置什么是可编程逻辑器件逻辑器件的三种类型:1标准产品:即SSI/MSI逻辑器件。例如:TTL工艺的5474系列和CMOS工艺的CD4000系列中的各种逻辑门、触发器、译码器、多路转换器、计数器和寄存器等逻辑器件就属于这一类。2单片机系统:由软件配置的LSI器件,如各种微处理器(CPU)和单片微型计算机芯片等。3专用集成电路ASIC(VLSI)标准产品的特点 逻辑器件的标准产品批量大,成本低,价格便宜,器件的工作速度也很快,是数字系统传统设计中使用的主要逻辑器件。但是,这类器件的密度不高,用它构成的数字系统硬件规模大,印刷线路板走线复杂。焊点多,致使系统
3、的可靠性降低,功耗增大。另外,这种器件的功能在出厂时就已确定,用户无法修改,不利于系统加密,修改设计时也比较麻烦,尤其是在印刷线路板制成以后就更是如此。单片机系统的特点 70年代以后陆续推出的微处理器和单片计算机等逻辑器件较好地弥补了标准产品的上述缺陷。这种器件密度高,其逻辑功能可由软件重新配置。用它构成数字系统时可大大缩小硬件规模,提高系统的灵活性。但这类器件的工作速度还不够高,一般只有专用集成电路的110,不能直接用于速度要求特别严格的场合。另外,这种逻辑器件通常要有用若干标准集成电路芯 片搭成的外围电路才能工作。专用集成电路ASIC的特点 ASIC的出现在一定程度上克服了上述两种逻辑器件
4、的某些缺点ASIC是为满足一种或几种特定功能而设计并制造的集成电路芯片,它密度一般都很高,一片ASIC芯片就能取代一块由若干中小规模集成电路芯片搭成的印刷线路板,甚至一个完整的数字系统也能用一片ASIC芯片实现。因此,使用ASIC能大大减小系统的硬件规摸,降低系统功耗,提高系统的可靠性、保密性和工作速度。专用集成电路ASIC的类型 ASIC按制造方法又可分为三类:1、全定制(Full Custom)产品2、半定制(Semi-ustom)产品3、PLD器件。全定制产品的特点 全定制的ASIC芯片其各层掩膜都是按特定电路的要求,由半导体器件生产厂家专门设计与制造的。需要经过电路设计、逻辑模拟、版图
5、设计和集成电路的各道生产工序才能制造出符合要求的专用集成电路芯片。这是一个周期长、费用高、还带有很大风险性的过程。因此,全定制的专用集成电路只在特大批量生产的情况下才适用。半定制产品的特点 半定制ASIC芯片上的单元电路也是由器件生产厂家预先做好的(这种芯片称作母片),只剩下金属连接层的掩膜有待按用户的具体要求进行设计与制造。这种母片通用性较强,可以大批量生产,因而单片成本较低。当用户需要制作满足特定要求的ASIC芯片时,可根据设计要求和所选母片的结构,由用户或器件生产厂家设计出连线版图,再由器件生产厂家将所需金属连线做上。因此就用户角度而言,这种ASIC与全定制ASIC相比,当生产量不是很大
6、时,它的设计和生产周期短,成本低,风险也小得多。PLD器件 但是,以上两种ASIC的设计和制造都离不开器件生产厂家,用户主动性较差,而且设计和生产周期也比较长。为了克服上述逻辑器件的缺点,人们又研制出一种新型的逻辑器件PLD器件。PLD器件芯片上的电路和金属引线都是事先由器件生产厂家做好的,但其逻辑功能在出厂时并没有确定,其逻辑功能可由用户根据需要借助于PLD开发工具通过对其“编程”的办法来确定。因此,不通过器件生产厂家用户自己就能设计出符合要求的各种ASIC芯片。多数PLD器件都能重复编程,具有加密功能,并兼有标准产品速度快、微处理器灵活性好和全定制与半定制ASIC集成度高的优点,是实现新型
7、数字系统的理想器件。使用PLD器件的好处PLD能做什么呢?可以毫不夸张的讲,PLD能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用PLD来实现。PLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用PLD的在线修改能力,随时修改设计而不必改动硬件电路。使用PLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。PLD的这些优点使得PLD技术在90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言(HDL)的进步。
8、使用PLD器件的好处 (一)减小系统的硬件规模 PLD器件密度高,一片PLD可代替几片、几十片乃至上百片中小规模的数字集成电路芯片。用PLD器件实现数字系统时用的芯片数量少,占用印刷线路板面积小,整个系统的硬件规模会有明显减小。例如:一个由2片“或”门74LS32、4片“与”门74LS08和4片D触发器74LS74组成的电子骰子游戏机控制电路,用1片GAL16V8即可代替。又如:一个数字解调器,用SSIMSI芯片实现时,需要10片十进制计数器4LS160,4片单稳态触发器74LS122,1片D触发器74LS74,2片“与非”门74LS00,1片反相器74LS04,共计11片标准数字集成电路芯片
9、,占用印刷线路板面积110cm2。改用PLD器件时,用一片ATV750就可实现,占用面积只有1片24引脚的标准集成电路芯片那么大。使用PLD器件的好处(二)提高系统的可靠性 使用PLD器件后,由于实现系统所需要的芯片数目减少了,占用印刷线路板的面积和引线以及焊点的数量也随之减少,所以使系统的可靠性得以提高。(三)提高系统的工作速度 PLD器件工作速度快,使用PLD后实现系统所需要的电路级数又少,整个系统的工作速度会得到提高。使用PLD器件的好处(四)提高系统的灵活性 在系统的研制阶段,由于设计错误和任务的变更而修改设计的事是经常发生的。使用不可编程的器件时,修改设计就得更换或增减器件。这是一件
10、相当麻烦的事,有时还不得不更换印刷线路板。使用PLD器件后情况就大不相同。由于PLD器件引脚比较灵活,又有可擦除可编程的能力,因此,对原设计进行修改时,只需要修改原设计文件再对PLD芯片重新编程即可,根本不需要修改电路布局,更不需要重新加工印刷线路板,甚至在产品更新换代时也是如此。这就大大提高了系统的灵活性。使用PLD器件的好处(五)缩短设计周期 PLD器件密度高,使用PLD器件时电路布局省事印刷线路板设计简单;PLD器件性能灵活,使用它修改设计方便;PLD器件开发工具先进,用PLD器件实现系统设计时,无论是在设计构思阶段还是在设计实现阶段都能自动快速地进行。因此,使用PLD可大大缩短系统的设
11、计周期,加快产品投放市场的速度,提商产品的竞争能力。使用PLD器件的好处(六)降低设计成本 影响系统设计成本的因素是多方面的。使用PLD器件实现数字系统设计时,如果仅从器件本身的价格考虑,有时还看不出它的优势,但综合考虑起来其优越性还是明显的。首先,使用PLD器件修改设计方便,设计周期缩短,使系统的研制开发费用降低。其次,使用PLD器件可使印刷线路板面积和需要的插件减少,从而使系统的制造费用降低。再次,使用PLD器件能使系统的可靠性提高,维修工作量减少,进而使系统的维修服务费用降低。使用PLD器件的好处(七)增加系统的保密性能 PLD器件一般都具有加密功能,在系统中广泛使用PLD器件可有效地防
12、止自己的产品被他入非法仿制,以获得更多的市场占有率和经济效益。PLD的基本结构 综上所述,PLD器件是一种新型的逻辑器件,是ASIC的一个重要分支,是一种由用户通过编程就能定义其逻辑功能,从而实现各种设计要求的集成电路芯片。PLD器件之所以有上述功能,是因为它在电路结构上与其它逻辑器件有着较大差别。那么它的电路结构又是怎样的呢?这还得从它的设计原理谈起。PLD的基本结构(一)PLD器件的设计原理 在数字系统设计中,当输入中既含原变量又含反变量时,任何数字逻辑都能用“与-或”逻辑函数来描述,从而都可用“与”门和“或”门来实现。这就是PLD器件的设计原理。多数PLD器件的内部电路就是根据这一原理设
13、计的,其总体结构如图11所示。PLD的基本结构PLD的基本结构框图PLD器件的电路表示PLD器件的电路表示与门表示法或门表示法PLD器件的电路表示PLD的3种连接方式PLD器件的电路表示典型的PLD的结构(实现组合逻辑的部分)F=(A+B)&C&D=A&C&D+B&C&DPLD的分类和发展 常见的可编程逻辑器件有PROM、PLA、PAL、GAL、FPGA及CPLD等,按器件的集成度来划分,可分为低密度可编程逻辑器件和高密度可编程逻辑器件,如图所示PLD的分类可编程逻辑器件低密度可编程逻辑器件(500门以下)高密度可编程逻辑器件(几百万门)PROMPLAPALGALEPLDCPLDFPGAPLD
14、器件的分类可编程逻辑器件的发展历程可编程逻辑器件的发展历程70年代年代80年代年代90年代年代PROM 和和PLA 器器件件改改进进的的 PLA 器器件件GAL器器件件FPGA器器件件EPLD 器器件件CPLD器器件件内嵌复杂内嵌复杂功能模块功能模块的的SoPCPLD的发展方向 PLD器件的发展GAL器件简介 GAL(Generic Array Logic)器件,是Lattice公司80年代发明的可电擦写、可重复编程、可设置加密位的PLD器件。具有代表性的GAL芯片有GALl6V8和GAL20V8.GAL16V81234567891011121314151617181920CLK/ININ1I
15、N2IN3IN4IN5IN6IN7IN8GNDVCCI/OI/OI/OI/OI/OI/OI/OI/OOE/INGAL16V8外部引脚图逻辑宏单元输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列GAL16V8逻辑宏单元OLMC的内部电路图CPLD/FPGA器件oCPLD是复杂可编程逻辑器件(Complex Programable Logic Device)的简称,FPGA是现场可编程门阵列(Field Programable Gate Array)的简称,两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/FPGA。CPLD器件
16、 CPLD是基于乘积项技术的复杂PLD器件。其结构和GAL器件基本相同,但其管脚和容量要比GAL大的多。这种PLD可分为三块结构:宏单元(Marocell),可编程连线(PIA)和I/O控制块。宏单元是PLD的基本结构,由它来实现基本的逻辑功能。CPLD器件的内部结构LAB逻辑功能块的内部结构CPLD器件的特点o这种基于乘积项的CPLD基本都是由EEPROM和Flash工艺制造的,一上电就可以工作,无需其他芯片配合。o非易失性o有使用寿命FPGA器件 FPGA芯片采用的是查找表的原理与结构。查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入
17、的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,CPLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。实际逻辑电路LUT的实现方式a,b,c,d输入逻辑输出地址RAM中存储的内容00000000000001000010.0.01111111111FPGA器件的内部结构LE逻辑功能块的内部结构FPGA器件的特点o由于LUT主要适合SRAM工艺生产,所以目前大部分FPGA都是基于SRAM工艺的,而SR
18、AM工艺的芯片在掉电后信息就会丢失,一般需要外加一片专用配置芯片(EPROM),在上电的时候,由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作,由于配置时间很短,不会影响系统正常工作。o也有少数FPGA采用反熔丝或Flash工艺,对这种FPGA,就不需要外加专用的配置芯片。选择选择CPLD还是还是FPGA?o选择选择CPLD还是还是FPGA?根据上一篇PLD的结构和原理可以知道,PLD分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至2030多个组合逻辑输入。而FPGA的一个LUT只能处理4输入的组合逻辑,因此,PLD适合用于设计译码等复杂组合逻辑。但FPGA的制造工艺
19、确定了FPGA芯片中包含的LUT和触发器的数量非常多,往往都是几千上万,PLD一般只能做到512个逻辑单元,而且如果用芯片价格除以逻辑单元数量,FPGA的平均逻辑单元成本大大低于PLD。所以如果设计中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用FPGA就是一个很好选择。PLD厂商简介o随着可编程逻辑器件应用的日益广泛,许多IC制造厂家涉足CPLD/FPGA领域。目前世界上有十几家生产CPLD/FPGA的公司,最大的三家是:ALTERA,XILINX,Lattice,其中ALTERA和XILINX占有了60%以上的市场份额。PLD厂商简介ALTERA公司:九十年代以后发展很快,是最大可
20、编程逻辑器件供应商之一。主要产品有:MAX3000/7000,FLEX10K,APEX20K,ACEX1K等。最新CycloneI/II/III系列开发软件为MaxplusII和QuartusII。PLD厂商简介FPGA的发明者,老牌PLD公司,是最大可编程逻辑器件供应商之一。产品种类较全,主要有:XC9500/4000,Coolrunner(XPLA3),Spartan,Virtex等。开发软件为Foundition和ISE。通常来说,在欧洲用Xilinx的人多,在日本和亚太地区用ALTERA的人多,在美国则是平分秋色。全球PLD/FPGA产品60%以上是由Altera和Xilinx提供的。
21、可以讲Altera和Xilinx共同决定了PLD技术的发展方向。PLD厂商简介Lattice是ISP技术的发明者,ISP技术极大的促进了PLD产品的发展,与ALTERA和XILINX相比,其开发工具比ALTERA和XILINX略逊一筹。中小规模PLD比较有特色,不过其大规模PLD、FPGA的竞争力还不够强1999年推出可编程模拟器件。99年收购Vantis(原AMD子公司),成为第三大可编程逻辑器件供应商。主要产品有ispLSI2000/5000/8000,MACH4/5,ispMACH4000等PLD器件的开发过程o如何使用PLD呢?其实PLD的使用很简单,学习PLD比学习单片机要简单的多,
22、有数字电路基础,会使用计算机,就可以进行PLD的开发。开发PLD需要了解三个部分:1.PLD开发软件 2.PLD本身 3 HDL语言.o由于PLD软件已经发展的相当完善,用户甚至可以不用详细了解PLD的内部结构,也可以用自己熟悉的方法:如原理图输入或HDL语言来完成相当优秀的PLD设计。所以对初学者,首先应了解PLD开发软件和开发流程。了解PLD的内部结构,将有助于提高我们设计的效率和可靠性。EPF10K10-PLCC84EPF10K10-PLCC84芯片介绍芯片介绍 oFLEX EPF10K10-PLCC84芯片是ALTERA公司生产的一个嵌入式的可编程逻辑o器件。内部结构是典型的FPGA结
23、构。3.4.2 FLEX10K系列器件系列器件图图3-34 FLEX 10K内部结构内部结构.IOCIOCIOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC逻辑单元逻辑单元.IOCIOC.IOCIOCIOCIOC.快速通道互连快速通道互连逻辑阵列块逻辑阵列块(LAB)IOCIOC.(1)逻辑单元逻辑单元LE图图3-35 LE(LC)结构图结构图数据1Lab 控制 3LE 输出进位链级联链查找表(LUT)清 零 和预置逻辑时钟选择进位输入级联输入进位输出级联输出Lab 控制 1CLRNDQ数据2数据3数据4Lab 控制 2Lab 控制 4连续布线和分段布线的比较连续布线连续布线
24、=每次设计重复的可预测性和高性能每次设计重复的可预测性和高性能连续布线(Altera 基于查找表(LUT)的 FPGA)LABLE两种不同的级联方式两种不同的级联方式“与与”级联链级联链“或或”级联链级联链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.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOCFLEX 10K系列FPGA结构
25、图.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOCEABEAB嵌入式嵌入式阵列块阵列块oEAB的大小灵活可变o通过组合EAB 可以构成更大的模块o不需要额外的逻辑单元,不引入延迟,EAB 可配置为深度达2048的存储器EAB 的字长是可配置的256x8512x41024x22048x1256x8256x8512x4512x4256x16512x8oFLEX EPF10K系列器件主要由嵌入式阵列块EAB、逻辑阵列块LAB、I/O单 元 及 快 速 通 道 互 连 等 器 件 资 源 组 成。FLEX EPF10K10芯片内部共有72个逻辑阵列块LAB,每个LA
26、B包含八个逻辑单元LE,每个LE含有一个四输入查找表(LUT)、一个可编程触发器、进位链和级连链。八个LE可以构成一个中规模的逻辑块,如八位计数器、地址译码器和状态机。多个LAB组合起来可以构成更大的逻辑块,每个LAB代表大约96个可用逻辑门。FLEX EPF10K10芯片内部同时还有3个EAB,每个EAB提供2048位用来构造RAM、ROM、FIFO或双口RAM等功能。当用来实现乘法器、微处理器、状态机以及DSP等复杂功能时,每个EAB可以贡献100600个门,EAB可以单独使用,也可以组合起来使用。除此而外,器件内部信号的互连和器件引脚之间的信号互连由快速通道连线提供。EPF10K10-P
27、LCC84芯片介绍芯片介绍84个外部引脚。其中通用I/O引脚49个,VCC及GND引脚11个,6个专用输入引脚,其余为下载、配置及工作模式选择等专用引脚。FPGA的的配置方案配置方案FPGA的3种常用的标准下载配置模式1、PassiveSerialMode3、JTAGMode2、ActiveSerialMode FPGA配置配置JTAG配置端口FPGAPS配置端口PC机配置适配电路配置器件或配置电路AS配置端口专用FLASH配置器件3.7.1 CPLD的的JTAG方式编程方式编程图图3-47 CPLD编程下载连接图编程下载连接图TCK、TDO、TMS、TDI为为CPLD的的JTAG口口对CPL
28、D编程主系统通用10针标准配置/下载接口目标板10针标准配置接口PIN1OTP配置器件配置器件插座插座图图3-52 FPGA的配置电路原理图的配置电路原理图OTP配置器件配置器件:EPC1441、EPC1、EPC1213等等方案方案2:2:PSPS端口端口OTPOTP专用器件配置专用器件配置缺点缺点:1 1、芯片价格高。、芯片价格高。2 2、只能一次编程。、只能一次编程。3 3、可配置的、可配置的FPGAFPGA规模小,不能用于规模小,不能用于SOPCSOPC系统配置。系统配置。4 4、无法用于实时多任务重配置、无法用于实时多任务重配置 DCLK nCSnINIT_CONF OE DATAPC机FPGAEPC2EPC2配置芯片配置芯片配置电路和JTAG编程端口DCLKCONF_DONEnCONFIGnSTATUSDATA0TCKTMSTDOTDITCKTMSTDOTDI配置配置编程编程利用利用FLASH结构的结构的EPC2为为FPGA作配置作配置3.7.4 使用单片机配置使用单片机配置FPGA图图3-54 MCU用用PPS模式配置模式配置FPGA电路电路