在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA工程師的核心競(jìng)爭(zhēng)力 — 方法篇(二)

C29F_xilinx_inc ? 來(lái)源:賽靈思 ? 作者:賽靈思 ? 2022-02-16 16:21 ? 次閱讀

在上篇文章《FPGA工程師的核心競(jìng)爭(zhēng)力-方法篇(一)》中,針對(duì)UltraFast設(shè)計(jì)方法論進(jìn)行了概述,并根據(jù)設(shè)計(jì)指南UG949介紹了前面三章的主要內(nèi)容,本篇將重點(diǎn)學(xué)習(xí)解讀后面三章內(nèi)容:設(shè)計(jì)約束、設(shè)計(jì)實(shí)現(xiàn)和設(shè)計(jì)收斂。

設(shè)計(jì)約束

設(shè)計(jì)約束用于定義各項(xiàng)要求,編譯流程必須滿足這些要求才能在硬件中正常運(yùn)行設(shè)計(jì)。對(duì)于較為復(fù)雜的設(shè)計(jì),這些約束通常用于定義工具指南,以幫助實(shí)現(xiàn)收斂。并非所有約束都要在編譯流程中的所有步驟中使用。例如,物理約束僅在執(zhí)行實(shí)現(xiàn)步驟(最優(yōu)化、布局和布線)期間使用。

由于綜合與實(shí)現(xiàn)算法均由時(shí)序驅(qū)動(dòng),因此必須創(chuàng)建正確的時(shí)序約束。對(duì)設(shè)計(jì)進(jìn)行過(guò)約束或欠約束都會(huì)導(dǎo)致難以實(shí)現(xiàn)時(shí)序收斂。為了方便設(shè)計(jì)分析,Xilinx官方指南給出的《Vivado Design Suite 用戶指南:設(shè)計(jì)分析與收斂技巧》(UG906)可以參照。

5.1 對(duì)設(shè)計(jì)約束進(jìn)行組織

通常約束按類別和/或按設(shè)計(jì)模塊組織到 1 個(gè)或多個(gè)文件中。無(wú)論采用何種組織方式,都必須了解其整體依賴關(guān)系,并在載入存儲(chǔ)器后復(fù)查其最終時(shí)序。

如何進(jìn)行約束組織和管理呢?有的工程很小、簡(jiǎn)單,幾個(gè)模塊就完成了,這時(shí)候約束文件不多,不復(fù)雜。但很多時(shí)候,系統(tǒng)很復(fù)雜,幾十個(gè)模塊,多個(gè)時(shí)鐘,管腳也多,約束文件最好根據(jù)類別放幾個(gè),管理起來(lái)也方便。對(duì)于IP,通常采用OOC方式進(jìn)行綜合,并形成獨(dú)自的約束文件。

(1)建議的約束文件

根據(jù)工程大小和復(fù)雜性,有多種適用于約束組織的方法可供選擇。Xilinx給出的建議是:

對(duì)于小型設(shè)計(jì)團(tuán)隊(duì)開(kāi)發(fā)的簡(jiǎn)單設(shè)計(jì):
? 1 個(gè)文件存儲(chǔ)所有約束
? 1 個(gè)文件存儲(chǔ)物理約束 + 1 個(gè)文件存儲(chǔ)時(shí)序約束
? 1 個(gè)文件存儲(chǔ)物理約束 + 1 個(gè)文件存儲(chǔ)時(shí)序(綜合)+ 1 個(gè)文件存儲(chǔ)時(shí)序(實(shí)現(xiàn))

對(duì)于復(fù)雜設(shè)計(jì)(含多個(gè) IP 核或多個(gè)設(shè)計(jì)團(tuán)隊(duì)):

? 1 個(gè)文件存儲(chǔ)頂層時(shí)序 + 1 個(gè)文件存儲(chǔ)頂層物理 + 1 個(gè)文件對(duì)應(yīng) 1 個(gè) IP 或主塊

(2)驗(yàn)證讀取順序

完成工程約束文件的組織后,必須根據(jù)文件內(nèi)容驗(yàn)證文件讀取順序。在“工程模式”下,可在 Vivado? IDE 中或者使用 reorder_files Tcl 命令來(lái)修改約束文件的順序。在“非工程模式”下,順序直接由編譯流程 Tcl 腳本中的read_xdc 命令(針對(duì) XDC 文件)和 source 命令(針對(duì)由 Tcl 腳本生成的約束)來(lái)定義。

(3)建議的約束順序

約束語(yǔ)言 (XDC) 基于 Tcl 語(yǔ)法和解讀規(guī)則。與 Tcl 一樣,XDC 屬于順序語(yǔ)言:

? 必須先定義變量,然后才能加以使用。同樣,必須先定義時(shí)序時(shí)鐘,然后才能將其用于其它約束中。
? 對(duì)于覆蓋相同路徑并具有相同優(yōu)先級(jí)的等效約束,適用最后一項(xiàng)約束。

當(dāng)考慮以上優(yōu)先規(guī)則時(shí),時(shí)序約束總體上應(yīng)遵循以下順序:

poYBAGIModKAEosXAAJ8s7VDWNM268.png

當(dāng)使用多個(gè) XDC 文件時(shí),必須特別留意時(shí)鐘定義,并驗(yàn)證從屬關(guān)系排序是否正確。比如主時(shí)鐘、生成時(shí)鐘關(guān)系。

物理約束可能位于任意約束文件中的任意位置。綜合工具一般會(huì)自動(dòng)放在時(shí)鐘約束后面,XDC文件也可手動(dòng)編寫(xiě),也可由工具生成。Tcl命令也能用于創(chuàng)建約束文件。

(4)創(chuàng)建綜合約束

綜合將提取設(shè)計(jì)的 RTL 描述,并使用時(shí)序驅(qū)動(dòng)的算法將其變換為經(jīng)優(yōu)化的技術(shù)所映射的網(wǎng)表。結(jié)果質(zhì)量受 RTL 代碼質(zhì)量和提供的約束的影響。在編譯流程的這個(gè)階段,信號(hào)線延遲建模采用近似法,無(wú)法反映布局約束或復(fù)雜影響(例如擁塞)。建模的主要目的是通過(guò)真實(shí)且簡(jiǎn)單的約束獲取滿足時(shí)序約束要求或者接近滿足要求的網(wǎng)表。

重要提示!與實(shí)現(xiàn)階段不同,綜合可能會(huì)將用于定義時(shí)序約束的 RTL 網(wǎng)表對(duì)象優(yōu)化掉以便實(shí)現(xiàn)更好的面積QoR。一般這不會(huì)導(dǎo)致問(wèn)題,前提是對(duì)約束進(jìn)行更新和驗(yàn)證以滿足實(shí)現(xiàn)要求。但如果需要,仍可使用 KEEP 約束來(lái)保留任何對(duì)象以便在綜合和實(shí)現(xiàn)期間應(yīng)用約束。

(5)創(chuàng)建實(shí)現(xiàn)約束

實(shí)現(xiàn)約束必須準(zhǔn)確反映最終應(yīng)用的要求。物理約束(例如 I/O 位置和 I/O 標(biāo)準(zhǔn))取決于開(kāi)發(fā)板設(shè)計(jì)(包括開(kāi)發(fā)板走線延遲)以及源自總體系統(tǒng)要求的設(shè)計(jì)內(nèi)部要求。物理約束就是對(duì)管腳進(jìn)行約束,包括管腳位置和電壓配置等。

多數(shù)情況下,在綜合與實(shí)現(xiàn)階段可以使用相同的約束。但是,由于設(shè)計(jì)對(duì)象在綜合階段可能消失或發(fā)生名稱變化,因此必須確認(rèn)所有綜合約束都可正確應(yīng)用于實(shí)現(xiàn)網(wǎng)表。

(6)創(chuàng)建塊級(jí)約束

開(kāi)發(fā)多團(tuán)隊(duì)工程時(shí),為方便起見(jiàn),可為頂層設(shè)計(jì)的每個(gè)主要塊創(chuàng)建獨(dú)立的約束文件。通常每個(gè)主要塊都會(huì)先獨(dú)立開(kāi)發(fā)并驗(yàn)證,最后再整合到 1 個(gè)或多個(gè)頂層設(shè)計(jì)中。

塊級(jí)約束必須獨(dú)立于頂層約束單獨(dú)開(kāi)發(fā),并且必須盡可能采用通用設(shè)計(jì)以便應(yīng)用于各種環(huán)境中。此外,這些約束不得影響塊邊界外的任何邏輯。

當(dāng)實(shí)現(xiàn)子塊時(shí),最好在時(shí)序分析中包含全時(shí)鐘網(wǎng)絡(luò),以確保偏差和時(shí)鐘域交匯分析的準(zhǔn)確性。這可能需要 1 個(gè)包含時(shí)鐘組件的 HDL 封裝器和另一個(gè)約束文件以便復(fù)制頂層時(shí)鐘約束。它僅用于子模塊的時(shí)序驗(yàn)證。

這么做的主要原因,我們可以將其叫做“去耦合”,保持相對(duì)獨(dú)立性。

5.2 定義時(shí)序約束的四個(gè)步驟

合格的約束的定義過(guò)程分為四個(gè)主要步驟,如下圖所示。這些步驟遵循時(shí)序約束先后順序和從屬關(guān)系規(guī)則,并采用符合邏輯的方式來(lái)向時(shí)序引擎提供信息以執(zhí)行分析。

pYYBAGIModaAZRSPAAPBRuV9J90678.png

? 前 2 個(gè)步驟與時(shí)序斷言有效有關(guān),期間將從時(shí)鐘波形和 I/O 延遲約束中衍生出默認(rèn)時(shí)序路徑要求。
? 在第 3 個(gè)步驟中,將對(duì)至少共享 1 條邏輯路徑的異步或?qū)贂r(shí)鐘域之間的關(guān)系進(jìn)行審核。根據(jù)關(guān)系的性質(zhì),可輸入時(shí)鐘組或偽路徑約束以忽略這些路徑上的時(shí)序分析。
? 最后一個(gè)步驟對(duì)應(yīng)于時(shí)序例外,設(shè)計(jì)人員可在此判定如何更改默認(rèn)時(shí)序路徑要求,包括利用特定約束來(lái)忽略、放寬或收緊時(shí)序要求。

從邏輯上講,完成這四步,我們的時(shí)序約束就完成了。關(guān)于這四步詳細(xì)的約束文件創(chuàng)建,可參考UG949第四章的4.3節(jié)至4.6節(jié)。另外,針對(duì)多周期路徑約束和物理約束,可參考4.7和4.8節(jié)。

設(shè)計(jì)實(shí)現(xiàn)

選定器件、選擇并配置 IP 且編寫(xiě) RTL 和約束條件后,下一步即為實(shí)現(xiàn)。實(shí)現(xiàn)通過(guò)綜合和布局布線來(lái)編譯設(shè)計(jì),然后生
成用于對(duì)器件進(jìn)行編程的文件。實(shí)現(xiàn)過(guò)程可能包含一些迭代循環(huán)。

6.1 運(yùn)行綜合

綜合步驟將采用 RTL 和時(shí)序約束,并生成功能上等同于 RTL 的最優(yōu)化網(wǎng)表。通常,綜合工具可以采用任何合法 RTL,并為其創(chuàng)建邏輯。綜合需要現(xiàn)實(shí)的時(shí)序約束。

(1)綜合流程

a.全局綜合

在全局綜合流程中,整個(gè)設(shè)計(jì)通過(guò)單次運(yùn)行來(lái)完成綜合,其優(yōu)勢(shì)如下:
? 允許綜合工具執(zhí)行最大程度地最優(yōu)化。由于綜合工具已發(fā)現(xiàn)整個(gè)設(shè)計(jì),該工具可在層級(jí)間進(jìn)行最優(yōu)化,這是其它流
程無(wú)法做到的。

? 簡(jiǎn)化綜合運(yùn)行后的分析操作。

此流程的缺點(diǎn)在于編譯時(shí)間較長(zhǎng)。每次運(yùn)行綜合后,都會(huì)重新運(yùn)行整個(gè)設(shè)計(jì)。但可通過(guò)使用增量綜合來(lái)緩解此缺點(diǎn)的不
利影響。

b.非關(guān)聯(lián)綜合

在非關(guān)聯(lián)綜合流程中,某些層級(jí)與頂層分離,單獨(dú)進(jìn)行綜合。非關(guān)聯(lián)層級(jí)首先進(jìn)行綜合。然后,運(yùn)行頂層綜合,并且每次非關(guān)聯(lián)運(yùn)行都作為黑盒來(lái)處理。這就是我們所說(shuō)的OOC綜合方式,通常對(duì)IP和無(wú)需改動(dòng)的模塊采用這種方式。

此流程具有以下優(yōu)點(diǎn):
?縮短后續(xù)綜合運(yùn)行的編譯時(shí)間。僅對(duì)您指定的運(yùn)行進(jìn)行重新綜合,其它運(yùn)行保持不變。?確保進(jìn)行設(shè)計(jì)更改時(shí)的穩(wěn)定性。僅對(duì)包含更改的運(yùn)行進(jìn)行重新綜合。

此流程的缺點(diǎn)在于需要額外進(jìn)行設(shè)置。您必須謹(jǐn)慎選擇將哪些模塊設(shè)置為非關(guān)聯(lián)綜合模塊。任何額外 XDC 約束都必須單獨(dú)定義,并且僅限用于非關(guān)聯(lián)綜合運(yùn)行。

c.塊設(shè)計(jì)綜合

塊設(shè)計(jì)綜合流程支持您使用定制 IP 和賽靈思 IP 創(chuàng)建復(fù)雜系統(tǒng)。在此流程中,將使用 Vivado IP integrator 創(chuàng)建塊設(shè)計(jì)(BD) 文件。賽靈思 IP 或定制 IP 將被添加到此 .bd 文件中并作為系統(tǒng)進(jìn)行連接。此流程具有以下優(yōu)點(diǎn):
? 將大量功能封裝到小型設(shè)計(jì)中。
? 支持集中精力處理整個(gè)系統(tǒng),而不是系統(tǒng)的各部分。
? 簡(jiǎn)化并加速設(shè)計(jì)的設(shè)置和綜合。

塊設(shè)計(jì)中,主要涉及調(diào)用處理器,設(shè)計(jì)完成后,一般不會(huì)再去修改,在頂層文件中直接調(diào)用。

d.增量綜合流程

您可使用增量綜合來(lái)復(fù)用現(xiàn)有綜合結(jié)果。此方法具有以下優(yōu)點(diǎn):
? 將典型綜合編譯時(shí)間縮短 50%。
? 配合增量實(shí)現(xiàn)流程一起使用時(shí),可縮短總體編譯時(shí)間并提升時(shí)序收斂一致性。

當(dāng)頂層設(shè)計(jì)為 RTL 并且 RTL 在設(shè)計(jì)中所占比重較大時(shí),增量綜合將具有最高的價(jià)值。在此模式下,綜合編譯時(shí)間將得到最優(yōu)化,并將復(fù)用結(jié)果。對(duì)于包含大量塊設(shè)計(jì)和/或 IP 的設(shè)計(jì),Vivado Design Suite 會(huì)在這些塊上自動(dòng)拆分綜合,并以非關(guān)聯(lián)模式運(yùn)行綜合。因此,增量綜合對(duì)這些設(shè)計(jì)的價(jià)值較小。

增量綜合可通過(guò)復(fù)用來(lái)自參考綜合運(yùn)行的未經(jīng)修改的層級(jí)來(lái)縮短編譯時(shí)間。要使增量綜合發(fā)揮作用,設(shè)計(jì)必須包含至少5 個(gè)分區(qū),每個(gè)分區(qū)至少 10,000 個(gè)實(shí)例。此外,必須盡可能減少任何設(shè)計(jì)更改所影響的分區(qū)數(shù)量,并且不得在設(shè)計(jì)頂層執(zhí)行更改。

注意:某些更改可能會(huì)影響跨邊界最優(yōu)化,從而導(dǎo)致其它分區(qū)需要重新進(jìn)行綜合。

所以,當(dāng)改動(dòng)很小,不影響跨邊界優(yōu)化時(shí),可采用增量綜合。

(2)綜合最優(yōu)化

默認(rèn)情況下,Vivado 綜合將應(yīng)用能夠?yàn)樽畲罅康脑O(shè)計(jì)產(chǎn)生最佳結(jié)果的最優(yōu)化措施。大部分情況下,我們都按默認(rèn)綜合進(jìn)行優(yōu)化,當(dāng)然,也可根據(jù)實(shí)際需要進(jìn)行綜合設(shè)置。

很多時(shí)候,我們比較關(guān)注有些關(guān)鍵信號(hào)是否被優(yōu)化掉,需要使用相關(guān)綜合屬性。使用 KEEP、DONT_TOUCH 和 MAX_FANOUT 屬性時(shí),需要特別注意對(duì)綜合帶來(lái)的影響。

6.2 綜合后的步驟

確保綜合過(guò)程中您已獲得的網(wǎng)表質(zhì)量?jī)?yōu)良,這樣它就不會(huì)在下游造成問(wèn)題。

(1)檢查和清理 DRC

report_drc 命令可運(yùn)行設(shè)計(jì)規(guī)則檢查 (DRC) 以尋找常見(jiàn)設(shè)計(jì)問(wèn)題和錯(cuò)誤。默認(rèn)規(guī)則檢查如下:

? 綜合后網(wǎng)表
? I/O、BUFG 和其它特定的布局需求。
? 屬性和 MGT、IODELAY、MMCM、PLL 的連線以及其它原語(yǔ)。

(2)運(yùn)行 Report Methodology

Vivado 工具中提供了“方法論報(bào)告 (Report Methodology)”,專用于檢查是否符合方法論指南要求。這些工具根據(jù)所處的設(shè)計(jì)進(jìn)程階段運(yùn)行不同的檢查。
? RTL 設(shè)計(jì):RTL lint 風(fēng)格檢查
? 綜合設(shè)計(jì)和實(shí)現(xiàn)設(shè)計(jì):網(wǎng)表、約束和時(shí)序檢查。

(3)復(fù)查綜合日志

必須復(fù)查綜合日志文件并確認(rèn)該工具提供的所有消息與您期望的設(shè)計(jì)用途相匹配。請(qǐng)?zhí)貏e關(guān)注“嚴(yán)重警告 (CriticalWarnings)”和“警告 (Warnings)”。大多數(shù)情況下,需修復(fù)“嚴(yán)重警告 (Critical Warnings)”才能實(shí)現(xiàn)可靠的綜合結(jié)果。

通常,在消息欄會(huì)給出錯(cuò)誤或警告提示,對(duì)于嚴(yán)重警告,必須進(jìn)行修復(fù)。

(4)檢查時(shí)序約束

您必須提供簡(jiǎn)單標(biāo)準(zhǔn)的時(shí)序約束以及時(shí)序例外(如果適用)。錯(cuò)誤的約束將導(dǎo)致編譯時(shí)間過(guò)長(zhǎng)、性能問(wèn)題以及硬件故障。

6.3 實(shí)現(xiàn)設(shè)計(jì)

Vivado Design Suite 實(shí)現(xiàn)包括在器件資源上對(duì)網(wǎng)表進(jìn)行布局布線,同時(shí)滿足設(shè)計(jì)的邏輯、物理和時(shí)序約束所需的所有步驟。

通常,我們使用默認(rèn)的實(shí)現(xiàn)策略,主要有以下三個(gè)過(guò)程:

? opt_design
? place_design
? route_design

在 Vivado Design Suite 中,可以使用增量實(shí)現(xiàn)來(lái)復(fù)用現(xiàn)有布局和布線數(shù)據(jù),從而縮短實(shí)現(xiàn)的編譯時(shí)間,并提升結(jié)果的可預(yù)測(cè)性。當(dāng)所處理的設(shè)計(jì)復(fù)用比例達(dá)到甚至超過(guò) 95% 時(shí),增量布局和布線編譯時(shí)間通常僅為正常布局和布線運(yùn)行時(shí)間的一半甚至更短,同時(shí)參考運(yùn)行的 WNS 仍保持不變。

設(shè)計(jì)收斂

設(shè)計(jì)收斂包括滿足所有時(shí)序、系統(tǒng)性能和功耗要求,并成功驗(yàn)證硬件中的功能。設(shè)計(jì)收斂通常需要在結(jié)果分析、設(shè)計(jì)修改和約束修改之間進(jìn)行幾次迭代。

7.1 時(shí)序收斂

時(shí)序收斂是指設(shè)計(jì)滿足所有的時(shí)序要求。針對(duì)綜合采用正確的 HDL 和約束條件就能更易于實(shí)現(xiàn)時(shí)序收斂。

要成功完成時(shí)序收斂,遵循下列常規(guī)準(zhǔn)則進(jìn)行操作:
? 最初不能滿足時(shí)序要求時(shí),請(qǐng)?jiān)谡麄€(gè)流程中評(píng)估時(shí)序。
? 集中精力解決每個(gè)時(shí)鐘的最差負(fù)時(shí)序裕量 (WNS) 是改進(jìn)總體時(shí)序負(fù)裕量 (TNS) 的主要途徑。
? 復(fù)查嚴(yán)重的最差保持時(shí)序裕量 (WHS) 違例 ( ? 重新評(píng)估設(shè)計(jì)選擇、約束和目標(biāo)架構(gòu)之間的利弊取舍。
? 了解如何使用工具選項(xiàng)和賽靈思設(shè)計(jì)約束 (XDC)。
? 請(qǐng)注意,滿足時(shí)序要求后,工具就不會(huì)再嘗試進(jìn)一步改進(jìn)時(shí)序(額外裕度)。

在實(shí)現(xiàn)完成后,會(huì)產(chǎn)生時(shí)序報(bào)告,要特別關(guān)注最差負(fù)時(shí)序裕量 (WNS)和總體時(shí)序負(fù)裕量 (TNS),需要檢查正時(shí)序裕量。

以下是指示存在時(shí)序違例的時(shí)序指標(biāo)。為了滿足時(shí)序要求,數(shù)字必須為正。
? 建立/恢復(fù)(最大延遲分析):WNS > 0 ns 且 TNS = 0 ns
? 保持/移除(最小延遲分析):WHS > 0 ns 且 THS = 0 ns
? 脈沖寬度:WPWS > 0 ns 且 TPWS = 0 ns

7.2 功耗分析與最優(yōu)化

鑒于功耗的重要性,Vivado 工具支持采用各種方法來(lái)獲取準(zhǔn)確的功耗估算以及各種功耗最優(yōu)化功能。

(1)估算整個(gè)流程的功耗

隨著設(shè)計(jì)流程進(jìn)入綜合與實(shí)現(xiàn)階段,必須定期監(jiān)控和檢查功耗以確保熱耗散保持在預(yù)算范圍內(nèi)。一旦功耗與預(yù)算值過(guò)于接近就可及時(shí)采取補(bǔ)救措施。

使用下列 XDC 約束指定功耗預(yù)算,以報(bào)告功耗裕度:

set_operating_conditions -design_power_budget

該值供 report_power 命令使用。計(jì)算所得片上功耗與功耗預(yù)算之差即為功耗裕度,超出功耗預(yù)算時(shí),該值在Vivado IDE 中將以紅色顯示。這樣更便于監(jiān)控整個(gè)流程中的功耗狀況。

功耗估算的精確性因估算時(shí)的設(shè)計(jì)階段而異。要通過(guò)實(shí)現(xiàn)來(lái)估算綜合后功耗,請(qǐng)運(yùn)行 report_power 命令,或者在Vivado IDE 中打開(kāi)“Power Report”。

(2)功耗最優(yōu)化

如果功耗估算超出預(yù)算,那么必要采取措施來(lái)降低功耗。

a.分析功耗估算和最優(yōu)化結(jié)果

使用 report_power 生成功耗估算報(bào)告后,賽靈思建議執(zhí)行以下操作:

? 在“Summary”部分中檢查總功耗。總功耗和結(jié)溫是否符合熱處理與功耗預(yù)算?

? 如果結(jié)果嚴(yán)重超出預(yù)算,應(yīng)根據(jù)塊類型和電源軌檢查功耗分布匯總情況。這樣便于您了解哪些塊功耗最高。

? 復(fù)查“Hierarchy”部分。按層級(jí)細(xì)分后,功耗最高的模塊將清晰可見(jiàn)。您可深入查看具體模塊,以確定塊的功能。

也可以在 GUI 中進(jìn)行交叉探測(cè),以確定模塊特定部分的編碼方式以及是否可通過(guò)能效更高的方法對(duì)其進(jìn)行重新編碼。

b.運(yùn)行功耗最優(yōu)化

功耗最優(yōu)化適用于整體設(shè)計(jì)或部分設(shè)計(jì)(使用set_power_opt),用于最大限度降低功耗。

c.使用功耗最優(yōu)化報(bào)告

為確定功耗最優(yōu)化的影響,在 Tcl 控制臺(tái)中運(yùn)行如下命令以生成功耗最優(yōu)化報(bào)告:

report_power_opt -file myopt.rep

7.3 配置與調(diào)試

成功完成設(shè)計(jì)實(shí)現(xiàn)后,下一步就是將設(shè)計(jì)加載到器件中并在硬件上運(yùn)行。配置是指將特定應(yīng)用的數(shù)據(jù)加載到器件內(nèi)部存儲(chǔ)器中的過(guò)程。

(1)配置

必須首先成功完成設(shè)計(jì)綜合與實(shí)現(xiàn),然后才能創(chuàng)建比特流鏡像。生成比特流并且對(duì)所有 DRC 都完成分析和更正后,即可使用以下任一方法將比特流加載到器件上:

? 直接編程:
通過(guò)線纜、處理器或定制解決方案將比特流直接加載到器件。
? 間接編程:將比特流加載到外部閃存。閃存再將比特流加載到器件。

可使用 Vivado 工具來(lái)完成下列操作:
? 創(chuàng)建比特流(.bit 或 .rbt)。
? 可選擇“Tools” → “Edit Device”以復(fù)查比特流生成的配置設(shè)置。
? 將比特流格式化為閃存編程文件 (.mcs)。

(2)調(diào)試

系統(tǒng)內(nèi)調(diào)試允許您在目標(biāo)器件上實(shí)時(shí)調(diào)試設(shè)計(jì)。遇到幾乎無(wú)法復(fù)制仿真器的情況時(shí),就需要執(zhí)行此步驟。在上板調(diào)試前,最好先對(duì)工程進(jìn)行仿真,起碼的功能驗(yàn)證要通過(guò),不然調(diào)試的結(jié)果并不理想。

調(diào)試步驟如下所述:
1. 探測(cè):確定設(shè)計(jì)中要探測(cè)的信號(hào)和探測(cè)的方法。
2. 實(shí)現(xiàn):完成設(shè)計(jì)實(shí)現(xiàn),包括連接到所探測(cè)的信號(hào)線上的其它調(diào)試 IP。
3. 分析:與設(shè)計(jì)中包含的調(diào)試 IP 進(jìn)行交互,以便對(duì)功能問(wèn)題進(jìn)行調(diào)試和驗(yàn)證。
4. 修復(fù)相位:修復(fù)所有缺陷,此步驟可按需重復(fù)。

a.使用ILA核

通常,我們會(huì)使用ILA核對(duì)待觀察信號(hào)進(jìn)行探測(cè),捕獲波形和數(shù)據(jù),進(jìn)行量化,導(dǎo)出.csv數(shù)據(jù)到MATLAB進(jìn)行數(shù)據(jù)分析。

Vivado 工具提供了多種方法用于在設(shè)計(jì)中添加調(diào)試探針。下表逐一解釋了這些方法,并介紹每種方法各自的優(yōu)劣。

poYBAGIMoeCAMwj8AAX1VF7-fI8517.png

注意,ILA 核的配置會(huì)對(duì)能否滿足整體設(shè)計(jì)時(shí)序目標(biāo)產(chǎn)生影響。請(qǐng)根據(jù)下列建議進(jìn)行操作,以便最大程度減少對(duì)時(shí)序的影響:

? 請(qǐng)審慎選擇探針寬度。隨探針寬度增加,對(duì)資源利用率和時(shí)序的影響也會(huì)增大。

? 請(qǐng)審慎選擇 ILA 核數(shù)據(jù)深度。隨數(shù)據(jù)深度增加,對(duì)塊 RAM 資源利用率和時(shí)序的影響也會(huì)增大。

? 請(qǐng)確保為 ILA 核選擇的時(shí)鐘均為自由運(yùn)行的時(shí)鐘。否則可能造成在器件上加載設(shè)計(jì)時(shí)無(wú)法與調(diào)試核通信

? 請(qǐng)確保提供給 dbg_hub 的時(shí)鐘為自由運(yùn)行的時(shí)鐘。否則可能造成在器件上加載設(shè)計(jì)時(shí)無(wú)法與調(diào)試核通信。可使用
connect_debug_port Tcl 命令將調(diào)試中心的 clk 管腳連接到自由運(yùn)行的時(shí)鐘。

? 在添加調(diào)試核之前完成設(shè)計(jì)上的時(shí)序收斂。賽靈思不建議使用調(diào)試核來(lái)調(diào)試時(shí)序相關(guān)問(wèn)題。

? 如果仍發(fā)現(xiàn)因添加 ILA 調(diào)試核而導(dǎo)致時(shí)序劣化,并且關(guān)鍵路徑位于 dbg_hub 中,請(qǐng)執(zhí)行以下步驟:
1. 打開(kāi)綜合設(shè)計(jì)。
2. 找到網(wǎng)表中的 dbg_hub 單元。

3. 轉(zhuǎn)至 dbg_hub 的“Properties”選項(xiàng)卡。
4. 找到 C_CLK_INPUT_FREQ_HZ 屬性。
5. 將其設(shè)置為鏈接到 dbg_hub 的時(shí)鐘頻率 (Hz)。
6. 找到 C_ENABLE_CLK_DIVIDER 屬性并將其啟用。
7. 重新執(zhí)行設(shè)計(jì)實(shí)現(xiàn)。

? 請(qǐng)確保輸入到 ILA 核的時(shí)鐘與正在探測(cè)的信號(hào)同步。否則在設(shè)計(jì)編程到器件中時(shí)會(huì)產(chǎn)生時(shí)序問(wèn)題并導(dǎo)致通信失敗。

? 在硬件上運(yùn)行設(shè)計(jì)之前請(qǐng)確保設(shè)計(jì)已滿足時(shí)序要求。否則會(huì)導(dǎo)致探測(cè)到的波形不可靠。

下表列出了在設(shè)計(jì)時(shí)序和資源時(shí)使用特定 ILA 特性的影響。

poYBAGIMoeeABvmqAAT3W7BM1Yc482.png

對(duì)于高速時(shí)鐘設(shè)計(jì),請(qǐng)注意如下事項(xiàng):
? 限制調(diào)試的信號(hào)數(shù)量和寬度。
? 將輸入探針通過(guò)流水線輸送到 ILA (C_INPUT_PIPE_STAGES),可增加流水線階段的層級(jí)。

b.使用VIO核

Virtual Input/Output (VIO) 核支持實(shí)時(shí)監(jiān)控和驅(qū)動(dòng)內(nèi)部器件信號(hào)。如果需要啟動(dòng)或監(jiān)控低速信號(hào)(如復(fù)位信號(hào)或狀態(tài)信號(hào)),請(qǐng)使用此核。VIO 調(diào)試核必須在設(shè)計(jì)中例化,并且可在 Vivado IP integrator 塊和 RTL 中使用。在 IP 目錄中包含 VIO 核,可在基于 RTL 的設(shè)計(jì)和 IP integrator 中使用。

關(guān)于UltraFast設(shè)計(jì)方法論中的主要內(nèi)容,就到此結(jié)束了,里面還有更詳細(xì)的描述,有助于FPGA工程師進(jìn)行更好的工程設(shè)計(jì)。總結(jié)一下:

(1)我們初步了解了什么是UlraFast設(shè)計(jì)方法論,及其包含的設(shè)計(jì)目與主要內(nèi)容;

(2)重要參考文檔有:UG949、UG1231、UG1292、UG1046、UG835、UG903等;

(3)我們重點(diǎn)學(xué)習(xí)了利用RTL創(chuàng)建設(shè)計(jì)、如何進(jìn)行設(shè)計(jì)約束、如何設(shè)計(jì)實(shí)現(xiàn)以及如何實(shí)現(xiàn)設(shè)計(jì)收斂;

(4)設(shè)計(jì)方法論可進(jìn)行實(shí)踐指導(dǎo),我們?cè)诰唧w工程項(xiàng)目中,需要靈活使用這些設(shè)計(jì)方法,以便高效設(shè)計(jì),進(jìn)而縮短開(kāi)發(fā)周期,盡快推出產(chǎn)品。

后記:

花了一天的時(shí)間,粗略地把UltraFast設(shè)計(jì)方法過(guò)了一遍,說(shuō)實(shí)話,挺累的。看文獻(xiàn)和碼字,除了體力勞動(dòng),還有腦力勞動(dòng)。不管你能不能看懂,總會(huì)有一點(diǎn)點(diǎn)收獲吧。

歡迎大家留言,如果覺(jué)得有所幫助,那今天的勞動(dòng)也沒(méi)有白費(fèi),你說(shuō)呢。

參考文獻(xiàn)

[1]Xilinx ,《UltraFast設(shè)計(jì)方法指南》(UG949)。

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1643

    文章

    21985

    瀏覽量

    615092
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3686

    瀏覽量

    94951
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    機(jī)械工程師的九個(gè)段位,你現(xiàn)在處于哪一層?

    工程師(項(xiàng)目負(fù)責(zé)人 ) 終于明白為啥大廠都在搞三維設(shè)計(jì)了。現(xiàn)在用SW/UG畫(huà)圖6到飛起,一鍵出工程圖,自動(dòng)檢查干涉,直接生成加工程序。看著新來(lái)的實(shí)習(xí)生還在用CAD畫(huà)維圖,忍不住想說(shuō)
    發(fā)表于 05-28 13:47

    物聯(lián)網(wǎng)工程師為什么要學(xué)Linux?

    物聯(lián)網(wǎng)工程師需要掌握Linux的主要原因可以從技術(shù)生態(tài)、開(kāi)發(fā)需求、行業(yè)應(yīng)用及就業(yè)競(jìng)爭(zhēng)力四個(gè)角度來(lái)分析: 一、技術(shù)生態(tài)與行業(yè)適配性 1)嵌入式開(kāi)發(fā)的主流平臺(tái) 物聯(lián)網(wǎng)設(shè)備往往基于嵌入式系統(tǒng)開(kāi)發(fā)
    發(fā)表于 05-26 10:32

    充電樁EMC整改:如何成為充電樁企業(yè)的核心競(jìng)爭(zhēng)力

    深圳南柯電子|充電樁EMC整改:如何成為充電樁企業(yè)的核心競(jìng)爭(zhēng)力
    的頭像 發(fā)表于 05-21 11:15 ?193次閱讀
    充電樁EMC整改:如何成為充電樁企業(yè)的<b class='flag-5'>核心</b><b class='flag-5'>競(jìng)爭(zhēng)力</b>

    電子工程師自學(xué)速成 —— 提高

    本文共3冊(cè),由于資料內(nèi)存過(guò)大,分開(kāi)上傳,有需要的朋友可以去主頁(yè)搜索下載哦~ 電子工程師自學(xué)速成分為:入門、提高和設(shè)計(jì),本文為提高
    發(fā)表于 05-15 15:56

    電子工程師自學(xué)速成——入門

    本文共3冊(cè),由于資料內(nèi)存過(guò)大,分開(kāi)上傳,有需要的朋友可以去主頁(yè)搜索下載哦~ 電子工程師自學(xué)速成分為:入門、提高和設(shè)計(jì),本文為入門
    發(fā)表于 05-15 15:50

    【社區(qū)之星】張飛:做技術(shù)值不值錢,核心競(jìng)爭(zhēng)力在于精

    自然就一目了然了。 廣是為了精做鋪墊的。你值不值錢,你的核心競(jìng)爭(zhēng)力在于精。對(duì)于做技術(shù)來(lái)說(shuō),精大于廣。 社區(qū)小助手:您本人比較偏好或擅長(zhǎng)哪方面的產(chǎn)品設(shè)計(jì)?列舉一下最得意的產(chǎn)品 張飛老師: 我喜歡原創(chuàng)模擬
    發(fā)表于 04-07 15:50

    嵌入式軟件工程師就業(yè)好不好?

    、智能醫(yī)療設(shè)備等,都離不開(kāi)嵌入式軟件的支持。預(yù)計(jì)2025年,物聯(lián)網(wǎng)設(shè)備的數(shù)量將呈爆發(fā)式增長(zhǎng),這將為嵌入式軟件開(kāi)發(fā)工程師帶來(lái)大量的就業(yè)機(jī)會(huì)。 薪資待遇具有競(jìng)爭(zhēng)力 由于嵌入式軟件開(kāi)發(fā)工程師的技術(shù)門檻較高
    發(fā)表于 02-20 10:19

    如何成為嵌入式開(kāi)發(fā)工程師

    ,參加相關(guān)的研討會(huì)和培訓(xùn)課程,閱讀專業(yè)書(shū)籍和論文。 9. 認(rèn)證和網(wǎng)絡(luò):- 考慮獲取相關(guān)認(rèn)證,這可以增加你的市場(chǎng)競(jìng)爭(zhēng)力。- 加入專業(yè)組織和在線社區(qū),擴(kuò)展你的人際網(wǎng)絡(luò)。 通過(guò)上述步驟的學(xué)習(xí)和實(shí)踐,你可以逐步成長(zhǎng)為一名合格的嵌入式開(kāi)發(fā)工程師。記住,實(shí)際動(dòng)手做項(xiàng)目和解決實(shí)際問(wèn)題是
    發(fā)表于 02-19 10:39

    芯和半導(dǎo)體榮獲2024上海軟件核心競(jìng)爭(zhēng)力企業(yè)

    2024上海軟件核心競(jìng)爭(zhēng)力企業(yè)評(píng)選活動(dòng)是由上海市軟件行業(yè)協(xié)會(huì)主辦,旨在表彰在軟件領(lǐng)域具有創(chuàng)新能力和核心競(jìng)爭(zhēng)力的企業(yè)。本次活動(dòng)依據(jù)T/SSIA 0001-2018《軟件企業(yè)
    的頭像 發(fā)表于 01-06 16:43 ?738次閱讀

    中國(guó)AI企業(yè)創(chuàng)新降低成本打造競(jìng)爭(zhēng)力模型

    在中國(guó),面對(duì)美國(guó)實(shí)施的芯片限制以及相較于西方企業(yè)更為有限的預(yù)算,人工智能(AI)公司正積極尋求降低成本的方法,以開(kāi)發(fā)出具有市場(chǎng)競(jìng)爭(zhēng)力的模型。初創(chuàng)公司如01.ai(零一萬(wàn)物)和DeepSeek(深度求索)等,通過(guò)聚焦小數(shù)據(jù)集進(jìn)行AI模型訓(xùn)練,并聘請(qǐng)價(jià)格適中但技術(shù)熟練的計(jì)算機(jī)
    的頭像 發(fā)表于 10-22 14:56 ?886次閱讀

    Keysight助力提升工程師的測(cè)試測(cè)量知識(shí)水平

    Keysight為您解鎖測(cè)試測(cè)量領(lǐng)域的最新知識(shí),助力工程師在快速變化的科技環(huán)境中保持競(jìng)爭(zhēng)力
    的頭像 發(fā)表于 10-16 09:28 ?780次閱讀

    FPGA算法工程師、邏輯工程師、原型驗(yàn)證工程師有什么區(qū)別?

    ,共同進(jìn)步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問(wèn)題(一) Q:FPGA中的FPGA算法工程師FPGA邏輯
    發(fā)表于 09-23 18:26

    學(xué)習(xí)SOLIDWORKS提高學(xué)生的就業(yè)競(jìng)爭(zhēng)力

    在當(dāng)今快速發(fā)展的工程技術(shù)領(lǐng)域,掌握先進(jìn)的計(jì)算機(jī)輔助設(shè)計(jì)(CAD)軟件已成為工程師和設(shè)計(jì)不可或缺的技能之一。SOLIDWORKS作為一款3D CAD設(shè)計(jì)軟件,憑借其直觀的操作界面、強(qiáng)大的設(shè)計(jì)功能
    的頭像 發(fā)表于 07-22 17:19 ?589次閱讀
    學(xué)習(xí)SOLIDWORKS提高學(xué)生的就業(yè)<b class='flag-5'>競(jìng)爭(zhēng)力</b>
    主站蜘蛛池模板: 一级特黄aaa大片免色 | 国产特黄特色的大片观看免费视频 | 精品伊人久久大香线蕉网站 | 日本wwwwwwwww| 伊人天伊人天天网综合视频 | 一级看片 | 欧美一级免费在线观看 | 欧美亚洲一区二区三区在线 | 九色窝| 色爱区综合激月婷婷激情五月 | 婷婷色在线播放 | 成人国产三级在线播放 | 午夜久久久久久亚洲国产精品 | 极品国产一区二区三区 | 四虎影院永久免费 | 校园春色亚洲欧美 | 国产哺乳期奶水avav | 啪啪黄色片| 午夜剧场刺激性爽免费视频 | 免费观看在线永久免费xx视频 | 久久777国产线看观看精品卜 | 亚洲人成电影在线观看网 | 天天综合天天添夜夜添狠狠添 | 性欧美bbbbbb | 夜夜夜夜夜夜夜工噜噜噜 | 成人精品一区二区不卡视频 | 黄视频免费在线观看 | 国产精品午夜自在在线精品 | 五月天婷婷免费观看视频在线 | 免费视频性 | 人人干综合 | 欧美性色生活片天天看99 | 五月天婷婷在线观看视频 | 手机看片国产免费永久 | 11111日本网站 | 日韩三级视频在线观看 | 色综合成人 | videosgratis乱色欧美野外 | 国产福利免费观看 | 丁香综合五月 | 久青草国产手机在线视频 |