本發(fā)明涉及芯片測試,具體涉及一種片上axi總線監(jiān)控方法及監(jiān)控模塊。
背景技術(shù):
1、axi(advanced?extensible?interface)是一種被廣泛使用的片上總線標(biāo)準(zhǔn),其作為片上系統(tǒng)(soc)中的一種關(guān)鍵通信協(xié)議,負責(zé)在芯片內(nèi)部各個模塊之間進行數(shù)據(jù)傳輸。axi總線的性能直接影響到整個芯片的性能表現(xiàn)。
2、在芯片測試過程中,在芯片測試與性能調(diào)優(yōu)過程中,面臨兩大難題。首先,芯片上常出現(xiàn)總線死鎖、cpu卡死等硬件故障,但缺乏高效的在線測試工具來迅速定位問題根源,因為原型測試難以構(gòu)建有效案例來復(fù)現(xiàn)和定位硬件死鎖。其次,在性能調(diào)優(yōu)時,雖然能檢測到性能不達標(biāo),但缺乏必要的觀測手段來精確識別性能瓶頸,導(dǎo)致無法實施針對性的改進。arteris?noc橋雖然能監(jiān)控axi總線,但在死鎖情況下自身也可能失效,無法輸出監(jiān)控信息,且復(fù)位后信息丟失。此外,arteris?noc橋在監(jiān)控總線帶寬方面存在部署困難和功能限制,如不支持詳細帶寬占用比例分析,進一步增加了性能調(diào)優(yōu)的難度。
3、因此,亟需一種片上非侵入式的axi總線監(jiān)控方法技術(shù),實現(xiàn)既不干擾業(yè)務(wù)場景的運行又能實時獲取總線狀態(tài)。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明提供了一種片上axi總線監(jiān)控方法及監(jiān)控模塊,以解決由于缺少測試工具以及觀測手段,相關(guān)技術(shù)無法實時且準(zhǔn)確的獲取總線狀態(tài)的問題。
2、第一方面,本發(fā)明提供一種片上axi總線監(jiān)控方法,所述方法由一種片上axi總線監(jiān)控系統(tǒng)中的監(jiān)控模塊執(zhí)行,所述方法包括:
3、監(jiān)控目標(biāo)axi總線的每筆傳輸操作的起始時間戳以及響應(yīng)時間戳,以獲取每筆傳輸操作的延時;
4、通過統(tǒng)計一個時間窗口內(nèi)的多筆傳輸操作的延時以及數(shù)據(jù)量,獲取所述時間窗口內(nèi)的平均延時以及平均帶寬;
5、在所述每筆傳輸操作的延時、所述平均延時、所述平均帶寬或所述時間窗口的終止時間觸發(fā)所述目標(biāo)axi總線的中斷機制時,使cpu處理器獲取當(dāng)前時間窗口的統(tǒng)計結(jié)果,以得到所述目標(biāo)axi總線的死鎖信息、總線錯誤信息或性能狀態(tài);
6、將所述目標(biāo)axi總線的每筆傳輸操作的延時、帶寬和信息條目輸出至atb總線,以進行總線狀態(tài)分析。
7、上述方案通過監(jiān)控每筆傳輸操作的起始時間戳和響應(yīng)時間戳,能夠?qū)崟r計算并獲取每筆操作的延時,從而實現(xiàn)對axi總線性能的實時監(jiān)控;通過統(tǒng)計一個時間窗口內(nèi)的多筆傳輸操作的延時和數(shù)據(jù)量,計算得到平均延時和平均帶寬,有助于識別總線性能的變化趨勢;在特定條件(如延時超時、總線錯誤、時間窗口結(jié)束或性能閾值觸發(fā))下,能夠觸發(fā)中斷機制,使cpu處理器及時獲取當(dāng)前時間窗口的統(tǒng)計結(jié)果,這不僅有助于快速響應(yīng)總線問題,還能通過鎖存死鎖或錯誤發(fā)生時的信息條目,實現(xiàn)問題的精確定位;將統(tǒng)計數(shù)據(jù)(包括每筆傳輸操作的延時、帶寬和信息條目)輸出至atb總線,便于與其他系統(tǒng)或工具進行集成,實現(xiàn)更全面的總線狀態(tài)分析和性能監(jiān)控,提高了監(jiān)控系統(tǒng)的靈活性和可擴展性。
8、在一種可選的實施方式中,在所述監(jiān)控目標(biāo)axi總線的每筆傳輸操作的起始時間戳以及響應(yīng)時間戳,以獲取每筆傳輸操作的延時之前,所述方法還包括:
9、獲取目標(biāo)axi總線上的傳輸操作,并為每筆傳輸操作分別建立對應(yīng)的信息條目;所述信息條目包括從axi命令通道中提取的有效信息。
10、上述方案為每筆傳輸操作創(chuàng)建信息條目,當(dāng)發(fā)生死鎖或性能問題時,預(yù)先建立的信息條目可以快速幫助定位問題源頭,減少故障診斷時間,提高問題分析的精確度。
11、在一種可選的實施方式中,所述監(jiān)控目標(biāo)axi總線的每筆傳輸操作的起始時間戳以及響應(yīng)時間戳,以獲取每筆傳輸操作的延時,包括:
12、基于trigger信號監(jiān)控每筆傳輸操作的起始時間戳以及響應(yīng)時間戳,并基于所述起始時間戳與所述響應(yīng)時間戳之間的差值,獲取每筆傳輸操作的延時。
13、上述方案實時監(jiān)控傳輸操作的時間戳,可以快速反饋系統(tǒng)性能狀態(tài),為動態(tài)調(diào)整命令分發(fā)強度和總線帶寬資源分配提供依據(jù)。
14、在一種可選的實施方式中,所述通過統(tǒng)計一個時間窗口內(nèi)的多筆傳輸操作的延時以及數(shù)據(jù)量,獲取所述時間窗口內(nèi)的平均延時以及平均帶寬,包括:
15、通過統(tǒng)計一個時間窗口內(nèi)的多筆傳輸操作的延時,獲取所述多筆傳輸操作的平均延時;
16、記錄所述時間窗口內(nèi)的每筆傳輸操作的數(shù)據(jù)量,并基于所述時間窗口內(nèi)的總數(shù)據(jù)量,獲取所述多筆傳輸操作的平均帶寬。
17、上述方案通過對時間窗口內(nèi)傳輸操作的延時和數(shù)據(jù)量的統(tǒng)計,可以及時反饋性能變化,從而快速響應(yīng)可能的性能下降或瓶頸問題。
18、在一種可選的實施方式中,所述中斷機制包括死鎖和錯誤中斷時;所述在所述每筆傳輸操作的延時、所述平均延時、所述平均帶寬或所述時間窗口的終止時間觸發(fā)所述目標(biāo)axi總線的中斷機制時,使cpu處理器獲取當(dāng)前時間窗口的統(tǒng)計結(jié)果,以得到所述目標(biāo)axi總線的死鎖信息、總線錯誤信息或性能狀態(tài),包括:
19、在所述傳輸操作的延時超過超時閾值或監(jiān)控到總線錯誤時,判斷所述目標(biāo)axi總線觸發(fā)死鎖中斷,并將第一個發(fā)生死鎖或總線錯誤的傳輸操作所對應(yīng)的信息條目鎖存至軟件可訪問的寄存器中,使cpu處理器獲取所述目標(biāo)axi總線的死鎖信息或總線錯誤信息;所述寄存器被設(shè)置為無復(fù)位端,所述軟件通過清除操作來重置所述寄存器。
20、上述方案當(dāng)傳輸操作的延時超過預(yù)設(shè)的超時閾值或監(jiān)控到總線錯誤時,能夠迅速判斷目標(biāo)axi總線是否觸發(fā)了死鎖中斷,從而及時識別死鎖的發(fā)生,一旦檢測到死鎖或總線錯誤,將第一個發(fā)生死鎖或總線錯誤的傳輸操作所對應(yīng)的信息條目鎖存至軟件可訪問的寄存器中,使cpu能夠獲取關(guān)鍵的死鎖信息或總線錯誤信息。
21、在一種可選的實施方式中,所述中斷機制包括統(tǒng)計窗口結(jié)束中斷時;所述在所述每筆傳輸操作的延時、所述平均延時、所述平均帶寬或所述時間窗口的終止時間觸發(fā)所述目標(biāo)axi總線的中斷機制時,使cpu處理器獲取當(dāng)前時間窗口的統(tǒng)計結(jié)果,以得到所述目標(biāo)axi總線的死鎖信息、總線錯誤信息或性能狀態(tài),包括:
22、在所述時間窗口終止時,判斷所述目標(biāo)axi總線觸發(fā)統(tǒng)計窗口結(jié)束中斷,并使所述cpu處理器獲取所述時間窗口的延時信息以及帶寬信息,以得到所述目標(biāo)axi總線的性能狀態(tài)。
23、上述方案通知cpu處理器能夠在時間窗口結(jié)束時立即獲取該窗口的延時信息和帶寬信息,從而得到目標(biāo)axi總線的性能狀態(tài),確保數(shù)據(jù)的時效性和準(zhǔn)確性,為性能分析提供了實時數(shù)據(jù)支持。
24、在一種可選的實施方式中,所述中斷機制包括性能閾值中斷時;所述在所述每筆傳輸操作的延時、所述平均延時、所述平均帶寬或所述時間窗口的終止時間觸發(fā)所述目標(biāo)axi總線的中斷機制時,使cpu處理器獲取當(dāng)前時間窗口的統(tǒng)計結(jié)果,以得到所述目標(biāo)axi總線的死鎖信息、總線錯誤信息或性能狀態(tài),包括:
25、在所述時間窗口的平均延時超過平均延時閾值或所述平均帶寬低于帶寬閾值時,判斷所述目標(biāo)axi總線觸發(fā)性能閾值中斷,并使所述cpu處理器獲取所述時間窗口的延時信息以及帶寬信息,以得到所述目標(biāo)axi總線的性能狀態(tài)。
26、上述方案的性能閾值中斷提供了一種有效的性能保障機制,有助于確保axi總線在各種工作條件下都能維持良好的性能狀態(tài)。
27、在一種可選的實施方式中,所述將所述目標(biāo)axi總線的每筆傳輸操作的延時、帶寬和信息條目輸出至atb總線,以進行總線狀態(tài)分析,包括:
28、以打包的方式將每筆傳輸操作的延時、帶寬和信息條目輸出至atb總線,并緩存到一個獨立的目標(biāo)存儲空間中,以進行總線狀態(tài)分析。
29、上述方案通過將數(shù)據(jù)輸出至atb總線,可以對axi總線上的傳輸活動進行全面的分析和監(jiān)控,有助于深入理解性能狀況。
30、在一種可選的實施方式中,所述方法還包括:
31、通過多個時間窗口的統(tǒng)計,形成一個基于時間軸的延時和帶寬柱狀圖,以分析總線整體性能瓶頸。
32、上述方案通過形成基于時間軸的延時和帶寬柱狀圖等可視化手段,能夠直觀展示總線性能的變化趨勢和瓶頸所在,為深入分析系統(tǒng)性能和制定優(yōu)化策略提供了有力支持。
33、第二方面,本發(fā)明提供了一種監(jiān)控模塊,所述監(jiān)控模塊設(shè)置于一種片上axi總線監(jiān)控系統(tǒng)中,所述監(jiān)控模塊的結(jié)構(gòu)包括axi_mon接口、監(jiān)控讀總線單元以及監(jiān)控寫總線單元;
34、所述監(jiān)控模塊的axi_mon接口分別連接至目標(biāo)axi總線接口、cpu處理器接口、目標(biāo)存儲設(shè)備接口以及cti交叉觸發(fā)接口;
35、所述監(jiān)控讀總線單元用于監(jiān)控所述目標(biāo)axi總線的讀總線,所述監(jiān)控寫總線單元用于監(jiān)控所述目標(biāo)axi總線的寫總線;
36、所述監(jiān)控模塊,用于執(zhí)行上述第一方面或其對應(yīng)的任一實施方式的一種片上axi總線監(jiān)控方法。
37、第三方面,本發(fā)明提供了一種片上axi總線監(jiān)控系統(tǒng),所述系統(tǒng)包括如上所述的一種監(jiān)控模塊,所述監(jiān)控模塊被配置為連接在cpu處理器接口和gdma?master接口、pcie?axi接口、ddr內(nèi)存和ocm片上存儲器,以及外設(shè)通道上。
38、第四方面,本發(fā)明提供了一種計算機設(shè)備,包括:存儲器和處理器,存儲器和處理器之間互相通信連接,存儲器中存儲有計算機指令,處理器通過執(zhí)行計算機指令,從而執(zhí)行上述第一方面或其對應(yīng)的任一實施方式的一種片上axi總線監(jiān)控方法。
39、第五方面,本發(fā)明提供了一種計算機可讀存儲介質(zhì),該計算機可讀存儲介質(zhì)上存儲有計算機指令,計算機指令用于使計算機執(zhí)行上述第一方面或其對應(yīng)的任一實施方式的一種片上axi總線監(jiān)控方法。
40、第六方面,本發(fā)明提供了一種計算機程序產(chǎn)品,包括計算機指令,計算機指令用于使計算機執(zhí)行上述第一方面或其對應(yīng)的任一實施方式的一種片上axi總線監(jiān)控方法。
41、本發(fā)明提供的技術(shù)方案可以包括以下有益效果:
42、本發(fā)明通過監(jiān)控每筆傳輸操作的起始時間戳和響應(yīng)時間戳,能夠?qū)崟r計算并獲取每筆操作的延時,從而實現(xiàn)對axi總線性能的實時監(jiān)控;通過統(tǒng)計一個時間窗口內(nèi)的多筆傳輸操作的延時和數(shù)據(jù)量,計算得到平均延時和平均帶寬,有助于識別總線性能的變化趨勢;在特定條件(如延時超時、總線錯誤、時間窗口結(jié)束或性能閾值觸發(fā))下,能夠觸發(fā)中斷機制,使cpu處理器及時獲取當(dāng)前時間窗口的統(tǒng)計結(jié)果,這不僅有助于快速響應(yīng)總線問題,還能通過鎖存死鎖或錯誤發(fā)生時的信息條目,實現(xiàn)問題的精確定位;將統(tǒng)計數(shù)據(jù)(包括每筆傳輸操作的延時、帶寬和信息條目)輸出至atb總線,便于與其他系統(tǒng)或工具進行集成,實現(xiàn)更全面的總線狀態(tài)分析和性能監(jiān)控,提高了監(jiān)控系統(tǒng)的靈活性和可擴展性。本發(fā)明還通過形成基于時間軸的延時和帶寬柱狀圖等可視化手段,能夠直觀展示總線性能的變化趨勢和瓶頸所在,為深入分析系統(tǒng)性能和制定優(yōu)化策略提供了有力支持。
43、此外,本發(fā)明通過實時監(jiān)控并記錄總線信息,即使在cpu掛死的情況下,監(jiān)控模塊能保留并提供關(guān)鍵的死鎖命令信息,幫助快速找到根因;監(jiān)控模塊能夠?qū)崟r捕捉到總線錯誤,這些錯誤可能預(yù)示著系統(tǒng)潛在的異?;蛩梨i,為問題排查提供了第一手?jǐn)?shù)據(jù);監(jiān)控模塊允許在芯片上直接進行性能測試,通過實時跟蹤和分析性能數(shù)據(jù),減少了對實驗室環(huán)境的依賴,提高了測試效率。