TWI448968B - 系統級模擬與仿真之裝置及方法 - Google Patents

系統級模擬與仿真之裝置及方法 Download PDF

Info

Publication number
TWI448968B
TWI448968B TW101127472A TW101127472A TWI448968B TW I448968 B TWI448968 B TW I448968B TW 101127472 A TW101127472 A TW 101127472A TW 101127472 A TW101127472 A TW 101127472A TW I448968 B TWI448968 B TW I448968B
Authority
TW
Taiwan
Prior art keywords
simulation
property
specific
engine
intellectual property
Prior art date
Application number
TW101127472A
Other languages
English (en)
Other versions
TW201405426A (zh
Inventor
Cheng Yen Huang
Original Assignee
Faraday Tech Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Faraday Tech Corp filed Critical Faraday Tech Corp
Priority to TW101127472A priority Critical patent/TWI448968B/zh
Priority to CN201210332561.2A priority patent/CN103577623A/zh
Priority to US13/664,427 priority patent/US20140032202A1/en
Publication of TW201405426A publication Critical patent/TW201405426A/zh
Application granted granted Critical
Publication of TWI448968B publication Critical patent/TWI448968B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Description

系統級模擬與仿真之裝置及方法
本發明係有關於晶片設計過程中之模擬與仿真(Emulation),尤指一種系統級(System Level)模擬與仿真之裝置及其相關方法。
近年來由於半導體的技術不斷地發展,各種不同的晶片被廣泛地實施於諸多應用中。在發展這些晶片的過程中,晶片設計者往往需要模擬這些晶片的行為,以便改善設計、或展示設計成果予正在考慮採用這些晶片的電子裝置製造商。
依據相關技術,在某些狀況下,利用場域可程式化閘陣列(Field-Programmable Gate Array,以下簡稱為「FPGA」)來進行晶片模擬是一種可行的實施方法。尤其是,FPGA可以視為可再程式化的晶片,其中使用者可針對不同的設計需求來設定這些FPGA,以建置客製化的硬體功能。因此,在傳統的晶片模擬架構中,FPGA已成為某些電子裝置製造商中之研發團隊所偏好的選項;這是因為採用FPGA可以節省成本。然而,對晶片設計者而言,採用FPGA可能會產生某些問題。例如:FPGA不足的速度可導致失真的模擬結果。又例如:FPGA不足的速度會妨礙晶片設計成果的展示。
請注意,某些FPGA所能支援的頻率目前約為200百萬赫茲 (Megahertz,以下簡稱為「MHz」),此數值看起來並不足以支援最新晶片設計中之目標運作頻率。對某些應用而言,晶片的目標運作頻率可達500 MHz;對另一些應用而言,晶片的目標運作頻率可達十億赫茲(Gigahertz,以下簡稱為「GHz」)。傳統的晶片模擬架構實在無法滿足高階晶片設計之需求。因此,需要一種新穎的方法來提昇晶片模擬的效能。
因此本發明之目的之一在於提供一種系統級模擬與仿真之裝置及其相關方法,以解決上述問題。
本發明之另一目的在於提供一種系統級模擬與仿真之裝置及其相關方法,以滿足高階晶片設計之需求。
本發明之較佳實施例中提供一種系統級模擬與仿真之裝置。該裝置包含有:一模擬/仿真引擎、一既有智慧財產安裝平台、一快速驅動器(Speed Driver)、以及一智慧財產代理器(Intellectual Property Proxy)。該模擬/仿真引擎係用來進行模擬與仿真中之至少一者以使該裝置具備複數個智慧財產(Intellectual Property)模組之一第一部分,其中每一智慧財產模組提供一功能予該裝置。該既有智慧財產安裝平台係用來安裝具備既有智慧財產模組之一晶片以使該裝置具備該複數個智慧財產模組之一第二部分,其中該複數個智慧財產模組之該第二部分包含該些既有智慧財產模組中之一特定 智慧財產模組,且該特定智慧財產模組提供一特定功能予該裝置。另外,該快速驅動器係用來將該模擬/仿真引擎橋接至該模擬/仿真引擎與該既有智慧財產安裝平台之間的一互連(Interconnection),且提供針對該特定智慧財產模組之一快取服務予該模擬/仿真引擎。此外,該智慧財產代理器係用來將該既有智慧財產安裝平台橋接至該互連,且與該快速驅動器互動以支援針對該特定智慧財產模組之該快取服務。
本發明於提供上述系統級模擬與仿真之裝置之同時,亦對應地提供一種系統級模擬與仿真之方法。該方法包含有:利用一模擬/仿真引擎進行模擬與仿真中之至少一者以使該裝置具備複數個智慧財產模組之一第一部分,其中每一智慧財產模組提供一功能予該裝置;利用一既有智慧財產安裝平台以及其上所安裝具備既有智慧財產模組之一晶片進行運作,以使該裝置具備該複數個智慧財產模組之一第二部分,其中該複數個智慧財產模組之該第二部分包含該些既有智慧財產模組中之一特定智慧財產模組,且該特定智慧財產模組提供一特定功能予該裝置;利用一快速驅動器,將該模擬/仿真引擎橋接至該模擬/仿真引擎與該既有智慧財產安裝平台之間的一互連、且提供針對該特定智慧財產模組之一快取服務予該模擬/仿真引擎;以及利用一智慧財產代理器,將該既有智慧財產安裝平台橋接至該互連、且與該快速驅動器互動以支援針對該特定智慧財產模組之該快取服務。
本發明的好處之一是,本發明之裝置及方法能精確地模擬設計中的晶片之行為以實現仿真,同時能避免相關技術的問題(例如:FPGA不足的速度所導致之失真的模擬結果;又例如:FPGA不足的速度所導致之失敗的晶片設計成果展示)。另外,本發明之裝置及方法能利用使用者想要採用之各種不同的智慧財產模組進行系統級模擬與仿真,尤其是能利用其既有的、已驗證過的智慧財產模組(例如:相同型號之一個或多個已上市的晶片產品;又例如:一系列晶片產品當中之不同型號的晶片產品)進行系統級模擬與仿真,以達到最佳的晶片設計成果展示。針對某些應用,諸如晶片的目標運作頻率達到500 MHz或1 GHz者,本發明之裝置及方法均能滿足其需求,而不產生副作用。
第1圖為依據本發明一第一實施例之一種系統級模擬與仿真之裝置100的示意圖。裝置100包含有:一模擬/仿真引擎110、一快速驅動器120、一智慧財產代理器130、以及一既有智慧財產安裝平台140。模擬/仿真引擎110係用來進行模擬與仿真中之至少一者(例如:模擬與仿真;又例如:模擬或仿真)以使裝置100具備複數個智慧財產模組{IP}之一第一部分(例如:智慧財產模組{IP}中之一第一子集合{IPA }),其中每一智慧財產模組IP提供一功能予裝置100。既有智慧財產安裝平台140係用來安裝具備既有智慧財產模組{IPE }之一晶片以使裝置100具備該複數個智慧財產模組{IP}之一第二部分(例如:智慧財產模組{IP}中之一第二子集合{IPB }), 其中該複數個智慧財產模組{IP}之該第二部分(例如:智慧財產模組{IP}中之一第二子集合{IPB })包含該些既有智慧財產模組{IPE }中之一特定智慧財產模組IPS (例如:該些既有智慧財產模組{IPE }中之任一既有智慧財產模組IPE ),且特定智慧財產模組IPS 提供一特定功能予裝置100。
另外,快速驅動器120係用來將模擬/仿真引擎110橋接至模擬/仿真引擎110與既有智慧財產安裝平台140之間的一互連125,且提供針對特定智慧財產模組IPS 之一快取服務予模擬/仿真引擎110,其中快速驅動器120在進行橋接時能提供系統加速功能予裝置100,尤其是能(依照程式員的觀點)針對特定智慧財產模組IPS 來提供系統加速能力予裝置100。此外,智慧財產代理器130係用來將既有智慧財產安裝平台140橋接至該互連125,且與快速驅動器120互動以支援針對特定智慧財產模組IPS 之該快取服務,其中智慧財產代理器130在進行橋接時能支援上述之系統加速功能。請注意,依據本實施例之某些變化例,快速驅動器120以及智慧財產代理器130可分別稱為「針對施用引擎之特有快速驅動器(Native Speed Driver for Applied Engine)」以及「針對施用平台之特有智慧財產代理器(Native Intellectual Property Proxy for Applied Platform)」,這是因為快速驅動器120與智慧財產代理器130採用新穎的存取方案(其細節將於後續某些實施例中說明)。
依據本實施例,該互連125的兩側可以分別屬於不同的排程器 領域(Scheduler Domain)。例如:模擬/仿真引擎110與快速驅動器120可設置於排程器領域A,而既有智慧財產安裝平台140與智慧財產代理器130可設置於排程器領域B。
實作上,模擬/仿真引擎110的例子可包含(但不限於):具備系統工作臺(System Bench)之福利羅(Verilog,其為一種用來描述硬體的語言,業界慣用其原名稱「Verilog」;以下簡稱為「Verilog」)模擬器諸如所謂的NC-Verilog;系統仿真器(System Emulator)諸如快仿真器(QEMU,其為一種模擬處理器的軟體,業界慣用其原名稱「QEMU」;以下簡稱為「QEMU」)、席密斯(Simics,其為一種全系統模擬器,業界慣用其原名稱「Simics」)、開放虛擬平台模擬器(OVPsim,其為一種多處理器平台模擬器,業界慣用其原名稱「OVPsim」)...等。
另外,用來實施既有智慧財產安裝平台140的技術之例子可包含(但不限於):暫存器傳送語言級(Register Transfer Language-Level,簡稱為「RTL級」)智慧財產模組;藉由FPGA實現、或於FPGA中實現之智慧財產模組設計;藉由特殊應用積體電路(Application-Specific Integrated Circuit,以下簡稱為「ASIC」)實現、或於ASIC中實現之智慧財產模組設計...等。如此,既有智慧財產安裝平台140上的智慧財產模組可包含軟體智慧財產模組、硬體智慧財產模組、及/或FPGA智慧財產模組。
此外,在互連125為邏輯連接的狀況下,用來實施互連125的技術之例子可包含(但不限於):進程間通訊(Inter-Process Communication,簡稱為「IPC」)、傳輸層介面(Transport Layer Interface,簡稱為「TLI」)...等。在互連125為實體連接的狀況下,用來實施互連125的技術之例子可包含(但不限於):記憶體;匯流排;介面諸如周邊元件互連(Peripheral Component Interconnect,以下簡稱為「PCI」)、快速PCI(PCI Express,可簡稱為「PCIe」)、通用序列匯流排(Universal Serial Bus,USB)、序列先進技術配置(Serial Advanced Technology Attachment,SATA)、乙太網路(Ethernet)、序列器/解序列器(Serializer/Deserializer,簡稱為「SerDes」)...等。
第2圖為依據本發明一實施例之一種系統級模擬與仿真之方法200的流程圖。方法200可應用於上述之裝置100。該方法說明如下。
於步驟210中,裝置100利用模擬/仿真引擎110進行模擬與仿真中之至少一者(例如:模擬與仿真;又例如:模擬或仿真)以使裝置100具備複數個智慧財產模組{IP}之第一部分(例如:智慧財產模組{IP}中之第一子集合{IPA }),其中每一智慧財產模組IP提供一功能予裝置100。
於步驟220中,裝置100利用既有智慧財產安裝平台140以及其上所安裝具備既有智慧財產模組{IPE }之晶片進行運作,以使裝置100具備該複數個智慧財產模組{IP}之第二部分(例如:智慧財產 模組{IP}中之第二子集合{IPB }),其中該複數個智慧財產模組{IP}之該第二部分(例如:智慧財產模組{IP}中之第二子集合{IPB })包含該些既有智慧財產模組{IPE }中之特定智慧財產模組IPS (例如:該些既有智慧財產模組{IPE }中之任一既有智慧財產模組IPE ),且特定智慧財產模組IPS 提供一特定功能予裝置100。
於步驟230中,裝置100利用快速驅動器120,將模擬/仿真引擎110橋接至模擬/仿真引擎110與既有智慧財產安裝平台140之間的互連125,且提供針對特定智慧財產模組IPS 之該快取服務予模擬/仿真引擎110。
於步驟240中,裝置100利用智慧財產代理器130,將既有智慧財產安裝平台140橋接至互連125,且與快速驅動器120互動以支援針對特定智慧財產模組IPS 之該快取服務。
請注意,第2圖所示之工作流程只是為了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,第2圖所示之各個步驟中之至少一部分(例如:一部分或全部)的順序可以改變。依據本實施例之某些變化例,第2圖所示之各個步驟中之至少一部分(例如:一部分或全部)可以同時進行。依據本實施例之某些變化例,第2圖所示之各個步驟中之至少一部分(例如:一部分或全部)可以重複地進行。
依據第2圖所示之實施例,既有智慧財產安裝平台140可包含至少一特定暫存器PV_Reg;在快速驅動器120之控制下,裝置100遵循針對特定暫存器PV_Reg之複數個存取規則{R}中之至少一部分諸如存取規則R5與R6,以進行該快取服務,其中特定暫存器PV_Reg可為對應於特定智慧財產模組IPS 之一程式員觀點暫存器(Programmer View Register,可簡稱為「PV Reg」)。實作上,在上述之特定暫存器的標號「PV_Reg」代表該程式員觀點暫存器之位址的狀況下,程式員可藉由存取位址(PV_Reg+OFFSET)輕易地控制裝置100,這是因為裝置100在快速驅動器120之控制下總是遵循著針對特定暫存器PV_Reg之該複數個存取規則{R};其中符號「OFFSET」可代表上述新穎的存取方案中所定義之一系列偏移量{OFFSET}中之任一者。
依據本實施例之某些變化例,快速驅動器120可提供針對特定智慧財產模組IPS 之一預取(Pre-Fetch)服務予模擬/仿真引擎110,而智慧財產代理器130與快速驅動器120互動以支援針對特定智慧財產模組IPS 之該預取服務。例如:在快速驅動器120之控制下,裝置100遵循針對特定暫存器PV_Reg之該複數個存取規則{R}中之至少一部分諸如存取規則R3與R4,以進行具備資料同步(Synchronization)、資料統一(Coherence)之該預取服務。實作上,在快速驅動器120之控制下,裝置100藉由依據存取規則R3與R4進行多個預取運作來進行資料同步與資料統一。
第3圖繪示第2圖所示之方法200於一實施例中所涉及之存取運作分類(Classification),尤其是上述新穎的存取方案中所定義之一系列存取運作的分類,其中符號「PV Reg」仍是上述之程式員觀點暫存器的簡稱,而符號「S/W」、「H/W」則分別代表裝置100中之軟體(於本實施例中例如:模擬/仿真引擎110、快速驅動器120、與智慧財產代理器130中之至少一者)對「PV Reg」之存取方向、裝置100中之硬體(於本實施例中例如:既有智慧財產安裝平台140)對「PV Reg」之存取方向,且符號「T」代表存取運作之分類標示。
如第3圖所示,標示著符號「PV Reg」的這一行(Column)中之星形符號象徵性地代表「PV Reg」(其可當作存取方向符號的參考點),而標示著符號「S/W」、「H/W」的這兩行中之箭頭均為存取方向符號,其中這些存取方向符號諸如「→」、「←」、「」在第3圖中之方向正代表軟體或硬體可對「PV Reg」之存取方向。例如:在標示著符號「S/W」的這一行中最上面的箭頭朝向星形符號,表示軟體可對「PV Reg」進行一寫入運作。又例如:在標示著符號「S/W」的這一行中的第二個箭頭遠離星形符號,表示軟體可對「PV Reg」進行一讀取運作。又例如:在標示著符號「S/W」的這一行中最下面的存取方向符號為雙箭頭,表示軟體可對「PV Reg」進行一寫入運作與一讀取運作。
相仿地,在標示著符號「H/W」的這一行中最上面的箭頭遠離星形符號,表示硬體可對「PV Reg」進行一讀取運作。又例如:在 標示著符號「H/W」的這一行中的第二個箭頭朝向星形符號,表示硬體可對「PV Reg」進行一寫入運作;然而同一列(Row)中標示著符號「X」表示所考慮中之這種存取運作(亦即,所考慮中之這一列當中之軟體存取運作與硬體存取運作,其各自的方向分別繪示於第一行、第三行)在上述之存取運作分類當中是不存在的。又例如:在標示著符號「H/W」的這一行中的第五個箭頭朝向星形符號,表示硬體可對「PV Reg」進行一寫入運作。又例如:在標示著符號「H/W」的這一行中的第六個存取方向符號為雙箭頭,表示硬體可對「PV Reg」進行一寫入運作與一讀取運作。
另外,符號「T」這一行中之各個被圍著圓圈的「1」、「2」、「3」、「4」、「5」、「6」的符號分別代表在上述之存取運作分類當中的六種存取運作(亦即,分別位於第一列、第四列、第五列、第六列、第七列、第九列之六組軟體存取運作與硬體存取運作,其各自的方向分別繪示於第一行、第三行),其分別對應於該複數個存取規則{R}中之存取規則R1、R2、R3、R4、R5、R6。
上述之存取規則R1、R2、R3、R4、R5、R6可依照程式員觀點來說明,其中針對「PV Reg」之寫入或讀取運作均描述為針對「PV Reg」的位址PV_Reg之寫入或讀取運作。依據本實施例,存取規則R1包含:模擬/仿真引擎110、快速驅動器120、與智慧財產代理器130中之至少一者對特定暫存器PV_Reg進行一寫入運作;以 及該既有智慧財產安裝平台140對特定暫存器PV_Reg進行一讀取運作;其中存取規則R1是用來張貼寫入資訊至智慧財產代理器130(Post Write to IP Proxy)。
存取規則R2包含:模擬/仿真引擎110、快速驅動器120、與智慧財產代理器130中之至少一者對特定暫存器PV_Reg進行一讀取運作;以及既有智慧財產安裝平台140對特定暫存器PV_Reg進行一讀取運作;其中存取規則R2是用來於快速驅動器120局部編排、或由智慧財產代理器130讀取一次(Local Cast at Speed Driver,or Read Once from IP Proxy)。
存取規則R3包含:模擬/仿真引擎110、快速驅動器120、與智慧財產代理器130中之至少一者對特定暫存器PV_Reg進行一讀取運作,以使快速驅動器120提供具備資料同步、資料統一之該預取服務予模擬/仿真引擎110;以及既有智慧財產安裝平台140對特定暫存器PV_Reg進行一寫入運作,以支援針對特定智慧財產模組IPS 之該預取服務; 其中存取規則R3是用來預取、資料同步、與資料統一(Pre-fetch,Synchronization and Coherence)。
存取規則R4包含:模擬/仿真引擎110、快速驅動器120、與智慧財產代理器130中之至少一者對特定暫存器PV_Reg進行一讀取運作,以使快速驅動器120提供具備資料同步、資料統一之該預取服務予模擬/仿真引擎110;以及既有智慧財產安裝平台140對特定暫存器PV_Reg進行一寫入運作與一讀取運作,以支援針對特定智慧財產模組IPS 之該預取服務;其中存取規則R4是用來預取、資料同步、與資料統一(Pre-fetch,Synchronization and Coherence)。
存取規則R5包含:模擬/仿真引擎110、快速驅動器120、與智慧財產代理器130中之至少一者對特定暫存器PV_Reg進行一讀取運作與一寫入運作,以使快速驅動器120提供該快取服務予模擬/仿真引擎110;以及既有智慧財產安裝平台140對特定暫存器PV_Reg進行一讀取運作,以支援針對特定智慧財產模組IPS 之該快取服務;其中存取規則R5是用來於快速驅動器120局部快取、與張貼寫入資訊至智慧財產代理器130(Local Cache at Speed Driver, and Post Write to IP Proxy)。
存取規則R6包含:模擬/仿真引擎110、快速驅動器120、與智慧財產代理器130中之至少一者對特定暫存器PV_Reg進行一讀取運作與一寫入運作,以使快速驅動器120提供該快取服務予模擬/仿真引擎110;以及既有智慧財產安裝平台140對特定暫存器PV_Reg進行一讀取運作與一寫入運作,以支援針對特定智慧財產模組IPS 之該快取服務;其中存取規則R6是用來於快速驅動器120局部快取、與張貼寫入資訊至智慧財產代理器130(Local Cache at Speed Driver,and Post Write to IP Proxy)。
請注意,基於該複數個存取規則{R}諸如以上揭露之六個存取規則R1、R2、R3、R4、R5、R6,裝置100可借助於快速驅動器120的控制以最快的速度運作,而不會受限於既有智慧財產安裝平台140上之任何單一硬體元件(例如:任何FPGA,如果存在的話)的低速特性。因此,針對某些應用,諸如晶片的目標運作頻率達到500 MHz或1 GHz者,本發明之裝置100及方法200均能滿足其需求,而不產生副作用。
另外,由於裝置100可進行加速,尤其是可藉由進行基於該複 數個存取規則{R}諸如以上揭露之六個存取規則R1、R2、R3、R4、R5、R6之快取運作與預取運作來進行加速,容許程式員只專注於使用裝置100、充分享用裝置100的高速特性,而不需要針對調整裝置100的效能額外付出心力,故快速驅動器120以及智慧財產代理器130可分別稱為上述之「針對施用引擎之特有快速驅動器」以及「針對施用平台之特有智慧財產代理器」。
第4圖繪示第1圖所示之裝置100於一實施例中所涉及之實施細節,其中本實施例之裝置400可應用於第3圖所示之實施例。QEMU系統仿真器410、(針對QEMU之特有)快速驅動器420、「10/100M乙太網路」425、(針對施用的評估電路板之特有)智慧財產代理器430、備有通用異步收發器(Universal Asynchronous Receiver/Transmitter,簡稱為「UART」)硬體智慧財產之評估電路板440分別為上述之模擬/仿真引擎110、快速驅動器120、互連125、智慧財產代理器130、既有智慧財產安裝平台140之例子,故本實施例之排程器領域A、B分別標示為「排程器領域:QEMU」、「排程器領域:評估電路板」。
第5圖繪示第2圖所示之方法200於一實施例中所涉及之存取方案,其中本實施例之存取方案採用第3圖所示之存取運作分類。第5圖所示之存取運作代號CTHR、CRBR、CIER、CIIR、CLSR、CMSR、CFEATURE以字母C開頭,且分別代表快取於快速驅動器120之存取運作THR、RBR、IER、IIR、LSR、MSR、FEATURE; 而第5圖所示之存取運作代號PTHR、PRBR、PIER、PIIR、PLSR、PMSR、PFEATURE以字母P開頭,且分別代表於實體(如既有智慧財產安裝平台140)上之存取運作THR、RBR、IER、IIR、LSR、MSR、FEATURE;且第5圖所示之存取用途代號「P.F.」、「Mon.」分別代表預取、監控。如第5圖所示,存取運作代號CTHR、CRBR、CIER、CIIR、CLSR、CMSR、CFEATURE下方的0x00、0x00、0x04、0x08、0x14、0x18、0x68分別代表對應的偏移量,且可作為上述偏移量{OFFSET}之例子。
第6圖至第8圖繪示第5圖所示之存取方案所涉及之實施細節。基於以上各個實施例、變化例之說明,熟悉此領域者於取得第6圖至第8圖所揭露之內容時應可理解其意義,故不在此贅述第6圖至第8圖中之該些實施細節。
第9圖繪示第4圖所示之裝置400於一實施例中所涉及之實施細節,其中第9圖所示之架構可應用於第5圖所示之實施例。於本實施例中,上述具備既有智慧財產模組{IPE }之晶片可為系統晶片(System on Chip,以下簡稱為「SoC」),故第9圖繪示SoC安裝於既有智慧財產安裝平台上。另外,上述QEMU系統仿真器410的軟體碼可在第9圖所示之個人電腦上運行,而該個人電腦的監視器上可顯示本架構之仿真器介面。此外,本實施例之裝置400可模擬及/或仿真一個具備存取埠之電子裝置,尤其是可仿真該電子裝置透過其存取埠輸出資訊供使用者使用,故第9圖左上角繪示既有智慧 財產安裝平台上對應的存取埠輸出資訊。
第10圖繪示第2圖所示之方法200於一實施例中所涉及之智慧財產模組映射關係。如第10圖左半所示,上述之模擬/仿真引擎110與快速驅動器120可實施成「於個人電腦/工作站上備有快速驅動器之模擬/仿真引擎」,其中此模擬/仿真引擎上利用匯流排P、G相連之各個方塊可為上述複數個智慧財產模組{IP}之該第一部分(例如:智慧財產模組{IP}中之第一子集合{IPA })的例子。請注意,這些方塊當中有一個洞,其代表在匯流排G上透過映射得到的智慧財產模組。
如第10圖右半所示,上述之智慧財產代理器130與既有智慧財產安裝平台140可實施成「備有智慧財產代理器之應用平台」,其中智慧財產模組IPn 可為上述特定智慧財產模組IPS 之例子,而此應用平台上之智慧財產模組(為了強調智慧財產模組IPn ,其它均標示為IP而無下標)可為上述既有智慧財產模組{IPE }之例子。基於上述新穎的存取方案,裝置100能提供智慧財產模組IPn 與上述的洞之間的映射關係,使裝置100具備該複數個智慧財產模組{IP}之該第二部分(例如:智慧財產模組{IP}中之第二子集合{IPB })。由於裝置100在快速驅動器120之控制下總是遵循著針對特定暫存器PV_Reg之該複數個存取規則{R},且裝置100能提供智慧財產模組IPn 與上述的洞之間的映射關係,故程式員可藉由存取位址(PV_Reg+OFFSET)輕易地控制裝置100,而不需要針對控制裝置100的底層 額外付出心力。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100,400‧‧‧系統級模擬與仿真之裝置
110,410‧‧‧模擬/仿真引擎
120,420‧‧‧快速驅動器
125,425‧‧‧互連
130,430‧‧‧智慧財產代理器
140,440‧‧‧既有智慧財產安裝平台
200‧‧‧系統級模擬與仿真之方法
210,220,230,240‧‧‧步驟
CTHR,CRBR,CIER,CIIR,CLSR,CMSR,CFEATURE,PTHR,PRBR,PIER,PIIR,PLSR,PMSR,PFEATURE‧‧‧存取運作之代號
IP,IPn ‧‧‧智慧財產模組
P.F.,Mon.‧‧‧存取用途之代號
PV Reg‧‧‧暫存器
S/W,H/W‧‧‧軟體或硬體對暫存器之存取方向
T‧‧‧存取運作之分類標示
第1圖為依據本發明一第一實施例之一種系統級(System Level)模擬與仿真(Emulation)之裝置的示意圖。
第2圖為依據本發明一實施例之一種系統級模擬與仿真之方法的流程圖。
第3圖繪示第2圖所示之方法於一實施例中所涉及之存取運作分類(Classification)。
第4圖繪示第1圖所示之裝置於一實施例中所涉及之實施細節,其中本實施例之裝置可應用於第3圖所示之實施例。
第5圖繪示第2圖所示之方法於一實施例中所涉及之存取方案,其中本實施例之存取方案採用第3圖所示之存取運作分類。
第6圖至第8圖繪示第5圖所示之存取方案所涉及之實施細節。
第9圖繪示第4圖所示之裝置於一實施例中所涉及之實施細節,其中第9圖所示之架構可應用於第5圖所示之實施例。
第10圖繪示第2圖所示之方法於一實施例中所涉及之智慧財產模組映射關係。
100‧‧‧系統級模擬與仿真之裝置
110‧‧‧模擬/仿真引擎
120‧‧‧快速驅動器
125‧‧‧互連
130‧‧‧智慧財產代理器
140‧‧‧既有智慧財產安裝平台

Claims (20)

  1. 一種系統級(System Level)模擬與仿真(Emulation)之裝置,該裝置包含有:一模擬/仿真引擎,用來進行模擬與仿真中之至少一者以使該裝置具備複數個智慧財產(Intellectual Property)模組之一第一部分,其中每一智慧財產模組提供一功能予該裝置;一既有智慧財產安裝平台,用來安裝具備既有智慧財產模組之一晶片以使該裝置具備該複數個智慧財產模組之一第二部分,其中該複數個智慧財產模組之該第二部分包含該些既有智慧財產模組中之一特定智慧財產模組,且該特定智慧財產模組提供一特定功能予該裝置;一快速驅動器(Speed Driver),用來將該模擬/仿真引擎橋接至該模擬/仿真引擎與該既有智慧財產安裝平台之間的一互連(Interconnection),且提供針對該特定智慧財產模組之一快取服務予該模擬/仿真引擎;以及一智慧財產代理器(Intellectual Property Proxy),用來將該既有智慧財產安裝平台橋接至該互連,且與該快速驅動器互動以支援針對該特定智慧財產模組之該快取服務。
  2. 如申請專利範圍第1項所述之裝置,其中該快速驅動器提供針對該特定智慧財產模組之一預取服務予該模擬/仿真引擎;以及該智慧財產代理器與該快速驅動器互動以支援針對該特定 智慧財產模組之該預取服務。
  3. 如申請專利範圍第2項所述之裝置,其中該既有智慧財產安裝平台包含一特定暫存器;以及在該快速驅動器之控制下,該裝置遵循針對該特定暫存器之複數個存取規則中之至少一部分,以進行具備資料同步(Synchronization)、資料統一(Coherence)之該預取服務;以及該裝置藉由依據該複數個存取規則中之該部分進行多個預取運作來進行資料同步與資料統一。
  4. 如申請專利範圍第3項所述之裝置,其中該複數個存取規則中之一存取規則包含:該模擬/仿真引擎、該快速驅動器、與該智慧財產代理器中之至少一者對該特定暫存器進行一讀取運作,以使該快速驅動器提供該預取服務予該模擬/仿真引擎;以及該既有智慧財產安裝平台對該特定暫存器進行一寫入運作,以支援針對該特定智慧財產模組之該預取服務。
  5. 如申請專利範圍第4項所述之裝置,其中該複數個存取規則中之另一存取規則包含:該模擬/仿真引擎、該快速驅動器、與該智慧財產代理器中之至少一者對該特定暫存器進行一讀取運作,以使該快速驅動器提供該預取服務予該模擬/仿真引擎;以及 該既有智慧財產安裝平台對該特定暫存器進行一寫入運作與一讀取運作,以支援針對該特定智慧財產模組之該預取服務。
  6. 如申請專利範圍第3項所述之裝置,其中該複數個存取規則中之一存取規則包含:該模擬/仿真引擎、該快速驅動器、與該智慧財產代理器中之至少一者對該特定暫存器進行一讀取運作,以使該快速驅動器提供該預取服務予該模擬/仿真引擎;以及該既有智慧財產安裝平台對該特定暫存器進行一寫入運作與一讀取運作,以支援針對該特定智慧財產模組之該預取服務。
  7. 如申請專利範圍第1項所述之裝置,其中該既有智慧財產安裝平台包含一特定暫存器;以及在該快速驅動器之控制下,該裝置遵循針對該特定暫存器之複數個存取規則中之至少一部分,以進行該快取服務。
  8. 如申請專利範圍第7項所述之裝置,其中該複數個存取規則中之一存取規則包含:該模擬/仿真引擎、該快速驅動器、與該智慧財產代理器中之至少一者對該特定暫存器進行一讀取運作與一寫入運作,以使該快速驅動器提供該快取服務予該模擬/仿真引 擎;以及該既有智慧財產安裝平台對該特定暫存器進行一讀取運作,以支援針對該特定智慧財產模組之該快取服務。
  9. 如申請專利範圍第8項所述之裝置,其中該複數個存取規則中之另一存取規則包含:該模擬/仿真引擎、該快速驅動器、與該智慧財產代理器中之至少一者對該特定暫存器進行一讀取運作與一寫入運作,以使該快速驅動器提供該快取服務予該模擬/仿真引擎;以及該既有智慧財產安裝平台對該特定暫存器進行一讀取運作與一寫入運作,以支援針對該特定智慧財產模組之該快取服務。
  10. 如申請專利範圍第7項所述之裝置,其中該複數個存取規則中之一存取規則包含:該模擬/仿真引擎、該快速驅動器、與該智慧財產代理器中之至少一者對該特定暫存器進行一讀取運作與一寫入運作,以使該快速驅動器提供該快取服務予該模擬/仿真引擎;以及該既有智慧財產安裝平台對該特定暫存器進行一讀取運作與一寫入運作,以支援針對該特定智慧財產模組之該快取服務。
  11. 如申請專利範圍第1項所述之裝置,其中該既有智慧財產安裝平台包含一特定暫存器;以及在該快速驅動器之控制下,該裝置遵循針對該特定暫存器之複數個存取規則;以及該複數個存取規則中之一第一存取規則包含:該模擬/仿真引擎、該快速驅動器、與該智慧財產代理器中之至少一者對該特定暫存器進行一寫入運作;以及該既有智慧財產安裝平台對該特定暫存器進行一讀取運作。
  12. 如申請專利範圍第11項所述之裝置,其中該複數個存取規則中之一第二存取規則包含:該模擬/仿真引擎、該快速驅動器、與該智慧財產代理器中之至少一者對該特定暫存器進行一讀取運作;以及該既有智慧財產安裝平台對該特定暫存器進行一讀取運作。
  13. 如申請專利範圍第12項所述之裝置,其中該複數個存取規則中之一第三存取規則包含:該模擬/仿真引擎、該快速驅動器、與該智慧財產代理器中之至少一者對該特定暫存器進行一讀取運作,以使該快速驅動器提供具備資料同步(Synchronization)、資料統一(Coherence)之一預取服務予該模擬/仿真引擎;以及該既有智慧財產安裝平台對該特定暫存器進行一寫入運作,以支援針對該特定智慧財產模組之該預取服務。
  14. 如申請專利範圍第13項所述之裝置,其中該複數個存取規則中之一第四存取規則包含:該模擬/仿真引擎、該快速驅動器、與該智慧財產代理器中之至少一者對該特定暫存器進行一讀取運作,以使該快速驅動器提供該預取服務予該模擬/仿真引擎;以及該既有智慧財產安裝平台對該特定暫存器進行一寫入運作與一讀取運作,以支援針對該特定智慧財產模組之該預取服務。
  15. 如申請專利範圍第14項所述之裝置,其中該複數個存取規則中之一第五存取規則包含:該模擬/仿真引擎、該快速驅動器、與該智慧財產代理器中之至少一者對該特定暫存器進行一讀取運作與一寫入運作,以使該快速驅動器提供該快取服務予該模擬/仿真引擎;以及該既有智慧財產安裝平台對該特定暫存器進行一讀取運作,以支援針對該特定智慧財產模組之該快取服務。
  16. 如申請專利範圍第15項所述之裝置,其中該複數個存取規則中之一第六存取規則包含:該模擬/仿真引擎、該快速驅動器、與該智慧財產代理器中之至少一者對該特定暫存器進行一讀取運作與一寫入運 作,以使該快速驅動器提供該快取服務予該模擬/仿真引擎;以及該既有智慧財產安裝平台對該特定暫存器進行一讀取運作與一寫入運作,以支援針對該特定智慧財產模組之該快取服務。
  17. 一種系統級(System Level)模擬與仿真(Emulation)之方法,該方法包含有:利用一模擬/仿真引擎進行模擬與仿真中之至少一者以使該裝置具備複數個智慧財產(Intellectual Property)模組之一第一部分,其中每一智慧財產模組提供一功能予該裝置;利用一既有智慧財產安裝平台以及其上所安裝具備既有智慧財產模組之一晶片進行運作,以使該裝置具備該複數個智慧財產模組之一第二部分,其中該複數個智慧財產模組之該第二部分包含該些既有智慧財產模組中之一特定智慧財產模組,且該特定智慧財產模組提供一特定功能予該裝置;利用一快速驅動器(Speed Driver),將該模擬/仿真引擎橋接至該模擬/仿真引擎與該既有智慧財產安裝平台之間的一互連(Interconnection)、且提供針對該特定智慧財產模組之一快取服務予該模擬/仿真引擎;以及利用一智慧財產代理器(Intellectual Property Proxy),將該既 有智慧財產安裝平台橋接至該互連、且與該快速驅動器互動以支援針對該特定智慧財產模組之該快取服務。
  18. 如申請專利範圍第17項所述之方法,其另包含有:利用該快速驅動器提供針對該特定智慧財產模組之一預取服務予該模擬/仿真引擎;以及利用該智慧財產代理器與該快速驅動器互動以支援針對該特定智慧財產模組之該預取服務。
  19. 如申請專利範圍第18項所述之方法,其中該方法應用於一裝置,該裝置包含該模擬/仿真引擎、該既有智慧財產安裝平台、該快速驅動器、與該智慧財產代理器;該既有智慧財產安裝平台包含一特定暫存器;以及該方法另包含有:利用該快速驅動器控制該裝置遵循針對該特定暫存器之複數個存取規則,以進行具備資料同步(Synchronization)與資料統一(Coherence)之該預取服務。
  20. 如申請專利範圍第17項所述之方法,其中該方法應用於一裝置,該裝置包含該模擬/仿真引擎、該既有智慧財產安裝平台、該快速驅動器、與該智慧財產代理器;該既有智慧財產安裝平台包含一特定暫存器;以及該方法另包含有:利用該快速驅動器控制該裝置遵循針對該特定暫存器之六個存取規則,其中該六個存取規則中之至少一部分係用來控 制該模擬/仿真引擎、該快速驅動器、與該智慧財產代理器中之至少一者進行一讀取運作與一寫入運作中之至少一者,且該六個存取規則中之至少一部分係用來控制該既有智慧財產安裝平台進行一讀取運作與一寫入運作中之至少一者。
TW101127472A 2012-07-30 2012-07-30 系統級模擬與仿真之裝置及方法 TWI448968B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW101127472A TWI448968B (zh) 2012-07-30 2012-07-30 系統級模擬與仿真之裝置及方法
CN201210332561.2A CN103577623A (zh) 2012-07-30 2012-09-10 系统级模拟与仿真的装置及方法
US13/664,427 US20140032202A1 (en) 2012-07-30 2012-10-31 Apparatus of system level simulation and emulation, and associated method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101127472A TWI448968B (zh) 2012-07-30 2012-07-30 系統級模擬與仿真之裝置及方法

Publications (2)

Publication Number Publication Date
TW201405426A TW201405426A (zh) 2014-02-01
TWI448968B true TWI448968B (zh) 2014-08-11

Family

ID=49995699

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101127472A TWI448968B (zh) 2012-07-30 2012-07-30 系統級模擬與仿真之裝置及方法

Country Status (3)

Country Link
US (1) US20140032202A1 (zh)
CN (1) CN103577623A (zh)
TW (1) TWI448968B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI731487B (zh) * 2019-02-13 2021-06-21 美商谷歌有限責任公司 系統級快取

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
US6058492A (en) * 1996-10-17 2000-05-02 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation
TW200622898A (en) * 2004-09-20 2006-07-01 Sony Computer Entertainment Inc Methods and apparatus for emulating software applications
CN101782848A (zh) * 2009-01-19 2010-07-21 西安奕盛信息技术有限责任公司 仿真软件界面集成方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826052A (en) * 1994-04-29 1998-10-20 Advanced Micro Devices, Inc. Method and apparatus for concurrent access to multiple physical caches
US5530804A (en) * 1994-05-16 1996-06-25 Motorola, Inc. Superscalar processor with plural pipelined execution units each unit selectively having both normal and debug modes
US5867644A (en) * 1996-09-10 1999-02-02 Hewlett Packard Company System and method for on-chip debug support and performance monitoring in a microprocessor
EP0992904B1 (en) * 1998-10-06 2010-06-09 Texas Instruments Inc. Cache coherence during emulation
US6560573B1 (en) * 1999-07-30 2003-05-06 Emc Corporation Storage controller with hardware emulation controller for emulation between control processor and transfer circuitry compatible to different processor
US6754779B1 (en) * 1999-08-23 2004-06-22 Advanced Micro Devices SDRAM read prefetch from multiple master devices
US6463510B1 (en) * 2000-12-29 2002-10-08 Compaq Information Technologies Group, L.P. Apparatus for identifying memory requests originating on remote I/O devices as noncacheable
EP1367493A1 (en) * 2002-05-30 2003-12-03 STMicroelectronics Limited Prefetch buffer
US6892286B2 (en) * 2002-09-30 2005-05-10 Sun Microsystems, Inc. Shared memory multiprocessor memory model verification system and method
US7096322B1 (en) * 2003-10-10 2006-08-22 Unisys Corporation Instruction processor write buffer emulation using embedded emulation control instructions
CN1292360C (zh) * 2004-01-18 2006-12-27 中兴通讯股份有限公司 一种实现自动读写内部集成电路设备的装置和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058492A (en) * 1996-10-17 2000-05-02 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
TW200622898A (en) * 2004-09-20 2006-07-01 Sony Computer Entertainment Inc Methods and apparatus for emulating software applications
CN101782848A (zh) * 2009-01-19 2010-07-21 西安奕盛信息技术有限责任公司 仿真软件界面集成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI731487B (zh) * 2019-02-13 2021-06-21 美商谷歌有限責任公司 系統級快取

Also Published As

Publication number Publication date
CN103577623A (zh) 2014-02-12
US20140032202A1 (en) 2014-01-30
TW201405426A (zh) 2014-02-01

Similar Documents

Publication Publication Date Title
US11537761B2 (en) Transparent network access control for spatial accelerator device multi-tenancy
CN107003955B (zh) 用于在根复合体中集成设备的方法、装置和系统
Bortolotti et al. Virtualsoc: A full-system simulation environment for massively parallel heterogeneous system-on-chip
US20150120268A1 (en) Method and apparatus for simulating a digital circuit
US10747930B2 (en) Event-driven design simulation
US20200143097A1 (en) Event-driven design simulation
US7941680B2 (en) Distributing integrated circuit net power accurately in power and thermal analysis
US11934825B2 (en) Event-driven design simulation
US11275582B2 (en) Event-driven design simulation
CN108008715B (zh) 基于fpga的系统功率评估装置与方法
US8448113B2 (en) Efficiently applying a single timing assertion to multiple timing points in a circuit using creating a deffinition
US10042729B2 (en) Apparatus and method for a scalable test engine
US9378027B2 (en) Field-programmable module for interface bridging and input/output expansion
TWI448968B (zh) 系統級模擬與仿真之裝置及方法
US10789405B2 (en) Event-driven design simulation
Sarekokku et al. Design and Implementation of APB Bridge based on AMBA AXI 4.0
CN112559437B (zh) 一种调试单元及处理器
US10565335B2 (en) Event-driven design simulation
Jain et al. Unified and Modular Modeling and Functional Verification Framework of Real‐Time Image Signal Processors
US20220197613A1 (en) Clock gating and clock scaling based on runtime application task graph information
US9710579B1 (en) Using smart timing models for gate level timing simulation
Lee et al. Code Coverage
Frankiewicz et al. ASIC implementation of high efficiency 8-bit'OctaLynx'RISC microprocessor
US8489377B2 (en) Method of verifying the performance model of an integrated circuit
CN114297982A (zh) 一种基于uvm的spi总线验证方法及系统

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees