第1章FPGA概述重点FPGA的基本工作原理FPGA的芯片结构IP核简介FPGA常见技术FPGA——FieldProgrammableGateArray现场可编程门阵列(1)侧重于低成本应用、容量中等、性能可以满足一般逻辑设计要求的Spartan系列Xilinx的FPGA产品主要分为两大类:FPGA市场占有率最高的两大公司Xilinx和AlteraFPGA——属于专用集成电路芯片ASIC(2)侧重于高性能应用、容量大、性能可满足各类高端应用的Virtex系列查找表(Look-Up-Table)结构查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成是一个有4位地址线的RAM。当用户通过原理图或HDL语言描述一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址去进行查表,找出地址对应的内容,然后输出即可。1.1FPGA的基本工作原理芯片组成1.2FPGA的芯片结构主要有可编程输入/输出单元、基本可编程逻辑单元、内嵌SRAM、布线资源、底层嵌入功能单元和内嵌专用单元等。1.可编程输入输出单元(IOB)IOB单元是芯片与外界电路的接口部分,可完成不同电气特性下对输入/输出信号的驱动与匹配要求.FPGA的IOB被划分为若干个组(Bank),每个Bank的接口标准由其接口电压VCCO决定,一个Bank只能有一种VCCO,但不同Bank的VCCO可以不同。只有相同电气标准的端口才能连接在一起,要求VCCO电压相同是接口标准的基本条件。典型的IOB内部结构示意图2.可配置逻辑块(CLB)CLB是FPGA内的基本逻辑单元.CLB的实际数量和特性会依据器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由选型电路(多路复用器等)、触发器和4或6个输入组成。典型的CLB结构示意图3.数字时钟管理模块(DCM)Xilinx推出的FPGA可提供数字时钟管理和相位环路锁定。DCM的主要优点在于:①可实现零时钟偏移(Skew),消除时钟分配延迟,并实现时钟闭环控制。②时钟可以映射到PCB上用于同步外部芯片,这样就减少了对外部芯片的要求,而将芯片内外的时钟控制一体化,以利于系统设计。DCM模块的关键参数:输入时钟频率范围、输出时钟频率范围和输入/输出时钟允许抖动范围等。4.嵌入式块RAM(BRAM)大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器(CAM)以及FIFO等常用的存储块。在实际应用中,芯片内部块RAM的数量也是选择芯片的一个重要因素。单片块RAM的容量为18kb,可以将多片块RAM级联起来形成更大的RAM。5.丰富的布线资源布线资源连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。根据工艺、长度、宽度和分布位置的不同,可将FPGA芯片的内部布线资源划分为四个不同的类别:第一类是全局布线资源;第二类是长线资源;第三类是短线资源;第四类是分布式的布线资源。6.底层内嵌功能单元内嵌专用硬核是相对于底层嵌入的软核而言的,硬核(HardCore)使FPGA具有强大的处理能力,等效于ASIC电路。IP(IntelligentProperty)核1.3IP核简介是具有知识产权的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。IP核的提供方式上看,通常将其分为软核、硬核和固核这三类。从完成IP核所花费的成本来讲,硬核代价最大;从使用灵活性来讲,软核的可复用性最高。其优点是灵活性高,可移植性强,允许用户自配置。其缺点是对模块的预测性较低,在后续设计中存在发生错误的可能性,有一定的设计风险。软核是IP核应用最广泛的形式。1.软核在FPGA设计中,指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。与软核相比,固核的设计灵活性稍差,但在可靠性上有较大提高。目前,固核也是IP核的主流形式之一。2.固核在FPGA设计中,可以看成是带有布局规划的软核,通常以RTL代码和对应具体工艺网表的混合形式提供。IP硬核的不允许修改特点使其复用有一定的困难,因此只能用于某些特定应用,使用范围较窄。3.硬核在FPGA设计中,指布局和工艺固定、经过前端和后端验证的设计,设计人员不能对其修改。1.数字时钟管理DCM1.4FPGA常见技术数字时钟管理模块(DCM,DigitalClockManager)是基于Xilinx的其他系列器件所采用的数字延迟锁相环(DLL,DelayLockedLoop)模块。DCM由四部分组成:1.DLL模块;2.数字频率合成器DFS3.数字移相器DPS4.数字频谱扩展器DSSDCM功能块和相应的信号DLL主要由一个延时线和控制逻辑组成。延时线对时钟输入端CLKIN产生一个延时,时钟分布网线将该时钟分配到器件内的各个寄存器和时钟反馈端CLKFB;控制逻辑在反馈时钟到达时,采样输入时钟以调整二者之间的偏差,实现输入和输出的零延时。(1)DLL模块DLL简单模型示意图在FPGA设计中,消除时钟的传输延迟,实现高扇出最简单的方法就是用DLL,把CLK0与CLKFB相连即可。XilinxDLL的典型模型示意图利用一个DLL可以实现2倍频输出利用两个DLL就可以实现4倍频输出DFS可以为系统产生丰富的频率合成时钟信号,输出信号为CLKFB和CLKFX180,可提供输入时钟频率分数倍或整数倍的时钟输出频率方案,输出频率范围为1.5~320MHz(不同芯片的输出频率范围是不同的)。(2)数字频率合成器DFS输入频率和输出频率之间的关系为DCM具有移动时钟信号相位的能力,因此能够调整I/O信号的建立时间和保持时间,能支持对其输出时钟进行0°,90°,180°,270°的相移粗调和相移细调。(3)数字移相器DCMDSS技术通过展宽输出时钟的频谱,来减少EMI和达到FCC要求。这一特点使设计者能够极大地降低系统成本,使电路板重新设计的可能性降到最小,并不再需要昂贵的屏蔽,从而缩短了设计周期。(4)数字频谱合成器DSS2.串化与解串技术串化与解串即Serdes,它能将低速的并行信号转换成高速的串行数据,也可以将高速的串行数据转换成低速的并行数据。Serdes的基本构成模块3.字对齐技术字对齐又称为Comma对齐,用于在将串行数据转换成并行数据时,确定有效数据的边界,以便使转换后的并行数据正确。Comma对齐的原理是:接收器在输入数据流中扫描搜寻特定的比特序列,如果找到序列,解串器调整字符边界以匹配检测到的Comma字符序列,扫描是连续进行的。一旦对齐确定,所有后续的Comma字符均会发现对齐已经确定。当然,在任意的序列组合里Comma字符序列必须是唯一的。Comma对齐过程4.通道绑定技术通道绑定是指将多个串行通道组合在一起构成一个并行通道,以此来提高收发的数据吞吐率。由于每个通道在收发器互连、时钟再生和数据接收延迟上各不相同,会使接收到的数据产生“错位”的情况,因此要在发送端数据流中加入一个特殊的序列——通道绑定序列,如图1.14中的“P”字符。每个绑定通道都设定“P”字符为通道绑定序列,在接收端指定一个通道为主通道,其余通道都依据主通道的CHBONDO有效指示进入绑定状态,进而锁定本通道在ElasticBuffer中接收到通道绑定序列的位置。通道绑定原理示意图5.预加重技术在印制的电路板上,线路是呈现低通滤波器的频率特性的,为解决高频部分的损失,就要采取预加重技术。预加重技术的思想是:在传输信号时,抬高信号的高频信号,以补偿线路上高频分量的损失。没有预加重的发送波形预加重后的发送波形没有预加重的接收波形有预加重的接收波形思考题1.1简述FPGA的一般工作原理和结构,查阅资料看看有哪些公司生产FPGA产品,各公司的FPGA产品的工作原理、结构与特性有何不同?1.2通过查阅资料比较Xilinx的FPGA芯片中几大系列的发展过程,以及该公司的不同FPGA芯片的性能与技术特点。1.3FPGA的芯片组成部分主要有哪些?各个单元的基本构造是什么?1.4什么是固核、软核、硬核?三者的区别是什么?1.5FPGA涉及的主要技术有哪些?1.6DCM模块的优点有哪些?