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