本發(fā)明涉及集成電路,特別涉及一種時鐘模擬方法、裝置、設(shè)備及介質(zhì)。
背景技術(shù):
1、隨著集成電路技術(shù)的不斷發(fā)展迭代,芯片處理處理數(shù)據(jù)和任務(wù)的能力不斷增強(qiáng),其功能和結(jié)構(gòu)也變得越來越復(fù)雜,芯片功耗也會急劇增加。在這種背景下,利用傳統(tǒng)前端驗證方法進(jìn)行驗證需要消耗大量計算資源和設(shè)計,并且很難覆蓋所有的使用場景,無法完全保證asic(application?specific?integrated?circuit,專用集成電路)設(shè)計的有效性和滿足相應(yīng)驅(qū)動軟件協(xié)同開發(fā)的需求。
2、為了解決上述問題,fpga(field?programmable?gate?array,現(xiàn)場可編程門陣列)原型驗證平臺應(yīng)運(yùn)而生。fpga原型驗證平臺通過在fpga上模擬asic設(shè)計的硬件環(huán)境,幫助設(shè)計人員驗證芯片的功能和性能,并為軟件開發(fā)人員提供真實(shí)的物理平臺。原型驗證平臺可以作為真實(shí)物理平臺,通過壓力測試驗證大量數(shù)據(jù)交互下,跨時鐘域處理的有效性和穩(wěn)健性,來模擬更加真實(shí)的使用場景。然而原始時鐘中的頻率選擇模塊往往會驅(qū)動很多帶門控時鐘的子模塊,如果對這些模塊全部進(jìn)行多種頻率下的時序分析會導(dǎo)致時序收斂異常困難。因此,為了便于時序收斂,當(dāng)前的fpga原型驗證平臺通常會對原始設(shè)計中的復(fù)雜時鐘結(jié)構(gòu)進(jìn)行簡化,導(dǎo)致無法驗證在不同頻率組合下跨時鐘域傳輸?shù)挠行?。此外,多?shù)場景下,用戶只關(guān)心那些需要進(jìn)行大量數(shù)據(jù)交互的異步模塊之間的跨時鐘域數(shù)據(jù)傳輸是否可靠,而并不需要過分關(guān)注其他模塊。
3、綜上,如何在fpga原型驗證平臺中實(shí)現(xiàn)不同場景下的時鐘模擬,并驗證跨時鐘域傳輸?shù)姆€(wěn)健性是目前有待解決的問題。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明的目的在于提供一種時鐘模擬方法、裝置、設(shè)備及介質(zhì),能夠在fpga原型驗證平臺中實(shí)現(xiàn)不同場景下的時鐘模擬,并驗證跨時鐘域傳輸?shù)姆€(wěn)健性。其具體方案如下:
2、第一方面,本技術(shù)公開了一種時鐘模擬方法,應(yīng)用于原型驗證平臺,包括:
3、對與寄存器傳輸級電路對應(yīng)的原始設(shè)計文件進(jìn)行解析,以得到被例化時鐘模塊的文件拓?fù)湫畔?;文件拓?fù)湫畔ㄎ募恢煤蛯哟谓Y(jié)構(gòu)信息;
4、確定用戶端從被例化時鐘模塊中選擇的待調(diào)整時鐘模塊,并獲取用戶端輸入的時鐘配置信息,以根據(jù)時鐘配置信息生成時鐘約束文件;
5、基于文件拓?fù)湫畔⒃荚O(shè)計文件中的待調(diào)整時鐘模塊替換為與時鐘配置信息對應(yīng)的目標(biāo)時鐘模塊,以得到更新后設(shè)計文件;
6、將時鐘約束文件和更新后設(shè)計文件輸入至預(yù)設(shè)的原型開發(fā)工具,以利用原型開發(fā)工具完成時序分析后輸出時序報告。
7、可選的,利用原型開發(fā)工具完成時序分析后輸出時序報告,包括:
8、利用原型開發(fā)工具基于更新后設(shè)計文件確定各邏輯單元在芯片上的物理位置,并進(jìn)行布局布線操作,以得到布局布線后的設(shè)計文件;
9、加載布局布線后的設(shè)計文件和時鐘約束文件,并遍歷電路中的各時序路徑,以計算信號在各時序路徑上的傳播延時;
10、基于各傳播延時判斷時序是否收斂,以基于判斷結(jié)果生成并輸出時序報告。
11、可選的,利用原型開發(fā)工具完成時序分析后輸出時序報告之后,還包括:
12、基于時序報告判斷當(dāng)前是否滿足預(yù)設(shè)測試時序要求;其中,預(yù)設(shè)測試時序要求為與時鐘配置信息對應(yīng)的要求;
13、若不滿足預(yù)設(shè)測試時序要求,則重新跳轉(zhuǎn)至利用原型開發(fā)工具基于更新后設(shè)計文件確定各邏輯單元在芯片上的物理位置,并進(jìn)行布局布線操作的步驟,或者重新獲取用戶端輸入的新的時鐘配置信息,以跳轉(zhuǎn)至根據(jù)時鐘配置信息生成時鐘約束文件的步驟,直到滿足預(yù)設(shè)測試時序要求。
14、可選的,在判定當(dāng)前滿足預(yù)設(shè)測試時序要求之后,還包括:
15、獲取目標(biāo)主機(jī)通過預(yù)設(shè)串口發(fā)送的目標(biāo)指令,以基于目標(biāo)指令控制目標(biāo)時鐘模塊;其中,目標(biāo)指令包括用于識別指令的頭部信息和尾部信息,用于確定是否啟用目標(biāo)時鐘模塊的命令信息,用于控制目標(biāo)時鐘模塊中的計數(shù)器的參數(shù)信息。
16、可選的,根據(jù)時鐘配置信息生成時鐘約束文件,包括:
17、讀取時鐘配置信息中的配置參數(shù),并確定預(yù)設(shè)的約束文件格式;其中,配置參數(shù)包括時鐘頻率、時鐘來源、占空比、時鐘間隔周期、時鐘抖動和時鐘偏移中的任意一種或幾種參數(shù);
18、基于配置參數(shù)和約束文件格式生成時鐘約束文件。
19、可選的,獲取用戶端輸入的時鐘配置信息,包括:
20、獲取用戶端輸入的攜帶有不同占空比的時鐘信號的時鐘配置信息;
21、和/或,獲取用戶端輸入的攜帶有帶抖動的時鐘信號的時鐘配置信息;
22、和/或,獲取用戶端輸入的攜帶有時鐘間隔周期可變的時鐘信號的時鐘配置信息。
23、可選的,基于文件拓?fù)湫畔⒃荚O(shè)計文件中的待調(diào)整時鐘模塊替換為與時鐘配置信息對應(yīng)的目標(biāo)時鐘模塊,以得到更新后設(shè)計文件,包括:
24、基于文件拓?fù)湫畔脑荚O(shè)計文件中定位出待調(diào)整時鐘模塊;
25、將待調(diào)整時鐘模塊中的原始工藝庫等效行為模型替換為與時鐘配置信息對應(yīng)的目標(biāo)時鐘模塊;其中,目標(biāo)時鐘模塊中內(nèi)置有目標(biāo)工藝庫等效行為模型、用戶期望時鐘產(chǎn)生模塊和時鐘切換與使能模塊;工藝庫等效行為模型為對工藝庫中各種標(biāo)準(zhǔn)單元在電路中行為的抽象描述,標(biāo)準(zhǔn)單元包括邏輯門單元和觸發(fā)器單元;目標(biāo)工藝庫等效行為模型與原始工藝庫等效行為模型的功能等效;用戶期望時鐘產(chǎn)生模塊用于根據(jù)用戶端輸入的時鐘配置信息生成對應(yīng)的時鐘信號,時鐘切換與使能模塊用于防止時鐘切換時產(chǎn)生毛刺并控制時鐘的開關(guān);
26、為目標(biāo)時鐘模塊分配地址信息,并在原始設(shè)計文件的層次結(jié)構(gòu)頂層生成控制模塊,以便控制模塊通過層次化調(diào)用并基于地址信息控制目標(biāo)時鐘模塊;
27、獲取包括目標(biāo)時鐘模塊和控制模塊的更新后設(shè)計文件。
28、第二方面,本技術(shù)公開了一種時鐘模擬裝置,應(yīng)用于原型驗證平臺,包括:
29、解析模塊,用于對與寄存器傳輸級電路對應(yīng)的原始設(shè)計文件進(jìn)行解析,以得到被例化時鐘模塊的文件拓?fù)湫畔ⅲ晃募負(fù)湫畔ㄎ募恢煤蛯哟谓Y(jié)構(gòu)信息;
30、文件生成模塊,用于確定用戶端從被例化時鐘模塊中選擇的待調(diào)整時鐘模塊,并獲取用戶端輸入的時鐘配置信息,以根據(jù)時鐘配置信息生成時鐘約束文件;
31、替換模塊,用于基于文件拓?fù)湫畔⒃荚O(shè)計文件中的待調(diào)整時鐘模塊替換為與時鐘配置信息對應(yīng)的目標(biāo)時鐘模塊,以得到更新后設(shè)計文件;
32、報告獲取模塊,用于將時鐘約束文件和更新后設(shè)計文件輸入至預(yù)設(shè)的原型開發(fā)工具,以利用原型開發(fā)工具完成時序分析后輸出時序報告。
33、第三方面,本技術(shù)公開了一種電子設(shè)備,包括:
34、存儲器,用于保存計算機(jī)程序;
35、處理器,用于執(zhí)行計算機(jī)程序,以實(shí)現(xiàn)前述公開的時鐘模擬方法的步驟。
36、第四方面,本技術(shù)公開了一種計算機(jī)可讀存儲介質(zhì),用于存儲計算機(jī)程序;其中,計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)前述公開的時鐘模擬方法的步驟。
37、可見,本技術(shù)通過原型驗證平臺對與寄存器傳輸級電路對應(yīng)的原始設(shè)計文件進(jìn)行解析,以得到被例化時鐘模塊的文件拓?fù)湫畔?;文件拓?fù)湫畔ㄎ募恢煤蛯哟谓Y(jié)構(gòu)信息;確定用戶端從被例化時鐘模塊中選擇的待調(diào)整時鐘模塊,并獲取用戶端輸入的時鐘配置信息,以根據(jù)時鐘配置信息生成時鐘約束文件;基于文件拓?fù)湫畔⒃荚O(shè)計文件中的待調(diào)整時鐘模塊替換為與時鐘配置信息對應(yīng)的目標(biāo)時鐘模塊,以得到更新后設(shè)計文件;將時鐘約束文件和更新后設(shè)計文件輸入至預(yù)設(shè)的原型開發(fā)工具,以利用原型開發(fā)工具完成時序分析后輸出時序報告。
38、有益效果:本技術(shù)首先對與寄存器傳輸級電路對應(yīng)的原始設(shè)計文件進(jìn)行解析,以得到被例化時鐘模塊的文件拓?fù)湫畔ⅲ唧w可以包括文件位置和層次結(jié)構(gòu)信息,以便后續(xù)能夠準(zhǔn)確定位和操作設(shè)計中的時鐘模塊。本技術(shù)還可以確定用戶端從被例化時鐘模塊中選擇的待調(diào)整時鐘模塊,并獲取用戶端輸入的時鐘配置信息,也即本技術(shù)允許用戶自定義時鐘配置,后續(xù)可以僅對用戶選擇且配置的時鐘模塊進(jìn)行測試,以滿足不同測試場景的需求。此外,本技術(shù)還會根據(jù)時鐘配置信息生成時鐘約束文件,通過生成時鐘約束文件,確保設(shè)計在硬件實(shí)現(xiàn)中滿足時序要求,以便通過時序分析驗證跨時鐘域傳輸?shù)目煽啃?。進(jìn)一步的,本技術(shù)基于文件拓?fù)湫畔⒃荚O(shè)計文件中的待調(diào)整時鐘模塊替換為與時鐘配置信息對應(yīng)的目標(biāo)時鐘模塊,得到更新后設(shè)計文件。通過替換時鐘模塊,能夠模擬一些異常情況下的時鐘情況。最后將時鐘約束文件和更新后設(shè)計文件輸入至預(yù)設(shè)的原型開發(fā)工具,以利用原型開發(fā)工具完成時序分析后輸出時序報告。如此一來,本技術(shù)能夠按照用戶需要僅修改需要測試的時鐘模塊的時鐘配置,從而減少時序收斂難度,能夠用于驗證代碼的穩(wěn)健性和性能瓶頸,此外也可生成各種不穩(wěn)定的異常時鐘,用來滿足一些特殊場景下的測試需求。