zoukankan      html  css  js  c++  java
  • 1.1 PLD、FPGA概述

    1 、常见的简称:

    FPGA :现场可编程门阵列,Field-Programmable Gate Array

    PLD :可编程逻辑器件,programmable logic device

    ASIC :专用集成电路,Application Specific Integrated Circuit

    LUT :查找表,Look-Up-Table

    CLB :可配置逻辑块,Configurable Logic Block


    2、可编程逻辑器件PLD

    可编程逻辑器件(PLD)是厂家作为一种通用型器件生产的半定制电路,用户利用软件和硬件开发工具对器件进行设计和编程,通过配置、更改器件内部逻辑单元和连接结构,从而实现所需要的逻辑功能。

    2.1 PLD优点:

    可编程逻辑器件(CPLD)可在任何时间改变,从而完成许多种不同的功能。设计人员可利用价格低廉的软件工具快速开发、仿真和测试其设计。 然后,可快速将设计编程到器件中,并立即在实际运行的电路中对设计进行测试。另一个关键优点是在设计阶段中客户可根据需要修改电路,直到对设计工作感到满意为止。 这是因为PLD基于可重写的存储器技术--要改变设计,只需要简单地对器件进行重新编程。 一旦设计完成,客户可立即投入生产,只需要利用最终软件设计文件简单地编程所需要数量的PLD就可以了。

    2.2 PLD主要类型

    可编程逻辑器件的两种主要类型是:现场可编程门阵列(FPGA)和复杂可编程逻辑器件(PLD)。

    在这两类可编程逻辑器件中,FPGA提供了最高的逻辑密度、最丰富的特性和最高的性能。 现在最新的FPGA器件,如Xilinx Virtex系列中的部分器件,可提供八百万"系统门"(相对逻辑密度)。 这些先进的器件还提供诸如内建的硬连线处理器(如IBM Power PC)、大容量存储器、时钟管理系统等特性,并支持多种最新的超快速器件至器件(device-to-device)信号技术。 FPGA被应用于范围广泛的应用中,从数据处理和存储,以及到仪器仪表、电信和数字信号处理等。

    PLD有可编程只读存储器(PROM)、可擦除可编程存储器(EPROM)、可编程逻辑阵列(简称PLA)、可编阵列逻辑(简称PAL)和通用阵列逻辑(简称GAL)等几种。

                                 (按器件集成度的粗暴划分方法)

    2.2.1 按器件结构类型划分:

    (1):乘积项结构器件。其基本结构为“与-或阵列”的器件。简单PLDEPLDCPLD都属于此类器件

    (2):查找表结构器件。其基本结构类似于“门阵列”的器件,它由简单的查找表组成可编程逻辑门,再构成阵列形式。大多数FPGA都属于此类器件。

    2.2.2 根据其掉电后重新上电能否保持变成信息划分

    (1):CPLD。掉电后重新上电还能持编程信息的器件。

    (2):FPGA。掉电后不能保持编程信息的器件。


    3 、FPGA基本知识

    目前,主流FPGA都采用基于SRAM工艺的查找表结构。由存放在片内RAM 中的程序来设置其工作状态的,因此,工作时需要对片内的RAM 进行编程。用户可以根据不同的配置模式,采用不同的编程方式。

    需要在使用时外接一个片外存储器以保存程序。上电后,FPGA把外部存储器中的数据读入片内RAM,完成配置后,进入工作状态;掉电后,FPGA的内部逻辑消失。

    因此,FPGA 能够反复使用。FPGA 的编程无须专用的FPGA 编程器,只须用通用的EPROM、PROM 编程器即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA 的使用非常灵活。

    3.1 查找表

    LUT本质就是一个RAM,常见的是4输入或者6输入。可看成一下有4(或6)位地址线的16x1(或64x1)的RAM。用户通过HLD语言描述一个逻辑电路,FPGA开发软件计算后把真值表写进RAM。相当于一个N选1的数据选择器。

    这样对输入信号进行逻辑运算就相当于输入一个地址进行查表,找出并输出地址对应的内容。如果把输出的D触发器旁路而直接输出,则便实现了组合逻辑,反之,如果有D触发器则实现了时序逻辑。

    3.2  结构

    (1)乘积项结构

    左图就是所谓的乘积项结构,它实际上就是一个与或结构。可编程交叉点一旦导通,则实现了“与”逻辑,后面带有一个固定编程的“或”逻辑,这样就形成了一个组合逻辑。

    右图实现了

                   


     

     

  • 相关阅读:
    安卓学习39
    安卓学习38
    Python+Selenium学习--打印当前页面的title及url
    Python+Selenium学习--访问连接
    Python+Selenium学习--浏览器设置
    Python+Selenium学习--启动及关闭浏览器
    Go语言学习笔记(十八)之文件读写
    Go语言学习笔记(十七)之命令行参数
    Go语言学习笔记(十六)之格式化输入输出
    Go语言学习笔记(十五)之异常处理
  • 原文地址:https://www.cnblogs.com/l20902/p/10610943.html
Copyright © 2011-2022 走看看