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

Altera Stratix 10和Agilex 7 FPGA的電源管理及配置問題案例

深度解讀:Intel最新的FPGA Agilex
Agilex FPGA,現(xiàn)代FPGA技術(shù)的核心力量
英特爾Agilex FPGA家族全系列概述表
解密英特爾? Agilex? FPGA家族的八大特性
全新英特爾Agilex D系列FPGA和SoC適用于中端FPGA應(yīng)用
全新英特爾? Agilex? FPGA 和 SoC 家族產(chǎn)品解析
英特爾? Agilex? D系列FPGA和SoC適用于中端FPGA應(yīng)用
英特爾Agilex FPGA的優(yōu)勢和特性
英特爾Agilex 3 FPGA產(chǎn)品家族介紹
BittWare提供基于英特爾Agilex? 7 FPGA最新加速板

將AFE7769DEVM與Hitek Agilex eSOM7 FPGA連接

Altera Agilex 7 M系列FPGA正式量產(chǎn)出貨
Altera Agilex 3 FPGA和SoC產(chǎn)品介紹

評論