第2章 FPGA/CPLD结构与应用.

Slides:



Advertisements
Similar presentations
第七章 半导体存储器 《数字电子技术》7.1 概述 7.2 只读存储器( ROM ) 7.5 用存储器实现组合逻辑函数 7.4 存储器的扩展 7.3 随机存储器( RAM ) 7.6 集成芯片简介及应用举例.
Advertisements

什么是SOPC: SOPC是英文System On a Programmable Chip的缩写,称为片上可编程系统。SOPC将传统的EDA技术、计算机系统、嵌入式系统、数字信号处理等融为一体,综合了各自的优势,且在结构上形成一块芯片。 为什么用SOPC:SOPC是现代电子技术和电子系统设计的发展趋势,建立了电子系统设计的新模式。用户利用SOPC开发平台,自行设计高速、高性能的DSP处理器、特定功能的CPU及其外围接口电路,创建结构最为简洁的电子系统。
SOPC技术 数字逻辑电路 主讲:刘昌华 嵌入式技术研究所
FPGA设计与应用 大连理工大学软件学院 王洁 2011年春季.
第1章 电子系统设计训练.
第一节 人口的数量变化.
德 国 鼓 励 生 育 的 宣 传 画.
8 企业信息管理的定量分析 第八讲 企业信息管理的定量分析 8.1 企业信息化水平的测评 8.2 企业信息管理绩效的测评.
軍用電腦科技趨勢與產業應用 全科科技 陳以昌.
第十章《票据法》.
第一节 工业的区位选择 一、工业的主要区位因素 1、工业区位选择应注意的问题 2、影响工业布局的主要区位因素 3、不同工业部门的区位选择
当我们深陷房价的困扰 食品安全却令人担忧.
第2章 SOPC硬件开发环境及流程.
EDA技术 第9章 FPGA硬件设计.
电气与信息工程学院 学科建设情况汇报
黄牛课件 中国首家新课标免费资源网(不必注册,免费下载) 请记住我们的网址:
北京市科普项目社会征集指南及 项目建议方案解读
第四章 开天辟地的大事变 新文化运动兴起的原因: 一、近代以来,中国先进分子不断向西方寻求真理
最新計算機概論 第3章 計算機組織.
數位邏輯設計與實習 ch04 組合邏輯電路設計.
第八章 可编程逻辑器件 本章的重点: 本章的难点: 1.PLD的基本特征,分类以及每种类型的特点;
《做自立自强的人》单元复习.
电在我们日常生活、现代化社会中的应用: 电 是 什 么?.
电工电子实验中心.
AKA Embedded 开放实验室系列普及讲座之一 FPGA/CPLD的应用和开发简介
第1章 FPGA概述 1.1 FPGA的发展历程 1.2 FPGA的基本原理 1.3 FPGA的设计方法 1.4 FPGA的设计流程
第七章 单片机存储器的扩展.
水煮FPGA 传统FPGA设计流程简介.
邏輯電路的分類 1. 組合邏輯(combinational logic):其輸出狀態直接由輸入的組合來決定,並不涉及線路過去的輸出狀態。
第一章 嵌入式系统开发基础 本章介绍了嵌入式系统开发的基础知识,从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入式技术的发展趋势等方面进行了介绍,涉及到嵌入式系统开发的基本内容,使读者系统地建立起的嵌入式系统整体概念。
基本硬體介紹 1.主機板 2.CPU(運算中心) 3.記憶體(RAM-短暫記憶資料處) 4. 硬碟(HDD儲存資料處) 5.顯示卡(接螢幕)
FIFO 与 UPP 本节我们结合UPP接口给大家介绍一下FIFO在实际工程中的使用。 广州创龙电子科技有限公司 01 51ele.net
S3c2410电路设计(以北京博创s3c2410-s实验箱为例讲解)
浅谈基于FPGA的电路设计 报告人:吴爱平 2005/11/13
版权所有,禁止未经授权的商业使用行为 何宾 Tel: 北京中教仪装备技术有限公司.
EDA技术实用教程 第1章 概 述.
可编程逻辑器件及ASIC简介.
C H A P T E R 8 体系结构对系统开发的支持.
电路基础培训 中兴通讯CDMA事业部 设计开发部 郭丹旦
嵌入式系统教案 武汉创维特信息技术有限公司 2018/11/27.
Block diagram BB —逻辑 —音频 —电源管理 HW interface. Block diagram BB —逻辑 —音频 —电源管理 HW interface.
存储设备介绍 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
第 9 章 存储器和可编程逻辑器件 9.1 半导体存储器 9.2 可编程逻辑器件.
第13章 数字电路基础 13.1 数字电路概述 13.2 数字电路中的数值与码制 13.3 逻辑代数 13.4 逻辑门电路
可编程器件与电子设计自动化 上海交通大学电工及电子技术实验中心 一九九九年三月.
第6章 FPGA的下载配置电路设计.
EDA 原理及应用 何宾
Danny Mok Altera HK FAE AHDL培训教材 Danny Mok Altera HK FAE 2018/12/9 P.1.
PIC-CPLD原理和系统设计.
第14章 其它DSP设计库 14.1 总线控制库 14.2 复数信号库 14.3 Gates库 14.4 状态机函数库
APEX 20K 用于系统集成的嵌入式 PLD 系列 © 1998 Altera Corporation 1
本章小结: 可编程逻辑器件(Programmable Logic Device,简称为 PLD)是目前数字系统设计的主要硬件基础。现场可编程门阵列 FPGA(Field Programmable Gate Array)现场可编程门阵列FPGA在结构上由逻辑功能块排列为阵列,功能由逻辑结构的配置数据决定,配置数据可以存放在片外的EPROM或其他存储体上,人们可以控制加载过程,在现场修改器件的逻辑功能。
Programmable Logic Architecture Verilog HDL FPGA Design
数字电子技术 湖南计算机高等专科学校李中发 胡锦 制作.
第 2 章 数字逻辑电路基础 和计算机中的逻辑部件
EDA 第二章 可编程逻辑器件.
第七章 可编程逻辑器件 PLD 7.1 PLD 概述 PLD 的电路结构及分类 PLD 的编程工艺及描述的逻辑规则和符号 PLD 的设计过程及主要优点 7.2 只读存储器 ROM 的内部结构 用ROM 实现组合逻辑设计 常用的LSI.
第6章 半导体存储器和可编程逻辑器件 6.1 概述 6.2 ROM(只读存储器) 6.3 RAM (随机存取存储器)
第7章 半导体存储器 7.1半导体存储器的特点和分类 半导体存储器的特点 集成度高,体积小 可靠性高,价格低
第1章 概述 1.1 DSP实现方案及设计流程 1.2 现代DSP设计流程概述 1.3 两类DSP解决方案的比较.
计算机学院 数字逻辑实验的要求.
第6章 存储器接口 6.1 存储器概述 6.2 半导体存储器 6.3 MCS-51单片机存储器扩展.
第5章 存储器 5.1 存储器概述 5.2 半导体存储芯片结构及使用 位系统的存储器接口.
第一章 概 述.
长春工业大学工程训练中心 EDA技术及应用实践课程 Maxplus Ⅱ 软件开发系统简述 主讲:刘春阳 长春工业大学工程训练中心
第五週課程1 (10/17~10/23) 1.難度分析.
会计实务(第七讲) ——固定资产 讲师:天天老师.
數位邏輯 第8章組合邏輯的應用 8-1可程式邏輯元件 8-2可程式邏輯陣列 8-3可程式的陣列邏輯 8-4商用可程式邏輯元件.
第 7 章 存储器.
Programmable Logic System Design
Presentation transcript:

第2章 FPGA/CPLD结构与应用

CPLD - Complex Programmable Logic Device 复杂可编程逻辑器件 FPGA - Field Programmable Gate Array 现场可编程门阵列

可编程逻辑器件(PLD): 诞生于20世纪70年代 以大规模集成电路技术为基础的半定制集成电路 结合EDA技术快速构建数字系统

2.1 概述 基本PLD器件的原理结构图

2.1.1 可编程逻辑器件的分类 按集成度(PLD)分类:

按编程工艺分类: (1) 熔丝型 (2) 反熔丝型 (3) EPROM型 (4) EEPROM型 (5) FLASH型 (6) SRAM型

2.2 简单PLD原理 2.2.1 电路符号表示 常用逻辑门符号与现有国标符号的对照

2.2.1 电路符号表示 PLD的互补缓冲器 PLD的互补输入 PLD中与阵列表示 PLD中或阵列的表示 阵列线连接表示

2.2.2 PROM PROM基本结构 其逻辑函数是:

2.2.2 PROM PROM的逻辑阵列结构 逻辑函数表示:

缺点:资源浪费严重 2.2.2 PROM PROM表达的PLD图阵列 用PROM完成半加器逻辑阵列

缺点:需要有最简与或表达式,多输出时要利用公共项,算法复杂 2.2.3 PLA PLA逻辑阵列示意图

PLA与 PROM的比较

3.2.4 PAL PAL结构 PAL的常用表示

General Array Logic Device EPLD 3.2.5 GAL 乘积项逻辑 GAL: General Array Logic Device 最多有8个或项,每个或项最多有32个与项 EPLD Erasable Programmable Logic Device

时钟信 号输入 输入口 逻辑宏单元 GAL16V8 输入/输出口 固定或阵列 可编程与阵列 三态控制

目前简单PLD已经被淘汰,应用更多的 便是CPLD、FPGA,其主要原因: 片上资源有限 I/O不够灵活 编程不方便

2.2 CPLD简介 基于EEPROM工艺、乘积项技术

基于乘积项的CPLD内部结构

分为三块结构:宏单元(Macrocell),可编程连线(PIA)和I/O控制块。 宏单元是CPLD的基本结构,由它来实现基本的逻辑功能。 可编程连线负责信号传递,连接所有的宏单元。 I/O控制块负责输入输出的电气特性控制,比如集电极开路输出,摆率控制,三态输出等。 图中左上的INPUT/GCLK1,INPUT/GCLRn, INPUT/OE1, INPUT/OE2 是全局时钟,清零和输出使能信号,这几个信号有专用连线与CPLD中每个宏单元相连,信号到每个宏单元的延时相同并且延时最短。

宏单元:MAX7000系列的单个宏单元结构 来自于别的宏单元未被使用的乘积项 五 个乘积项输入 逻辑阵列 取反后反馈到逻辑阵列中 全局 清零 PRN CLRN ENA 逻辑阵列 全局 清零 共享 逻辑 扩展项 时钟 清零选择 寄存器旁路 并行 通往 I/O 模块 通往 PIA 乘积项选择矩阵 来自 I/O引脚 Q D EN 来自 PIA的 36个信号 快速输入选择 2 来自于别的宏单元未被使用的乘积项 五 个乘积项输入 取反后反馈到逻辑阵列中

左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。后面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。 图右侧是一个可编程D触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA或输出到I/O脚,做组合逻辑电路的设计。

可编程连线:器件的专用输入、I/O引脚、和宏单元输出 都连接到PIA,而PIA可以把这些信号可根据需要送到 整个器件内的各个地方。

I/O控制块:

乘积项结构PLD的逻辑实现原理 假设组合逻辑的输出(AND3的输出)为f,则f=(A+B)*C*(!D)=A*C*!D + B*C*!D ( 我们以!D表示D的“非”)                                                                                                                                                             

PLD将以下面的方式来实现组合逻辑f: A,B,C,D由PLD芯片的管脚输入后进入可编程连线阵列(PIA),在内部会产生A,A反,B,B反,C,C反,D,D反8个输出。图中每一个叉表示相连(可编程熔丝导通),得到:f= f1 + f2 = (A*C*!D) + (B*C*!D)                                                                                  

电路中D触发器直接利用宏单元中的可编程D触发器来实现。 时钟信号CLK由I/O脚输入后进入芯片内部的全局时钟专用通道,直接连接到可编程触发器的时钟端。 可编程触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样PLD就完成了所示电路的功能。(以上这些步骤都是由软件自动完成的,不需要人为干预)

上图的电路是一个很简单的例子,只需要一个宏单元就可以完成。 但对于一个复杂的电路,一个宏单元是不能实现的,就需要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输出也可以连接到可编程连线阵列,再做为另一个宏单元的输入。这样PLD就可以实现更复杂逻辑。 这种基于乘积项的PLD基本都是由EEPROM和Flash工艺制造的,一上电就可以工作,无需其他芯片配合。

共享扩展乘积项结构:

并联扩展项结构:

CPLD: 乘积项(product-term)技术 EEPROM工艺 FPGA: 查找表(look-up table)技术 SRAM工艺

2.3 FPGA简介 基于SRAM工艺、查找表技术

什么是查找表? 查找表与乘积项相比优缺点是什么? 为什么FPGA选用查找表技术? FPGA的结构和工作原理是什么?

什么是查找表?

查找表(Look-Up-Table)的原理与结构 查找表:LUT本质上是一个RAM 目前FPGA中多使用4输入LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。 通过原理图或HDL语言描述的逻辑电路,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM, 这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。

一个4输入与门的例子 实际逻辑电路 LUT的实现方式 a,b,c,d 输入 逻辑输出 地址 RAM中存储的内容 0000 0001 1111                                                                                                                          a,b,c,d 输入 逻辑输出 地址 RAM中存储的内容 0000 0001 .... ... 1111 1

查找表与乘积项相比优缺点是什么? 为什么FPGA选用查找表技术? 为什么? 乘积项:结构简单,时延固定; 查找表:运算功能强大,应用更为灵活 通常,乘积项结构应用于低端的CPLD,而查找表结构 广泛运用于高端的FPGA。 为什么?

FPGA的结构和工作原理: I/O控制单元 . IOC EAB 嵌入式 阵列块 快速通道互连 逻辑阵列块 (LAB) 逻辑单元

Altera公司的Cyclone 系列FPGA具有低功耗、高 性价比的优点,在中低端产品中应用很广泛。 逻辑阵列块LAB 嵌入式存储器块 嵌入式硬件乘法器 IO单元 PLL等模块构成 各个模块之间存在丰富的互连线和时钟网络

FPGA含有嵌入式存储器,由数十个M9K的存储器块构成,可实现8192位RAM、ROM等存储器功能。 9Kbit的RAM块 FPGA含有嵌入式存储器,由数十个M9K的存储器块构成,可实现8192位RAM、ROM等存储器功能。 Cyclone III中还有嵌入式乘法器,硬件乘法器可大大提高FPGA在处理DSP任务是的能力。 Cyclone III器件中设置了复杂的全局时钟网络,用于实现全局时钟、复位信号。

Cyclone FPGA的 LAB结构 41

逻辑阵列块LAB是由一系列相邻的LE构成。Cyclone III LAB包含16个LE,LAB间存在行互连、列互连、直连通路互连、LAB局部互连、LE进位链和寄存器链。 进位链用来连接LE的进位输出和下一个LE的进位输入; 寄存器链用来连接LE的寄存器输出和下一个LE的寄存器数据输入。

LAB由多个逻辑宏单元LE构成,LE是FPGA器件的最基本的可编程单元。 LE主要由一个4输入的查找表LUT、进位链逻辑、寄存器链逻辑和一个可编程的寄存器构成。 4输入的LUT可完成所有的4输入1输出的组合逻辑功能。每个LE中的可编程寄存器可以被配置称各种触发器形式,而且寄存器具有数据、时钟、时钟使能、清零输入信号。寄存器可旁路。 LE有三个输出驱动内部互连,其中一个驱动局部互连,另两个驱动行或列的互连,LUT和寄存器的输出可单独控制。

Cyclone LE结构图

普通模式,LE适合通用逻辑应用和组合逻辑的实现。 Cyclone的工作模式 LE可工作在两种操作模式下。 普通模式,LE适合通用逻辑应用和组合逻辑的实现。 data3可作为异步装载信号 四个逻辑输入 多种选择 Cyclone LE普通模式

Cyclone LE动态算术模式 算术模式,可以更好的实现加法器、计数器、累加器和比较器。 注意:模式选择是在程序编译时自动实现的,不需要人为指定。

控制信号生成 LAB控制信号生成 每个LAB都有专用的逻辑来生成LE的控制信号

Cyclone III的I/O支持多种IO接口,符合多种I/O标准。 Low-Voltage Differential Signaling 低压差分信号   1994年由美国国家半导体公司提出的一种信号传输模式,它是一种标准 ,它在提供高数据传输率的同时会有很低的功耗,另外它还有许多其他的优势:   1、低电压电源的兼容性   2、低噪声   3、高噪声抑制能力   4、可靠的信号传输   5、能够集成到系统级IC内   使用LVDS技术的的产品数据速率可以从几百Mbps到2Gbps。   它是电流驱动的,通过在接收端放置一个负载而得到电压,当电流正向流动,接收端输出为1,反之为0   它的摆幅为250mv-450mv LVDS连接 (低压差分串行)

2.4 CPLD和FPGA 性能比较

尽管CPLD和FPGA都属于可编程器件,有很多共同特点,但由于结构上的差异,它们具有各自的特点: (1)CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。 (2)CPLD的连续式布线结构决定了它的时序延迟是均匀和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。 (3)在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。(粗粒度和细粒度的区别)

(4)FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。 (5)CPLD比FPGA使用起来更方便。CPLD的编程采用EEPROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。 (6)CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且LAB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。

(7)在编程方式上,CPLD主要是基于EEPROM或FLASH存储器编程,优点是系统断电时编程信息也不丢失。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。 (8)一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。

2.5 硬件测试技术 2.5.1 内部逻辑测试 CPLD/FPGA内部逻辑测试是应用设计可靠性的重要保证。 2.5 硬件测试技术 2.5.1 内部逻辑测试 CPLD/FPGA内部逻辑测试是应用设计可靠性的重要保证。 内部逻辑测试需要在设计时加入用于测试的专用逻辑,进行可测性设计(DFT),在设计完成后用来测试关键逻辑。 ASIC设计中的可测性设计常采用扫描寄存器方式,把关键逻辑部分的普通寄存器用测试扫描寄存器来代替,从而进行动态的测试、分析。 FPGA厂商在可编程逻辑器件中可动态载入某种逻辑功能模块,与EDA工具软件配合提供嵌入式逻辑分析仪,以发现内部逻辑问题。如Altera的SignalTap II技术。

2.5.2 JTAG边界扫描测试 边界扫描电路结构 JTAG开发了IEEE1149.1-1990边界扫描测试技术规范,提供了有效地测试引线致密的电路板上集成电路芯片的能力。 器件的边界扫描单元能够从逻辑跟踪引脚信号,或者从引脚或器件核心逻辑信号中捕获数据。 强行加入的测试数据串行地移入边界扫描单元,捕获的数据串行移出并在器件外部同预期结果进行比较。 提供了串行扫描路径,能捕获器件核心逻辑的内容。

IEEE 1149.1 标准规定了一个四线串行接口(第五条线是可选的),该接口称作测试访问端口(TAP),用于访问复杂的集成电路(IC)。 表2-1 边界扫描IO引脚功能 引 脚 描 述 功 能 TDI 测试数据输入(Test Data Input) 测试指令和编程数据的串行输入引脚。数据在TCK的上升沿移入。 TDO 测试数据输出(Test Data Output) 测试指令和编程数据的串行输出引脚,数据在TCK的下降沿移出。如果数据没有被移出时,该引脚处于高阻态。 TMS 测试模式选择(Test Mode Select) 控制信号输入引脚,负责TAP控制器的转换。TMS必须在TCK的上升沿到来之前稳定。 TCK 测试时钟输入(Test Clock Input) 时钟输入到BST电路,一些操作发生在上升沿,而另一些发生在下降沿。 TRST 测试复位输入(Test Reset Input) 低电平有效,异步复位边界扫描电路(在IEEE规范中,该引脚可选)。 IEEE 1149.1 标准规定了一个四线串行接口(第五条线是可选的),该接口称作测试访问端口(TAP),用于访问复杂的集成电路(IC)。 在TDI(测试数据输入)引线上输入到芯片中的数据存储在指令寄存器中或一个数据寄存器中。串行数据从TDO(测试数据输出)引线上离开芯片。边界扫描逻辑由TCK(测试时钟)上的信号计时,而且TMS(测试模式选择)信号驱动TAP控制器的状态。TRST(测试重置)是可选项。

JTAG边界扫描测试由测试访问端口的控制器(TAP)管理,而TMS、TRST和TCK引脚管理TAP控制器的操作。 TDI和TDO为数据寄存器提供串行通道,TDI也为指令寄存器提供数据,然后为数据寄存器产生控制控制逻辑。 边界扫描寄存器:由器件引脚上的所有边界扫描单元构成,设计者可用边界扫描寄存器来测试外部引脚的连接,或是在器件运行时捕获内部数据。 边界扫描数据移位方式

2.6 编程与配置 2.6.1 CPLD在系统编程 CPLD编程下载连接 在系统可编程(ISP)就是当系统上电并正常工作时,计算机通过系统中的ISP接口直接对其进行编程,器件在编程后立即进入正常工作状态。 MAX7000、MAX3000A系列是采用JTAG接口方式对器件进行在系统编程的。 JTAG用于编程功能有利于各可编程逻辑器件编程接口的统一。

多个支持JTAG接口ISP编程的CPLD器件,可以使用JTAG链进行编程,也可以进行测试。 多CPLD芯片ISP编程连接方式

2.6.2 FPGA配置方式 基于SRAM的FPGA器件,没有ISP的概念,代之以ICR(在线可重配置方式)。 Altera的FPGA可采用多种配置模式,通过MSEL引脚电平决定究竟采用哪种模式。工程上最常用的配置模式主要有以下三种: JTAG模式 AS(主动串行)模式 PS(被动串行)模式

2.7.3 FPGA专用配置器件 PC机直接对FPGA进行配置,具有方便的特点。但当数字系统设计完成,正式投入使用时,在应用现场的FPGA加电配置,需要专用的配置器件来完成。 专用配置器件通常是串行的PROM器件。Altera针对自己的FPGA芯片推出特定的PROM器件,如用于PS配置的EPC2、EPC4等系列器件,用于AS配置的EPCS1、EPCS4等系列器件。而对这些PROM器件的编程,EPC芯片可采用JTAG接口完成,EPCS芯片可采用AS模式或JTAG接口完成。 EPCS器件配置FPGA的电路原理图