FPGA(Field Programmable Gate Array):即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA的使用非常灵活,同一片FPGA通过不同的编程数据可以产生不同的电路功能。FPGA在通信、数据处理、网络、仪器、工业控制、军事和航空航天等众多领域得到了广泛应用。随着功耗和成本的进一步降低,FPGA还将进入更多的应用领域。

PAL(Programmable Array Logic):可编程逻辑阵列,是70年代末由MMI公司率先推出的一种低密度,一次性可编程逻辑器件,第一个具有典型实际意义的可编程逻辑器件(PLD- Programmable Logic Device)。它采用双极型工艺制作,熔丝编程方式。PAL器件由可编程的与逻辑阵列、固定的或逻辑阵列和输出电路三部分组成。通过对与逻辑阵列编程可以获得不同形式的组合逻辑函数。另外,在有些型号的PAL器件中,输出电路中设置有触发器和从触发器输出到与逻辑阵列的反馈线,利用这种PAL器件还可以很方便地构成各种时序逻辑电路。

GAL(Generic Array Logic):通用阵列逻辑,GAL器件是从PAL发现过来的,其采用了EECMOS工艺使得该器件的编程非常方便,另外由于其输出采用了逻辑宏 单元结构(OLMC—Output Logic Macro Cell),使得电路的逻辑设计更加灵活。GAL的优点:

  1.具有电可擦除的功能,克服了采用熔断丝技术只能一次编程的缺点,其可改写的次数超过100次;

  2.由于采用了输出宏单元结构,用户可根据需要进行组态,一片GAL器件可以实现各种组态的PAL器件输出结构的逻辑 功能,给电路设计带来极大的方便;

  3.具有加密的功能,保护了知识产权;

  4.在器件中开设了一个存储区域用来存放识别标志——即电子标签的功能。 

  GAL器件的基本结构,GAL有五个部分组成:

  1.输入端:GAL16V8的2~9脚共8个输入端,每个输入端有一个缓冲器,并由缓冲器引出两个互补的输出到与阵列;

  2.与阵列部分:它由8根输入及8根输出各引出两根互补的输出构成32列,即与项的变量个数为 16;8根输出每个输出对应于一个8输入或门(相当于每个输出包含8个与项)构成64行,即GAL16V8的与阵列为一个32×64的阵列,共2048个可编程单元(或结点);

  3.输出宏单元:GAL16V8共有8个输出宏单元,分别对应于12~19脚。每个宏单元的电路可以通过编程实现所有PAL输出结构实现的功能;

  4.系统时钟:GAL16V8的1脚为系统时钟输入端,与每个输出宏单元中D触发器时钟输入端相连,可见GAL器件只能实现同步时序电路,而无法实现异步的时序电路;

  5.输出三态控制端:GAL16V8的11脚为器件的三态控制公共端。

EPLD(Erasable Programmable Logic Device):可擦除可编辑逻辑器件,是一种集成电路,包括一系列的编程逻辑器件,其无需进行再次连接。

PLD器件的设计步骤

  1.电路逻辑功能描述

  PLD器件的逻辑功能描述一般分为原理图描述和硬件描述语言描述,原理图描述是一种直观简便的方法,它可以将现有的小规模集成电路实现的功能直接用PLD器件来实现,而不必去将现有的电路用语言来描述,但电路图描述方法无法做到简练;硬件描述语言描述是可编程器件设计的另一种描述方法,语言描述可能精确和简练地表示电路的逻辑功能,现在在PLD的设计过程中广泛使用,并且有更加浒的趋势,常用的硬件描述语言有ABEL,VHDL语言等,其中ABEL是一种简单的硬件描述语言,其支持布尔方程、真值表、状态机等逻辑描述,适用于计数器、译码器、运算电路、比较器等逻辑功能的描述;VHDL语言是一种行为描述语言,其编程结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主流。

  2.计算机软件的编程及模拟

  不管是用硬件描述语言描述的逻辑还是用原理图描述的逻辑,必须通过计算机软件对其进行编译,将其描述转换为经过化简的布尔代数表达式(即通常的最简与或表达式),编译软件再根据器件的特点将表达式适配进具体的器件,最终形成PLD器件的熔断丝文件(通常叫做JEDEC文件,简称为JED文件)。

  通常在将用户设计的逻辑下载到具体器件中前,为了检查设计的结果是否正确,通常可以通过计算机软件进行模拟,检查其设计结果是不否与设计要求相符。

  3.通过编程器将JED文件下载到PLD器件中

  在上步中形成的熔断丝文件必须下载到PLD器件中去才能实现设计的要求,熔断丝文件的下载一般须通过编程器进行下载。

  编程器是一种专门用于对可编程器(如EPROM,EEPROM,GAL,CPLD,PAL等)进行编程的专业设备,常见的编程器有台湾河洛公司的ALL系列、南京西尔特公司的Super系列等。编程器通常通过计算机的并行打印器将JED文件下载到编程器中,编程器再将JED文件根据器件的特点将其写入器件内部,从而达到下载的目的。下图给出了PLD的设计过程。

转载于:https://www.cnblogs.com/allengaller/articles/1652853.html

什么是FPGA,PAL,EPLD?相关推荐

  1. 魏少军谈AI芯片热潮和架构创新 透露清华Thinker芯片将独立融资

    来源:网易智能 摘要:在近日于深圳举办的2018 CCF-GAIR 全球人工智能与机器人峰会上,清华大学微电子所所长魏少军发表了演讲,阐述了AI时代芯片架构的问题.会后,魏少军接受了网易智能的专访,谈 ...

  2. pcie协议_PCIE总线,你不得不知道的信号分布及使用情况

    PCI-Express简称PCI-E于2001年春季由Intel公司提出.随后在2001年底,包括Intel.AMD.DELL.IBM在内的20多家业界主导公司开始起草新技术的规范,并在2002年底完 ...

  3. 基于VHDL的毛刺信号消除

    基于VHDL的毛刺信号消除 摘要:针对FPGA设计过程中常见的毛刺现象问题,研究了用于VHDL语言清除毛刺信号的脉冲选择法与时序逻辑保持法.首先,研究了冒险现象与毛刺信号:其次,总结了数字电路消除毛刺 ...

  4. 自适应神经网络算法原理,单神经元自适应控制

    关于神经网络自适应控制求助 这句话你可以直接用,不用加引用.因为这句话是很容易验证的.在网络层数.隐含层节点数逐渐增加,训练次数增加之后,他的拟合能力也是不断增加的,所以说,他可以以任意精度逼近任何非 ...

  5. 左移寄存器vhdl_8位移位寄存器vhdl代码

    vhdl介绍: VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中.它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中.当然在一些实力较为雄厚的单位,它也被用来设 ...

  6. 电子与信息工程专业必读书籍1000本

    电子技术之电子与信息工程专业必读书籍1000本 音响技术 74 立体声音箱的结构.应用和制作 75 电子产品维修技术丛书 音响原理与电路分析 76 家用电器维修丛书 家用音响电路原理与检修方法 77 ...

  7. PCIE总线硬件设计篇

    PCIe总线概述 随着现代处理器技术的发展,在互连领域中,使用高速差分总线替代并行总线是大势所趋.与单端并行信号相比,高速差分信号可以使用更高的时钟频率,从而使用更少的信号线,完成之前需要许多单端并行 ...

  8. 清华魏少军:人工智能时代中国芯片设计的应对之道

    魏少军是清华微纳电子系教授,在2019杭州云栖大会上,他分享了"人工智能时代中国芯片设计的应用之道",以下是他的分享内容文字整理,经编辑. 现在每个人都在谈人工智能,我一直研究芯片 ...

  9. pcie总线基础知识

    PCIe总线概述 随着现代处理器技术的发展,在互连领域中,使用高速差分总线替代并行总线是大势所趋.与单端并行信号相比,高速差分信号可以使用更高的时钟频率,从而使用更少的信号线,完成之前需要许多单端并行 ...

  10. PCIExpress接口

    PCI-E的接口根据总线位宽不同而有所差异,包括X1.X4.X8以及X16,而X2模式将用于内部接口而非插槽模式.PCI-E规格从1条通道连接到32条通道连接,有非常强的伸缩性,以满足不同系统设备对数 ...

最新文章

  1. Angular2 - Starter - Routes, Route Resolver
  2. 从零入门 Serverless | 教你 7 步快速构建 GitLab 持续集成环境
  3. cap流程图_源码阅读笔记 BiLSTM+CRF做NER任务(二)
  4. java 中对对象的调用
  5. 计算机一级及wps试题,2016计算机一级WPS考试试题及答案
  6. Windows版Qt
  7. 鸿蒙系统发红包,鸿蒙修真录红包版
  8. Confluence 6 在升级过程中查看合并日志
  9. python控制手机自动刷新闻_python +adb控制手机自动化签到
  10. linux退出windows域,删除Windows AD域控制器的三种方法
  11. 如何将同一云服务下的虚拟机从经典部署模型迁移到 Azure Resource Manager
  12. Unity cg vertex and fragment shaders(二)
  13. 常规网站模板(flash作div背景)
  14. 数据元素之间的逻辑关系的整体称为数据的逻辑结构
  15. Java工程师两周面试突击-中华石杉-Java面试
  16. python实现网页爬虫_python实现页面爬虫(selenium,pyppeteer)
  17. 探索式测试在网管测试中的应用
  18. 鸿蒙系统一体机使用教程,华为视频会议系统TE30(华为新一体机)(示例代码)
  19. CMS是什么?如何识别CMS?
  20. js把日期字符串转换成时间戳 阿星小栈

热门文章

  1. 回归分析:最小二乘法估计线性回归模型的参数
  2. 智能家居与ZigBee协议
  3. LabVIEW控制Arduino实现超声波测距(进阶篇—5)
  4. python在教育领域的应用课题_项目式教学在高中信息技术教学中的应用探索——以Python基本程序结构教学为例...
  5. URL编码中加入%原因
  6. 移植和使用ucOSII
  7. Linuxptp使用总结
  8. FastDFS-介绍篇
  9. SQLYong设置Tab缩进
  10. cisco 交换机恢复IOS与更改波特率