新聞中心

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ò) 收藏

耗費(fèi)數(shù)月精力做出的設(shè)計(jì)卻無法滿足要求,這確實(shí)非常令人傷心。然而,試圖正確地對設(shè)計(jì)進(jìn)行約束以保證滿足要求的過程幾乎同樣令人費(fèi)神。找到并確定約束本身通常也是非常令人頭痛的問題。

本文引用地址:http://butianyuan.cn/article/192151.htm

時(shí)序問題的惱人之處在于沒有哪種方法能夠解決所有類型的問題。由于客戶對于和現(xiàn)場應(yīng)用工程師共享源代碼通常非常敏感,因此我們通常都是通過將工具的潛力發(fā)揮到極致來幫助客戶解決其時(shí)序問題。當(dāng)然好消息就是通過這種方法以及優(yōu)化RTL代碼,可以解決大多數(shù)時(shí)序問題。


但在深入探討之前,我們首先需要對時(shí)序問題進(jìn)行一點(diǎn)基本分析。這里的目標(biāo)是首先排除明顯的問題,如將時(shí)鐘引腳置于器件的上部、在器件下部驅(qū)動數(shù)字時(shí)鐘管理器(DCM),然后再在器件上部驅(qū)動全局緩沖(BUFG)。


有時(shí),此類引腳布局會導(dǎo)致根本沒有辦法滿足時(shí)序要求。通過察看時(shí)序報(bào)告中的延遲,通??梢?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/發(fā)現(xiàn)">發(fā)現(xiàn)這些明顯的時(shí)序問題。在這些情況下,為了解決這些明顯的問題,都需要利用底層規(guī)劃工具“floorplanner”將造成問題的部分鎖定在適當(dāng)?shù)奈恢谩5讓硬季忠?guī)劃工具還可以幫助以可視的方式來理解時(shí)序問題。


用最新工具進(jìn)行時(shí)序分析


假設(shè)問題并非這么明顯,那么為了鎖定問題所在,需要了解所使用的器件系列以及軟件版本。通常,每種器件系列對應(yīng)一種最優(yōu)的軟件版本。如Xilinx Virtex-4器件對應(yīng)的最佳軟件是ISE軟件9.2i版,而對Virtex-5 則是ISE軟件10.1版。


綜合工具的版本也很重要,因此當(dāng)采用最新的器件架構(gòu)時(shí),下載并使用最新版軟件非常重要。軟件開發(fā)幾乎總是滯后于硬件功能,因此我不提倡使用舊版軟件進(jìn)行基于新器件的設(shè)計(jì)。


然而,有些客戶由于擔(dān)心新的和未知的軟件缺陷而不愿意升級軟件。但是,在使用最新的器件時(shí),如果希望更好地處理時(shí)序挑戰(zhàn),強(qiáng)烈建議下載最新版軟件。


擁有了最適用于目標(biāo)器件系列的軟件,還需要確定最佳的實(shí)現(xiàn)選項(xiàng)??上?,并沒有適用于所有情況的超級選項(xiàng)組合。對于設(shè)計(jì)實(shí)現(xiàn)工具來說,有成千上萬種不同的實(shí)現(xiàn)選項(xiàng)組合。根據(jù)所使用的實(shí)現(xiàn)選項(xiàng)不同,時(shí)序分?jǐn)?shù)(即所有存在錯(cuò)誤的時(shí)序路徑與時(shí)序要求的差異總和,以皮秒表示)也會有很大不同。


賽靈思的幾款工具可幫助確定適用于特定設(shè)計(jì)的最佳實(shí)現(xiàn)選項(xiàng)。ISE軟件現(xiàn)在包括兩個(gè)工具:Xplorer以及最近發(fā)布的SmartXplorer。SmartXplorer可充分發(fā)揮多處理器優(yōu)點(diǎn),能夠以不同選項(xiàng)組合運(yùn)行多個(gè)實(shí)施實(shí)例。


SmartXplorer需要Linux支持,但使用非常容易。其命令行很簡單:smartxplorer designname.edn -p xc5vlx110t-1ff1136.


只要用戶約束文件(UCF)和網(wǎng)表約束文件(NCF)文件名相同,SmartXplorer會自動使用正確的選項(xiàng)。唯一需要做的是編輯主機(jī)列表文件。


SmartXplorer可以通過SSH/rsh安全shell登錄到其他機(jī)器。只需要在名為smartxplorer.hostlist的文件中將每臺機(jī)器一行將機(jī)器名字添加進(jìn)去就可以了。如果機(jī)器有兩個(gè)處理器,請將機(jī)器列出兩次。表1給出了SmartXplorer的一組結(jié)果。

表1:對基于Virtex-5 的設(shè)計(jì)SmartXplorer 10.1的一個(gè)例子。

PlanAhead軟件也包括了與SmartXplorer類似的稱為ExploreAhead的功能。ExploreAhead支持同時(shí)在多臺Linux機(jī)器上分布式運(yùn)行布局布線任務(wù)。所有這些工具的目的都是類似的:確定實(shí)現(xiàn)工具的最佳選項(xiàng)組合,以獲得最好的時(shí)序得分。


請注意選項(xiàng)的不同組合對于時(shí)序得分和運(yùn)行時(shí)間的巨大影響。仔細(xì)調(diào)整綜合選項(xiàng)也非常重要。例如,在綜合選項(xiàng)中關(guān)閉結(jié)構(gòu)層次(hierarchy)通常會大大提高性能。綜合過程中的約束條件好壞在滿足時(shí)序方面的作用也很突出。


上一頁 1 2 3 下一頁

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

評論


相關(guān)推薦

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

關(guān)閉