FPGA设计中优化时序的原则与方法_第1页
FPGA设计中优化时序的原则与方法_第2页
FPGA设计中优化时序的原则与方法_第3页
FPGA设计中优化时序的原则与方法_第4页
FPGA设计中优化时序的原则与方法_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微处理机M I CROPROCESS ORS大规模集成电路设计、制造与应用FPG A设计中优化时序的原则与方法3林昌辉,樊晓桠(西北工业大学航空微电子中心,西安710065摘要:对数字电路而言,提高工作频率至关重要,因为更高的工作频率意味着更加强大的处理能力。以可编程逻辑设计基本原则之一的“面积与速度的平衡与互换原则”为指导思想,介绍了几种FPG A设计中通过消耗逻辑资源提高工作频率的设计思想和技巧。关键词:现场可编程逻辑;面积和速度;时序约束;逻辑复制中图分类号:TP303文献标识码:A文章编号:1002-2279(200703-0006-04The P rinc i p le and M

2、e tho d s o f I m p ro ving W o rking Ti m ing in FPGA D e signL I N Chang-hui,F AN Xiao-ya(A viation M icroelectronics Center,N orthw estern Polytechnical U niversity,X ian710072,ChinaAbstract:To the digital circuit,enhancing the design frequency is very i m portant,because the higher frequency mea

3、ns more powerful p r ocessing ability.Basing on the“balance and interchange bet w een area and s peed”p rinci p le,intr oducing several design skills of i m p r oving working ti m ing by consum ing more l ogical res ource in FPG A design.Key words:FPG A;A rea and Speed;Ti m ing Constraints;Logic dup

4、 licated1引言ASI C(专用集成电路器件具有设计自由度大、芯片中没有无用的单元或晶体管、芯片面积小、性能高、大批量生产时成本低的特点,被大量地应用于电子工业各领域。但传统的ASI C设计存在着开发周期长、投片成本大,特别是在一次投片不成功情况下需要重新改版的情况。FPG A验证是ASI C投片前原型验证的重要手段,利用FPG A的高密度、高性能和可编程器件灵活编程的特点,可以弥补ASI C设计流程中仿真的不足,通过FPG A验证也可以降低由于逻辑问题所造成ASI C开发中的成本损耗,从而降低投片风险。以航空微电子中心设计的32位R I SC微处理器“龙腾”R2为例,该处理器集成了定点

5、单元,浮点单元,内存管理单元,高速缓存单元,总线接口单元, Load/St ore单元等功能部件,设计已经流片成功,芯片的电路规模达到400万门,工作频率233MHz。在前期的FPG A验证过程中,我们的验证平台使用的开发板为A ltera stratix DSP S80,使用的FPG A是A ltera的Stratix系列器件,器件型号为EP1S80B956C6,LE(逻辑单元数量为79040,速度等级为6,封装类型为BG A。使用Quartus II在不进行优化设置的情况下进行了首次综合和布局布线,设计可以布局布线到目标器件当中,所消耗的逻辑资源仅为56%(44262个LE,但是在将布线好

6、的设计工程下载到FPG A板上运行测试程序时处理器的工作频率仅为40M左右。由于外部总线时钟为66M,为了达到预先制定的内外同频工作的目标,我们需要对设计进行速度优化,使处理器工作频率上升为66M。可编程逻辑设计有许多内在的规律可循,而其中之一就是“面积和速度的平衡与互换原则”,当我们的设计占用的逻辑资源远小于FPG A提供的逻辑资源数时,就可以考虑通过逻辑复制等一系列手段来提高我们的设计时序,也就是所谓的“面积换速度”。大容量的FPG A不但为系统设计师们提供了足够多的设计资源,而且也给“面积换速度”这一提高工作时序的方法提供了支持。2面积和速度平衡和互换原则这里的“面积”是指一个设计所消耗

7、的FPG A第3期2007年6月No.3Jun.,20073基金项目:国家自然科学基金资助项目(60573143;西北工业大学研究生创新种子基金(Z200646作者简介:林昌辉(1982-,男,海南乐东人,硕士研究生,主研方向:计算机体系结构和ASI C系统设计。收稿日期:2006-06-14林昌辉等:FPG A设计中优化时序的原则与方法的逻辑资源数量。FPG A中的逻辑资源,也就是触发器(FF和查找表(LUT。用设计所占用的等价逻辑门数来衡量设计所消耗FPG A的逻辑资源数量也是一种常见的衡量方式。“速度”是指设计结果在芯片上稳定运行时所能达到的最高频率,这个频率由设计的时序状况决定。与设计

8、满足的时钟周期、P AD t o P AD Ti m e、建立时间、保持时间和时钟到输出延时等众多时序特征向量密切相关。面积和速度这两个指标贯穿着FPG A设计的始终,是设计质量评价的终极标准。面积和速度是一对对立统一的矛盾体。要求一个设计同时具有设计面积最小,运行频率最高,这是不现实的。科学的设计目标应该是在满足设计时序要求(包含对设计最高频率的要求的前提下,占用最小的芯片面积,或者在所规定的面积下,使设计的时序余量更大,频率更高 。这两种目标充分体现了面积和速度平衡的思想。关于面积和速度的要求,不应当简单地理解为系统设计师水平的提高和设计完美性的追求,而应该认识到它们是和产品的质量和成本直

9、接相关的。如果设计的时序余量比较大,运行的频率比较高,则意味着设计的健壮性更强,整个系统的质量更有保证;另一方面,设计所消耗的面积更小,芯片上实现的功能模块更多,需要的芯片数量更少,整个系统的成本也随之大幅度削减。作为矛盾的两个组成部分,面积和速度的地位是不一样的。相比之下,满足时序、工作频率的要求更重要一些,当两者冲突时,一般采用速度优先的原则。面积和速度互换是FPG A设计的一个重要思想。从理论上讲,一个设计如果时序余量较大,所能跑的频率远远高于设计要求,那么就能通过功能模块复用来减少整个设计消耗的芯片面积,这就是用速度的优势换面积的节约;反之,如果一个设计的时序要求很高,普通方法达不到设

10、计频率,那么一般可以通过将数据流串并转换,并行复制多个操作模块,对数据进行并行处理,在芯片输出模块处再对数据进行“并串转换”。从宏观上看,整个芯片满足了处理速度的要求,这相当于用面积复制换取速度的提高。3设计思想和技巧3.1逻辑复制逻辑复制是一种最基本的通过增加面积改善时序条件的优化手段。这种方法最常用的场合是调整信号的扇出。当一个信号要驱动后级的许多单元时,也就是有多级扇出时,可能会出现如图1中左图所示的一些扇出路径的长延时。此时的解决方法就是通过信号逻辑的复制来减少路径延时,如右图所示。图1通过逻辑复制减小路径延时在R I SC处理器设计中就存在这样的情况。例如在译码器模块的设计中,根据指

11、令的分类需要多个不同类型的译码器,在向这多个译码器发射指令的过程中就出现了多扇出的情况,即一个当前指令信号要驱动多个译码器单元。对此我们对当前指令信号进行逻辑复制,由此减少信号扇出。修改后对译码器模块进行了综合,与修改前的综合情况比较如表1所示。表1修改前后的综合结果比较时间使用面积(LE单元数综合速度(MHz修改前825387.1修改后869422.12比较结果显示通过逻辑复制,虽然设计的面积增加了,但是工作频率得到了一定的提升。当然也不是所有有多级扇出的信号都需要被复制,只有当信号的扇出值大到扇出时延不能被忽略时才需要信号逻辑的复制。3.2串并转换串并转换是面积与速度互换思想的另一种体现。

12、假设FPG A上处理模块的处理速度最大为100Mbits/s,如果输入数据流的速率是300Mbits/s,则明显处理模块的吞吐量不能满足要求。在这种情况下,就应该利用“面积换速度”的思想,至少复制三个处理模块,如图2所示,首先将输入数据进行串并转换,然后利用这3个模块并行处理分配的数据,最后将处理结果“并串转换”,完成数据速率的要求。在处理模块的两端看,数据速率是300Mbits/s,而在FPG A内部看,每个子模块处理的数据速率是100Mbits/s,整个设计占用了更多的芯片面积,但是实现了高速处理。总的来说,将串行转为并行,一般旨在通过逻辑复制,提高整个设计的吞吐量,其本质是通过面积的消耗

13、提高系统工作速率。73期微处理 机图2串并转换举例3.3布尔逻辑扩展运算布尔逻辑扩展运算的定义如下:F (a,b,c =aF (1,b,c +(a F (0,b,c 从定义可以看出,布尔逻辑扩展运算实际上就是卡诺逻辑化简运算的反向运算,实际上就相当于通过逻辑复制来提高频率。布尔逻辑扩展运算通过增加选择器,从而缩短了某个优先级高、但是组合路径长的信号的路径时延,从而减少了关键路径的时延。比如在我们的设计中一个模块需要计算的一个逻辑表达式为:lzc_eq =(l_en |op _a +op _b =a _bus &rst_n对应到设计里面就是:assign lzc_eq =(l_en |op _a

14、 +op_b =a_bus &rst_n;很明显信号l_en 是该逻辑运算的关键路径信号,延时最大。我们使用Amp lify3.6对该模块综合,并用QuartusII 实现,共使用了27个LE,最差的t pd 时间约为13ns 。下面我们将该表达式进行布尔逻辑扩展运算,设计改写为:assign lzc_eq_0=(1+op_a +op_b =a_bus &rst_n;assign lzc_eq_1=(l_en (op_a +op _b =a_bus &rst_n ;assign lzc_eq =(l_en ?lzc_eq_0:lzc_eq_1;这相当于一个以l_en 为选择信号,以lzc_eq

15、_0和lzc_eq_1为两个输入信号的2选1选择器。因此,l_en 信号的优先级被提高。使用Amp lify3.6综合,并用QuartusII 在同一目标器件上实现,共使用了35个LE,最差的t pd 时间约为12.4ns 。信号的路径时延降低了,但是付出了设计面积增加的代价,这是“面积换速度”的又一种体现。4使用EDA 工具提高工作时序在将我们的设计转换成门级网表的过程当中,市场上为我们提供了许多优秀的综合和布局布线工具。利用这些EDA 工具,可以优化我们的设计,不管是朝着面积优先还是速度优先的方向。EDA 工具优化设计的工作时序主要是通过给设计添加各种各样的时序约束,时序约束可以规范设计的

16、时序行为,表达设计者期望满足的时序条件。通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。由于我们的FPG A 实验平台是A ltera 的Stratix 系列器件,因此我们选用的布局布线工具是A ltera 的QuartusII 4.0。4.1利用Quartus II 优化时序在Quartus II 的设置中我们依次加入以下的时序约束:(1Megafuncti on 资源的使用由于Megafuncti on 是基于A ltera 底层、硬件结构最合理的成熟应用模块的表现,所以在设计中应当尽量使用Megafuncti on 这类资源,不但能将我们从繁琐的

17、代码编写中解脱出来,更重要的是Mega 2functi on 的综合和实现结果比用户编写的代码性能更优。例如我们设计中使用到的RAM ,F I F O,P LL (时钟精确分频器等,都直接使用Megafuncti on 实现,极大地优化了我们设计的工作时序。特别要指出的是,在使用QuartusII 生成这类资源的过程中,如果碰到有速度优先的选项,就应当选上,这个选项也能极大地提高我们设计的性能。(2速度优先设置在A ssignments 菜单下的Settings 对话框中选择Analysis &Synthesis Settings,进入分析综合设置界面,把综合选项“Op ti m izati

18、on Technique ”设置为“Speed ”,工具在综合时就会对设计进行速度优化。(3全局时钟f max 的设置如果设计中只有一个全局时钟,那么可以在Quartus II 中只设置一个全局时钟,在A ssignments菜单下的Settings 对话框中选择Ti m ing Require 2ments &Op ti ons 可以设置全局时钟f max 。一个时钟的f max 就是与该时钟相关的所有触发器到触发器路径中延时最大的一条路径所能接受的时钟频率,这个时钟频率同样也决定了芯片中该时钟所能跑的最高时钟频率,例如设置f max 为66MHz 就代表希望设计能跑的频率至少为66MHz,

19、综合工具在实现过程中就会朝着这个目标努力。f max 通常定义如下:f max =1/t CLKt CLK 代表的是最小时钟周期,它的计算表达式如下:t CLK =t CO +t D ELA Y +t w ire +t S U -t CLK_SKE W表达式中t CO 是寄存器固有的时钟输出延时;82007年林昌辉等:FPG A 设计中优化时序的原则与方法t D ELA Y 是同步元件之间的组合逻辑延迟;t w ire 是连线延迟;t S U 是寄存器固有的时钟建立时间;t CLK_SKE W 是时钟偏斜。f max 能综合体现设计的时序性能,是最重要的时序指标之一。在Quartus II 完

20、成所有流程的最后时序分析报告里,会根据所设置的f max 报告影响时序性能的N 条最差时序路径,根据这些信息就可以找出设计的关键路径。(4全局I/O 时序设置 同样在A ssign ments 菜单下的Settings 对话框中选择Ti m ing Require ments &Op ti ons 可以设置全局I/O 时序约束,约束中包含了t S U 、t CO 和t PD (管脚到管脚延时的延时要求。根据首次编译的时序报告,我们设置t S U 、t CO 和t PD 的延时要求分别为10ns,15ns 和10ns 。 (5网表优化在A ssign ments 菜单下的Settings 对话框

21、中选择Analysis &Synthesis Settings 的子树目录Synthesis Netlist Op i m izati ons,则可以对网表进行优化。该目录包含两个选项,由于我们在综合优化技术的设置种选择了“Speed ”,因此第一项对网表中的W YSI W YG 原语进行重综合时,就会朝着速度优化的方向进行。第二项为“执行门级寄存器重定时”,如果选中这一功能,工具在不影响设计功能的前提下,当把网表解包成分立的组合逻辑和寄存器后,在门级对触发器和触发器间的组合逻辑进行平衡优化,然后再重映射到网表中,提高系统性能。在该选项下,还有一个叫做“A ll ow register ret

22、i m ing t o trade off Tsu /Tco with F max ”的子选项,如果打开该选项,寄存器重新定时的优化过程就会影响输入和输出的触发器,同时优化tsu 和tco 的时序。(6物理综合优化设置在A ssign ments 菜单下的Settings 对话框中选择Fitter Settings 的子树目录Physical Synthesis Op ti m i 2zati ons,进入物理综合优化设置界面。在物理综合的优化选项中,包括对组合逻辑和对寄存器的物理综合优化。在对组合逻辑的物理综合过程中,综合工具在保证设计功能不变的情况下,通过改变关键路径的位置,来减少关键路经

23、所经过的LUT 的级数,从而提高时序性能。如图3中未优化前关键路径(粗体线显示经过了两级LUT,经过组合逻辑的物理综合优化后,关键路径只经过一级LUT,如图4所示。对寄存器的物理综合包括寄存器复制(RegisterDup licat on 和寄存器重新定时(Register Reti m ing 两部分。寄存器复制的概念就是之前设计思想和技巧里面所说的逻辑复制,工具可以根据关键路径物理上的走线延迟,复制高扇出节点,以提高性能。而在物理综合阶段的寄存器重新定时功能,是在逻辑单元(LE 级进行的操作,是对网表优化阶段的寄存器重新定时的一个补充。图3未优化前图4组合逻辑的物理综合优化后4.2时序优化

24、结果上述优化选项是按照序号顺序逐次加入到Qu 2artus 设置中的,每添加一种优化选项就使用Quar 2tusII 对设计重新进行了分析综合、布局布线、时序分析、写网表等一系列操作,各阶段资源使用情况和工作频率如表2所示。表2依次添加优化选项的综合结果依次添加的优化选项使用面积(LE 单元数速度(MHz M egafuncti on 资源4595550.968从表2可以看出,相对于使用缺省设置的综合结果(原始速度:42.337MHz ,使用Megafuncti on 资源,添加速度优先设置,添加全局时钟设置以及添加物理综合优化设置都能极大地提高设计的工作频率,但同时也付出了一定的面积代价(原

25、始面积:44262个LE 。最终设计可以布局布线到目标器件中,逻辑单元使用率上升到了61%,但是将布线工程下载到目标器件上运行测试程序可以稳定地工作在66M ,达到了我们预期的设计目标,说明我们的优化策略是成功的。(下转第13页93期谭延军:一种用在-ADC中的六阶MASH算法H3(z=(1-z-13(16由图5所示的系统,加hanning窗的FFT,得出仿真结果。横坐标是(0FS/2,纵坐标是dB。对每一级的积分器进行了加Hanning窗的FFT仿真,由图7、8显然可知,六阶调制器的精度、增益和平滑度比四阶得到较大的提高,且性能稳定。仿真结果表明,在一定的积分器过载限制下合理选择级间耦合系数

26、和各个积分器的增益衰减因子是很重要的 。图7(a六阶、(b四阶、(c二阶的输出和(d 输入图8仿真图4结论采用单bit噪声整形,通过增加级数能够提高信噪比,并使系统稳定。MASH(2-2-2结构非常适合于使用混合信号的大规模集成电路工艺。仿真结果表明,MASH(2-2-2算法是在减小芯片面积和器件个数的基础上,同时保证了较大的动态范围,并降低了系统复杂度,提高了系统稳定性的优化设计,是六阶结构中的优化算法。参考文献:1Candy,et al.Over sa mp ling Delta-Sig ma Data ConvertersTheory,Design and Si m ulati onP.

27、I EEE Press,1992.2W ei Q in,Bo Hu,and Xieting L ing.Sig ma-Delta ADCwith Reduced Sa mp le Rate M ulti-bit QuantD.I EEE,1999.3高光天.模数转换器应用技术M.北京:科学出版社,2001.4J Candy.A U se of Double I ntegrati on in Sig ma DeltaMod2ulati onJ.I EEE Trans.Commu m,Vol.33,pp.249-258,M ar.1985.5V Pelus o,M Steyaert,and W Sansen.Design of Low-voltage Low-power C MOS Delta-sig ma A/D convertersM.Klu wer Academ ic Publishers,I S BN0-7923-8417-2,1999.6Letizia Lo Presti.EfficientModified-Sinc Filters for Sig2maDelta A/D ConvertersP.M e mber,I EEE,2000.7V Pelus o.Design of Low-voltag

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论