資源描述:
《FPGA時序優(yōu)化方法》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、FPGA時序優(yōu)化方法1課程安排?時序收斂流程?如何解決FPGA中存在的時序問題?通過FPGA設計工具進行時序優(yōu)化?實例2課程安排?時序收斂流程?如何解決FPGA中存在的時序問題?通過FPGA設計工具進行時序優(yōu)化?實例3成功的FPGA設計設計完成后,如何判斷一個成功的設計??設計是否滿足面積要求---是否能在選定的器件中實現(xiàn);通常資源占用率不要超過85%。?設計是否滿足性能要求---能否達到要求的工作頻率。?管腳定義是否滿足要求---信號名、位置、電平標準及數(shù)據(jù)流方向等。4面積報告如何判斷設計適合所選芯片??所選芯片是否有足夠的資源容納更多的邏輯?如果有,有多少?Memory資源有多少BITS
2、??如果適合所選芯片,能否完全成功布通?手段:查看MapReport或者Place&RouteReport5時序收斂流程?ProjectNavigator產(chǎn)生兩種時序報告:?Post-MapStaticTimingReport?Post-Place&RouteStaticTimingReport?時序報告包含沒有滿足時序要求的詳細路徑的描述,用于分析判斷時序要求沒有得到滿足的原因。?TimingAnalyzer用于建立和閱讀時序報告。時序收斂流程7時序收斂流程性能突破重點在三步:1.充分利用IP資源?DSP48,PowerPCprocessor,EMAC,SDR/DDRControllerF
3、IFO,blockRAM等等。2.具有良好的代碼風格?Usesynchronousdesignmethodology?Ensurethecodeiswrittenoptimallyforcriticalpaths?Pipeline3.充分利用synthesis工具和Place&Route工具參數(shù)選擇?Trydifferentoptimizationtechniques?Addcriticaltimingconstraintsinsynthesis?Applyfullandcorrectconstraints?UseHigheffort8流水線操作?流水線技術幾乎是最常用的提供系統(tǒng)工作速率的強
4、有力手段。?它是面積換取速度思想的又一種具體體現(xiàn)。輸入信號節(jié)拍1節(jié)拍2節(jié)拍3輸出信號輸出選擇器節(jié)拍1節(jié)拍2節(jié)拍3節(jié)拍1節(jié)拍2節(jié)拍39流水線操作?考慮一個電路每個時鐘周期執(zhí)行N個操作,工作頻率為F。我們可以認為吞吐量為N*Fops/sec。?Pipeline本質(zhì)上是通過增加F來提高吞吐量,達到latency和area的tradeoff。?什么決定了最高工作頻率呢??回憶statictiminganalysis?在flipflops之間的最大延時10流水線操作(STA)?時序電路之間的組合電路延時決定整個電路的速度,即最大工作時鐘頻率,故不可太復雜。最小時鐘周期:T=Tco+Tdelay+Tse
5、tup最快時鐘頻率:F=1/T11解決方式(PIPELINE技術)通過將Algorithm分為兩個部分,在中間插入寄存器12流水線技術?其思想是利用寄存器將一條長路徑切分成幾段小路徑,從而達到提高工作速率的作用。?假設原路徑延時為t,加入2級流水線并且假設路徑切割均勻,則路徑延時可以減少到約t/3,從而系統(tǒng)速率可以提高到原來的3倍左右。?當然要注意的是輸出同時會往后推遲3個時鐘周期。所以采用流水線技術時,要記得進行時序調(diào)整。13流水線設計例子?設計din1+din2+din3+din4結(jié)果輸出給dout。din1din2doutdin3din414PIPELINE程序?qū)嵗?未用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開發(fā)?敏感信號表應盡可能完整。當敏感信號表不完整時,綜合前后的網(wǎng)表仿真可能會不對應。在組合邏輯塊中,敏感信號表一定要包含這個過程或塊讀入的每個信號。對于時序塊,敏感信號表一定要包含時鐘和其他控