本公開的實(shí)施例涉及一種用于芯片驗(yàn)證的隨機(jī)激勵生成方法、裝置、電子設(shè)備及介質(zhì)。
背景技術(shù):
1、隨著半導(dǎo)體工藝與應(yīng)用算力需求的不斷提升,芯片設(shè)計(jì)規(guī)模及復(fù)雜度不斷增大,驗(yàn)證工作需要與設(shè)計(jì)相匹配,隨之導(dǎo)致的驗(yàn)證環(huán)境規(guī)模也與日俱增,所需求的驗(yàn)證場景也越來越復(fù)雜。
2、對于目前常見的諸如復(fù)雜系統(tǒng)級芯片(system?on?chip,soc)的芯片設(shè)計(jì)規(guī)格而言,芯片外設(shè)接口通常會包含pcie(peripheral?component?interconnect?express,外設(shè)組件互連快速總線,其是一種高速串行計(jì)算機(jī)擴(kuò)展總線標(biāo)準(zhǔn),)、ddr(double?data?rate,雙倍數(shù)據(jù)傳輸率)等通用高速接口,各家廠商還通常會有不同的跨內(nèi)核電路組(die)、跨socket互聯(lián)方案。在集成電路中,die是晶片顆粒,在其上制造了特定的功能電路。對于socket,其指在服務(wù)器上,一塊主板可以擁有多個socket,即處理器的物理插槽。此外還會涉及一些輔助slow?io接口(如i2c、gpio等),slow?io接口是指低速輸入、輸出接口。
3、芯片內(nèi)部通常也會有多種復(fù)雜的總線協(xié)議。每一種接口/協(xié)議都包含多種類型的數(shù)據(jù)包,而不同的數(shù)據(jù)包又可以根據(jù)地址或id(identity?document,一種用于路由標(biāo)記的特定標(biāo)識符)路由到不同的目的地。
4、當(dāng)多種接口同時工作時候,芯片內(nèi)部總線中交織著各種類型數(shù)據(jù)包。在如此復(fù)雜的場景下,芯片不僅需要滿足數(shù)據(jù)交互正確性、還需要滿足帶寬要求,更要避免出現(xiàn)死鎖。這就要求驗(yàn)證環(huán)境的激勵產(chǎn)生必須具備復(fù)雜性與隨機(jī)性,從而模擬出接近真實(shí)的應(yīng)用場景。
技術(shù)實(shí)現(xiàn)思路
1、本公開至少一實(shí)施例提供了一種用于芯片驗(yàn)證的隨機(jī)激勵生成方法,包括:獲取待測對象模塊;基于用于所述待測對象模塊的接口獲取調(diào)度器,其中,所述調(diào)度器配置為分別支持與所述接口對應(yīng)的協(xié)議;基于所述待測對象模塊獲取多個路由目的地;基于所述調(diào)度器和所述多個路由目的地,獲取所述調(diào)度器對應(yīng)的線程;觸發(fā)所述調(diào)度器的線程,向所述待測對象模塊的多個路由目的地發(fā)送數(shù)據(jù)包,用以獲取到達(dá)所述待測對象模塊的隨機(jī)激勵。
2、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成中,基于用于所述待測對象模塊的接口獲取調(diào)度器,包括:響應(yīng)于用于所述待測對象模塊的接口為n個接口,獲取n個調(diào)度器,其中,所述n個調(diào)度器與所述n個接口一一對應(yīng),且所述n個接口中的每個接口對應(yīng)一種協(xié)議,n為大于或等于1的整數(shù)。
3、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成中,每個所述調(diào)度器對應(yīng)的多個線程與所述多個路由目的地一一對應(yīng)。
4、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成中,觸發(fā)所述調(diào)度器的線程,向所述待測對象模塊的多個路由目的地發(fā)送數(shù)據(jù)包,包括:獲取所述調(diào)度器的激勵驅(qū)動適配組件,其中,所述激勵驅(qū)動適配組件與所述調(diào)度器一一對應(yīng);基于所述激勵驅(qū)動適配組件,將所述調(diào)度器對應(yīng)的線程產(chǎn)生的數(shù)據(jù)包通過所述接口發(fā)送至所述待測對象模塊的對應(yīng)的路由目的地。
5、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成中,在將所述調(diào)度器對應(yīng)的線程產(chǎn)生的數(shù)據(jù)包通過所述接口發(fā)送至所述待測對象模塊的對應(yīng)的路由目的地之前,所述方法還包括:通過線程控制與線程約束以及基于所述路由目的地,隨機(jī)地產(chǎn)生數(shù)據(jù)包;將隨機(jī)產(chǎn)生的數(shù)據(jù)包存儲于隨機(jī)數(shù)據(jù)條目隊(duì)列,供所述調(diào)度器的線程被觸發(fā)后使用以向所述待測對象模塊發(fā)送。
6、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成中,觸發(fā)所述調(diào)度器的線程,向所述待測對象模塊的路由目的地發(fā)送數(shù)據(jù)包,包括:響應(yīng)于所述n個調(diào)度器為一個調(diào)度器,所述調(diào)度器對應(yīng)的多個線程之間并行觸發(fā),以向所述待測對象模塊的多個路由目的地發(fā)送數(shù)據(jù)包;響應(yīng)于所述n個調(diào)度器為多個調(diào)度器,所述多個調(diào)度器之間并行觸發(fā),以向所述待測對象模塊的多個路由目的地發(fā)送數(shù)據(jù)包。
7、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成中,基于用于所述待測對象模塊的接口獲取調(diào)度器,包括:定義用于激勵驅(qū)動適配的第一父類,其中,所述第一父類配置為實(shí)現(xiàn)統(tǒng)一發(fā)包任務(wù),所述統(tǒng)一發(fā)包任務(wù)配置為針對數(shù)據(jù)包的類型調(diào)用相應(yīng)的發(fā)包任務(wù);定義第二父類,其中,所述第二父類是接口控制父類;基于所述第一父類實(shí)現(xiàn)繼承自所述第一父類的一個或多個第一子類,其中,所述一個或多個第一子類與所述接口一一對應(yīng)且每個所述第一子類對應(yīng)每個所述激勵驅(qū)動適配組件;基于所述第二父類實(shí)現(xiàn)繼承自所述第二父類的一個或多個第二子類,其中,所述一個或多個第二子類與所述接口一一對應(yīng)。
8、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成中,基于所述激勵驅(qū)動適配組件,將所述調(diào)度器對應(yīng)的線程產(chǎn)生的數(shù)據(jù)包通過所述接口發(fā)送至所述待測對象模塊的對應(yīng)的路由目的地,包括:基于所述第一父類、所述第二父類、所述第一子類和所述第二子類,通過父類指針指向子類對象的方式,調(diào)用所述數(shù)據(jù)包并發(fā)送至所述待測對象模塊。
9、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成中,所述調(diào)度器還包括覆蓋率監(jiān)測組件,所述方法還包括:響應(yīng)于觸發(fā)所述調(diào)度器的線程,所述激勵驅(qū)動適配組件向所述調(diào)度器的覆蓋率監(jiān)測組件發(fā)送所述調(diào)度器對應(yīng)的線程的數(shù)據(jù)包,用以收集功能覆蓋率。
10、本公開至少一實(shí)施例提供了一種用于芯片驗(yàn)證的隨機(jī)激勵生成裝置,包括:待測對象模塊,包括多個路由目的地;調(diào)度器,配置為基于用于所述待測對象模塊的接口進(jìn)行創(chuàng)建,其中,所述調(diào)度器分別支持與所述接口對應(yīng)的協(xié)議,所述調(diào)度器設(shè)有基于多個路由目的地確定的線程,所述調(diào)度器配置為:響應(yīng)于觸發(fā)所述線程,向所述待測對象模塊的多個路由目的地發(fā)送數(shù)據(jù)包,用以獲取到達(dá)所述待測對象模塊的隨機(jī)激勵。
11、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成裝置中,所述調(diào)度器為n個,且n個調(diào)度器與用于所述待測對象模塊的n個接口一一對應(yīng),所述n個接口中的每個接口對應(yīng)一種協(xié)議,n為大于或等于1的整數(shù)。
12、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成裝置中,每個所述調(diào)度器對應(yīng)的多個線程與所述多個路由目的地一一對應(yīng)。
13、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成裝置中,所述調(diào)度器包括一一對應(yīng)的激勵驅(qū)動適配組件,所述激勵驅(qū)動適配組件配置為將所述調(diào)度器對應(yīng)的線程產(chǎn)生的數(shù)據(jù)包通過所述接口發(fā)送至所述待測對象模塊的對應(yīng)的路由目的地。
14、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成裝置中,所述n個調(diào)度器為一個調(diào)度器,所述調(diào)度器配置為對應(yīng)的多個線程之間并行觸發(fā),以向所述待測對象模塊的多個路由目的地發(fā)送數(shù)據(jù)包;或者,所述n個調(diào)度器為多個調(diào)度器,所述多個調(diào)度器配置為并行觸發(fā),以向所述待測對象模塊的多個路由目的地發(fā)送數(shù)據(jù)包。
15、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成裝置中,所述n個調(diào)度器包括:用于激勵驅(qū)動適配的第一父類,其中,所述第一父類配置為實(shí)現(xiàn)統(tǒng)一發(fā)包任務(wù),所述統(tǒng)一發(fā)包任務(wù)配置為針對數(shù)據(jù)包的類型調(diào)用相應(yīng)的發(fā)包任務(wù);第二父類,其中,所述第二父類是接口控制父類;繼承自所述第一父類的一個或多個第一子類,其中,所述一個或多個第一子類與所述接口一一對應(yīng)且每個所述第一子類對應(yīng)每個所述激勵驅(qū)動適配組件;繼承自所述第二父類的一個或多個第二子類,其中,所述一個或多個第二子類與所述接口一一對應(yīng)。
16、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成裝置中,所述調(diào)度器還包括覆蓋率監(jiān)測組件,所述覆蓋率監(jiān)測組件配置為獲取所述激勵驅(qū)動適配組件發(fā)送的所述調(diào)度器對應(yīng)的線程的數(shù)據(jù)包,用以收集功能覆蓋率。
17、例如,在本公開至少一實(shí)施例提供的一種隨機(jī)激勵生成裝置中,所述調(diào)度器還包括線程監(jiān)測組件,所述線程監(jiān)測組件配置為監(jiān)控線程的執(zhí)行和線程的狀態(tài)。
18、本公開至少一實(shí)施例提供了一種電子設(shè)備,包括:處理器和存儲器,其中,所述存儲器上存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器執(zhí)行時,實(shí)現(xiàn)如上文任一項(xiàng)所述的隨機(jī)激勵生成方法。
19、本公開至少一實(shí)施例提供了一種計(jì)算機(jī)可讀存儲介質(zhì),其中,所述存儲介質(zhì)內(nèi)存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時,實(shí)現(xiàn)如上述任一示例中所述的隨機(jī)激勵生成方法。