【文档说明】嵌入式原理可编程逻辑系统课件.ppt,共(49)页,1.417 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45573.html
以下为本文档部分文字说明:
第11章可编程逻辑系统11-1IC制造流程与分类11-2可编程逻辑设备11-3复杂可编程逻辑设备11-4现场可编程门阵列11-5CPLD/FPGA电路开发流程11-6CPLD/FPGA的选择11-7总结在嵌入式系统中使用高度集成的芯片使得
以一个高度集成的芯片来完成原来由许多不同芯片实现的功能,大幅缩小嵌入式系统的体积,降低电路板的复杂度。11-1IC制造流程与分类ASIC设计周期长、开发费用高、不容易调试及模拟。CPLD及FPGA设计方式灵活、容易执行功能仿真及电路制作,开发成
本低,拥有完整电路设计开发流程及软件。IC制造流程可以分为全定制化、半定制化以及可规划逻辑阵列等三种。定制化以及半定制化量产的数字IC制造流程电路设计芯片制造IC成品功能设计电路布局IC测试光罩制作制造芯片芯片测试芯片切割芯片封装定制化以及半定制化量产的数字IC制造流程根据电路布局设计光罩。
类似制作照相机的底片,一般会分成好几层的光罩,甚至达到几百层。光罩用来制作硅表面上的分层结构。硅晶圆就是利用特殊光线通过光罩照射在表面形成电路布局,再利用化学反应进行材质的蚀刻等工作来完成所需要的电路。利用测试机台的探针接触IC上的接点来测试晶圆上IC的功能。当
功能测试完成后,就可以将IC芯片从晶圆上切割下来,送到IC封装厂进行IC的封装。完成封装后的IC再送回开发人员的手中进行测试。待所有测试完成后,就变成所见到的芯片。定制化以及半定制化量产的数字IC制造流程缺点:设计制造周期长、成本高通常制造一个全定制化或者是半定制化IC需要很久的时间,一般是好几个
月的时间。当电路设计出现问题,势必又得将修改的电路送去制作出另一个新的IC。解决方案采用可规划逻辑设备与电路做先期验证或是直接当作产品。11-2可编程逻辑设备可编程逻辑设备(PLD)PLD能将数字系统实现在硬件电路上,能在现场规划
并运行。利用一台PC机及相应软件资源,就可设计并验证数字电路。使用CPLD/FPGA的优点可立即烧录进行电路验证可反复烧录进行测试可进行硬件仿真可快速建立系统原形可缩短产品上市时间可去除IC测试成本提供完整软件进行设计PLD使用PLD可以轻易实现许多数字电路的功
能。AND和OR门电路→微处理器PLD内部的电路组成逻辑门AND门、OR门以及NOT门等熔丝在进行程序化逻辑电路时,可以选择将熔丝熔断形成断路或者是保持接通呈短路的状态,借此决定逻辑门之间的连接与否,达到电
路的可编程。PLD、CPLD以及FPGA的种类及关系早期的PLD主要可以分为可编程只读存储器(PROM)、可编程阵列逻辑(PAL)以及可编程逻辑阵列(PLA)。CPLD以及FPGA是由PLD所演变而来,
拥有更多的可编程逻辑门以及更强大的运算性能。可编程逻辑设备(PLD)1.可编程只读存储器(PROM)2.可编程阵列逻辑(PAL)3.可编程逻辑阵列(PLA)复杂可编程逻辑设备(CPLD)现场可编程门阵列(FPGA)PROM、PAL以及PLA在硬件结构上的差异PRO
M内部的AND门固定,不可编程,只有OR门可以编程。PAL内部的OR门固定,不可编程,只有AND门可以编程。PLA内部的AND门以及OR门都可以编程。PROM、PAL以及PLA在硬件结构上的差异PROM型PAL型PLA型可编程选择是否要融掉接线的熔丝,以决定线路的连通或断路。
PLA的结构PLA由两层AND门阵列以及OR门阵列所组成每一个AND门都与PLA外部的所有输入及其补码相连。每一个输入端点都可以编程决定是否要断路。AND门产生乘积项、原码或者是补码。每一个OR门都与所有AND门的输出相连。
每一个连接点都可以编程决定是否要断路。OR门可以产生AND门输出的和项。可编程逻辑阵列/阵列实例三个输入为A、B以及C,输出为OUT1以及OUT2。三个不同的乘积项:A×!B、A×C以及B×C。选取PLA的三个输入端及其内部的三个AND门以及两个OR门,根
据逻辑关系式,将不必要的熔丝烧断,就可以完成组合逻辑电路,实现所需要的组合逻辑运算。可以选择输出或输出的补码。经规划后一个有3个输入以及2个输出的PLA电路OUT1=A×!B+A×C(1)OUT2=A×C
+B×C(2)11-3复杂可编程逻辑设备11-3-1CPLD基本原理11-3-2CPLD的硬件架构CPLD是一种硬件结构比较复杂的可编程逻辑设备。CPLD使得开发人员在实验室中即可设计出专用的IC芯片。利用电子设计自动化的技术,CPLD的
电路设计与功能执行验证更为便利。通过芯片的可重复编程以及动态的在线功能验证,使得IC设计工作就像是编写软件一样的简单与便利,大幅提高了IC电子电路设计的灵活性,也省却了许多产品开发上的进程,降低开发的成本。11-3-1CPLD基本原理CPLD芯片
大多采用EEPROM架构(或Flash架构),因而可对电路重复编程。CPLD芯片的组成每个逻辑块(LogicBlock)内部的结构类似于一个PLD单元,由可编程的AND门以及OR门所组成。逻辑块间由可编程连线(ProgrammableInterconnect)相连,用来当作每一个逻辑块间以
及输入端的信号传递。输入/输出控制块(I/OControlBlock)用来控制输入/输出信号。这些可编程单元可以通过程序进行线路的规划,根据所设计的逻辑电路完成布线工作。CPLD芯片基本硬件架构PLD芯片逻辑电路实例组合逻辑图以PLD实现组合逻辑输入:A、B、C、D输出:[(A+B)+!
C]×D输出:A×D+B×D+!C×D11-3-2CPLD的硬件架构CPLD的主要优点(以Altera公司的MAX7000芯片为例)具有EEPROM架构,可对芯片内部电路重复编程。逻辑阵列块与I/O控制块间采用快速的可编程联机阵列相连接,线路整齐,程
序编译速度快。提供完整的CPLD芯片电路设计开发软件及测试流程。CPLD芯片的价格低廉。MAX7000CPLD芯片架构图LAB逻辑阵列块PIA可编程联机阵列I/O控制块MAX7000CPLD芯片架构每一个逻辑阵列块(LogicArrayBlock,LAB)拥有1
6个宏单元(Marcocells)。宏单元是由AND门以及OR门的阵列所组成,可以编程为组合逻辑电路。可编程逻辑电路(可编程联机阵列,ProgrammableInterconnectArray,PIA)用来连接逻辑阵列块以及I/O控制块,作为数据传递,
或者是用来作为扩展乘积项连接之用。当逻辑阵列块中的逻辑门不敷使用时,可以通过可编程联机阵列与其它逻辑阵列块的连接,使用其它逻辑阵列块中的逻辑门。I/O控制块用来控制CPLD芯片的输入输出信号。MAX7000CPLD芯片中宏块硬件架构MAX7000的宏单元每一个宏单元可以分别设计成组合逻
辑或序列逻辑电路。宏块包含有三个功能块在逻辑阵列(LogicArray)中主要实现了组合逻辑电路。逻辑阵列还为每一个宏块提供五个乘积项。乘积项选择阵列(Product-TermSelectMatrix)主要用来分配AND门作为OR门以及XOR门的输入端,实现组合逻
辑电路,也可用来作为宏单元中寄存器的清除、重置、时序以及时序控制等控制线路。通过宏单元中的可编程时序的控制,可以将每一个可编程寄存器(ProgrammableRegister)分别规划成D、T、JK或SR正反器(触发器),也可以将正反器短路设计出纯组合逻辑电路。可编程
寄存器每一个可编程寄存器都可以设计成不同的时序控制模式全局时序信号模式:时序输出速度最快。全局时序信号以及高电位时序信号使能模式:能将所有的正反器使能,并且拥有跟全局时序消耗模式相同的时序输出速度。利用乘积项实现阵列时序电路模式:提供来自宏单元或者是I/O端的信号,控制正反器的时序信号。寄存
器也提供同步清除及同步重置的功能。使用乘积项选择阵列去分配乘积项控制。扩展乘积项扩展乘积项提供宏单元中乘积项,使其能设计出比较复杂的逻辑电路。共享扩展项:每个逻辑阵列块最多有16个共享扩展项。每个宏单元提供一个未用到的乘积项,将它们提供给
逻辑阵列块中任何一个宏单元使用。关联扩展项:一些宏单元中没有使用到的乘积项,可以分配到邻近的宏单元中使用。每一个逻辑阵列块有两组宏单元,每一组由8个宏单元组成,每个宏单元编号为1~16。两组宏单元在逻辑阵列块中归类成两组“借出”或者
是“借用”的链组。一个宏单元可以从编号比较小的宏单元中借用关联扩展项。例如,宏单元7能够从宏单元6借用关联扩展项。可编程联机阵列可编程联机阵列连接所有的宏单元,负责宏单元的信号传输,通过程序规划可编程联机阵列,可以将芯片中任何的信号源传送到其目的地。由EEPROM
单元控制有两个输入的AND门中的一个输入端,用来选择与可编程联机阵列相连接的逻辑阵列块。MAX7000可编程联机阵列与逻辑阵列块的线路图I/O控制块的示意图I/O控制块I/O控制块连接PLD的I/O脚,负责控制PLD的输入/输出信号。MAX7000上的I/O控制块能将每一个I/O
脚设置成各自独立的输出、输入或是双向的工作模式。I/O脚主要由一个三态模式的缓冲器来设置输入输出的模式。缓冲器可由全局输出使能信号(GlobalOutputEnableSignals)控制,也可直接将接脚接到VCC或者是接地。当I/O脚被设置为输入模式时,可以直接将三态模式缓冲器接地。当I/
O脚被设置为输出模式时,可以直接将三态模式缓冲器接到VCC。I/O控制块有六个全局输出使能信号来控制其输出/输入的模式。两个输出使能信号、两个输出使能反相信号、一个I/O接脚的集合信号以及一个I/O宏块的集合信号。11-
4现场可编程门阵列11-4-1FPGA的基本原理11-4-2FPGA的硬件架构FPGA是由PLD所扩展而来,拥有很多可编程逻辑门。FPGA的芯片硬件架构主要是由SRAM所组成,也称为查找表。11-4-1FPGA的基本原理FPGA是由可编程联机围绕许多可编程逻辑块所组成的阵列,在芯片的
周围还有I/O控制块围绕。可编程逻辑块用来组合逻辑电路,可编程联机作为可编程逻辑块间的数据沟通管道,并且也是I/O控制块的数据传输管道。FPGA芯片的硬件架构FPGA芯片逻辑阵列实例有4个输入的简单组合逻
辑逻辑真值表11-4-2FPGA的硬件架构Xilinx公司的Spartan-Ⅱ芯片硬件架构Xilinx公司的Spartan-Ⅱ是一个具有查找表结构的FPGA。可规划逻辑块CLBs,Configurable
LogicBlocks输入/输出块IOBs,I/OBlocks延迟锁回路DLLs,Delay-LockedLoopsRAM块Spartan-Ⅱ可规划逻辑块每一个CLB中基本组成的组件是逻辑单元(LogicCell,LC),每一个LC有一个4个输入的查找
窗体元、逻辑控制单元以及D型触发器。每一个CLB有4个LC,每两个LC组成一个Slice。如果在设计组合逻辑时遇到4个以上的输入,就可以利用LC中逻辑控制单元作LC间的控制,将2个LC的输入一起规划,便可得到8个输入的信号。Altera公司的FLEX10K芯片硬件架构图FLE
X10K芯片逻辑阵列硬件架构图FLEX10K芯片LE硬件架构图FLEXlOK芯片EAB硬件架构图11-5CPLD/FPGA电路开发流程11-5-1CPLD/FPGA开发环境11-5-2设计输入11-5-3项目编辑11-5-4设备规划1
1-5-1CPLD/FPGA开发环境设计及制造CPLD/FPGA芯片应用电路产品的流程MAX+PLUSⅡ软件平台的组成图11-5-2设计输入11-5-3项目编辑11-5-4设备规划11-6CPLD/FPGA的选择芯片内的
逻辑门数量芯片内存容量芯片工作频率芯片工作电压最大的I/O接脚数目芯片封装的形式CPLD/FPGA的选择PLD厂商提供的IP也是个很重要的考虑。厂商会提供什么样的IP以供开发者使用?IP是否可靠?IP是否简单容易使用?是否有扩充性?CPLD与FPGA的功能差不多,不过在硬件架构上
有所不同。一般来说,CPLD采用EEPROM的技术,这种硬件架构的可编程逻辑门比较少。FPGA采用SRAM做查表操作,这种硬件架构的可编程逻辑门比较多。一般都在10万个逻辑门以上,甚至有百万个逻辑门的产品。C
PLD适合处理复杂的组合逻辑电路,可以应用在译码器的产品上。FPGA内部的正反器多,可编程逻辑门也比较多,适合处理复杂的时钟信号,可以应用在数字信号处理的产品。11-7总结习题