FPGA自学笔记——设计与验证公开版

所需积分/C币:47 2018-02-12 23:00:26 11.88MB PDF
收藏 收藏
举报

FPGA自学笔记——设计与验证公开版;十分适合初学者使用
PLL IOES M 逻 逻位逻9逻 辑K辑 IOE IOE 阵存阵 阵存阵 列储列列储列 PLL LOES PLL 通过该图可以看到,在器件的四周,分布着4个锁相环(PLL),因此可以知道外部参考 时钟进入FPGA器件后,如果需要,就可以立即进入PLL单元,以实现最短的时钟源路径, 从而获得较高的生成时钟质量。另外,乜由于PL属于模拟电路,放在器件的边缘更加利于 逻缉阵列和M9K存储器交替分布,这样,可以缩短数据的传输路径,以获得史加优异 的时序性能 IoEs是10单元,分布在器件的4周, Altera推荐的数据流向策略是数据流由左侧1O输 入,然后进过处理、运算和存储,最终由右侧输出,而控制信号由上下1O单元输入输出。 下面我们以一个典型的数据采集实例,米分析这种资源分布的优势。数据由外鄙高速 ADC采集,通过1o口输入到FPGA内部,接着经过一定的逻辑电路预处理后写入到由存储 器组成的缓存如ffo或双口ram中,然后,再由逻辑电路从存储器中读出,进行相应的处 理,在处理的过程中,可能会需要高速的乘法运算,因此,该部分数据可以直接送给片上集 成的18*18硬件乘法器进行运算,运算完成后,再由逻辑电路处理后送入储器组成的缓存如 fifo或双凵ram中,等待其他电路如数据发送电路将数据从缓存中读取出米并最终通过IO 口上连接的通信电路传输出去。 对两个通 道的AC数 将FIF中 从fifo中 据进行偏 的数据读 将运算结 读取数据 料Fifo 移校正, 取出来 果写入到 Fifo 井送给 USB传 然后写入 进行FIF FITO中 USB2.0设 输电路 FIFO十 运算 如果我们将整个数据流从左向右分析,就会发现数据流中每一级所需要的资源都刚好和 CycloneⅣNE中的各个资源的分布位胃对应。因此,按照官方推荐的数据流向策略将上述设 计布置到 CycloneⅣE的对应资源上,则能够得到时序优化了的布局布线,从而使设计能够 工作在较高的时钟频率下 Cyclone VE扩展资源介绍 接下来我们总结 cycloneⅣE在经典FPGA架构上增加的资源的用处。 锁相环PLL PLL的英文全称为 中文名叫锁相环,属于模拟电路。该电路的一个 特性就是能够将输入的周期信号进行分频和倍频,并最终输出一个或多个稳定的,与输入信号频 率和相位相关的信号。例如,我们将一个 的有源品振产生的时钟信号接到的输入 端,然后设置的一路输出的倍频和分频系数分别为和,则当对输入信号完成锁定 后,就能在该路输出上得到 的时钟,然后,我们就可以使用该时钟信号作为千兆以太网的 时钟信号。另外,对于 存储器,需要两路频率相同,理论相位相差 度的时钟信号, CycloneⅣVE的一路PLL最多可以支持5路输出,因此,我们可以配置一个PL 的两路输出的倍频和分频系数相同,但是第二路信号的输出相位较第一路相差度,这样就 能产生 存储器和 控制器工作时分别所需的时钟信号。总结下来就是能够 通过对输入的时钟信号进行分频、倍频、相位控制,从而得到一路或多路更高或更低的时钟信号。 需要注意的是, CycloneⅣVE中,除了EP4CE6和EP4CE10两个容量等级的器件只含有两个PLL 单元外,其他史高容量的器件均含有4个PLL M9K存储器 从名词可知,该存储器的每个存储块的存储容量为,每个 Cyclone IVE器件中都有多 个MK存储块,具体数量与对应的器件型号相关,例如EP4CE6含有30个M9K块,而 EP4CE115则含有432个M9K块。这些存储器块可以被配置为单端口、简单双端口、真双端口 RAM以及FIFO缓冲器或者ROM。例如当我们进行数据采集时,为了保证数据生产方和数据消 赀方能够协调读写速度,则可以使用嵌入式块RAM存储器配置为先违先岀存储器(FIFO),数据 生产方仅在FIFO为非满的情况下才将数据写入到FIFO中,而数据消费方则在FIFO为非空的时 候才去读取其中的数据并处理,通过这种方式实现了不同数据速率之间的匹配。 18*18硬件乘法器 所谓18*18乘法器,就是乘数和被乘数输入宽度最大为18位的乘法器,由于乘法器电路实 现起来较为复杂,如果使用通用逻辑电路来搭建,虽然也能实现相应的功能,但是性能会受刭较 大的限制,无法运行在较高的时钭频率,从而拉低整个设计的时序性能。冋时,使用通用逻辑搭 建乘法器,也会消耗较多的芯片面积,不利于降低成本和功耗。因此, CycloneⅣE中集成了 定数量的硬件乘法器,数量视FPGA具体型号,从15个到266个不等,这些硬件乘法器默 认都是18位的输入位宽。而所谓的硬件乘法器,就是该乘法器电路使用了硬线逻辑设计, 在芯片版图设计时功能和布局已经固定,即使不使用,这些乘法器电路也是存在的。每个18 位的硬件乘法器都可以拆分成2个9位的硬件乘法器使用,或者也可以使用多个硬件乘法 尜级联实现更高位宽的乘法运算。当我们需要使用FGA进行高速的乘法运算的时侯,使用 嵌入的硬件乘法器无疑是比较经济且高效的选择。 各容量等级资源数量介绍 通过以上内容,我们了解∫α cloneⅣ E EPGA中常见的哽件资源,根据器件型号的不同 每个器件中存在的这些硬件资源的数量也是不相同的,下表为 CycloneⅣVE系列各个容量等 级的FPGA芯片中拥有的各种硬件资源的数量。用户可根据实际设计实际资源消耗,合理选 择满足需求的FPGA型号。 合 6,27210,32015,40822,32028,848396005,85675,408114,480 嵌入式存储器( khits) 270 414 504 594 5941,1342,3402,7453,888 嵌入式18×18乘法器15 116 154 266 通用PL 全局时钟网络 10 20 20 20 20 用户I/0块 8 8 最大用户I/0 注1 179 179 343 374 426 528 以上我们通过对 CycloneⅣ E EPGA的整体硬件资源进行分析,介绍了 Cyclone IV E FPGA 的硬件结构。该结构包括逻辑单元(LE)、嵌入式存储器(M9K)、嵌入式18Ⅹ18乘法器、 通用PLL、全局时钟网络以及输入输出单元(O)。了鉉器件的具体结构,有助于我们在设计 时根据器件提供的资源,对设计进行合理的优化,以达到最佳的性价比。只体这些资源在设 计中怎么使用,我们将在后续章节为大家介绍。如果读者希望了解这些资源的具体硬件电路 结构,也可参看《 Cyclone IV Device Handbook》 重点电路设计 通过前面内容的学习,我们了解了 CycloneⅣ E EPGA的芯片硬件资源架构,接下来,我 们将选取一个具体的 CycloneⅣ E FPGA芯片EP4CE10F17C8,讲解其应用电路设计 电源设计 Cyclone IV E FPGA需要三组供电,分别为内核供电、PLL模拟电路供电和|o单元供电。 其中,内核供电电压根据器件是否为低电压版本区分,低电压版本,内核供电为10V,非低 电压版本供电为1.2V。PL模拟部分供电为固定的2.5V。1O供电电压值从1.2V~3.3V,共有 6种可选值。下图为 Cyclone IV E FPGA器件供电示意图。 内核 内核供电电源 PLL数字供电 PL模拟供电 Cyclone Iv e PL模拟电源 1V15V18V2.53.03.3V IO供电电源 图 Cyclone IV E FPGA器件供电示意图 内核供电: CycloneⅣ VEFPGA内核所需供电电压为1.2V,内核工作所需最大电流随芯片上运行的设 计工作频率和资源占用而不同。具体每个设计的功耗可以使用 Quartus软件提供的功耗分析 工具“ Power Play power analyzer toc进行分析,例如,对于一个资源占用率为95%、时钟频 率为100MHz的设计,分析出的内核静态功耗为4984mW、内核动态功耗为45.83mW,即 整个内核功耗不到100mW。可见对于EP4CE10F17C8这款器件,其内核供电电流范围要求并 不太高,设计时使用常见的LDo器件如AMS1117-1.2就可以满足一般的需求。当然,我们 也可以使用更加高效的DC-DC电路来实巩。 How staus Successfil-Iue Ma 14 15: 50: U6 JU1/ Quar us. II 64-5it Version 13.0.0 Build 156 04/24/2013S] Full Version ACE20 Board Test Top cvc Entity Name Cycone ivE Device EP+ 1C0 Fucl Antal lng Cements 9769/10,3mn(95%) Tota combInational furctions 8, 431/10, 320(82%6 otal registErs Total pinc 17/18(87% Total virtual pins 0 Total memory bits 236416!42393556%】 EmDedded Multiplier gbit eements 4/4(9% Total PLLs 1/2(50%) 图资源利用率 PowerPlay power Anayzer Status Successful-Tue Ma- 1415: 50: 06 2017 Quartus Il bt-Bit version Top-evel Ently Name AC620 Board Test Emil C clone IvE Total Tncrmal nowc Dissipation 171,1m Core Dynamic Thermal Power Dissipation +5.03 mW Core Satic THermal Power Dissipation 49,8+m的 To Thermal Pa Power =stimation Confidence Low: USEr prowided suff cient toggle rate data 图功耗分析结果 使用DCDC电路,在提供更大输岀电流的同时,可以提高电源转换电路效率,更加节能 在设计时,可以使用NCP1529型专用DCDC降压器来设计该转换电路。NCP1529输入电压范 围为2.7~5.5V,输出电压范围为0.9γ~3.9V,可持续稳定的输岀髙达1A的电流。其输出电 压可通过反馈电阻R1和R2不同的阻值组合来设置。输出电压 R1 VFB×(1+ R2 其中vVF为反馈电压,固定为06V,为了实玑低功耗和低噪声,要求R2的阻值大小在 100K到600K之问。 VIN SW L N OUT R1< OFF ON EN FB GND R2 图NCP1529典型应用电路 当我们希望输出电压为12V时,只需选择R1和R2阻值相同即可。下图所式为AC620 开发板上使用的1.2∨电源电路,该电路使用NCP1529实现从3.3V电源到1.2V电源的转换 R23和R25为反馈电阻,设置两者阻值均为100K,即可实现稳定的12V输出。为了实现电 源和实际FPGA供电管脚之间的隔离,1.∨输岀端还使用了·颗功率磁珠,当调试硬件需要 将1.2V从FPGA管脚上断开时,只需拆掉FB4即可,这种设计思路在硬件设计中非常的常 见 VDD12 TP5 VDD3. 3 NCP 1529ASNTIG FB4 VDDI. 2 R21 1OK VLS4012 3M,3.uhl R23 3.3oh/3A 47uF/16V VIN O FB C55 00K GND GND GND GND 图AC620开发板1.2V供电电路 内核供电引脚在器件中被标识为∨ CCINT,因此,在设计时需要将标注为CCNT的引脚 都连接到内核供电电源1.2V上,如下图所示。这些电源引脚附近一般需要加高频滤波电容, VDD3 3 ⅤDD12 UIK E3 G6 VCCIO1 CCINT VCCIO1VCCINT A G7 Ⅴ CCINT G8 K3 G I M3 VCCIO2 VCCINT G10 VCCIO2 VCCINT H6 P4 VCCINT HIl VCCIO3 VCCINT K7 VCCIO3 VCCINT VCCIO3 图 cloneⅣVE内核供电管肽 PLL模拟供电 CycloneⅣ E FPGA器件中,PL电路需要两种供电,分别为模拟部分和数字部分供电 数字部分供电电压为1.2∨,可直接使用内核供电电源提供。PLL模拟部分仅需最大200mA的 供电电流,不过由于是模拟电路,对电源稳定性要求较高,不能有较人的纹波。该供电适合 使用LDO提供,例如使用LP5900SD-2.5器件,或者其他可选LDO。 PLL供电管脚根据每个器件实际具有的PLL数量而不同,上要就是EP4CE6和EP4CE10两 个器件例外,由于这两个器件片上只有两个PL,因此也只有两个PLL模拟供电脚和数字供 电脚,其他容量的器件,都是4个PLL。PLL模拟供电管脚在器件中被标注为 VCCAX,数宁供 电管肜被标注为 VCCD PLL,设计时,请将CCAⅹ引脚连接到2.5V的PLL模拟供电专用电 源上,VCCD_PL连接到12V内核供电上。 VDDI. 2 FBI VCCD PLL VDD2. 5 VCCA2.5 FB BLM18AG22ISNID BLMI8AG22ISNID 05 C405 GND GND VCCD PLL VCCA25 UIM M5 N4 VCCAI GNDAI F12 VCCA2 E12 D13 GNDA2 Ⅴ CCD PLL2 EP4CE1OF17C8 GND 图EP4CE10具有2个PLL的PLL供电引脚 T6 VOCAl U5 GNDA1 VCCD PLLL F18 VCCA2 E17 GNDA2AE18 VCCD PLL2 GNDA3 F6 VCCA3 VCCD PLL3 U18 V18 VCCA4 GNDA4 VCCD PLLA EP4CE30F23C8 图EP4CE30具有4个PL的PLL供电引脚 IO Bank供电 每个器件的0口都分成了8组,每一组称为一个| o Bank,同一个Bank中的所有O供 电相同,各个Bank的|O供电都可以不同,1o供电支持1.2V、1.5V、1.8V、25V、3.0V、3.3V 多种电平标准。具体的可根据该Bank上的lO功能确定,如某个| 0 Bank上连接的是DDR2 存储器,则该| O Bank的供电要求为1.8V。同理,若某 IO Bank被确定为使用LDS功能,则 该 O Bank的供电需要被配置为2.5V。1O供电在器件中别标注为 VCCIOX,其中x为| 0 Bank 编号,如卜图为带DDR2和vDS接口的开发板o供电电路,由于Bank3、Bank4被设计用 于连接DDR2 SDRAM存储器,因此VCO3和VCCo4连接到了1.8V的供电电源上。Bank5 被配置为LDS或普通扩展IO,当Bank5上的O作为通用o口时,可以使用33V供电,当 Bank5上的1o用作 LVDS功能时,则只能使用2.5V供电,因此使用P9实现VCO5的供电 电压进行切换。 W5 VCCIO3VCCINT VCCl& W9 VCCIO3 VCCINT W111 VCCIO3 VCCINT AA6 VCCIO3 VCO VCCIO3 VCCINT VACaNT ⅤCCIO4 CCINT VCC1. 8 W12 VCCIO4VCCINT VCC25 CFG 14 Pg ⅤCCIO4 VCCINT VACANT ⅤCcIO5 VCCINT 2 VIg VCCIOS VCCINT T19 VCCIO5 VCCINT Header 3 VCCIOS VCCINT F19 VACANT VCC3 3 VCC3.3 GioⅤccIo6Ⅴ CCINT T19ⅤCCIO6 I20 VCCIO6 ⅤCCIO6 p12 VCC3 D14 VCCIO VCCIO D18 VCCIO7 VCCIOT 使用跳线直接切换是一种简易的方式,适合于供电切换可选项比较少的情况。另一种拄 荐的切换方式是使用可调降压电路,通过跳线直接切换不通的分压反馈电阻来设置降压电路 的输出值,例如对于上述提到的NCP1529,可以通过跳线选择接入电路的不同的R1阻值来 实现不同电压输出。此种方式在亩对需要调整的选择比较多时,比较方便。如下图JP16,通 过短接不通的短接线,就能选择接入反馈电路的分压电阻的阻值,从而设定不同的 GPIO VCO|O的电压值 ADJ/1A for Bank 4 l/ 0 voltage/1A VCC3P3 □ GPIO VCCIO GPIO VCCIO VIN VOUT 10uR177 0.1 VEN LP38692MP-ADJ HEADER 2X4 VCC3P3 R53 J1357 P2468 配置电路设计 CycloneⅣ E FPGA要能够正常的工作,除了需要合理的供电外,还需要有正确的配置电 路。 cloneⅣ∨ E EPGA是基于SRAM的结构的,而SRAM中的数据掉电就会丢失,因此系统 上电后,必须要由配置电路将正确的配置数据加载到SRAM中,然后FPGA才能够正常的运 行。 CycloneⅣE支持5种配置方式,分别为: 配置方式 配置方法 AS FGA主动串行方式串行配置器件(串行 FLASH储器) AP FGA丰动并行方式并行 FLASH存储器 FPGA被动串行方式带 FLASH存储器的外部主控制器 载电缆( USB Blaster) FPP 快速被动并行方式 带 FLASH存储器的外部主控制器 JTAG方式 带 FLASH存储器的外部主控制器 下电缆( USB Blaster 主动串行方式(AS) 在FPGA主动串行方式(AS)下,由FGA主动输出控制和同步信号给专用的串行配芯片 (EPCS系列或兼容芯片),在串行配置器件收到命令后,把配置数据发送到FPGA,完成配置 过程配置器件可使用原厂提供的专用EPCS芯片(EPCS4、EPCS8、EPC516、EPCS64、EPCS128), 也可以使用通用的串行 SPI FLASH芯片如M25P40、M25P16、W25Q16等。由」电路简单 成本低廉,该种方式在中小容量FPGA系统中使用较为广泛。下图为AS配置方式时的应用

...展开详情
试读 127P FPGA自学笔记——设计与验证公开版
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
上传资源赚积分or赚钱
最新推荐
FPGA自学笔记——设计与验证公开版 47积分/C币 立即下载
1/127
FPGA自学笔记——设计与验证公开版第1页
FPGA自学笔记——设计与验证公开版第2页
FPGA自学笔记——设计与验证公开版第3页
FPGA自学笔记——设计与验证公开版第4页
FPGA自学笔记——设计与验证公开版第5页
FPGA自学笔记——设计与验证公开版第6页
FPGA自学笔记——设计与验证公开版第7页
FPGA自学笔记——设计与验证公开版第8页
FPGA自学笔记——设计与验证公开版第9页
FPGA自学笔记——设计与验证公开版第10页
FPGA自学笔记——设计与验证公开版第11页
FPGA自学笔记——设计与验证公开版第12页
FPGA自学笔记——设计与验证公开版第13页
FPGA自学笔记——设计与验证公开版第14页
FPGA自学笔记——设计与验证公开版第15页
FPGA自学笔记——设计与验证公开版第16页
FPGA自学笔记——设计与验证公开版第17页
FPGA自学笔记——设计与验证公开版第18页
FPGA自学笔记——设计与验证公开版第19页
FPGA自学笔记——设计与验证公开版第20页

试读结束, 可继续阅读

47积分/C币 立即下载 >