《第一章FPGA概述.ppt》由会员分享,可在线阅读,更多相关《第一章FPGA概述.ppt(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 芜湖职业技术学院FPGAFPGA应用技术应用技术 讲课教师:杨会伟芜湖职业技术学院第1章 FPGA概述可编程逻辑器件概述FPGA的基本工作原理FPGA芯片结构IP核简介FPGA常见技术FPGA的开发流程Xilinx公司主流可编程逻辑器件简介芜湖职业技术学院1.1可编程逻辑器件概述起源:可 编 程 逻 辑 器 件(Programmable Logic Device,PLD)起 源 于20 世 纪70 年 代,是 在 专 用 集 成电 路(ASIC)的 基 础 上 发 展 起 来 的 以 后 总 新 型 逻 辑 器件。主要特点:完 全 由 用 户 通 过 软 件 进 行 配 置 和 编 程,从而
2、完成某种特定的功能,并且可以反复擦写。常见PLD产品:可 编 程 只 读 存 储 器(PROM)、现 场 可编 程 逻 辑 阵 列(FPLA)、可 编 程 阵 列 逻 辑(PAL)、复杂 可 编 程 逻 辑 器 件(CPLD)、和 现 场 可 编 程 门 阵 列(FPGA)等 类 型。它 们 的 内 部 结 构 和 表 现 方 法 各 不 相同 芜湖职业技术学院按照编程工艺可分为4类:熔丝和反熔丝编程器件 可擦除可编程只读存储器编程器件 电 信 号 可 擦 除 的 可 编 程 只 读 存 储 器(EEPROM)编 程器件 SRAM 编程器件 前3 类 为 非 易 失 性 器 件,编 成 后,配
3、 置 数 据 保留 在 器 件 上,第4 类 为 易 失 性 器 件,掉 电 后,配 置数据 会丢失,在每次上电后需要重新进行数据配置。芜湖职业技术学院可编程逻辑器件的发展史(4个阶段)第一阶段:(20世纪70年代初到70年代中)只有简单的PROM、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(EEPROM)3 种。只能完成简单的数字逻辑功能。第二阶段:(20世纪70年代中到80年代中)结构上稍微复杂的可编程阵列逻辑(PAL)和通用阵列逻辑(GAL)器件,正式被称为PLD,能够完成各种逻辑运算功能。芜湖职业技术学院第三阶段:(20世纪80年代中到90年代末)Xilinx 和Alte
4、ra 公司分别推出了与标准门阵列雷似的FPGA 以及类似于PAL 结构的扩展性CPLD。提高了逻辑运算速度,逻辑单元灵活、集成度高、适用范围宽、编程灵活。第四阶段:(20世纪90年代末至今)出现了可编程片上系统(SOPC)和片上系统(SOC)技术。涵盖了实时化数字信号处理、高速数据收发器、复杂计算以及嵌入式系统设计技术的全部内容。Xilinx 和Altera 公司也退出了相应的SOC FPGA 产品。芜湖职业技术学院FPGA状况FPGA市场占有率最高的两大公司Xilinx和Altera Xilinx的FPGA产品主要分为两大类:(1)侧重于低成本应用、容量中等、性能可以满足一般逻辑设计要求的S
5、partan系列(2)侧重于高性能应用、容量大、性能可满足各类高端应用的Virtex系列 芜湖职业技术学院1.2 FPGA的基本工作原理 查找表(Look-Up-Table)简称为LUT,LUT 本质上就是一个RAM。目前FPGA 中多使用4 输入的LUT,所以每一个LUT 可以看成是一个有4 位地址线的16 1 的 RAM。当用户通过原理图或HDL 语言描述一个逻辑电路以后,PLD/FPGA 开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址去进行查表,找出地址对应的内容,然后输出即可。l查找表(Look-Up-Tab
6、le)结构 芜湖职业技术学院一个4 输入与门电路的例子来说明LUT 实现逻辑功能原理实际逻辑电路LUT实现方式a,b,c,d入逻辑输出RAM地址 RAM中存储的内容0 0 0 0 0 0000 00 0 0 1 0 0001 0 1 1 1 1 1 1111 1 芜湖职业技术学院1.3 FPGA的芯片结构 芯片组成 主要有可编程输入/输出单元(IOB)、基本可编程逻辑单元、完整的时钟管理、内嵌SRAM、丰富的布线资源、底层嵌入功能单元和内嵌专用单元等。芜湖职业技术学院 芜湖职业技术学院1.可编程输入输出单元(IOB)IOB单元是芯片与外界电路的接口部分,可完成不同电气特性下对输入/输出信号的驱
7、动与匹配要求.外部输入信号可以通过IOB模块的存储单元输入到FPGA内部,也可以直接输入FPGA内部。FPGA的IOB被划分为若干个组(Bank),每个Bank的接口标准由其接口电压VCCO决定,一个Bank只能有一种VCCO,但不同Bank的VCCO可以不同。只有相同电气标准的端口才能连接在一起,要求VCCO电压相同是接口标准的基本条件。芜湖职业技术学院典型的IOB内部结构示意图 芜湖职业技术学院2.可配置逻辑块(CLB)CLB是FPGA内的基本逻辑单元.CLB的实际数量和特性会依据器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由选型电路(多路复用器等)、触发器和4或6个输
8、入组成。开关矩阵是高度灵活的,可以对其进行配置,以便处理组合逻辑、移位寄存器或RAM。芜湖职业技术学院X1Y1”、“X1Y0”、“X0Y1”、“X0Y0”是Slice在FPGA中的位置编号,在FPGA中每一个Slice都会根据自己的横纵坐标有一个独一无二的编号 Slice是Xilinx公司定义的基本逻辑单位,内部结构主要包括:两个4/6输入的查找表函数、进位逻辑、算术逻辑、存储逻辑和函数复用器组成典型的CLB结构示意图 芜湖职业技术学院3.数字时钟管理模块(DCM)Xilinx推出的FPGA可提供数字时钟管理和相位环路锁定。DCM的主要优点在于:可实现零时钟偏移(Skew),消除时钟分配延迟,
9、并实现时钟闭环控制。时钟可以映射到PCB上用于同步外部芯片,这样就减少了对外部芯片的要求,而将芯片内外的时钟控制一体化,以利于系统设计。DCM模块的关键参数:输入时钟频率范围、输出时钟频率范围和输入/输出时钟允许抖动范围等。芜湖职业技术学院4.嵌入式块RAM(BRAM)大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器(CAM)以及FIFO等常用的存储块。在实际应用中,芯片内部块RAM的数量也是选择芯片的一个重要因素。单片块RAM的容量为18 kb,可以将多片块RAM级联起来形成更大的RAM。芜湖职业技术学院
10、5.丰富的布线资源 布线资源连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。根据工艺、长度、宽度和分布位置的不同,可将FPGA芯片的内部布线资源划分为四个不同的类别:第一类是全局布线资源;第二类是长线资源;第三类是短线资源;第四类是分布式的布线资源。芜湖职业技术学院6.底层内嵌功能单元 内嵌功能模块主要指:DLL(Delay Locked Loop)、PLL(Phase Locked Loop),DSP和CPU等软处理核(soft Core)。越来越丰富的内嵌功能单元使得单元FPGA具备了软硬件联合设计的能力,以逐步向Soc(System-on-Chip,
11、片上系统)平台过渡。DLL(Xilinx公司)和PLL(Altera公司)功能类似,可完成时钟高精度、低抖动的倍频和分频,以及占空比调整等。芜湖职业技术学院7.内嵌专用硬核 内嵌专用硬核是相对于底层嵌入的软核而言的,硬核(Hard Core)使FPGA具有强大的处理能力,等效于ASIC电路。芜湖职业技术学院1.3 IP核简介 IP(Intelligent Property)核 是具有知识产权的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。IP核的提供方式上看,通常将其分为软核、硬核和固核这三类。从完成IP核所花费的成本来讲,硬核代
12、价最大;从使用灵活性来讲,软核的可复用性最高。芜湖职业技术学院1.软核 在FPGA设计中,指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。其优点是灵活性高,可移植性强,允许用户自配置。其缺点是对模块的预测性较低,在后续设计中存在发生错误的可能性,有一定的设计风险。软核是IP核应用最广泛的形式。芜湖职业技术学院2.固核 在FPGA设计中,可以看成是带有布局规划的软核,通常以RTL代码和对应具体工艺网表的混合形式提供。与软核相比,固核的设计灵活性稍差,但在可靠性上有较大提高。目前,固核也是IP核的主流形式之一。芜湖职业技术学院3.硬核 在FPGA设计中,指布局和工艺固定、经过前端和后端
13、验证的设计,设计人员不能对其修改。IP硬核的不允许修改特点使其复用有一定的困难,因此只能用于某些特定应用,使用范围较窄。芜湖职业技术学院1.4 FPGA常见技术 1.数字时钟管理DCM 数字时钟管理模块(DCM,Digital Clock Manager)是基于Xilinx的其他系列器件所采用的数字延迟锁相环(DLL,Delay Locked Loop)模块。DCM由四部分组成:1.DLL模块;2.数字频率合成器DFS 3.数字移相器DPS 4.数字频谱扩展器DSS 芜湖职业技术学院DCM功能块和相应的信号 芜湖职业技术学院(1)DLL模块 DLL主要由一个延时线和控制逻辑组成。延时线对时钟输
14、入端CLKIN产生一个延时,时钟分布网线将该时钟分配到器件内的各个寄存器和时钟反馈端CLKFB;控制逻辑在反馈时钟到达时,采样输入时钟以调整二者之间的偏差,实现输入和输出的零延时。DLL简单模型示意图 芜湖职业技术学院Xilinx DLL的典型模型示意图 利用一个DLL可以实现2倍频输出 在FPGA设计中,消除时钟的传输延迟,实现高扇出最简单的方法就是用DLL,把CLK0与CLKFB相连即可。芜湖职业技术学院利用两个DLL就可以实现4倍频输出 芜湖职业技术学院DFS可以为系统产生丰富的频率合成时钟信号,输出信号为CLKFB和CLKFX180,可提供输入时钟频率分数倍或整数倍的时钟输出频率方案,
15、输出频率范围为1.5320 MHz(不同芯片的输出频率范围是不同的)。(2)数字频率合成器DFS 输入频率和输出频率之间的关系为 芜湖职业技术学院 DCM具有移动时钟信号相位的能力,因此能够调整I/O信号的建立时间和保持时间,能支持对其输出时钟进行0,90,180,270的相移粗调和相移细调。(3)数字移相器 DCM(4)数字频谱合成器 DSS DSS技术通过展宽输出时钟的频谱,来减少电磁干扰(EMI)噪声辐射和达到联邦通讯委员会(FCC)要求。这一特点使设计者能够极大地降低系统成本,使电路板重新设计的可能性降到最小,并不再需要昂贵的屏蔽,从而缩短了设计周期。芜湖职业技术学院2.串化与解串技术
16、 串化与解串即并串行与串并行转换器(Serdes),它能将低速的并行信号转换成高速的串行数据,也可以将高速的串行数据转换成低速的并行数据。Serdes的基本构成模块 芜湖职业技术学院3.字对齐技术 字对齐又称为Comma对齐,用于在将串行数据转换成并行数据时,确定有效数据的边界,以便使转换后的并行数据正确。Comma对齐的原理是:接收器在输入数据流中扫描搜寻特定的比特序列,如果找到序列,解串器调整字符边界以匹配检测到的Comma字符序列,扫描是连续进行的。一旦对齐确定,所有后续的Comma字符均会发现对齐已经确定。当然,在任意的序列组合里Comma字符序列必须是唯一的。芜湖职业技术学院Comm
17、a对齐过程 芜湖职业技术学院4.通道绑定技术 通道绑定是指将多个串行通道组合在一起构成一个并行通道,以此来提高收发的数据吞吐率。由于每个通道在收发器互连、时钟再生和数据接收延迟上各不相同,会使接收到的数据产生“错位”的情况,因此要在发送端数据流中加入一个特殊的序列通道绑定序列,如图1.14中的“P”字符。每个绑定通道都设定“P”字符为通道绑定序列,在接收端指定一个通道为主通道,其余通道都依据主通道的CHBONDO有效指示进入绑定状态,进而锁定本通道在Elastic Buffer中接收到通道绑定序列的位置。芜湖职业技术学院通道绑定原理示意图 芜湖职业技术学院5.预加重技术 在印制的电路板上,线路
18、是呈现低通滤波器的频率特性的,为解决高频部分的损失,就要采取预加重技术。预加重技术的思想是:在传输信号时,抬高信号的高频信号,以补偿线路上高频分量的损失。芜湖职业技术学院没有预加重的发送波形 芜湖职业技术学院预加重后的发送波形 芜湖职业技术学院没有预加重的接收波形 芜湖职业技术学院有预加重的接收波形 芜湖职业技术学院1.5 FPGA的开发流程 FPGA的常用设计方法包括“自顶向下”和“自下而上”,目前大规模FPGA设计一般选择“自顶向下”的设计方法。FPGAFPGA的设计方法的设计方法 所谓“自顶向下”设计方法,简单地说,就是采用可完全独立于芯片厂商及其产品结构的描述语言,在功能级对设计产品进
19、行定义,并结合功能仿真技术,以确保设计的正确性,在功能定义完成后,利用逻辑综合技术,把功能描述转换成某一具体结构芯片的网表文件,输出给厂商的布局布线器进行布局布线。布局布线结果还可反标回同一仿真器,进行包括功能和时序的后验证,以保证布局布线所带来的门延时和线延时不会影响设计的性能。芜湖职业技术学院 FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。典型FPGA开发流程 Xilinx公司提供了FPGA开发软件ISE,这是一个集成的开发环境。用户可以在ISE工程管理器Project Navigator界面的统一管理下,完成所有的设计输入、仿真、综合、布线、下载等工作,
20、而且其中集成了强大的仿真工具ModelSim。芜湖职业技术学院用ISE 开发FPGA 的完整流程流程图:芜湖职业技术学院1、功能定义/器件选型 在FPGA 设计项目开始之前,必须有系统功能的定义和模块的划分,另外就是要根据任务要求,如系统的功能和复杂度,对工作速度和器件本身的资源、成本、以及连线的可布性等方面进行权衡,选择合适的设计方案和合适的器件类型。一般都采用自顶向下的设计方法,把系统分成若干个基本单元,然后再把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接使用EDA 元件库为止。2、设计输入 可以采用原理图输入、HDL 语言描述、EDIF 网表读入及波形输入等方式。芜
21、湖职业技术学院3、功能仿真 功能仿真也称为前仿真是在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有延迟信息,仅对初步的功能进行检测。仿真前,要先利用波形编辑器和HDL 等建立波形文件和测试向量(即将所关心的输入信号组合成序列),仿真结果将会生成报告文件和输出信号波形,从中便可以观察各个节点信号的变化。如果发现错误,则返回设计修改逻辑设计。芜湖职业技术学院4、综合优化 所谓综合就是将较高级抽象层次的描述转化成较低层次的描述。综合优化根据目标与要求优化所生成的逻辑连接,使层次设计平面化,供FPGA 布局布线软件进行实现。就目前的层次来看,综合优化(Synthesis)是指将设计输入编译
22、成由与门、或门、非门、RAM、触发器等基本逻辑单元组成的逻辑连接网表,而并非真实的门级电路。真实具体的门级电路需要利用FPGA 制造商的布局布线功能,根据综合后生成的标准门级结构网表来产生。为了能转换成标准的门级结构网表,HDL 程序的编写必须符合特定综合器所要求的风格。芜湖职业技术学院5、综合后仿真 综合后仿真检查综合结果是否和原设计一致。在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中去,可估计门延时带来的影响。但这一步骤不能估计线延时,因此和布线后的实际情况还有一定的差距,并不十分准确。目前的综合工具较为成熟,对于一般的设计可以省略这一步,但如果在布局布线后发现电路结构和设计意图
23、不符,则需要回溯到综合后仿真来确认问题之所在。芜湖职业技术学院6、实现与布局布线 布局布线可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑的最佳布局,选择逻辑与输入输出功能链接的布线通道进行连线,并产生相应文件(如配置文件与相关报告),实现是将综合生成的逻辑网表配置到具体的FPGA 芯片上,布局布线是其中最重要的过程。布局将逻辑网表中的硬件原语和底层单元合理地配置到芯片内部的固有硬件结构上,并且往往需要在速度最优和面积最优之间作出选择。利用芯片内部的各种连线资源,合理正确地连接各个元件。布线结束后,软件工具会自动生成报告,提供有关设计中各部分资源的使用情况。由于只有FPGA 芯片
24、生产商对芯片结构最为了解,所以布局布线必须选择芯片开发商提供的工具。芜湖职业技术学院7、时序仿真 时序仿真,也称为后仿真,是指将布局布线的延时信息反标注到设计网表中来检测有无时序违规(即不满足时序约束条件或器件固有的时序规则,如建立时间、保持时间等)现象。时序仿真包含的延迟信息最全,也最精确,能较好地反映芯片的实际工作情况。由于不同芯片的内部延时不一样,不同的布局布线方案也给延时带来不同的影响。因此在布局布线后,通过对系统和各个模块进行时序仿真,分析其时序关系,估计系统性能,以及检查和消除竞争冒险是非常有必要的。芜湖职业技术学院8、板级仿真与验证 板级仿真主要应用于高速电路设计中,对高速系统的
25、信号完整性、电磁干扰等特征进行分析,一般都以第三方工具进行仿真和验证。9、芯片编程与调试 设计的最后一步就是芯片编程与调试。芯片编程是指产生使用的数据文件(位数据流文件),然后将编程数据下载到FPGA 芯片中。其中,芯片编程需要满足一定的条件,如编程电压、编程时序和编程算法等方面。逻辑分析仪(LA)是FPGA设计的主要调试工具,但需要引出大量的测试管脚,且LA 价格昂贵。目前,主流的FPGA 芯片生产商都提供了内嵌的在线逻辑分析仪(如Xilinx ISE 中的ChipScope)来解决上述矛盾,具有很高的实用价值。芜湖职业技术学院 课后习题下去做一下 芜湖职业技术学院 课后习题下去做一下FPGA的开发流程 芜湖职业技术学院 课后习题下去做一下FPGA的开发流程 芜湖职业技术学院 课后习题下去做一下FPGA的开发流程 芜湖职业技术学院 课后习题下去做一下FPGA的开发流程 芜湖职业技术学院 课后习题下去做一下FPGA的开发流程 芜湖职业技术学院 课后习题下去做一下FPGA的开发流程