《浅析PLD总体结构及逻辑实现原理.docx》由会员分享,可在线阅读,更多相关《浅析PLD总体结构及逻辑实现原理.docx(3页珍藏版)》请在第一文库网上搜索。
1、浅析P1D总体结构及逻辑实现原理一、基于乘积项(ProdUCt-匹nn)的P1D结构采用这种结构的P1D芯片有:AItera的MAX7000,MAX3000系列(EEPROM工艺),XiIinX的XC9500系列(FIaSh工艺)和1attice,CyPreSS的大部分产品(EEPRoM工艺)我们先看一下这种P1D的总体结构(以MAX7000为例,其他型号的结构与此都非常相似):NPuTaaGINPUTiOC1RnC=XINPVTgFVTC2O1MAI4ce48I/O狗拄钠注Bk)1Moo1C:袁sqWO17I7,WS制拱WC图1基于乘积项的P1D内部结构这种P1D可分为三块结构:宏单元(Ma
2、roce11),可编程连线(A)和I/O控制块。宏单元是P1D的基本结构,由它来实现基本的逻辑功能。图1中兰色部分是多个宏单元的集合(因为宏单元较多,没有一一画出)。可编程连线负责信号传递,连接所有的宏单元。I/O控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。图1左上的INPUT/GC1K1,INPUT/GC1Rn,INPUTOE1,INPUT/0E2是全局时钟,清零和输出使能信号,这几个信号有专用连线与P1D中每个宏单元相连,信号到每个宏单元的延时相同并且延时最短。宏单元的具体结构见下图:图2宏单元结构左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点
3、都是一个可编程熔丝,如果导通就是实现“与”逻辑。后面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。图右侧是一个可编程D触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA或输出到I/O脚。二、乘积项结构P1D的逻辑实现原理下面我们以一个简单的电路为例,具体说明P1D是如何利用以上结构实现逻辑的,电路如下图:假设组合逻辑的输出(AND3的输出)为f,则f=(A+B)*C*(!D)=A*C*!D+B*C*!D(我们以!D表示D的“非”)P1D将以下面的方式来
4、实现组合逻辑f:h图4A,B,C,D由P1D芯片的管脚输入后进入可编程连线阵列(PIA),在内部会产生A,A反,B,B反,3C反,D,D反8个输出。图中每一个叉表示相连(可编程熔丝导通),所以得到:f=f1+f2=(*C*!D)+(B*C*!D)。这样组合逻辑就实现了。图3电路中D触发器的实现比较简单,直接利用宏单元中的可编程D触发器来实现。时钟信号C1K由I/O脚输入后进入芯片内部的全局时钟专用通道,直接连接到可编程触发器的时钟端。可编程触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样P1D就完成了图3所示电路的功能。(以上这些步骤都是由软件自动完成的,不需要人为干预)图3的电路是一个很简单的例子,只需要一个宏单元就可以完成。但对于一个复杂的电路,一个宏单元是不能实现的,这时就需要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到可编程连线阵列,再做为另一个宏单元的输入。这样P1D就可以实现更复杂逻辑。这种基于乘积项的P1D基本都是由EEPROM和F1ash工艺制造的,一上电就可以工作,无需其他芯片配合。