《第02讲可编程逻辑器件》由会员分享,可在线阅读,更多相关《第02讲可编程逻辑器件(69页珍藏版)》请在金锄头文库上搜索。
1、EDA的工程设计流程,文本编辑器、图形编辑器,VHDL综合器 (逻辑综合、优化),FPGA/CPLD布线/适配器 (自动优化、布局、布线、适配),VHDL仿真器 (行为仿真、 功能仿真、 时序仿真),编程器/下载电缆 (编程、下载),测试电路 (硬件测试),网表文件 (EDIF、XNL、VHDL),门级仿真器 (功能仿真、 时序仿真),各种编程文件,数字系统设计模型,数据处理子系统:数据采集、存储、运算、传输。 控制子系统:数字系统完成算法的核心。,数字系统的设计方法,自顶向下(Top-down) 自底向上(Bottom-up),顶层规范描述、系统级行为设计与仿真,功能模块化分、模块级行为描述
2、与仿真,由EDA工具完成综合、优化及工艺的映射、实现,由基本门组成各个组合与时序逻辑单元,由逻辑单元组成各个独立的功能模块,由各个功能模块连成一个完整系统,进行整个系统的测试与性能分析,本课程学习目的,了解一类可编程器件 掌握一门HDL语言 熟悉一种设计工具,第二讲 可编程逻辑器件,可编程逻辑阵列PLA,可编程阵列逻辑PAL,只读存储器ROM,通用阵列逻辑GAL,现场可编程门阵列FPGA,分立元件,小规模集成电路,中规模集成电路,大规模集成电路,超大规模集成电路,数字逻辑器件的发展,SSI,MSI,LSI,VLSI,数字逻辑器件的分类,1. 标准产品 主要是一些中小规模集成电路,如:逻辑门、触
3、发器、译码器、计数器、寄存器、ALU等 2. 由软件组态的大规模集成电路 如:单片机、数字信号处理器 3. 专用或特定用途的大规模集成电路 可编程逻辑器件PLD即是其中之一,可编程逻辑器件PLD,由用户自己而不是芯片的生产厂家最后完成其逻辑功能 允许用户在相应的软硬件平台的支持下,通过编程开发出自己的芯片。用户既是使用者又是设计者 具有很强的逻辑设计灵活性,是数字系统设计的方向,可编程逻辑器件,低密度可编程逻辑器件(LDPLD),高密度可编程逻辑器件(HDPLD),EPLD(可擦除、可编程逻辑器件) CPLD(复杂可编程逻辑器件) FPGA(现场可编程逻辑门阵列),可编程逻辑器件PLD的种类,
4、ROM PLA(可编程逻辑阵列) PAL(可编程阵列逻辑) GAL(通用阵列逻辑),可编程逻辑器件PLD的种类,ROM(只读存储器),PROM,EPROM,EROM(电可擦除),硬件编程,由厂家设定,无法体现用户的意志,编错了可复原(紫外线照射), 但需要紫外线管,可由用户编程,采用熔丝工艺,只能编一次,错了无法更改,可编程逻辑阵列PLA(Programmable Logic Array) PLA的基本结构是基于“与或阵列”, “与阵列”和“或阵列”都是可编程的。因PLA器件的资源利用率低, 现在已经很少使用。,可编程阵列逻辑PAL(Programmable Array Logic) PAL的
5、基本结构也是基于 “与或阵列”的, “与阵列”可编程,而 “或阵列”是固定的。PAL最早出自AMD(超微半导体,Advanced Micro Devices)公司。,GAL是一种可电擦写、可重复编程、可设置加密位的PLD器件 与PAL器件相比,GAL增加了一个可编程的输出逻辑宏单元OLMC(Output Logic Macro Cell)。 由于在实际应用中,GAL器件几乎能够完全仿真PAL器件,所以PAL器件已经很少被使用。 GAL最早出自Lattice公司。,通用阵列逻辑GAL(Generic Array Logic),EPLD(Erasable Programmable Logic De
6、vice)可擦除、可编程逻辑器件。 是一种基于EPROM和CMOS技术的可编程逻辑器件, 基本逻辑单元是宏单元。 宏单元由可编程的 “与或阵列”、可编程寄存器和可编程I/O组成。 从某种意义上说,EPLD是一种改进的GAL。 EPLD最早出自Altera公司。,EPLD,CPLD(Complex Programmable Logical Devices) 复杂可编程逻辑器件。 一个CPLD含有多个逻辑元件块(PLD),每个逻辑块间的接线是可编程的。 CPLD是EPLD的改进器件。 CPLD运行速度比FPGA快,但功耗较大。 常见的CPLD器件有: Lattice公司的pLSI/ispLSI系列
7、 Xilinx公司的7000和9500系列 Altera公司的MAX9000系列 AMD公司的MACH系列等。,CPLD,FPGA (Field Programmable Gate Array),又称现场可编程门阵列,最大特点:不需要开发器,目前最时尚,也称之为在系统可编程(ISP),FPGA,在系统可编程技术ISP (In System Programmability),传统编程技术 将PLD器件插在编程器上编程 在系统编程技术 可不用编程器,直接在用户自己设计的目标系统中或 线路板上,对PLD器件进行编程。 打破了使用PLD先编程后装配的惯例,可以先装配后编程,成为产品后还可以反复改写。,
8、目前的 PLD器件大多采用了ISP技术。 ISP器件的出现使得硬件设计变得像软件一样易于修改。硬件的功能可以随时进行修改或重构。,在系统可编程技术ISP,可编程逻辑器件PLD的发展历程,70年代,80年代,90年代,PROM 器件,PLA 器件,GAL器件,FPGA器件,EPLD 器件,CPLD器件,内嵌复杂 功能模块 的SoPC,集成的PLD/FPGA开发环境 MAX-plus II (Quatus II) 仿真工具 Model Tech ModleSim 6.0 可编程器件下载软件 MAX-Plus II(Quatus II) 集成开发环境,本课程使用的软件,下载板,计 算 机,可编程 逻
9、辑器件,下载板,下载电缆,PLD计算机辅助设计,目的:了解一类器件;掌握一门硬件设计语言;熟悉一种设计工具,核心板:Altera公司 MAX7128 : 2500门CPLD芯片 8K的SRAM ,126K的Flash Memory,128K宏单元,实验箱,实验箱控制面板,EL-SOPC4000底板资源平面图,与阵列、或阵列 均可编程(PLA),与阵列固定,或阵 列可编程(PROM),与阵列可编程,或 阵列固定(PAL等),PROM 、PLA与PAL 的比较,与门 阵列,或门 阵列,乘积项,和项,PLD主体,输入 电路,输入信号,互补 输入,输出 电路,输出函数,可由或阵列直接输出,构成组合输出
10、; 通过寄存器输出,构成时序方式输出。,PLD的基本结构,GAL的编程与开发,软件工具,硬件工具,用编程软件对GAL进行编程的步骤: 建立用户源文件(熟悉语法规则) 对源文件进行编译(熟练操作命令) 向芯片写入编程数据,四种PLD的结构特点,可编程逻辑宏单元(Marocell) 是PLD的基本结构, 由它来实现基本的逻辑功能 可编程内连线 负责信号传递,连接所有的宏单元 可编程I/O控制块,基于乘积项技术的CPLD,基于乘积项技术的CPLD,每个阵列逻辑块:16个逻辑宏单元,宏单元结构,乘积项阵列 可编程触发器,乘积扩展项,并联逻辑扩展项,现场可编程门阵列(FPGA),FPGA是80年代中期发
11、展起来的一种可编程的大规模集成器件。 以FPGA为核心的PLD产品是近几年集成电路中发展最快的产品, 特点: 体积小 可靠性高 可现场编程,成为产品后还可反复修改,FPGA的发明者Ross Freeman,FPGA的结构,可配置逻辑单元(Configurable Logic Blocks) 可编程I/O单元(Input/Output Blocks) 可编程内部互连资源PI(Programmable Interconnection),可配置逻辑块,可编程输入/输出模块,可编程互连资源,FPGA的基本结构,可配置逻辑单元(Configurable Logic Blocks),CLB是FPGA内的基
12、本逻辑单元。CLB的实际数量和特性会依器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些 选型电路(多路复用器等)和触发器组成。开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。,存储器资源(Block RAM和Select RAM) 数字时钟管理单元(分频/倍频、数字延迟) I/O多电平标准兼容(Select I/O) 算术运算单元(乘法器、加法器) 特殊功能模块(MAC等硬IP核) 微处理器(PPC405等硬处理器),随着工艺的进步和应用系统需求,一般在FPGA中还包含以下可选资源:,FPGA,基于LUT(Look-Up tabl
13、e)技术,采用SRAM工艺的FPGA,基于反熔丝(Anti-fuse)技术的FPGA,LUT本质上就是一个RAM,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把结果事先写入RAM 每输入信号进行逻辑运算就等于输入地址进行查表,然后输出即可 目前FPGA中多使用4输入的LUT, 所以每个LUT 可看成一个有4 位地址线的161的RAM,基于查找表LUT技术的FPGA,基于查找表技术(Look-Up table),采用SRAM工艺的FPGA,目前大部分FPGA都是基于SRAM工艺的 SRAM工艺的芯片在掉电后信息就会丢失,一定需要外加一片专用配置芯片 上电时,由这个专用配置芯片把数据加载到
14、FPGA中,然后FPGA就可以正常工作 配置时间很短,不会影响系统正常工作。,采用SRAM工艺的FPGA芯片的配置方法 主要有三种:由计算机通过下载电缆配置、用专用配置芯片(如Altera公司的EPCX系列芯片)配置、采用存储器加微控制器的方法配置。 第一种方法适合调试设计时用; 第二种和第三种在实际产品中使用较多。 第二种方法的优点在于外围电路非常简单,体积较小,适用于不需要频繁升级的产品; 第三种方法的优点在于成本较低,升级性能好。,以上几种方法在系统加电时,都需要将配置的比特流数据按照确定的时序写入SRAM工艺的FPGA。 因此,采用一定的电路对配置FPGA的数据引脚进行采样,即可得到配
15、置数据流信息。利用记录下来的配置数据可对另一块FPGA芯片进行配置,就实现了对FPGA内部设计电路的克隆。,缺点:SRAM工艺的PLD一般不可以加密。,缺点:编程数据信息在系统断电时丢失 ,每次上电时,需从器件的外部存储器或计算机中将编程数据写入SRAM中。 优点:可进行任意次数的编程 ,并可在工作中快速编程 ,实现板级和系统级的动态配置 ,因此称为在线重配置的PLD或可重配置硬件,如:Altera的所有FLEX、ACEX、APEX系列,Xilinx的Spartan、Virtex等,基于反熔丝(Anti-fuse)技术的FPGA 缺点:不能重复擦写,初期开发过程比较麻烦,费用也比较高。 优点:
16、 不需要外加专用的配置芯片; 布线能力强,系统速度快,功耗低; 抗辐射能力强,耐高低温,可以加密; 在一些有特殊要求的领域中运用较多,如军事及航空航天领域。 Actel、Quicklogic的部分产品采用这种工艺。,FPGA基本开发流程包括以下步骤 原理框图的设计 设计输入(Design Entry) 逻辑综合( Synthesize ) 波形设计及波形模拟( Simulation) 管脚定义(Place & Route) 芯片下载调试(Configuration),FPGA基本开发流程,KONXIN,面向FPGA/CPLD的EDA开发流程,CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑; 在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,优点是系统断电时编程信息也不丢失。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时需从器件外部将编程数据重新写入SRAM中; 在