第4章可编程逻辑器件4.1可编程逻辑器件(PLD)演变•可编程逻辑器件(ProgrammableLogicDevice,PLD)•可编程器件能够为数字系统设计者带来如下好处•1.简化了数字系统设计方法•2.数字系统集成度得到提高•3.系统可靠性和可用性得到提高•(1)系统健壮性•(2)系统故障可恢复性•(3)系统实时性•(4)系统在线更新性•针对数字系统这个应用工程特例,它的可靠性可以用平均无故障工作时间(MeanTimetoFailure,MTTF)来衡量•数字系统可用性就可以根据这两个度量值被定义为:MTTF/(MTTF+MTTR)100%4.1.1可编程逻辑器件(PLD)•PLD内部结构•PLD典型输入部件示意图及其输入/输出真值表•传统逻辑图与PLD简化图表示4.1.2可编程只读存储器(PROM)•可编程只读存储器(ProgrammableRead-OnlyMemory,PROM)•这种器件由一个不可编程的“与”阵列和一个可编程的“或”阵列组成•PROM内部结构示意图4.1.3现场可编程逻辑阵列(FPLA)•FPLA器件与PROM器件在内部结构设计上也较相似,它也采用一个“与”阵列及一个“或”阵列来构成•它与PROM的重要区别是它的“与”阵列及“或”阵列都是可编程的,并且这些阵列都可以根据实际使用情况进行压缩或扩充•FPLA器件内部结构示意图4.1.4可编程阵列逻辑(PAL)•PAL(ProgrammableArrayLogic)•由一个“与”阵和一个“或”阵构成•“与”阵是可编程的,而“或”阵列则采用了固定结构模型•PAL器件内部结构•PAL器件实际上有三种类型第一种类型结构图•第二种类型结构图•第三种类型结构图4.1.5通用阵列逻辑(GAL)•GAL(GenericArrayLogic)•OLMC的内部结构•为保证GAL器件正常运行,在GAL器件的OLMC内部还设置了4个多路开关,它们分别是PTMUX、FMUX、TSMUX和OMUX。•1.多路开关PTMUX•2.多路开关OMUX•3.多路开关TSMUX•4.多路开关FUMX•纯输入模式的组态等效电路结构•纯组合逻辑输出模式的组态等效电路结构•三态控制的纯组合逻辑输出模式的组态等效电路结构•组合逻辑和时序逻辑混合输出模式的组态等效电路结构•纯时序逻辑输出模式的组态等效电路结构4.2可编程器件设计•4.2.1可编程器件开发工具演变•在20世纪70年代末,由MMI公司推出针对己方公司可编程器件开发的基于汇编程序的PALASM开发平台•在20世纪80年代初,由辅助技术公司(LosGatos)和DATAI/O公司(Redmond)各自独立开发出基于编译型的CUPL和ABEL软件包4.2.2可编程器件设计过程与举例•可编程器件设计过程第一步是器件引脚资源初始化描述,在该描述中需要将确定使用的可编程器件引脚进行逐一定义并确定引脚名。•可编程器件设计过程第二步是设计者对可编程器件功能进行描述。•设计实现(DesignImplementation)是完成可编程器件设计的核心环节•设计实现实际上是由下面6个过程构成•(1)优化(Optimization)过程•(2)合并(Merging)过程•(3)分割(Partitioning)过程•(4)布局(Placement)过程•(5)布线(Routing)过程•(6)数据文件生成(JEDEC或BitStreamGeneration)过程•可编程器件设计第三步是下载和配置,它是将通过开发工具编译器形成的数据文本放置到某个具体可编程器件中,从而生成设计者所需要达到逻辑功能的可编程器件4.3两种常用的HDPLD可编程逻辑器件•4.3.1按集成度分类的可编程逻辑器件•分成低密度可编程逻辑器件(LowDensityProgrammableLogicDevice,LDPLD)和高密度可编程逻辑器件(HighDensityProgrammableLogicDevice,HDPLD)•可编程器件分类4.3.2CPLD可编程器件•CPLD器件由可编程逻辑宏单元、可编程I/O单元和可编程内部连线3种内部结构来组成Lattice公司ispLSI6192可编程器件内部结构•HDPLD器件内部结构一般由如下几个部分组成•(1)通用逻辑块(GLB)•(2)输入/输出单元(IOC)•(3)全局布线区(GRP)•(4)输出布线区(ORP)Lattice公司ispLSI2000系列可编程逻辑器件的GLB结构ispLSI6192时钟结构配置4.3.3FPGA可编程器件•FPGA器件具有如下几个特点•(1)LCA构件类似于门阵列,它通过嵌入在器件内部的可编程链路资源实现LCA构件内部信号传输互连,该互连结果保证了器件按设计者意愿将CLB实现功能互通。同时因设计者可以直接对CLB、I/OB和PI进行编程,所以保证了FPGA具有极大逻辑可容空间能力来实现各类逻辑函数。•(2)为提高FPGA器件运行速度,在器件制作工艺上都采用了CMOS技术。这主要是CMOS工艺具有高速、低能耗、微功率、低辐射等优点,这正是绿色电子技术所倡导的几种设计指标。•(3)为实现FPGA器件具备可再重入能力,在器件制作工艺上还采用了内置CMOS–SRAM配置存储器结构,设计者对FPGA的配置数据都被直接存储在该SRAM中,同样设计者开发过程中通过开发器产生各种LCA配置数据文件,并经过数据配置接口下载到器件内部SRAM中。FPGA中SRAM基本单元示意图•XC4000系列是Xilinx公司第二代产品,其器件特点如下。•1.在XC4000中CLB是由用外部输入标注为F1…F4和G1…G4两组具有独立输入能力的4输入逻辑函数发生器和一个组合函数发生器H来构成。Xilinx公司的XC4000器件CLB结构示意图XC4000RAM配置结构示意图•XC4000的逻辑函数发生器具有如下几种配置方式:•(1)具有双数据输入和双数据输出的两个161独立RAM结构;•(2)具有单数据输入和单数据输出的一个321RAM结构;•(3)具有单数据输入的一个161RAM结构和一个5输入组合逻辑函数发生器•2.XC4000系列可编程输入/输出模块(IOB)对以前系列产品也做了一些技术改进。它除了在器件上增加其数据、时钟和控制可选度外,另一个重要特征是增加了与IEEE1149.1边界扫描测试(BoundaryScanTest,BST)标准兼容的测试结构和多个宽边译码器。•3.XC4000系列可编程内部连线也在以前产品基础上做了一些调整和修改。传统可编程器件一般都采用器件左边引脚为输入端口集,而器件右边引脚为输出端口集,这样数字系统将按数据流从左往右规则流经可编程器件载体,显然这种设计布局对器件使用还是有一些限制,从而减少了器件结构布局灵活性。而XC4000系列则采用了输出/输入均匀分布四周布局格式,使得FPGA在结构布局设计中更加规范和对称。为保证这种新颖结构布局设计需求,该器件在PI方面采用了长线(LongLine,LL)、单长线(SingleLengthLine,SLL)和双长线(DoubleLengthLine,DLL)三种可编程内部连线模式。•(1)长线连接方式•在FPGA器件内部,可编程内部连线资源是由夹在两列CLB之间垂直连线和夹在两行CLB之间水平连线构成的网格模式,长线连接是其中一种连线资源•(2)单长线连接方式•单长线是指器件内部相邻CLB之间垂直与水平网格连线,并在垂直与水平连线正交位置上设置了纵横交叉开关(Crossbar),各个纵横交叉开关实现器件内部单长线连接,它通常被用于在器件内部某个局部区域上进行信号传输。•(3)双长线连接方式•双长线提供了一种两倍于单长线连线网格模式。在双长线连接方式中,各连线要经过两个CLB后,再导入到纵横交叉开关上,这样可以实现需要中等传输距离信号的有效连接。