與同類FPGA相比,Agilex 7 FPGA可為OpenCores公開發(fā)布的設(shè)計提供超過一個速度等級的內(nèi)核性能提升。
簡 介
本文介紹了一種對Agilex 7 FPGA產(chǎn)品家族的內(nèi)核性能進行基準(zhǔn)測試的方法,旨在清晰地展示相關(guān)方法和數(shù)據(jù),以便感興趣的讀者可以重新生成和分析這些結(jié)果。
背景:FPGA和SoC的基準(zhǔn)測試
當(dāng)前,可編程邏輯行業(yè)尚無標(biāo)準(zhǔn)的指標(biāo)評測方法。為此,使用了嚴(yán)格的內(nèi)部分析,并廣泛地采用了不同的設(shè)計組合,以充分了解、量化可編程邏輯產(chǎn)品相比前代產(chǎn)品/行業(yè)同類產(chǎn)品的性能。這些設(shè)計從不同的細(xì)分市場收集而來,包括高性能計算、圖像和視頻處理、有線和無線通信以及消費類產(chǎn)品等。此外,這些設(shè)計還使用了多種實施技術(shù),包括來自行業(yè)同類產(chǎn)品的ASIC和FPGA。通過使用廣泛的設(shè)計套件,致力于確保結(jié)果準(zhǔn)確無誤,且能夠代表客戶設(shè)計與Quartus Prime Software Suite等FPGA設(shè)計工具之間的復(fù)雜交互。為了使用客戶設(shè)計,已在轉(zhuǎn)換設(shè)計方面投資了大量資源,以便能夠與廣泛的合成工具和電子設(shè)計自動化(EDA)廠商合作。同時還確保功能予以保留,并針對特定FPGA廠商進行了適當(dāng)?shù)拇a優(yōu)化,這點是必需的,因為開發(fā)設(shè)計時通常會針對特定FPGA對設(shè)計進行優(yōu)化。
在性能比較方面,采用的是盡力而為法,目的是顯示可實現(xiàn)的最佳結(jié)果。盡力而為編譯方法實驗需要比默認(rèn)按鈕(push-button)編譯更長的單獨編譯時間,而且,在該方法中,每項設(shè)計需要進行超過一次的編譯。
借助這種方法,確定了Agilex 7 FPGA和SoC可提供比7納米FPGA行業(yè)同類產(chǎn)品更高的內(nèi)核性能,測量指標(biāo)為在設(shè)計套件的每項設(shè)計中,針對速度關(guān)鍵型時鐘路徑所能實現(xiàn)的最大fMAX。
性能差異在13%-25%左右(具體數(shù)據(jù)取決于不同的設(shè)計),大約相當(dāng)于一個或兩個速度等級優(yōu)勢,一個速度等級通常被定義為10%-15%?的性能差異。這些結(jié)果有力證明了Agilex 7 FPGA作為最高性能10納米FPGA產(chǎn)品家族的地位。然而,由于這些結(jié)果是專有設(shè)計獲得的,所以只能就這項分析分享有限的詳情,這最終會限制這些信息對可編程邏輯用戶的有用性。
通過基于OpenCores的性能比較提高透明度
為了克服在理解可編程邏輯性能方面的挑戰(zhàn),使用已發(fā)布的OpenCores(www.opencores.org)設(shè)計進行指標(biāo)評測。OpenCores提供了開源硬件知識產(chǎn)權(quán)(IP)內(nèi)核。這項指標(biāo)評測旨在幫助可編程邏輯用戶:
了解性能評估過程中使用的具體設(shè)計,包括這些設(shè)計具體到寄存器傳輸級(RTL)描述的詳細(xì)信息
自己重新生成分析結(jié)果
仔細(xì)查看分析結(jié)果,以更好地了解Agilex 7 FPGA性能和器件利用率,以及這些性能優(yōu)勢對于特定設(shè)計的意義
這項基于OpenCores的分析的范圍小于使用的內(nèi)部分析,因為前者專注于受時間約束的比較。分析并不全面,但分析結(jié)果說明了實施相似設(shè)計,或?qū)嵤┡c設(shè)計示例套件所用功能相似的功能設(shè)計時,Agilex 7 FPGA相比行業(yè)同類器件的相對性能。
OpenCores標(biāo)記方法
OpenCores設(shè)計只使用了目標(biāo)設(shè)備中的一小部分資源,只使用這一小部分資源并非用戶的慣例,也達不到他們所期望的目標(biāo)。此外,隨著設(shè)備資源逐漸被耗盡,以及設(shè)計變得更難以放置和路由,不斷增加的利用率通常會對可實現(xiàn)的最高fMAX產(chǎn)生不利影響。為了模擬設(shè)備利用率對可編程邏輯性能的影響,OpenCores設(shè)計執(zhí)行了大量編譯,而且每次都會在前一次編譯的基礎(chǔ)上添加更多OpenCores實例。為了增加可編程邏輯設(shè)備的設(shè)計尺寸,每項OpenCores設(shè)計都在FPGA中重復(fù)進行了實例化(對同一內(nèi)核進行多次標(biāo)記):
每次標(biāo)記都并行實施
添加I/O包裝程序邏輯以減少更大設(shè)計所需的I/O引腳數(shù)
內(nèi)核與包裝程序邏輯之間不存在時間關(guān)鍵路徑
包裝程序邏輯提供了盡可能少的開銷。圖1顯示了標(biāo)記過程
圖1. 在FPGA中對oc_m1_core設(shè)計進行了四次實例化
OpenCores標(biāo)記和基準(zhǔn)測試方法
隨著OpenCores設(shè)計標(biāo)記數(shù)量增加(因此設(shè)計尺寸不斷增加),I/O引腳和全局時鐘等資源變得有限。為了避免引腳用盡,每個OpenCores設(shè)計都包裹在移位寄存器中,以便一個物理引腳能夠為內(nèi)核的所有輸入引腳提供信息,以及內(nèi)核的所有輸出引腳都將信息輸入到可加載的移位寄存器中。圖2和圖3分別顯示了輸入和輸出移位寄存器。移位寄存器尺寸取決于I/O引腳數(shù)量,移位寄存器的數(shù)量取決于FPGA中實施的OpenCores設(shè)計數(shù)量。
圖2. 輸入移位寄存器實施
圖3. 輸出移位寄存器實施
為了避免全局時鐘資源耗盡,一個引腳直接為所有OpenCores設(shè)計提供全局時鐘和重置信號。例如,如果一個內(nèi)核需要兩個時鐘(即內(nèi)核時鐘1與內(nèi)核時鐘2)以及一個重置信號,內(nèi)核時鐘1的所有實例由一個引腳提供,內(nèi)核時鐘2的所有實例由另一個不同的引腳提供,重置信號的所有實例由第三個引腳提供。借助該方法,所有OpenCores設(shè)計都擁有相同的時鐘和重置信號(請參見圖4)。
圖4. 共享時鐘和重置信號的雙核實施
在FPGA中,包裝程序邏輯將所有OpenCores設(shè)計相連接后,為確保包裝程序邏輯(即移位寄存器)和OpenCores設(shè)計之間不存在關(guān)鍵路徑。為了實現(xiàn)這一目標(biāo),創(chuàng)建了錯誤的路徑,同時通過為內(nèi)核時鐘和包裝程序邏輯時鐘設(shè)置不同的無關(guān)時鐘域,消除了時間路徑。然后,這些設(shè)計工具可將內(nèi)核和移位寄存器分開優(yōu)化。在設(shè)備和設(shè)計工具允許的情況下,對OpenCores設(shè)計進行了盡可能多的實例化,且無編譯錯誤。
軟件工具、設(shè)置與約束
為了開展這項研究,使用了分析時可用的所需FPGA開發(fā)工具的最新版本:
Quartus Prime Software Suite版本22.4
把工具安裝并運行于Linux64設(shè)備之上。這些可編程邏輯工具提供的設(shè)置在設(shè)計性能、邏輯資源使用、編譯時間和內(nèi)存使用之間進行了折中。需要注意的是,某些設(shè)計可能使用特定設(shè)置生成最佳結(jié)果,但這并不意味著該設(shè)置適用于另一項設(shè)計。此外,用于指引EDA工具的用戶約束可改善結(jié)果。即便使用代表客戶設(shè)計的設(shè)計集,指標(biāo)評測結(jié)果也會因軟件設(shè)計和應(yīng)用約束的不同而存在顯著差異。對于本文介紹的比較,使用了盡力而為的編譯模式,并設(shè)置了較為嚴(yán)格的時間約束。為了確定每項設(shè)計的嚴(yán)格時間約束,對每個OpenCores設(shè)計時鐘應(yīng)用了頻率約束,以確定每個時鐘剛好無法滿足的約束。通過不斷增加約束直至無法滿足,確定了基礎(chǔ)約束。然后,通過將基礎(chǔ)約束值乘以最少1.3的系數(shù),確定了嚴(yán)格約束。下面部分介紹了為每項設(shè)計應(yīng)用的約束。
結(jié) 語
Agilex 7 FPGA家族實現(xiàn)了更高的fMAX值,范圍在3%到41%之間,幾何平均值為20%。性能優(yōu)勢相當(dāng)于一到兩個速度等級。此外,結(jié)果表明,在利用率較高的情況下,Agilex 7 FPGA性能穩(wěn)定性更好,在這種情況下,Hyperflex 架構(gòu)能提供更高的性能,讓您可以更充分地利用可用邏輯。
-
FPGA
+關(guān)注
關(guān)注
1620文章
21506瀏覽量
598792 -
寄存器
+關(guān)注
關(guān)注
31文章
5250瀏覽量
119177 -
內(nèi)核
+關(guān)注
關(guān)注
3文章
1336瀏覽量
40081 -
soc
+關(guān)注
關(guān)注
38文章
4017瀏覽量
216992 -
Agilex
+關(guān)注
關(guān)注
0文章
9瀏覽量
3727
原文標(biāo)題:Agilex ? 7 FPGA在OpenCores中展示性能優(yōu)勢
文章出處:【微信號:英特爾FPGA,微信公眾號:英特爾FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論