在使用 AXI 總線移動(dòng)大量數(shù)據(jù)的 SoC 中,AXI 總線的性能可能會(huì)成為整體系統(tǒng)性能的瓶頸。SoC 中日益增加的復(fù)雜性和軟件內(nèi)容,因此需要使用實(shí)際數(shù)據(jù)有效載荷在硅前進(jìn)行左移性能驗(yàn)證。硬件輔助驗(yàn)證平臺(tái) - Synopsys ZeBu?仿真系統(tǒng)和Synopsys HAPS? FPGA原型系統(tǒng) - 是運(yùn)行如此大的有效載荷的必要條件。
如何提高 AXI 總線的吞吐量
如果使用 AXI 總線進(jìn)行頻繁的批量數(shù)據(jù)傳輸,則實(shí)現(xiàn)良好的吞吐量非常重要。吞吐量可以通過計(jì)算觀察窗口期間在AXI接口上捕獲的每個(gè)節(jié)拍(RVALID/BVALID)中所有數(shù)據(jù)字節(jié)(AxSIZE)的總和,然后將總和除以觀察窗口的持續(xù)時(shí)間來(lái)計(jì)算。顯示低吞吐量的窗口通常并不意味著問題,除非期望快速移動(dòng)大量數(shù)據(jù)。吞吐量降低的幾個(gè)原因可能是:
經(jīng)理行為:理想情況下,經(jīng)理應(yīng)該在同一周期斷言 AWVALID 和 WVALID。此外,管理器應(yīng)該能夠通過在連續(xù)周期上保持 WVALID 高電平來(lái)驅(qū)動(dòng)多個(gè)節(jié)拍。如果不是這種情況,則管理器將限制寫入事務(wù)的吞吐量。
有效/就緒握手:如果 xREADY 在經(jīng)理和下屬端始終處于高電平,則可以實(shí)現(xiàn)最佳性能。但是,當(dāng)內(nèi)部管道已滿時(shí),現(xiàn)實(shí)世界的 DUT 最終必須取消斷言 xREADY。因此,理想情況下,經(jīng)理/下屬應(yīng)將未完成的交易保持在 DUT 流水線限制內(nèi),以確保不會(huì)停滯不前。
請(qǐng)求到響應(yīng)延遲:從屬可能需要幾個(gè)周期來(lái)響應(yīng)寫入/讀取請(qǐng)求。當(dāng)響應(yīng)在下一個(gè)周期到從屬對(duì)請(qǐng)求進(jìn)行采樣時(shí),將達(dá)到峰值性能。但是,復(fù)雜的互連路由和內(nèi)存訪問通常需要幾個(gè)周期才能驅(qū)動(dòng)響應(yīng)。
如何提升AXI總線的事務(wù)性能?
Arm AMBA 3 AXI 和 Arm AMBA 4 AXI 互連支持未完成事務(wù),沒有任何限制,甚至允許使用同一 ID 進(jìn)行多個(gè)未完成事務(wù)。ID(或其中的幾位)通常用于將響應(yīng)從屬路由到具有唯一 ID 的正確經(jīng)理。如果經(jīng)理可以發(fā)出多個(gè)未完成的交易,則只有在下屬也支持的情況下才應(yīng)這樣做,否則它將簡(jiǎn)單地取消斷言 xREADY 信號(hào)并導(dǎo)致停滯。即使從屬支持未完成的事務(wù),也只能在其內(nèi)部管道未滿的情況下執(zhí)行此操作。因此,如果管理器發(fā)出等于或小于次級(jí)管道深度的未完成事務(wù),則可以獲得最佳性能,這允許互連處理多個(gè)事務(wù)而無(wú)需任何序列化。
圖 2:Synopsys 平臺(tái)架構(gòu)師中顯示的每個(gè)觀察窗口的未完成事務(wù)計(jì)數(shù)
圖 4:讀取 Synopsys 平臺(tái)架構(gòu)師中顯示的事務(wù)計(jì)數(shù)/吞吐量
用于 Arm AMBA AXI 接口的智能監(jiān)視器允許用戶測(cè)量 AXI 總線性能,以便在實(shí)際硅流片之前優(yōu)化設(shè)計(jì)以獲得所需的性能。為了進(jìn)一步調(diào)試到窗口中,需要分析 AXI 流量以跟蹤導(dǎo)致性能下降的事務(wù)。最后,需要檢查設(shè)計(jì)是否存在可能導(dǎo)致交易中觀察到偏差的原因。
適用于 Synopsys ZeBu EP1 的智能監(jiān)視器如何幫助分析 AXI 總線性能
用于 Arm AMBA AXI 接口的智能監(jiān)視器是基于 DPI 的事務(wù)處理器,但它們是僅用于捕獲總線流量的無(wú)源組件。監(jiān)視器可以處理協(xié)議數(shù)據(jù)以進(jìn)行功能驗(yàn)證或性能分析。對(duì)于性能分析,顯示器支持 3 種模式。
基于 Python 的批處理可視化
面向驗(yàn)證工程師的基于 Synopsys Verdi? 性能分析儀的性能可視化
Synopsys 平臺(tái)架構(gòu)師?為軟件工程師提供基于虛擬原型解決方案的性能可視化
這些模式中的任何一種都可以根據(jù)需要用于分析 AXI 總線性能。
智能監(jiān)視器提供生成以下性能指標(biāo)的功能:
讀/寫數(shù)據(jù)字節(jié)計(jì)數(shù)
讀/寫數(shù)據(jù)吞吐量
讀/寫請(qǐng)求計(jì)數(shù)
讀/寫已完成事務(wù)計(jì)數(shù)
讀/寫未完成事務(wù)
請(qǐng)求 (AW/AR) 到響應(yīng) (B/R) 延遲
Synopsys ZeBu EP1 仿真和原型系統(tǒng)支持在 SoC 上運(yùn)行實(shí)時(shí)軟件有效負(fù)載。智能監(jiān)視器架構(gòu)允許用戶以與不使用監(jiān)視器幾乎相同的運(yùn)行時(shí)性能生成性能測(cè)量數(shù)據(jù)。此外,監(jiān)視器可以動(dòng)態(tài)配置為在用戶希望查看功能調(diào)試的事務(wù)詳細(xì)信息的情況下轉(zhuǎn)儲(chǔ)詳細(xì)的事務(wù)數(shù)據(jù)。
審核編輯:郭婷
-
soc
+關(guān)注
關(guān)注
38文章
4166瀏覽量
218280 -
總線
+關(guān)注
關(guān)注
10文章
2881瀏覽量
88095 -
AXI
+關(guān)注
關(guān)注
1文章
127瀏覽量
16631
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論