報錯信息處理方法、裝置、設備、存儲介質和程序產品與流程
1.本技術屬于電子設計自動化領域,尤其涉及一種報錯信息處理方法、裝置、設備、存儲介質和程序產品。
背景技術:
2.電子設計自動化(electronic design automation,eda)軟件是指利用計算機輔助設計(cad),來完成超大規模集成電路(vlsi)芯片的功能設計、綜合、驗證、物理設計(包括布局、布線、版圖、設計規則檢查等)等流程的設計軟件。
3.為了記錄系統運行過程中的各種報錯信息,如:崩潰、錯誤或警告等信息,在eda軟件里通常會使用系統日志負責記錄程序運行方面的事件,如果程序在運行過程中檢測到崩潰,錯誤,警告等信息時,日志系統將記錄上述報錯信息出現的位置,發生的對象,發生的時間,造成的原因等關鍵信息,具體的,日志系統大致分為三類:應用日志,系統日志以及安全日志,日志系統通常包含:日志收集,日志傳輸,日志存儲,日志分析,錯誤報告五大模塊。用戶可以通過查詢日志獲取系統運行狀態,系統運維和開發人員也可以通過日志了解運行系統中發生的實時信息、檢查配置過程中的錯誤及錯誤發生的原因。
4.已有的eda軟件使用日志來記錄遇到的報錯信息:在讀入芯片設計文件以及相關的庫文件并啟動系統后,系統根據每一條檢測項驗證設計文件中的內容,驗證中遇到錯誤,警告等信息立即記錄到日志文件中,直到系統運行完成。然而,已有的eda軟件難以幫助用戶出產生錯誤的根本原因,在此之后,用戶需要查詢系統生成的日志文件才能發現設計出現的問題,例如,根據時間順序逐一瀏覽日志中記錄的每一條信息進行信息的查詢,或者是使用grep、awk和wc等linux命令能實現檢索和統計,效率較低,用戶難以通過日志文件到報錯對象更加精準的問題點,無法便捷查詢目標信息,對于要求更高的查詢、排序和統計,特別是在排查錯誤的過程中需要產生錯誤信息的相關對象的更詳細的信息等要求依然使用這樣的方法難免有點力不從心。
5.因此,eda軟件需要一種報錯信息處理方法來幫助芯片設計者盡早發現問題,以向用戶提供設計錯誤信息幫助盡早發現問題并改進芯片設計,減少由于設計偏差帶來的時間成本和經濟成本。
技術實現要素:
6.本技術實施例提供一種報錯信息處理方法、裝置、設備、存儲介質和程序產品,能夠幫助芯片設計者盡早發現芯片設計問題并改進芯片設計,減少由于設計偏差帶來的時間成本和經濟成本。
7.第一方面,本技術實施例提供一種報錯信息處理方法,方法包括:創建日志文件,將電子設計自動化軟件在運行過程中產生的驗證日志信息記錄到所述日志文件中,其中,每個所述驗證日志信息具有一個對應的信息標識;接收用戶針對所述日志文件中第一信息標識的查詢請求;
響應于所述查詢請求,在所述日志文件中,查詢所述第一信息標識對應的第一驗證日志信息中的對象,得到對象查詢結果,其中,所述對象查詢結果包括查詢到的對象的相關信息,所述相關信息包括名稱信息、屬性信息和連接對象信息中的至少一項;輸出所述對象查詢結果。
8.第二方面,本技術實施例提供了一種報錯信息處理裝置,包括:第一創建模塊,用于創建日志文件,將電子設計自動化軟件在運行過程中產生的驗證日志信息記錄到所述日志文件中,其中,每個所述驗證日志信息具有一個對應的信息標識;第一接收模塊,用于接收用戶針對所述日志文件中第一信息標識的查詢請求;第一查詢模塊,用于響應于所述查詢請求,在所述日志文件中,查詢所述第一信息標識對應的第一驗證日志信息中的對象,得到對象查詢結果,其中,所述對象查詢結果包括查詢到的對象的相關信息,所述相關信息包括名稱信息、屬性信息和連接對象信息中的至少一項;第一輸出模塊,用于輸出所述對象查詢結果。
9.第三方面,本技術實施例提供了一種報錯信息處理設備,設備包括:處理器以及存儲有計算機程序指令的存儲器;處理器執行所述計算機程序指令時實現如第一方面所述的報錯信息處理方法。
10.第四方面,本技術實施例提供了一種計算機存儲介質,所述計算機可讀存儲介質上存儲有計算機程序指令,所述計算機程序指令被處理器執行時實現如第一方面所述的報錯信息處理方法。
11.第五方面,本技術實施例提供了一種計算機程序產品,所述計算機程序產品中的指令由電子設備的處理器執行時,使得所述電子設備執行如第一方面所述的報錯信息處理方法。
12.在本技術實施例中,日志文件記錄有eda軟件在運行過程中產生的驗證日志信息,以及每個驗證日志信息對應的信息標識,用戶可以通過日志文件中的第一信息標識,查詢到第一信息標識對應的第一驗證日志信息中的對象的相關信息,相關信息包括名稱信息、屬性信息和連接對象信息中的至少一項。如此,可以幫助用戶盡早發現芯片設計問題并改進芯片設計,減少由于設計偏差帶來的時間成本和經濟成本。
附圖說明
13.圖1是本技術實施例提供的報錯信息處理方法的流程圖之一;圖2是本技術實施例提供的報錯信息處理方法的流程圖之二;圖3是本技術實施例提供的報錯信息處理方法的數據流圖;圖4是本技術實施例提供的報錯信息處理設備的結構圖之一;圖5是本技術實施例提供的報錯信息處理方法的流程圖之三;圖6是本技術實施例提供的報錯信息處理裝置的結構圖;圖7是本技術實施例提供的報錯信息處理設備的結構圖之二。
具體實施方式
14.下面將詳細描述本技術的各個方面的特征和示例性實施例,為了使本技術的目的、技術方案及優點更加清楚明白,以下結合附圖及具體實施例,對本技術進行進一步詳細描述。應理解,此處所描述的具體實施例僅意在解釋本技術,而不是限定本技術。對于本領域技術人員來說,本技術可以在不需要這些具體細節中的一些細節的情況下實施。下面對實施例的描述僅僅是為了通過示出本技術的示例來提供對本技術更好的理解。
15.需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括
……”
限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
16.下面結合附圖,通過一些實施例及其應用場景對本技術實施例提供的報錯信息處理方法進行詳細地說明。
17.參見圖1,圖1是本技術實施例提供的報錯信息處理方法的流程圖之一。如圖1所示,報錯信息處理方法可以包括以下步驟:步驟101、創建日志文件,將電子設計自動化軟件在運行過程中產生的驗證日志信息記錄到所述日志文件中,其中,每個所述驗證日志信息具有一個對應的信息標識。
18.具體實現時,eda軟件在運行過程中可以驗證芯片設計文件以及相關的庫文件中的內容,得到驗證日志信息。驗證日志信息可以包括驗證中遇到的崩潰、錯誤、警告等信息。驗證日志信息可以記錄有上述信息(崩潰、錯誤或警告等)出現的位置,發生的對象,發生的時間,造成的原因等。
19.在本技術實施例中,每個驗證日志信息具有一個對應的信息標識(message id,msg id)。每個驗證日志信息對應的信息標識具有唯一性,且可查詢。如此,用戶可以通過信息標識查詢驗證日志信息中的對象的相關信息,具體參見下述描述。
20.一些實施例中,電子設計自動化軟件為以下任一項:布局布線工具、硬件仿真加速工具、時序分析工具、功耗驗證工具、功耗分析工具、物理驗證工具、形式驗證工具、邏輯仿真工具、邏輯綜合工具。
21.步驟102、接收用戶針對所述日志文件中第一信息標識的查詢請求。
22.第一信息標識可以為日志文件中的任一個信息標識。
23.一些實施例中,所述接收用戶針對所述日志文件中第一信息標識的查詢請求,包括:接收用戶對所述日志文件中的第一內容的選取操作;響應于所述選取操作,確定接收到用戶對所述日志文件中第一信息標識的查詢請求,其中,所述第一信息標識為所述第一內容對應的信息標識。
24.具體實現時,用戶可以閱讀日志文件,并從日志文件中選取感興趣的內容,即第一內容,第一內容可以為第一驗證日志信息中的部分或全部內容,第一驗證日志信息為第一信息標識對應的驗證日志信息。如此,可以將第一內容對應的信息標識確定為第一信息標
識,并視接收到用戶對第一信息標識的查詢請求。
25.可見,在此實施例中,若接收到用戶對日志文件中第一內容的選取操作,即可視接收到用戶對第一內容對應的信息標識的查詢請求。第一信息標識即為第一內容對應的信息標識,第一信息標識是用戶在閱讀日志文件后自定義選取的。
26.另一些實施例中,步驟102具體表現為:接收到用戶輸入的第一信息標識。
27.在此實施例中,若接收到用戶輸入的第一信息標識,即可以視接收到用戶針對所述第一信息標識的查詢請求。第一信息標識是用戶自主輸入的。
28.在本技術上述實施例中,用戶可根據需求自定義查詢與此對象相關對象的信息,由此用戶可以充分發揮主觀能動性快速定位問題所在,可以方便用戶進行高效的問題追蹤和分析。
29.步驟103、響應于所述查詢請求,在所述日志文件中,查詢所述第一信息標識對應的第一驗證日志信息中的對象,得到對象查詢結果,其中,所述對象查詢結果包括查詢到的對象的相關信息,所述相關信息包括名稱信息、屬性信息和連接對象信息中的至少一項。
30.為方便描述,以下記第一驗證日志信息中的對象為第一對象。
31.在接收到所述查詢請求之后,可以執行對第一對象的查詢操作,得到第一對象的名稱信息、屬性信息和連接對象信息中的至少一項。
32.以下對驗證日志信息中的對象進行說明。
33.一些實施例中,所述對象可以包括:數字芯片設計中的操作對象。進一步地,所述數字芯片設計中的操作對象可以但不僅限于包括:連線(net)、模塊(cell)、引腳(pin)、 端口 (port)。
34.另一些實施例中,所述對象可以包括:統一低功耗格式標準的對象。進一步地,所述統一功耗格式標準的對象可以但不僅限于包括以下至少一項:功耗域(power domain)、電源線(supply nets)、電源節點之間的連接關系、隔離電路(isolation circuits)、電平轉換電路(level-shifting circuits)以及狀態保持電路(state retention circuits)。
35.以下對對象的屬性信息進行說明。
36.一些實施例中,所述屬性信息可以但不僅限于包括以下至少一項:層次結構(scope)信息、網表(owner)信息、網表實例(view)信息。換言之,對象的屬性信息包括該對象的scope、owner、view等信息。如此,可以通過對象的屬性信息提供對象與其他對象的關系信息,確定第一對象的關聯對象。
37.以下對對象的連接對象信息進行說明。
38.一些實施例中,所述連接對象信息可以但不僅限于包括連接對象的名稱信息和屬性信息。
39.為方便描述,以下將第一對象的連接對象稱為第二對象。如此,可以通過對象的連接對象信息提供對象的連接對象與其他對象的關系信息,確定第二對象的關聯對象。
40.在本技術實施例中,用戶可以通過第一信息標識,查詢到第一對象的信息、第一對象的關聯對象的信息和/或第二對象的關聯對象的信息,如此,可以幫助用戶快速到芯片設計問題,提高芯片設計問題的定位速率。
41.為方便理解,示例說明如下:電子設計自動化軟件的日志文件中記錄的其中一個原始的驗證日志信息為:2022-10-19 16:26:51: warn: (isounmatched): pd2_iso2_0_
upf_iso:/test_data/check/no_drive,其中,信息標識為isounmatched,表示isolation類型的模塊(cell)存在未能匹配的問題,pd2_iso2_0_upf_iso是cell這個對象的名稱信息。
42.本實施例將該驗證日志信息作為第一驗證日志信息,本實施例以上述驗證日志信息中的信息標識“isounmatched”作為第一信息標識,響應第一信息標識查詢第一驗證日志信息中的對象。
43.進一步的,報錯信息處理設備在接收到針對第一信息標識,即:信息標識isounmatched對應的查詢請求之后,可以查詢的第一信息標識對應的第一驗證日志信息中的對象至少包括一下一項:對象的名稱信息,例如pd2_iso2_0_upf_iso;對象的屬性信息,例如pd2_iso2_0_upf_iso的powerdomain(電源域);對象的連接信息,例如:pd2_iso2_0_upf_iso所連接的net(連線)和port(端口)。這樣,用戶可以根據這些信息,快速定位驗證日志信息中存在問題的net并提示可能的原因。
44.步驟104、輸出所述對象查詢結果。
45.具體實現時,對象查詢結果可以寫入日志文件、逗號分隔值(comma-separatedvalues,csv)文件和控制臺中的至少一項,以便用戶獲取。
46.值得注意地是,在對象查詢結果寫入日志文件的場景中,對象查詢結果寫入的日志文件與步驟101中的日志文件可以不同,這樣,用戶可以通過查看該日志文件直接查詢到第一對象的相關信息,從而可以提高信息查詢效率。
47.一些實施例中,步驟104、輸出對象查詢結果的步驟具體可以包括:判斷查詢到的對象是否屬于用戶感興趣的對象,若是則同時將對象的名稱信息,以及屬性信息或連接對象信息之一作為輸出的對象查詢結果;若不是,則將獲取到的對象的名稱信息作為輸出的對象查詢結果;其中,所述用戶感興趣的對象是用戶在查看所述電子設計自動化軟件報告的所述日志文件或者對象查詢結果以后,根據查看的所述日志文件或對象查詢結果的信息提示選取出的對象。
48.本技術實施例的報錯信息處理方法,日志文件記錄有eda軟件在運行過程中產生的驗證日志信息,以及每個驗證日志信息對應的信息標識,用戶可以通過日志文件中的第一信息標識,查詢到第一信息標識對應的第一驗證日志信息中的對象的相關信息,相關信息包括名稱信息、屬性信息和連接對象信息中的至少一項。如此,可以幫助用戶盡早發現芯片設計問題并改進芯片設計,減少由于設計偏差帶來的時間成本和經濟成本。
49.本技術實施例的報錯信息處理方法,通過向用戶報告帶有豐富信息且可操作的對象查詢結果,有效幫助用戶準確定位到芯片設計問題之所在,便于分析問題原因,降低了用戶直接查詢日志文件內容的閱讀成本,方便工具開發人員快速定位和診斷工具本身的問題,避免多次重復耗時長久的試運行,提高查詢和問題分析效率;對象查詢結果可以補充或替代系統缺省情況下僅有的日志輸出,用戶可以對其內容及格式進行自行選擇及組織,這種更為定向化和豐富的輸出信息有助于用戶快速到錯誤的源頭,并且這個自定義查詢方案對數據對象具有靈活的篩選和追溯能力,可以大大縮小日志文件的大小,提供針對性極強的信息,可以在很大程度上提高查錯效率。
50.值得注意地是,本技術實施例并不限定查詢第一對象的相關信息的具體實現方
式,任何可實現對第一對象的相關信息的查詢的實現方式均可落入本技術實施例的保護范圍之內。如:一些實施例中,設備可以按照預先定義的查詢規則查詢第一對象,得到第一對象的相關信息,查詢規則可以用于查詢各個對象的相關信息。
51.另一些實施例中,所述響應于所述查詢請求,在所述日志文件中,查詢所述第一信息標識對應的第一驗證日志信息中的對象,得到對象查詢結果,可以包括:響應于所述查詢請求,執行所述第一信息標識對應的第一目標函數,得到對象查詢結果;其中,所述第一目標函數用于查詢所述第一驗證日志信息中的對象。
52.目標函數可以由用戶基于自身需求注冊,即目標函數可以由用戶自定義。本技術并不限定所述目標函數的具體表現形式,在一種可選的實現方式中,目標函數可以為工具命令語言程序(tools command language procedure,又稱為“tcl proc”),但不僅限于此。
53.在此實施例中,對象查詢結果可以通過執行第一信息標識對應的第一目標函數得到,第一目標函數的執行結果即對象查詢結果。
54.所述第一目標函數可以預先接收獲取,或,預先注冊獲取,具體可根據實際需求決定,本技術實施例對此不做限定。對于后者,在一些實施例中,所述響應于所述查詢請求,執行所述第一目標函數,得到對象查詢結果之前,所述方法還包括:獲取所述第一信息標識對應的第一函數腳本;根據所述第一信息標識,通過所述電子設計自動化軟件的可擴展接口對所述第一函數腳本進行注冊,得到所述第一目標函數;建立所述第一目標函數與所述第一信息標識之間的對應關系。
55.在本實施例中,用戶可以瀏覽日志文件中記錄的各驗證日志信息,若對某驗證日志信息感興趣,可利用該驗證日志信息對應的信息標識編寫函數腳本,以查詢該驗證日志信息中對象的相關信息,達到追根溯源的效果。
56.具體實現時,在獲取到第一信息標識對應的第一函數腳本之后,可以利用所述第一信息標識,通過eda軟件的可拓展接口對所述第一函數腳本進行注冊,以創建得到所述第一目標函數,并建立所述第一目標函數與所述第一信息標識之間的對應關系。
57.這樣,在接收到用戶對第一信息標識的查詢請求之后,可以調用所述第一目標函數,查詢第一驗證日志信息中對象的相關信息,提高信息查詢效率。
58.在目標函數為tcl proc函數的情況下,目標函數可以使用tcl命令(tcl command)注冊函數腳本得到。
59.tcl命令是電子設計自動化軟件為用戶提供的一種控制系統的方式,用戶可以通過tcl語言對系統發出命令。tcl命令可以包括以下至少一項:use_tcl_proc:可以用于根據message_id注冊tcl函數;set_param:可以用于更新配置信息;get_param:可以用于獲取配置信息;check_upf:可以用于發出驗證命令;issue_message: 可以 用于輸出與msg_id 對應的信息;set_msg_severity
??
message_id abc123
??
severity_level log_info :可以用
于根據用戶給定的msg_id和報錯嚴重等級將相應的報錯信息設置為用戶給定的報錯等級;get_message_help-message_idabc123:可以用于根據用戶輸入的msg_id查詢到此條報錯信息的幫助信息。
60.諸如以上等提供給用戶的對系統的操作命令。電子設計自動化軟件可以根據命令進行相應的操作并且系統運行過程中的相關信息寫入日志文件或者配置文件。
61.一種可選實現方式中,接收用戶使用所述電子設計自動化軟件中的注冊命令,注冊或更新的所述第一信息標識對應的第一函數腳本的步驟可以使用tcl命令中的use_tcl_proc注冊第一函數腳本,得到第一目標函數。
62.為方便理解,示例說明如下:在本示例中,第一函數腳本(tclprocformsgid)可以如下所示:proctclprocformsgid{msg_bodyportnfobj1}{if{[isobjofinterest$obj1]}{issuemessage(msg_body)issuemessage(“portinfoisasfollows”,obj1-》name(),obj1-》parent()-》name())}else{issuemessage($msg_body,$id,$obj1-》name())}}然后使用use_tcl_proc命令進行注冊:use_tcl_procmssage_idtclprocformsgid通過以上的操作就完成了第一目標函數tclproc的創建,以及建立了第一目標函數tclproc和第一信息標識message_id的聯系。
[0063]
tclprco如下所示:followingtclprocexistforportnfproctclprocformsgid{msg_bodyportnfobj1}{if{[isobjofinterest$obj1]}{issuemessage(msg_body)issuemessage(“portinfoisasfollows”,obj1-》name(),obj1-》parent()-》name())}else{issuemessage($msg_body,$id,$obj1-》name())}}tclprco的執行結果如下所示:error:31-08-2116:30seriouserrorerror:31-08-2116:30portinfoisasfollows129parent_name。其中,portinfoisasfollows為關于對象查詢結果的描述信息,129為對象查詢結果中的對象的名稱信息,parent_name為對象查詢結果中的連接對象的名稱信息。
[0064]
具體實現時,可以通過多種方式獲取第一函數腳本,具體說明如下:一些實施例中,所述獲取所述第一信息標識對應的第一函數腳本,可以包括:1)在所述電子設計自動化軟件的配置文件中存在預先定義的所述第一函數腳本的情況下,運行所述配置文件中的所述第一函數腳本;或者,2)接收用戶使用所述電子設計自動化軟件中的注冊命令,注冊或更新的所述第一信息標識對應的第一函數腳本。
[0065]
在1)中,第一函數腳預定義在eda軟件的配置文件中,從eda軟件的配置文件中獲取。在2)中,第一函數腳本由用戶使用eda軟件的注冊命令注冊或更新得到,具體實現時,用戶可以在eda軟件啟動時或者在eda軟件完成運行后,使用注冊命令use_tcl_proc注冊或更新得到第一函數腳本。
[0066]
通過上述方式,可以通過多種方式獲取函數腳本,豐富了函數腳本的獲取方式。
[0067]
在一些實施例中,所述響應于所述查詢請求,執行所述第一信息標識對應的第一目標函數,得到對象查詢結果,可以包括:響應于所述查詢請求,檢查是否存在所述第一信息標識對應的第一目標函數;在存在所述第一目標函數的情況下,執行所述第一目標函數,得到對象查詢結果;所述方法還包括:在不存在所述第一目標函數的情況下,查詢所述第一信息標識對應的第一嚴重等級和第一詳細程度;根據所述第一嚴重等級和所述第一詳細程度,在所述日志文件中,查詢所述第一驗證日志信息中的信息,得到信息查詢結果;輸出所述信息查詢結果。
[0068]
可以理解地是,對于日志文件中的各信息標識,并不一定存在對應的目標函數。因此,在本實施例中,在接收到針對日志文件中的某個信息標識的查詢請求時,可以先檢查是否存在該信息標識對應的目標函數,并基于該檢查結果,執行相應地查詢操作。
[0069]
為方便理解,可參見圖2。在存在對應的目標函數的情況下,調用目標函數,利用該目標函數查詢對象的相關信息。
[0070]
在不存在對應的目標函數的情況下,可以查詢對應的嚴重等級和詳細程度,之后,可以調用spdlog函數,根據對應的嚴重等級和詳細程度從日志文件中查詢對應的驗證日志信息中的信息,得到信息查詢結果,并輸出信息查詢結果。信息查詢結果可以包括以下至少一項:幫助信息;驗證日志信息的打印信息,如打印的次數上限等。
[0071]
通過上述方式,在接收到某信息標識的查詢請求之后,可以基于是否存在該信息標識對應的目標函數的檢查結果,執行相應地查詢操作,從而可以提高信息查詢的靈活性。
[0072]
在一些實施例中,所述將電子設計自動化軟件在運行過程中產生的驗證日志信息記錄到所述日志文件中之前,所述方法還包括:獲取json配置文件,所述json配置文件包括信息塊;所述將電子設計自動化軟件在運行過程中產生的驗證日志信息記錄到所述日志文件中,包括:將電子設計自動化軟件在運行過程中產生的驗證日志信息按照所述信息塊所規
定的格式記錄到所述日志文件中;其中,所述信息塊包括:格式字符串(formatted_string)字段,包括第一字段和占位符,所述第一字段用于填寫驗證日志信息或者對象查詢結果的描述信息,所述占位符為驗證日志信息中的對象進行占位;信息標識(message_id)字符串,用于填寫信息標識;目標函數字符串,用于填寫函數腳本。
[0073]
進一步地,每個信息對應的信息塊還可以包括以下至少一項:幫助(help)字段;內部(internal)字段;最大出現限制(maxoccurrencelimit)字段;嚴重程度(severity)字段。
[0074]
以下對上述個字段進行說明。
[0075]
formatted_string:表示驗證日志信息寫入到日志文件、csv文件、以及控制臺的格式控制,此條信息不僅包括驗證日志信息或者對象查詢結果的描述信息,也為驗證日志信息中的對象進行占位。將對象的填入延遲到系統運行中,實現了驗證日志信息和對象之間的解耦合,和更加靈活的信息組合。除此之外formatted_string還對報錯信息的格式進行了統一,降低了用戶的閱讀成本。對象查詢結果的描述信息可以表示用戶對于對象查詢結果的描述或解釋。
[0076]
help:表示每一條message_id相應的幫助信息。
[0077]
internal:表示系統內部打印的信息,不顯示給用戶。
[0078]
maxoccurrencelimit:表示系統中一條驗證日志信息打印的次數上限。
[0079]
message_id:表示每一條驗證日志信息特有的信息標識符。
[0080]
severity:表示報錯信息的等級。主要分為以下六個等級:log_critical:系統驗證到的嚴重錯誤信息,并且不能被降低錯誤級別。
[0081]
log_error:系統驗證到的錯誤信息,但是可以被用戶降低錯誤級別到log_warning。
[0082]
log_warning:系統驗證到的警告信息。
[0083]
log_info:系統在運行中的需要輸出的信息。
[0084]
log_debug:當系統設置為debug模式時,輸出相應的需要debug的信息。
[0085]
log_always: 系統運行中默認需要輸出的信息,用于測試。
[0086]
初始化的配置文件可如下所示:{"formattedstring":"net/port is not present in the current scope : %","help":"this message is to be used when net/port is not present in the current scope","internal":"no","maxoccurrencelimit":"100","messageid":"netunkown","severity":"log_error","tclproc":""}
在上述示例中,關于netunknown這一信息標識的對象查詢結果的描述信息為net/port is not present in the current scope,對象查詢結果的占位符表現為%。
[0087]
一種可選實現方式中,配置文件可以為json配置文件。json配置文件可以結構化的存儲驗證日志信息且簡單易讀寫,使驗證日志信息的解析和查詢變得方便和高效,可以直接和服務器端系統開發進行交互。json和c++(業務處理端)的交互工具可以為nhlomann,此工具具有高可靠性,交互速度快,開源且可持續維護等優勢。
[0088]
在一些實施例中,所述方法還可以包括:接收用戶在所述目標函數字符串中填寫的所述第一函數腳本。
[0089]
如此,可以實現第一函數腳本在eda軟件的配置文件中的預先定義。
[0090]
在一些實施例中,所述接收json配置文件之后,所述方法還可包括:根據所述json配置文件,創建逗號分隔值cvs文件;根據所述cvs文件,顯示圖形用戶界面,其中,所述圖形用戶界面包括第一子區域和第二子區域,所述第一子區域包括至少一行,每行用于顯示所述cvs文件中的一個驗證日志信息對應的以下信息:嚴重等級、信息標識、對象查詢結果、對象查詢結果的絕對路徑和行號;接收用戶對所述至少一行中第i行的第一輸入,i為正整數;響應于所述第一輸入,突出顯示所述第i行,并在所述第二子區域顯示所述第i行的信息;接收用戶對所述至少一行中第j行的對象查詢結果的第二輸入,j為正整數;響應于所述第二輸入,顯示所述第j行的對象查詢結果。
[0091]
在本示例中,可以使用csv文件為圖形用戶界面(graphical user interface, gui)提供一個高效快捷的信息查詢文件。gui直接從csv文件中抓取信息顯示,為用戶提供了一個驗證日志信息的顯示窗口,并且提供多種便捷的操作方式。
[0092]
本實施例的gui在第一子區域的第一列為信息的severity,第二列為信息的message id,第三列為對象查詢結果(message),第四列為對象查詢結果的絕對路徑(source/relation)和行號。
[0093]
值得注意地是,在本技術實施例中,gui界面可以供用戶執行多種便捷的操作方式,進一步提高信息查詢效率。
[0094]
如:用戶可以通過執行對第i行的第一輸入,觸發gui在第一子區域突出顯示第i行,并在第二子區域顯示第i行對應的信息。用戶可以右鍵點擊感興趣的驗證日志信息所在行后點擊open in source,就可以在上方大窗口中顯示該行信息,并在該行產生高亮,這樣,可以讓用戶更加清晰地知道具體報錯信息,方便用戶分析設計問題。
[0095]
用戶可以通過執行對第j行的對象查詢結果的第二輸入,觸發跳轉顯示,或,在第二子區域顯示第j行的對象查詢結果。對象顯示于message的單引號中。
[0096]
通過上述方式,用戶可以通過與gui交互實現信息的靈活查詢,從而可以進一步提高信息查詢效率。
[0097]
在一些實施例中,所述方法還可以包括:在內存中創建日志數據結構;所述響應于所述查詢請求,在所述日志文件中,查詢所述第一信息標識對應的第
一驗證日志信息中的對象,得到對象查詢結果之后,所述輸出所述對象查詢結果之前,所述方法還包括:將所述對象查詢結果存儲至所述日志數據結構中;所述輸出所述對象查詢結果之前,所述方法還包括:從所述日志數據結構中讀取所述對象查詢結果。
[0098]
在此實施例中,可以創建日志數據結構(message data structure),日志數據結構存儲在內存中。日志數據結構可以用于存儲查詢到的對象的相關信息。
[0099]
具體實現時,在獲取到對象查詢結果之后,可以將對象查詢結果存儲至日志數據結構中,之后,可從日志數據結構中讀取對象查詢結果以輸出。
[0100]
通過上述方式,日志數據結構可以存儲各個對象的相關信息,用戶可以通過日志數據結構知曉各個對象之間的關聯關系,從而可以幫助用戶快速定位芯片設計問題。
[0101]
在一些實施例中,所述輸出所述對象查詢結果之后,所述方法還包括:接收用戶輸入的第二信息標識,所述第二信息標識為用戶基于所述對象查詢結果確定的感興趣的關聯信息標識;獲取所述第二信息標識對應的第二函數腳本;根據所述第二信息標識,通過所述電子設計自動化軟件的可擴展接口對所述第二函數腳本進行注冊,得到第二目標函數;執行所述第二目標函數,從日志數據結構中查詢所述第二信息標識對應的對象;輸出查詢到的所述第二信息標識對應的對象的相關信息。
[0102]
在本實施例中,用戶可以查看對象查詢結果,在對象查詢結果的提示下,可以從日志文件中選取出與第一信息標識關聯的其他感興趣的信息標識,即第二信息標識。
[0103]
之后,可以獲取第二信息標識對應的第二函數腳本,并通過eda軟件的可拓展接口注冊第二函數腳本,得到第二目標函數。
[0104]
之后,可以通過執行第二目標函數,從日志數據結構中查詢第二信息標識對應的對象的相關信息,如此,可以幫助用戶快速定位芯片設計問題,進而提高芯片設計問題的解決效率。
[0105]
為方便理解,可參見圖3。在圖3中,報錯信息處理設備包括電子設計自動化軟件的日志管理系統,日志管理系統按照json配置文件中信息塊的格式將驗證日志信息記錄到日志文件中,并將對象查詢結果存儲至日志數據結構中,日志數據結構包括各個對象的相關信息,以及各個對象的關聯信息。
[0106]
在獲取到用戶選取日志文件中的第二信息標識之后,可以獲取第二信息標識對應的第二函數腳本(用戶自定義),利用第二信息標識,通過tcl命令中的use_tcl_proc注冊第二函數腳本,得到第二目標函數。
[0107]
之后,可以執行第二目標函數,從日志數據結構中查詢第二信息標識對應的對象的相關信息,并輸出查詢到的信息。
[0108]
在一些實施例中,如圖4所示,報錯信息處理設備(也可以稱為動態日志框架)可以包括以下模塊: 1. 用戶定義(user config,包括tcl procs和日志配置)。2. 用戶數據輸入(user data)。3. 用戶腳本(user script)。4. tcl procs與message_id映射模塊(msgid and tcl proc map)。5.系統模塊(tool process)。6. 日志數據庫模塊(log message)。
[0109]
對于圖4,上述方法實施例中查詢請求可以通過user data輸入。函數腳本可以通過user script輸入。函數腳本的注冊可以通過user config實現。信息標識和目標函數的對應關系可以存儲在msgid and tcl proc map中。tool process在接收到信息標識之后,可以將信息標識輸入到msgid and tcl proc map,由msgid and tcl proc map返回相應的目標函數,之后,由tool process執行目標函數,得到執行結果,并輸出執行結果。
[0110]
tool process包括日志管理器(logger),電子設計自動化軟件的日志管理器主要負責以下功能:加載配置信息;根據配置信息在功耗驗證中生成日志信息;向日志文件、csv文件、以及控制臺輸出;用戶使用命令“use_tcl_proc”把用戶注冊的tcl函數和message_id進行注冊或更新,日志管理器會根據給定的message_id查詢對應注冊的tcl_proc;執行查詢到的tcl proc;將用戶所關心的信息寫入日志文件、csv文件、控制臺以便用戶獲取信息;管理log文件以及csv文件的時間戳。
[0111]
在本技術實施例中,可以采用spdlog開源工具將驗證日志信息寫入日志文件,spdlog是一款優秀的基于c++ 11的輕量級的日志管理庫,使用時只需要引入頭文件即可,與用c++開發的功耗驗證系統具有天然的粘合性,無需中間件,方便且快捷。
[0112]
在本技術實施例中,每一條錯誤,警告等信息(也可以稱為報錯信息或事件)有其相應的信息id(即:message_id,簡稱msg_id),系統保證信息id的唯一性,且可查詢,本技術實施例可以根據信息id查詢到和此錯誤信息的發生對象。除此之外,還可以根據查到的發生對象獲取該對象出現報錯信息時的狀態,以及其關聯對象的狀態。
[0113]
首先系統讀入用戶數據(user data):芯片設計文件(*.v),庫文件(.lib),低功耗意向設計文件(.upf),根據讀入的用戶文件類型和用戶的命令,系統(tool process)將進入對應的階段的驗證,系統將讀入的用戶數據解析到相應的數據結構和容器,存儲在系統中。
[0114]
然后用戶通過腳本或者命令的方式向驗證系統發出命令進行驗證,驗證后系統向用戶給定的日志文件輸入驗證日志信息(log message)。
[0115]
用戶可以從日志文件中獲取報錯信息相關的message_id,使用注冊命令use_tcl_proc, 注冊對應消息的 tcl procs。這些額外的、用戶自定義的查詢可以通過用戶自己重新組織后的內容及其格式予以輸出至日志文件,以替代系統缺省情況下的日志輸出。這種更為定向化和豐富的輸出信息有助于用戶快速到錯誤的源頭;由于這個自定義查詢方案對數據對象具有靈活的篩選和追溯能力,可以大大縮小日志文件的大小,提供針對性極強的信息,可以在很大程度上提高查錯效率。
[0116]
用戶可以針對性的查詢系統驗證中報出錯誤對象信息,以便快速定位錯誤原因。比如檢測后在日志文件中發現某條net(即:對象)出現問題,因此針對此net對象查詢net名字(即:對象的名稱信息),net的owner,和net相連的有哪些port等信息都可以通過tcl函數腳本進行查詢,用戶可以根據這些與net相關對象的信息即對象查詢結果進行定位和分析錯誤原因。
[0117]
本技術實施例從用戶角度出發,充分考慮用戶在查詢日志時需要快速,準確定位到問題所在的需求進行改進和創新,因此本設計提供帶有豐富信息且可操作的對象給用戶,用戶可根據需求查詢與此對象相關對象的信息,由此用戶可以充分發揮主觀能動性快速定位問題所在,分析問題原因,提高效率,節約成本。不僅可以方便用戶進行高效的問題追蹤和分析,還能方便工具開發人員快速定位和診斷工具本身的問題,避免多次重復耗時長久的試運行。具體的,本設計還能方便工具開發人員快速定位和診斷工具本身的問題,避免多次重復長久耗時的試運行。
[0118]
需要說明的是,本技術實施例中介紹的多種可選的實施方式,在彼此不沖突的情況下可以相互結合實現,也可以單獨實現,對此本技術實施例不作限定。
[0119]
如圖5所示,開發者(developer)可以初始化日志文件的json文件,用戶可以使用tcl命令注冊得到tcl proc。之后,電子設計自動化軟件的日志管理器可以執行目標函數,得到執行結果,并將執行結果輸入日志文件、cvs文件和控制臺,通過cvs文件顯示gui。
[0120]
基于上述實施例提供的報錯信息處理方法,相應地,本技術還提供了報錯信息處理裝置的具體實現方式。請參見以下實施例。
[0121]
參見圖6,本技術實施例提供的報錯信息處理裝置可以包括:第一創建模塊701,用于創建日志文件,將電子設計自動化軟件在運行過程中產生的驗證日志信息記錄到所述日志文件中,其中,每個所述驗證日志信息具有一個對應的信息標識;第一接收模塊702,用于接收用戶針對所述日志文件中第一信息標識的查詢請求;第一查詢模塊703,用于響應于所述查詢請求,在所述日志文件中,查詢所述第一信息標識對應的第一驗證日志信息中的對象,得到對象查詢結果,其中,所述對象查詢結果包括查詢到的對象的相關信息,所述相關信息包括名稱信息、屬性信息和連接對象信息中的至少一項;第一輸出模塊704,用于輸出所述對象查詢結果。
[0122]
在一些實施例中,第一查詢模塊703,具體用于:響應于所述查詢請求,執行所述第一信息標識對應的第一目標函數,得到對象查詢結果;其中,所述第一目標函數用于查詢所述第一驗證日志信息中的對象。
[0123]
在一些實施例中,所述裝置還包括:第二獲取模塊,用于獲取所述第一信息標識對應的第一函數腳本;第一注冊模塊,用于根據所述第一信息標識,通過所述電子設計自動化軟件的可擴展接口對所述第一函數腳本進行注冊,得到所述第一目標函數;第一建立模塊,用于建立所述第一目標函數與所述第一信息標識之間的對應關系。
[0124]
在一些實施例中,第二獲取模塊,具體用于:在所述電子設計自動化軟件的配置文件中存在預先定義的所述第一函數腳本的情況下,運行所述配置文件中的所述第一函數腳本;或者,在所述電子設計自動化軟件啟動時或者在所述電子設計自動化軟件完成運行后,
接收用戶使用所述電子設計自動化軟件中的注冊命令,注冊或更新的所述第一信息標識對應的第一函數腳本。
[0125]
在一些實施例中,第一查詢模塊703,包括:檢查單元,用于響應于所述查詢請求,檢查是否存在所述第一信息標識對應的第一目標函數;執行單元,用于在存在所述第一目標函數的情況下,執行所述第一目標函數,得到對象查詢結果;所述裝置還包括:第二查詢模塊,用于在不存在所述第一目標函數的情況下,查詢所述第一信息標識對應的第一嚴重等級和第一詳細程度;第三查詢模塊,用于根據所述第一嚴重等級和所述第一詳細程度,在所述日志文件中,查詢所述第一驗證日志信息中的信息,得到信息查詢結果;第二輸出模塊,用于輸出所述信息查詢結果。
[0126]
在一些實施例中,第一接收模塊,包括:接收單元,用于接收用戶對所述日志文件中的第一內容的選取操作;確定單元,用于響應于所述選取操作,確定接收到用戶對所述日志文件中第一信息標識的查詢請求,其中,所述第一信息標識為所述第一內容對應的信息標識。
[0127]
在一些實施例中,所述裝置還包括:第一獲取模塊,用于獲取json配置文件,所述json配置文件包括信息塊;第一創建模塊,具體用于:將電子設計自動化軟件在運行過程中產生的驗證日志信息按照所述信息塊所規定的格式記錄到所述日志文件中;其中,所述信息塊包括:格式字符串字段,包括第一字段和占位符,所述第一字段用于填寫驗證日志信息,所述占位符為驗證日志信息中的對象進行占位;信息標識字符串,用于填寫信息標識;目標函數字符串,用于填寫函數腳本。
[0128]
在一些實施例中,所述裝置還包括:第二接收模塊,用于接收用戶在所述目標函數字符串中填寫的所述第一函數腳本。
[0129]
在一些實施例中,所述裝置還包括:第二創建模塊,用于根據所述json配置文件,創建逗號分隔值cvs文件;第一顯示模塊,用于根據所述cvs文件,顯示圖形用戶界面,其中,所述圖形用戶界面包括第一子區域和第二子區域,所述第一子區域包括至少一行,每行用于顯示所述cvs文件中的一個驗證日志信息對應的以下信息:嚴重等級、信息標識、對象查詢結果、對象查詢結果的絕對路徑和行號;第三接收模塊,用于接收用戶對所述至少一行中第i行的第一輸入,i為正整數;第二顯示模塊,用于響應于所述第一輸入,突出顯示所述第i行,并在所述第二子區域顯示所述第i行的信息;
第四接收模塊,用于接收用戶對所述至少一行中第j行的對象查詢結果的第二輸入,j為正整數;第三顯示模塊,用于響應于所述第二輸入,顯示所述第j行的對象查詢結果。
[0130]
在一些實施例中,所述裝置還包括:第三創建模塊,用于在內存中創建日志數據結構;存儲模塊,用于將所述對象查詢結果存儲至所述日志數據結構中;讀取模塊,用于從所述日志數據結構中讀取所述對象查詢結果。
[0131]
在一些實施例中,所述裝置還包括:第五接收模塊,用于接收用戶輸入的第二信息標識,所述第二信息標識為用戶基于所述對象查詢結果確定的感興趣的關聯信息標識;第二獲取模塊,用于獲取所述第二信息標識對應的第二函數腳本;第二注冊模塊,用于根據所述第二信息標識,通過所述電子設計自動化軟件的可擴展接口對所述第二函數腳本進行注冊,得到第二目標函數;第二執行模塊,用于執行所述第二目標函數,從日志數據結構中查詢所述第二信息標識對應的對象;第三輸出模塊,用于輸出查詢到的所述第二信息標識對應的對象的相關信息。
[0132]
在一些實施例中,所述對象包括:數字芯片設計中的操作對象。
[0133]
在一些實施例中,所述數字芯片設計中的操作對象包括:連線、模塊、引腳、 端口。
[0134]
在一些實施例中,所述對象包括:統一低功耗格式標準的對象。
[0135]
在一些實施例中,所述統一功耗格式標準的對象包括以下至少一項:功耗域、電源線、電源節點之間的連接關系、隔離電路、電平轉換電路以及狀態保持電路。
[0136]
在一些實施例中,所述屬性信息包括以下至少一項:層次結構信息、網表信息、網表實例信息。
[0137]
在一些實施例中,所述連接對象信息包括連接對象的名稱信息和屬性信息。
[0138]
在一些實施例中,所述電子設計自動化軟件為以下任一項:布局布線工具、硬件仿真加速工具、時序分析工具、功耗驗證工具、功耗分析工具、物理驗證工具、形式驗證工具、邏輯仿真工具、邏輯綜合工具。
[0139]
圖7示出了本技術實施例提供的報錯信息處理設備的硬件結構圖。
[0140]
在報錯信息處理設備可以包括處理器801以及存儲有計算機程序指令的存儲器802。
[0141]
具體地,上述處理器801可以包括中央處理器(cpu),或者特定集成電路(application specific integrated circuit ,asic),或者可以被配置成實施本技術實施例的一個或多個集成電路。
[0142]
存儲器802可以包括用于數據或指令的大容量存儲器。舉例來說而非限制,存儲器802可包括硬盤驅動器(hard disk drive,hdd)、軟盤驅動器、閃存、光盤、磁光盤、磁帶或通用串行總線(universal serial bus,usb)驅動器或者兩個或更多個以上這些的組合。在合適的情況下,存儲器802可包括可移除或不可移除(或固定)的介質。在合適的情況下,存儲器802可在綜合網關容災設備的內部或外部。在特定實施例中,存儲器802是非易失性固態存儲器。
[0143]
存儲器可包括只讀存儲器(read-only memory, rom),隨機存取存儲器(random access memory,ram),磁盤存儲介質設備,光存儲介質設備,閃存設備,電氣、光學或其他物理/有形的存儲器存儲設備。因此,通常,存儲器包括一個或多個編碼有包括計算機可執行指令的軟件的有形(非暫態)計算機可讀存儲介質(例如,存儲器設備),并且當該軟件被執行(例如,由一個或多個處理器)時,其可操作來執行參考根據本公開的一方面的方法所描述的操作。
[0144]
處理器801通過讀取并執行存儲器802中存儲的計算機程序指令,以實現上述實施例中的任意一種報錯信息處理方法。
[0145]
在一個示例中,報錯信息處理設備還可包括通信接口803和總線810。 其中,如圖7所示,處理器801、存儲器802、通信接口803通過總線810 連接并完成相互間的通信。
[0146]
通信接口803,主要用于實現本技術實施例中各模塊、裝置、單元和/或設備之間的通信。
[0147]
總線810包括硬件、軟件或兩者,將報錯信息處理設備的部件彼此耦接在一起。舉例來說而非限制,總線可包括加速圖形端口(agp)或其他圖形總線、增強工業標準架構(eisa)總線、前端總線(fsb)、超傳輸(ht)互連、工業標準架構(isa)總線、無限帶寬互連、低引腳數(lpc)總線、存儲器總線、道架構(mca)總線、外圍組件互連(pci)總線、pci-express(pci-x)總線、串行高級技術附件(sata)總線、視頻電子標準協會局部(vlb)總線或其他合適的總線或者兩個或更多個以上這些的組合。在合適的情況下,總線810可包括一個或多個總線。盡管本技術實施例描述和示出了特定的總線,但本技術考慮任何合適的總線或互連。
[0148]
另外,結合上述實施例中的報錯信息處理方法,本技術實施例可提供一種計算機存儲介質來實現。該計算機存儲介質上存儲有計算機程序指令;該計算機程序指令被處理器執行時實現上述實施例中的任意一種報錯信息處理方法。
[0149]
需要明確的是,本技術并不局限于上文所描述并在圖中示出的特定配置和處理。為了簡明起見,這里省略了對已知方法的詳細描述。在上述實施例中,描述和示出了若干具體的步驟作為示例。但是,本技術的方法過程并不限于所描述和示出的具體步驟,本領域的技術人員可以在領會本技術的精神后,作出各種改變、修改和添加,或者改變步驟之間的順序。
[0150]
以上所述的結構框圖中所示的功能塊可以實現為硬件、軟件、固件或者它們的組合。當以硬件方式實現時,其可以例如是電子電路、專用集成電路(asic)、適當的固件、插件、功能卡等等。當以軟件方式實現時,本技術的元素是被用于執行所需任務的程序或者代碼段。程序或者代碼段可以存儲在機器可讀介質中,或者通過載波中攜帶的數據信號在傳輸介質或者通信鏈路上傳送。“機器可讀介質”可以包括能夠存儲或傳輸信息的任何介質。機器可讀介質的例子包括電子電路、半導體存儲器設備、rom、閃存、可擦除rom(erom)、軟盤、cd-rom、光盤、硬盤、光纖介質、射頻(rf)鏈路,等等。代碼段可以經由諸如因特網、內聯網等的計算機網絡被下載。
[0151]
還需要說明的是,本技術中提及的示例性實施例,基于一系列的步驟或者裝置描述一些方法或系統。但是,本技術不局限于上述步驟的順序,也就是說,可以按照實施例中提及的順序執行步驟,也可以不同于實施例中的順序,或者若干步驟同時執行。
[0152]
上面參考根據本公開的實施例的方法、裝置(系統)和計算機程序產品的流程圖和/或框圖描述了本公開的各方面。應當理解,流程圖和/或框圖中的每個方框以及流程圖和/或框圖中各方框的組合可以由計算機程序指令實現。這些計算機程序指令可被提供給通用計算機、專用計算機、或其它可編程數據處理裝置的處理器,以產生一種機器,使得經由計算機或其它可編程數據處理裝置的處理器執行的這些指令使能對流程圖和/或框圖的一個或多個方框中指定的功能/動作的實現。這種處理器可以是但不限于是通用處理器、專用處理器、特殊應用處理器或者現場可編程邏輯電路。還可理解,框圖和/或流程圖中的每個方框以及框圖和/或流程圖中的方框的組合,也可以由執行指定的功能或動作的專用硬件來實現,或可由專用硬件和計算機指令的組合來實現。
[0153]
以上所述,僅為本技術的具體實施方式,所屬領域的技術人員可以清楚地了解到,為了描述的方便和簡潔,上述描述的系統、模塊和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。應理解,本技術的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本技術揭露的技術范圍內,可輕易想到各種等效的修改或替換,這些修改或替換都應涵蓋在本技術的保護范圍之內。
技術特征:
1.一種報錯信息處理方法,其特征在于,包括:創建日志文件,將電子設計自動化軟件在運行過程中產生的驗證日志信息記錄到所述日志文件中,其中,每個所述驗證日志信息具有一個對應的信息標識;接收用戶針對所述日志文件中第一信息標識的查詢請求;響應于所述查詢請求,在所述日志文件中,查詢所述第一信息標識對應的第一驗證日志信息中的對象,得到對象查詢結果,其中,所述對象查詢結果包括查詢到的對象的相關信息,所述相關信息包括名稱信息、屬性信息和連接對象信息中的至少一項;輸出所述對象查詢結果。2.根據權利要求1所述的報錯信息處理方法,其特征在于,所述響應于所述查詢請求,在所述日志文件中,查詢所述第一信息標識對應的第一驗證日志信息中的對象,得到對象查詢結果,包括:響應于所述查詢請求,執行所述第一信息標識對應的第一目標函數,得到對象查詢結果;其中,所述第一目標函數用于查詢所述第一驗證日志信息中的對象。3.根據權利要求2所述的報錯信息處理方法,其特征在于,所述響應于所述查詢請求,執行所述第一目標函數,得到對象查詢結果之前,所述方法還包括:獲取所述第一信息標識對應的第一函數腳本;根據所述第一信息標識,通過所述電子設計自動化軟件的可擴展接口對所述第一函數腳本進行注冊,得到所述第一目標函數;建立所述第一目標函數與所述第一信息標識之間的對應關系。4.根據權利要求3所述的報錯信息處理方法,其特征在于,所述獲取所述第一信息標識對應的第一函數腳本,包括:在所述電子設計自動化軟件的配置文件中存在預先定義的所述第一函數腳本的情況下,運行所述配置文件中的所述第一函數腳本;或者,接收用戶使用所述電子設計自動化軟件中的注冊命令,注冊或更新的所述第一信息標識對應的第一函數腳本。5.根據權利要求2所述的報錯信息處理方法,其特征在于,所述響應于所述查詢請求,執行所述第一信息標識對應的第一目標函數,得到對象查詢結果,包括:響應于所述查詢請求,檢查是否存在所述第一信息標識對應的第一目標函數;在存在所述第一目標函數的情況下,執行所述第一目標函數,得到對象查詢結果;所述方法還包括:在不存在所述第一目標函數的情況下,查詢所述第一信息標識對應的第一嚴重等級和第一詳細程度;根據所述第一嚴重等級和所述第一詳細程度,在所述日志文件中,查詢所述第一驗證日志信息中的信息,得到信息查詢結果;輸出所述信息查詢結果。6.根據權利要求1所述的報錯信息處理方法,其特征在于,所述接收用戶針對所述日志文件中第一信息標識的查詢請求,包括:
接收用戶對所述日志文件中的第一內容的選取操作;響應于所述選取操作,確定接收到用戶對所述日志文件中第一信息標識的查詢請求,其中,所述第一信息標識為所述第一內容對應的信息標識。7.根據權利要求1所述的報錯信息處理方法,其特征在于,所述將電子設計自動化軟件在運行過程中產生的驗證日志信息記錄到所述日志文件中之前,所述方法還包括:獲取json配置文件,所述json配置文件包括信息塊;所述將電子設計自動化軟件在運行過程中產生的驗證日志信息記錄到所述日志文件中,包括:將電子設計自動化軟件在運行過程中產生的驗證日志信息按照所述信息塊所規定的格式記錄到所述日志文件中;其中,所述信息塊包括:格式字符串字段,包括第一字段和占位符,所述第一字段用于填寫驗證日志信息,所述占位符為驗證日志信息中的對象進行占位;信息標識字符串,用于填寫信息標識;目標函數字符串,用于填寫函數腳本。8.根據權利要求7所述的報錯信息處理方法,其特征在于,所述方法還包括:接收用戶在所述目標函數字符串中填寫的所述第一函數腳本。9.根據權利要求7所述的報錯信息處理方法,其特征在于,所述接收json配置文件之后,所述方法還包括:根據所述json配置文件,創建逗號分隔值cvs文件;根據所述cvs文件,顯示圖形用戶界面,其中,所述圖形用戶界面包括第一子區域和第二子區域,所述第一子區域包括至少一行,每行用于顯示所述cvs文件中的一個驗證日志信息對應的以下信息:嚴重等級、信息標識、對象查詢結果、對象查詢結果的絕對路徑和行號;接收用戶對所述至少一行中第i行的第一輸入,i為正整數;響應于所述第一輸入,突出顯示所述第i行,并在所述第二子區域顯示所述第i行的信息;接收用戶對所述至少一行中第j行的對象查詢結果的第二輸入,j為正整數;響應于所述第二輸入,顯示所述第j行的對象查詢結果。10.根據權利要求1所述的報錯信息處理方法,其特征在于,所述方法還包括:在內存中創建日志數據結構;所述響應于所述查詢請求,在所述日志文件中,查詢所述第一信息標識對應的第一驗證日志信息中的對象,得到對象查詢結果之后,所述輸出所述對象查詢結果之前,所述方法還包括:將所述對象查詢結果存儲至所述日志數據結構中;所述輸出所述對象查詢結果之前,所述方法還包括:從所述日志數據結構中讀取所述對象查詢結果。11.根據權利要求1所述的報錯信息處理方法,其特征在于,所述輸出所述對象查詢結果之后,所述方法還包括:接收用戶輸入的第二信息標識,所述第二信息標識為用戶基于所述對象查詢結果確定
的感興趣的關聯信息標識;獲取所述第二信息標識對應的第二函數腳本;根據所述第二信息標識,通過所述電子設計自動化軟件的可擴展接口對所述第二函數腳本進行注冊,得到第二目標函數;執行所述第二目標函數,從日志數據結構中查詢所述第二信息標識對應的對象;輸出查詢到的所述第二信息標識對應的對象的相關信息。12.根據權利要求1所述的報錯信息處理方法,其特征在于,所述對象包括:數字芯片設計中的操作對象。13.根據權利要求12所述的報錯信息處理方法,其特征在于,所述數字芯片設計中的操作對象包括:連線、模塊、引腳、 端口。14.根據權利要求1所述的報錯信息處理方法,其特征在于,所述對象包括:統一低功耗格式標準的對象。15.根據權利要求14所述的報錯信息處理方法,其特征在于,所述統一功耗格式標準的對象包括以下至少一項:功耗域、電源線、電源節點之間的連接關系、隔離電路、電平轉換電路以及狀態保持電路。16.根據權利要求1所述的報錯信息處理方法,其特征在于,所述屬性信息包括以下至少一項:層次結構信息、網表信息、網表實例信息。17.根據權利要求1所述的報錯信息處理方法,其特征在于,所述連接對象信息包括連接對象的名稱信息和屬性信息。18.根據權利要求1所述的報錯信息處理方法,其特征在于,所述方法用于電子設計自動化軟件,所述電子設計自動化軟件為以下任一項:布局布線工具、硬件仿真加速工具、時序分析工具、功耗驗證工具、功耗分析工具、物理驗證工具、形式驗證工具、邏輯仿真工具、邏輯綜合工具。19.一種報錯信息處理裝置,其特征在于,包括:第一創建模塊,用于創建日志文件,將電子設計自動化軟件在運行過程中產生的驗證日志信息記錄到所述日志文件中,其中,每個所述驗證日志信息具有一個對應的信息標識;第一接收模塊,用于接收用戶針對所述日志文件中第一信息標識的查詢請求;第一查詢模塊,用于響應于所述查詢請求,在所述日志文件中,查詢所述第一信息標識對應的第一驗證日志信息中的對象,得到對象查詢結果,其中,所述對象查詢結果包括查詢到的對象的相關信息,所述相關信息包括名稱信息、屬性信息和連接對象信息中的至少一項;第一輸出模塊,用于輸出所述對象查詢結果。20.一種報錯信息處理設備,其特征在于,所述設備包括:處理器以及存儲有計算機程序指令的存儲器;所述處理器執行所述計算機程序指令時實現如權利要求1至18中任意一項所述的報錯信息處理方法。21.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有計算機程序指令,所述計算機程序指令被處理器執行時實現如權利要求1至18中任意一項所述的報錯信息處理方法。22.一種計算機程序產品,其特征在于,所述計算機程序產品中的指令由電子設備的處
理器執行時,使得所述電子設備執行如權利要求1至18中任意一項所述的報錯信息處理方法。
技術總結
本申請公開了一種報錯信息處理方法、裝置、設備、存儲介質和程序產品,包括:創建日志文件,將電子設計自動化軟件在運行過程中產生的驗證日志信息記錄到所述日志文件中,其中,每個所述驗證日志信息具有一個對應的信息標識;接收用戶針對所述日志文件中第一信息標識的查詢請求;響應于所述查詢請求,在所述日志文件中,查詢所述第一信息標識對應的第一驗證日志信息中的對象,得到對象查詢結果,所述對象查詢結果包括查詢到的對象的相關信息,所述相關信息包括名稱信息、屬性信息和連接對象信息中的至少一項;輸出所述對象查詢結果。本申請能夠幫助用戶盡早發現芯片設計問題并改進芯片設計,減少由于設計偏差帶來的時間成本和經濟成本。經濟成本。經濟成本。
