采用編譯增強技術(shù),提高高密度FPGA設(shè)計工作效率
現(xiàn)場可編程門陣列(FPGA)體系創(chuàng)新以及向90nm工藝技術(shù)的過渡顯著提高了FPGA的密度和性能。FPGA設(shè)計人員不僅需要更高的邏輯密度和更快的性能表現(xiàn),還要求具有嵌入式處理器、數(shù)字信號處理(DSP)模塊以及其他硬件IP結(jié)構(gòu)等復(fù)雜的器件功能。但是,由于FPGA設(shè)計規(guī)模越來越大、越來越復(fù)雜,為了能夠抓住稍縱即逝的市場機會,設(shè)計人員必需盡快完成其設(shè)計。
本文引用地址:http://cafeforensic.com/article/201807/384246.htmFPGA器件供應(yīng)商一直努力提高編譯時間效率,改善時序逼近流程,但是卻無法滿足設(shè)計人員更高效工作的要求。Altera Quartus? II軟件5.0增強編譯技術(shù)明顯縮短設(shè)計迭代時間,在關(guān)鍵性能通路上進行設(shè)計優(yōu)化,保持性能已達到要求的區(qū)域特性不變,該技術(shù)是前所未有的,極大的提高了設(shè)計效率。
編譯增強優(yōu)勢
現(xiàn)在的一個高級FPGA標(biāo)準編譯流程包括RTL綜合、布局布線等,高密度FPGA的每次設(shè)計編譯在任何情況下都要耗費45分鐘到4個多小時的時間,這顯然限制了設(shè)計人員每天所能進行的迭代次數(shù),可能會少至兩次,明顯減緩了設(shè)計過程。設(shè)計人員采用標(biāo)準編譯設(shè)計流程來優(yōu)化部分設(shè)計時序性能時也會降低設(shè)計效率。這種優(yōu)化通常不利于邏輯布局,影響設(shè)計中其他部分的性能,不得不進行額外的多次設(shè)計迭代。
對于當(dāng)今的高密度、高性能FPGA設(shè)計,必需具有設(shè)計和調(diào)試階段快速迭代的能力。Altera Quartus II軟件5.0為高密度FPGA設(shè)計提供了最先進的技術(shù),如以前只有專用集成電路(ASIC)才具有的增強設(shè)計和編譯能力等。與相應(yīng)的ASIC相比,F(xiàn)PGA編譯效率更高,ASIC即使采用增強方法,仍需要幾小時到幾天的時間來完成編譯,而FPGA編譯只需要幾分鐘到幾小時的時間。
設(shè)計人員采用Quartus II增強編譯技術(shù),可以逐步編譯其設(shè)計分區(qū),比進行全部設(shè)計的標(biāo)準編譯時間縮短近70%。性能保留是增強編譯技術(shù)的另一個主要優(yōu)勢。通過只對設(shè)計中的一個分區(qū)進行編譯,可以保持其他部分的性能和結(jié)果不變。這種性能保留特性使設(shè)計人員能夠以更少的設(shè)計迭代,更高效的達到時序逼近。
編譯增強使設(shè)計人員能夠以邏輯和物理分區(qū)的形式組織設(shè)計,進行綜合和適配。只針對特定設(shè)計分區(qū)進行新的編譯,從而能夠顯著縮短設(shè)計迭代時間。編譯增強特性有助于基于模塊的設(shè)計,對沒有修改的設(shè)計模塊,保持其性能不變。設(shè)計人員還可以只對特定設(shè)計分區(qū)采用物理綜合等優(yōu)化技術(shù),而不改動其他模塊。
傳統(tǒng)上,一個層次設(shè)計在進行邏輯綜合和適配之前轉(zhuǎn)換為單一的網(wǎng)表,每修改一次設(shè)計,就要對整個設(shè)計進行重新編譯,減緩了設(shè)計過程。而編譯增強特性使設(shè)計人員能夠沿任意層次邊界劃分設(shè)計分區(qū)。采用Altera Quartus II軟件,可分別對不同的層次設(shè)計分區(qū)進行綜合和適配。分區(qū)可以組合、合并形成網(wǎng)表后,進入后面的Quartus II編譯流程。重新編譯設(shè)計時,設(shè)計人員可以為每個分區(qū)選擇使用新的源代碼、后綜合結(jié)果以及后適配結(jié)果。
編譯增強設(shè)計流程
Quartus II編譯增強特性改善了標(biāo)準Quartus II設(shè)計流程,使設(shè)計人員能夠重新使用、保留前次編譯結(jié)果,節(jié)省編譯時間。在一個標(biāo)準設(shè)計流程中,源代碼完成后,如果修改設(shè)計中的任何部分,設(shè)計都要重新進行編譯,處理源代碼,布局所有邏輯。采用這種方法的原因之一在于能夠得到質(zhì)量最佳的結(jié)果。通過處理全部設(shè)計,編譯器能夠進行全局優(yōu)化,改善面積大小,提高性能。但是,對于有些情況,需要采用增強編譯設(shè)計流程。當(dāng)選好設(shè)計中的一個分區(qū),并在器件平面布置中進行布局后,設(shè)計人員可以加速其設(shè)計編譯時間,而保持結(jié)果質(zhì)量不變,甚至提高結(jié)果質(zhì)量。
設(shè)計人員可能希望在設(shè)計主體完成后,在設(shè)計后期修改或優(yōu)化一個特定模塊時,采用編譯增強技術(shù)。在這種情況下,他們可以保持沒有改動的模塊性能不變,縮短后面迭代的編譯時間。編譯增強特性在有些情況下,能夠同時有利于縮短編譯時間和達到時序逼近。設(shè)計中有些分區(qū)丟失或不完整時,該特性還可以用于對其他分區(qū)進行編譯和優(yōu)化。
設(shè)計分區(qū)和設(shè)計層次
通常的設(shè)計實踐是生成模塊化或?qū)哟位脑O(shè)計,對實體分別進行設(shè)計,然后在高級工程中例化,形成一個完整的設(shè)計。編譯增強技術(shù)對設(shè)計中的每個實體不自動處理為設(shè)計分區(qū);設(shè)計人員必需在該工程頂層以下,指定一個或多個層次。生成分區(qū)使編譯器不對整個分區(qū)邊界進行優(yōu)化,但仍可以通過對每個分區(qū)分別進行綜合和布局,來實現(xiàn)編譯增強技術(shù)。
由于分區(qū)必需由層次化的邊界進行隔離,因此分區(qū)無法成為一個層次化實體中邏輯的一部分。形成一個分區(qū)后,該分區(qū)內(nèi)的每個層次化實體成為同一分區(qū)的組成。設(shè)計人員能夠在一個已有分區(qū)中,為該層次化實體生成新的分區(qū),在這種情況下,新分區(qū)中的實體不再是更高級別分區(qū)的組成部分。
設(shè)計分區(qū)和物理區(qū)域
編譯增強特性的設(shè)計分區(qū)為邏輯分區(qū),有別于器件平面布置圖中的物理區(qū)域,在平面布置圖中,對大小和位置進行了規(guī)定。一個邏輯設(shè)計分區(qū)不是指器件的物理部分,不用于直接控制邏輯布局。
一個邏輯設(shè)計分區(qū)在設(shè)計層次之間建立一個虛擬邊界,因此每個分區(qū)分別進行編譯,彼此之間不會發(fā)生邏輯優(yōu)化。在采用編譯增強技術(shù)建立設(shè)計時,建議設(shè)計人員將每個設(shè)計分區(qū)分配給一個物理區(qū)域,來提高結(jié)果質(zhì)量。
生成設(shè)計分區(qū)的建議
設(shè)計人員規(guī)劃設(shè)計時,應(yīng)牢記每個分區(qū)的大小和范圍,以及設(shè)計中的不同部分在設(shè)計過程中會怎樣變化。由于采用分區(qū)時,不會出現(xiàn)交叉邊界優(yōu)化,設(shè)計結(jié)果質(zhì)量以及性能會隨著分區(qū)數(shù)量的增加而下降。因此,盡管更多的分區(qū)能夠更大的縮短編譯時間,設(shè)計人員還是應(yīng)該限制分區(qū)數(shù)量,防止結(jié)果質(zhì)量下降。
在ASIC設(shè)計流程中,設(shè)計人員要記錄每個分區(qū)的輸入和輸出端口,盡可能避免越過分區(qū)邊界的任何時延。此外,設(shè)計人員應(yīng)盡量減少越過分區(qū)邊界的通路數(shù)量,以簡化時序逼近處理,也應(yīng)盡可能以時鐘域來劃分區(qū)域。
生成設(shè)計平面布置圖
一旦完成設(shè)計分區(qū)后,設(shè)計人員應(yīng)在器件中為每個分區(qū)分配一個物理位置。分區(qū)設(shè)計生成平面布置圖的最簡單辦法是對每個分區(qū)(包括頂層分區(qū))生成一個物理位置約束。
對于采用編譯增強的設(shè)計而言,平面布置圖位置規(guī)劃非常重要,這是因為當(dāng)器件中某個區(qū)域的多數(shù)資源已經(jīng)占用時,它可以幫助避免適配器向該區(qū)域放置或替換部分設(shè)計。在這種情況下,其他分區(qū)的后適配網(wǎng)表布局迫使適配器在器件的空閑部分放置新的或修改后的分區(qū)。這樣做會直接導(dǎo)致兩個不利結(jié)果。第一,由于物理約束的數(shù)量增多,適配器必需全速運轉(zhuǎn),因此編譯時間明顯延長。第二,由于目標(biāo)分區(qū)的布局分散在器件中,因此結(jié)果質(zhì)量會下降,有時甚至非常顯著。
利用Quartus II早期時序估算器的優(yōu)勢
早期時序估算器不必進行完整的設(shè)計編譯,即可提供準確的設(shè)計時序估算。估算結(jié)果平均在實際設(shè)計性能的11%以內(nèi)。設(shè)計人員可以采用時序逼近平面布置圖編輯器來查看該功能生成的布局估算,識別出關(guān)鍵通路,根據(jù)需要加入或修改平面布置圖約束。然后,早期時序估算器能夠迅速評估平面布置圖位置分配或邏輯修改的效果,對設(shè)計變量進行快速迭代,幫助設(shè)計人員找到最佳方案。
分區(qū)和平面布置圖方案成功的關(guān)鍵
設(shè)計人員在為結(jié)果生成平面布置圖位置分配之前,應(yīng)對結(jié)果進行比較,如果不能符合以下準則,應(yīng)考慮采用其他方案:
在設(shè)計分區(qū)完成和生成平面布置圖位置分配之后,不應(yīng)觀察到fMAX劣化。在許多情況下,允許fMAX略有增加。
在設(shè)計分區(qū)完成和生成平面布置圖位置分配之后,面積增加不應(yīng)超過5%。
布線階段花費的時間不應(yīng)明顯增加。如果布線時間明顯增加,平面布置圖位置分配可能產(chǎn)生了大量的布線擁塞。
為幫助修改和優(yōu)化每個分區(qū)的位置分配,設(shè)計人員可采用Quartus II軟件的時序逼近平面布置圖來確定布線擁塞的區(qū)域。
結(jié)論
Altera Quartus II編譯增強技術(shù)顯著縮短了設(shè)計迭代時間,其性能保留特性是前所未有的,極大的提高了設(shè)計人員工作效率。設(shè)計人員采用該技術(shù)每天能夠進行4至5次的高密度FPGA設(shè)計迭代,而采用傳統(tǒng)編譯方法只能進行1至2次迭代,設(shè)計迭代時間減少近70%,明顯縮短了全部開發(fā)時間。編譯增強特性實現(xiàn)的性能保留功能使設(shè)計人員能夠以更少的設(shè)計迭代,更高效的達到時序逼近。
評論