新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 如何發(fā)現(xiàn)并解決FPGA設(shè)計中的時序問題

如何發(fā)現(xiàn)并解決FPGA設(shè)計中的時序問題

作者: 時間:2009-03-02 來源:網(wǎng)絡(luò) 收藏

問題不同,在PlanAhead軟件中處理這些問題的解決方案也跟著變化。在PlanAhead設(shè)計工具中解決問題需要不斷實踐。該解決方案體現(xiàn)以下操作步驟中:


1. 選擇高亮顯示失敗的時序路徑。

2. 右擊路徑上的某個實例,選擇“Highlight With →color of choice”。

3. 在左側(cè)欄中,將底部第二個Mult18釋放。右擊“Unplace。這將為時序失敗的塊RAM騰出空間。

4. 點擊拖動底部的Mult18向左上移動一個位置。

5. 點擊拖動右邊的塊RAM到底部左側(cè)的自由塊RAM位置。

6. 選定失敗的時序路徑,確認路徑看起來是優(yōu)化的。

7. 選擇“Tools→Clear PlacementConstraints”。點擊第一個選項中的“Next”。

8. 選擇“Unplace All But SelectedInstances”。在余下的向?qū)Р襟E點擊“Next”。

9. 如果希望在“PlanAhead軟件外運行實施流程,選擇“File →Export Floorplan”。

10. 工具會輸出一個新的文件名為“top.ucf”的UCF文件。你可直接使用這一文件,或者將文件中的約束加入到原始UCF中。

11. 另一個選擇是在PlanAhead軟件內(nèi)運行實施工具。


選擇“Tool→Run ISE Place Route with ExploreAhead。

ExploreAhead提供了許多很好的功能,包括:自動從器件觀察窗導入約束到UCF;簡化了從ExploreAhead中運行的布局和時序結(jié)果的導入。

圖2. PlanAhead 10.1版軟件顯示出將DSP48和塊RAM鎖定后的正確路徑。


Pblock和底層規(guī)劃


如果布局中有許多時序失敗路徑,手工布局調(diào)整通常無法解決問題。反過來,應(yīng)當創(chuàng)建區(qū)域組。創(chuàng)建區(qū)域組(Pblock)的方式之一是在網(wǎng)表窗口中右擊模塊名字并選擇“Draw Pblock”。然后在器件觀察窗中希望放置區(qū)域組的地方畫一個長方形。


工具會創(chuàng)建一個Pblock,同時會顯示有關(guān)的詳細信息。屬性窗口會顯示Pblock需要的邏輯資源以及畫出的長方形區(qū)域組中可用的資源。


設(shè)計的底層規(guī)劃是一個需要深度交互的過程。你可能會需要反復(fù)多次調(diào)整區(qū)域組才能夠達到目標。請記住有時創(chuàng)建的區(qū)域組越小越少越好。你并不是總需要將整個模塊固定為區(qū)域組。集中于時序失敗的基本單元,將它們組合為區(qū)域組并單獨為其進行底層規(guī)劃。


在此過程中,應(yīng)當利用Pblock指標(Metrics)來更好地理解有關(guān)功能,如區(qū)域組中可配置的邏輯塊(CLB)的利用情況如何(可以在PlanAhead軟件左上窗口中點擊Metrics標簽來查看可用的指標)。這可幫助確定是否某個特定區(qū)域中太擁擠以致妨礙布線。如果確實比較擁擠,可能需要通過平面規(guī)劃將設(shè)計邏輯放得散開一些。


一旦利用PlanAhead軟件獲得盡可能好的時序分數(shù),最后的任務(wù)就是優(yōu)化代碼。PlanAhead設(shè)計工具現(xiàn)在支持HDL源文件。根據(jù)你導入的源文件不同,你可以從時序問題出發(fā)通過交叉探查功能回查到網(wǎng)表或HDL。


利用原理圖觀察窗(Schematic view),可以察看整個時序路徑。只需要從時序結(jié)果中選擇時序路徑并按F4。仔細觀察從其他模塊扇入扇出的邏輯。由于外部接口要求,工具可能經(jīng)常需要將模塊在芯片上散開部署。如果是這樣,可能需要使用流水線。


Block RAM和DSP輸出時序是引起時序問題的常見原因。通過在這些模塊的輸出進行存儲,通??梢曰謴?fù)一納秒甚至更多的時間。


上一頁 1 2 3 下一頁

關(guān)鍵詞: FPGA 發(fā)現(xiàn) 時序

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉