本公開的實施例涉及一種用于存儲控制器的驗證方法及驗證裝置。
背景技術:
1、cpu/gpu的外部存儲器,例如常用的ddr(double?data?rate?synchronousdynamic?random?access?memory,雙倍速率同步動態(tài)隨機存儲器)/hbm(high?bandwidthmemory,高帶寬存儲器),負責存儲計算過程中大量的數(shù)據(jù)、對接收數(shù)據(jù)的快速讀寫操作,因而其性能直接影響cpu/gpu的算力水平。針對諸如ddr/hbm的存儲器設備,需要在cpu/gpu芯片中設計存儲控制器模塊用來控制諸如ddr/hbm的存儲器的數(shù)據(jù)讀寫等操作。存儲控制器除了需要保證能夠正確讀寫諸如ddr/hbm的存儲器中的數(shù)據(jù)以外,還需要保證讀寫數(shù)據(jù)的性能盡可能地接近存儲器的理論帶寬。存儲器的理論帶寬是指存儲器在數(shù)據(jù)滿速率的情況下達到的最大帶寬。為了使讀寫數(shù)據(jù)的性能盡可能地接近存儲器的理論帶寬,存儲控制器需要對讀寫等操作命令進行優(yōu)化從而使存儲器的實際帶寬能夠盡量接近理論帶寬。
2、芯片驗證作為芯片前端設計的重要一環(huán),需要對芯片的功能進行全面的驗證,從而保證其功能的正確性。對于用于控制諸如ddr/hbm的存儲器的存儲控制器模塊的驗證,除了需要對其進行功能驗證以外還需要對性能進行驗證,從而驗證其性能是否達到預期。在芯片功能驗證領域,可以使用通用驗證方法學(universal?verification?methodoy,uvm)來快速地搭建仿真驗證平臺并開展驗證工作。
技術實現(xiàn)思路
1、本公開至少一實施例提供一種用于存儲控制器的驗證方法,包括:使用驗證組件對所述存儲控制器執(zhí)行驗證操作;在設置的統(tǒng)計時間期間,從所述驗證組件接收所述驗證組件在所述驗證操作中與所述存儲控制器交互生成的多條事務信息;基于所述多條事務信息,獲取所述存儲控制器的至少一個性能指標;在所述統(tǒng)計時間結束后,輸出所述至少一個性能指標。
2、例如,在本公開至少一實施例提供的驗證方法中,對于所述多條事務信息,所述至少一個性能指標基于當前事務信息和上一條事務信息來統(tǒng)計。
3、例如,在本公開至少一實施例提供的驗證方法中,所述至少一個性能指標基于所述多條事務信息中的操作命令而獲取。
4、例如,在本公開至少一實施例提供的驗證方法中,所述至少一個性能指標基于以下中的至少一項而獲?。好钷D換的次數(shù)、命令轉換的間隔時間、連續(xù)命令個數(shù)、存儲塊的利用率、命令執(zhí)行的時間、命令占用的時間比例、存儲塊組轉換次數(shù)。
5、例如,在本公開至少一實施例提供的驗證方法中,所述至少一個性能指標包括以下中的至少一項:讀寫命令的轉換次數(shù)、讀寫命令轉換的時間間隔、連續(xù)讀命令的個數(shù)、連續(xù)寫命令的個數(shù)、存儲塊對應的連續(xù)讀或寫命令個數(shù)、存儲塊的利用率、刷新命令占用的時間、刷新命令占用的時間比例、讀或寫數(shù)據(jù)的帶寬。
6、例如,在本公開至少一實施例提供的驗證方法中,所述至少一個性能指標還包括存儲塊組轉換次數(shù),所述存儲塊組轉換次數(shù)用于表示在設置的統(tǒng)計時間期間、在不同存儲塊組之間進行讀或寫操作的次數(shù)。
7、例如,在本公開至少一實施例提供的驗證方法中,所述至少一個性能指標用于重新配置所述存儲控制器相關的參數(shù)。
8、例如,在本公開至少一實施例提供的驗證方法中,所述驗證組件基于uvm且包括監(jiān)視器、驅動器、計分板,所述使用驗證組件對所述存儲控制器進行驗證操作,包括:由所述驅動器向所述存儲控制器輸入測試信號;由所述監(jiān)視器從所述存儲控制器接收針對所述測試信號輸出的事務信息;由所述監(jiān)視器將所述事務信息輸入所述計分板以驗證所述存儲控制器,其中,所述事務信息還通過所述驗證組件的端口從監(jiān)視器傳遞到性能統(tǒng)計模塊,以基于所述事務信息獲取所述存儲控制器的至少一個性能指標。
9、本公開至少一實施例還提供一種用于存儲控制器的驗證裝置,包括:驗證組件,被配置為對所述存儲控制器進行驗證操作;性能統(tǒng)計模塊,被配置為:在設置的統(tǒng)計時間期間,從所述驗證組件接收所述驗證組件在所述驗證操作中與所述存儲控制器交互生成的多條事務信息,基于所述多條事務信息,獲取所述存儲控制器的至少一個性能指標,在所述統(tǒng)計時間結束后,輸出所述至少一個性能指標。
10、例如,在本公開至少一實施例提供的驗證裝置中,所述性能統(tǒng)計模塊還被配置為,對于所述多條事務信息,在針對當前事務信息統(tǒng)計了性能指標后存儲當前事務信息,其中,所述至少一個性能指標基于當前事務信息和存儲的上一條事務信息來統(tǒng)計。
11、例如,在本公開至少一實施例提供的驗證裝置中,所述性能統(tǒng)計模塊統(tǒng)計的至少一個性能指標包括以下中的至少一項:讀寫命令的轉換次數(shù)、讀寫命令轉換的時間間隔、連續(xù)讀命令的個數(shù)、連續(xù)寫命令的個數(shù)、存儲塊對應的連續(xù)讀或寫命令個數(shù)、存儲塊的利用率、刷新命令占用的時間、刷新命令占用的時間比例、存儲塊組轉換次數(shù)、讀或寫數(shù)據(jù)的帶寬。
12、例如,在本公開至少一實施例提供的驗證裝置中,所述驗證組件基于uvm且包括監(jiān)視器、驅動器、計分板,所述驅動器配置為向所述存儲控制器輸入測試信號;所述監(jiān)視器配置為從所述存儲控制器接收針對所述測試信號輸出的事務信息,將所述事務信息輸入所述計分板以驗證所述存儲控制器;所述性能統(tǒng)計模塊與所述驗證組件的端口連接,以從所述監(jiān)視器獲取所述多條事務信息。
13、例如,在本公開至少一實施例提供的驗證裝置中,所述性能統(tǒng)計模塊包括:性能監(jiān)視模塊,被配置為基于所述多條事務信息獲取所述存儲控制器的至少一個性能指標;有效時間確定模塊,被配置為設置所述統(tǒng)計時間并確定當前時間是否處于統(tǒng)計時間內;時鐘計數(shù)模塊,被配置為對時鐘進行計數(shù);報告模塊,被配置為輸出所述至少一個性能指標。
14、本公開至少一實施例還提供一種驗證設備,包括:至少一個處理器;至少一個存儲器,所述至少一個存儲器上存儲有計算機程序,所述計算機程序當被處理器執(zhí)行時實現(xiàn)根據(jù)本公開至少一實施例所述的方法。
15、本公開至少一實施例還提供一種計算機可讀存儲介質,其中存儲有計算機程序,所述計算機程序當被處理器執(zhí)行時實現(xiàn)根據(jù)本公開至少一實施例所述的方法。
16、本公開至少一實施例還提供一種計算機程序產品,包括計算機程序/指令,所述計算機程序/指令被處理器執(zhí)行時實現(xiàn)根據(jù)本公開至少一實施例所述的方法。
1.一種用于存儲控制器的驗證方法,包括:
2.根據(jù)權利要求1所述的驗證方法,其中,對于所述多條事務信息,所述至少一個性能指標基于當前事務信息和上一條事務信息來統(tǒng)計。
3.根據(jù)權利要求1所述的驗證方法,其中,所述至少一個性能指標基于所述多條事務信息中的操作命令而獲取。
4.根據(jù)權利要求3所述的驗證方法,其中,所述至少一個性能指標基于以下中的至少一項而獲?。?/p>
5.根據(jù)權利要求3所述的驗證方法,其中,所述至少一個性能指標包括以下中的至少一項:
6.根據(jù)權利要求5所述的驗證方法,其中,所述至少一個性能指標還包括存儲塊組轉換次數(shù),
7.根據(jù)權利要求1所述的驗證方法,其中,所述至少一個性能指標用于重新配置所述存儲控制器相關的參數(shù)。
8.根據(jù)權利要求1所述的驗證方法,其中,所述驗證組件基于uvm且包括監(jiān)視器、驅動器、計分板,
9.一種用于存儲控制器的驗證裝置,包括:
10.根據(jù)權利要求9所述的驗證裝置,其中,所述性能統(tǒng)計模塊還被配置為,對于所述多條事務信息,在針對當前事務信息統(tǒng)計了性能指標后存儲當前事務信息,
11.根據(jù)權利要求9所述的驗證裝置,其中,所述性能統(tǒng)計模塊統(tǒng)計的至少一個性能指標包括以下中的至少一項:
12.根據(jù)權利要求9所述的驗證裝置,其中,所述驗證組件基于uvm且包括監(jiān)視器、驅動器、計分板,
13.根據(jù)權利要求9所述的驗證裝置,其中,所述性能統(tǒng)計模塊包括:
14.一種驗證設備,包括:
15.一種計算機可讀存儲介質,其中存儲有計算機程序,所述計算機程序當被處理器執(zhí)行時實現(xiàn)根據(jù)權利要求1-8中任一項所述的方法。
16.一種計算機程序產品,包括計算機程序/指令,所述計算機程序/指令被處理器執(zhí)行時實現(xiàn)根據(jù)權利要求1-8中任一項所述的方法。