官术网_书友最值得收藏!

2.3 Quartus Prime Pro設(shè)計(jì)流程

編譯流程是順序和方法,通過這個(gè)流程,軟件翻譯設(shè)計(jì)文件,將翻譯后的設(shè)計(jì)映射到器件指定的元件,在器件中對設(shè)計(jì)執(zhí)行布局和布線,然后生成編程文件。Intel Quartus Prime Pro版本的軟件在不同階段執(zhí)行這些功能,如分析和綜合、適配器等。

2.3.1 處理流程框架

Intel Quartus Prime Pro版本的軟件的基本設(shè)計(jì)流程如圖2.16所示。

圖中虛線表示當(dāng)行為仿真和時(shí)序仿真不滿足設(shè)計(jì)要求時(shí),需要對設(shè)計(jì)進(jìn)行修改。

一個(gè)完整的Quartus Prime Pro版本的軟件的設(shè)計(jì)流程中各個(gè)步驟與命令的對應(yīng)關(guān)系如表 2.2 所示。一個(gè)完整的 Quartus Prime Pro 版本的軟件的設(shè)計(jì)流程中包含了 Quartus Prime Pro版本的軟件的基本設(shè)計(jì)流程中沒有執(zhí)行的步驟。

圖2.16 Intel Quartus Prime Pro版本的軟件的基本設(shè)計(jì)流程

表2.2 圖2.16各個(gè)步驟與命令的對應(yīng)關(guān)系

續(xù)表

(1)quartus_fit--retime只用于Intel Stratix 10器件。

(2)Intel Quartus Prime Pro版本的設(shè)計(jì)入口提供了多種設(shè)計(jì)方法,包括文本編輯器(支持 HDL)、原理圖編輯器、狀態(tài)機(jī)編輯器、IP 目錄和IP 參數(shù)編輯器、設(shè)計(jì)分區(qū)規(guī)劃器、平臺(tái)設(shè)計(jì)器/平臺(tái)設(shè)計(jì)器(Pro)系統(tǒng)設(shè)計(jì)工具、DSP Builder、OpenCL、Intel HLS 編譯器和第三方設(shè)計(jì)入口工具。

在FPGA設(shè)計(jì)的過程中,需要通過功能仿真和時(shí)序仿真來保證設(shè)計(jì)的正確性。因此,通常在綜合后,對設(shè)計(jì)執(zhí)行功能仿真,在該仿真中不會(huì)考慮任何時(shí)序問題,只是為了單純驗(yàn)證邏輯功能的正確性;適配后,對設(shè)計(jì)執(zhí)行時(shí)序仿真,該仿真對設(shè)計(jì)的功能和時(shí)序同時(shí)進(jìn)行驗(yàn)證。當(dāng)執(zhí)行功能仿真時(shí),如果邏輯功能不滿足設(shè)計(jì)要求,則需要修改原始設(shè)計(jì)。當(dāng)然,在時(shí)序仿真時(shí),如果發(fā)現(xiàn)設(shè)計(jì)不能滿足要求,可能就需要對原始設(shè)計(jì)進(jìn)行較大的修改,有時(shí)候甚至?xí)仐壵麄€(gè)原來的設(shè)計(jì),這是因?yàn)楸WC時(shí)序收斂是FPGA設(shè)計(jì)工程師最重要的設(shè)計(jì)目標(biāo),當(dāng)然這也是他們最頭疼的一件事情。

2.3.2 增量優(yōu)化的概念

Quartus Prime Pro版本在設(shè)計(jì)編譯的每個(gè)階段都支持增量優(yōu)化。在增量優(yōu)化中,設(shè)計(jì)者可以在按順序運(yùn)行下一個(gè)編譯模塊之前獨(dú)立運(yùn)行和優(yōu)化每個(gè)編譯階段,如圖 2.17 所示。編譯器將每個(gè)階段的結(jié)果保留位分析快照。當(dāng)讀者對設(shè)計(jì)或約束進(jìn)行修改時(shí),編譯器僅運(yùn)行受更改影響的階段。在綜合或任何適配器階段之后,查看結(jié)果并執(zhí)行時(shí)序分析。Genuine 需要修改設(shè)計(jì) RTL 或編譯器設(shè)置,然后重新運(yùn)行綜合或適配器并評估這些變化的結(jié)果。重復(fù)這個(gè)過程,指導(dǎo)模塊性能滿足要求。這個(gè)流程可以在每個(gè)階段最大化結(jié)果,而無須等待完整的編譯結(jié)果。

圖2.17 增量優(yōu)化流程

2.3.3 超感知設(shè)計(jì)流程

Quartus Prime Pro版本的編譯器可幫助設(shè)計(jì)者充分利用Stratix 10的HyperFlex架構(gòu)。使用超感知(Hyper-Aware)設(shè)計(jì)流程以縮短設(shè)計(jì)周期并優(yōu)化性能。

超感知設(shè)計(jì)流程將自動(dòng)寄存器重定時(shí)(Hyper-Retiming)和目標(biāo)時(shí)序收斂建議(快速向前編譯)相結(jié)合,使 Stratix 10 設(shè)計(jì)最大限度地利用超寄存器(Hyper-Register)并驅(qū)動(dòng)最高性能,如圖2.18所示。

圖2.18 超感知設(shè)計(jì)流程(1)

1.超重定時(shí)

Stratix 10 架構(gòu)的一項(xiàng)重要?jiǎng)?chuàng)新就是在每個(gè)布線段和塊輸入中添加了多個(gè)超寄存器。最大限度地使用超寄存器可以提高設(shè)計(jì)性能。超寄存器的普及改善了寄存器之間時(shí)間延遲的平衡,并減少了關(guān)鍵路徑延遲。超重定時(shí)將寄存器從 ALM 中移出,并在有利情況下將它們重定時(shí)到超寄存器,如圖 2.19 所示。超重定時(shí)在適配期間自動(dòng)運(yùn)行,只需要很少的工作量,并且可以顯著提高性能。

圖2.19 超寄存器架構(gòu)

2.快速向前編譯

如果設(shè)計(jì)者需要超重定時(shí)之外的優(yōu)化,運(yùn)行快速向前(Fast-Forward)編譯以產(chǎn)生時(shí)序收斂建議,從而打破關(guān)鍵性能瓶頸??焖傧蚯熬幾g精確顯示了對 RTL 更改產(chǎn)生最大影響的位置,并報(bào)告了每次更改可以帶來的性能優(yōu)勢。適配器不會(huì)自動(dòng)在RAM和DSP塊中重定時(shí)寄存器。然而,快速向前分析顯示了該優(yōu)化的潛在性能優(yōu)勢。

快速向前編譯識(shí)別添加流水線級(jí)(超流水線)的最佳位置,并且在每種情況下的預(yù)期性能優(yōu)勢。當(dāng)設(shè)計(jì)者修改 RTL 在每個(gè)時(shí)鐘邊界放置流水線級(jí)后,超重定時(shí)器(Hyper-Retimer)會(huì)自動(dòng)將寄存器放在時(shí)鐘域內(nèi)的最佳位置,以最大限度地提高性能。在 RTL 中實(shí)施建議以實(shí)現(xiàn)類似的結(jié)果。執(zhí)行任何更改后,重新運(yùn)行超重定時(shí)器,直到結(jié)果滿足性能和時(shí)序要求為止??焖傧蚯熬幾g不會(huì)自動(dòng)作為完整編譯過程的一部分。在Compilation Dashboard中使能或運(yùn)行快速向前編譯。

HyperFlex優(yōu)化的步驟包括:

(1)超重定時(shí)。重定時(shí)器將已經(jīng)存在的寄存器移到超寄存器中。

(2)快速向前編譯。編譯器產(chǎn)生設(shè)計(jì)指定的時(shí)序收斂建議,并且預(yù)測性能改善。

(3)超流水線。使用快速向前編譯以識(shí)別在RTL中添加新寄存器和流水線級(jí)的位置。

(4)超優(yōu)化。超出超重定時(shí)和超流水線的設(shè)計(jì)優(yōu)化,如重構(gòu)循環(huán)、去除控制邏輯限制和減少長路徑的延遲。

超感知設(shè)計(jì)流程包括下面的步驟,如圖2.20所示。

圖2.20 超感知設(shè)計(jì)流程(2)

(1)在適配器運(yùn)行重定時(shí)階段,自動(dòng)將ALM寄存器重定時(shí)到超寄存器。

(2)在編譯報(bào)告中查看重定時(shí)結(jié)果。

(3)如果要求更進(jìn)一步的性能優(yōu)化,則運(yùn)行快速向前編譯。

(4)查看快速向前時(shí)序收斂建議。

(5)在設(shè)計(jì)的RTL中,實(shí)施合理的快速向前建議。

(6)通過重定時(shí)階段重新編譯設(shè)計(jì)。

主站蜘蛛池模板: 邻水| 繁峙县| 阿坝| 桂平市| 贞丰县| 苏尼特右旗| 宁国市| 武夷山市| 洞口县| 腾冲县| 政和县| 崇义县| 麻栗坡县| 无为县| 林口县| 冀州市| 怀仁县| 缙云县| 曲松县| 墨江| 武城县| 芮城县| 郯城县| 青浦区| 敖汉旗| 衡阳县| 乌兰浩特市| 河西区| 炎陵县| 武隆县| 山阳县| 抚顺市| 中宁县| 米林县| 江油市| 城固县| 霞浦县| 密云县| 蕉岭县| 饶阳县| 烟台市|