什么是可编程逻辑器件?

元器件信息   2022-11-28 14:52   400   0  

目录

1.基本概念
2.优点
3.分类
4.编程语言
5.PLD开发工具

  随着数字电路的普及,传统的定制数字集成电路器件已满足不了应用的需求,因此可编程逻辑器件(PLD)应运而生,并逐渐成为主流产品。PLD与传统定制器件的主要区别是它的可编程性,它的逻辑功能是由用户设计的,并且一般都可重复编程和擦除。下面一起来了解可编程逻辑器件的相关知识。

  1.基本概念

  可编程逻辑器件 英文全称为:programmable logic device 即 PLD。PLD是做为一种通用集成电路产生的,他的逻辑功能按照用户对器件编程来确定。一般的PLD的集成度很高,足以满足设计一般的数字系统的需要。这样就可以由设计人员自行编程而把一个数字系统“集成”在一片PLD上,而不必去请芯片制造厂商设计和制作专用的集成电路芯片了。

  PLD与一般数字芯片不同的是:PLD内部的数字电路可以在出厂后才规划决定,有些类型的PLD也允许在规划决定后再次进行变更、改变,而一般数字芯片在出厂前就已经决定其内部电路,无法在出厂后再次改变,事实上一般的模拟芯片、混讯芯片也都一样,都是在出厂后就无法再对其内部电路进行调修。

  典型的PLD一般都是二级结构,通常第一级为“与阵列”,第二级为“或阵列”。由“与阵列”输入,进行逻辑“与”组合,形成乘积项,再由这些不同的乘积项通过“或阵列”构成所需求的逻辑函数输出。

可编程逻辑器件

可编程逻辑器件

  2.优点

  (1)PLD允许客户在需要时仅订购所需要的数量,从而使客户可控制库存。

  (2)PLD不需要漫长的前置时间来制造原型或正式产品,PLD器件已经放在分销商的货架上并可随时付运。

  (3)PLD甚至在设备付运到客户那儿以后还可以重新编程。客户可根据需要修改电路直到对设计工作感到满意为止。一旦设计完成,客户可立即投入生产,只需要利用最终软件设计文件简单地编程所需要数量的PLD就可以了。

  (4)PLD不需要客户支付高昂的NRE成本和购买昂贵的掩模组,设计人员可利用价格低廉的软件工具快速开发、仿真和测试其设计。然后,可快速将设计编程到器件中,并立即在实际运行的电路中对设计进行测试。原型中使用的PLD器件与正式生产最终设备(如网络路由器、DSL调制解调器、DVD播放器、或汽车导航系统)时所使用的PLD完全相同。

复杂可编程逻辑器件

复杂可编程逻辑器件

  3.分类

  根据PLD器件的“与阵列”和“或阵列”的编程情况及输出形式,可编程逻辑器件通常可分为如下四类:

  第一类:“与阵列”固定、“或阵列”可编程的PLD器件

  以可编程只读存储器(PROM)为代表。可编程只读存储器(PROM)是组合逻辑阵列,它包含一个固定的“与阵列”和一个可编程的“或阵列”,其中的“与阵列”是全译码形式,它产生输入变量的所有最小项。

  PROM的每个输出端通过“与阵列”将这些最小项有选择地进行“或”运算,即可实现任何组合逻辑函数。由于“与阵列”能够产生输入变量的全部最小项,所以用PROM实现组合逻辑函数不需要进行逻辑化简。但随着输入变量数的增加,“与阵列”的规模会迅速增大,其价格也随之大大提高,而且“与阵列”越大,译码开关时间就越长,相应的工作速度也越慢。因此,实际上只有规模较小的PROM可以有效的实现组合逻辑函数,而大规模的PROM价格高、工作速度低,一般只作为存储器使用。

  第二类:“与阵列”和“或阵列”均可编程的PLD器件

  以可编程逻辑阵列(PLA)器件为代表。PLA的“与阵列”不是全译码形式,它可以通过编程控制只产生函数最简与或式中所需要的“与”项。因此,PLA器件的“与阵列”规模减小,集成度相对提高。

  由于PLA只产生函数最简与或式中所需要的“与”项,因此PLA在编程前必须先进行函数化简。另外,PLA器件需要对两个阵列进行编程,编程难度较大,而且PLA器件的开发工具应用不广泛,编程一般由生产厂家完成。

  第三类:“与阵列”可编程、“或阵列”固定的PLD器件

  以可编程阵列逻辑(PAL)器件为代表。这类器件的每个输出时若干个乘积项之或,其中乘积项的数目固定。通常PPAL的乘积项数允许达到8个,而一般逻辑函数的最简与或式中仅需要完成3~4个乘积项“或”运算。因此,PLA的这种阵列结构很容易满足大多数逻辑函数的设计要求。

  PAL有几种固定的输出结构,如专用输出结构、可编程I/O结构、带反馈的寄存器输出结构及异或型输出结构等。一种输出结构只能实现一定类型的逻辑函数,其通用性较差,这就给PAL器件的管理及应用带来了不便。

  第四类:具有可编程输出逻辑宏单元的通用PLD器件

  以可编程通用阵列逻辑(GAL)器件为主要代表。GAL器件的阵列结构与PAL器件相同,都是采用“与阵列”可编程而“或阵列”固定的形式。两者的主要区别是输出结构不同。PLA器件的输出结构是固定的,一种结构对应一种类型芯片。如果系统中需要几种不同的输出形式,就必须选择多种芯片来实现。GAL器件的每个输出端都集成有一个输出逻辑宏单元(OLMC)。

  输出逻辑宏单元是可编程的,通过编程可以决定该电路完成组合逻辑还是时序逻辑功能,是否需要产生反馈信号,并能实现输出使能控制及输出极性选择等。因此,GAL器件通过对OLMC的编程可以实现PAL的各种输出结构,使芯片具有很强的通用性和灵活性。如图所示是可编程逻辑器件的集成密度分类。

可编程逻辑器件的集成密度分类

可编程逻辑器件的集成密度分类

  4.编程语言

  可编程逻辑器件的编程语言为hardware description language(硬件描述语言),简称:HDL。HDL并非仅有一种,而是有许多种,如ABEL、AHDL、Confluence、CUPL、HDCal、JHDL、Lava、Lola、MyHDL、PALASM、RHDL等都是,但目前最具知名也最普遍使用的是VHDL与Verilog。

  5.PLD开发工具

  基于高复杂度PLD器件的开发,在很大程度上要依靠电子设计自动化(EDA)来完成。PLD的EDA工具以计算机软件为主,将典型的单元电路封装起来形成固定模块并形成标准的硬件开发语言(如HDL语言)供设计人员使用。设计人员考虑如何将可组装的软件库和软件包搭建出满足需求的功能模块甚至完整的系统。PLD开发软件需要自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合。

  随着开发规模的级数性增长,就必须减短PLD开发软件的编译时间、并提高其编译性能以及提供丰富的知识产权(IP)核资源供设计人员调用。此外,PLD开发界面的友好性以及操作的复杂程度也是评价其性能的重要因素。

简单可编程逻辑器件

简单可编程逻辑器件

  本文总结了可编程逻辑器的基本概念、分类、编程语言以及开发工具。总而言之,可编程逻辑器件是一种用户可以根据自己的实际需要使用硬件描述语言编程来确定逻辑功能的集成电路、芯片。

登录icspec成功后,会自动跳转查看全文
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。