- 26
- 0
- 约2.13千字
- 约 3页
- 2022-06-09 发布于安徽
- 举报
PLD
可编程逻辑器件(Programmable Logic Device ,PLD)能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,工程师可以通过原理图输入法,也可以通过硬件描述语言,还可以二者混合自由地设计一个数字系统。使用PLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。
在PLD的基础上,按照其内部结构又衍生出两个分支,即复杂可编程逻辑器件(Complex Programmable Logic Device ,CPLD)和现场可编程门阵列(Field Programable Gate Array ,FPGA) ,两者统称为可编程逻辑器件CPLD/FPGA。一般的把基于乘积技术,FLASH工艺的PLD叫做CPLD;把基于查找表技术,SRAM工艺,要外挂配置E2PROM的CPLD叫FPGA
基于乘积项的CPLD
图1 基于乘积的CPLD内部结构
CPLD主要分为三块:宏单元,可编程逻辑阵列和输入输出I/O控制块。
宏单元是CPLD的基本结构,由他来实现基本的逻辑功能。
可编程连线负责信号传递,连接所有的宏单元。
I/ O控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出、摆率控制、三态输出等。、摆率控制、三态输出等。
全局控制线用于全局时钟、清零和输出使能控制,其中使能线有专用连线与PLD中每个宏单元相连,信号到每个宏单元的延时相同并且延时最短。
图2 宏单元结构
图2左侧输入实际上就是一个与阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。图2中间的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。图右侧是一个可编程D触发器,他的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以把此触发器旁路,信号直接输给PIA或输出到I/O脚。
基于查表的FPGA结构
这种PLD结构主要包括这种PLD结构主要包括逻辑阵列块(Logic Array Block,LAB) ,输入输出块(Input Output Element ,I/ OE ) ,随机存储器块(Random Access Memory ,RAM未表示出)和可编程行/列连线。其中一个LAB包括8个逻辑单元(Logic Element ,LE) ,每个LE包括一个LUT一个触发器和相关的相关逻辑。LE是FLEX/ ACEX芯片实现逻辑的最基本结构。如图3所示。
图3 基于查表的FPGA内部结构
查找表简称为LUT(Look Up Table) ,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT ,所以每一个LUT可以看成一个有4位地址线的16×1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。以一个4输入与门为例子,见图4。
图4 LUT实现原理
功能比较
适合结构
一般认为CPLD是“逻辑丰富”型的,更适合完成各种算法和组合逻辑,FPGA是“时序丰富”型的,更适合于完成时序逻辑。换句话说,CPLD更适合于触发器有限而乘积项丰富的结构,而FPGA更适合于触发器丰富的结构。这是因为CPLD的一个宏单元可以分解十几个甚至20 ~30个组合逻辑输入。而FPGA的1个LUT只能处理4输入的组合逻辑,因此,CPLD适合用于设计译码等复杂组合逻辑。但FPGA的制造工艺确定了FPGA芯片中包含的LUT和触发器的数量非常多,集成度更高,而PLD一般只能做到512个逻辑单元,所以如果设计中使用到大量触发器,例如设计一个复杂的时序逻辑,就使用FPGA。
运行速度
一般,CPLD优于FPGA。这是因为CPLD是逻辑块级编程,且其逻辑块互连是集总式的,CPLD通过修改具有固定内连电路的逻辑功能来编程;而FPGA是门级编程,且LAB之间是采用分布式互连, FPGA主要通过改变内部连线的布线来编程。同时,由于CPLD有专用连线每个宏单元相连,信号到每个宏单元的延时相同并且延时最短。因此CPLD比FPGA有较大的时间可预测性,产品可以给出引脚到引脚的最大延迟时间。
编程方式
目前的CPLD主要是基于E2PROM或FLASH存储器编程,编程次数达1万次,其优点是在系统断电后,编程信息不丢失,且无需外部存储器芯片,使用简单。CPLD又可分为在编程器上编程和在系统编程(In System Programmable, ISP)两种。ISP器件的优点是不需要编程器,可先将器件装焊于印制板,再经过编程电缆进行编程,编程、调试和维护都很方便。FPGA大部分是基于SRAM编程
原创力文档

文档评论(0)