本發(fā)明涉及計算機,尤其涉及一種usart和dma的聯(lián)合驗證方法、裝置、設(shè)備和介質(zhì)。
背景技術(shù):
1、隨著半導(dǎo)體技術(shù)的不斷進步和集成電路復(fù)雜度的日益提升,系統(tǒng)級驗證已成為確保數(shù)字系統(tǒng)正確性和穩(wěn)定性的關(guān)鍵環(huán)節(jié)。在數(shù)字系統(tǒng)中,通用同步/異步收發(fā)傳輸器(universal?synchronous/asynchronous?receiver/transmitter,usart)和直接存儲器訪問(direct?memory?access,dma)是兩個重要的功能模塊。其中,usart負責數(shù)據(jù)的串行通信,支持同步和異步兩種通信模式,廣泛應(yīng)用于各種通信接口。dma負責在中央處理器(central?processing?unit,cpu)不參與的情況下,實現(xiàn)內(nèi)存與外部設(shè)備之間的快速數(shù)據(jù)傳輸,大大提高了系統(tǒng)的數(shù)據(jù)傳輸效率。
2、在系統(tǒng)級驗證中,傳統(tǒng)的驗證方法往往難以應(yīng)對復(fù)雜系統(tǒng)的驗證需求,因此急需提供一種驗證方法,能夠在系統(tǒng)級上進行usart和dma的聯(lián)合驗證,驗證usart和dma中各個模塊的功能以及usart和dma之間的交互。
技術(shù)實現(xiàn)思路
1、為了解決上述技術(shù)問題,本公開實施例提供了一種usart和dma的聯(lián)合驗證方法、裝置、設(shè)備和介質(zhì)。
2、第一方面,本公開實施例提供了usart和dma的聯(lián)合驗證方法,應(yīng)用于包括驗證環(huán)境組件和待測試設(shè)計的驗證平臺,其中,待測試設(shè)計包括存儲器、多個dma和多個usart,方法包括:
3、通過多個dma中的第一dma從存儲器中讀取待發(fā)送的第一數(shù)據(jù),并基于第一dma中預(yù)先配置好的用于數(shù)據(jù)發(fā)送的第一通道將第一數(shù)據(jù)傳輸給多個usart中的第一usart;
4、利用驗證環(huán)境組件建立第一usart同多個usart中的第二usart的傳輸連接,以將第二數(shù)據(jù)傳輸給第二usart;其中,第二數(shù)據(jù)是根據(jù)第一數(shù)據(jù)得到的;
5、基于第二通道將第二usart中的第二數(shù)據(jù)傳輸給多個dma中的第二dma,以使第二dma將第二數(shù)據(jù)寫入存儲器中;其中,第二通道是第二dma中預(yù)先配置好的用于數(shù)據(jù)接收的通道;
6、通過驗證環(huán)境組件將第一數(shù)據(jù)和第二數(shù)據(jù)進行比對,生成驗證結(jié)果。
7、其中驗證環(huán)境組件包括接口組件和驅(qū)動組件,其中,接口組件中預(yù)先定義有多個接口,多個接口同對應(yīng)的多個端口一一連接,多個端口是指多個usart的端口,多個接口包括發(fā)送接口和接收接口,驅(qū)動組件用于將發(fā)送接口和接收接口連接。
8、可選的,利用驗證環(huán)境組件建立第一usart同多個usart中的第二usart的傳輸連接,包括:
9、利用驅(qū)動組件建立第一發(fā)送接口同第一接收接口的傳輸連接;其中,第一發(fā)送接口同第一usart的第一發(fā)送端口對應(yīng),第一接收接口同多個usart中第二usart的第一接收端口對應(yīng),多個接口包括第一發(fā)送接口和第一接收接口。
10、可選的,利用驅(qū)動組件建立第一發(fā)送接口同第一接收接口的傳輸連接,包括:
11、獲取反映了驗證功能和/或驗證時機的驗證需求;
12、根據(jù)驗證需要確定第一發(fā)送接口同第一接收接口待建立傳輸連接的目標時刻;
13、利用驅(qū)動組件在目標時刻建立第一發(fā)送接口同第一接收接口的傳輸連接。
14、可選的,通過多個dma中的第一dma從存儲器中讀取待發(fā)送的第一數(shù)據(jù)之前,方法還包括:
15、對多個dma進行寄存器配置,以使多個dma中的至少一個dma包括的用于數(shù)據(jù)傳輸?shù)亩鄠€通道與多個usart中的至少一個usart進行傳輸連接;其中,寄存器配置包括通道選擇、傳輸方向、傳輸模式和數(shù)據(jù)寬度中的至少一種設(shè)置;
16、對存儲器進行讀寫配置,以使存儲器可通過預(yù)設(shè)語言向內(nèi)寫入數(shù)據(jù)以及可通過預(yù)設(shè)語言從中讀取數(shù)據(jù)。
17、可選的,驗證環(huán)境組件包括監(jiān)測組件、參考模型和計分板組件,通過驗證環(huán)境組件將第一數(shù)據(jù)和第二數(shù)據(jù)進行比對,生成驗證結(jié)果,包括:
18、通過監(jiān)測組件接收通過預(yù)設(shè)語言從存儲器中讀取的第二數(shù)據(jù),并將其傳輸?shù)接嫹职褰M件作為實際數(shù)據(jù);
19、通過參考模型讀取配置文件的內(nèi)容,并將讀取到的內(nèi)容傳輸?shù)接嫹职褰M件作為期望數(shù)據(jù);其中,配置文件的內(nèi)容是通過提取預(yù)設(shè)語言的激勵數(shù)據(jù)產(chǎn)生的,配置文件的內(nèi)容包括寄存器配置以及將激勵數(shù)據(jù)寫入存儲器得到的第一數(shù)據(jù);
20、通過計分板組件將實際數(shù)據(jù)和期望數(shù)據(jù)進行比對,生成驗證結(jié)果。
21、可選的,通過多個dma中的第一dma從存儲器中讀取待發(fā)送的第一數(shù)據(jù)之前,方法還包括:
22、根據(jù)驗證需求設(shè)置多個dma和多個usart之間的驗證組合,以在驗證組合下進行usart和dma的聯(lián)合驗證;其中,驗證組合包括第一種組合、第二種組合、第三種組合和第四種組合,其中:
23、第一種組合是指第一dma和第二dma為同一dma,且第一usart和第二usart為不同usart;
24、第二種組合是指第一dma和第二dma為同一dma,且第一usart和第二usart為同一usart;
25、第三種組合是指第一dma和第二dma為不同dma,且第一usart和第二usart為不同usart;
26、第四種組合是指第一dma和第二dma為不同dma,且第一usart和第二usart為同一usart。
27、可選的,在多個dma均要從存儲器中讀取數(shù)據(jù)和/或向存儲器中寫入數(shù)據(jù)的情況下,方法還包括:
28、獲取多個dma中各dma預(yù)先設(shè)定的第一優(yōu)先級;
29、通過多個dma中的第一dma從存儲器中讀取待發(fā)送的第一數(shù)據(jù),包括:
30、通過第一dma,按照第一優(yōu)先級從存儲器中讀取第一數(shù)據(jù);
31、第二dma將第二數(shù)據(jù)寫入存儲器中,包括:
32、第二dma按照第一優(yōu)先級,將第二數(shù)據(jù)寫入存儲器中。
33、可選的,第一dma包括預(yù)先配置好的用于數(shù)據(jù)發(fā)送的多個發(fā)送通道,在第一dma通過多個發(fā)送通道向至少兩個usart傳輸數(shù)據(jù)的情況下,基于第一dma中預(yù)先配置好的用于數(shù)據(jù)發(fā)送的第一通道將第一數(shù)據(jù)傳輸給多個usart中的第一usart,包括:
34、獲取多個發(fā)送通道中各發(fā)送通道預(yù)先設(shè)定的第二優(yōu)先級;
35、按照第二優(yōu)先級,基于第一通道將第一數(shù)據(jù)傳輸給第一usart;其中,多個發(fā)送通道包括第一通道,至少兩個usart包括第一usart。
36、可選的,第二dma包括多個接收通道,在至少兩個usart要通過多個接收通道向第二dma傳輸數(shù)據(jù)的情況下,基于第二通道將第二usart中的第二數(shù)據(jù)傳輸給多個dma中的第二dma,包括:
37、獲取多個接收通道中各接收通道預(yù)先設(shè)定的第三優(yōu)先級;
38、按照第三優(yōu)先級,基于第二通道將第二usart中的所屬第二數(shù)據(jù)傳輸給第二dma;其中,多個接收通道包括第二通道,至少兩個usart包括第二usart。
39、第二方面,本公開實施例提供了一種usart和dma的聯(lián)合驗證裝置,應(yīng)用于包括驗證環(huán)境組件和待測試設(shè)計的驗證平臺,其中,待測試設(shè)計包括存儲器、多個dma和多個usart,裝置包括:
40、第一傳輸單元,用于通過多個dma中的第一dma從存儲器中讀取待發(fā)送的第一數(shù)據(jù),并基于第一dma中預(yù)先配置好的用于數(shù)據(jù)發(fā)送的第一通道將第一數(shù)據(jù)傳輸給多個usart中的第一usart;
41、連接建立單元,用于利用驗證環(huán)境組件建立第一usart同多個usart中的第二usart的傳輸連接,以將第二數(shù)據(jù)傳輸給第二usart;其中,第二數(shù)據(jù)是根據(jù)第一數(shù)據(jù)得到的;
42、第二傳輸單元,用于基于第二通道將第二usart中的第二數(shù)據(jù)傳輸給多個dma中的第二dma,以使第二dma將第二數(shù)據(jù)寫入存儲器中;其中,第二通道是第二dma中預(yù)先配置好的用于數(shù)據(jù)接收的通道;
43、驗證單元,用于通過驗證環(huán)境組件將第一數(shù)據(jù)和第二數(shù)據(jù)進行比對,生成驗證結(jié)果。
44、第三方面,本公開實施例提供了一種電子設(shè)備,包括:
45、存儲器;
46、處理器;以及
47、計算機程序;
48、其中,計算機程序存儲在存儲器中,并被配置為由處理器執(zhí)行以實現(xiàn)如上述的第一方面的方法。
49、第四方面,本公開實施例提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,計算機程序被處理器執(zhí)行時實現(xiàn)如第一方面方法的步驟。
50、本公開提供的usart和dma的聯(lián)合驗證方法,應(yīng)用于包括驗證環(huán)境組件和待測試設(shè)計的驗證平臺,其中,待測試設(shè)計包括存儲器、多個dma和多個usart,方法包括:通過多個dma中的第一dma從存儲器中讀取待發(fā)送的第一數(shù)據(jù),并基于第一dma中預(yù)先配置好的用于數(shù)據(jù)發(fā)送的第一通道將第一數(shù)據(jù)傳輸給多個usart中的第一usart;利用驗證環(huán)境組件建立第一usart同多個usart中的第二usart的傳輸連接,以將第二數(shù)據(jù)傳輸給第二usart;其中,第二數(shù)據(jù)是根據(jù)第一數(shù)據(jù)得到的;基于第二通道將第二usart中的第二數(shù)據(jù)傳輸給多個dma中的第二dma,以使第二dma將第二數(shù)據(jù)寫入存儲器中;其中,第二通道是第二dma中預(yù)先配置好的用于數(shù)據(jù)接收的通道;通過驗證環(huán)境組件將第一數(shù)據(jù)和第二數(shù)據(jù)進行比對,生成驗證結(jié)果。本技術(shù)提供的方法,在系統(tǒng)級上進行了多個usart和多個dma的聯(lián)合驗證,保證了系統(tǒng)級驗證的正確性和穩(wěn)定性的同時,還提高了驗證效率。