欢迎来到天天文库
浏览记录
ID:41154313
大小:2.53 MB
页数:92页
时间:2019-08-17
《FPGA时序优化方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、FPGA时序优化方法1课程安排•时序收敛流程•如何解决FPGA中存在的时序问题•通过FPGA设计工具进行时序优化•实例2课程安排•时序收敛流程•如何解决FPGA中存在的时序问题•通过FPGA设计工具进行时序优化•实例3成功的FPGA设计设计完成后,如何判断一个成功的设计?•设计是否满足面积要求---是否能在选定的器件中实现;通常资源占用率不要超过85%。•设计是否满足性能要求---能否达到要求的工作频率。•管脚定义是否满足要求---信号名、位置、电平标准及数据流方向等。4面积报告如何判断设计适合所选芯片?•所选芯片是否有足够的资源容纳更多的逻辑?如果有,有多少?Memory资源有多少BITS
2、?•如果适合所选芯片,能否完全成功布通?手段:查看MapReport或者Place&RouteReport5时序收敛流程ProjectNavigator产生两种时序报告:Post-MapStaticTimingReportPost-Place&RouteStaticTimingReport时序报告包含没有满足时序要求的详细路径的描述,用于分析判断时序要求没有得到满足的原因。TimingAnalyzer用于建立和阅读时序报告。时序收敛流程7时序收敛流程性能突破重点在三步:1.充分利用IP资源DSP48,PowerPCprocessor,EMAC,SDR/DDRControllerF
3、IFO,blockRAM等等。2.具有良好的代码风格UsesynchronousdesignmethodologyEnsurethecodeiswrittenoptimallyforcriticalpathsPipeline3.充分利用synthesis工具和Place&Route工具参数选择TrydifferentoptimizationtechniquesAddcriticaltimingconstraintsinsynthesisApplyfullandcorrectconstraintsUseHigheffort8流水线操作•流水线技术几乎是最常用的提供系统工作速率的强
4、有力手段。•它是面积换取速度思想的又一种具体体现。输入信号节拍1节拍2节拍3输出信号输出选择器节拍1节拍2节拍3节拍1节拍2节拍39流水线操作•考虑一个电路每个时钟周期执行N个操作,工作频率为F。我们可以认为吞吐量为N*Fops/sec。•Pipeline本质上是通过增加F来提高吞吐量,达到latency和area的tradeoff。•什么决定了最高工作频率呢?•回忆statictiminganalysis•在flipflops之间的最大延时10流水线操作(STA)•时序电路之间的组合电路延时决定整个电路的速度,即最大工作时钟频率,故不可太复杂。最小时钟周期:T=Tco+Tdelay+Tse
5、tup最快时钟频率:F=1/T11解决方式(PIPELINE技术)通过将Algorithm分为两个部分,在中间插入寄存器12流水线技术•其思想是利用寄存器将一条长路径切分成几段小路径,从而达到提高工作速率的作用。•假设原路径延时为t,加入2级流水线并且假设路径切割均匀,则路径延时可以减少到约t/3,从而系统速率可以提高到原来的3倍左右。•当然要注意的是输出同时会往后推迟3个时钟周期。所以采用流水线技术时,要记得进行时序调整。13流水线设计例子•设计din1+din2+din3+din4结果输出给dout。din1din2doutdin3din414PIPELINE程序实例•未用PIPELIN
6、E技术前的程序:•采用PIPELINE技术后的程序:•Always@(posedgeclk)•always@(posedgeclk)•if((a+b+c)==d)•begin•………..•e<=a+b+c;•if(e==d)•…………..•end15充分利用IP资源2012/9/2016编码注意事项•Usepipelinestages-morebandwidth•Usesynchronousreset-bettersystemcontrol•Useinferableresources•Multiplexer•ShiftRegisterLUT(SRL)•BlockRAM,LUTRAM•Casc
7、adeDSP•Avoidhigh-levelconstructs(loops,forexample)incode•Manysynthesistoolproduceslowimplementations17面向综合的RTL开发•敏感信号表应尽可能完整。当敏感信号表不完整时,综合前后的网表仿真可能会不对应。在组合逻辑块中,敏感信号表一定要包含这个过程或块读入的每个信号。对于时序块,敏感信号表一定要包含时钟和其他控
此文档下载收益归作者所有