欢迎来到天天文库
浏览记录
ID:59219763
大小:108.00 KB
页数:7页
时间:2020-09-09
《可编程逻辑器件的认识.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、可编程逻辑器件的认识[器件篇1]可编程逻辑器件到底是个什么东西呢?先举个很简单但是比较艺术的例子吧,像一块空白的画布,你可以在上面做随意做绘画的事情,你要做行为艺术也可以,嘿嘿,因此它的最大一个特点就是可编程性了,当然也不是说它做什么都可以做,如果你想用空白的画布来做雕塑的话,我倒是想见识一下,:)呵呵……言规正传,可编程逻辑器件通俗点讲就是比GAL(如16V8等)更大,门数更多而且使用上更灵活的GAL(但跟GAL上稍有区别,下面会讲到),因此在这里就有了新名词了,叫CPLD(ComplexProgramableLogicD
2、evice)或者FPGA(FieldProgramableGateArray)。因此,可以笼统地讲,凡是涉及到数字电路的设计,可编程逻辑器件都可以实现和完成。据我所知,国内的号称的第一块自主产权的CPU“龙芯”就是在先在FPGA上实现后,然后验证,成功后才拿去流片的;而很多的ASIC其实上也是在CPLD或者FPGA上实现验证后拿去流片的。现在的可编程逻辑器件绝大部分都只能完成数字信号的处理,如果需要对模拟量信号的处理,那CPLD/FPGA就无能为力了,但现在已经出现了可编程的模拟器件的趋势了。对于数字电路来说,所有的组合逻辑
3、都可以通过最简的“与-或-非”表达式来完成,因此我们如果要实现一些数字逻辑功能的话,完全可以在一块可以编程的“与-或-非”的逻辑阵列上通过编程来实现所需要的功能,如同简单的GAL可以实现的功能一样,在GAL的结构里来讲,它的与阵是可编程的,而或阵是固定连接的。但它的输出完全由用户定义,得以用户能完成任何所需要的逻辑功能。而对于CPLD/FPGA来讲,器件内部的结构基本上是基于两种结构的,一种是乘积项(Product-Term),一种是基于查找表(Look-Up-Table)。1.先看一下基于乘积项的CPLD的结构。如下面的图
4、所示。此主题相关图片如下:这种CPLD可分为三块结构:宏单元(Marocell),可编程连线(PIA)和I/O控制块。宏单元是PLD的基本结构,由它来实现基本的逻辑功能。图1中蓝色部分是多个宏单元的集合(因为宏单元较多,没有一一画出)。可编程连线负责信号传递,连接所有的宏单元。I/O控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。图1左上的INPUT/GCLK1,INPUT/GCLRn,INPUT/OE1,INPUT/OE2是全局时钟,清零和输出使能信号,这几个信号有专用连线与PLD中每个
5、宏单元相连,信号到每个宏单元的延时相同并且延时最短。宏单元的具体结构见下图:此主题相关图片如下:左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。后面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。图右侧是一个可编程D触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA或输出到I/O脚。再讲一讲基于乘积项的结构的CPLD是如何实现数字电路
6、的。此主题相关图片如下:假设组合逻辑的输出(AND3的输出)为f,则f=(A+B)*C*(!D)=A*C*!D+B*C*!D(我们以!D表示D的“非”)。CPLD将以下面的方式来实现组合逻辑f:此主题相关图片如下:A,B,C,D由CPLD芯片的管脚输入后进入可编程连线阵列(PIA),在内部会产生A,A反,B,B反,C,C反,D,D反8个输出。图中每一个叉表示相连(可编程熔丝导通),所以得到:f=f1+f2=(A*C*!D)+(B*C*!D)。这样组合逻辑就实现了。图3电路中D触发器的实现比较简单,直接利用宏单元中的可编程D触
7、发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的全局时钟专用通道,直接连接到可编程触发器的时钟端。可编程触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样PLD就完成了图3所示电路的功能。(以上这些步骤都是由软件自动完成的,不需要人为干预)。图3的电路是一个很简单的例子,只需要一个宏单元就可以完成。但对于一个复杂的电路,一个宏单元是不能实现的,这时就需要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到可编程连线阵列,再做为另一个宏单元的输入。这样PLD就可以实现更复杂逻辑。这种基于乘积项的PL
8、D基本都是由EEPROM和Flash工艺制造的,一上电就可以工作,无需其他芯片配合。2.先看看查找表(Look-Up-Table)的原理和结构采用这种结构的PLD芯片我们也可以称之为FPGA:如altera的ACEX,APEX系列,xilinx的Spartan,Virtex系列等。查找表(
此文档下载收益归作者所有