新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 采用編譯增強(qiáng)技術(shù),提高高密度FPGA設(shè)計(jì)工作效率

采用編譯增強(qiáng)技術(shù),提高高密度FPGA設(shè)計(jì)工作效率

作者: 時(shí)間:2018-07-27 來(lái)源:網(wǎng)絡(luò) 收藏

現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)體系創(chuàng)新以及向90nm工藝技術(shù)的過(guò)渡顯著提高了FPGA的密度和性能。FPGA設(shè)計(jì)人員不僅需要更高的邏輯密度和更快的性能表現(xiàn),還要求具有嵌入式處理器、數(shù)字信號(hào)處理(DSP)模塊以及其他硬件IP結(jié)構(gòu)等復(fù)雜的器件功能。但是,由于FPGA設(shè)計(jì)規(guī)模越來(lái)越大、越來(lái)越復(fù)雜,為了能夠抓住稍縱即逝的市場(chǎng)機(jī)會(huì),設(shè)計(jì)人員必需盡快完成其設(shè)計(jì)。

本文引用地址:http://2s4d.com/article/201807/384246.htm

FPGA器件供應(yīng)商一直努力提高時(shí)間效率,改善時(shí)序逼近流程,但是卻無(wú)法滿(mǎn)足設(shè)計(jì)人員更高效工作的要求。Altera Quartus? II軟件5.0增強(qiáng)技術(shù)明顯縮短設(shè)計(jì)迭代時(shí)間,在關(guān)鍵性能通路上進(jìn)行設(shè)計(jì)優(yōu)化,保持性能已達(dá)到要求的區(qū)域特性不變,該技術(shù)是前所未有的,極大的提高了設(shè)計(jì)效率。

增強(qiáng)優(yōu)勢(shì)

現(xiàn)在的一個(gè)高級(jí)FPGA標(biāo)準(zhǔn)編譯流程包括RTL綜合、布局布線等,高密度FPGA的每次設(shè)計(jì)編譯在任何情況下都要耗費(fèi)45分鐘到4個(gè)多小時(shí)的時(shí)間,這顯然限制了設(shè)計(jì)人員每天所能進(jìn)行的迭代次數(shù),可能會(huì)少至兩次,明顯減緩了設(shè)計(jì)過(guò)程。設(shè)計(jì)人員采用標(biāo)準(zhǔn)編譯設(shè)計(jì)流程來(lái)優(yōu)化部分設(shè)計(jì)時(shí)序性能時(shí)也會(huì)降低設(shè)計(jì)效率。這種優(yōu)化通常不利于邏輯布局,影響設(shè)計(jì)中其他部分的性能,不得不進(jìn)行額外的多次設(shè)計(jì)迭代。

對(duì)于當(dāng)今的高密度、高性能FPGA設(shè)計(jì),必需具有設(shè)計(jì)和調(diào)試階段快速迭代的能力。Altera Quartus II軟件5.0為高密度FPGA設(shè)計(jì)提供了最先進(jìn)的技術(shù),如以前只有專(zhuān)用集成電路(ASIC)才具有的增強(qiáng)設(shè)計(jì)和編譯能力等。與相應(yīng)的ASIC相比,F(xiàn)PGA編譯效率更高,ASIC即使采用增強(qiáng)方法,仍需要幾小時(shí)到幾天的時(shí)間來(lái)完成編譯,而FPGA編譯只需要幾分鐘到幾小時(shí)的時(shí)間。

設(shè)計(jì)人員采用Quartus II增強(qiáng)編譯技術(shù),可以逐步編譯其設(shè)計(jì),比進(jìn)行全部設(shè)計(jì)的標(biāo)準(zhǔn)編譯時(shí)間縮短近70%。性能保留是增強(qiáng)編譯技術(shù)的另一個(gè)主要優(yōu)勢(shì)。通過(guò)只對(duì)設(shè)計(jì)中的一個(gè)進(jìn)行編譯,可以保持其他部分的性能和結(jié)果不變。這種性能保留特性使設(shè)計(jì)人員能夠以更少的設(shè)計(jì)迭代,更高效的達(dá)到時(shí)序逼近。

編譯增強(qiáng)使設(shè)計(jì)人員能夠以邏輯和物理的形式組織設(shè)計(jì),進(jìn)行綜合和適配。只針對(duì)特定設(shè)計(jì)分區(qū)進(jìn)行新的編譯,從而能夠顯著縮短設(shè)計(jì)迭代時(shí)間。編譯增強(qiáng)特性有助于基于模塊的設(shè)計(jì),對(duì)沒(méi)有修改的設(shè)計(jì)模塊,保持其性能不變。設(shè)計(jì)人員還可以只對(duì)特定設(shè)計(jì)分區(qū)采用物理綜合等優(yōu)化技術(shù),而不改動(dòng)其他模塊。

傳統(tǒng)上,一個(gè)層次設(shè)計(jì)在進(jìn)行邏輯綜合和適配之前轉(zhuǎn)換為單一的網(wǎng)表,每修改一次設(shè)計(jì),就要對(duì)整個(gè)設(shè)計(jì)進(jìn)行重新編譯,減緩了設(shè)計(jì)過(guò)程。而編譯增強(qiáng)特性使設(shè)計(jì)人員能夠沿任意層次邊界劃分設(shè)計(jì)分區(qū)。采用Altera Quartus II軟件,可分別對(duì)不同的層次設(shè)計(jì)分區(qū)進(jìn)行綜合和適配。分區(qū)可以組合、合并形成網(wǎng)表后,進(jìn)入后面的Quartus II編譯流程。重新編譯設(shè)計(jì)時(shí),設(shè)計(jì)人員可以為每個(gè)分區(qū)選擇使用新的源代碼、后綜合結(jié)果以及后適配結(jié)果。

編譯增強(qiáng)設(shè)計(jì)流程

Quartus II編譯增強(qiáng)特性改善了標(biāo)準(zhǔn)Quartus II設(shè)計(jì)流程,使設(shè)計(jì)人員能夠重新使用、保留前次編譯結(jié)果,節(jié)省編譯時(shí)間。在一個(gè)標(biāo)準(zhǔn)設(shè)計(jì)流程中,源代碼完成后,如果修改設(shè)計(jì)中的任何部分,設(shè)計(jì)都要重新進(jìn)行編譯,處理源代碼,布局所有邏輯。采用這種方法的原因之一在于能夠得到質(zhì)量最佳的結(jié)果。通過(guò)處理全部設(shè)計(jì),編譯器能夠進(jìn)行全局優(yōu)化,改善面積大小,提高性能。但是,對(duì)于有些情況,需要采用增強(qiáng)編譯設(shè)計(jì)流程。當(dāng)選好設(shè)計(jì)中的一個(gè)分區(qū),并在器件平面布置中進(jìn)行布局后,設(shè)計(jì)人員可以加速其設(shè)計(jì)編譯時(shí)間,而保持結(jié)果質(zhì)量不變,甚至提高結(jié)果質(zhì)量。

設(shè)計(jì)人員可能希望在設(shè)計(jì)主體完成后,在設(shè)計(jì)后期修改或優(yōu)化一個(gè)特定模塊時(shí),采用編譯增強(qiáng)技術(shù)。在這種情況下,他們可以保持沒(méi)有改動(dòng)的模塊性能不變,縮短后面迭代的編譯時(shí)間。編譯增強(qiáng)特性在有些情況下,能夠同時(shí)有利于縮短編譯時(shí)間和達(dá)到時(shí)序逼近。設(shè)計(jì)中有些分區(qū)丟失或不完整時(shí),該特性還可以用于對(duì)其他分區(qū)進(jìn)行編譯和優(yōu)化。

設(shè)計(jì)分區(qū)和設(shè)計(jì)層次

通常的設(shè)計(jì)實(shí)踐是生成模塊化或?qū)哟位脑O(shè)計(jì),對(duì)實(shí)體分別進(jìn)行設(shè)計(jì),然后在高級(jí)工程中例化,形成一個(gè)完整的設(shè)計(jì)。編譯增強(qiáng)技術(shù)對(duì)設(shè)計(jì)中的每個(gè)實(shí)體不自動(dòng)處理為設(shè)計(jì)分區(qū);設(shè)計(jì)人員必需在該工程頂層以下,指定一個(gè)或多個(gè)層次。生成分區(qū)使編譯器不對(duì)整個(gè)分區(qū)邊界進(jìn)行優(yōu)化,但仍可以通過(guò)對(duì)每個(gè)分區(qū)分別進(jìn)行綜合和布局,來(lái)實(shí)現(xiàn)編譯增強(qiáng)技術(shù)。

由于分區(qū)必需由層次化的邊界進(jìn)行隔離,因此分區(qū)無(wú)法成為一個(gè)層次化實(shí)體中邏輯的一部分。形成一個(gè)分區(qū)后,該分區(qū)內(nèi)的每個(gè)層次化實(shí)體成為同一分區(qū)的組成。設(shè)計(jì)人員能夠在一個(gè)已有分區(qū)中,為該層次化實(shí)體生成新的分區(qū),在這種情況下,新分區(qū)中的實(shí)體不再是更高級(jí)別分區(qū)的組成部分。

設(shè)計(jì)分區(qū)和物理區(qū)域

編譯增強(qiáng)特性的設(shè)計(jì)分區(qū)為邏輯分區(qū),有別于器件平面布置圖中的物理區(qū)域,在平面布置圖中,對(duì)大小和位置進(jìn)行了規(guī)定。一個(gè)邏輯設(shè)計(jì)分區(qū)不是指器件的物理部分,不用于直接控制邏輯布局。

一個(gè)邏輯設(shè)計(jì)分區(qū)在設(shè)計(jì)層次之間建立一個(gè)虛擬邊界,因此每個(gè)分區(qū)分別進(jìn)行編譯,彼此之間不會(huì)發(fā)生邏輯優(yōu)化。在采用編譯增強(qiáng)技術(shù)建立設(shè)計(jì)時(shí),建議設(shè)計(jì)人員將每個(gè)設(shè)計(jì)分區(qū)分配給一個(gè)物理區(qū)域,來(lái)提高結(jié)果質(zhì)量。

生成設(shè)計(jì)分區(qū)的建議

設(shè)計(jì)人員規(guī)劃設(shè)計(jì)時(shí),應(yīng)牢記每個(gè)分區(qū)的大小和范圍,以及設(shè)計(jì)中的不同部分在設(shè)計(jì)過(guò)程中會(huì)怎樣變化。由于采用分區(qū)時(shí),不會(huì)出現(xiàn)交叉邊界優(yōu)化,設(shè)計(jì)結(jié)果質(zhì)量以及性能會(huì)隨著分區(qū)數(shù)量的增加而下降。因此,盡管更多的分區(qū)能夠更大的縮短編譯時(shí)間,設(shè)計(jì)人員還是應(yīng)該限制分區(qū)數(shù)量,防止結(jié)果質(zhì)量下降。

在ASIC設(shè)計(jì)流程中,設(shè)計(jì)人員要記錄每個(gè)分區(qū)的輸入和輸出端口,盡可能避免越過(guò)分區(qū)邊界的任何時(shí)延。此外,設(shè)計(jì)人員應(yīng)盡量減少越過(guò)分區(qū)邊界的通路數(shù)量,以簡(jiǎn)化時(shí)序逼近處理,也應(yīng)盡可能以時(shí)鐘域來(lái)劃分區(qū)域。

生成設(shè)計(jì)平面布置圖

一旦完成設(shè)計(jì)分區(qū)后,設(shè)計(jì)人員應(yīng)在器件中為每個(gè)分區(qū)分配一個(gè)物理位置。分區(qū)設(shè)計(jì)生成平面布置圖的最簡(jiǎn)單辦法是對(duì)每個(gè)分區(qū)(包括頂層分區(qū))生成一個(gè)物理位置約束。

對(duì)于采用編譯增強(qiáng)的設(shè)計(jì)而言,平面布置圖位置規(guī)劃非常重要,這是因?yàn)楫?dāng)器件中某個(gè)區(qū)域的多數(shù)資源已經(jīng)占用時(shí),它可以幫助避免適配器向該區(qū)域放置或替換部分設(shè)計(jì)。在這種情況下,其他分區(qū)的后適配網(wǎng)表布局迫使適配器在器件的空閑部分放置新的或修改后的分區(qū)。這樣做會(huì)直接導(dǎo)致兩個(gè)不利結(jié)果。第一,由于物理約束的數(shù)量增多,適配器必需全速運(yùn)轉(zhuǎn),因此編譯時(shí)間明顯延長(zhǎng)。第二,由于目標(biāo)分區(qū)的布局分散在器件中,因此結(jié)果質(zhì)量會(huì)下降,有時(shí)甚至非常顯著。

利用Quartus II早期時(shí)序估算器的優(yōu)勢(shì)

早期時(shí)序估算器不必進(jìn)行完整的設(shè)計(jì)編譯,即可提供準(zhǔn)確的設(shè)計(jì)時(shí)序估算。估算結(jié)果平均在實(shí)際設(shè)計(jì)性能的11%以?xún)?nèi)。設(shè)計(jì)人員可以采用時(shí)序逼近平面布置圖編輯器來(lái)查看該功能生成的布局估算,識(shí)別出關(guān)鍵通路,根據(jù)需要加入或修改平面布置圖約束。然后,早期時(shí)序估算器能夠迅速評(píng)估平面布置圖位置分配或邏輯修改的效果,對(duì)設(shè)計(jì)變量進(jìn)行快速迭代,幫助設(shè)計(jì)人員找到最佳方案。

分區(qū)和平面布置圖方案成功的關(guān)鍵

設(shè)計(jì)人員在為結(jié)果生成平面布置圖位置分配之前,應(yīng)對(duì)結(jié)果進(jìn)行比較,如果不能符合以下準(zhǔn)則,應(yīng)考慮采用其他方案:

在設(shè)計(jì)分區(qū)完成和生成平面布置圖位置分配之后,不應(yīng)觀察到fMAX劣化。在許多情況下,允許fMAX略有增加。

在設(shè)計(jì)分區(qū)完成和生成平面布置圖位置分配之后,面積增加不應(yīng)超過(guò)5%。

布線階段花費(fèi)的時(shí)間不應(yīng)明顯增加。如果布線時(shí)間明顯增加,平面布置圖位置分配可能產(chǎn)生了大量的布線擁塞。

為幫助修改和優(yōu)化每個(gè)分區(qū)的位置分配,設(shè)計(jì)人員可采用Quartus II軟件的時(shí)序逼近平面布置圖來(lái)確定布線擁塞的區(qū)域。

結(jié)論

Altera Quartus II編譯增強(qiáng)技術(shù)顯著縮短了設(shè)計(jì)迭代時(shí)間,其性能保留特性是前所未有的,極大的提高了設(shè)計(jì)人員工作效率。設(shè)計(jì)人員采用該技術(shù)每天能夠進(jìn)行4至5次的高密度FPGA設(shè)計(jì)迭代,而采用傳統(tǒng)編譯方法只能進(jìn)行1至2次迭代,設(shè)計(jì)迭代時(shí)間減少近70%,明顯縮短了全部開(kāi)發(fā)時(shí)間。編譯增強(qiáng)特性實(shí)現(xiàn)的性能保留功能使設(shè)計(jì)人員能夠以更少的設(shè)計(jì)迭代,更高效的達(dá)到時(shí)序逼近。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉