本發(fā)明實(shí)施例涉及芯片測(cè)試,具體涉及一種死鎖測(cè)試方法、裝置、系統(tǒng)及相關(guān)設(shè)備。
背景技術(shù):
1、在計(jì)算設(shè)備中,主設(shè)備和從設(shè)備基于總線架構(gòu)進(jìn)行數(shù)據(jù)傳輸。其中,主設(shè)備和從設(shè)備之間通常需要依序進(jìn)行數(shù)據(jù)的傳輸和接收。
2、然而,隨著芯片集成規(guī)模越來(lái)越大,計(jì)算設(shè)備內(nèi)的主設(shè)備和從設(shè)備也越來(lái)越大,對(duì)應(yīng)的總線架構(gòu)也設(shè)計(jì)的越來(lái)越復(fù)雜。其中,在總線架構(gòu)存在設(shè)計(jì)缺陷時(shí),可能出現(xiàn)死鎖的情況。
3、因此,如何在芯片設(shè)計(jì)階段測(cè)試出總線架構(gòu)是否存在導(dǎo)致死鎖的缺陷,是本領(lǐng)域技術(shù)人員亟需解決的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明實(shí)施例提供一種死鎖測(cè)試方法、裝置、系統(tǒng)及相關(guān)設(shè)備,以在芯片設(shè)計(jì)階段測(cè)試出總線架構(gòu)是否存在導(dǎo)致死鎖的缺陷。
2、為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供如下技術(shù)方案。
3、第一方面,本發(fā)明實(shí)施例提供一種死鎖測(cè)試方法,用于測(cè)試待測(cè)設(shè)計(jì),其中,所述待測(cè)設(shè)計(jì)包括總線架構(gòu),以及,連接在總線架構(gòu)中的多個(gè)主設(shè)備和從設(shè)備;所述方法包括:
4、選取連接至總線架構(gòu)中2個(gè)主設(shè)備分別為第一主設(shè)備和第二主設(shè)備,選取連接在總線架構(gòu)中2個(gè)從設(shè)備分別為第一從設(shè)備和第二從設(shè)備;
5、自第一主設(shè)備向第一從設(shè)備發(fā)送第一類型測(cè)試事務(wù),且自第二主設(shè)備向第二從設(shè)備發(fā)送第一類型測(cè)試事務(wù),其中,所述第一類型測(cè)試事務(wù)包括待測(cè)試寫(xiě)命令和待測(cè)試寫(xiě)數(shù)據(jù),且所述第一類型測(cè)試事務(wù)中的待測(cè)試寫(xiě)數(shù)據(jù)大于或等于第一預(yù)設(shè)長(zhǎng)度;
6、在發(fā)送所述第一類型測(cè)試事務(wù)的預(yù)設(shè)時(shí)間間隔內(nèi),啟動(dòng)自第一主設(shè)備向第二從設(shè)備進(jìn)行第二類型測(cè)試事務(wù)的傳輸,且啟動(dòng)自第二主設(shè)備向第一從設(shè)備進(jìn)行第二類型測(cè)試事務(wù)的傳輸,其中,所述第二類型測(cè)試事務(wù)包括待測(cè)試寫(xiě)命令和待測(cè)試寫(xiě)數(shù)據(jù),且所述第二類型測(cè)試事務(wù)中的待測(cè)試寫(xiě)數(shù)據(jù)小于或等于第二預(yù)設(shè)長(zhǎng)度;所述第二預(yù)設(shè)長(zhǎng)度小于所述第一預(yù)設(shè)長(zhǎng)度,所述預(yù)設(shè)時(shí)間間隔小于所述第一類型測(cè)試事務(wù)的待測(cè)試寫(xiě)數(shù)據(jù)的傳輸時(shí)間;
7、基于所述第一從設(shè)備和所述第二從設(shè)備接收的數(shù)據(jù),確定是否產(chǎn)生死鎖。
8、可選的,所述方法還包括:
9、自第一主設(shè)備向第二從設(shè)備發(fā)送第一類型測(cè)試事務(wù),且自第二主設(shè)備向第一從設(shè)備發(fā)送所述第一類型測(cè)試事務(wù);
10、在發(fā)送所述第一類型測(cè)試事務(wù)的預(yù)設(shè)時(shí)間間隔內(nèi),啟動(dòng)自第一主設(shè)備向第一從設(shè)備進(jìn)行第二類型測(cè)試事務(wù)的傳輸,且啟動(dòng)自第二主設(shè)備向第二從設(shè)備進(jìn)行第二類型測(cè)試事務(wù)的傳輸;
11、再次基于所述第一從設(shè)備和所述第二從設(shè)備接收的數(shù)據(jù),確定是否產(chǎn)生死鎖。
12、可選的,所述選取連接至總線架構(gòu)中2個(gè)主設(shè)備分別為第一主設(shè)備和第二主設(shè)備,選取連接在總線架構(gòu)中2個(gè)從設(shè)備分別為第一從設(shè)備和第二從設(shè)備,包括:
13、隨機(jī)命名所述2個(gè)主設(shè)備分別為第一主設(shè)備和第二主設(shè)備;
14、將所述第一主設(shè)備的遠(yuǎn)端從設(shè)備命名為第一從設(shè)備,將另一從設(shè)備命名為第二從設(shè)備;或者,將所述第二主設(shè)備的遠(yuǎn)端從設(shè)備命名為第一從設(shè)備,將另一從設(shè)備命名為第二從設(shè)備。
15、可選的,所述第一類型測(cè)試事務(wù)為預(yù)先構(gòu)造的第一類型測(cè)試激勵(lì),所述自第一主設(shè)備向第一從設(shè)備發(fā)送第一類型測(cè)試事務(wù),且自第二主設(shè)備向第二從設(shè)備發(fā)送第一類型測(cè)試事務(wù),具體為:
16、基于驗(yàn)證平臺(tái)的驗(yàn)證組件控制第一主設(shè)備向第一從設(shè)備發(fā)送第一類型測(cè)試激勵(lì),且控制第二主設(shè)備向第二從設(shè)備發(fā)送第一類型測(cè)試激勵(lì)。
17、可選的,所述啟動(dòng)自第一主設(shè)備向第二從設(shè)備進(jìn)行第二類型測(cè)試事務(wù)的傳輸,具體為,自第一主設(shè)備向第二從設(shè)備傳輸所述第二類型測(cè)試事務(wù)的待測(cè)試寫(xiě)命令;所述啟動(dòng)自第二主設(shè)備向第一從設(shè)備進(jìn)行第二類型測(cè)試事務(wù)的傳輸,具體為,自第二主設(shè)備向第一從設(shè)備傳輸所述第二類型測(cè)試事務(wù)的待測(cè)試寫(xiě)命令。
18、可選的,所述第二類型測(cè)試事務(wù)為預(yù)先構(gòu)造的第二類型測(cè)試激勵(lì),所述啟動(dòng)自第一主設(shè)備向第二從設(shè)備進(jìn)行第二類型測(cè)試事務(wù)的傳輸,且啟動(dòng)自第二主設(shè)備向第一從設(shè)備進(jìn)行第二類型測(cè)試事務(wù)的傳輸,具體為:
19、基于驗(yàn)證平臺(tái)的驗(yàn)證組件控制第一主設(shè)備向第二從設(shè)備發(fā)送第二類型測(cè)試激勵(lì)中的待測(cè)試寫(xiě)命令,且控制第二主設(shè)備向第一從設(shè)備發(fā)送第二類型測(cè)試激勵(lì)中的待測(cè)試寫(xiě)命令。
20、可選的,所述基于所述第一從設(shè)備和所述第二從設(shè)備接收的數(shù)據(jù),確定是否產(chǎn)生死鎖,具體為:
21、確定所述第一從設(shè)備和所述第二從設(shè)備是否成功接收待測(cè)試寫(xiě)數(shù)據(jù),若是,則未產(chǎn)生死鎖,若否,則產(chǎn)生死鎖。
22、可選的,所述第一預(yù)設(shè)長(zhǎng)度為256個(gè)突發(fā)長(zhǎng)度,所述第二預(yù)設(shè)長(zhǎng)度為5個(gè)突發(fā)長(zhǎng)度;所述預(yù)設(shè)時(shí)間間隔小于或等于1個(gè)時(shí)鐘周期。
23、可選的,所述選取連接至總線架構(gòu)中2個(gè)主設(shè)備分別為第一主設(shè)備和第二主設(shè)備,選取連接在總線架構(gòu)中2個(gè)從設(shè)備分別為第一從設(shè)備和第二從設(shè)備的步驟之后,重復(fù)執(zhí)行所述自第一主設(shè)備向第一從設(shè)備發(fā)送第一類型測(cè)試事務(wù),且自第二主設(shè)備向第二從設(shè)備發(fā)送第一類型測(cè)試事務(wù),至,所述再次基于所述第一從設(shè)備和所述第二從設(shè)備接收的數(shù)據(jù)的步驟,直至預(yù)設(shè)條件;
24、其中,所述預(yù)設(shè)條件為:
25、所述基于所述第一從設(shè)備和所述第二從設(shè)備接收的數(shù)據(jù),確定是否產(chǎn)生死鎖的步驟或所述再次基于所述第一從設(shè)備和所述第二從設(shè)備接收的數(shù)據(jù),確定是否產(chǎn)生死鎖的步驟中確認(rèn)產(chǎn)生死鎖;
26、或者,
27、未產(chǎn)生死鎖,且所述自第一主設(shè)備向第一從設(shè)備發(fā)送第一類型測(cè)試事務(wù),且自第二主設(shè)備向第二從設(shè)備發(fā)送第一類型測(cè)試事務(wù),至,所述再次基于所述第一從設(shè)備和所述第二從設(shè)備接收的數(shù)據(jù)的步驟重復(fù)執(zhí)行至預(yù)設(shè)次數(shù)。
28、可選的,所述選取連接至總線架構(gòu)中2個(gè)主設(shè)備分別為第一主設(shè)備和第二主設(shè)備,選取連接在總線架構(gòu)中2個(gè)從設(shè)備分別為第一從設(shè)備和第二從設(shè)備的步驟之前,還包括:
29、構(gòu)建測(cè)試順序表,所述測(cè)試順序表用于指示不同主設(shè)備和從設(shè)備構(gòu)成的測(cè)試方案的測(cè)試順序,其中,不同測(cè)試方案中,主設(shè)備或從設(shè)備中的至少一設(shè)備為不同;
30、所述選取連接至總線架構(gòu)中2個(gè)主設(shè)備分別為第一主設(shè)備和第二主設(shè)備,選取連接在總線架構(gòu)中2個(gè)從設(shè)備分別為第一從設(shè)備和第二從設(shè)備的步驟,具體為,基于測(cè)試順序表中的順序,選取對(duì)應(yīng)測(cè)試方案中的主設(shè)備和從設(shè)備。
31、第二方面,本發(fā)明實(shí)施例提供一種死鎖測(cè)試裝置,用于測(cè)試待測(cè)設(shè)計(jì),其中,所述待測(cè)設(shè)計(jì)包括總線架構(gòu),以及,連接在總線架構(gòu)中的多個(gè)主設(shè)備和從設(shè)備;所述裝置包括:
32、設(shè)備選取模塊,用于選取連接至總線架構(gòu)中2個(gè)主設(shè)備分別為第一主設(shè)備和第二主設(shè)備,選取連接在總線架構(gòu)中2個(gè)從設(shè)備分別為第一從設(shè)備和第二從設(shè)備;
33、測(cè)試模塊,用于自第一主設(shè)備向第一從設(shè)備發(fā)送第一類型測(cè)試事務(wù),且自第二主設(shè)備向第二從設(shè)備發(fā)送第一類型測(cè)試事務(wù),其中,所述第一類型測(cè)試事務(wù)包括待測(cè)試寫(xiě)命令和待測(cè)試寫(xiě)數(shù)據(jù),且所述第一類型測(cè)試事務(wù)中的待測(cè)試寫(xiě)數(shù)據(jù)大于或等于第一預(yù)設(shè)長(zhǎng)度;以及,在發(fā)送所述第一類型測(cè)試事務(wù)的預(yù)設(shè)時(shí)間間隔內(nèi),啟動(dòng)自第一主設(shè)備向第二從設(shè)備進(jìn)行第二類型測(cè)試事務(wù)的傳輸,且啟動(dòng)自第二主設(shè)備向第一從設(shè)備進(jìn)行第二類型測(cè)試事務(wù)的傳輸,其中,所述第二類型測(cè)試事務(wù)包括待測(cè)試寫(xiě)命令和待測(cè)試寫(xiě)數(shù)據(jù),且所述第二類型測(cè)試事務(wù)中的待測(cè)試寫(xiě)數(shù)據(jù)小于或等于第二預(yù)設(shè)長(zhǎng)度;所述第二預(yù)設(shè)長(zhǎng)度小于所述第一預(yù)設(shè)長(zhǎng)度,所述預(yù)設(shè)時(shí)間間隔小于所述第一類型測(cè)試事務(wù)的待測(cè)試寫(xiě)數(shù)據(jù)的傳輸時(shí)間;
34、死鎖確認(rèn)模塊,用于基于所述第一從設(shè)備和所述第二從設(shè)備接收的數(shù)據(jù),確定是否產(chǎn)生死鎖。
35、可選的,所述死鎖測(cè)試裝置,還包括:
36、順序表構(gòu)建模塊,用于構(gòu)建測(cè)試順序表,所述測(cè)試順序表用于指示不同主設(shè)備和從設(shè)備構(gòu)成的測(cè)試方案的測(cè)試順序,其中,不同測(cè)試方案中,主設(shè)備或從設(shè)備中的至少一設(shè)備為不同;
37、所述設(shè)備選取模塊,用于選取連接至總線架構(gòu)中2個(gè)主設(shè)備分別為第一主設(shè)備和第二主設(shè)備,選取連接在總線架構(gòu)中2個(gè)從設(shè)備分別為第一從設(shè)備和第二從設(shè)備,具體為,基于測(cè)試順序表中的順序,選取對(duì)應(yīng)測(cè)試方案中的主設(shè)備和從設(shè)備。
38、第三方面,本發(fā)明實(shí)施例提供一種芯片驗(yàn)證系統(tǒng),所述芯片驗(yàn)證系統(tǒng)被配置為執(zhí)行如上述第一方面所述的死鎖測(cè)試方法。
39、第四方面,本發(fā)明實(shí)施例提供一種計(jì)算機(jī)設(shè)備,包括至少一個(gè)存儲(chǔ)器和至少一個(gè)處理器;所述存儲(chǔ)器存儲(chǔ)一條或多條計(jì)算機(jī)可執(zhí)行指令,所述處理器調(diào)用所述一條或多條計(jì)算機(jī)可執(zhí)行指令,以執(zhí)行如上述第一方面所述的死鎖測(cè)試方法。
40、第五方面,本發(fā)明實(shí)施例提供一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)一條或多條計(jì)算機(jī)可執(zhí)行指令,所述一條或多條計(jì)算機(jī)可執(zhí)行指令用于執(zhí)行如上述第一方面所述的死鎖測(cè)試方法。
41、第六方面,本發(fā)明實(shí)施例提供一種計(jì)算機(jī)程序產(chǎn)品,包括一條或多條計(jì)算機(jī)可執(zhí)行指令,所述一條或多條計(jì)算機(jī)可執(zhí)行指令被執(zhí)行時(shí)實(shí)現(xiàn)如上述第一方面所述的死鎖測(cè)試方法。
42、本發(fā)明實(shí)施例提供了一種死鎖測(cè)試方法、裝置、系統(tǒng)及相關(guān)設(shè)備,所述方法用于測(cè)試待測(cè)設(shè)計(jì),其中,所述待測(cè)設(shè)計(jì)包括總線架構(gòu),以及,連接在總線架構(gòu)中的多個(gè)主設(shè)備和從設(shè)備;其中,所述方法包括:選取連接至總線架構(gòu)中2個(gè)主設(shè)備分別為第一主設(shè)備和第二主設(shè)備,選取連接在總線架構(gòu)中2個(gè)從設(shè)備分別為第一從設(shè)備和第二從設(shè)備;自第一主設(shè)備向第一從設(shè)備發(fā)送第一類型測(cè)試事務(wù),且自第二主設(shè)備向第二從設(shè)備發(fā)送第一類型測(cè)試事務(wù),其中,所述第一類型測(cè)試事務(wù)包括待測(cè)試寫(xiě)命令和待測(cè)試寫(xiě)數(shù)據(jù),且所述第一類型測(cè)試事務(wù)中的待測(cè)試寫(xiě)數(shù)據(jù)大于或等于第一預(yù)設(shè)長(zhǎng)度;在發(fā)送所述第一類型測(cè)試事務(wù)的預(yù)設(shè)時(shí)間間隔內(nèi),啟動(dòng)自第一主設(shè)備向第二從設(shè)備進(jìn)行第二類型測(cè)試事務(wù)的傳輸,且啟動(dòng)自第二主設(shè)備向第一從設(shè)備進(jìn)行第二類型測(cè)試事務(wù)的傳輸,其中,所述第二類型測(cè)試事務(wù)包括待測(cè)試寫(xiě)命令和待測(cè)試寫(xiě)數(shù)據(jù),且所述第二類型測(cè)試事務(wù)中的待測(cè)試寫(xiě)數(shù)據(jù)小于或等于第二預(yù)設(shè)長(zhǎng)度;所述第二預(yù)設(shè)長(zhǎng)度小于所述第一預(yù)設(shè)長(zhǎng)度,所述預(yù)設(shè)時(shí)間間隔小于所述第一類型測(cè)試事務(wù)的待測(cè)試寫(xiě)數(shù)據(jù)的傳輸時(shí)間;基于所述第一從設(shè)備和所述第二從設(shè)備接收的數(shù)據(jù),確定是否產(chǎn)生死鎖。
43、可以看出,本發(fā)明實(shí)施例中的死鎖測(cè)試方法,利用總線架構(gòu)中的2個(gè)主設(shè)備和2個(gè)從設(shè)備間進(jìn)行數(shù)據(jù)通信,模擬可能產(chǎn)生死鎖的場(chǎng)景,同時(shí),通過(guò)首先基于第一主設(shè)備至第一從設(shè)備的路徑和第二主設(shè)備至第二從設(shè)備的路徑分別發(fā)送待測(cè)試寫(xiě)數(shù)據(jù)較大的第一類型測(cè)試事務(wù),為在先數(shù)據(jù)傳輸提供較大的數(shù)據(jù)延遲以誘發(fā)死鎖,之后,在發(fā)送所述第一類型測(cè)試事務(wù)的預(yù)設(shè)時(shí)間間隔內(nèi),自第一主設(shè)備至第二從設(shè)備的路徑和第二主設(shè)備至第一從設(shè)備的路徑分別發(fā)送待測(cè)試寫(xiě)數(shù)據(jù)較小的第二類型測(cè)試事務(wù),其中,所述預(yù)設(shè)時(shí)間間隔小于所述第一類型測(cè)試事務(wù)的待測(cè)試寫(xiě)數(shù)據(jù)的傳輸時(shí)間,從而在較小的時(shí)間間隔內(nèi)發(fā)出待測(cè)試寫(xiě)數(shù)據(jù)較小的第二類型測(cè)試事務(wù),模擬可能出現(xiàn)在后命令先于在先命令到達(dá)從設(shè)備的場(chǎng)景,從而確定待測(cè)設(shè)計(jì)是否會(huì)產(chǎn)生死鎖,進(jìn)而在芯片設(shè)計(jì)階段確定總線架構(gòu)是否存在導(dǎo)致死鎖的缺陷,為在芯片設(shè)計(jì)階段排除死鎖缺陷提供支持。