本發(fā)明涉及芯片,特別是涉及一種芯片功耗計算方法、計算設(shè)備及計算機可讀存儲介質(zhì)。
背景技術(shù):
1、在寄存器傳輸級(rtl,register?transfer?level)電路設(shè)計中,芯片設(shè)計師為了描述數(shù)字電路系統(tǒng)的功能和行為,會將高層次的功能描述轉(zhuǎn)換為低層次的硬件邏輯表示。在這個過程中,由于rtl電路設(shè)計只負責(zé)描述功能和行為,包括各種邏輯單元和寄存器等器件,這些器件需要被時鐘信號同步,從而確保它們在正確的時刻被驅(qū)動運行。因此,在rtl電路設(shè)計中,時鐘端口和一些寄存器的輸出端口可能會同時驅(qū)動大量的器件。而一個端口同時驅(qū)動太多器件,可能會導(dǎo)致出現(xiàn)時序混亂、信號延遲、功耗增加、噪聲和抖動等問題。
2、在模擬綜合階段,綜合工具會根據(jù)rtl描述生成更底層的門級電路表示,在此過程中,綜合工具會優(yōu)化電路結(jié)構(gòu),合并邏輯單元和優(yōu)化時鐘網(wǎng)絡(luò)來減少冗余邏輯、優(yōu)化時鐘分配,從而解決端口負載過大的問題。
3、然而,上述方式會導(dǎo)致rtl電路設(shè)計在模擬綜合前后,功耗分析得到的結(jié)果存在差異,使得研發(fā)人員在rtl設(shè)計、模擬綜合階段需要花費更多的時間和精力去調(diào)整芯片設(shè)計,從而浪費計算資源,降低芯片設(shè)計效率。
技術(shù)實現(xiàn)思路
1、本申請的目的在于提供一種芯片功耗計算方法、計算設(shè)備及計算機可讀存儲介質(zhì),以至少解決相關(guān)技術(shù)中的問題。
2、為達到上述目的:
3、第一方面,本申請實施例提供了一種芯片功耗計算方法,所述方法包括:
4、獲取芯片的寄存器傳輸級網(wǎng)表中至少一個目標(biāo)器件的輸出端口對應(yīng)的負載信息;
5、根據(jù)所述負載信息,創(chuàng)建與所述輸出端口對應(yīng)的具有均衡負載的目標(biāo)中間級網(wǎng)表;
6、根據(jù)所述目標(biāo)中間級網(wǎng)表對所述寄存器傳輸級網(wǎng)表進行擴充;
7、基于擴充后的所述寄存器傳輸級網(wǎng)表計算所述芯片的功耗。
8、在一實施方式中,所述創(chuàng)建與所述輸出端口對應(yīng)的具有均衡負載的目標(biāo)中間級網(wǎng)表,包括:
9、創(chuàng)建樹形結(jié)構(gòu)的所述目標(biāo)中間級網(wǎng)表;
10、所述目標(biāo)中間級網(wǎng)表包括所述樹形結(jié)構(gòu)的至少一級節(jié)點,以及所述節(jié)點與所述輸出端口、所述負載之間的連接關(guān)系。
11、在一實施方式中,所述負載信息包括負載數(shù)量;所述創(chuàng)建樹形結(jié)構(gòu)的所述目標(biāo)中間級網(wǎng)表,包括:
12、獲取單個與負載連接的節(jié)點可連接的負載數(shù)量;
13、根據(jù)所述輸出端口對應(yīng)的負載數(shù)量和所述單個與負載連接的節(jié)點可連接的負載數(shù)量,確定所述中間級網(wǎng)表中與所述負載連接的節(jié)點的數(shù)量。
14、在一實施方式中,在所述目標(biāo)中間級網(wǎng)表包括多級節(jié)點時,所述創(chuàng)建樹形結(jié)構(gòu)的所述目標(biāo)中間級網(wǎng)表,還包括:
15、獲取各級節(jié)點中單個節(jié)點可連接的下一級節(jié)點的數(shù)量;
16、根據(jù)所述目標(biāo)中間級網(wǎng)表的各級節(jié)點中單個節(jié)點可連接的下一級節(jié)點的數(shù)量以及各級節(jié)點的下一級節(jié)點的數(shù)量,確定所述目標(biāo)中間級網(wǎng)表中每一級節(jié)點的數(shù)量。
17、在一實施方式中,所述根據(jù)所述負載信息,創(chuàng)建與所述輸出端口對應(yīng)的具有均衡負載的目標(biāo)中間級網(wǎng)表之前,還包括:
18、檢測所述輸出端口對應(yīng)的負載數(shù)量是否大于或等于預(yù)設(shè)數(shù)量閾值;
19、若是,則執(zhí)行根據(jù)所述負載信息,創(chuàng)建與所述輸出端口對應(yīng)的具有均衡負載的目標(biāo)中間級網(wǎng)表的步驟。
20、在一實施方式中,所述獲取單個與負載連接的節(jié)點可連接的負載數(shù)量,包括:
21、響應(yīng)于接收到的輸入信息,確定與負載連接的節(jié)點可連接的負載數(shù)量和/或所述各級節(jié)點中單個節(jié)點可連接下一級節(jié)點的數(shù)量。
22、在一實施方式中,所述根據(jù)所述目標(biāo)中間級網(wǎng)表對所述寄存器傳輸級網(wǎng)表進行擴充,包括:
23、將所述寄存器傳輸級網(wǎng)表中所述輸出端口與所述負載連接的節(jié)點替換為所述目標(biāo)中間級網(wǎng)表,使得所述輸出端口連接到所述目標(biāo)中間級網(wǎng)表的第一級節(jié)點且所述負載連接到所述目標(biāo)中間級網(wǎng)表的最后一級節(jié)點。
24、在一實施方式中,所述根據(jù)所述目標(biāo)中間級網(wǎng)表對所述寄存器傳輸級網(wǎng)表進行擴充,包括:
25、將所述寄存器傳輸級網(wǎng)表中所述輸出端口與所述負載連接的節(jié)點上添加第一預(yù)設(shè)標(biāo)記,所述第一預(yù)設(shè)標(biāo)記用于指示所述輸出端口連接的所述目標(biāo)中間級網(wǎng)表的第一級節(jié)點;
26、將所述目標(biāo)中間級網(wǎng)表的最后一級節(jié)點上添加第二預(yù)設(shè)標(biāo)記,所述第二預(yù)設(shè)標(biāo)記用于指示所述最后一級節(jié)點連接的所述負載;根據(jù)第一預(yù)設(shè)標(biāo)記和第二預(yù)設(shè)標(biāo)記將所述目標(biāo)中間級網(wǎng)表關(guān)聯(lián)至所述寄存器傳輸級網(wǎng)表。
27、在一實施方式中,所述基于擴充后的所述寄存器傳輸級網(wǎng)表計算所述芯片的功耗,包括:
28、獲取所述目標(biāo)器件的負載電容和所述目標(biāo)中間級網(wǎng)表中各節(jié)點的負載電容;
29、根據(jù)所述目標(biāo)器件的負載電容,確定所述目標(biāo)器件的功耗;
30、根據(jù)各所述節(jié)點的負載電容,確定所述目標(biāo)中間級網(wǎng)表的功耗;
31、基于所述目標(biāo)器件的功耗和所述目標(biāo)中間級網(wǎng)表的功耗,計算所述芯片的功耗。
32、在一實施方式中,所述獲取所述目標(biāo)器件的負載電容,包括:
33、獲取所述目標(biāo)器件的輸出端口與所述目標(biāo)中間級網(wǎng)表的第一級節(jié)點連接的網(wǎng)絡(luò)節(jié)點的電容和所述第一級節(jié)點的輸入端口的電容;
34、將所述網(wǎng)絡(luò)節(jié)點的電容與所述第一級節(jié)點的輸入端口的電容之和,確定為所述目標(biāo)器件的負載電容。
35、第二方面,本申請實施例提供一種計算設(shè)備,包括:處理器和存儲有計算機程序的存儲器,在所述處理器運行所述計算機程序時,實現(xiàn)上述第一方面所述的芯片功耗計算方法。
36、第三方面,本申請實施例提供一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)中存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述第一方面所述的芯片功耗計算方法。
37、本申請實施例提供的芯片功耗計算方法、計算設(shè)備及計算機可讀存儲介質(zhì),?通過器件的輸出端口對應(yīng)的負載信息,創(chuàng)建與輸出端口對應(yīng)的具有均衡負載的目標(biāo)中間級網(wǎng)表,并根據(jù)目標(biāo)中間級網(wǎng)表對寄存器傳輸級網(wǎng)表進行擴充,進而基于擴充后的寄存器傳輸級網(wǎng)表計算芯片的功耗,能夠快速且準(zhǔn)確地計算芯片的功耗,使得寄存器傳輸級電路設(shè)計在模擬綜合前后獲得的功耗盡可能一致,節(jié)省了計算資源,提高了芯片設(shè)計效率。
1.一種芯片功耗計算方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述創(chuàng)建與所述輸出端口對應(yīng)的具有均衡負載的目標(biāo)中間級網(wǎng)表,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述負載信息包括負載數(shù)量;所述創(chuàng)建樹形結(jié)構(gòu)的所述目標(biāo)中間級網(wǎng)表,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述目標(biāo)中間級網(wǎng)表包括多級節(jié)點時,所述創(chuàng)建樹形結(jié)構(gòu)的所述目標(biāo)中間級網(wǎng)表,還包括:
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述獲取單個與負載連接的節(jié)點可連接的負載數(shù)量,包括:響應(yīng)于接收到的輸入信息,確定與負載連接的節(jié)點可連接的負載數(shù)量和/或所述各級節(jié)點中單個節(jié)點可連接下一級節(jié)點的數(shù)量。
6.根據(jù)權(quán)利要求2至5中任一項所述的方法,其特征在于,所述根據(jù)所述目標(biāo)中間級網(wǎng)表對所述寄存器傳輸級網(wǎng)表進行擴充,包括:
7.根據(jù)權(quán)利要求2至5中任一項所述的方法,其特征在于,所述根據(jù)所述目標(biāo)中間級網(wǎng)表對所述寄存器傳輸級網(wǎng)表進行擴充,包括:
8.根據(jù)權(quán)利要求2至5中任一項所述的方法,其特征在于,所述基于擴充后的所述寄存器傳輸級網(wǎng)表計算所述芯片的功耗,包括:
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述獲取所述目標(biāo)器件的負載電容,包括:
10.一種計算設(shè)備,其特征在于,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)如權(quán)利要求1至9任一項所述的芯片功耗計算方法。
11.一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)中存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至9任一項所述的芯片功耗計算方法。