1数字电路与系统光电工程学院电子电路教学中心南京邮电大学2第七节现场可编程门阵列FPGA一、FPGA的基本结构二、CLB和IOB1.XC2000系列的CLB(1)组合逻辑电路(2)存储电路(3)控制电路2.XC2000系列的IOB3三、IR1.金属线2.开关矩阵(SM:SwitchingMatrices)3.可编程连接点(PIP:ProgrammableInterconnectPoints)第八节在系统可编程逻辑器件ISP-PLD一、低密度ISP-PLD1.组成2.工作方式4二、高密度ISP-PLD1.组成(1)通用逻辑块GLB(2)集总布线区GRP(3)输出布线区ORP(4)输入/输出单元IOC(5)时钟分配网络CDN2.通用逻辑块GLB(GenericLogicBlock)5(1)组成①与阵列②乘积项共享阵列③4输出逻辑宏单元④控制逻辑(2)组态①标准组态②高速直通组态③异或逻辑组态④单乘积项组态6⑤多模式组态3.集总布线区GRP(GlobalRoutingPool)4.输出布线区ORP(OutputRoutingPool)5.输入/输出单元IOC(InputOutputCell)6.时钟分配网络CDN(ClockDistributionNetwork)7.大块(Megablock)结构7第七节现场可编程门阵列FPGA一、FPGA的基本结构1.CLB:2.IOB:分布于芯片中央,实现规模不大的组合、时序电路。分布于芯片四周,实现内部逻辑电路与芯片外部引脚的连接。3.IR:包括不同类型的金属线、可编程的开关矩阵、可编程的连接点。84.SRAM:存放编程数据。图10.7.2FPGA内SRAM单元QQT读/写数据组态控制9图10.7.1FPGA的基本结构框图10二、CLB和IOB1.XC2000系列的CLB(1)组合逻辑电路①工作方式②激励信号③时钟信号CLK(同步),或C、G(异步)。(2)存储电路(3)控制电路11图10.7.3XC2000系列的CLB电路12四变量的任意函数FGABCDQ(a)四变量任意函数13(b)2个三变量任意函数三变量的任意函数FGABCDQ三变量的任意函数ABCDQ14图10.7.4CLB中组合逻辑电路的3种组态(c)五变量任意函数三变量的任意函数FGABCDQ三变量的任意函数ACDQMUX(动态选择两个三变量函数)15例用查询表方式实现2输入(A、B),2输出(G、F)的组合逻辑电路。图10.7.5两变量通用逻辑模块的原理图16表10.7.1两变量通用逻辑模块的真值表输入输出ABF000(C2)011(C1)101(C0)110(C3)172.XC2000系列的IOB图10.7.6XC2000系列的IOB18三、IR1.金属线(1)通用互连(General-PurposeInterconnect)(2)直接互连(DirectInterconnect)(3)长线(LongLine)2.开关矩阵(SM:SwitchingMatrices)3.可编程连接点(PIP:ProgrammableInterconnectPoints)19图10.7.7XC2000内部的互连资源20图10.7.8XC2000的通用互连资源21图10.7.9开关矩阵每个引脚的连接选项22图10.7.10XC2000的直接互连线23图10.7.11XC2064的长线24第八节在系统可编程逻辑器件ISP-PLD一、低密度ISP-PLD1.组成2.工作方式(1)正常工作方式(2)诊断方式(3)编程方式25图10.8.1ispGAL16Z8的电路结构框图26图10.8.2ispGAL16Z8片内状态机的状态转换图HH27图10.8.3诊断/编程方式的引脚配置28二、高密度ISP-PLD1.组成(1)通用逻辑块GLB(2)集总布线区GRP(3)输出布线区ORP(4)输入/输出单元IOC(5)时钟分配网络CDN2944引脚PLCC封装图30ispLSI/pLSI101644引脚PLCC封装引脚图31GLBispLSI1016的结构图32图10.8.4ispLSI1016的结构图332.通用逻辑块GLB(GenericLogicBlock)(1)组成(2)组态①与阵列②乘积项共享阵列③4输出逻辑宏单元④控制逻辑①标准组态②高速直通组态34③异或逻辑组态④单乘积项组态⑤多模式组态3.集总布线区GRP(GlobalRoutingPool)4.输出布线区ORP(OutputRoutingPool)5.输入/输出单元IOC(InputOutputCell)6.时钟分配网络CDN(ClockDistributionNetwork)7.大块(Megablock)结构35图10.8.5GLB的结构专用输入36(a)标准组态37(b)高速直通组态38(c)异或逻辑组态39(d)单乘积项组态40(e)多模式组态图10.8.6GLB的几种组态41乘积项共享阵列42图10.8.7ORP逻辑图43图10.8.8跨越ORP连接方式44图10.8.9IOC结构图45图10.8.10IOC组态举例46图10.8.11CDN逻辑图47图10.8.121016大块方框图48图10.8.13大块的输出使能控制49ISP编程接口50在系统可编程(In-SystemProgramming)技术又称在线可编程技术,90年代由美国Lattice公司研制开发。在系统可编程技术允许设计人员在产品设计、制造甚至是进入使用阶段通过设计软件对器件、电路板或整个电子系统的逻辑功能随时进行调整或重新设计,为用户提供了极大的方便。51ISPSynarioSystem设计套件是基于Synario软件的可编程逻辑器件开发系统,它能够支持LatticeispLSI器件,PLSI器件,ispGAL器件,ispGDS器件以及全系列GAL器件的设计,编译和逻辑模拟。ISPSynarioSystem中包含了原理图输入,ABEL硬件描述语言(HDL)输入,功能模拟器和波形显示器。在混合式设计输入模式下允许在同一器件的设计中同时采用原理图,高级语言,真值表和状态图方式,使设计灵活简便。52Y1端是功能复用的,不加控制会默认为复位端(RESET),要将Y1用作时钟输入端,必须进行定义。建立描述Y1功能的参数文件“Y1ASCLK.PAR”。53FPGA是现场可编程门阵列(FieldProgrammableGateArray)的简称,80年代中期由美国Xilinx公司首先推出,是一种大规模可编程数字集成电路器件.它能使用户借助计算机自行设计自己需要的专用集成电路芯片,在计算机上进行功能仿真和实时仿真,及时发现问题,调整电路,改进设计方案.