TWI437390B - 混合模擬系統及方法 - Google Patents
混合模擬系統及方法 Download PDFInfo
- Publication number
- TWI437390B TWI437390B TW100100723A TW100100723A TWI437390B TW I437390 B TWI437390 B TW I437390B TW 100100723 A TW100100723 A TW 100100723A TW 100100723 A TW100100723 A TW 100100723A TW I437390 B TWI437390 B TW I437390B
- Authority
- TW
- Taiwan
- Prior art keywords
- simulation
- tracking
- unit
- real
- file
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本發明是有關於一種混合模擬系統及方法。
現今系統晶片設計常採用週期精準的模擬器以模擬真實硬體設計執行後的系統效能,並據以作為硬體架構開發設計的依據。電子系統層級(Electronic System Level,ESL)的設計流程可建立一更有效且為系統層級的開發環境,根據不同需求提供不同層級的硬體架構模型,故得以基於模擬方式在系統設計初期達到效能分析及快速架構探索的目的。
然而,現今的電子裝置必須整合包括通訊及影音等各種多媒體應用於單一系統,使得系統設計日趨複雜。對應於日益龐大複雜的架構設計,冗長的模擬過程成為開發過程中必須克服之問題。此外,系統晶片的設計趨勢走向多核心設計。面對越來越複雜的平行處理模擬開發環境,目前單一執行序的軟體模擬方法會導致不可容忍的效能減緩。
舉例來說,在程式執行過程中發生的錯誤常需要多次反覆的模擬再配合對應的除錯方法方能解決。然而,多次重複模擬必須忍受漫長過程,導致軟體開發的不便。同理,在架構探索上為針對系統效能瓶頸做詳細分析,亦必須經過漫長模擬過程,才能得到重要區段的分析結果,浪費大量開發時間。是故,如何縮短並加速漫長的模擬過程已成為越來越重要的設計議題。
根據本揭露書之第一方面,提出一種混合模擬模型,包括一真實模型、一匯流排介面以及一加速模型。真實模型用以模擬一指令群集在一硬體設計上的執行。匯流排介面用以提供真實模型存取硬體設計之其他模型的功能。加速模型包括一追蹤產生單元、一追蹤播放單元、一選擇單元、一快照產生及載入單元及一虛擬中斷點控制單元。追蹤產生單元用以在真實模型執行一第一次模擬時記錄真實模型存取其他模型的行為為至少一追蹤檔案,並儲存至少此追蹤檔案至一電腦可使用媒介。追蹤播放單元用以在第一次模擬後的多次重複模擬中讀取至少此追蹤檔案並據以進行存取的動作。選擇單元用以在此些次重複模擬中動態切換至真實模型以進行一真實模擬或切換至追蹤播放單元以進行一追蹤模擬。快照產生及載入單元用以在真實模型執行第一次模擬時產生對應至少一特定時間點之至少一狀態快照檔案且儲存至電腦可使用媒介,並在此些次重複模擬中切換至真實模型時載入對應的至少此狀態快照檔案至真實模型。虛擬中斷點控制單元用以依據一除錯器在至少此追蹤檔案中設定的一虛擬中斷點控制選擇單元以在此些次重複模擬中於追蹤模擬及真實模擬間切換。
根據本揭露書之第二方面,提出一種混合模擬方法,包括下列步驟。利用一真實模型以模擬一指令群集在一硬體設計上的執行,並利用一匯流排介面以提供真實模型存取硬體設計之其他模型的功能。利用真實模型執行一第一次模擬。利用一追蹤產生單元以在第一次模擬時記錄真實模型存取其他模型的行為為至少一追蹤檔案,並儲存至少此追蹤檔案至一電腦可使用媒介。利用一快照產生及載入單元以在第一次模擬時產生對應至少一特定時間點之至少一狀態快照檔案且儲存至電腦可使用媒介。利用一虛擬中斷點控制單元以依據一除錯器在至少此追蹤檔案中設定的一虛擬中斷點控制一選擇單元在第一次模擬後的多次重複模擬中於一追蹤模擬及一真實模擬間切換。利用一追蹤播放單元以在多次重複模擬中讀取至少此追蹤檔案並據以進行存取的動作。利用快照產生及載入單元以在此些次重複模擬中切換至真實模型時載入對應的至少此狀態快照檔案至真實模型以進行真實模擬。利用選擇單元以在此些次重複模擬中動態切換至真實模型以進行真實模擬或切換至追蹤播放單元以進行追蹤模擬。
為了對本揭露書之上述及其他方面有更佳的瞭解,下文特舉一實施例,並配合所附圖式,作詳細說明如下:
本揭露書所提出之混合模擬系統(hybrid simulation system)及方法,可自動產生一混合模擬模型,在模擬過程中可動態切換於真實模擬(real simulation)及追蹤模擬(trace-driven simulation)之間,故得以在維持模擬精準度的情況下改善冗長之模擬過程,並可透過多階層追蹤檔案切換不同精準度之追蹤模擬而達到不同倍數之加速效果。
請參照第1圖,其繪示依照一實施例之混合模擬系統之示意圖。本實施例中之混合模擬系統可由個人電腦(PC)、工作站(Workstation)或大型電腦(Mainframe)所實現,並不限制。於第1圖中,混合模擬系統10包括一混合模擬模型產生器100及一混合模擬模型200。混合模擬模型產生器100用以依據一輸入設定資料及一真實模型(real model)資料產生混合模擬模型200。混合模擬模型產生器100包括一多階層追蹤模擬建立(multi-level trace simulation building)單元102、一狀態快照備份/恢復建立(snapshot backup and recovery building)單元104以及一虛擬中斷點控制產生(virtual breakpoint control generating)單元106。
多階層追蹤模擬建立單元102用以基於在輸入設定資料中之一輸入追蹤設定及在真實模型資料中之一匯流排介面(bus interface)的類型建立混合模擬模型200之一追蹤產生(trace generation)單元206及一追蹤播放(trace replay)單元208。多階層追蹤模擬建立單元102在讀取輸入追蹤設定後決定相關的追蹤檔案的追蹤階層(trace level),並定義每個追蹤階層所記錄之訊號內容及時間以建立追蹤檔案格式,供追蹤產生單元206據以建立追蹤檔案或供追蹤播放單元208據以重複播放追蹤檔案。
狀態快照備份/恢復建立單元104用以基於在輸入設定資料中之一輸入備份/恢復設定及真實模型資料建立混合模擬模型200之一快照產生及載入(snapshot generation and load)單元212。狀態快照備份/恢復建立單元104在讀取輸入備份/恢復設定後定義混合模擬模型200之一真實模型202於執行第一次模擬時在切換點所需備份之例如暫存器、記憶體、各種狀態或相關變數等內部資源。此外,狀態快照備份/恢復建立單元104亦定義上述內部資源的存取方法而得以在切換點上產生對應的狀態快照檔案,並得以在後續模擬過程中載入以執行真實模擬。
虛擬中斷點控制產生單元106用以基於真實模型資料中之匯流排介面的類型建立選擇單元210,並基於一除錯器(debugger)110建立混合模擬模型200之一虛擬中斷點控制(virtual breakpoint control)單元214。虛擬中斷點控制產生單元106所建立之虛擬中斷點控制單元214電性連接上層之除錯器110,並根據除錯需求動態控制多階層追蹤切換之切換流程和切換時間。藉由上述的自動操作,多階層追蹤模擬建立單元102、狀態快照備份/恢復建立單元104以及虛擬中斷點控制產生單元106三者建立了混合模擬系統10中之混合模擬模型200。
混合模擬模型200包括一真實模型202、一匯流排介面204以及一加速模型。真實模型202可依據真實模型資料建立,其實質用以模擬一指令群集在一硬體設計上的執行。匯流排介面204用以提供真實模型202存取硬體設計中之其他子模型(slave model)(未繪示於圖)的功能。加速模型包括一追蹤產生單元206、一追蹤播放單元208、一選擇單元210、一快照產生及載入單元212及一虛擬中斷點控制單元214。加速模型主要用以與真實模型202進行整合並提供動態多階層追蹤切換的功能,以在維持模擬精準度的情況下改善冗長之模擬過程。
追蹤產生單元206用以在真實模型202執行一第一次模擬(完整模擬)時記錄真實模型202存取硬體設計中之其他子模型的行為為至少一追蹤檔案,並儲存至少此追蹤檔案至一電腦可使用媒介120。其中,對應於多階層追蹤模擬建立單元102所決定的追蹤階層,至少一追蹤檔案包括對應至不同階層之多個追蹤檔案,每一個階層的追蹤檔案對應至不同的模擬精準度及模擬速度。每一個追蹤檔案的內容包括存取時間、存取控制、存取位址或存取資料等。
茲舉對應於三追蹤階層的三追蹤檔案為例進行說明,然並不限於此。對應於較低層級的追蹤階層0之追蹤檔案例如包括真實模型202對外完整的存取動作,並且針對此些動作詳細記錄對應的時間、讀寫控制、位址、資料以及相關匯流排協定之控制資訊。對應於較高層級的追蹤階層1之追蹤檔案例如省略了上述的匯流排協定之控制資訊。對應於最高層級的追蹤階層2之追蹤檔案例如僅記錄真實模型202對外的寫出動作。此外,不同階層的追蹤檔案可在第一次模擬依據不同的需求在不同的時脈(cycle)間產生,亦可在第一次模擬中全程同步產生最低層級的追蹤檔案,並經由離線(off-line)處理轉換得到其他較高層級的追蹤檔案,以降低整體系統的額外負擔。
追蹤階層越低的追蹤檔案所記錄的資訊越詳細,故在之後的重複模擬中越能精準地重現模擬過程,並且保持較完整的資訊以供進行分析,但相對地模擬速度會較緩慢且追蹤檔案亦較龐大。反之,追蹤階層越高的追蹤檔案所記錄的資訊越少,故在之後的重複模擬具有較好的模擬效能且追蹤檔案較小,但相對地損失部份精準度。本實施例之混合模擬系統可利用多階層追蹤模擬提供更好的模擬彈性,根據需求選擇不同追蹤階層的追蹤檔案進行模擬,可在維持特定精準度的情況下有效提高模擬速度。相較之下,傳統的追蹤模擬僅能單純地重複播放單一追蹤檔案,失去了使用彈性,且無法對於真實模型內部進行任何分析探索,導致系統層級的模擬無法兼具細部架構探索和模擬效能提升之兩項優點。
追蹤播放單元208用以在第一次模擬後的多次重複模擬中依據需求讀取儲存於電腦可使用媒介120中對應的追蹤檔案,並據以進行存取的動作而播放產生對應的匯流排交通(bus traffic)。選擇單元210例如為一雙工器,其實質上受控於虛擬中斷點控制單元214,用以在第一次模擬後續之多次重複模擬中動態切換至真實模型202以進行一真實模擬或切換至追蹤播放單元208以進行一追蹤模擬。
快照產生及載入單元212用以在真實模型202執行第一次模擬時產生對應至少一特定時間點之至少一狀態快照檔案且儲存至電腦可使用媒介120,並在多次重複模擬中當選擇單元210切換至真實模型202時載入對應特定時間點的狀態快照檔案至真實模型202,故得以在追蹤模擬之後由真實模型202緊接著執行真實模擬。虛擬中斷點控制單元214用以依據除錯器110在追蹤檔案中設定的一虛擬中斷點中斷模擬流程以控制選擇單元210以在多次重複模擬中於追蹤模擬及真實模擬間切換。
請參照第2圖,其繪示依照一實施例之硬體設計之架構探索重複模擬之一例之示意圖。於第2圖中,整個重複模擬的過程被分為三個時段,第0~4000個時脈假定為非重要時間區段而不作分析和探索;第4000~8000個時脈假定要藉由模擬探索硬體設計內部互相連繫的架構;第8000~10000個時脈假定欲探索真實模型202的內部參數。為避免冗長的前置模擬,在模擬起始的第0~4000個時脈將較高層級的追蹤檔案(追蹤階層1)載入追蹤播放單元208而以一追蹤模擬取代真實模擬。由於追蹤檔案(追蹤階層1)記錄得資訊較少並省略內部運算動作,故在第0~4000個時脈期間的模擬可視為以為最高速度執行。
由於追蹤檔案(追蹤階層0)較追蹤檔案(追蹤階層1)記錄更多的資訊,可詳細且完整地對硬體設計內部互相連繫的架構作效能的分析。因此在模擬過程的第4000~8000個時脈將追蹤檔案(追蹤階層0)載入追蹤播放單元208以執行另一階段的追蹤模擬。之後,在第8000~10000個時脈載入狀態快照檔案至真實模型202進行初始化後,即可接續後段之真實模擬以分析真實模型202的內部參數所造成之效能影響。透過上述的流程進行多次重複的分析,藉由在模擬過程彈性選擇不同階層的追蹤模擬,即可有效地縮短模擬過程冗長的等待時間。通常,越接近真實模擬之追蹤模擬所載入的追蹤檔案對應的追蹤層級較低,然並不限於此。
此外,虛擬中斷點控制單元214可控制多個切換點的設定位置,以控制追蹤播放單元208在每一個切換點執行不同階層的追蹤模擬以達成一目標模擬速度或一目標模擬精準度。亦即,虛擬中斷點控制單元214依據目標模擬速度或目標模擬精準度及每一階層的追蹤檔案對應的模擬精準度或模擬速度計算不同階層的追蹤模擬的執行時間,並依據計算得到執行時間設定切換點。
茲舉第2圖中之追蹤檔案(追蹤階層1)對應至10倍加速及80%的精準度且追蹤檔案(追蹤階層0)對應至6倍加速及100%的精準度為例做說明。若目標模擬速度為9倍加速,由於10×0.75+6×0.25=9,故虛擬中斷點控制單元214會設定切換點的位置第6000個時脈,以使得第一階段的追蹤模擬的時間長度與第二階段的追蹤模擬的時間長度比為3:1,如此即可達成9倍加速的目標模擬速度。此外,若目標模擬精準度為85%,由於80×0.75+100×0.25=85,故虛擬中斷點控制單元214會設定切換點的位置第6000個時脈,以使得第一階段的追蹤模擬的時間長度與第二階段的追蹤模擬的時間長度比為3:1,如此即可達成85%的目標模擬精準度。
虛擬中斷點控制單元214可更進一步地設定虛擬中斷點,例如為第2圖中之第8000的時脈,以從追蹤模擬切換到真實模擬,使得真實模型202的內部參數可被逐步地詳細檢視。開發者可如同一般之除錯動作在特定指令設定一中斷點,此中斷點會經由工具鏈(tool chain)而轉換成對應的位址並透過除錯器110送至虛擬中斷點控制單元214。虛擬中斷點控制單元214會依據目標模擬速度或目標模擬精準度設定切換點,並依據轉換後的位址設定一虛擬中斷點至追蹤檔案。如此一來,當混合模擬模型200開始執行模擬之後,虛擬中斷點控制單元214會依據追蹤檔案中的切換點控制追蹤播放單元208切換不同階層的追蹤模擬,並當追蹤檔案中的虛擬中斷點觸發時控制選擇單元210切換至真實模型202以進行真實模擬,如此開發者即可進行單步執行的除錯動作。相較於傳統的除錯方法必須精準比對轉換後的位址與真實模擬時的記憶體位址,本案在追蹤檔案中的虛擬中斷點被觸發後即可進行除錯動作而不需進行位址比對,可提升系統效能。
請參照第3圖,其繪示依照一實施例之混合模擬方法之流程圖。於步驟S300中,利用一真實模型以模擬一指令群集在一硬體設計上的執行,並利用一匯流排介面以提供真實模型存取硬體設計之其他子模型的功能。於步驟S310中,利用真實模型執行一第一次模擬。於步驟S320中,利用一追蹤產生單元以在第一次模擬時記錄真實模型存取其他子模型的行為為至少一追蹤檔案,並儲存至少追蹤檔案至一電腦可使用媒介。於步驟S330中,利用一快照產生及載入單元以在第一次模擬時產生對應至少一特定時間點之至少一狀態快照檔案且儲存至電腦可使用媒介。
於步驟S340中,利用一虛擬中斷點控制單元以依據一除錯器在至少此追蹤檔案中設定的一虛擬中斷點控制一選擇單元在第一次模擬後的多次重複模擬中於一追蹤模擬及一真實模擬間切換。於步驟S350中,利用一追蹤播放單元以在多次重複模擬中讀取至少此追蹤檔案並據以進行存取的動作。於步驟S360中,利用快照產生及載入單元以在多次重複模擬中切換至真實模型時載入對應的至少此狀態快照檔案至真實模型以進行真實模擬。於步驟S370中,利用選擇單元以在多次重複模擬中動態切換至真實模型以進行真實模擬或切換至追蹤播放單元以進行追蹤模擬。
上述之混合模擬方法,其運作原理係已詳述於混合模擬系統10及相關敘述中,故於此不再重述。
請參照第4圖,其繪示依照一實施例之混合模擬方法之部份詳細流程圖。第4圖實質上為第3圖之混合模擬方法之一例之部份詳細流程圖,但不限於此。於步驟S400中,執行第一次模擬並產生對應的追蹤檔案及狀態快照檔案。於步驟S410,由第一次模擬的結果估測得到對應的效能及精準度。於步驟S420中,設定目標模擬速度或目標模擬精準度。於步驟S430中,重新啟動模擬過程以進行除錯。於步驟S440中,設定虛擬中斷點。於步驟S450中,載入對應的追蹤檔案,並執行對應的追蹤模擬。於步驟S460中,判斷切換點或虛擬中斷點是否觸發。若切換點觸發,則回到步驟S450。若虛擬中斷點觸發,則進入步驟S470,載入狀態快照檔案。於步驟S480中,執行真實模擬以逐步檢視真實模型的詳細內容。於步驟S480之後整個模擬流程結束。此外,若欲進行另一次檢測,則在步驟S480之後亦可回到步驟S440,重新設定新的虛擬中斷點。
本揭露書上述實施例所揭露之之混合模擬系統及方法,透過簡單的設定輸入可自動產生一混合模擬模型,藉由不同階層的追蹤檔案及狀態快照檔案之輔助,在模擬過程中可動態切換於真實模擬及追蹤模擬之間;針對模擬過程中高重複性且非重要效能分析之區段採用追蹤模擬,而對於重要關鍵之區段則立即動態切換採用真實模擬,故得以在維持模擬精準度的情況下改善冗長之模擬過程,並可透過多階層追蹤檔案切換不同精準度之追蹤模擬而達到不同倍數之加速效果。
綜上所述,雖然本發明已以多個實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10...混合模擬系統
100...混合模擬模型產生器
102...多階層追蹤模擬建立單元
104...狀態快照備份及恢復建立單元
106...虛擬中斷點控制產生單元
110...除錯器
120...電腦可使用媒介
200...混合模擬模型
202...真實模型
204...匯流排介面
206...追蹤產生單元
208...追蹤播放單元
210...選擇單元
212...快照產生及載入單元
214...虛擬中斷點控制單元
第1圖繪示依照一實施例之混合模擬系統之示意圖。
第2圖繪示依照一實施例之硬體設計之架構探索重複模擬之一例之示意圖。
第3圖繪示依照一實施例之混合模擬方法之流程圖。
第4圖繪示依照一實施例之混合模擬方法之部份詳細流程圖。
10...混合模擬系統
100...混合模擬模型產生器
102...多階層追蹤模擬建立單元
104...狀態快照備份及恢復建立單元
106...虛擬中斷點控制產生單元
110...除錯器
120...電腦可使用媒介
200...混合模擬模型
202...真實模型
204...匯流排介面
206...追蹤產生單元
208...追蹤播放單元
210...選擇單元
212...快照產生及載入單元
214...虛擬中斷點控制單元
Claims (16)
- 一種混合模擬系統,包括:一混合模擬模型,包括:一真實模型,用以模擬一指令群集在一硬體設計上的執行;一匯流排介面,用以提供該真實模型存取該硬體設計之其他子模型的功能;以及一加速模型,包括:一追蹤產生單元,用以在該真實模型執行一第一次模擬時記錄該真實模型存取其他子模型的行為為至少一追蹤檔案,並儲存至少該追蹤檔案至一電腦可使用媒介;一追蹤播放單元,用以在該第一次模擬後的複數次重複模擬中讀取至少該追蹤檔案並據以進行存取的動作;一選擇單元,用以在該些次重複模擬中動態切換至該真實模型以進行一真實模擬或切換至該追蹤播放單元以進行一追蹤模擬;一快照產生及載入單元,用以在該真實模型執行該第一次模擬時產生對應至少一特定時間點之至少一狀態快照檔案且儲存至該電腦可使用媒介,並在該些次重複模擬中切換至該真實模型時載入對應的至少該狀態快照檔案至該真實模型;及一虛擬中斷點控制單元,用以依據一除錯器在至少該追蹤檔案中設定的一虛擬中斷點控制該選擇單元以在該些次重複模擬中於該追蹤模擬及該真實模擬間切換。
- 如申請專利範圍第1項所述之混合模擬系統,更包括一多階層追蹤模擬建立單元,用以基於一輸入追蹤設定及該匯流排介面的類型建立該追蹤產生單元及該追蹤播放單元。
- 如申請專利範圍第1項所述之混合模擬系統,更包括一狀態快照備份/恢復單元,用以基於一輸入備份/恢復設定及該真實模型建立該快照產生及載入單元。
- 如申請專利範圍第1項所述之混合模擬系統,更包括一虛擬中斷點控制產生單元,用以基於該匯流排介面的類型建立該選擇單元,並基於該除錯器建立該虛擬中斷點控制單元。
- 如申請專利範圍第1項所述之混合模擬系統,其中在該些次重複模擬中,該虛擬中斷點控制單元在該虛擬中斷點之前控制該選擇單元切換至該追蹤播放單元以進行該追蹤模擬,並在該虛擬中斷點控制該選擇單元切換至該真實模型以進行該真實模擬。
- 如申請專利範圍第1項所述之混合模擬系統,其中該至少一追蹤檔案包括對應至複數個階層之複數個追蹤檔案,每一個階層的追蹤檔案對應至不同的模擬精準度及模擬速度。
- 如申請專利範圍第6項所述之混合模擬系統,其中該虛擬中斷點控制單元更可設定複數個切換點,以控制該追蹤播放單元在該虛擬中斷點前在每一個切換點執行不同階層的追蹤模擬以達成一目標模擬速度或一目標模 擬精準度。
- 如申請專利範圍第7項所述之混合模擬系統,其中該虛擬中斷點控制單元依據該目標模擬速度或該目標模擬精準度及每一階層的追蹤檔案對應的模擬精準度或模擬速度計算不同階層的追蹤模擬的執行時間,並依據該些執行時間設定該些切換點。
- 一種混合模擬方法,包括:利用一真實模型以模擬一指令群集在一硬體設計上的執行,並利用一匯流排介面以提供該真實模型存取該硬體設計之其他子模型的功能;利用該真實模型執行一第一次模擬;利用一追蹤產生單元以在該第一次模擬時記錄該真實模型存取其他子模型的行為為至少一追蹤檔案,並儲存至少該追蹤檔案至一電腦可使用媒介;利用一快照產生及載入單元以在該第一次模擬時產生對應至少一特定時間點之至少一狀態快照檔案且儲存至該電腦可使用媒介;利用一虛擬中斷點控制單元以依據一除錯器在至少該追蹤檔案中設定的一虛擬中斷點控制一選擇單元在該第一次模擬後的複數次重複模擬中於一追蹤模擬及一真實模擬間切換;利用一追蹤播放單元以在該第一次模擬後的該些次重複模擬中讀取至少該追蹤檔案並據以進行存取的動作;利用該快照產生及載入單元以在該些次重複模擬中切換至該真實模型時載入對應的至少該狀態快照檔案至該真實模型以進行該真實模擬;以及利用該選擇單元以在該些次重複模擬中動態切換至該真實模型以進行該真實模擬或切換至該追蹤播放單元以進行該追蹤模擬。
- 如申請專利範圍第9項所述之混合模擬方法,更包括:利用一多階層追蹤模擬建立單元以基於一輸入追蹤設定及該匯流排介面的類型建立該追蹤產生單元及該追蹤播放單元。
- 如申請專利範圍第9項所述之混合模擬方法,更包括:利用一狀態快照備份/恢復單元以基於一輸入備份/恢復設定及該真實模型建立該快照產生及載入單元。
- 如申請專利範圍第9項所述之混合模擬方法,更包括:利用一虛擬中斷點控制產生單元以基於該匯流排介面的類型建立該選擇單元,並基於該除錯器建立該虛擬中斷點控制單元。
- 如申請專利範圍第9項所述之混合模擬方法,更包括:在該些次重複模擬中,利用該虛擬中斷點控制單元在該虛擬中斷點之前控制該選擇單元切換至該追蹤播放單元以進行該追蹤模擬,並在該虛擬中斷點控制該選擇單元切換至該真實模型以進行該真實模擬。
- 如申請專利範圍第9項所述之混合模擬方法,其中該至少一追蹤檔案包括對應至複數個階層之複數個追蹤檔案,每一個階層的追蹤檔案對應至不同的模擬精準度及模擬速度。
- 如申請專利範圍第14項所述之混合模擬方法,更包括:利用該虛擬中斷點控制單元設定複數個切換點,以控制該追蹤播放單元在該虛擬中斷點前在每一個切換點執行不同階層的追蹤模擬以達成一目標模擬速度或一目標模擬精準度。
- 如申請專利範圍第15項所述之混合模擬模型,更包括:利用該虛擬中斷點控制單元依據該目標模擬速度或該目標模擬精準度及每一階層的追蹤檔案對應的模擬精準度或模擬速度計算不同階層的追蹤模擬的執行時間,並依據該些執行時間設定該些切換點。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100100723A TWI437390B (zh) | 2011-01-07 | 2011-01-07 | 混合模擬系統及方法 |
US13/107,444 US8645116B2 (en) | 2011-01-07 | 2011-05-13 | Hybrid simulation system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100100723A TWI437390B (zh) | 2011-01-07 | 2011-01-07 | 混合模擬系統及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201229700A TW201229700A (en) | 2012-07-16 |
TWI437390B true TWI437390B (zh) | 2014-05-11 |
Family
ID=46455938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100100723A TWI437390B (zh) | 2011-01-07 | 2011-01-07 | 混合模擬系統及方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8645116B2 (zh) |
TW (1) | TWI437390B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130091096A (ko) * | 2012-02-07 | 2013-08-16 | 한국전자통신연구원 | 하이브리드 시스템을 검증하기 위한 시뮬레이션 장치 및 방법 |
CN105009005B (zh) | 2013-02-19 | 2018-05-11 | 英派尔科技开发有限公司 | 可编程逻辑电路中硬件加速器镜像的测试与修复 |
GB2512888A (en) | 2013-04-10 | 2014-10-15 | Ibm | Verification assistance method in particular for the design of digital circuits |
US10339229B1 (en) | 2013-05-31 | 2019-07-02 | Cadence Design Systems, Inc. | Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system |
US9262299B1 (en) * | 2013-05-31 | 2016-02-16 | Cadence Design Systems, Inc. | Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system |
US9262305B1 (en) * | 2013-05-31 | 2016-02-16 | Cadence Design Systems, Inc. | Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system |
US9690686B1 (en) | 2014-03-31 | 2017-06-27 | Cadence Design Systems, Inc. | Method for setting breakpoints in automatically loaded software |
CN104298125B (zh) * | 2014-08-27 | 2017-09-15 | 北京华力创通科技股份有限公司 | 模块化cpci配线箱 |
US11487561B1 (en) | 2014-12-24 | 2022-11-01 | Cadence Design Systems, Inc. | Post simulation debug and analysis using a system memory model |
US10802852B1 (en) * | 2015-07-07 | 2020-10-13 | Cadence Design Systems, Inc. | Method for interactive embedded software debugging through the control of simulation tracing components |
KR101717357B1 (ko) * | 2015-07-29 | 2017-03-16 | 엘에스산전 주식회사 | 에너지 관리 시스템의 스터디 모드 관리 장치 및 방법 |
CN105138459B (zh) * | 2015-09-11 | 2019-02-15 | 珠海豹趣科技有限公司 | 一种对软件程序进行测试的方法及装置 |
WO2017179120A1 (ja) | 2016-04-12 | 2017-10-19 | 三菱電機株式会社 | シミュレーション再現装置およびシミュレーション再現プログラム |
US10452516B2 (en) * | 2017-07-10 | 2019-10-22 | Microsoft Technology Licensing, Llc | Replaying time-travel traces relying on processor undefined behavior |
US11132280B2 (en) * | 2019-02-08 | 2021-09-28 | Microsoft Technology Licensing, Llc | Automatically identifying and highlighting differences between historic traces |
US11237947B2 (en) | 2020-01-15 | 2022-02-01 | Microsoft Technology Licensing, Llc | Diffing a plurality of subject replayable execution traces against a plurality of comparison replayable execution traces |
US11698847B2 (en) | 2020-01-15 | 2023-07-11 | Microsoft Technology Licensing, Llc | Diffing a subject replayable execution trace against a comparison replayable execution trace |
US11698848B2 (en) * | 2020-01-15 | 2023-07-11 | Microsoft Technology Licensing, Llc | Diffing a subject replayable execution trace against a plurality of comparison replayable execution traces |
US11243869B2 (en) | 2020-01-15 | 2022-02-08 | Microsoft Technologly Licensing, LLC | Diffing of replayable execution traces |
CN111859614B (zh) * | 2020-06-10 | 2021-08-31 | 中国人民解放军海军航空大学航空作战勤务学院 | 一种面向仿真***的多功能高级复盘方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7379860B1 (en) * | 2002-03-29 | 2008-05-27 | Cypress Semiconductor Corporation | Method for integrating event-related information and trace information |
US7328429B2 (en) | 2003-11-13 | 2008-02-05 | Intel Corporation | Instruction operand tracing for software debug |
US8554486B2 (en) | 2004-02-20 | 2013-10-08 | The Mathworks, Inc. | Method, computer program product, and apparatus for selective memory restoration of a simulation |
US7203877B2 (en) * | 2005-01-04 | 2007-04-10 | Lsi Logic Corporation | Failure analysis and testing of semi-conductor devices using intelligent software on automated test equipment (ATE) |
US20060267820A1 (en) * | 2005-05-16 | 2006-11-30 | Swoboda Gary L | Tracing sources with export routing information provided by the source |
US7409330B2 (en) | 2005-06-16 | 2008-08-05 | Kabushiki Kaisha Toshiba | Method and system for software debugging using a simulator |
US7899661B2 (en) | 2006-02-16 | 2011-03-01 | Synopsys, Inc. | Run-time switching for simulation with dynamic run-time accuracy adjustment |
WO2007104930A1 (en) | 2006-03-10 | 2007-09-20 | Imperas Ltd | Method of developing a multi-processor system |
US7397275B2 (en) | 2006-06-21 | 2008-07-08 | Element Cxi, Llc | Element controller for a resilient integrated circuit architecture |
US7429870B2 (en) | 2006-06-21 | 2008-09-30 | Element Cxi, Llc | Resilient integrated circuit architecture |
TWI378356B (en) | 2009-04-21 | 2012-12-01 | Nat Univ Tsing Hua | Method and device for multi-core instruction-set simulation |
-
2011
- 2011-01-07 TW TW100100723A patent/TWI437390B/zh active
- 2011-05-13 US US13/107,444 patent/US8645116B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20120179447A1 (en) | 2012-07-12 |
TW201229700A (en) | 2012-07-16 |
US8645116B2 (en) | 2014-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI437390B (zh) | 混合模擬系統及方法 | |
CN112580295B (zh) | 多核SoC芯片的自动化验证方法、***及装置 | |
US10565087B2 (en) | Tentative execution of code in a debugger | |
EP4014119B1 (en) | Data race analysis based on altering function internal loads during time-travel debugging | |
Lin et al. | Improving the accuracy of automated GUI testing for embedded systems | |
US8036874B2 (en) | Software executing device and co-operation method | |
US20130024178A1 (en) | Playback methodology for verification components | |
Zuolo et al. | SSDExplorer: A virtual platform for performance/reliability-oriented fine-grained design space exploration of solid state drives | |
CN117077588B (zh) | 硬件加速仿真调试*** | |
Breivold et al. | Virtualize for test environment in industrial automation | |
US7895027B2 (en) | HDL re-simulation from checkpoints | |
CN117075570A (zh) | 数据处理方法、设备及*** | |
US20090150137A1 (en) | Method for generating performance evaluation model | |
Hong et al. | Creation and utilization of a virtual platform for embedded software optimization: An industrial case study | |
Chuang et al. | Hybrid approach to faster functional verification with full visibility | |
US10929584B1 (en) | Environmental modification testing for design correctness with formal verification | |
US20140325468A1 (en) | Storage medium, and generation apparatus for generating transactions for performance evaluation | |
Perez et al. | Runtime verification and validation of functional reactive systems | |
JP5454349B2 (ja) | 性能推定装置 | |
CN108181834B (zh) | 基于pscad/emtdc的半实物仿真的方法以及*** | |
US8914274B1 (en) | Method and system for instruction set simulation with concurrent attachment of multiple debuggers | |
JP5390464B2 (ja) | シミュレーション装置、シミュレーション装置の制御方法およびプログラム | |
CN113342649B (zh) | 基于真实目标机实现单元测试的方法、介质和设备 | |
JP5288124B2 (ja) | 論理シミュレーションシステム、論理シミュレーション方法及び論理シミュレーションプログラム | |
Kra | A cross-debugging method for hardware/software co-design environments |