0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

可编程逻辑器件基础

工程师 来源:网络整理 作者:h1654155205.5246 2019-03-08 14:45 次阅读

编程逻辑器件基础

1、数字逻辑设计历史-------了解历史进展

开始时:有复杂的逻辑关系,是我们初学者刚刚接触的数电方面的基础应用,设计一个基础的TTL逻辑,根据真值表-----卡诺图-----简历函数式逻辑表达式,举个例子:X=AB+CD+BD+BC+AD+AC,需要很多的基础逻辑单元,但是如果利用异或关系,可转换成:

可编程逻辑器件基础

利用这样的组合逻辑,这样可以将数量众多的基本逻辑单元简化,硬件相对变简单了。

如果逻辑功能和寄存器组合到一个部件,通过布线(布线相当于一种控制)就可以得到一个简单的PAL---可编程阵列逻辑,一种简单的可编程控制单元,器件中的数量变少,占用更少的电路板,设计灵活,可防止逆向剖析,容易更新设计。

可编程逻辑器件基础

针对PAL的编程技术实质(当前闪存技术的关键):阵列交叉(跨线)上的浮栅型晶体管(含有第二个栅极,浮动栅极)在加上编程电压后,不会导通。以下两种晶体管不做任何设置,都可用作N型晶体管,栅极接地时,源级和漏极导通。当栅极设置电压后,电子被限制在浮动栅极,纵使浮动栅极设置电压值,晶体管依旧不导通,这样总是关断,相当于一个开关。

可编程逻辑器件基础

2、可编程逻辑基本技术

了解器件本身:

从PAL到可编程逻辑器件PLD,在单个器件中排列多个PAL阵列,存在可变的可乘积项分配和全面可编程宏单元。

可变的可乘积项分配:简单的想法,改变或门、与门的数量,不会浪费逻辑门,不需要复杂的延时网络

可编程逻辑器件基础

灵活的可编程宏单元(主要进步):提供多种可编程选择,实现乘积和输出。

可编程逻辑器件基础

PLD进一步发展形成复杂的PLD(CPLD)-----在一个器件中,采用可编程互联和I/O,连接多个PLD:

可编程逻辑器件基础

CPLD的特性:

CPLD逻辑模块通常被称为逻辑阵列模块(LAB),每个LAB相当于一个PLD,含有4-20个宏单元,该宏单元还存在扩展项,提供可操控的乘积项分配和扩展,代价是额外的延时。即,建立一次乘积项就可以使用,大大减少了逻辑浪费。

LAB之间的互联称为可编程互联阵列(PI或PIA),和PAL可编程阵列相同的编程技术(两种晶体管,EPROM、EEPROM或者闪存技术编程),配置更高级,实现灵活的可编程关键,全局布线连接器件中的任何信号和任何目的位置。

单独的I/O控制模块,由PI将I/O引脚与LAB分开,I/O都有专用逻辑提供控制以及更多的功能,三态缓冲控制实现任意引脚的输入、输出和双向功能。

采用JTAG进行在系统编程(ISP)

由于可编程逻辑越来越大、越来越复杂,必须放在特定的条件下编译,器件放在特殊的单元,或者器件上加一些特殊装置,不能在线编译,故设计了一种和I/O分开的编程接口,几乎所有的FPGA都使用JTAG接口,简单的4、5线串行接口,构成单个器件长1位寄存器或者多个器件的JTAG链,可用于器件自检测或者系统编程(ISP),当PLD硬件生成EPROM编程电压,由JTAG接口进行控制,简化了实验室自编程。

从CPLD到FPGA:理论上我们可以一直增加LAB,但是这样大大增加了额外的全局布线,但是如果LAB本身重新排列一个阵列中呢?这就是FPGA的由来。

现场可编程门阵列(FPGA):LAB排列在大型阵列中,器件可以现场编程或重新编程,行列可编程互联,通过这中互联方式(在行列之间设置互联布线)可以跨越所有或者部分的阵列。

可编程逻辑器件基础

FPGA的LAB设计和CPLD不同,没有乘积项和宏单元,FPGA-LAB由逻辑单元(LE)构成,LE级联更容易建立复杂的功能,LE实质是一个4位查找表(LUT)、进位逻辑、输出寄存器逻辑构成。

可编程逻辑器件基础

4位查找表 LUT替代了CPLD中的乘积项阵列,LUT是由一系列级联复用的器件构成,LUT输入作为选择线,复用输入作为高或者低逻辑电平,之所以逻辑被称作查找表,通过差找正确的编程级,来选择输出,根据输入的值通过复用输入,将输出送到正确的位置,编程级的选择基于函数真值表,故可以灵活的建立一个组合函数(级联复用器),减少逻辑资源浪费。

可编程逻辑器件基础

LE同步部分来自可编程寄存器,该寄存器和CPLD宏单元相似,但配置灵活,配置为D\T\JK或者SR触发器工作,一般由全局的时钟来驱动时钟,任何时钟可驱动任何LE,可通过其他逻辑或者IO进行寄存器的异步控制,器件还可以反馈回LUT,产生严格的组合逻辑功能,这种寄存器只使用存贮、同步功能,这种灵活的LE输出级适合所有类型的逻辑操作。

LE和宏单元不同之处在于进位逻辑和LAB寄存器链逻辑,LE之间存在进位bit链,这种进位可以输出到别的LE,也可以输出到互联中,寄存器输出可以链接至LAB中的其他LE寄存器,形成和LUT无关的移位寄存器(适合DSP峰作),增强资源管理。

更高级的FPGA使用自适应逻辑模块(ALM)代替LE,提高性能和资源利用率,使用自适应的LUT(ALUT)可以任意划分,智能资源管理。

FPGA布线

所有器件资源都可以和器件中的任何布线连接,分为本地互联(LE之间互联、相邻LAB直接连接)、行列互联(固定长度布线、跨过多个LAB)。

FPGA IO单元

高级可编程模块可直接连接至行或者列互联,具有多种优良特性,同时存在特殊的逻辑。

其他典型FPGA特性

采用专用功能硬件模块代替某些LAB,存储器模块、嵌入式乘法器、高速收发器。(多查一下手册,看是否满足要求)

FPGA编程

大部分FPGA使用SRAM单元技术(基本是个锁存器)对互联和LUT功能进行编程,必须在上电时进行编程,数据易丢失。FPGA编程信息必须存储在某一位置,以便在上电时对器件进行编程。主动编程方式:上电时FPGA自动控制编程顺序;被动编程:智能主机(CPU)控制编程;JTAG编程:实验室PC端编程。

3、对比CPLD和FPGA

可编程逻辑器件基础

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    可编程逻辑器件的特征及优势科普

    可编程逻辑器件是一种集成电路,具有可编程功能的特性。它们可以根据用户的需求进行编程,从而实现不同的逻辑功能。
    的头像 发表于 02-26 18:24 621次阅读

    近日AMD宣布将停产多种可编程逻辑器件

    近日AMD宣布,将停产多种可编程逻辑器件,包括 XC9500XL,CoolRunner XPLA 3、CoolRunner II、Spartan II 和 Spartan 3、3A、3AN、3E、3ADSP ,以及面向商业/工业的“XC”和面向汽车“XA”产品系列。
    的头像 发表于 01-24 17:37 480次阅读
    近日AMD宣布将停产多种<b class='flag-5'>可编程逻辑器件</b>

    什么叫可编程逻辑器件 可编程逻辑器件有哪些特征和优势?

    可编程逻辑器件(Programmable Logic Device,PLD)是一类集成电路器件,可以根据用户的需求进行编程和配置,以实现特定的逻辑功能。它们具有
    发表于 09-14 15:25 1367次阅读

    Lesson02:可编程逻辑器件基础 - 第12节

    可编程逻辑可编程逻辑器件
    充八万
    发布于 :2023年08月20日 03:32:01

    Lesson02:可编程逻辑器件基础 - 第11节

    可编程逻辑可编程逻辑器件
    充八万
    发布于 :2023年08月20日 03:31:10

    Lesson02:可编程逻辑器件基础 - 第10节

    可编程逻辑可编程逻辑器件
    充八万
    发布于 :2023年08月20日 03:30:19

    Lesson02:可编程逻辑器件基础 - 第9节

    可编程逻辑可编程逻辑器件
    充八万
    发布于 :2023年08月20日 03:29:28

    Lesson02:可编程逻辑器件基础 - 第8节

    可编程逻辑可编程逻辑器件
    充八万
    发布于 :2023年08月20日 03:28:37

    Lesson02:可编程逻辑器件基础 - 第7节

    可编程逻辑可编程逻辑器件
    充八万
    发布于 :2023年08月20日 03:26:55

    Lesson02:可编程逻辑器件基础 - 第6节 #硬声创作季

    可编程逻辑可编程逻辑器件
    充八万
    发布于 :2023年08月20日 03:26:04

    Lesson02:可编程逻辑器件基础 - 第5节

    可编程逻辑可编程逻辑器件
    充八万
    发布于 :2023年08月20日 03:25:14

    Lesson02:可编程逻辑器件基础 - 第1节

    可编程逻辑可编程逻辑器件
    充八万
    发布于 :2023年08月20日 03:21:49

    可编程逻辑器件有哪几种 fpga和cpld的特点

    可编程逻辑阵列(Programmable Logic Array, PLA):PLA是最早的可编程逻辑器件之一,由与非门阵列和或门阵列组成,通过编程配置来实现特定的逻辑功能。
    发表于 07-04 15:28 1467次阅读

    可编程逻辑器件测试

    可编程逻辑器件 (Programmable Loeie Device,PLD)是一种用户编程实现某种逻辑功能的逻辑器件,主要由
    发表于 06-06 15:37 430次阅读
    <b class='flag-5'>可编程逻辑器件</b>测试

    可编程逻辑器件测试方法

    可编程逻辑器件 (Programmable Loeie Device,PLD)是一种用户编程实现某种逻辑功能的逻辑器件,主要由
    的头像 发表于 06-06 15:35 741次阅读
    <b class='flag-5'>可编程逻辑器件</b>测试方法