TWI463331B - Simulation system and method for soc - Google Patents
Simulation system and method for soc Download PDFInfo
- Publication number
- TWI463331B TWI463331B TW100114396A TW100114396A TWI463331B TW I463331 B TWI463331 B TW I463331B TW 100114396 A TW100114396 A TW 100114396A TW 100114396 A TW100114396 A TW 100114396A TW I463331 B TWI463331 B TW I463331B
- Authority
- TW
- Taiwan
- Prior art keywords
- interrupt
- platform
- physical
- level
- data packet
- Prior art date
Links
- 238000004088 simulation Methods 0.000 title claims description 31
- 238000000034 method Methods 0.000 title claims description 16
- 239000003795 chemical substances by application Substances 0.000 claims description 22
- 238000013461 design Methods 0.000 claims description 20
- 238000012546 transfer Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 9
- 238000011161 development Methods 0.000 claims description 9
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 claims description 2
- 229910052710 silicon Inorganic materials 0.000 claims description 2
- 239000010703 silicon Substances 0.000 claims description 2
- 238000004806 packaging method and process Methods 0.000 claims 1
- 230000032258 transport Effects 0.000 description 25
- 102100024061 Integrator complex subunit 1 Human genes 0.000 description 19
- 101710092857 Integrator complex subunit 1 Proteins 0.000 description 19
- 102100028043 Fibroblast growth factor 3 Human genes 0.000 description 18
- 108050002021 Integrator complex subunit 2 Proteins 0.000 description 18
- 235000012431 wafers Nutrition 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 101710092887 Integrator complex subunit 4 Proteins 0.000 description 3
- 102100037075 Proto-oncogene Wnt-3 Human genes 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 101710092886 Integrator complex subunit 3 Proteins 0.000 description 2
- 102100025254 Neurogenic locus notch homolog protein 4 Human genes 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Description
本發明係有關於系統單晶片的模擬系統及方法,且特別是有關於可交互中斷之系統單晶片的模擬系統及方法。The present invention relates to analog systems and methods for system single wafers, and more particularly to analog systems and methods for system interruptable interrupted single wafers.
由於製程不斷的演進以及客戶端對於系統功能需求的增加,越來越多的矽智財(Silicon Intellectual Property,IP)被整合進系統單晶片(System on Chip,SoC)中,因此增加了設計的複雜度。Due to the continuous evolution of the process and the increasing demand for system functions by the client, more and more Silicon Intellectual Property (IP) is integrated into the System on Chip (SoC), thus increasing the design. the complexity.
在傳統的晶片設計流程中,系統效能評估往往需要等待硬體原型開發板(例如具有場可程式閘陣列(Field Programmable Gate Array,FPGA)之開發板)完成之後,才能進行系統軟體的整合驗證及分析。然而,整個系統的驗證週期相當耗時。此外,硬體原型開發板只能提供功能性驗證,而無法提供真正的執行速度。因此,在系統設計及規劃初期,需要能進行快速模擬、方便觀測分析且可彈性調整系統架構及規格的電子系統層級(Electroniuc Systrem Level)之虛擬平台(virtual platform),其可幫助系統晶片設計者定義出高效能之系統架構,避免多次的反覆設計,並提供系統級軟體開發環境,進而縮短整體系統設計開發週期。In the traditional chip design process, the system performance evaluation often needs to wait for the hardware prototype development board (such as the development board with Field Programmable Gate Array (FPGA)) to complete the integration verification of the system software. analysis. However, the verification cycle of the entire system is quite time consuming. In addition, hardware prototyping boards can only provide functional verification and do not provide true execution speed. Therefore, in the early stage of system design and planning, an electronic platform (Electroniuc Systrem Level) virtual platform capable of rapid simulation, convenient observation and analysis, and flexible adjustment of system architecture and specifications is needed, which can help system chip designers. Define a high-performance system architecture, avoid multiple repetitive designs, and provide a system-level software development environment to shorten the overall system design and development cycle.
在晶片設計流程中,一般是使用暫存器傳輸層級(Register Transfer Level,RTL)或是處理程序層級模型(Transaction Level Modeling,TLM)來建立系統單晶片的模擬系統,其中代表性的暫存器傳輸層級是使用Verilog-HDL,而代表性的處理程序層級模型是使用程式語言System C。相較於暫存器傳輸層級,處理程序層級模型可提供較高的抽象層級(Abstraction Level),進而降低系統單晶片開發的複雜度。藉由處理程序層級模型技術,系統設計人員可以在架構設計階段來輕易的修改系統架構、進行實驗並收集數據,進而分析與改良系統。此外,透過處理程序層級模型技術所開發之硬體平台的輔助,軟體工程師可以在架構設計階段結束後,利用此平台開始撰寫應用程式。In the chip design process, a register transfer level (RTL) or a Transaction Level Modeling (TLM) is generally used to establish a system single-chip analog system, in which a representative register is used. The transport hierarchy uses Verilog-HDL, and the representative handler hierarchy model uses the programming language System C. Compared to the scratchpad transport hierarchy, the handler level model provides a higher level of abstraction, which in turn reduces the complexity of system single-chip development. By processing the program level model technology, system designers can easily modify the system architecture, conduct experiments, and collect data during the architecture design phase to analyze and improve the system. In addition, with the help of the hardware platform developed by the processor level model technology, software engineers can use this platform to start writing applications after the architecture design phase.
一般而言,在處理程序層級模型所構成的模擬系統中,不同平台之間的資料傳遞係透過轉換(transaction)來進行。然而,不同平台之間的中斷(Interrupt)無法透過轉換的方式來傳遞,於是不同平台的處理器無法進行交互中斷,使得該模擬系統無法被視為完整的一個系統,即無法模擬出系統單晶片中矽智財單元的完整操作。In general, in an analog system composed of a handler level model, data transfer between different platforms is performed through a transaction. However, the interrupt between different platforms cannot be transmitted through the conversion method, so the processors of different platforms cannot be interrupted interactively, so that the analog system cannot be regarded as a complete system, that is, the system single chip cannot be simulated. The complete operation of the Lieutenant Intelligence Unit.
因此,需要一種模擬方式能於具有處理程序層級模型之混合系統中建立交互中斷的機制。Therefore, there is a need for a simulation method that establishes an interaction interrupt in a hybrid system with a handler level model.
本發明提供系統單晶片之模擬系統及方法。本發明提供之一種系統單晶片之模擬系統包括一處理程序層級模型虛擬平台以及耦接於上述處理程序層級模型虛擬平台之一暫存器傳輸層級實體平台。上述處理程序層級模型虛擬平台包括:一虛擬處理器;一虛擬設計單元;以及一中斷代理器,用以將來自上述虛擬設計單元的一虛擬中斷信號轉換成一第一中斷資料封包。上述暫存器傳輸層級實體平台包括:一實體設計單元;一中斷轉換器,用以根據上述第一中斷資料封包,產生對應於上述虛擬中斷信號之一第一中斷;以及一實體處理器,用以相應於上述第一中斷而執行一第一中斷程序。The present invention provides a system and method for simulating a single wafer of a system. A system single-chip simulation system provided by the present invention includes a processing program level model virtual platform and a scratchpad transmission level entity platform coupled to the processing program level model virtual platform. The processing program level model virtual platform includes: a virtual processor; a virtual design unit; and an interrupt agent for converting a virtual interrupt signal from the virtual design unit into a first interrupt data packet. The above-mentioned register transfer level entity platform includes: a physical design unit; an interrupt converter for generating a first interrupt corresponding to one of the virtual interrupt signals according to the first interrupt data packet; and an entity processor A first interrupt routine is executed in response to the first interrupt described above.
再者,本發明提供另一種系統單晶片之模擬系統包括一處理程序層級模型虛擬平台以及耦接於上述處理程序層級模型虛擬平台之一暫存器傳輸層級實體平台。上述暫存器傳輸層級實體平台包括:一實體設計單元;以及一中斷轉換器,用以將來自上述實體設計單元的一實體中斷信號轉換成一中斷資料封包。上述處理程序層級模型虛擬平台包括一虛擬設計單元;一中斷代理器,用以根據上述中斷資料封包,產生對應於上述實體中斷信號之一中斷;以及一虛擬處理器,用以控制上述虛擬設計單元,並相應於上述中斷而執行一中斷程序。Furthermore, the present invention provides another system single-chip simulation system including a processing program level model virtual platform and a scratchpad transmission level entity platform coupled to the processing program level model virtual platform. The above-mentioned register transfer level physical platform includes: a physical design unit; and an interrupt converter for converting a physical interrupt signal from the physical design unit into an interrupt data packet. The processing program level model virtual platform includes a virtual design unit; an interrupt agent for generating an interrupt corresponding to the physical interrupt signal according to the interrupt data packet; and a virtual processor for controlling the virtual design unit And executing an interrupt program corresponding to the above interrupt.
再者,本發明提供一種模擬方法,適用於結合一處理程序層級模型虛擬平台以及一暫存器傳輸層級實體平台之系統單晶片之一模擬系統。於上述處理程序層級模型虛擬平台中,將來自一虛擬設計單元的一虛擬中斷信號轉換成一第一中斷資料封包。根據一特定通訊協定,將上述第一中斷資料封包從上述處理程序層級模型虛擬平台傳送至上述暫存器傳輸層級實體平台。於上述暫存器傳輸層級實體平台中,根據上述第一中斷資料封包產生對應於上述虛擬中斷信號之一第一中斷。於上述暫存器傳輸層級實體平台中,相應於上述第一中斷而執行一第一中斷程序。Furthermore, the present invention provides a simulation method suitable for combining one of the processing program level model virtual platform and one of the system single chip simulation systems of the scratchpad transmission level physical platform. In the processing program level model virtual platform, a virtual interrupt signal from a virtual design unit is converted into a first interrupt data packet. Transmitting the first interrupt data packet from the processing program level model virtual platform to the scratchpad transport level entity platform according to a specific communication protocol. In the above-mentioned register transfer level entity platform, a first interrupt corresponding to one of the virtual interrupt signals is generated according to the first interrupt data packet. In the above-mentioned register transfer level entity platform, a first interrupt program is executed corresponding to the first interrupt.
再者,本發明提供另一種模擬方法,適用於結合一處理程序層級模型虛擬平台以及一暫存器傳輸層級實體平台之系統單晶片之一模擬系統。於上述暫存器傳輸層級實體平台中,將來自一實體設計單元的一實體中斷信號轉換成一中斷資料封包。根據一特定通訊協定,將上述中斷資料封包傳送至上述處理程序層級模型虛擬平台。於上述處理程序層級模型虛擬平台中,根據上述中斷資料封包來產生對應於上述實體中斷信號之一中斷。於上述處理程序層級模型虛擬平台中,相應於上述中斷而執行一中斷程序。Furthermore, the present invention provides another simulation method suitable for combining one of the processing program level model virtual platform and one of the system single chip simulation systems of the scratchpad transmission level physical platform. In the above-mentioned scratchpad transport level entity platform, a physical interrupt signal from a physical design unit is converted into an interrupt data packet. The interrupt data packet is transmitted to the processing program level model virtual platform according to a specific communication protocol. In the processing program level model virtual platform, an interrupt corresponding to one of the physical interrupt signals is generated according to the interrupt data packet. In the above-mentioned handler level model virtual platform, an interrupt program is executed corresponding to the above interrupt.
為讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下:實施例:第1圖係顯示根據本發明一實施例所述之系統單晶片(SoC)之模擬系統100。模擬系統100包括處理程序層級模型(TLM)虛擬平台10以及暫存器傳輸層級(RTL)實體平台20。在此實施例中,處理程序層級模型虛擬平台10係由配備有程式語言System C引擎的電腦設備所實施,例如具有Linux作業系統之電腦,而暫存器傳輸層級實體平台20係透過具有場可程式閘陣列(FPGA)之硬體開發板來實現,其中處理程序層級模型虛擬平台10係經由週邊組件互連(Peripheral Component Interconnect,PCI)匯流排30耦接於暫存器傳輸層級實體平台20。此外,處理程序層級模型虛擬平台10可視為一時序週期近似(cycle approximate,CX)平台,而暫存器傳輸層級實體平台20可視為一時序週期精確(cycle accurate,CA)平台。在其他實施例中,處理程序層級模型虛擬平台10亦可透過其他連接方式,例如通用串列匯流排(Universal Serial Bus,USB)或是網路等,連接於暫存器傳輸層級實體平台20。The above and other objects, features and advantages of the present invention will become more <RTIgt; A system single chip (SoC) simulation system 100 according to an embodiment of the invention. The simulation system 100 includes a handler level model (TLM) virtual platform 10 and a scratchpad transport level (RTL) entity platform 20. In this embodiment, the handler level model virtual platform 10 is implemented by a computer device equipped with a programming language System C engine, such as a computer with a Linux operating system, and the scratchpad transport level physical platform 20 has a field. The hardware platform of the program gate array (FPGA) is implemented, wherein the processor level model virtual platform 10 is coupled to the scratchpad transport level physical platform 20 via a Peripheral Component Interconnect (PCI) bus bar 30. In addition, the processor level model virtual platform 10 can be regarded as a cycle approximate (CX) platform, and the scratchpad transmission level physical platform 20 can be regarded as a cycle accurate (CA) platform. In other embodiments, the handler level model virtual platform 10 can also be connected to the scratchpad transport level entity platform 20 through other connection methods, such as a Universal Serial Bus (USB) or a network.
處理程序層級模型虛擬平台10包括指令集模擬器(lnstruction Set Simulator,ISS)110、待驗證之軟體矽智財單元120A-120C、中斷代理器(agent)130、向量中斷控制器(Vectored Interrupt Controller,VIC)140以及驅動器150,其中指令集模擬器110可視為虛擬處理器,而軟體矽智財單元120A-120C可視為虛擬設計單元,其欲被整合至系統單晶片內。指令集模擬器110透過匯流排115與軟體矽智財單元120A-120C進行資料傳遞,並控制軟體矽智財單元120A-120C。此外,欲傳送至暫存器傳輸層級實體平台20的資料亦係透過匯流排115傳送至匯流排代理器(未顯示),再經由驅動器150與PCI匯流排30傳送至暫存器傳輸層級實體平台20。The handler level model virtual platform 10 includes an instruction set simulator (ISS) 110, a software entity to be verified 120A-120C, an interrupt agent 130, and a vectored interrupt controller (Vectored Interrupt Controller, The VIC) 140 and the driver 150, wherein the instruction set simulator 110 can be considered a virtual processor, and the software entity 120A-120C can be considered a virtual design unit that is intended to be integrated into a system single chip. The instruction set simulator 110 transmits data to the software entity 120A-120C through the bus bar 115, and controls the software entity 120A-120C. In addition, the data to be transmitted to the scratchpad transport level physical platform 20 is also transmitted to the bus bar agent (not shown) through the bus bar 115, and then transmitted to the scratchpad transport level entity platform via the driver 150 and the PCI bus bar 30. 20.
暫存器傳輸層級實體平台20包括處理器210、硬體矽智財單元220A-220C、中斷轉換器(transactor)230、向量中斷控制器240以及晶片層級轉換器250,其中硬體矽智財單元220A-220C可以被燒錄於場可程式閘陣列(FPGA)中,其是欲被整合至系統單晶片內已開發或驗證完成之實體單元。相似地,處理器210可透過匯流排215與硬體矽智財單元220A-220C進行資料傳遞。此外,欲傳送至處理程序層級模型虛擬平台10的資料亦係透過匯流排215傳送至匯流排轉換器(未顯示),再經由晶片層級轉換器250與PCI匯流排30傳送至處理程序層級模型虛擬平台10。The scratchpad transport level physical platform 20 includes a processor 210, a hardware unit 220A-220C, a transactor 230, a vector interrupt controller 240, and a wafer level converter 250, wherein the hardware unit The 220A-220C can be programmed into a field programmable gate array (FPGA), which is a physical unit that has been developed or verified to be integrated into a single wafer of the system. Similarly, the processor 210 can perform data transfer with the hardware and smart unit 220A-220C through the bus bar 215. In addition, the data to be transmitted to the processor level model virtual platform 10 is also transmitted to the bus bar converter (not shown) through the bus bar 215, and then transmitted to the processor level model virtual via the chip level converter 250 and the PCI bus bar 30. Platform 10.
第2圖係顯示第1圖中根據本發明一實施例所述之交互中斷觸發路徑示意圖,其係表示處理程序層級模型虛擬平台10內的任一軟體矽智財單元會產生中斷並傳送至暫存器傳輸層級實體平台20內的處理器210,以供後續處理。同時參考第1圖及第2圖,首先,軟體矽智財單元120A、120B或120C會經由匯流排125提供中斷信號SINT1 至中斷代理器130。接著,中斷代理器130會判斷中斷信號SINT1 是要被傳送至指令集模擬器110或是傳送至暫存器傳輸層級實體平台20內的處理器210。當中斷信號SINT1 是要被傳送至暫存器傳輸層級實體平台20內的處理器210時,中斷代理器130會將中斷信號SINT1 轉換成中斷資料封包P1,並傳送至暫存器傳輸層級實體平台20內中斷轉換器230。在第2圖中,為了簡化說明,驅動器150、匯流排30與晶片層級轉換器250的操作將省略並將描述於後。接著,當接收到中斷資料封包P1之後,中斷轉換器230會將中斷資料封包P1轉換回中斷信號SINT1 ,並傳送至向量中斷控制器240。接著,向量中斷控制器240會根據中斷信號SINT1 產生中斷INT1並安排其優先級,以便提供中斷INT1至處理器210。於是,當接收到中斷INT1之後,處理器210便可執行對應於中斷INT1之中斷程序。另一方面,當中斷信號SINT1 要被傳送至指令集模擬器110時,中斷代理器130會將中斷信號SINT1 傳送至向量中斷控制器140(如虛線所顯示),使得向量中斷控制器140能根據中斷信號SINT1 產生中斷INT1至指令集模擬器110並控制其優先級。於是,指令集模擬器110便可執行對應於中斷INT1之中斷程序。2 is a schematic diagram showing an interaction interrupt trigger path according to an embodiment of the present invention in FIG. 1 , which indicates that any software entity in the processing level model virtual platform 10 generates an interrupt and transmits to the temporary The processor transports the processor 210 within the hierarchical entity platform 20 for subsequent processing. Referring to FIG. 1 and FIG. 2 simultaneously, first, the software entity 120A, 120B or 120C provides the interrupt signal S INT1 to the interrupt agent 130 via the bus bar 125. Next, the interrupt agent 130 determines whether the interrupt signal S INT1 is to be transferred to the instruction set simulator 110 or to the processor 210 within the scratchpad transport level entity platform 20. When the interrupt signal S INT1 is to be transferred to the processor 210 in the scratchpad transport level entity platform 20, the interrupt proxy 130 converts the interrupt signal S INT1 into the interrupt data packet P1 and transfers it to the scratchpad transport level. The converter 230 is interrupted within the physical platform 20. In Fig. 2, the operation of the driver 150, the bus bar 30, and the wafer level converter 250 will be omitted and will be described later for simplicity of explanation. Then, after receiving the interrupt data packet P1, the interrupt converter 230 converts the interrupt data packet P1 back to the interrupt signal S INT1 and transmits it to the vector interrupt controller 240. Next, vector interrupt controller 240 interrupts INT1 interrupt signal INT1 is generated according to the S and the priority of their arrangement, so as to provide the processor 210 to interrupt INT1. Thus, upon receiving the interrupt INT1, the processor 210 can execute the interrupt routine corresponding to the interrupt INT1. On the other hand, when the interrupt signal S INT1 is to be transferred to the instruction set simulator 110, the interrupt proxy 130 transmits the interrupt signal S INT1 to the vector interrupt controller 140 (as indicated by the dashed line), such that the vector interrupt controller 140 The interrupt INT1 can be generated to the instruction set simulator 110 according to the interrupt signal S INT1 and its priority can be controlled. Thus, the instruction set simulator 110 can execute the interrupt routine corresponding to the interrupt INT1.
第3圖係顯示第1圖中根據本發明另一實施例所述之交互中斷觸發路徑示意圖,其係表示暫存器傳輸層級實體平台20內的任一硬體矽智財單元會產生中斷並傳送至處理程序層級模型虛擬平台10內的指令集模擬器110,以供後續處理。同時參考第1圖及第3圖,首先,硬體矽智財單元220A、220B或220C會經由匯流排225提供中斷信號SINT2 至中斷轉換器230。接著,中斷轉換器230會判斷中斷信號SINT2 是要被傳送至處理器210或是傳送至處理程序層級模型虛擬平台10內的指令集模擬器110。當中斷信號SINT2 是要被傳送至處理程序層級模型虛擬平台10內的指令集模擬器110時,中斷轉換器230會將中斷信號SINT2 轉換成中斷資料封包P2,並傳送至處理程序層級模型虛擬平台10內的中斷代理器130。在第3圖中,為了簡化說明,驅動器150、匯流排30與晶片層級轉換器250的操作將省略並將描述於後。接著,當接收到中斷資料封包P2之後,中斷代理器130會將中斷資料封包P2轉換回中斷信號SINT2 ,並傳送至向量中斷控制器140。接著,向量中斷控制器140會根據中斷信號SINT2 產生中斷INT2並安排其優先級,以便提供中斷INT2至指令集模擬器110。於是,當接收到中斷INT2之後,指令集模擬器110便可執行對應於中斷INT2之中斷程序。另一方面,當中斷信號SINT2 要被傳送至處理器210時,中斷轉換器230會將中斷信號SINT2 傳送至向量中斷控制器240(如虛線所顯示),使得向量中斷控制器240能根據中斷信號SINT2 產生中斷INT2至處理器210並控制其優先級。於是,處理器210便可執行對應於中斷INT2之中斷程序。3 is a schematic diagram showing an interaction interrupt trigger path according to another embodiment of the present invention in FIG. 1 , which indicates that any hardware entity in the scratchpad transport level entity platform 20 generates an interrupt and The instruction set simulator 110 within the handler level model virtual platform 10 is passed for subsequent processing. Referring to FIG. 1 and FIG. 3 simultaneously, first, the hardware unit 220A, 220B or 220C provides the interrupt signal S INT2 to the interrupt converter 230 via the bus bar 225. Next, the interrupt converter 230 determines whether the interrupt signal S INT2 is to be transmitted to the processor 210 or to the instruction set simulator 110 within the handler level model virtual platform 10. When the interrupt signal S INT2 is to be transferred to the instruction set simulator 110 in the handler level model virtual platform 10, the interrupt converter 230 converts the interrupt signal S INT2 into the interrupt data packet P2 and transfers it to the handler level model. The interrupt agent 130 within the virtual platform 10. In FIG. 3, the operation of the driver 150, the bus bar 30, and the wafer level converter 250 will be omitted and will be described later for simplicity of explanation. Then, after receiving the interrupt data packet P2, the interrupt proxy 130 converts the interrupt data packet P2 back to the interrupt signal S INT2 and transfers it to the vector interrupt controller 140. Next, the vectored interrupt controller 140 generates an interrupt INT2 based on the interrupt signal S INT2 and prioritizes it to provide an interrupt INT2 to the instruction set simulator 110. Thus, after receiving the interrupt INT2, the instruction set simulator 110 can execute the interrupt routine corresponding to the interrupt INT2. On the other hand, when the interrupt signal S INT2 is to be transmitted to the processor 210, the interrupt converter 230 transmits the interrupt signal S INT2 to the vector interrupt controller 240 (as shown by the dashed line) so that the vector interrupt controller 240 can The interrupt signal S INT2 generates an interrupt INT2 to the processor 210 and controls its priority. Thus, the processor 210 can execute the interrupt routine corresponding to the interrupt INT2.
值得注意的是,在執行交互中斷之前,需要先對處理程序層級模型虛擬平台10以及暫存器傳輸層級實體平台20內的中斷進行設定與配置。由於處理程序層級模型虛擬平台10以及暫存器傳輸層級實體平台20所構成的模擬系統100是用來模擬同一系統單晶片的操作,因此兩平台的中斷設定與配置必須考慮系統的單一性。It is worth noting that the interrupts in the handler level model virtual platform 10 and the scratchpad transport level physical platform 20 need to be set and configured before the interaction interruption is performed. Since the simulation system 100 composed of the handler level model virtual platform 10 and the scratchpad transport level physical platform 20 is used to simulate the operation of the same system single chip, the interrupt setting and configuration of the two platforms must consider the unity of the system.
第4圖、第5圖與第6圖係分別顯示根據本發明一實施例所述之中斷配置封包40、中斷種類封包50及交互中斷封包60。當有複數個中斷代理器/中斷轉換器存在時,欄位CHID係用來指定該封包是對應於哪一個中斷代理器/中斷轉換器。欄位LENGTH係用來表示該封包的資料長度。欄位TYPE係用來表示該封包的類型。例如,“00”係表示該封包為中斷設置封包40、“01”係表示該封包為中斷種類封包50而“10”係表示該封包為交互中斷封包60。4, 5, and 6 show an interrupt configuration packet 40, an interrupt type packet 50, and an inter-interruption packet 60, respectively, according to an embodiment of the invention. When there are multiple interrupt agent/interrupt converters, the field CHID is used to specify which interrupt agent/interrupt converter the packet corresponds to. The field LENGTH is used to indicate the length of the data of the packet. The field TYPE is used to indicate the type of the packet. For example, "00" indicates that the packet is the interrupt setting packet 40, "01" indicates that the packet is the interrupt type packet 50, and "10" indicates that the packet is the interactive interrupt packet 60.
同時參考第1圖與第4圖,在中斷配置封包40中,欄位42係用來指示暫存器傳輸層級實體平台20內中斷事件的來源,而欄位44係用來指示處理程序層級模型虛擬平台10內中斷事件的來源。舉例來說,模擬系統100可模擬系統單晶片的32個中斷事件,其中每一中斷事件的來源可以是由處理程序層級模型虛擬平台10或是暫存器傳輸層級實體平台20內的矽智財單元所提供。此外,如先前所描述,欄位42與欄位44皆是表示該系統單晶片的32個中斷事件。因此,欄位42與欄位44的內容應該是互補值,以避免衝突產生。例如,欄位42中PP_VIC_SEL[0]係對應於暫存器傳輸層級實體平台20內的矽智財單元220A。因此,欄位42的PP_VIC_SEL[0]應被設為“1”,以表示該位元之中斷來源是位於暫存器傳輸層級實體平台20內的矽智財單元220A。同時地,欄位44的VP_VIC_SEL[0]則應被設為“0”,以表示該位元之中斷來源並非位於處理程序層級模型虛擬平台10內。Referring also to Figures 1 and 4, in the interrupt configuration packet 40, field 42 is used to indicate the source of the interrupt event in the scratchpad transport level entity platform 20, and field 44 is used to indicate the handler level model. The source of the interrupt event within virtual platform 10. For example, the simulation system 100 can simulate 32 interrupt events of a system single chip, wherein the source of each interrupt event can be the processor level virtual platform 10 or the scratchpad transport level entity platform 20 Provided by the unit. Moreover, as previously described, both field 42 and field 44 are 32 interrupt events representing the single wafer of the system. Therefore, the contents of field 42 and field 44 should be complementary values to avoid conflicts. For example, PP_VIC_SEL[0] in field 42 corresponds to the smart unit 220A in the scratchpad transport level entity platform 20. Therefore, PP_VIC_SEL[0] of field 42 should be set to "1" to indicate that the interrupt source for the bit is the smart asset unit 220A located in the scratchpad transport level entity platform 20. Simultaneously, VP_VIC_SEL[0] of field 44 should be set to "0" to indicate that the interrupt source for the bit is not located within the handler level model virtual platform 10.
參考第5圖,在中斷種類封包50中,欄位52、54與56係表示系統單晶片中32個中斷事件的種類。例如,對應於中斷配置封包40的欄位42與44,欄位52係用來指示該中斷事件為位準觸發(level trigger)或是邊緣觸發(edge trigger)。此外,當該中斷事件為邊緣觸發時,欄位54係用來指示該中斷事件為單一邊緣觸發(single edge trigger)或是雙邊緣觸發(both edge trigger)。再者,當該中斷事件為邊緣觸發時,欄位56係用來指示該中斷事件為上升邊緣觸發(rising edge trigger)還是下降邊緣觸發(falling edge trigger)。另外,當該中斷事件為位準觸發時,欄位56係用來指示該中斷事件為高位準觸發(high level trigger)還是低位準觸發(low level trigger)。此外,欄位58係用來指示該中斷事件是否被致能(enable)。Referring to Figure 5, in the interrupt type packet 50, fields 52, 54 and 56 represent the type of 32 interrupt events in the system single chip. For example, corresponding to fields 42 and 44 of the interrupt configuration packet 40, field 52 is used to indicate whether the interrupt event is a level trigger or an edge trigger. In addition, when the interrupt event is an edge trigger, the field 54 is used to indicate whether the interrupt event is a single edge trigger or a double edge trigger. Moreover, when the interrupt event is an edge trigger, the field 56 is used to indicate whether the interrupt event is a rising edge trigger or a falling edge trigger. In addition, when the interrupt event is a level trigger, field 56 is used to indicate whether the interrupt event is a high level trigger or a low level trigger. In addition, field 58 is used to indicate whether the interrupt event is enabled.
參考第6圖,在交互中斷封包60,欄位62係表示在系統單晶片的32個中斷事件中有哪些中斷事件發生。例如,當欄位62的VIC_INTERRUPT[0]被設為“1”時,則表示矽智財單元220A的中斷事件已被觸發。Referring to Figure 6, in the Interrupt Break Packet 60, field 62 indicates which interrupt events occurred in the 32 interrupt events of the system single chip. For example, when VIC_INTERRUPT[0] of field 62 is set to "1", it indicates that the interrupt event of the smart unit 220A has been triggered.
當開始進行模擬時,模擬系統100必須透過中斷配置封包40與中斷種類封包50先對處理程序層級模型虛擬平台10內的中斷代理器130以及暫存器傳輸層級實體平台的中斷轉換器230進行設定與配置,使得中斷代理器130以及中斷轉換器230在接收到中斷資料封包(例如交互中斷封包60)時,可對應地進行轉換。第7圖係顯示根據本發明一實施例所述之轉換示意圖,其係描述由中斷代理器130/中斷轉換器230所執行之中斷信號與中斷資料封包之間的轉換。在此實施例中,中斷代理器130/中斷轉換器230係透過有限狀態機(Finite State Machine,FSM)進行轉換。舉例來說,如箭頭A所顯示,當陸續接收到中斷資料封包Pn、中斷資料封包P(n+1)與中斷資料封包P(n+2)時,中斷代理器130/中斷轉換器230內的有限狀態機可根據先前接收的中斷配置封包40及中斷種類封包50,將所接收中斷資料封包轉換回中斷信號(如虛線70表示),其中中斷資料封包Pn係對應於中斷信號SINT1 、中斷資料封包P(n+1)係對應於中斷信號SINT3 與中斷信號SINT4 而中斷資料封包P(n+2)係對應於中斷信號SINT2 。另一方面,根據時脈信號CLK,中斷代理器130/中斷轉換器230亦可將中斷信號SINT1 -SINT4 轉換成中斷資料封包Pn、中斷資料封包P(n+1)與中斷資料封包P(n+2),並依序傳送至驅動器150/晶片層級轉換器250,如箭頭B所顯示。When the simulation is started, the simulation system 100 must first set the interrupt proxy 130 in the handler level model virtual platform 10 and the interrupt converter 230 in the scratchpad transport level physical platform through the interrupt configuration packet 40 and the interrupt type packet 50. And configuration, such that the interrupt agent 130 and the interrupt converter 230 can perform the corresponding conversion when receiving the interrupt data packet (eg, the inter-interrupt packet 60). Figure 7 is a diagram showing the transition between an interrupt signal and an interrupt data packet executed by the interrupt proxy 130/interrupt converter 230, in accordance with an embodiment of the present invention. In this embodiment, the interrupt agent 130/interrupt converter 230 is converted by a Finite State Machine (FSM). For example, as shown by the arrow A, when the interrupt data packet Pn, the interrupt data packet P(n+1), and the interrupt data packet P(n+2) are successively received, the interrupt agent 130/interrupt converter 230 is received. The finite state machine can convert the received interrupt data packet back to the interrupt signal (as indicated by the dashed line 70) according to the previously received interrupt configuration packet 40 and the interrupt type packet 50, wherein the interrupt data packet Pn corresponds to the interrupt signal S INT1 and the interrupt. The data packet P(n+1) corresponds to the interrupt signal S INT3 and the interrupt signal S INT4 and the interrupt data packet P(n+2) corresponds to the interrupt signal S INT2 . On the other hand, according to the clock signal CLK, the interrupt proxy 130/interrupt converter 230 can also convert the interrupt signal S INT1 - S INT4 into an interrupt data packet Pn, an interrupt data packet P(n+1), and an interrupt data packet P. (n+2), and sequentially transferred to the driver 150/wafer level converter 250 as indicated by arrow B.
參考回第1圖,在模擬系統100中,處理程序層級模型虛擬平台10與暫存器層級實體平台20之間的資料傳遞需符合匯流排30之通訊協定的格式。因此,驅動器150與晶片層級轉換器250會分別將來自中斷代理器130與中斷轉換器230的中斷資料封包轉換成符合匯流排30之通訊協定的格式,並透過匯流排30傳送至另一平台。此外,晶片層級轉換器250具有暫存單元,可以儲存所接收到之來自處理程序層級模型虛擬平台10的中斷資料封包或是欲傳送至處理程序層級模型虛擬平台10的中斷資料封包。具體而言,驅動器150可透過匯流排30對晶片層級轉換器250進行中斷資料封包的存取。Referring back to FIG. 1, in the simulation system 100, the data transfer between the handler level model virtual platform 10 and the scratchpad level physical platform 20 is in accordance with the format of the communication protocol of the bus 30. Therefore, the driver 150 and the wafer level converter 250 respectively convert the interrupt data packets from the interrupt proxy 130 and the interrupt converter 230 into a format conforming to the communication protocol of the bus bar 30, and transmit the same to the other platform through the bus bar 30. In addition, the wafer level converter 250 has a temporary storage unit that can store an interrupt data packet received from the processing level model virtual platform 10 or an interrupt data packet to be transmitted to the processing level model virtual platform 10. Specifically, the driver 150 can access the interrupt level data packet to the wafer level converter 250 through the bus bar 30.
藉由使用交互中斷,模擬系統100內的不同平台可被整合成同一系統,以便進行複雜的中斷密集(Interrupt intensive)軟體之開發,例如即時作業系統(Real time operating system,RTOS)。因此,可提高整體模擬的速度及精準度,進而加速系統單晶片的開發。By using interactive interrupts, different platforms within the simulation system 100 can be integrated into the same system for complex interrupt intensive software development, such as Real Time Operating System (RTOS). Therefore, the speed and accuracy of the overall simulation can be improved, thereby accelerating the development of the system single chip.
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。Although the present invention has been disclosed in the above preferred embodiments, it is not intended to limit the invention, and any one of ordinary skill in the art can make some modifications and refinements without departing from the spirit and scope of the invention. Therefore, the scope of the invention is defined by the scope of the appended claims.
10...處理程序層級模型虛擬平台10. . . Handler level model virtual platform
100...模擬系統100. . . Analog system
110...指令集模擬器110. . . Instruction set simulator
120A-120C、220A-220C...矽智財單元120A-120C, 220A-220C. . .矽智财单位
130...中斷代理器130. . . Interrupt agent
140...向量中斷控制器140. . . Vector interrupt controller
150...驅動器150. . . driver
20...暫存器傳輸層級實體平台20. . . Scratchpad transport level entity platform
210...處理器210. . . processor
230...中斷轉換器230. . . Interrupt converter
240...向量中斷控制器240. . . Vector interrupt controller
250...晶片層級轉換器250. . . Wafer level converter
30...週邊組件互連匯流排30. . . Peripheral component interconnect bus
40...中斷配置封包40. . . Interrupt configuration packet
42、44、52、54、56、58、62...欄位42, 44, 52, 54, 56, 58, 62. . . Field
50...中斷種類封包50. . . Interrupt type packet
60...交互中斷封包60. . . Interrupt interrupt packet
CLK...時脈信號CLK. . . Clock signal
INT1、INT2...中斷INT1, INT2. . . Interrupt
P1、P2、Pn、P(n+1)、P(n+2)...中斷資料封包P1, P2, Pn, P(n+1), P(n+2). . . Interrupt data packet
以及as well as
SINT1 、SINT2 、SINT3 、SINT4 ...中斷信號S INT1 , S INT2 , S INT3 , S INT4 . . . Interrupt signal
第1圖係顯示根據本發明一實施例所述之系統單晶片之模擬系統;1 is a schematic diagram showing a system for simulating a system single chip according to an embodiment of the invention;
第2圖係顯示第1圖中根據本發明一實施例所述之交互中斷觸發路徑示意圖;2 is a schematic diagram showing an interaction interrupt trigger path according to an embodiment of the present invention in FIG. 1;
第3圖係顯示第1圖中根據本發明另一實施例所述之交互中斷觸發路徑示意圖;3 is a schematic diagram showing an interaction interrupt trigger path according to another embodiment of the present invention in FIG. 1;
第4圖係顯示根據本發明一實施例所述之中斷配置封包;Figure 4 is a diagram showing an interrupt configuration packet according to an embodiment of the invention;
第5圖係顯示根據本發明一實施例所述之中斷種類封包;Figure 5 is a diagram showing an interrupt type packet according to an embodiment of the present invention;
第6圖係顯示根據本發明一實施例所述之交互中斷封包;以及Figure 6 is a diagram showing an inter-interruption packet according to an embodiment of the invention;
第7圖係顯示根據本發明一實施例所述之轉換示意圖,其係描述由中斷代理器/中斷轉換器所執行之中斷信號與中斷資料封包之間的轉換。Figure 7 is a diagram showing a transition between an interrupt signal and an interrupt data packet executed by an interrupt agent/interrupt converter, in accordance with an embodiment of the present invention.
10...處理程序層級模型虛擬平台10. . . Handler level model virtual platform
100...模擬系統100. . . Analog system
110...指令集模擬器110. . . Instruction set simulator
120A-120C、220A-220C...矽智財單元120A-120C, 220A-220C. . .矽智财单位
130...中斷代理器130. . . Interrupt agent
140...向量中斷控制器140. . . Vector interrupt controller
150...驅動器150. . . driver
20...暫存器傳輸層級實體平台20. . . Scratchpad transport level entity platform
210...處理器210. . . processor
230...中斷轉換器230. . . Interrupt converter
240...向量中斷控制器240. . . Vector interrupt controller
250...晶片層級轉換器250. . . Wafer level converter
以及as well as
30...週邊組件互連匯流排30. . . Peripheral component interconnect bus
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100114396A TWI463331B (en) | 2011-04-26 | 2011-04-26 | Simulation system and method for soc |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100114396A TWI463331B (en) | 2011-04-26 | 2011-04-26 | Simulation system and method for soc |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201243620A TW201243620A (en) | 2012-11-01 |
TWI463331B true TWI463331B (en) | 2014-12-01 |
Family
ID=48093888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100114396A TWI463331B (en) | 2011-04-26 | 2011-04-26 | Simulation system and method for soc |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI463331B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI560565B (en) | 2015-11-30 | 2016-12-01 | Ind Tech Res Inst | Thermal simulation device and method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080965A1 (en) * | 2003-09-30 | 2005-04-14 | Bennett Steven M. | Mechanism to control hardware interrupt acknowledgement in a virtual machine system |
US20050165597A1 (en) * | 2004-01-27 | 2005-07-28 | Arm Limited | Apparatus and method for performing hardware and software co-verification testing |
TW200917127A (en) * | 2007-10-04 | 2009-04-16 | Nat Univ Chung Cheng | Structure having virtual input/output for embedded software and hardware integrated development |
US20090150136A1 (en) * | 2005-10-10 | 2009-06-11 | Sei Yang Yang | Dynamic-based verification apparatus for verification from electronic system level to gate level, and verification method using the same |
TW201027378A (en) * | 2009-01-08 | 2010-07-16 | Realtek Semiconductor Corp | Virtual platform and related simulation method |
-
2011
- 2011-04-26 TW TW100114396A patent/TWI463331B/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080965A1 (en) * | 2003-09-30 | 2005-04-14 | Bennett Steven M. | Mechanism to control hardware interrupt acknowledgement in a virtual machine system |
US20050165597A1 (en) * | 2004-01-27 | 2005-07-28 | Arm Limited | Apparatus and method for performing hardware and software co-verification testing |
US20090150136A1 (en) * | 2005-10-10 | 2009-06-11 | Sei Yang Yang | Dynamic-based verification apparatus for verification from electronic system level to gate level, and verification method using the same |
TW200917127A (en) * | 2007-10-04 | 2009-04-16 | Nat Univ Chung Cheng | Structure having virtual input/output for embedded software and hardware integrated development |
TW201027378A (en) * | 2009-01-08 | 2010-07-16 | Realtek Semiconductor Corp | Virtual platform and related simulation method |
Also Published As
Publication number | Publication date |
---|---|
TW201243620A (en) | 2012-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Farshchi et al. | Integrating NVIDIA deep learning accelerator (NVDLA) with RISC-V SoC on FireSim | |
Mehta | ASIC/SoC functional design verification | |
US20110307847A1 (en) | Hybrid system combining TLM simulators and HW accelerators | |
Ogawa et al. | A practical approach for bus architecture optimization at transaction level | |
CN103927219A (en) | Accurate-period simulation model for reconfigurable special processor core and hardware architecture thereof | |
CN102339343A (en) | Method for generating system model and method for transmitting data in system model | |
CN112753034B (en) | Hardware simulation method of hardware simulation for system control block and control circuit design | |
US12112202B2 (en) | Framework for application driven exploration and optimization of hardware engines | |
Huang et al. | Centrifuge: Evaluating full-system HLS-generated heterogenous-accelerator SoCs using FPGA-acceleration | |
Nagarajan | The design and verification of a synchronous first-in first-out (fifo) module using system verilog based universal verification methodology (uvm) | |
Darringer et al. | Early analysis tools for system-on-a-chip design | |
CN108804380A (en) | The cascade Cycle accurate model of vector calculus hardware accelerator multinuclear | |
Diamantopoulos et al. | Plug&chip: A framework for supporting rapid prototyping of 3d hybrid virtual socs | |
TWI463331B (en) | Simulation system and method for soc | |
Bhatt et al. | RTL to GDS Implementation and Verification of UART using UVM and OpenROAD | |
CN118734753A (en) | Dynamic Control of Circuit Design Simulation | |
Jain et al. | Accelerating SystemVerilog UVM Based VIP to Improve Methodology for Verification of Image Signal Processing Designs Using HW Emulator | |
Yoo et al. | Hardware/software cosimulation from interface perspective | |
Van Moll et al. | Fast and accurate protocol specific bus modeling using TLM 2.0 | |
Wicaksana et al. | Hybrid prototyping methodology for rapid system validation in HW/SW co-design | |
Zhou et al. | The design of UVM verification platform based on data comparison | |
Wang et al. | System-level development and verification framework for high-performance system accelerator | |
US11373024B1 (en) | Circuit simulation based on a high-level language circuit specification | |
Herbst et al. | Switchboard: An Open-Source Framework for Modular Simulation of Large Hardware Systems | |
WO2021128781A1 (en) | Processor technology-based verification method for assisting fpga to implement ai algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |