第2章 可编程逻辑器件优秀课件.ppt
第2章 可编程逻辑器件第1页,本讲稿共82页 可编程逻辑器件可编程逻辑器件PLD(Programmable Logic Device)是从是从20世纪世纪70年代发展起来的一种允许用户配置的集成逻辑年代发展起来的一种允许用户配置的集成逻辑器件。可编程器件器件。可编程器件PLD与专用集成电路与专用集成电路ASIC(Application Specific IC)相比较,因其具有成本低、使用灵活、设计周期)相比较,因其具有成本低、使用灵活、设计周期短、可靠性高等特点,是一种半定制集成电路,极大促进数字短、可靠性高等特点,是一种半定制集成电路,极大促进数字集成电路的发展。集成电路的发展。可编程逻辑器件可编程逻辑器件PLD经历了从逻辑规模比较小的简单经历了从逻辑规模比较小的简单PLD(PROM、PLA、PAL、GAL)到采用大规模集成电路)到采用大规模集成电路技术的复杂技术的复杂PLD的发展进程,在结构、工艺、集成度、速度和性的发展进程,在结构、工艺、集成度、速度和性能等方面都得到极大的提高。能等方面都得到极大的提高。目前,应用最广泛的目前,应用最广泛的PLD主要是以乘积项结构方式构成逻辑行为的主要是以乘积项结构方式构成逻辑行为的复杂可编程器件复杂可编程器件CPLD(Complex Programmable Logic Device)和以)和以查表法结构方式构成逻辑结构行为的现场可编程门阵列查表法结构方式构成逻辑结构行为的现场可编程门阵列FPGA(Field Programmable Gate Array)。)。第2页,本讲稿共82页2.1 PLD概述概述与中、小规模集成电路比:与中、小规模集成电路比:PLD具有集成度高、速度快、功耗小和可靠性高、具有集成度高、速度快、功耗小和可靠性高、EDA软件自动化程度高等优点;软件自动化程度高等优点;与专用集成电路与专用集成电路ASIC比:比:PLD具有研制周期短、先期投资少、无开发风险、具有研制周期短、先期投资少、无开发风险、修改方便和小批量生产成本低等优点。修改方便和小批量生产成本低等优点。1995年年PLD销售额占销售额占IC市场的市场的40,其集成度每年以,其集成度每年以35的速度递增,而成本以每年的速度递增,而成本以每年40的速度降低。的速度降低。PLDPLD已成为电子系统设计者的首选器件!已成为电子系统设计者的首选器件!已成为电子系统设计者的首选器件!已成为电子系统设计者的首选器件!第3页,本讲稿共82页2.1 PLD概述概述 数字电路系统是由基本门构成的,包含有数字电路系统是由基本门构成的,包含有两类数字电路:两类数字电路:一类是组合逻辑电路一类是组合逻辑电路:其特点是任一时刻的输出信号状态仅取决其特点是任一时刻的输出信号状态仅取决于当前的输入信号状态;于当前的输入信号状态;另一类是时序电路另一类是时序电路:它由组合逻辑电路和存储逻辑电路两部分它由组合逻辑电路和存储逻辑电路两部分组成。其特点是任一时刻的输出信号状态不仅组成。其特点是任一时刻的输出信号状态不仅取决于当时的输入信号状态,而且还取决于电取决于当时的输入信号状态,而且还取决于电路原来的信号状态。路原来的信号状态。第4页,本讲稿共82页 在数字系统中,根据布尔代数的知识,可在数字系统中,根据布尔代数的知识,可知任何组合逻辑函数都可以用与或表达形式知任何组合逻辑函数都可以用与或表达形式描述,也即可用描述,也即可用“与门与门-或门或门”两种基本门电两种基本门电路实现任何组合逻辑电路,而任何时序逻辑路实现任何组合逻辑电路,而任何时序逻辑电路又都是由组合逻辑电路加上存储元件电路又都是由组合逻辑电路加上存储元件(触发器、锁存器)构成的。(触发器、锁存器)构成的。第5页,本讲稿共82页可编程电路结构可编程电路结构由输入处理电路、与阵列、或阵列、输出处理电路等四种功能部分组由输入处理电路、与阵列、或阵列、输出处理电路等四种功能部分组成,其基本结构如图成,其基本结构如图2-1所示。所示。输入输入处理处理电路电路输出输出处理处理电路电路与与阵阵列列或或阵阵列列图图2-1 简单简单PLD的基本结构的基本结构输输入入输输出出第6页,本讲稿共82页与阵列和或阵列与阵列和或阵列 是电路的主体,其功能主要是用来实现组合逻辑函数。是电路的主体,其功能主要是用来实现组合逻辑函数。输入处理电路输入处理电路 是由输入缓冲器组成,其功能主要是使输入信号具有足够的是由输入缓冲器组成,其功能主要是使输入信号具有足够的驱动能力并产生输入变量的原变量以及反变量两个互补的信号。驱动能力并产生输入变量的原变量以及反变量两个互补的信号。输出处理电路输出处理电路 主要是由三态门寄存器组成,其功能主要是提供不同的输出主要是由三态门寄存器组成,其功能主要是提供不同的输出方式,可以由或阵列直接输出(组合方式),也可以通过寄存方式,可以由或阵列直接输出(组合方式),也可以通过寄存器输出(时序方式)。器输出(时序方式)。可编程电路结构可编程电路结构第7页,本讲稿共82页一一.PLD的发展过程:的发展过程:70年代初年代初 PROM(Programmable Read Only Memory 可编程只读存储可编程只读存储器器)是最早出现的可编程逻辑器件。是最早出现的可编程逻辑器件。70年代中年代中AMD公司推出了可编程逻辑阵列公司推出了可编程逻辑阵列(PLA-Programmable Logic Array)器件。器件。但由于编程复杂但由于编程复杂但由于编程复杂但由于编程复杂,支持支持支持支持PLAPLA的开发软件有一定难度的开发软件有一定难度的开发软件有一定难度的开发软件有一定难度,因而也没有因而也没有因而也没有因而也没有得到广泛应用。得到广泛应用。得到广泛应用。得到广泛应用。第8页,本讲稿共82页70年代末美国年代末美国MMI公司公司(Monolithic Memories Inc,单片单片存储器公司存储器公司)率先推出了可编程阵列逻辑率先推出了可编程阵列逻辑(PAL-Programmable Array Logic)器件。器件。是是第一个得到普遍应用的可编程逻辑器件。第一个得到普遍应用的可编程逻辑器件。80年代初年代初Lattice公司发明了公司发明了通用阵列逻辑通用阵列逻辑(GAL-Generic Array Logic)器件。器件。GAL比比PAL使用更加灵活使用更加灵活,它可以取代大部分它可以取代大部分SSI、MSI和和PAL器件器件,所以在所以在20世纪世纪80年代得到广泛应用年代得到广泛应用。第9页,本讲稿共82页80年代中年代中Altera公司推出了一种新型的可擦除、可编公司推出了一种新型的可擦除、可编程逻辑器件程逻辑器件(EPLD-Erasable Programmable Logic Device)。它采用它采用CMOS和和UVEPROM工艺制作工艺制作,集成度比集成度比PAL和和GAL高得多高得多,设计也更加灵活设计也更加灵活,但内部互连能力比较弱。但内部互连能力比较弱。1985年年Xilinx公司首家推出了现场可编程逻辑公司首家推出了现场可编程逻辑(FPGA-Field Programmable Gate Array)器件。器件。80年年代代末末Lattice公公司司提提出出了了在在系系统统可可编编程程技技术术,并并相相继继推推出出了了一一系系列列具具备备在在系系统统可可编编程程能能力力的的复复杂杂可可编编程程逻逻辑辑器器件件(CPLD-Complex PLD)。第10页,本讲稿共82页90年年代代至至今今高高密密度度CPLD、FPGA在在生生产产工工艺艺、器器件件的的编编程程和和测测试试技技术术等等方方面面都都有有了了飞飞速速发发展展。并并在在现现代代电电子子系系统设计中得到了相当广泛的应用。统设计中得到了相当广泛的应用。第11页,本讲稿共82页 二二.PLD的分类的分类1从结构的复杂程度分类从结构的复杂程度分类 可分为可分为低密度可编程逻辑器件低密度可编程逻辑器件(LDPLD)和和高密度可编程逻辑器件高密度可编程逻辑器件(HDPLD)两类。两类。1)LDPLD主要指早期发展起来的主要指早期发展起来的PLD,它包括它包括PROM、PLA、PAL和和GAL四种四种,其集成密度一般小于其集成密度一般小于700门门/片片。(这里的门是指。(这里的门是指PLD等效门)等效门)PLD的分类方法较多,也不统一,下面简单介绍的分类方法较多,也不统一,下面简单介绍3种。种。第12页,本讲稿共82页 2)HDPLD包括包括CPLD和和FPGA,其集成密度大于其集成密度大于700门门/片。片。如如Altera公司的公司的EPM9560,其密度为其密度为12000门门/片片.Lattice公司的公司的pLSI/ispLSI3320为为14000门门/片片.Xilinx公司的公司的XC4020为为20000门门/片片,等等。等等。目前集成度最高的目前集成度最高的HDPLD可达可达400万门万门/片。片。第13页,本讲稿共82页可编程逻辑器件按编程方式分为两类可编程逻辑器件按编程方式分为两类:1)一一次次性性编编程程(One Time Programmable,简简称称OTP)器器件件;OTP器器件件只只允允许许对对器器件件编编程程一一次次,编编程程后后不不能能修修改改,其其优优点点是是集集成成度度高高、工工作作频频率率和和可可靠靠性性高高、抗抗干干扰扰性性强强。一一次次可可编编程程的的典典型型产产品品是是PROM、PAL和熔丝型和熔丝型FPGA 2)重重重重复复复复可可可可编编编编程程程程器器器器件件件件优优点点是是可可多多次次修修改改设设计计,特特别别适适合合于于系系统统样样机机的的研研制制。擦擦写写次次数数可可达达上上千千次次,采采用用SRAM结结构构,可可无无限限次次编编程。程。2从可编程特性上分类从可编程特性上分类第14页,本讲稿共82页 可可编编程程逻逻辑辑器器件件的的编编程程信信息息均均存存储储在在可可编编程程元元件件中中。根根据据各各种种可可编编程程元元件件的的结结构构及及编编程程方方式式,可可编编程程逻逻辑辑器器件件通通常常又可以分为五类又可以分为五类:采用采用一次性编程的熔丝一次性编程的熔丝元件的可编程器件元件的可编程器件3.从可编程器件的编程元件上分类从可编程器件的编程元件上分类字线字线VEEX编程时,位线编程时,位线须加高压须加高压20v位线位线第15页,本讲稿共82页 EPROM浮栅管反熔丝(低阻)反熔丝(低阻)元件的可编程器件(元件的可编程器件(为为OTP型)型)采采用用紫紫外外线线擦擦除除、电电可可编编程程元元件件,即即采采用用EPROM工工艺艺结结构构的的可可编程器件。编程器件。反熔丝元件编程时须加中压编程时须加中压18v,击穿介质层,击穿介质层,使节点联通。使节点联通。第16页,本讲稿共82页基基于于静静态态存存储储器器SRAM结结构构的的编编程程器器件件-系系统统断断电电后后,编编程程信息会丢失信息会丢失。采采用用电电擦擦除除、电电可可编编程程元元件件EEPROM 工工艺艺结结构构的的可可编编程程器件器件;EPROM管管ROMROM结构的器件,掉电后信息不结构的器件,掉电后信息不会丢失,因为是利用其物理结会丢失,因为是利用其物理结构保存信息构保存信息FLASH型型:用:用工作电压工作电压编程和擦除,速度快、掉电信息不丢失,编程和擦除,速度快、掉电信息不丢失,使用广泛。使用广泛。第17页,本讲稿共82页2.2 低密度低密度PLD可编程原理可编程原理 简单简单PLD逻辑规模较小,只能实现通用逻辑规模较小,只能实现通用数字逻辑电路,结构上由简单的数字逻辑电路,结构上由简单的“与与-或或”门门阵列和输入输出单元组成,常见的简单阵列和输入输出单元组成,常见的简单PLD有有PROM、PLA、PAL、GAL等。等。常用逻辑门符号和国标逻辑门符号见课常用逻辑门符号和国标逻辑门符号见课本图本图2-3所示。所示。一般由于一般由于PLD的特殊而复杂的结构,采的特殊而复杂的结构,采用约定的符号简化表示。用约定的符号简化表示。第18页,本讲稿共82页(a)(b)(c)PLD阵列线连接表示和逻辑图形符号阵列线连接表示和逻辑图形符号AAA(d)ABCDY=ACD(e)(f)AB CDY=A+B+D十字交叉线表示两条线未连接 交叉线的交叉点处打上黒实点 在交叉线的交叉点上打叉,表示该点是个可编程点 是互补输出的缓冲器 多输入端与门 多输入端或门 第19页,本讲稿共82页1、可编程只读存储器可编程只读存储器PROM(Programmable Read Only Memory)ROM器件由地址译码部分、器件由地址译码部分、ROM单元部分和输出单元部分和输出缓冲部分构成。缓冲部分构成。地址译码部分完成地址译码部分完成PROM存储阵列的行的选择,存储阵列的行的选择,是逻辑与的运算,即把是逻辑与的运算,即把PROM的地址译码器的地址译码器 看成是一个看成是一个与阵列。与阵列。N个输入量经过不可编程的与阵列产生个输入量经过不可编程的与阵列产生2n个最个最小项(乘积项)地址。小项(乘积项)地址。存储单元阵列的输出,是一个或门阵列,产生存储单元阵列的输出,是一个或门阵列,产生m个个输出函数,输出函数,m就是就是PROM的输出数据宽度,或门阵列式可的输出数据宽度,或门阵列式可编程的。运算关系见课本。编程的。运算关系见课本。第20页,本讲稿共82页 在在PROM中,与门阵列固定,或门阵列可编程,中,与门阵列固定,或门阵列可编程,PROM只能只能实现组合逻辑电路;在组合逻辑函数的输入变量增多时,实现组合逻辑电路;在组合逻辑函数的输入变量增多时,PROM的存的存储单元利用率比较低;储单元利用率比较低;PROM的与阵列采用的是全译码,产生了的与阵列采用的是全译码,产生了全部最小项;全部最小项;PROM是采用熔丝工艺,只可一次性编程使用。是采用熔丝工艺,只可一次性编程使用。半半加器例题见课本。加器例题见课本。PROM阵列结构阵列结构A0A1A3Y0Y1Y2第21页,本讲稿共82页2、可编程逻辑阵列、可编程逻辑阵列PLA(Programmable Logic Array)。)。由于由于PROM在组合逻辑函数的输入变量增多时在组合逻辑函数的输入变量增多时PROM的的存储单元利用率大大降低,存储单元利用率大大降低,PROM与阵列式全译码器,产与阵列式全译码器,产生全部最小项,而实际应用时,绝大多数组合逻辑函数并生全部最小项,而实际应用时,绝大多数组合逻辑函数并不需要所有的最小项,所以不需要所有的最小项,所以PLA对对PROM进行了改进,进行了改进,其与阵列和或阵列都可编程。任何组合函数都可以采用其与阵列和或阵列都可编程。任何组合函数都可以采用PLA来实现。来实现。PLA由于与阵列不采用全译码方式,所以标准与或由于与阵列不采用全译码方式,所以标准与或表达式不适用,需要把逻辑函数化简成最简的与或表达表达式不适用,需要把逻辑函数化简成最简的与或表达式,然后通过可编程的与阵列构成与项,用可编程的或式,然后通过可编程的与阵列构成与项,用可编程的或阵列构成与项的或运算,在多个输出时要尽量利用公共阵列构成与项的或运算,在多个输出时要尽量利用公共的与项,提高阵列利用率。的与项,提高阵列利用率。第22页,本讲稿共82页 可编程逻辑阵列可编程逻辑阵列PLA是对是对PROM进行改进而产生的。在进行改进而产生的。在PLA中,中,与门阵列和或门阵列都是可编程。虽然与门阵列和或门阵列都是可编程。虽然PLA的存储单元利用率相对较高,的存储单元利用率相对较高,但是其与阵列和或阵列都是可编程,造成软件算法复杂,运行速度大幅但是其与阵列和或阵列都是可编程,造成软件算法复杂,运行速度大幅下降;并且该器件依然是采用熔丝工艺,只可一次性编程使用。下降;并且该器件依然是采用熔丝工艺,只可一次性编程使用。PLA阵列结构A0A1A3Y0Y1Y2第23页,本讲稿共82页3、可编程阵列逻辑、可编程阵列逻辑PAL(Programmable Array Logic)器件。器件。PLA由于与阵列、或阵列都可编程,造成软件算法由于与阵列、或阵列都可编程,造成软件算法过于复杂,运行速度下降,人们设计了与门阵列可编程过于复杂,运行速度下降,人们设计了与门阵列可编程或门阵列固定的或门阵列固定的PAL,避免了,避免了PLA存在的一些问题,运存在的一些问题,运行速度有所提高,各个逻辑函数简化,不必考虑公共乘行速度有所提高,各个逻辑函数简化,不必考虑公共乘积项,送到或门的乘积项数目固定,大大简化算法,使积项,送到或门的乘积项数目固定,大大简化算法,使得输出的乘积项为有限。得输出的乘积项为有限。第24页,本讲稿共82页 在在PAL中与门阵列是可编程的,而或阵列是固定的。虽中与门阵列是可编程的,而或阵列是固定的。虽PAL具有多具有多种输出和反馈结构,为逻辑设计提供一定的灵活性,但是不同的种输出和反馈结构,为逻辑设计提供一定的灵活性,但是不同的PAL器件具有独立的、单一性的输出结构,从而造成器件具有独立的、单一性的输出结构,从而造成 PAL器件器件的通用性比较差;此外,的通用性比较差;此外,PAL器件仍采用熔丝工艺,只可一次性编程器件仍采用熔丝工艺,只可一次性编程使用。使用。PAL阵列结构阵列结构A0A1A3Y0Y1Y2第25页,本讲稿共82页下面以一个简单的电路为例下面以一个简单的电路为例,具体说明具体说明PLD是如何利用以上结是如何利用以上结构实现可编程逻辑功能的:构实现可编程逻辑功能的:AAABBBCCCDDDf1f2f第26页,本讲稿共82页含有寄存器、反馈的含有寄存器、反馈的I/O结构:结构:三态输出:三态输出:OE=1允许输出允许输出OE=0输出高阻,输出高阻,可以输入可以输入输入行IDCKOEQ1 1内部反馈内部反馈0 0管脚输入管脚输入第27页,本讲稿共82页4、通用逻辑阵列、通用逻辑阵列GAL(Generic Array Logic)器件)器件 GAL在阵列结构上保留了在阵列结构上保留了PAL的与阵列可编程、的与阵列可编程、或阵列固定的结构。或阵列固定的结构。GAL首次采用了首次采用了CMOS工艺,使工艺,使得得GAL具有可以反复擦除和改写的功能,彻底克服了熔丝型具有可以反复擦除和改写的功能,彻底克服了熔丝型可编程器件的只能一次可编程问题。在可编程器件的只能一次可编程问题。在GAL的输出结构上的输出结构上采用输出逻辑宏单元采用输出逻辑宏单元OLMC(Output Logic Macro Cell)电路,而输出逻辑宏单元电路,而输出逻辑宏单元OLMC设有多种组态,可配置设有多种组态,可配置成专用组合输入、专用组合输出、组合输出双向口、寄成专用组合输入、专用组合输出、组合输出双向口、寄存器输出、寄存器输出双向口等等,从而为逻辑设计提存器输出、寄存器输出双向口等等,从而为逻辑设计提供了更大的灵活性。供了更大的灵活性。第28页,本讲稿共82页2.3 CPLD的基本结构与可编程原理的基本结构与可编程原理 CPLD复杂可编程逻辑器件,是在复杂可编程逻辑器件,是在20世纪世纪80年代中期从年代中期从PAL和和GAL器件发展出来的器器件发展出来的器件,其结构与件,其结构与PAL和和GAL器件基本相同,由器件基本相同,由可编程的与阵列、固定的或阵列、输入处理可编程的与阵列、固定的或阵列、输入处理电路和输出处理电路组成。但是电路和输出处理电路组成。但是CPLD扩充了扩充了一个全局共享的可编程与阵列,把多个宏单一个全局共享的可编程与阵列,把多个宏单元连接起来,并增加了元连接起来,并增加了I/O控制模块的数量和控制模块的数量和功能。功能。第29页,本讲稿共82页MAX7000S系列器件结构系列器件结构 主要包含五个主要部分:主要包含五个主要部分:逻辑阵列块逻辑阵列块LAB(Logic Array Blocks)、)、宏单元(宏单元(Macrocells),),扩展乘积项扩展乘积项EPT(Expander Product Term)、)、可编程连线阵列可编程连线阵列PIA(Programmable Interconnect Array)I/O控制块控制块IOC(I/O Control Blocks),),第30页,本讲稿共82页 CPLD整体结构整体结构特点:特点:1)逻辑块大、功能)逻辑块大、功能强强2)逻辑块的数量少。)逻辑块的数量少。第31页,本讲稿共82页INPUT/GCLK1INPUT/OE2/GCLKnINPUT/OE1616个个I/O引脚引脚616个个I/O引脚引脚616个个I/O引脚引脚宏单元宏单元116宏单元宏单元3348宏单元宏单元1732宏单元宏单元4964616个个I/O引脚引脚I/O控制控制块块I/O控制控制块块I/O控制控制块块I/O控制控制块块616616616616616616616616166166166166161616163636363666666个输出使能个输出使能6个输出使能个输出使能PIAINPUT/GCLKnLABMAX7000S系列器件的内部结构系列器件的内部结构第32页,本讲稿共82页1逻辑阵列块逻辑阵列块LAB(Logic Array Blocks)MAX7000S结构主要是有多个相互关联的逻辑阵列块结构主要是有多个相互关联的逻辑阵列块LAB构成的,构成的,每个逻辑阵列块每个逻辑阵列块LAB都是由都是由16个宏单元(个宏单元(Macrocells)阵列构成。)阵列构成。多个逻辑阵列块多个逻辑阵列块LAB是通过可编程连线阵列是通过可编程连线阵列PIA连接在一起的,而连接在一起的,而对于可编程连线阵列对于可编程连线阵列PIA,这个全局总线包括所有的专用输入、,这个全局总线包括所有的专用输入、I/O引脚和宏单元的信号引线。引脚和宏单元的信号引线。u对于每个逻辑阵列块对于每个逻辑阵列块LAB都有如下的输入信号:都有如下的输入信号:1)来自通用逻辑输入的)来自通用逻辑输入的PIA的的36个信号。个信号。2)用于寄存器辅助功能的全局控制信号。)用于寄存器辅助功能的全局控制信号。3)用于)用于I/O引脚到寄存器的直接输入通道。引脚到寄存器的直接输入通道。第33页,本讲稿共82页2.宏单元(宏单元(Macrocells)宏单元(宏单元(Macrocell)是)是MAX7000S系列器件的具体逻辑系列器件的具体逻辑单元,是由逻辑阵列、乘积项选择矩阵和可编程寄存器等单元,是由逻辑阵列、乘积项选择矩阵和可编程寄存器等三个功能块构成。其中逻辑阵列是实现组合逻辑的,每个三个功能块构成。其中逻辑阵列是实现组合逻辑的,每个逻辑阵列可以给每个宏单元提供五个乘积项;通过乘积项逻辑阵列可以给每个宏单元提供五个乘积项;通过乘积项选择矩阵分配这些乘积项作为主要逻辑输入(如作为或门选择矩阵分配这些乘积项作为主要逻辑输入(如作为或门和异或门逻辑输入)以实现组合逻辑函数功能,或者是把和异或门逻辑输入)以实现组合逻辑函数功能,或者是把这些乘积项作为宏单元中的寄存器的辅助输入(清零、置这些乘积项作为宏单元中的寄存器的辅助输入(清零、置位、时钟和时钟的使能)。位、时钟和时钟的使能)。第34页,本讲稿共82页乘积项乘积项选择选择矩阵矩阵共享逻辑扩展项共享逻辑扩展项16个扩展个扩展项乘积项项乘积项36个个PIA信号线信号线逻辑阵列逻辑阵列并联逻辑扩展项并联逻辑扩展项(来自其他宏单元)(来自其他宏单元)全局全局清除清除全局全局时钟时钟2清除清除选择选择时钟时钟/使使能选择能选择Ucc到到PIA来自来自I/O引脚引脚快速输快速输入选择入选择可编程寄存器可编程寄存器寄存器寄存器旁路旁路到到I/O控制块控制块DPRNCLRNENAMAX7000S系列器件的宏单元的结构系列器件的宏单元的结构第35页,本讲稿共82页3.扩展乘积项扩展乘积项EPT(Expander Product Terms)在在MAX7000S结构中有两种扩展乘积项结构中有两种扩展乘积项EPT类型,类型,其一是共享扩展乘积项,其二是并联扩展乘积项。其一是共享扩展乘积项,其二是并联扩展乘积项。MAX7000S结构允许利用共享扩展乘积项或并联扩展乘结构允许利用共享扩展乘积项或并联扩展乘积项作为附加的乘积项直接送到同一逻辑阵列块的任一积项作为附加的乘积项直接送到同一逻辑阵列块的任一宏单元中,这样就可以利用扩展乘积项实现单个宏单元宏单元中,这样就可以利用扩展乘积项实现单个宏单元不能是完成的复杂函数。不能是完成的复杂函数。第36页,本讲稿共82页(1)共享扩展项()共享扩展项(Shareable Expanders)共享扩展项就是由每个宏单元提供一个未使用的乘积项,并共享扩展项就是由每个宏单元提供一个未使用的乘积项,并将它们反向后反馈到逻辑阵列块中,每个逻辑阵列块将它们反向后反馈到逻辑阵列块中,每个逻辑阵列块LAB有有16个个共享扩展项。每个共享扩展项都可以被逻辑阵列块共享扩展项。每个共享扩展项都可以被逻辑阵列块LAB内任何内任何一个宏单元或全部宏单元使用和共享,以便实现复杂的逻一个宏单元或全部宏单元使用和共享,以便实现复杂的逻辑函数功能。下图表示出共享扩展项是如何馈送到多个宏辑函数功能。下图表示出共享扩展项是如何馈送到多个宏单元的。单元的。第37页,本讲稿共82页乘积项乘积项选择矩阵选择矩阵宏单元乘宏单元乘积项逻辑积项逻辑16个共享个共享扩展项扩展项36个个PIA信号线信号线宏单元乘宏单元乘积项逻辑积项逻辑利用共享扩展项实现多个宏单元之间的连接利用共享扩展项实现多个宏单元之间的连接第38页,本讲稿共82页 并联扩展项是指宏单元中没有被使用的乘积项,并联扩展项是指宏单元中没有被使用的乘积项,将这些乘积项分配到邻近的宏单元去以实现复杂的逻将这些乘积项分配到邻近的宏单元去以实现复杂的逻辑函数功能。辑函数功能。下图表示并联扩展项是如何从邻近的宏下图表示并联扩展项是如何从邻近的宏单元借用的。单元借用的。使用并联扩展项,允许最多使用并联扩展项,允许最多20个乘积项直接送到宏个乘积项直接送到宏单元的单元的“或或”逻辑,其中逻辑,其中5个乘积项有宏单元本身提个乘积项有宏单元本身提供,供,15个并联扩展项是从同一个个并联扩展项是从同一个 LAB中相邻的宏单元中相邻的宏单元借用的。当需要并联扩展时,借用的。当需要并联扩展时,“或或”逻辑的输出通过逻辑的输出通过一个选择分频器,送往下一个宏单元的并联扩展一个选择分频器,送往下一个宏单元的并联扩展“或或”逻辑输入端。逻辑输入端。(2)并联扩展项()并联扩展项(Parallel Expanders)第39页,本讲稿共82页16个共享扩展项个共享扩展项36个个PIA信号线信号线到下一个宏单元到下一个宏单元来自上一个宏单元来自上一个宏单元PresetPresetClockClockClearClear宏单元乘宏单元乘积项逻辑积项逻辑乘积乘积项选项选择矩择矩阵阵乘积乘积项选项选择矩择矩阵阵宏单元乘宏单元乘积项逻辑积项逻辑利用并联扩展项实现多个宏单元之间的连接利用并联扩展项实现多个宏单元之间的连接第40页,本讲稿共82页 通通 过过 可可 编编 程程 连连 线线 阵阵 列列PIA(Programmable Interconnect Array),可可以以把把不不同同的的逻逻辑辑阵阵列列块块相相互互连连接接,以以实实现现用用户户所所需需要要的的逻逻辑辑功功能能。通通过过对对可可编编程程连连线线阵阵列列PIA合合适适编编程程,就就可可以以把把器器件件中中的的任任何何信信号号连连接接到到其其目目的的地地上上。所所有有的的MAX7000S器器件件的的专专用用输输入入、I/O引引脚脚和和宏宏单单元元输输出出都都是是连连接接到到可可编编程程连连线线阵阵列列PIA,而而通通过过可可编编程程连连线线阵阵列列PIA能能够够有有把把这这些些信信号号送送到到整整个个器器件件内内的的任任何何地地方方。只只有有每每个个逻逻辑辑阵阵列列块块需需要要的的信信号号才才布布置置从从可可编程连线阵列编程连线阵列PIA到逻辑阵列块到逻辑阵列块LAB的连线。的连线。4.可编程连线阵列可编程连线阵列PIA第41页,本讲稿共82页到LABEEPROM单元PIA信号图2-10 PIA连接到LAB的方式第42页,本讲稿共82页 I/O控控制制块块IOC主主要要是是由由三三态态门门和和使使能能控控制制电电路路构构成成的的,在在每每个个逻逻辑辑阵阵列列块块LAB和和I/O引引脚脚之之间间都都有有一一个个I/O控控制制块块IOC。I/O控控制制块块IOC允允许许每每个个I/O引引脚脚被被独独立立配配置置为为输输入入、输输出出或或双双向向工工作作方方式式。所所有有I/O引引脚脚都都有有一一个个三三态态缓缓冲冲器器,它它的的使使能能端端可可以以受受到到全全局局输输出出使使能能信信号号的的其其中中一一个个使使能能信信号号控控制制,或或者者是是直直接接连连到到地地(GND)或或电源(电源(VCC)上。)上。5.I/O控制块控制块IOC(I/O Control Blocks)第43页,本讲稿共82页VccGND开漏极输出开漏极输出摆率控制摆率控制来自宏单元来自宏单元快速输入宏单元寄存器快速输入宏单元寄存器输入到输入到PIA连接到其他连接到其他I/O引脚引脚PIA6个全局输个全局输出使能信号出使能信号MAX7000S系列器件的系列器件的I/O控制块控制块第44页,本讲稿共82页2.4 FPGA的基本结构的基本结构 FPGA现场可编程门阵列,是在现场可编程门阵列,是在20世纪世纪80年代中期出年代中期出现的一种新型的可编程逻辑器件,现的一种新型的可编程逻辑器件,FPGA是由掩膜可编是由掩膜可编程门阵列和简单可编程逻辑器件演变而来的,将他们的特程门阵列和简单可编程逻辑器件演变而来的,将他们的特性结合在一起,使得性结合在一起,使得FPGA既有门阵列的高密度性和通既有门阵列的高密度性和通用性,又有可编程器件的用户可编程特性。用性,又有可编程器件的用户可编程特性。第45页,本讲稿共82页 FPGA整体结构整体结构特点:特点:1)逻辑块小、功)逻辑块小、功能较少能较少2)逻辑块的数量)逻辑块的数量很多。很多。CLB可编程开关矩阵可编程输入/输出模块互连资源可编程连线PI可编程逻辑模块CLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLB第46页,本讲稿共82页 可可配配置置逻逻辑辑块块CLB是是FPGA的的基基本本逻逻辑辑单单元元,用用于于实实现现FPGA芯片中的大部分逻辑功能。芯片中的大部分逻辑功能。可配置逻辑块可配置逻辑块CLB内部基本结构如图所示,其主要内部基本结构如图所示,其主要包括由触发器、逻辑函数发生器、可编程的数据选择器包括由触发器、逻辑函数发生器、可编程的数据选择器及其他控制电路组成,每个及其他控制电路组成,每个CLB实现单一的逻辑功能,实现单一的逻辑功能,多个多个CLB以阵列的形式分布在器件的中部,由以阵列的形式分布在器件的中部,由PI相连,相连,实现复杂的逻辑功能。实现复杂的逻辑功能。可配置逻辑块可配置逻辑块CLB第47页,本讲稿共82页FPGA的可配置逻辑块的可配置逻辑块(CLB)1.3个个查查找找表表(LUT),它它们们用用作作组组合合逻逻辑发生器辑发生器;2.二个二个D触发器触发器 3二组多路选择器。二组多路选择器。简化的简化的FPGA CLB结构结构 第48页,本讲稿共82页 在可配置逻辑块在可配置逻辑块CLB中共有中共有3个逻辑函数发生器,包个逻辑函数发生器,包括两个括两个4输入的逻辑函数发生器(输入的逻辑函数发生器(G-LUT、F-LUT)和一)和一个个3输入的逻辑函数发生器(输入的逻辑函数发生器(H-LUT)。这些逻辑函数发生)。这些逻辑函数发生器是采用基于静态随机存储器的查表器是采用基于静态随机存储器的查表LUT(Look Up Table)结构,如图所示)结构,如图所示4输入逻辑函数发生器输入逻辑函数发生器G-LUT的的内部结构。查找表内部结构。查找表LUT的工作原理类似于用的工作原理类似于用PROM实现实现多种组合逻辑函数,其输入等效于多种组合逻辑函数,其输入等效于PROM的地址码,的地址码,存储的内容为相应的逻辑函数取值,通过查找地址表,可存储的内容为相应的逻辑函数取值,通过查找地址表,可得到逻辑函数的输出。得到逻辑函数的输出。第49页,本讲稿共82页161RAMG1G2G3G4G4输入逻辑函数发生器输入逻辑函数发生器G-LUT的内部结构的内部结构第50页,本讲稿共82页 在在CLB结构图中,逻辑函数发生器结构图中,逻辑函数发生器G-LUT和和F-LUT各有各有4个独立的输入变量,可分别实现对应的输入个独立的输入变量,可分别实现对应的输入4变变量的任意逻辑函数。量的任意逻辑函数。H-LUT逻辑函数发生器的输入信逻辑函数发生器的输入信号是前两个逻辑函数发生器的输出信号号是前两个逻辑函数发生器的输出信号G和和F,以及信,以及信号变换电路的输出号变换电路的输出H1,它可实现,它可实现3输入变量的任意逻辑输入变量的任意逻辑函数。将函数。将3个函数发生器组合配置,个个函数发生器组合配置,个CLB可以完成可以完成任意任意4变量、变量、5变量,最多变量,最多9变量的逻辑函数。变量的逻辑函数。第51页,本讲稿共82页FPGA的查找表结构的查找表结构(Look Up Table-LUT)A AB BC CY Y0 00 00 00 00 00 01 11 10 01 10 01 10 01 11 10 01 10 00 01 11 10 01 11 11 11 10 00 01 11 11 10 0真值表真值表输入变量输入变量-作为存储器的地址作为存储器的地址输出函数输出函数-作为存储器中的数据作为存储器中的数据当地址从当地址从000-111时,输出真值表中函数所有取值。时,输出真值表中函数所有取值。81RAM01101100CBA输输出出Yooooooo第52页,本讲稿共82页字线与位线的交点处字线与位线的交点处有二极管相当存储数据有二极管相当存储数据1 1无二极管相当存储数据无二极管相当存储数据0 0当当OE=1时输出为高阻状态时输出为高阻状态000101111101111010001101地地 址址A1A0D3D2D1D0内内 容容当当OE=0时时查找表结构的实现查找表结构的实现第53页,本讲稿共82页内部逻辑测试内部逻辑测试JTAG边界扫描测试边界扫描测试 2.5 硬件测试技术硬件测试技术第54页,本讲稿共82页 随着可编程逻辑器件应用的日益广泛随着可编程逻辑器件应用的日益广泛,许多许多IC制造厂家涉足制造厂家涉足CPLD/FPGA领域。目前世领域。目前世界上有十几家生产界上有十几家生产CPLD/FPGA的公司的公司,而在而在我国常用的是我国常用的是Altera、Xilinx和和Lattice三家主三家主流公司的可编程逻辑器件产品,本节将介绍流公司的可编程逻辑器件产品,本节将介绍这三家公司常用的这三家公司常用的CPLD和和FPGA器件系列及器件系列及其基本特性。其基本特性。2.6 可编程逻辑器件产品简介可编程逻辑器件产品简介第55页,本讲稿共82页2.4.1 Altera系列产品系列产品 Altera是著名的是著名的PLD生产商之一,生产商之一,Altera的的PLD具有高性具有高性能、高集成度和高性价比的优点,并且该公司还提供功能全能、高集成度和高性价比的优点,并且该公司还提供功能全面的可编程器件开发工具和丰富的面的可编程器件开发工具和丰富的IP核、宏功能库等等,核、宏功能库等等,因此因此Altera多年来一直占据着行业领先地位。多年来一直占据着行业领先地位。Altera的的PLD产品包括产品包括Classic系列、系列、MAX(Multiple Array Matrix)系列、)系列、FLEX(Flexible Logic Element Matrix)系列、)系列、APEX(Advanced Logic Element Matrix)