新聞中心

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

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

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

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


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

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

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

4. 點(diǎn)擊拖動(dòng)底部的Mult18向左上移動(dòng)一個(gè)位置。

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

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

7. 選擇“Tools→Clear PlacementConstraints”。點(diǎn)擊第一個(gè)選項(xiàng)中的“Next”。

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

9. 如果希望在“PlanAhead軟件外運(yùn)行實(shí)施流程,選擇“File →Export Floorplan”。

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

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


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

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

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


Pblock和底層規(guī)劃


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


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


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


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


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


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


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


上一頁 1 2 3 下一頁

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

評論


相關(guān)推薦

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

關(guān)閉