资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第七章 可编程逻辑器件,王莹 博士,Wangying,北京邮电大学电信工程学院,本章内容,ROM,(,Read Only Memory:,只读存储器,),PLA,、,PAL,、,GAL,EPLD,(,Erasable PLD,:,可擦除的可编程逻辑器件),CPLD/FPGA,FPGA,PLD,的组成,可编程逻辑器件,(,Programmable Logic Device,,,简称,PLD,),,它的组成为:,逻辑单元,互连线单元,输入,/,输出单元,各单元的功能及相互连接关系都可经编程设置。借助,EDA,(,Electronic Design Automation,),工具软件,,PLD,可为数字系统设计者提供灵活而强大的处理能力。,7.1 ROM,(,2,),一次性可编程,ROM,(,PROM,),。,出厂时,存储内容全为,1,(或全为,0,),用户可根据自己的需要编程,但只能编程一次。,一,ROM,的分类,按照数据写入方式特点不同,,ROM,可分为以下几种:,(,1,),固定,ROM,。,厂家把数据写入存储器中,用户无法进行任何修改。,(,3,),光可擦除可编程,ROM,(,EPROM,),。,采用浮栅技术生产的可编程存储器。其内容可通过紫外线照射而被擦除,可多次编程。,(,5,),快闪存储器(,Flash Memory,),。,也是采用浮栅型,MOS,管,存储器中数据的擦除和写入是分开进行的,数据写入方式与,EPROM,相同,一般一只芯片可以擦除,/,写入,100,次以上。,(,4,),电可擦除可编程,ROM,(,E,2,PROM,),。,也是采用浮栅技术生产的可编程,ROM,,,但是构成其存储单元的是隧道,MOS,管,是用电擦除,并且擦除的速度要快的多(一般为毫秒数量级)。,E,2,PROM,的电擦除过程就是改写过程,它具有,ROM,的非易失性,又具备类似,RAM,的功能,可以随时改写(可重复擦写,1,万次以上)。,1.ROM,的内部结构,由地址译码器和存储矩阵组成。,ROM,由若干存储单元(字)组成,每一单元存储了,m,个二进制位(例如,8,位)。输入给,ROM,的为,n,条地址线(例如,10,条),地址线经地址译码器给出,2,n,条字线,每条字线,(,W,i,),寻址一个存储单元。被寻址的存储单元通过,m,条位线(,D,j,),将存储的,0,、,1,信息送出,ROM,。,图,7.1.1,表达了一个,n=2,、,m=4,的,CMOS-ROM,的结构。图中可见,2,n,4,个存储单元中存储的,1,、,0,信息和,MOS,管的有、无的对应关系。,ROM,中存储的信息可由制造厂家一次性制作进去,也可由用户写入,后者称为,PROM,(,Programmable ROM,)。,W,1,W,0,地,址,译,码,器,+V,DD,字线,W,i,位线,D,j,D,3,D,2,D,1,D,0,A,0,A,1,0111,1010,1100,0011,W,2,W,3,地址线,图,7.1.1 CMOS-ROM,的结构示例例,存储单元,0,存储单元,1,存储单元,2,存储单元,3,CS,片选,ROM,的,工作原理,由地址译码器和或门存储矩阵组成。,ROM,中的地址译码器用,2,n,条输出字线表达,n,位地址线上变量的编码,译码的规则是每条字线(,W,i,),对应,n,位地址变量的一个最小项,它给出,n,位地址变量的全部最小项(,W,i,,,i=0,2,n-1,)。,在任何时刻,各,W,i,中必有一个、只有一个有效。这个与运算阵列在,ROM,中是固定制备的。,各存储单元中具有相同位权的存储,MOS,管的漏极输出连接在同一条输出数据线(位线,D,j,),上。同一位线上的各存储位呈或运算关系。,由于,ROM,存储的,0,、,1,信息可根据需要制作进入或由用户写入,因而说,ROM,中的存储矩阵是一个可编程的或运算阵列。,D,0,= W,0,1 + W,1,0 + W,2,0 + W,3,1,D,1,= W,0,1 + W,1,1 + W,2,0 + W,3,1,D,2,= W,0,1 + W,1,0 + W,2,1 + W,3,0,D,3,= W,0,0 + W,1,1 + W,2,1 + W,3,0,ROM,是一种,与运算固定,或运算可编程,的器件,可作为,PLD,用于实现,n,个输入变量的多输出(最多,m,个)组合函数。,在实现组合函数时,,将函数式整理为最小项表达式并由此决定,ROM,存储单元的内容,,将函数变量输入到,ROM,的地址线,由,ROM,的每条数据线得到一个函数输出。,二进制码,A,3,A,2,A,1,A,0,循环码,D,3,D,2,D,1,D,0,0 0 0 0,0 0 0 1,0 0 1 0,0 0 1 1,0 1 0 0,0 1 0 1,0 1 1 0,0 1 1 1,1 0 0 0,1 0 0 1,1 0 1 0,1 0 1 1,1 1 0 0,1 1 0 1,1 1 1 0,1 1 1 1,0 0 0 0,0 0 0 1,0 0 1 1,0 0 1 0,0 1 1 0,0 1 1 1,0 1 0 1,0 1 0 0,1 1 0 0,1 1 0 1,1 1 1 1,1 1 1 0,1 0 1 0,1 0 1 1,1 0 0 1,1 0 0 0,例,7.1.1,用,ROM,实现四位,自然,二进制码与循环码的转换电路,解:四位二进制码,A,3,A,2,A,1,A,0,与循环码,D,3,D,2,D,1,D,0,的转换真值表如表,7-1,。,可用,4,位地址、,4,位数据的,ROM,实现此转换的电路。将二进制码,A,3,A,2,A,1,A,0,连接,ROM,的地址线,由,ROM,的输出数据线得到循环码,D,3,D,2,D,1,D,0,。,D,0,= m(1,2,5,6,9,10,13,14),D,1,= m(2,3,4,5,10,11,12,13),D,2,= m(4,5,6,7,8,9,10,11),D,3,= m(8,9,10,11,12,13,14,15),为表示方便,通常用阵列图描述可编程逻辑器件(,PLD,),的结构和编程信息。图,7.1.2,为阵列图中逻辑门的画法和连接关系。,A,A,缓冲门,A,A,B,C,固定连接,编程连接,不连接或 待编程连接,A,B,C,F=A+B+C,图,7.1.2 PLD,阵列图中的逻辑门及连接关系,与门,或门,地址译码器,与运算阵列,m,0,m,2,m,4,m,6,m,8,m,10,m,12,m,14,m,1,m,3,m,5,m,7,m,9,m,11,m,13,m,15,A,3,A,2,A,1,A,0,D,3,D,1,D,0,D,2,存储矩阵,或运算阵列,图,7.1.3,实现,二进制码与循环码转换的,ROM,的阵列图,依据结构和编程写入方式的不同,,ROM,有多个种类。,7.1.2 ROM,的种类,(,1,)熔丝型和反熔丝型,PROM,一次编程性,ROM,,,数据一经写入便不能更改,。,在,PROM,出厂时,多发射极晶体管的各发射极所连的熔丝呈连接状态,相当于各存储位存储数据“,1”,。在写入信息时,对需要写“,0”,的位控制其晶体管发射极使其流过较大的电流,使与发射极连接的熔断丝烧断。,Vcc,位线,CS,D,m-1,D,m-2,D,0,熔丝,地,址,译,码,器,W,0,W,1,W,2,n-1,字线,A,0,A,1,A,n-1,地址线,图,7.1.4,双极型晶体管熔丝型,PROM,图,7.1.5,为反熔丝的结构示意。反熔丝相当于生长在,n,扩散层和多晶硅(两个导电材料层)之间的介质层,这一介质层在器件出厂时呈现很高的电阻,使两个导电层间绝缘。当编程需要连接两个导电层时,在介质层施加高脉冲电压(,18V,),使其被击穿,使两个导电层连通。连通电阻小于,1K,。,反熔丝占用的硅片面积较小,适宜做高集成度可编程器件中的编程单元。,N,+,多晶硅,扩散层,介质层,氧化物,图,7.1.5,反熔丝的结构示意,T,1,图,7.1.6EPROM,中的浮栅,MOS,管,图,7.1.7EPROM,中的位存储单元,D,S,G,2,P,衬底,N,N,D,S,G,2,G,1,SiO,2,窗口,浮栅,G,1,Y,T,2,D,i,字线,位线,X,(,2,),EPROM(Erasable PROM,可改写,PROM),EPROM,可经紫外线照射擦除所存储的数据,擦除后可再次写入,因而又称为,UV,EPROM,(,UltraViolet,EPROM,)。,(,3,),EEPROM,(,Electrical Erasable PROM,可电擦除,PROM,),EEPROM,使用电信号完成擦改工作,无需紫外线照射。这给使用者带来了方便,也给,ISP,(,In System Programmability,在系统编程)建立了基础。,EEPROM,的结构可类比,EPROM,。,(,4,),Flash Memory,(,闪速存储器),闪速存储器的结构与,EPROM,、,EEPROM,相似,也为双栅极,MOS,管结构。两个栅极为控制栅和浮置栅。闪速存储器的隧道氧化物层较,EEPROM,的更薄。,闪速存储器的擦除方法与,EEPROM,类似,利用“隧道效应”(,FN,隧道效应)。而编程方法有,FN,隧道效应法和,CHE,法两类,后者与,EPROM,类似,为一种“沟道热电子注入技术”。,闪速存储器的结构和制作工艺可使它的集成度更高。在编程和擦除时,闪速存储器可一次对多个存储单元同时完成,因而闪速存储器的存取速率比,EPROM,、,EEPROM,快。闪速存储器的这些优点使它获得了快速的发展。,(,5,),FRAM,(,铁电存储器),FRAM,是近年新发展起来的存储器件。它的核心技术是铁电晶体材料。,当铁电晶体材料置于电场中,晶阵中的每个自由浮动的中心原子会沿着电场方向运动,从一种稳定状态到达另一种稳定状态。在电场作用下的这种稳定状态只有两个。可用一个来记忆逻辑,另一个记忆逻辑。中心原子的稳定状态在电场撤消后可长期保留,常温中可达一百年以上。,铁电晶体材料的这一特性特别适用于,ROM,。,由于铁电晶体单元在存储状态改变时的,物理过程中没有任何原子碰撞,,FRAM,的写入速率可比,EPROM,类(,EPROM,、,EEPROM,、,Flash,Memery,),快得多,在,s,数量级,。而后者通常在,ms,数量级。另一方面,,FRAM,写入功耗也比,EPROM,类的低得多,典型值上是,EEPROM,的,2,500,分之一。,FRAM,的写入次数寿命也比,EPROM,类的高得多,,一般,EEPROM,类的写入次数寿命在十万到一百万次之间,而,FRAM,已见有一亿个亿次的写入寿命的报道。,7.1.3,随机存储器,RAM,RAM ( Random Access Memory),在工作时可对任一存储单元读取或写入,常用于对数据有频繁快速暂存和选择读取的场合。,A,0,A,1,A,n-1,R/W,CS,(I/O),0,(I/O),m-1,地址线,读,/,写控制,片选,字线,地址译码器,读写控制逻辑,W,0,W,2,n,-,1,存储,单元,阵列,存储单元,存储位,读,/,写数据线,位线,在逻辑结构上,与,ROM,类似,也主要由地址译码器和存储单元阵列构成。地址译码器给出,n,位地址变量的全部最小项,Wk (k=0,2n-1),,存储单元阵列完成可编程或运算。,因而,,RAM,也可被认为是一种,与运算固定、或运算可编程,的逻辑器件。,RAM,的分类,静态,RAM(SRAM,:,Static RAM ),SRAM,的存储数据在写入后可一直保存,(,不掉电的情况下,),。,动态,RAM(DRAM,:,Dynamic RAM),DRAM,的存储数据的保存时间有限,工作中需定时进行刷新操作。,在同等材料和工艺情况下,,SRAM,的存取速率一般相对较快,而,DRAM,的集成度会相对较高。,与,ROM,不同,,RAM,是易失性存储器件,存储数据在器件掉电后丢失。,7.1.4,用存储器实现逻辑处理,(,1,)存储器实现组合逻辑,当用存储器实现,n,个逻辑变量,、,m,个输出的组合逻辑,函数时,有以下几个要点,:,需要用,n,位地址,、,2,n,个存储单元、,每单元,m,位,的,ROM,或,RAM,。,存储器的各地址线,A,i,(i,=n-1,0),由各变量依次,(,按各变量在它们的最小项中高位至低位的排序,),连接。,由存储器的输出数据线,Dj,得到第,j,个逻辑函数,(j=m-1,0),。,应将各逻辑函数写成最小项表达式。写入存储器中的第,k(k,=0,2n-1),个存储单元的第,j,位,(j=m-1,0),的,1/0,应根据最小项,W,k,在第,j,个函数表达式中的有,/,无来决定。,由存储器实现的组合逻辑电路不会出现逻辑冒险,,因为不存在信号的多路传输。存储器内部的电路设计可保证输出信号的稳定性。,但功能冒险仍有可能出现,,因为功能冒险是由于多个输入信号的不同步而产生。当多个地址变量出现变化的时刻偏差大于存储器的读取时间,功能冒险就存在,输出信号上可能出现毛刺噪声。,(,2,)存储器实现时序逻辑,时序逻辑的激励函数,Y,、下一状态,Q,n+1,、输出函数,Z,都是输入信号,X,和当前状态,Q,n,的组合逻辑函数。,这意味着利用存储器也可实现同步时序逻辑。特别是在实现状态转移规律确定、无需直接存储输入信号的时序电路,如计数器、序列信号发生器等。利用,ROM,可简化设计过程,实现电路也简单。,A,p-1,A,k,A,k-1,A,1,A,0,D,m-1,D,k,D,k-1,D,1,D,0,ROM,D,k-1,D,1,D,0,Q,k-1,Q,1,Q,0,寄存器,X,Z,cp,Q,n+1,Q,n,例,7.1.2,用图,7.1.3,实现,8421,码模,10,加法计数器,有,1,位输出,Z,,,Z,在状态为,1001,时,输出,1,,其它状态时输出,0,解:,由于计数模值为,10,,需要,4,位状态码,,故图中的,k,4,。由于没有输入变量,X,,,ROM,仅需,4,条地址线,故,p=4,。每存储单元需,5,个存储位,(1,位输出码,4,位状态码,),,故,m=5,。需用,10,个存储单元保存,10,个状态值,设,ROM,有,16,个存储单元。,将,ROM,输出数据线的,D,3,D,2,D,1,D,0,经寄存器依次连接输入地址线,A,3,A,2,A,1,A,0,。,ROM,输出的,D,4,作为,Z,。根据,8421,码的规律,从状态,0000,开始,将下一状态的码型存入以当前状态码为地址的存储单元内。结果见表,7.1.2,。,ROM,地址 存 储 数 据,A,3,A,2,A,1,A,0,D,4,D,3,D,2,D,1,D,0,0 0 0 0 0 0 0 0 1,0 0 0 1 0 0 0 1 0,0 0 1 0 0 0 0 1 1,0 0 1 1 0 0 1 0 0,0 1 0 0 0 0 1 0 1,0 1 0 1 0 0 1 1 0,0 1 1 0 0 0 1 1 1,0 1 1 1 0 1 0 0 0,1 0 0 0 0 1 0 0 1,1 0 0 1 1 0 0 0 0,1 0 1 0 0 0 0 0 1,1 0 1 1 0 0 0 0 1,1 1 0 0 0 0 0 0 1,1 1 0 1 0 0 0 0 1,1 1 1 0 0 0 0 0 1,1 1 1 1 0 0 0 0 1,Q,3,n,Q,2,n,Q,1,n,Q,0,n,Z Q,3,n+1,Q,2,n+1,Q,1,n+1,Q,0,n+1,当前状态,输出 下 一 状 态,A,p-1,A,k,A,k-1,A,1,A,0,D,m-1,D,k,D,k-1,D,1,D,0,ROM,D,k-1,D,1,D,0,Q,k-1,Q,1,Q,0,寄存器,X,Z,cp,Q,n+1,Q,n,在每个时钟的有效沿,寄存器输出更新,上一状态被作为了当前状态,Q,n,。,ROM,以当先输入,X,和,Q,n,作为地址去寻址输出,Z,和,Q,n+1,。,Z,作为时序电路的当前处理结果,,Q,n+1,作为对处理阶段的记忆保存到下一时钟有效沿时刻。,例,7.1.3,基于,ROM,,实现图,7.1.14,所示的状态图。,解:状态图中的状态是由符号给出的。在实现时需首先对状态符号进行编码。,在用分立触发器实现时,状态编码的目的是追求触发器级数少、外围电路简单。而在使用,ROM,时,这样的编码追求的意义已不大,因而为状态符号分配编码的方法就可简单又多样了,。在本例中,为使存储位数目少、列表简单,可采用自然二进制编码,对状态,A,、,B,、,C,、,D,、,E,分别分配,000,、,001,、,010,、,011,、,100,。,A,0/0,B,D,C,E,1/0,1/0,1/0,0/0,1/0,0/1,1/0,0/1,0/1,X/Z,输入,/,输出,根据状态图得到状态转移表如表,7.1.3,。,以当前状态,Q,2,n,Q1,n,Q0,n,和输入,X,作为地址,A,3,A,2,A,1,A,0,,在对应的存储单元,(D,3,D,2,D,1,D,0,),存进输出信号,Z,和下一状态,Q,2,n+1,Q,1,n+1,Q,0,n+1,。,实现电路如图,7.1.15,所示。,A,3,A,2,A,1,A,0,D,3,D,2,D,1,D,0,ROM,D,3,D,1,D,0,Q,3,Q,1,Q,0,寄存器,X,Z,cp,Q,n+1,Q,n,小结,同步时序逻辑电路是一种有限状态机,其状态转移规律都可用状态图描述。通过本例可认识到,状态及其转移关系代表着对输入信号,X,处理的阶段及步骤,输出信号,Z,是各阶段的处理结果。,状态转移总发生在时钟的有效边沿,计数器是实现状态转移关系的电路形式,状态的编码决定着电路的复杂程度。,基于随机存储器,RAM,可实现移位寄存器、串,/,并转换等时序电路。,存储器的通用集成电路通常是多输出位,(,例如,8,位,),、多存储单元,(2,K,个,,k10),。,如果用存储器芯片实现单个逻辑函数,芯片面积的使用效率一般是较低的。但用存储器实现同步逻辑处理是一种能力强而又简单的方法,。在可编程逻辑器件中,存储器有着多方面的应用。,7.2.1PLA,(,Programmable Logic Array,),PLA,(,可编程逻辑阵列)中的,与阵列、或阵列均可被编程,。与阵列和或阵列中每条线的交点均可由编程决定连接或不连接。可见,PLA,的与阵列并不固定产生输入变量的全部最小项,其芯片面积使用效率高于,PROM,。,7,.,2 PLA,、,PAL,、,GAL,图,7.2.1 22 PLA,A,1,A,0,F,1,F,0,与阵列,或阵列,用,PLA,实现组合逻辑函数时,需要将函数表达式,化简,为最简与或式,多输出情况时,也要,尽量利用公共的乘积项,。这些优化设计使得,EDA,综合器中的软件算法较为复杂。,由于在结构上需保证与阵列或阵列均可被编程,,PLA,器件的,运行速度也受到了一定的限制,。,习题,7-11,基于如图,7.2.3,所示的,PLA,实现题表,7.2,的,2,线,-4,线译码器电路。,解,7-11,:根据题表,7-2,给出的,2,位,-4,线的译码功能,译码输出的表达式如下,,PLA,的实现如题,7-11,解图所示。,7.2.2 PAL,(,Programmable Array Logic,),PAL,(,可编程阵列逻辑)有以下主要特点:,1.,与阵列可编程,或阵列固定,。,2.,器件中增加了触发器,使,PAL,可实现时序逻辑。,图,7.2.222 PAL,F,1,F,0,A,1,A,0,与阵列,或阵列,例,7.2.1,基于图,7.2.4,结构的,PAL,实现可控加减法模,6,计数器,(,自然二进制码规律,),。,解:可设一输入控制信号,A,,,A,为逻辑,0,时进行加计数,,A,为,1,时进行减计数。状态转移表如表,7.2.1,所示。,根据表,7.2.1,可得出,Q2n+1,、,Q1n+1,、,Q0n+1,的卡诺图。化简各卡诺图,(,过程略,),得到各,D,触发器输入信号的表达式,以编程连接符号“,”将式,(7.2.1),表达在与阵列、或阵列中就得到了用,PAL,实现本例的逻辑电路图,见图,7.2.4,中。,熔断丝编程的,PAL,在出厂时各熔断丝呈连通状态,相当于结构图与阵列中的各交差点均存在编程连接。编程时将不需要的连接位置处的熔断丝熔断而保留需要的熔断丝。与阵列未使用到的与门,(,线,),的各编程点呈连接状态,与门输出信号恒为,0,,但为简化表达,未使用到的与门对应的各编程点均不标画符号“,”或将“,”标在与门中,见图,7.2.4,中。,O,0,D,Q,Q,D,Q,Q,O,1,与阵列,或阵列,I,0,I,1,CLK,OE,实现一个,逻辑乘积项,实现一个,与或逻辑式,输出端,D,Q,Q,O,2,I,2,(A),(Q,0,),(Q,1,),(Q,2,),时钟,输出使能,反馈,输入端,输入信号,输出信号,在图,7.2.4,中,连接每个与门的横线可实现一个逻辑乘积项,每个乘积项的变量可编程选自输入信号及反馈信号。每个或门输出可实现一个与或逻辑式,其中固定包括有四个乘积项,因而说,PAL,的或阵列固定、与阵列可编程,。,图,7.2.4,的,PAL,中,每个或门的输出作为触发器的输入,各触发器的时钟连接专用时钟输入线,CLK,,因而可以实现同步时序逻辑。,各输出缓冲门的使能也由专用线,OE,控制。,7.2.3 GAL,(,Generic Array Logic,),80,年代在,PAL,基础上发展的,GAL,(,通用阵列逻辑)有着以下主要特点:,1.,首次在,PLD,上采用了,EEPROM,工艺,使得,PLD,具有了电可擦除并可重复编程的性能。,2.,沿用了,PAL,的“,与阵列可编程,或阵列固定,”的结构特征,在,I/O,部分增加了输出逻辑宏单元(,OLMC,),,改进了器件的功能,增加了编程设置的灵活性。,图,7.2.3GAL16V8,的结构图,I,19,OLMC,1,I/O,OLMC,2,OLMC,OLMC,OLMC,OLMC,OLMC,OE,OLMC,18,I/O,17,I/O,16,I/O,15,I/O,14,I/O,13,I/O,12,I/O,11,I/OE,I/CLK,I,3,I,4,I,5,I,6,I,7,I,8,I,9,(,1,)逻辑阵列,图,7.2.3,中画出了与阵列。,与阵列中连接每个与门的横线可实现一个乘积项。送入每个,OLMC,中或门的各有,8,个乘积项(八条横线),。每个乘积项中的变量可选自,32,个信号(,8,8,个输入原变量、反变量、,8,8,个反馈原变量、反变量)。,图,7.2.4GAL16V8,的,OLMC,的逻辑图,XOR(n),反馈,10-,11-,0-1,0-0,FMUX,D,Q,0,1,OMUX,Vcc,0,1,PTMUX,00,01,10,11,TSMUX,AC,0,AC,1,(n),来自与阵列,相邻级输出,Q,AC,0,AC,1,(n),AC,1,(m),输出引脚,CLK,OE,(,2,),OLMC,(,Output Logic Macro Cell,),8,输入或门完成或运算,异或门起着可编程控非门的作用。,D,触发器使,GAL,有了时序逻辑功能,其时钟用全局时钟(,CLK,)。,图,7.2.5,(,a,),OLMC,的时序输出工作模式,图,7.2.5,(,b,),OLMC,的组合,I/O,工作模式,CLK,OE,D,Q,Q,XOR(n),XOR(n),OLMC,有,5,种工作模式。图,7.2.5(a),、,(b),分别为其中的时序输出模式和组合,I/O,模式。,7.3EPLD,(,Erasable PLD,:,可擦除的可编程逻辑器件),PLA,、,PAL,、,GAL,是,PLD,早期发展进程中的代表性产品,可将它们,统称为简单,PLD,(,SPLD,),。,随着信息数字处理技术的发展,,SPLD,在资源规模、配置灵活度等方面都难以满足构建数字系统的要求。,EPLD,、,CPLD,、,FPGA,是继,SPLD,后发展起、现仍在发展中的,PLD,器件。本节以,MAX7000,系列为例介绍,EPLD,器件的主要特点。,7.3.1MAX7000,系列的系统结构,MAX7000,系列,PLD,采用,0.8m CMOS EEPROM,技术制造,有,600,5000,个可用门。引脚到引脚的信号延时为,6ns,,,计数器最高工作速度为,151.5MHz,。,图,7.3.1,为,MAX7000E/S,器件的结构框图。,PIA,宏单元,1 to 16,LAB A,6 to16,16,36,6 to16,I/O,控制块,6,6 to16,宏单元,1 to 16,LAB C & C,6 to16,16,36,6 to16,I/O,控制块,6,6 to16,宏单元,1 to 16,LAB B,6 to16,16,36,6 to16,I/O,控制块,6,6 to16,宏单元,1 to 16,LAB D & C,6 to16,16,36,6 to16,I/O,控制块,6,6 to16,6,输出使能,6,输出使能,GCLK1,OE2/GCLK2,OE1,GCLRn1,6 to16 I/O,引脚,6 to16 I/O,引脚,6 to16 I/O,引脚,6 to16 I/O,引脚,MAX7000,系列器件由以下几个基本部分组成:,逻辑阵列块(,LAB,),宏单元(,MC,),输入,/,输出控制块(,I/O,控制块),可编程连线阵列(,PIA,),扩展乘积项,专用输入线(,4,个),4,个专用输入端可作为全局时钟(,CLK,)、,清除(,CLR,)、,输出使能(,OE,),信号,它们是为,MC,和,I/O,控制块提供的高速控制信号。,各,LAB,之间通过,PIA,(,Programmable Interconnection Array,),互连。信号经,PIA,传输后增加一个传输延时,t,PIA,。,对一确定型号的,EPLD,,,t,PIA,是一个固定值,不因信号在,PIA,中的路径不同而改变。这是,EPLD/CPLD,类,PLD,器件的优点。,7.3.2MAX7000,系列的,LAB,和,MC,MAX7000,系列中的各个型号可分别提供,2,16,个逻辑阵列块(,LAB,),,每个,LAB,中有,16,个宏单元(,MC,),,分为两组,每组,8,个。,MC,主要由逻辑阵列、乘积项选择矩阵和可编程触发器组成。图,7.3.2,为,MC,的结构图。,图,7.3.2 MAX7000,系列中宏单元(,MC,),的结构框图,CLRN,Q,PRN,乘,积项选择矩阵,并联扩展项,逻辑阵列,ENA,全局时钟,2,全局清除,Vcc,来自,I/O,引脚,去PIA,共享扩展项(,16,个),来自,PIA,的,36,个信号,清除选择,去,I/O,控制块,EEPROM,编程位,作为选择器的控制信号。,选择器,1.,逻辑阵列和乘积项选择矩阵,逻辑阵列实现“与运算”,,图,7.3.2,中每个与门实现一个乘积项,每个乘积项的变量可选自从,PIA,来的,36,个信号以及从本,LAB,来的,16,个共享扩展项信号。由逻辑阵列本身可实现,5,个乘积项,但使用扩展乘积项后可使一个,MC,实现多至,20,个的乘积项。,乘积项选择矩阵选取乘积项送入或门及异或门以构成组合逻辑函数。后接的可编程触发器的置位(,PRN,)、,清除(,CLRN,)、,时钟,(CLK),、,时钟使能(,ENA,),信号也可由乘积项选择矩阵从乘积项中选取。,2.,可编程触发器,可编程触发器可被设置实现,D,、,JK,、,T,、,RS,触发器的功能。,触发器的时钟工作方式可有三种:,选自全局时钟(,GCLK1,、,GCLK2,),。此方式工作速度最快。,带有时钟使能控制的全局时钟。时钟使能信号来自乘积项。时钟来自某一乘积项。,触发器的置位(,PRN,)、,清除(,CLRN,),均为异步方式。它们可选自乘积项,清除信号也可选自全局清除信号。,触发器的输入信号可来自组合逻辑部分(由乘积项选择矩阵决定),也可直接来自,I/O,引脚。来自,I/O,引脚时,可使器件的输入建立时间很短(,3ns,)。,此时的可编程触发器可作为寄存器快速捕获输入信号。,触发器也可根据需要被旁路掉,由组合逻辑部分直送,MC,的输出。,3.,扩展乘积项,使用扩展乘积项可增加,MC,的逻辑功能。有两种扩展乘积项:,(,1,)共享扩展项,由每个,MC,提供一个未使用的乘积项反馈回本,LAB,的逻辑阵列。这个乘积项称为共享扩展项。,(,2,)并联扩展项,一个,MC,未使用的乘积项可通过并联扩展项的方式提供给相邻的,MC,使用。,得到,15,个乘积项,图,7.3.3,并联扩展项使用例,乘积项,选择,矩阵,乘积项,选择,矩阵,乘积项,选择,矩阵,(n2),(n1),(n),提供,5,个乘积项,提供,5,5,个乘积项,来自,PIA,的,36,个信号,16,个共享扩展项,来自(,n-3,),MC,的并联扩展项,7.3.3MAX7000,系列的,I/O,控制块,I/O,控制块主要由多路选择器和输出缓冲门组成。图,7.3.4,为,MAX7000E/S,器件的,I/O,控制块的逻辑框图。,I/O,控制块可使对应的,I/O,引脚工作于输入、输出、双向三种方式之一。,图,7.3.4 MAX7000E/S,的,I/O,控制块,PIA,Vcc,GND,6,个全局输出使能,其他,I/O,控制块,来自宏单元,漏极开路输出控制,压摆率控制,去宏单元,去PIA,I/O,引脚,7.4CPLD/FPGA,CPLD,:,Complex PLD,(,复杂的的可编程逻辑器件),FPGA,:,Field Programmable Gate Array,(,现场可编程门阵列),本节以,FLEX10K,系列芯片为例介绍,CPLD/FPGA,类可编程器件的主要特点。,FLEX10K,系列是一种,高密度、高性能的可编程器件。它可提供,10000,250000,个等效门,。内带的嵌入式阵列增强了其运算处理能力。内带的,JTAG,边界扫描测试电路方便了对其工作状态的检测。,FLEX10K,的内部连接具有高速、延时固定并可预测的特点。,FLEX10K,采用,CMOS-SRAM,(,CMOS,静态随机存储器)的制作工艺,与,EEPROM,制作工艺的器件不同,用,CMOS-SRAM,工艺的,PLD,的编程配置信息在芯片断电后不能自己保存数据,需另加,ROM,类(如,EPROM,、,EEPROM,、,FLASHROM,等)器件保存编程配置信息并完成上电自动加载。虽然这增加了应用系统的复杂度,但可实现芯片的在线动态配置,这增强了器件的处理能力和应用灵活性。,7.4.1FLEX10K,的系统结构,FLEX10K,主要由嵌入式阵列块(,EAB,)、,逻辑阵列块(,LAB,)、,快速连线带(,FastTrack,)、,输入,/,输出单元(,IOE,),四个部分组成。,图,7.4.1,给出了它们的结构关系。,EAB,LAB,a,1,LAB,a,2,LAB,a,3,LAB,a,i,LAB,a,i+1,LAB,a,n-2,LAB,a,n-1,LAB,a,n,LAB,b,1,LAB,b,2,LAB,b,3,LAB,b,i,LAB,b,i+1,LAB,b,n-2,LAB,b,n-1,LAB,b,n,IOE,IOE,IOE,IOE,IOE,IOE,IOE,:,IOE,IOE,:,IOE,IOE,:,IOE,IOE,:,IOE,EAB,IOE,IOE,IOE,IOE,IOE,IOE, , ,:,:,:,:,:,:,:,:,:,:,:,:, , ,to a,5,快速连线带,to a,4,进位链与级联链,to b,5,to b,4,7.4.2FLEX10K,的嵌入式阵列块(,EAB,),EAB,为一个有,2048bit,的,RAM,块,其输入、输出带有寄存器,如图,7.4.2,所示。,D,D,D,D,6,8,4,2,1,8,4,2,1,2,4,8,16,24,/ROMM,data in,address,WE,RAM,data out,2568,5124,10242,20481,2,4,8,16,行连线带,列连线带,EAB,局部连线,专用输入与全局输入,清除,图,7.4.2FLEX10K,的嵌入式阵列块(,EAB,),7.4.3FLEX10K,的逻辑阵列块(,LAB,),一个,LAB,中包括,8,个逻辑单元(,LE,)、,进位链与级联链、控制信号以及,LAB,局部互连带,结构关系如图,7.4.3,所示。,16,24,4,4,8,LE1,LE2,LE3,LE4,LE5,LE6,LE7,LE8,8,6,4,4,2,进位链与级联链,进位链与级联链,专用输入与全局输入,LAB,局部互连,列连线带,行列连线带之间的互连,8,8,7.4.4FLEX10K,的逻辑单元(,LE,),LE,是,FLEX10K,结构中的基本处理单元。,图,7.4.4,为,LE,的结构。,每个,LE,包含一个四输入,LUT,(,查找表:,Look Up Table,),,一个带有使能和异步清除、置位的可编程触发器,一个进位链和一个级联链。,LE,的输出可选送到行、列快速连线带,也可反馈回本,LAB,的局部互连线带。,LE,有,4,种工作模式。,CLRN,图,7.4.4FLEX10K,的,逻辑单元(,LE),查找表(,LUT,),进位链,清除,/,置位逻辑,级联链,PRN,ENA,时钟选择,到快速互连通道,到,LAB,的局部互连,DATA1,DATA2,DATA3,DATA4,LABCTRL1,LABCTRL2,清除,LABCTRL3,LABCTRL4,触发器旁路,0,1,图,7.4.5 4,变量查找表(,LUT,),的结构,A,B,C,D,2,4,位,SRAM,2,选,1,选择器,F,0,1,1,0,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1.查找表(,LUT),LUT,为一种存储结构,可作为编程实现组合逻辑函数的一种方法。与基于乘积项的组合逻辑函数实现方法(,GAL、MAX7000,中)不同,,LUT,只需改变存储器的内容即可实现给定变量的任何组合函数,因而也称,LUT,为函数发生器。,图7.4.5为用,SRAM,和选择器构成的四变量,LUT,的框图。例如,实现函数, 基于乘积项方法需4个与门,一个或门。,LUT,法根据函数,F,的真值表(表7-3)将,F,的取值存入,SRAM。,而将输入变量作为四组二选一选择器的控制信号,低位控制前组、高位控制后组。图7.4.5的可实现4变量的任一组合逻辑函数,其复杂度和传输延时不随乘积项的多少而改变。,SRAM,查找表被认为是,FPGA,类,PLD,的特点之一,因而也将,FLEX10K,归入,FPGA,类。由于,SRAM,的内容在芯片掉电后不能保存,因而,FPGA,类芯片在应用时需加设非易失性存储器保存配置信息。,2可编程触发器,可编程触发器可被设置成,D、T、JK,或,SR,触发器。触发器的时钟(,CLK)、,清除(,CLR、,异步)、置位(,PRN、,异步)及使能(,ENA),可选自专用输入引脚或通用,I/O,引脚,也可由内部逻辑电路产生。由图7.4.4,可编程触发器和,LUT,的输出可以各自独立工作、分别输出。这提高了,LE,的利用率。,3. 进位链,进位链提供了,LE,之间的快速(0.2,ns),进位功能。低位,LE,的进位信号可经进位链送到高位,LE。,这一特点有助,FLEX10K,实现任意位的高速加法器、计数器和比较器。图7.4.6为借助进位链由,n+1,个,LE,实现的,n,位全加器。,LUT,的一部分组成三变量查找表产生两位输入信号及低进位的“和”,S,i,,,而另一部分也构成一个三变量查找表产生高进位通过进位链送到高位,LE。,图,7.4.6,借助进位链实现的,n,位全加器,3,变量,查找表,S,1,进位链连接,3,变量,查找表,触发器,C,1,LE(1),a,1,b,1,3,变量,查找表,S,2,进位链连接,3,变量,查找表,触发器,C,2,LE(2),a,2,a,2,3,变量,查找表,S,n,进位链连接,3,变量,查找表,触发器,C,n,LE(n),a,n,b,n,查找表,C,n,查找表,触发器,LE(n+1),4. 级联链,利用级联链,,LE,可实现多变量(多于4个)的组合逻辑函数。图7.4.7表示了用,n,个,LE,借助“或”级联链实现4,n,个变量组合逻辑函数,F,的结构图。可见各查找表呈并联工作,但级联链中每加入一级,LE,,输出信号的传输时延会附加一个量(约0.7,ns) 。,图7.4.7中的或门也可被设置成与门形成“与”级联链。,进位链和级联链为,LAB,中的各,LE,之间提供了快速通道,信号经由它们连接的传输时延小于经由行、列连线带的。各,LAB,之间的进位链和级联链的连接关系可由图7.4.1见。进位链和级联链连接同一,LAB,行中的间隔,LAB,之间,但它们不穿过,LAB,行中间位置处的,EAB。,EDA,编译器软件会根据要求自动建立进位链和级联链,用户也可用手动方式建立。但过多使用进位链和级联链会限制其它逻辑布线的灵活性。,图,7.4.7“,或”级联链,查找表,d 3,0,查找表,d 7,4,查找表,d (4n-1) ,(4n-4),F,LE1,LE2,LEn,5. LE,的工作模式,根据对,LE,中的,LUT,和可编程触发器的设置的不同,可把,LE,的工作模式分为四种。在这几种模式中,来自,LAB,局部互连的信号,DATA1DATA4,作为输入信号并有着不同的作用,输入信号还有进位链、级联链信号及来自,LE,输出的反馈信号。可编程触发器的时钟选择和异步进位、复位仍可均如图7.4.4所示。,(1)正常模式,如图7.4.8所示。,LUT,被设置为4输入查找表,4个输入来自,DATA1DATA4,及进位链输入。可编程触发器的输入数据可以是查找表的输出,也可选择直接来自局部互连。触发器和查找表可各自独立工作、分别输出。这种工作模式可接收输入进位链、级联链,产生输出级联链,但没有输出进位链。,进位输入,级联输入,级联输出,图,7.4.8LE,的正常工作模式,4,变量,查找表,CLRN,ENA,到快速互连通道,到,LAB,的局部互连,PRN,DATA1,DATA2,DATA3,DATA4,(2)运算模式,如图7.4.9所示。,LUT,被设置为两个三输入查找表。第一个查找表的输出可作用触发器。第二个查找表的输出连接到进位链送下级,LE。,这种工作模式可用于高速加法器、累加器和比较器。,图,7.4.9LE,的运算工作模式,3,变量,查找表,CLRN,ENA,LE,输出,PRN,DATA1,DATA2,进位输入,级联输入,级联输出,3,变量,查找表,进位输出,(3)加/减计数模式,如图7.4.10所示。设置,LUT,为两个三输入查找表,但输入的信号与运算模式不同。本,LE,的输出,Q,被反馈回送到查找表的输入,,DATA2,可作为加/减控制信号与,Q,及进位链来信号运算后再经进位链送到下级,LE。,本工作模式中,可编程触发器可以被同步加载数据,这是由,DATA3、DATA4,控制完成的。,CLRN,图,7.4.10LE,的加,/,减计数工作模式,3,变量,查找表,ENA,LE,输出,PRN,DATA1(ena),DATA2(u/d),进位输入,级联输入,级联输出,3,变量,查找表,进位输出,1,0,DATA3(data),DATA4(nload),(4)可清除的计数模式,如图7.4.11所示。类似加/减计数模式,但,DATA2,经与门作用触发器入端,因而,DATA2,可作为同步清除信号。这种模式没有级联链的输入,但有级联链输出。,CLRN,图,7.4.11LE,的可清除的计数工作模式,3,变量,查找表,ENA,LE,输出,PRN,DATA1(ena),DATA2(nclr),进位输入,级联输出,3,变量,查找表,进位输出,1,0,DATA3(data),DATA4(nload),图,7.4.12CPLD/EPLD,器件中的快速连线带,列互连通道,行互连通道,LAB,LAB,局部互连,7.4.5 FLEX10K,的快速连线带(,FastTrack,),行、列快速连线带由遍布于器件长、宽的一系列连续连接线(互连通道)组成,由图,7.4.1,和图,7.4.12,可见快速连线带和,LAB,、,EAB,在器件中的分布关系。由图,7.4.2,、,7.4.3,可见快速连线带与,EAB,、,LAB,的互连。为提高连接布线的效率,行连线带的互连通道分为全长和半长通道,半长通道仅能连接,LAB,行的一半,距离较近的,LAB,可通过半长通道互连。,连线带内采用连续连接线的布线方式称为连续式互连结构,这是,EPLD/CPLD,类器件的布线的特点。在这种连线结构中,不同位置处的逻辑阵列块的连接关系是固定的,这使得信号通过器件的延时可以预测,给器件的调测和使用带来了方便。,FPGA,类器件采用分段式互连结构,布线效率较高,但有着难以预测信号传输延时的缺点。,7.4.6 FLEX10K,的输入,/,输出单元(,IOE,),IOE,主要包含一个输出缓冲器和一个寄存器,如图,7.4.13,。,IOE,使,I/O,引脚可输入、输出、双向传送信号。当输入信号能保证的建立时间较短时,可用,IOE,寄存器快速捕获输入数据。输出信号时,,IOE,寄存器也可提供快速“时钟输出”性能。输出三态缓冲器可提供漏极开路输出的选择。输出电压的摆动速率也可由编程设置,这使得用户可调控输出信号的速度和噪声。,每个,IOE,的时钟可选自两个专用时钟线。,IOE,的清除、时钟使能、输出使能及时钟选自周边控制总线。共有,12,条周边控制总线,其上复用分配的信号有,8,个输出使能、,6,个时钟使能、,2,个时钟、,2,个清除和,4,个全局信号。每个周边控制总线的信号可由专用输入引脚驱动,也可由某一,LAB,特定行中的每个,LAB,的第一个,LE,驱动。,图,7.4.13FLEX10K,的,IOE,CLRn,ENA,Q,周边控制总线,CLRn1,0,12,2,Vcc,CLK1,0,CLK3,2,ENA5,0,Vcc,D,漏极开路输出,电压摆率控制,芯片复位,Vcc,芯片输出使能,专用时钟,来自行或列通道,到行或列连线带,来自行或列通道,来自行或列连线带,OE7,0,Vcc,IOE,作为输入单元时可驱动两个行通道或两个列通道。作为输出单元时,,IOE,可通过多路选择器从,m,个行通道或,k,个列通道中选择信号,,m,和,k,的数值随器件型号而定,例如,EPF10K10,的,m=18,,,k=16,。,7.5FPGA,FPGA,是一类,PLD,的总称。与,CPLD,类,PLD,类比,,FPGA,由可编程逻辑模块(,CLB,)、,可编程输入,/,输出模块(,IOB,)、,可编程互连资源三个主要部分组成。,与,CPLD,类,PLD,相比较,,FPGA,有着以下几个主要特点:,(1),编程配置技术基于,SRAM,,,便于实现在系统动态重构(,ICR,:,In Circuit,Reconfigurability,)。,但芯片掉电后,配置信息丢失,需另设非易失性存储器件保存配置信息并完成上电自动加载。,(2),基本逻辑模块的集成规模度与,CPLD,类的,LAB,比较相对较小,故称,FPGA,为“细颗粒结构”的,PLD,。,(3),内部布线采用分段式互连结构,布线效率较高。但信号在内互连的传输延时常难以预测。,本节以,XC4000,系列器件为例重点介绍,FPGA,的可编程逻辑模块、
展开阅读全文