本發(fā)明涉及軟件模擬,具體涉及一種通信基帶軟件模擬器的定時方法及系統(tǒng)。
背景技術(shù):
1、現(xiàn)代通信基帶芯片一般采用通用處理器+專用加速器的架構(gòu),其中,通用處理器(如arm/dsp等)上運行通信軟件,進行復(fù)雜的協(xié)議處理和多任務(wù)調(diào)度,并驅(qū)動各種加速器模塊進行數(shù)據(jù)運算;專用加速器就是一系列執(zhí)行特定信號/數(shù)據(jù)處理算法的asic模塊。為實現(xiàn)較好的開發(fā)效率,通常會采用一系列的模擬程序來對通信相關(guān)的軟件計算過程進行模擬。
2、比如,中國專利cn202210734464.x公開了一種軟件模擬5g移動網(wǎng)絡(luò)環(huán)境的裝置,包括:裝置橋接模塊,用于獲取業(yè)務(wù)軟件與服務(wù)器之間的連接串口,并基于所述連接串口橋接目標測試裝置;數(shù)據(jù)測試模塊,用于基于所述目標測試裝置測試所述業(yè)務(wù)軟件與所述服務(wù)器之間的5g通信網(wǎng)絡(luò)參數(shù);評估模塊,用于基于所述5g通信網(wǎng)絡(luò)參數(shù)對所述業(yè)務(wù)軟件的健壯性能進行評估,完成業(yè)務(wù)軟件在5g移動網(wǎng)絡(luò)中的模擬。通過在業(yè)務(wù)軟件與服務(wù)器之間橋接目標測試裝置,實現(xiàn)對5g移動網(wǎng)絡(luò)環(huán)境中的網(wǎng)絡(luò)參數(shù)進行高效準確的模擬,便于在不同情況下對業(yè)務(wù)軟件的健壯性能進行準確評估,大大縮短了檢測時間,提高了檢測效率,同時節(jié)省了大量的人力物力。
3、但是,在實際實施過程中,發(fā)明人發(fā)現(xiàn),該類模擬方案通常僅關(guān)注對軟件及系統(tǒng)部分的模擬,并未考慮到實機環(huán)境中軟件的運行過程可能與硬件加速器有關(guān),仿真效果不佳;同時,由于基帶類的軟件,其在運行中通常以槽位(slot)作為分隔點,而模擬器本身的效能與實機存在一定的差異,容易導(dǎo)致模擬時的時序出錯的問題。
技術(shù)實現(xiàn)思路
1、針對現(xiàn)有技術(shù)中存在的上述問題,現(xiàn)提供一種通信基帶軟件模擬器的定時方法及系統(tǒng)。
2、具體技術(shù)方案如下:
3、一種通信基帶軟件模擬器的定時方法,所述通信基帶軟件模擬器包括相互連接的通信軟件模擬模塊和算法加速器模擬模塊,當(dāng)所述通信軟件模擬模塊對通信程序進行仿真時,所述通信軟件模擬模塊還調(diào)用所述算法加速器模擬模塊對所述通信程序進行模擬計算;
4、所述定時方法包括:
5、步驟s1:當(dāng)所述通信軟件模擬模塊開始對所述通信程序進行仿真時,周期性產(chǎn)生對應(yīng)于所述通信程序的時間片;
6、步驟s2:當(dāng)接收到所述時間片時,判斷所述通信軟件模擬模塊和所述算法加速器模擬模塊是否均完成了仿真任務(wù);
7、若是,轉(zhuǎn)向步驟s3;
8、若否,舍棄當(dāng)前的所述時間片,隨后返回所述步驟s1以接收下一個所述時間片;
9、步驟s3:當(dāng)所有的所述仿真任務(wù)完成時,切換至下一個槽位,隨后返回所述步驟s1并配置新的所述仿真任務(wù)。
10、另一方面,于執(zhí)行所述步驟s1之后,還包括:
11、步驟a11:所述通信軟件模擬模塊向所述算法加速器模擬模塊發(fā)送待運算任務(wù)和所述時間片;
12、步驟a12:所述算法加速器模擬模塊對所述待運算任務(wù)進行計算,并采用所述時間片產(chǎn)生定時;
13、步驟a13:在完成所述待運算任務(wù)后,所述算法加速器模擬模塊產(chǎn)生加速器任務(wù)完成信號;
14、所述步驟s2中,采用所述加速器任務(wù)完成信號判斷所述算法加速器模擬模塊是否完成了所述仿真任務(wù)。
15、另一方面,所述步驟s1包括:
16、步驟s11:當(dāng)確認所述通信軟件模擬模塊接收到所述通信程序并開始仿真后,針對當(dāng)前的所述仿真任務(wù)建立周期性定時器;
17、步驟s12:采用所述周期性定時器產(chǎn)生所述時間片;
18、步驟s13:所述通信軟件模擬模塊基于所述時間片進行仿真。
19、另一方面,所述步驟s2包括:
20、步驟s21:當(dāng)接收到所述時間片時,判斷所述通信軟件模擬模塊是否完成了當(dāng)前的所述仿真任務(wù);
21、若是,轉(zhuǎn)向步驟s22;
22、若否,轉(zhuǎn)向步驟s23;
23、步驟s22:判斷所述算法加速器模擬模塊是否完成了當(dāng)前的所述仿真任務(wù);
24、若是,轉(zhuǎn)向所述步驟s3;
25、若否,轉(zhuǎn)向步驟s23;
26、步驟s23:舍棄當(dāng)前的所述時間片,隨后返回所述步驟s1以接收下一個所述時間片。
27、另一方面,所述步驟s3包括:
28、步驟s31:判斷當(dāng)前槽位中的所有所述仿真任務(wù)是否執(zhí)行完成;
29、若是,轉(zhuǎn)向步驟s32;
30、若否,等待所述仿真任務(wù)執(zhí)行完成后轉(zhuǎn)向所述步驟s32;
31、步驟s32:切換至下一個槽位,隨后返回所述步驟s1并配置新的所述仿真任務(wù)。
32、一種通信基帶軟件模擬器的定時系統(tǒng),用于實施上述的定時方法,包括:
33、時間片產(chǎn)生模塊,當(dāng)所述通信軟件模擬模塊開始對所述通信程序進行仿真時,所述時間片產(chǎn)生模塊周期性產(chǎn)生對應(yīng)于所述通信程序的時間片;
34、判別模塊,當(dāng)接收到所述時間片時,所述判斷所述通信軟件模擬模塊和所述算法加速器模擬模塊是否均完成了仿真任務(wù);
35、所述判別模塊在未完成所述仿真任務(wù)時,舍棄當(dāng)前的所述時間片;
36、槽位切換模塊,當(dāng)所有的所述仿真任務(wù)完成時,所述槽位切換模塊切換至下一個槽位,并配置新的所述仿真任務(wù)。
37、另一方面,還包括加速器調(diào)度模塊,所述加速器調(diào)度模塊包括:
38、信息接收模塊,所述信息接收模塊接收所述通信軟件模擬模塊向所述算法加速器模擬模塊發(fā)送待運算任務(wù)和所述時間片;
39、處理模塊,所述處理模塊對所述待運算任務(wù)進行計算,并采用所述時間片產(chǎn)生定時;
40、信號輸出模塊,所述信號輸出模塊在完成所述待運算任務(wù)后,所述算法加速器模擬模塊產(chǎn)生加速器任務(wù)完成信號;
41、所述判別模塊采用所述加速器任務(wù)完成信號判斷所述算法加速器模擬模塊是否完成了所述仿真任務(wù)。
42、另一方面,所述時間片產(chǎn)生模塊包括:
43、定時模塊,當(dāng)確認所述通信軟件模擬模塊接收到所述通信程序并開始仿真后,所述定時模塊針對當(dāng)前的所述仿真任務(wù)建立周期性定時器;
44、生成模塊,所述生成模塊采用所述周期性定時器產(chǎn)生所述時間片;
45、仿真控制模塊,所述仿真控制模塊控制所述通信軟件模擬模塊基于所述時間片進行仿真。
46、另一方面,所述判別模塊包括:
47、第一判別模塊,當(dāng)接收到所述時間片時,所述第一判別模塊判斷所述通信軟件模擬模塊是否完成了當(dāng)前的所述仿真任務(wù);
48、第二判別模塊,所述第二判別模塊判斷所述算法加速器模擬模塊是否完成了當(dāng)前的所述仿真任務(wù);
49、判別輸出模塊,所述判別輸出模塊依照所述第一判別模塊和所述第二判別模塊的輸出結(jié)果選擇切換下一個槽位或舍棄所述時間片。
50、另一方面,所述槽位切換模塊包括:
51、仿真任務(wù)判斷模塊,所述仿真任務(wù)判斷模塊判斷當(dāng)前槽位中的所有所述仿真任務(wù)是否執(zhí)行完成;
52、切換模塊,所述切換模塊在所述仿真任務(wù)執(zhí)行完成時切換至下一個槽位并配置新的所述仿真任務(wù)。
53、上述技術(shù)方案具有如下優(yōu)點或有益效果:
54、針對現(xiàn)有技術(shù)中的模擬軟件未考慮對加速器進行模擬,容易在實機環(huán)境中出錯,特別是槽位無法有效對齊的問題,本方案中,在模擬過程中增加了對算法加速器的模擬過程,同時,在通信軟件模擬模塊進行模擬的過程中,產(chǎn)生對應(yīng)的時間片(tick)并判別實際的仿真任務(wù)的執(zhí)行情況。一般而言,一組時間片對應(yīng)于一組槽位(slot),而由于模擬環(huán)境中的效能限制,在預(yù)定產(chǎn)生時間片的位置上,當(dāng)前槽位的任務(wù)可能尚未完成,這導(dǎo)致了整體仿真流程時序偏移,以及多個模擬模塊間時序不同步的問題。對此,通過加入額外的任務(wù)檢查步驟,并在任務(wù)尚未完成時舍棄對應(yīng)的時間片,實現(xiàn)了對槽位的實際時間的動態(tài)調(diào)節(jié),便于后續(xù)的各任務(wù)對齊。