TWI356321B - Systems and methods for graphics hardware design d - Google Patents

Systems and methods for graphics hardware design d Download PDF

Info

Publication number
TWI356321B
TWI356321B TW96150827A TW96150827A TWI356321B TW I356321 B TWI356321 B TW I356321B TW 96150827 A TW96150827 A TW 96150827A TW 96150827 A TW96150827 A TW 96150827A TW I356321 B TWI356321 B TW I356321B
Authority
TW
Taiwan
Prior art keywords
script
graphics
hardware
design
debugging
Prior art date
Application number
TW96150827A
Other languages
Chinese (zh)
Other versions
TW200928833A (en
Inventor
Xu Jim
Huang Minjie
Zhou Dong
Original Assignee
Via Tech Inc
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 Via Tech Inc filed Critical Via Tech Inc
Priority to TW96150827A priority Critical patent/TWI356321B/en
Publication of TW200928833A publication Critical patent/TW200928833A/en
Application granted granted Critical
Publication of TWI356321B publication Critical patent/TWI356321B/en

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

1356321 " 九、發明說明: 【發明所屬之技術領域】 . 本發明係有關於一種圖形硬體,特別是有關於一種在 圖形硬體設計中應用軟體模型代替硬體設計以進行調試 與驗證的方法與系統。 【先前技術】 I 一般的,積體電路設計包括幾個階段,在每個階段使 用不同的工具。積體電路設計者通常選擇幾種編程語言 - 中的一種來書寫代碼。與書寫代碼的過程相同步的是模 - 擬。在模擬的過程中,設計者執行一個模擬工具,以程 式碼為輸入來測試所作的設計。因為模擬暴露了問題, 設計者就可以編輯代碼來解決這些問題,然後再次模 擬。在模擬階段之後,由合成器將代碼翻譯為積體電路 的邏輯表示。然後由其他工具將邏輯表示翻譯為物理的 Φ 積體電路,例如,可以翻譯為現場可編程邏輯閘陣列 (FPGA),特殊應用積體電路(ASIC)或者傳統矽積體 電路(custom silicon 1C)等格式。 " 積體電路設計者可以選用幾種類型的編程語言。一類 可以稱為硬體設計語言(HDL),也被稱為寄存器傳送 語言(RTLs)。公眾均瞭解,RTLs語言包括Verilog和 VHDL^RTLs被認為是底層語言,因為它們描述特殊硬 體的特徵’例如定時和並行處理。積體電路設計語言的 另一類選擇為高階語言,包括C和C++ (以及其他的相1356321 " 发明发明: [Technical field to which the invention pertains] The present invention relates to a graphics hardware, and more particularly to a software model used in a graphics hardware design instead of a hardware design for debugging and verification. Method and system. [Prior Art] I In general, the integrated circuit design consists of several stages, using different tools at each stage. Integral circuit designers usually choose one of several programming languages - to write code. Synchronized with the process of writing the code is analog-to-make. During the simulation, the designer executes a simulation tool that tests the design with the code as input. Because the simulation exposes the problem, the designer can edit the code to resolve the problem and then simulate it again. After the simulation phase, the code is translated by the synthesizer into a logical representation of the integrated circuit. The logic representation is then translated by other tools into a physical Φ integrated circuit, for example, it can be translated into a field programmable logic gate array (FPGA), an application specific integrated circuit (ASIC) or a conventional silicon 1C. And other formats. " Integrated circuit designers can choose several types of programming languages. One type can be called hardware design language (HDL), also known as register transfer language (RTLs). The public understands that RTLs languages including Verilog and VHDL^RTLs are considered to be underlying languages because they describe the characteristics of special hardware such as timing and parallel processing. Another type of choice for integrated circuit design languages is high-level languages, including C and C++ (and other phases).

Client's Docket N〇.:S3U06-0029-TW TT’s Docket No:0608D-A41514-TW/Final/Joanne 5 1356321 " 關語言),這些語言通常用來開發軟體而不是硬體。這 些軟體語言允許設計者編寫更高層的代碼,這提高了編 程者的效率。 - 然而,許多目前流行的模擬工具和合成的工具都是用 HDL語言而不是C或C++語言作為輸入,因此,就需要 積體電路設計者先用C或C++語言編寫代碼,之後再翻 譯為HDL語言。這一翻譯過程可以人工完成,也可以自 V 動完成,或者用人工和自動相結合的方式完成。另外, _ 使用HDL語言的模擬工具和合成工具通常不能提供充·分 .. 的調試能力以使硬體設計者容易地和有效率地為硬體設 . 計調試。例如,這些模擬和合成工具通常只允許硬體設 計者或測試者檢測從模擬工具和合成工具中堆入和提取 的資料,但是它們通常不能允許更為具體或者詳細的調 試和測試圖形硬體設計。 【發明内容】 • 本發明的其中一個實施例描述了圖形硬體設計的調 . 試與驗證系統。系統包括:腳本引擎,用來將代表圖形 函數的腳本翻譯為可被軟體圖形驅動處理的命令。此軟 v 體圖形驅動在圖形處理單元模型中處理此命令。此圖形 處理單元模型可以與圖形處理單元硬體設計相對應,用 來產生至少一個與腳本中的圖形函數相應的圖形框。 本發明的調試與驗證系統還可以包括腳本引擎介 面,用來執行軟體圖形驅動中以及圖形處理單元模型中 的命令。Client's Docket N〇.:S3U06-0029-TW TT’s Docket No:0608D-A41514-TW/Final/Joanne 5 1356321 " Off Language), these languages are usually used to develop software rather than hardware. These software languages allow designers to write higher-level code, which increases the efficiency of the programmer. - However, many of today's popular simulation tools and compositing tools use the HDL language instead of the C or C++ language as input. Therefore, it is necessary for the integrated circuit designer to write the code in C or C++ and then translate it into HDL. Language. This translation process can be done manually or automatically, or manually and automatically. In addition, _ simulation tools and compositing tools that use the HDL language usually do not provide the ability to debug the . . . to enable the hardware designer to easily and efficiently set up the hardware for debugging. For example, these simulation and synthesis tools typically only allow hardware designers or testers to detect data that is populated and extracted from simulation tools and synthesis tools, but they generally do not allow for more specific or detailed debugging and testing of graphic hardware designs. . SUMMARY OF THE INVENTION • One of the embodiments of the present invention describes a tuning and verification system for graphical hardware design. The system includes a scripting engine that translates scripts representing graphics functions into commands that can be processed by the software graphics driver. This soft v-body graphics driver processes this command in the graphics processing unit model. This graphics processing unit model can correspond to the graphics processing unit hardware design to generate at least one graphics box corresponding to the graphics functions in the script. The debug and verification system of the present invention may also include a scripting engine interface for executing commands in the software graphics driver and in the graphics processing unit model.

Client’s Docket No.:S3U06-0029-TW TT's Docket N〇:0608D-A41 514-TW/Final/Joanne 6 1356321 =明還可以包括腳本引擎,用來執行軟體圖形驅動 ^圖城理單元模财时令。此腳本㈣綱來顯示 广_形框以及圖形處理單元模型所產生的調試資 =本發明线也可以包含調試器,提供調試圖 早疋模型的能力。 本發明另—個實施例描述了—種圖形硬體設計的方 法。該方法包含··將代表硬體設計的腳本翻譯為軟體圖 形驅動能夠處理的命令。本發財法也可以包括:在軟 體圖形驅動中以及代表圖形硬體設計的圖形處理單元模 型中處理命令。本發明方法還可以包含:產生至少一個 與腳本中的圖形函數相應的圖形處理單元框。 為讓本發明之上述和其他目的、特徵、和優點能更明 顯易懂,下文特舉出較佳實施例,並配合所附圖式 洋細說明如下: 【實施方式】 本發明揭露了一種調試和驗證圖形硬體設計的系統 與方法。圖形硬體設計者或測試者可以使用本發明系統 與方法一步一步地執行包含圖形操作的應用程^,來分 析和定位圖形硬體設計中潛在的錯誤。另外,用戶還^ 以使用本發明系統與方法在代表軟體應用程式的圖形元 件的腳本中設置中斷點,以進一步分析圖形硬體設計 用戶使用本發明系統與方法,還可以利用至少三條執 行路經來產生和分析圖形框或者視頻框,以進—步^说 和測試圖形硬體設計:參考運行時間和參考柵;^考=Client’s Docket No.: S3U06-0029-TW TT's Docket N〇: 0608D-A41 514-TW/Final/Joanne 6 1356321=The script engine can also be used to execute the software graphics driver. This script (4) outlines the debugging resources generated by the wide-frame and the graphics processing unit model. The line of the invention may also include a debugger that provides the ability to debug the graph early. Another embodiment of the invention describes a method of graphical hardware design. This method involves translating a script that represents a hardware design into a command that the software graphics driver can handle. The method of financing may also include processing commands in a software graphics driver and in a graphics processing unit model that represents a graphics hardware design. The method of the present invention may further comprise: generating at least one graphics processing unit frame corresponding to the graphics function in the script. The above and other objects, features and advantages of the present invention will become more <RTIgt; And systems and methods for verifying graphical hardware design. A graphics hardware designer or tester can use the system and method of the present invention to perform an application that includes graphics operations step by step to analyze and locate potential errors in the graphics hardware design. In addition, the user can also use the system and method of the present invention to set a break point in a script representing a graphical component of the software application to further analyze the graphics hardware design user using the system and method of the present invention, and can also utilize at least three execution paths. To generate and analyze graphic boxes or video frames to further test and test graphic hardware design: reference running time and reference grid; ^ test =

Client's Docket N〇.:S3U06-0029-TW 丁T’s Docket No:〇608D-A41514-TW/Final/Joanne 7 1356321 行時間、參賴it設備驅動和制_獅赠;或者Client's Docket N〇.:S3U06-0029-TW D's Docket No:〇608D-A41514-TW/Final/Joanne 7 1356321 Line time, rely on IT device driver and system _ lion gift; or

請見第1圖’描述了本發明圖形硬體設計中調試與驗 體設 用戶 支援 本, 產生的視頻或圖形框。 例中,圖形硬體設計中 ’它是本發明系統的可選 證系統的一個實施例。在本實施例中 調試與驗證系統包括編輯器1〇2, 元件’用來產生驗證B)形硬體設計的腳本1G6。舉例來 說,如果想要驗證或分析圖形硬體設計,本發明的用戶 可以手動產生包含著命令的腳本1〇6,命令用腳本語言定 義,代表圖形操作。 腳本106也可以由腳本產生器1〇4產生。腳本產生器 104可以從具有圖形元件的軟體應用程式中寫入或者獲 取圖形操作。例如,利用Direct3D®或者〇penGL®圖 形應用軟體編程介面的軟體應用程式會包含對圖形運行 時間或圖形應用程式編程介面的調用,它們可以被寫入 或獲取,以及轉換成腳本語言定義的命令。在這種情況 下’代表軟體應用程式210的圖形操作的腳本106可被 轉換成可以在腳本引擎108中使用的腳本1〇6。軟體應用 程式210可以是遊戲軟體或者其他具有圖形元件的軟 體。腳本產生器104產生的腳本106可以被編輯器編輯, 這樣本系統的用戶可以增加、移動或者改變代表圖形操Please refer to Fig. 1 for the video or graphic frame generated by the user support of the debugging and verification device in the graphic hardware design of the present invention. In the example, the graphical hardware design is an embodiment of an optional system of the system of the present invention. In the present embodiment, the debug and verification system includes an editor 1〇2, which is used to generate a script 1G6 for verifying the B) hardware design. For example, if one wants to verify or analyze a graphical hardware design, the user of the present invention can manually generate a script containing commands 1〇6, the commands being defined in a scripting language, representing graphical operations. The script 106 can also be generated by the script generator 1〇4. Script generator 104 can write or obtain graphics operations from a software application having graphical elements. For example, a software application that uses the Direct3D® or 〇penGL® graphics application software programming interface will include calls to the graphics runtime or graphics application programming interface, which can be written or retrieved, and converted into commands defined by the scripting language. In this case, the script 106 representing the graphics operation of the software application 210 can be converted into the script 1〇6 which can be used in the script engine 108. The software application 210 can be a game software or other software having graphical components. The script 106 generated by the script generator 104 can be edited by the editor so that the user of the system can add, move or change the representative graphics operation.

Client's Docket No.:S3U06-0029-TW TT*s Docket No:0608D-A41514-TW/Final/Joanne 丄J J厶丄 脅 :的腳本命令。例如,如果用 =的正確性作評估,用戶就可以移動== 產生器104所產生的腳本1〇6。 21〇二=:Γ具有圖形介面2〇8元件的軟體應用程式 H)的,例。敕體應用程式21。還包含其他 〇4二然而應當理解的是’圖示各元件僅作為理解本發明Client's Docket No.: S3U06-0029-TW TT*s Docket No: 0608D-A41514-TW/Final/Joanne 丄J J厶丄 Threat: The script command. For example, if the evaluation is done with the correctness of =, the user can move == the script 1〇6 generated by the generator 104. 21〇二=:Γ Software application with graphical interface 2〇8 components H), for example. The body application 21. Other elements are also included. However, it should be understood that the various elements are illustrated only as an understanding of the present invention.

生例’並非用來限制本發明。為了顯示或者產 圖形,軟體應用程式加可以包含圖形介面·,盘作 2統圖形介面214或圖形應用程式介面通信,以執行 I令從而將騎輸出到螢幕或顯示器上。作業系統圖形 面214與軟體圖形驅動216通信,軟體圖形驅動叫 ”設備驅動是等效的。在—個較佳的實施例中,軟體圖 =驅動216用來與圖形處理硬體218交互,將提交到標The production ' is not intended to limit the invention. In order to display or produce graphics, the software application can include a graphical interface, a graphical interface 214 or a graphical application interface communication to execute an I command to output the ride to a screen or display. The operating system graphics surface 214 is in communication with the software graphics driver 216, which is equivalent to the device driver. In a preferred embodiment, the software graphics = driver 216 is used to interact with the graphics processing hardware 218. Submit to the target

化應賴式介面的命令_為彳枝的圖形處理硬體所 特有的命令。 次圖形處理硬體218從軟體圖形驅動216接收命令,處 資料,產生圖开&gt; 或視頻的框220以顯示在螢幕或者其 他類似輸出設備h廠商不同,圖形處理硬體設計的差 別很大’但是具典型性的是:它與軟體圖形驅動216相 聯繫’能夠執行標準軟體應用程式介面所定義的命令, 例如Direct3D®的應用程式介面或者〇penGL⑧應用 程式介面。 腳本產生器222可以從軟體應用程式21 〇或者從軟體The command of the reliance interface is _ the command specific to the lychee graphics processing hardware. The secondary graphics processing hardware 218 receives commands from the software graphics driver 216, generates data, generates a picture or a video frame 220 to display on a screen or other similar output device, and the graphics processing hardware design differs greatly. But typically: it is associated with the software graphics driver 216' capable of executing commands defined by the standard software application interface, such as the Direct3D® application interface or the penGL8 application interface. The script generator 222 can be from the software application 21 or from the software

^iienf's Docket No.:S3U06-0029-TW s Docket No:〇608D-A41514-TW/Final/Joanne 9 1356321^iienf's Docket No.:S3U06-0029-TW s Docket No:〇608D-A41514-TW/Final/Joanne 9 1356321

應用程式210的圖形元件獲取或記錄命令’以產生圖形 内容。腳本產生器222能將這些命令轉化為腳本224中 由腳本語言定義的命令。在一個非限制性實施例中,腳 本δ吾a的腳本命令可以被組合為如下至少4種命令組群 的類型.普通命令(c〇mmon commands ),二維命令(2D commands )’ 二維命令(3D commands)和視頻命令(video commands )。在這一非限制性實施例中’命令組群具有 的功能與軟體圖形應用程式介面(API)的API功能相應。 例如’普通命令可以包含用來定義圖形操作所用的圖 形API的版本和類型的命令,也可以包含圖形操作的顯 示模式或決定,也可以包含與圖形或視頻框相應的顏色 品質或密度以及其他屬性;本領域普通技術人員應當理 解。另外,普通命令也可以包含定義腳本中的一個或多 個中斷點的命令或指向腳本引擎1〇8以向檔、顯示器或 其他輸出設備堆疊調試資訊的命令。調試資訊可以包含 與圖形硬體設計的調試相應的資訊。 普通命令也可以包含對於達到調試目的有用的其他 附加命令。例如,跳轉到腳本中的另一個點的命令可能 對於用戶分析硬體設計有用。在本發明的其中一個實施 例中,普通命令提供了渲染程式的維持狀態或放棄狀態 之間的跳轉能力。另一個示範性的調試命令可以包含使 調試資訊顯示或儲存到檔中的命令。這對於用戶評估圖 形硬體设§十來s兒是有用的,在腳本執行過程中馨示用戶 他希望見到的特定資訊,或者僅僅警示用戶聊本的某部The graphical component of application 210 acquires or records the command ' to produce graphical content. The script generator 222 can convert these commands into commands in the script 224 that are defined by the scripting language. In one non-limiting embodiment, the script commands of the script δ a can be combined into the following types of at least four command groups: common commands (c〇mmon commands), two-dimensional commands (2D commands) (3D commands) and video commands (video commands). In this non-limiting embodiment, the 'command group' has functions corresponding to the API functions of the software graphics application interface (API). For example, a 'normal command can contain commands that define the version and type of the graphics API used for graphics operations. It can also contain display modes or decisions for graphics operations. It can also contain color quality or density and other properties corresponding to graphics or video frames. It will be understood by one of ordinary skill in the art. In addition, normal commands can also contain commands that define one or more breakpoints in the script or commands that point to script engine 1〇8 to stack debug information to a file, display, or other output device. The debug information can contain information corresponding to the debugging of the graphical hardware design. Normal commands can also contain additional additional commands that are useful for debugging purposes. For example, a command to jump to another point in the script might be useful for user analysis hardware design. In one of the embodiments of the present invention, the normal command provides a jump capability between the maintain state or the abandon state of the renderer. Another exemplary debug command may include commands to display or store debug information into a file. This is useful for the user evaluation graphics hardware. It is useful to show the user the specific information he wants to see during the execution of the script, or just to alert the user to a certain part of the book.

Client's Docket N〇.:S3U06-0029-TW TT’s Docket No:0608D-A41514-TW/Final/Joanne 1356321 分已經到達。另外,普通命令還可以包含清空D、z、s 緩衝的命令。再另外,在腳本語言中也可以包含顯示渲 染的圖形、視頻框或者翻轉框的命令。本領域普通技術 人員應當理解,D緩衝是一個包含了屬於顏色資料渲染 • 物件的資訊的緩衝,在本技術領域内也被認為是目的地 &gt; 緩衝。本領域技術人員應理解z緩衝是指“深度”緩衝, , 儲存每一個圖元的深度資訊。另外,也應理解的是,S緩 φ 衝是指“模版’’緩衝,儲存每一個圖元的模版值。這些 緩衝是三維渲染結果的主儲存區域。另外,腳本命令使 彳寸圖形處理單兀中的低水平硬體寄存器的編程能夠提供 在圖形處理單元(GPU)或GPU替代模型中的詳細功能 的控制。 二維命令’三維命令和視頻命令中所包含的命令與特 殊圖形應用編程介面中的命令相似,例如特殊圖形應用 、扁程;丨面為Direct3D®API或者〇penGL®API。本領域 • 技術人員應理解上述命令在不同系統中差別很大,依賴 • 於軟體應用所使用的特殊的圖形API或者腳本引擎所使 用的圖形硬體設計。然而,本領域擁有圖形A;pi知識的 普通技術人員應能夠知道還有很多其他未涉及的變換, 這些變換都屬於本發明的保護範圍。 現在請再回到第1圖,參考原理方塊圖。如上所述, 本發明系統使用的腳本106可由編輯器1〇2或者腳本產 生器104產生。腳本1〇6包含與腳本語言所定義的圖形 操作相應的命令,可被腳本引擎1〇8執行。系統提供給Client's Docket N〇.:S3U06-0029-TW TT’s Docket No:0608D-A41514-TW/Final/Joanne 1356321 points have arrived. In addition, normal commands can also contain commands to clear D, z, s buffers. In addition, commands that display rendered graphics, video frames, or flip boxes can also be included in the scripting language. One of ordinary skill in the art will appreciate that D-buffering is a buffer that contains information pertaining to color data rendering objects, and is also considered a destination &gt; buffer in the art. Those skilled in the art should understand that z-buffer refers to a "depth" buffer, which stores depth information for each primitive. In addition, it should also be understood that the S-slow φ rush refers to the "template" buffer, which stores the template values of each primitive. These buffers are the main storage areas for the 3D rendering results. In addition, the script commands make the graphics processing list Programming of low-level hardware registers in 兀 can provide control of detailed functions in a graphics processing unit (GPU) or GPU replacement model. Two-dimensional commands 'command in three-dimensional commands and video commands and special graphics application programming interfaces The commands are similar, such as special graphics applications, flat-range applications; Direct3D® API or 〇penGL® API. • The skilled person should understand that the above commands vary widely from system to system and depend on the software application. Special graphics APIs or graphical hardware designs used by scripting engines. However, those skilled in the art having graphics A; pi knowledge should be able to know that there are many other unrelated transformations that are within the scope of the present invention. Now, please return to Figure 1, referring to the principle block diagram. As described above, the script 106 used by the system of the present invention can be 1〇2 or editor 104 generates the script generation. 1〇6 script command comprising the corresponding operation pattern defined scripting language, a script may be executed 1〇8 engine. The system provides

Client's Docket No.:S3U06-0029-TW TT's Docket N〇:0608D-A415 14-TW/Final/Joanne ^56321 本系統的用戶多種可選擇的執行路徑,以驗證和分析圖 形硬體設計。這多種執行路徑能允許用戶使用用戶正在 測試的圖形硬體設計,也允許用戶使用參考系統來產生 圖形或者視頻的框以作比對之用。腳本引擎1〇8將代表 由腳本語言定義的圖形操作的腳本1〇6翻譯為腳本引擎 ' 1〇8所執行的命令,以產生圖形框,也允許本系統用戶分 析和調試用來產生框的圖形硬體設計。 _ 腳本引擎1〇8也可以包含用戶介面n〇,允許用戶既 透過鍵盤、滑鼠或其他輸入設備,也可以.透過顯示器或 其他輸出設備視覺化地與腳本引擎108交互,以及/或者 控制腳本引擎108。用戶介面110也允許腳本引擎1〇8將 該些執行路徑中的至少一個路徑的結果顯示給用戶。用 戶介面110還能夠允許用戶比對至少兩個執行路徑的結 果,來分析圖形硬體設計。 本發明系統還可以包含腳本引擎介面114,允許腳本 引擎108透過圖形設備驅動118執行腳本1〇6,腳本 為腳本語言形式,代表圖形硬體設計。換句話說,腳本 ^擎介面Π4能將腳本⑽翻譯成為—個㈣被設備驅 處理的格式’因為可能會需要將包含了由腳本語 s所疋義的命令的聊本崎為在圖形處理單元 :开=單元的模型中的設備驅動的調用和後續調用 = 114的實現方式可以有很多種,依賴於本Client's Docket No.: S3U06-0029-TW TT's Docket N〇: 0608D-A415 14-TW/Final/Joanne ^56321 Users of this system have a variety of alternative execution paths to verify and analyze the graphical hardware design. These multiple execution paths allow the user to use the graphical hardware design that the user is testing, and also allow the user to use the reference system to generate graphics or video frames for comparison purposes. The script engine 1〇8 translates the scripts 1〇6 representing the graphics operations defined by the scripting language into commands executed by the scripting engine '1〇8' to generate a graphical box, and also allows the system user to analyze and debug the frames used to generate the frames. Graphic hardware design. _ Scripting Engine 1 8 may also include a user interface, allowing the user to visually interact with script engine 108 and/or control scripts through a keyboard, mouse or other input device, or through a display or other output device. Engine 108. User interface 110 also allows scripting engine 1 8 to display the results of at least one of the execution paths to the user. The user interface 110 can also allow the user to compare the results of at least two execution paths to analyze the graphical hardware design. The system of the present invention may also include a scripting engine interface 114 that allows the scripting engine 108 to execute scripts 1 through 6 through the graphics device driver 118, which is in the form of a scripting language, representing graphical hardware design. In other words, the script ^ interface Π 4 can translate the script (10) into a (four) device-driven format 'because it may be necessary to include the command that is defined by the script language s as the graphics processing unit : The device driver call in the model of the open = unit and the subsequent call = 114 can be implemented in a variety of ways, depending on this

^斤使用的設備驅動118和圖形處理單元模型i22的 不同而不同,因為本系統可以按照所選用的通信協議被 Chenrs Docket N〇.:S3U06-0029-TW s 〇cket No:0608D-A41514-TW/FinaJ/J〇anne 12 1356321 設置為執行不同的設備驅動和模型。 本發明系統可以包含圖形處理單元模型122。圖形處 理單元模型122可以是代表圖形處理單元的硬體設計的 軟體模型,可允許設計者或測試者不需要專門為測試目 的來製作一個物理的圖形處理單元即可以分析和驗證特 定的硬體設計。如上所述,硬體設計者可以用硬體描述 語言(HDL)創建圖形硬體設計。本領域技術人員應理 解,用硬體描述語言表述的硬體設計可以被翻譯為此設 計的一個模型,模型可以用可編程語言來設計,例如c 語言或者其他類似的語言,允許設計者為硬體設計來創 建一個工作軟體模型。在本發明系統的架構中使用這些 模型,可以創建一個工作圖形系統,能產生圖形或者視 頻框以達到測試和驗證的目的。 例如,眾所周知,用硬體設計語言所描述的邏輯門能 夠被翻譯為高階語言例如c語言,來創建硬體設計的模 型,這個模型可以被用來建模和測試。這樣的模型在本 領域内被稱為“C-模型,,,說明創建圖形硬體設計的模 型所用的編程語言為C語言。大家還知道,設備驅動118 典型的為軟體元件,促進了作業系統的圖形子系統和圖 形硬體之間的通信。在本發明系統中,透過腳本引擎介 面114和圖形處理單元模型122的交互,設備驅動 也可以被分析和調試。 圖形處理單元模型122因為模擬了硬體圖形處理單 儿的功能,所以它能產生圖形、視頻框或GPU圖像128,The device driver 118 used is different from the graphics processing unit model i22 because the system can be used by the Chenrs Docket N〇.:S3U06-0029-TW s 〇cket No:0608D-A41514-TW /FinaJ/J〇anne 12 1356321 Set to perform different device drivers and models. The system of the present invention can include a graphics processing unit model 122. The graphics processing unit model 122 may be a software model representing the hardware design of the graphics processing unit, allowing the designer or tester to analyze and verify a particular hardware design without having to create a physical graphics processing unit specifically for testing purposes. . As mentioned above, hardware designers can create graphical hardware designs using the Hard Description Language (HDL). Those skilled in the art will appreciate that a hardware design expressed in a hardware description language can be translated into a model of this design, which can be designed in a programmable language, such as the C language or other similar language, allowing the designer to be hard. The body is designed to create a working software model. Using these models in the architecture of the system of the present invention, a working graphics system can be created that can generate graphics or video frames for testing and verification purposes. For example, it is well known that logic gates described in hardware design languages can be translated into higher-order languages such as C to create hardware-designed models that can be modeled and tested. Such a model is referred to in the art as a "C-model," indicating that the programming language used to create the model of the graphical hardware design is C. It is also known that the device driver 118 is typically a software component that facilitates the operating system. Communication between the graphics subsystem and the graphics hardware. In the system of the present invention, the device driver can also be analyzed and debugged through the interaction of the scripting engine interface 114 and the graphics processing unit model 122. The graphics processing unit model 122 is simulated The hardware graphics handle the single function, so it can produce graphics, video frames or GPU images 128,

Client s Docket No TT’ — ·Client s Docket No TT’ — ·

r» υ . χτ 1N〇 :b3U06-0029-TWr» υ . χτ 1N〇 :b3U06-0029-TW

Docket N〇:〇6〇8D.A415147wWinai/j〇anne 13 1356321 它們能夠透過用戶介面110顯示給用戶。換言之,圖形 處理單元模型122能夠產生GPU圖像128,代表在腳本 106中的、透過腳本引擎介面114和設備驅動118在圖形 處理單元模型122中被腳本引擎108所執行的命令。GPU 圖像128能夠被本發明系統的用戶透過用戶介面110或 其他工具做分析。另外,用戶介面110能夠被用來縮放 所生成的圖像,以分析得更為詳細。本發明系統的用戶 能夠分析所產生的GPU圖像128來測試或驗證圖形處理 單元模型122所代表的圖形硬體設計,圖形處理單元模 型122是從HDL設計翻譯得來的。 另外,因為圖形處理單元模型122由可編程語言描 述,例如C語言,本領域普通技術人員應理解,在腳本 的執行過程中將產生和獲取追蹤資訊或其他調試資料, 以作分析。特別地,在測試和驗證設計的過程中,啟示 使用某些硬體設計元件中的資料的資訊將被獲取和分 析,這對調試是有用的。另外,本系統的用戶可以選擇 透過用戶介面110顯示某些追蹤資訊。 本發明系統包含參考運行時間112,與腳本引擎108 通信,從腳本引擎108接收命令以處理腳本命令。本系 統的用戶寸以選擇使用參考運行時間112來執行腳本 106。在一個非限制性實施例中,參考運行時間112可以 包含:軟體供應商提供的運行時間,例如Direct3D®運 行時間。本系統還包含參考驅動116,作為圖形驅動的原 型的參考軟體驅動。Docket N〇:〇6〇8D.A415147wWinai/j〇anne 13 1356321 They can be displayed to the user through the user interface 110. In other words, graphics processing unit model 122 can generate GPU image 128 representing commands executed in script 106 by script engine 108 in script processing unit model 122 via script engine interface 114 and device driver 118. The GPU image 128 can be analyzed by the user of the system of the present invention through the user interface 110 or other tools. Additionally, the user interface 110 can be used to scale the generated image for more detailed analysis. A user of the system of the present invention can analyze the generated GPU image 128 to test or verify the graphical hardware design represented by the graphics processing unit model 122, which is translated from the HDL design. Additionally, because the graphics processing unit model 122 is described in a programmable language, such as the C language, those of ordinary skill in the art will appreciate that tracking information or other debug data will be generated and retrieved for analysis during execution of the script. In particular, in the process of testing and validating the design, information that uses data from some hardware design components will be acquired and analyzed, which is useful for debugging. In addition, users of the system may choose to display certain tracking information through the user interface 110. The system of the present invention includes a reference runtime 112 that communicates with the script engine 108 and receives commands from the script engine 108 to process the script commands. The user of the system selects to use the reference runtime 112 to execute the script 106. In one non-limiting embodiment, reference runtime 112 may include: a runtime provided by a software vendor, such as Direct3D® runtime. The system also includes a reference driver 116, which is a reference software driver for the graphics driver.

Client's Docket No.:S3U06-0029-TW TT's Docket No:0608D-A41514-TW/Final/Joanne 14 1356321 • 本領域技術人員應理解’參考驅動116可以作為在應 用和代表硬體設計的模型之間的介面,也可以驗證由圖 形規範所定義的特徵。另外,參考驅動116可以提供圖 • 形硬體設計的性能分析或性能目標概要的基線。參考驅 動116能夠與圖形處理單元模型122通信,使得圖形處 理單元模型122產生參考驅動圖像126或參考驅動框, &quot; 與腳本106中的、在腳本引擎108和參考運行時間112 ,· 以及參考驅動116指導下由圖形處理單元模型122產生 參的命令相應。這樣,本系統的用戶可,以使用參考驅動在 同一個硬體設計中所產生的視頻或圖形框來分析和驗證 設備驅動118的設計。 用戶也可以分析追蹤資訊130,結果產生參考驅動圖 像126 ’也可以使传圖像126和追蹤資訊130透過用戶介 面110顯示。用戶還可以比對參考驅動圖像126和GPU 圖像128,也可以透過用戶介面11〇對兩個圖像執行縮 放、旋轉或者其他操作,透過分析本系統所產生的圖像 • 來測試和驗證設備驅動和圖形硬體設計的設計。 ' 本系統也包含參考柵120,能夠渲染視頻或音頻框, • 或渲染參考圖像I26,透過參考運行時間112基於腳本 '· 106中的命令與參考栅120通信。軟體供應商或者圖形應 用編程介面的創建者能夠提供參考柵12〇作為圖形硬體 設計者的參考工具’如:Direct3D®或OpenGL®圖形 API。參考栅120也可以獨立的創建,圖形API提供創建 的功能。參考栅120是一個在軟體中實現的典型工具,Client's Docket No.: S3U06-0029-TW TT's Docket No: 0608D-A41514-TW/Final/Joanne 14 1356321 • Those skilled in the art will understand that 'reference drive 116 can be used between the application and the model that represents the hardware design. The interface can also validate features defined by the graphical specification. In addition, the reference drive 116 can provide a baseline of performance analysis or performance goal summary for a graphical hardware design. Reference drive 116 can communicate with graphics processing unit model 122 such that graphics processing unit model 122 generates reference drive image 126 or reference drive frame, &quot; with script 106, at script engine 108 and reference runtime 112, and reference The command corresponding to the generation of the parameters by the graphics processing unit model 122 under the guidance of the driver 116 corresponds. Thus, the user of the system can analyze and verify the design of the device driver 118 using a video or graphics frame produced by the reference driver in the same hardware design. The user can also analyze the tracking information 130, and the resulting reference drive image 126' can also cause the transmitted image 126 and tracking information 130 to be displayed through the user interface 110. The user can also compare the reference drive image 126 and the GPU image 128, or perform scaling, rotation or other operations on the two images through the user interface 11 to test and verify by analyzing the image generated by the system. Design of device drivers and graphic hardware designs. The system also includes a reference gate 120 capable of rendering a video or audio frame, or a rendered reference image I26 that communicates with the reference gate 120 via reference runtime 112 based on commands in the script '106. The software vendor or the creator of the graphical application programming interface can provide a reference gate 12 as a reference tool for graphics hardware designers such as Direct3D® or OpenGL® graphics API. The reference gate 120 can also be created independently, and the graphics API provides the functionality created. The reference grid 120 is a typical tool implemented in software.

Client’s Docket No.:S3U06-0029-TW TT’s Docket No:0608D-A41514-TW/Final/Joanne 135.6321 模擬參考硬體的執行,但典型地不具有市場所需的必要 的工作特性,也不能翻譯為硬體設計的實現。基於腳本 106中的命令,參考柵120能產生參考圖像124,透過參 考運行時間112通信。用戶會希望透過用戶介面110觀 察參考圖像,或對比參考圖像124和參考驅動圖像126 或GPU圖像128,來分析和驗證硬體設計或設備驅動的 執行。 ^ 本發明的系統提供至少3條執行路徑來執行腳本。用 ® 戶會透過用戶介面·'•或由腳本中嵌入的命令選擇不同的執 .. 行路徑。不同的執行路徑可以並行處理,因此用戶可以 透過用戶介面或根據分析追蹤資訊來並行比對所產生的 圖像。 現在請見第3圖,在多條執行路徑中,用粗體線晝出 的其中一條執行路徑描述了本發明系統的原理方塊圖。 粗體線所示的執行路徑是本發明的其中一個舉例。本領 域技術人員應理解多個執行路徑都可以被用來分析、測 ® 試或驗證圖形處理單元模型122所代表的圖形硬體設計。 用粗體線表示出的執行路徑描述了本系統的一條執 •行路線,在設備驅動118和圖形處理單元模型122中透 過腳本引擎來執行腳本,圖形處理單元代表本系統的用 戶所需要分析和驗證的硬體設計。如上所述,典型的情 況是用HDL語言描述硬體設計,而通常編程語言用更高 級的語言,例如C語言。用HDL語言描述的硬體設計一 般被翻譯為更高級的語言,例如C語言。對硬體設計作Client's Docket No.: S3U06-0029-TW TT's Docket No: 0608D-A41514-TW/Final/Joanne 135.6321 Analog reference hardware implementation, but typically does not have the necessary operating characteristics required by the market, nor can it be translated as hard The realization of the body design. Based on the commands in script 106, reference grid 120 can generate reference image 124 for communication via reference runtime 112. The user may wish to view and verify the execution of the hardware design or device driver by viewing the reference image through the user interface 110 or comparing the reference image 124 with the reference drive image 126 or the GPU image 128. ^ The system of the present invention provides at least 3 execution paths to execute scripts. The ® user will select a different .. line path through the user interface '\ or by commands embedded in the script. Different execution paths can be processed in parallel, so users can compare the resulting images in parallel through the user interface or based on analytics tracking information. Referring now to Figure 3, in one of the plurality of execution paths, one of the execution paths with bold lines describes the principle block diagram of the system of the present invention. The execution path shown by the bold line is an example of the present invention. Those skilled in the art will appreciate that multiple execution paths can be used to analyze, test, or verify the graphical hardware design represented by the graphics processing unit model 122. The execution path indicated by the bold line describes a line of the system, and the script is executed by the script engine in the device driver 118 and the graphics processing unit model 122. The graphics processing unit represents the analysis required by the user of the system. Verified hardware design. As mentioned above, the typical case is to describe the hardware design in the HDL language, and usually the programming language uses a higher level language, such as C language. Hardware designs described in the HDL language are generally translated into more advanced languages, such as the C language. Designed for hardware

Client’s Docket N〇.:S3U06-0029-TW TT's Docket No:0608D-A41514-TW/Final/Joanne 16 1356321 類似這樣的翻譯動作也可以被用於 元模型12 2。用戶也將能透過本系統測;^的圖^處理果 作業系統與_硬體之間通信的設備驅D分析幫助電腦 本執行路徑包含設備驅動118和々U8。 估的GPU模型中的硬體設計。:入在可被測試評 以備進-步的分析和其他多種應用生切資訊⑽, 114、設備驅動118以及代表圖形處== = = = 設計的圖形處理單元模型122,本/體糸統中的硬聽 士,rpTT国你 乐统執行腳本106,產 生-G P U圖像! 2 8,其能夠代表圖形或者 能夠透過用戶介面11〇對此圖形進 八化 ^ 适仃刀析、縮放和處理, 以刀析、驗證或者調試圖形處理單元模型㈣ :形硬體設計。系統也可以反覆多次產生圖形來 動的圖形和視頻,供本系統用戶透過用戶介面u 析。 尸 現在請見第4圖’描述了本系統的多條執行路徑中, 用粗體線標出的其中-條執行路徑描述了本發明系統的 另-個框I本執行路經為“用戶提供了產生參考驅 動圖形126的能力。參考驅動圖形126代表了由參考設 備驅動116和代表硬體設計的圖形處理單元模型122相 結合產生的圖形或者視頻框。這樣,本系統用戶可以透 過比對由設備驅動118所產生的圖形和由參考設備驅動 U6所產生的圖形來驗證或者分析設備驅動118。如上所 述,參考設備驅動116可以由圖形ΑΠ(例如,DireceD@ AH)的軟體提供商創建,也可以由第三方驅動提供商提Client's Docket N〇.: S3U06-0029-TW TT's Docket No: 0608D-A41514-TW/Final/Joanne 16 1356321 A translation operation like this can also be used for the metamodel 12 2 . The user will also be able to pass the system test; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Estimated hardware design in the GPU model. : into the analysis and other various application information that can be tested for further steps (10), 114, device driver 118 and representative graphics at the == = = = design of the graphics processing unit model 122, this / body In the hard listener, rpTT country you perform script 106, generate - GPU images! 2 8, it can represent graphics or can be transformed into the graphics through the user interface 11 ^ 仃 析 、 缩放 缩放 缩放 仃 仃 , , , , , , , , , , 。 。 。 。 。 。 。 。 。 。 图形 图形 图形 图形 图形 图形 图形 图形 图形 图形 图形 图形 图形 图形The system can also generate graphically-driven graphics and video multiple times for the user of the system to analyze through the user interface. The corpse is now in Figure 4, which depicts the multiple execution paths of the system. The execution path marked with a bold line describes another frame of the system of the present invention. The ability to generate the reference drive pattern 126. The reference drive pattern 126 represents a graphics or video frame produced by the combination of the reference device driver 116 and the graphics processing unit model 122 representing the hardware design. Thus, the system user can The graphics generated by device driver 118 and the graphics generated by reference device driver U6 verify or analyze device driver 118. As described above, reference device driver 116 may be created by a software provider of graphics (eg, DireceD@AH). Can also be provided by a third-party driver

Client's Docket N〇.:S3U06-0029-TW TT s Docket No:0608D-A41514-TW/Final/Joanne 17 1356321 供’第三方提供的驅動需按照參考規範來操作,可能會 喪失與硬體提供商開發的硬體特殊設備驅動效率一樣高 的石更體設計的優點。 由系統反復產生的參考驅動圖形126與第3圖的執行 路經產生的GPU圖形128可以透過用戶介面相比對。例 如’參考驅動圖形126和GPU圖形128都可以被縮放、 旋轉或者其他處理,使得用戶能分析所產生的每個圖形 的正確性。接下來,可以對所產生的圖形進—步分析, 來驗證和分析硬體設計與軟體設備驅動的設計與執行。 - 利用參考驅動116和設備驅動118執行腳本,第4圖中 粗體線標出的執行路經允許本涂統用戶分析由圖形處理 單元模型122所代表的硬體設計。 請見第5圖,描述了本系統另一個執行路經的實施 例。粗體線標出的路經允許用戶用參考運行時間112來 產生參考圖形124。如上所述,參考運行時間112可以代 • 表提供圖形API (如Direct3D®API)的軟體提供商所提 供的運行時間。參考運行時間112可以與參考柵12〇通 信,參考柵120能夠產生參考圖形格式的視頻或圖形框。 如上所述,參考柵120能夠按照圖形API執行圖形操作, 提供參考或者基線,為確保硬體設計或軟體設備驅動的 正確性提供比對。 參考圖形124代表僅由圖形API和代表參考圖形硬 體的參考栅所產生的視頻或者圖形框。透過用戶介面 110’用戶能夠比對參考圖形124和參考驅動圖形126或Client's Docket N〇.:S3U06-0029-TW TT s Docket No:0608D-A41514-TW/Final/Joanne 17 1356321 Drivers for 'third-party drivers are required to operate according to reference specifications and may be lost with hardware provider development The hardware-specific device drives the same high-efficiency stone-like design advantages. The reference drive graphics 126 that are repeatedly generated by the system and the GPU graphics 128 generated by the execution of the third diagram can be compared through the user interface. For example, both the reference drive graphic 126 and the GPU graphic 128 can be scaled, rotated, or otherwise processed so that the user can analyze the correctness of each of the generated graphics. Next, you can perform step-by-step analysis of the resulting graphics to verify and analyze the design and execution of hardware and software device drivers. - Scripting is performed using reference driver 116 and device driver 118, and the execution path indicated by the bold lines in Figure 4 allows the user to analyze the hardware design represented by graphics processing unit model 122. See Figure 5 for an example of another implementation of the system. The path indicated by the bold line allows the user to generate reference pattern 124 with reference run time 112. As noted above, the reference runtime 112 can provide the runtime provided by the software provider of the graphics API (e.g., Direct3D® API). The reference run time 112 can communicate with the reference gate 12, which can generate a video or graphics frame in a reference graphical format. As described above, the reference gate 120 is capable of performing graphics operations in accordance with the graphics API, providing a reference or baseline to provide alignment for ensuring the correctness of the hardware design or software device driver. Reference graphic 124 represents a video or graphics frame produced solely by the graphics API and a reference raster representing the reference graphics hardware. Through the user interface 110' the user can compare the reference graphic 124 and the reference drive graphic 126 or

Client's Docket N〇.:S3U06-0029-TW TT*s Docket No:0608D-A41514-TW/Final/Joanne 18 1356321 • GPU圖形128,這對於評估設備驅動118或者圖形處理 單元模型122所代表的硬體設計是有用處的。例如,用 戶可以在用戶介面110中對參考圖形124作縮放、旋轉 或者其他處理,也可以與參考驅動圖形126或者GPU圖 形128作比對,幫助用戶驗證和分析圖形硬體設計。 請見第6圖,描述了本發明的一個實施例。在本實施 例中,本發明包含調試器150,提供給用戶附加的功能。 • 調試器150能夠提供給用戶允許進一步與腳本引擎108 ® 交互的能力和控制腳本在腳本引擎108中的執行的能 力。例如,調試器150能夠與腳本引擎108交互,提供 給用戶控制脚本執行的能力。再例如,透過用戶介面130 ' 執行時,當粗體線標出的或其他路經指示出腳本的當前 位置,用戶可使用調試器150讓腳本一步一步地執行。 雖然在其他圖示中並沒有具體描述,本領域普通技術人 員應當理解,其他實施例也可以包含相似的調試器150, 其與腳本引擎108通信。 ® 另外,透過用戶介面110,用戶可以控制腳本106— 步一步地執行。當分析腳本106和硬體設計時或者分析 腳本106所使用的設備驅動時,用戶可以選擇讓腳本106 不間斷地執行,也可以繼續一步一步地執行。例如,如 果腳本106使用圖形處理單元模型122或設備驅動118 使得產生的框不符合預期,用戶可以使用調試器150來 確定是哪個腳本命令導致了失敗。這樣,用戶可以更好 地理解是硬體設計或設備驅動118的哪部分導致’了失敗。Client's Docket N〇.:S3U06-0029-TW TT*s Docket No:0608D-A41514-TW/Final/Joanne 18 1356321 • GPU graphics 128, which is used to evaluate the hardware represented by device driver 118 or graphics processing unit model 122 Design is useful. For example, the user can zoom, rotate, or otherwise process the reference graphic 124 in the user interface 110, or can be compared to the reference drive graphic 126 or GPU graphic 128 to assist the user in verifying and analyzing the graphical hardware design. Referring to Figure 6, an embodiment of the present invention is described. In this embodiment, the present invention includes a debugger 150 that provides additional functionality to the user. • The debugger 150 can provide the user with the ability to allow further interaction with the scripting engine 108® and the ability to control the execution of the script in the scripting engine 108. For example, debugger 150 can interact with scripting engine 108 to provide the user with the ability to control script execution. For another example, when the user interface 130' is executed, when the bold line or other path indicates the current position of the script, the user can use the debugger 150 to execute the script step by step. Although not specifically described in other figures, those of ordinary skill in the art will appreciate that other embodiments may also include a similar debugger 150 that is in communication with script engine 108. ® In addition, through the user interface 110, the user can control the script 106 - step by step. When analyzing the script 106 and the hardware design or the device driver used by the analysis script 106, the user can choose to have the script 106 execute uninterrupted or continue to perform step by step. For example, if script 106 uses graphics processing unit model 122 or device driver 118 such that the resulting box does not meet expectations, the user can use debugger 150 to determine which script command caused the failure. In this way, the user can better understand which part of the hardware design or device driver 118 is causing a failure.

Client’s Docket No...S3U06-0029-TW TT’s Docket No:0608D-A41514-TW/Final/Joanne 19 1356321 另外,調試H150可以透過用戶介面n 腳本廳中放置或者設置中斷點。當腳本1G6中I中斷 點=達時可以在腳本料1Q8巾暫停或停止執行 去當ί析由圖形處理單元模梨122所代表的硬體 =時或者料在某純料財所㈣ 中斷點提供了非常有㈣功能。料,調心150可以 理單元模型122所產生的追縱資mm提供到 二:二,顯示給用戶觀察。追縱資訊13〇可以包含 輸入到圖形處理單元翻122的_和# 模型⑵產生的資料。調試器150和/或用戶介面^可 =顯示追縱資訊13G,允許進—步操作,例如資料排架、 作和可能採用的其他調試功能。 更有值的是,與建構-個硬體G p U然後 測試相比較,本發明用中斷點使腳本106 _ . _ /- 步一步地執 調試器脚用戶介面110觀察追_130, 刀析和驗證圖形處理單元模型122更佳。 現在請見第7圖,描述了本發明方法μ㈣。步驟 川2,獲取軟體應用程式210中的圖形操作以自動產生腳 =106。例如,為了產生圖形或視頻框,敕體應用程式 21〇會向作業系統的圖形ΑΡΙ發送請求。這些請求能被獲 取以產生腳本引擎108處理的腳本106,如上二述。 3 ’獲取的圖形操作被翻譯為包含腳本命令的腳本 1〇6 ’腳本命令由腳本語言定義。在一個非限定性實施例 中,腳本命令分為4種:普通命令、二維命令、二維命Client’s Docket No...S3U06-0029-TW TT’s Docket No:0608D-A41514-TW/Final/Joanne 19 1356321 In addition, the debug H150 can be placed or set to break points through the user interface n script room. When the I break point in the script 1G6 = up, it can be paused or stopped in the script material 1Q8. When the hardware represented by the graphics processing unit modulo pear 122 is determined, or it is expected to be provided at a pure resource (4) break point. Very (four) function. The material, the centering 150 can provide the tracking element mm generated by the unit model 122 to two: two, and the display is displayed to the user. The tracking information 13 can contain the data generated by the _ and # model (2) input to the graphics processing unit 122. The debugger 150 and/or the user interface can display the tracking information 13G, allowing for further operations such as data shelf, and other debugging functions that may be employed. More valuable is that compared with the construction of a hardware G p U and then the test, the present invention uses the interrupt point to make the script 106 _ . _ /- step by step to debug the user interface 110 to observe the chase _130, knife analysis It is better to verify the graphics processing unit model 122. Referring now to Figure 7, the method [4] of the present invention is described. Step 2, obtain the graphics operation in the software application 210 to automatically generate the foot = 106. For example, to generate a graphic or video frame, the 应用 application 21 will send a request to the graphics 作业 of the operating system. These requests can be retrieved to generate scripts 106 processed by scripting engine 108, as described above. 3 'The acquired graphics operation is translated into a script containing script commands. 1 '6 The script commands are defined by the scripting language. In one non-limiting embodiment, script commands are divided into four types: normal commands, two-dimensional commands, two-dimensional commands.

品1fnt’s Docket No.:S3U06-0029-TW s D〇cket No:0608D-A41514-TW/Final/Joanne 20 1356321 令以及視頻命令。步驟3〇4,從所獲取的圖形指 生腳本106。腳本廳包含由腳本語言定義的腳本命八, 如上所述。腳本1G6包含與獲取自具有圖形元件的^體 應用程式210的圖形操作相應的命令。例如,Product 1fnt’s Docket No.: S3U06-0029-TW s D〇cket No: 0608D-A41514-TW/Final/Joanne 20 1356321 Order and video commands. Step 3〇4, the script 106 is derived from the acquired graphics. The Scripting Room contains scripts defined by the scripting language, as described above. The script 1G6 contains commands corresponding to the graphics operations acquired from the body application 210 having the graphic elements. E.g,

用程式210中缚製三維物體的—系列圖形操作將被^ 取’用聊本106代表’腳本106在多種執行路徑中執行^ 或者’在另一個實施例中’本發明用戶手動創建腳本 106,腳本106包含產生圖形或視頻框的腳本命令。 步驟306,確定執行腳本1〇6的執行路徑。如上所述, 參考第1圖〜第6圖的實施例,用戶可以選擇多種執行路 徑來分析和驗證硬體設計和/或設備驅動。例如,用戶可 以選擇在以步驟308為起始的執行路徑中執行腳本1〇6, 包括翻譯腳本106。位於腳本中的由聊本語言定義的命令 被翻譯為能夠被軟體設備驅動216處理的格式。如上所 述,腳本106包含由腳本語言定義的腳本命令,腳本語 言定義的腳本命令可能並不是能夠被設備驅動理解的格 式。因此’腳本命令被轉換為作業系統圖形函數產生的 命令格式,作業系統圖形函數回應圖形API中執行的函 數,例如Direct3D®或者〇penGL®圖形API。 步驟310’命令在軟體圖形驅動216中或設備驅動118 中處理。如我們所知,設備驅動118是一個軟體元件, 允許作業系統或其他軟體應用程式210與硬體元件通 信。硬體元件如圖形處理單元,既可以具有也可以不具 有作業系統認識並用來與硬體元件交互和執行組建中的The series of graphics operations in the program 210 that constrain the three-dimensional object will be executed in the various execution paths by the 'representation 106 with the chat 106' script or ^ in another embodiment, the user of the present invention manually creates the script 106, Script 106 contains script commands that produce graphics or video frames. Step 306, determining an execution path of the execution script 1〇6. As described above, with reference to the embodiments of Figures 1 through 6, the user can select a plurality of execution paths to analyze and verify the hardware design and/or device driver. For example, the user may choose to execute script 1〇6 in the execution path starting with step 308, including translation script 106. The commands defined by the chat language in the script are translated into a format that can be processed by the software device driver 216. As mentioned above, the script 106 contains script commands defined by the scripting language, and the script commands defined by the scripting language may not be in a format that can be understood by the device driver. Thus the 'script command is converted to the command format generated by the operating system graphics function, and the operating system graphics function responds to functions executed in the graphics API, such as Direct3D® or the 〇penGL® graphics API. Step 310' commands are processed in software graphics driver 216 or device driver 118. As is known, device driver 118 is a software component that allows the operating system or other software application 210 to communicate with the hardware components. Hardware components, such as graphics processing units, may or may not have an operating system knowledge and are used to interact with and perform hardware components.

Client's Docket N〇.:S3U06-0029-TW TT's Docket N〇:0608D-A41514-TW/Final/Joanne 1356321 — 操作的標準通信協議。步驟312,軟體圖形驅動216處理 的命令在圖形處理單元模型122中執行。如上所述,圖 形處理單元模型122可以是硬體設計的軟體模型,與軟 體模型通信而不是與硬體原型或硬體GPU通信。此模型 可以用C語言或者其他編程語言實現,透過將用硬體描 述語言(HDL)所編寫的硬體設計翻譯為高級編程語言, 例如C語言。另一個可選擇的實施例是,有些硬體設計 ' 者用高階語言例如C語言實現硬體設計,這樣就不需要 • 翻譯了一本發明的較佳實施例是使用此C-模型創建硬.體 設計的工作軟體模型。因為,例如,當需要執行調試功 能時,相對于HDL所代表的硬體設計,它提供了更簡單 的模型操作。當測試和分析時,操作一個由高級編程語 言表示的模型要比由HDL語言表示的模型容易的多,因 為高階語言本身提供了更好的適應性。 步驟314,圖形處理單元模型122產生圖形或視頻 框。圖形處理單元模型122代表腳本106中的命令,腳 ® 本106由軟體驅動216處理並被圖形處理單元模型122 執行。透過用戶介面110或本領域普通技術人員所知的 其他方法,產生的圖形或視頻框能夠被分析以評估圖形 處理單元模型122所代表的硬體設計。例如,用戶可以: 分析產生的框是否與腳本引擎108執行的腳本106產生 的預期結果相一致。用戶可以透過用戶介面110檢查或 操作產生的框,或者將產生的框與另一條可選的執行路 ' 徑所產生的框相比對。Client's Docket N〇.:S3U06-0029-TW TT's Docket N〇:0608D-A41514-TW/Final/Joanne 1356321 — Standard communication protocol for operation. In step 312, the command processed by the software graphics driver 216 is executed in the graphics processing unit model 122. As noted above, the graphics processing unit model 122 can be a hardware model of a hardware design that communicates with the software model rather than with a hardware prototype or hardware GPU. This model can be implemented in C or other programming languages by translating hardware designs written in hardware-descriptive language (HDL) into high-level programming languages, such as C. Another alternative embodiment is that some hardware designs implement hardware design in a high-level language such as C, which is not required. • A preferred embodiment of the invention is to create a hard use of this C-model. The working software model of the body design. Because, for example, when debugging needs to be performed, it provides a simpler model operation than the hardware design represented by HDL. When testing and analyzing, it is much easier to manipulate a model represented by a high-level programming language than a model represented by the HDL language, because the higher-order language itself provides better adaptability. In step 314, graphics processing unit model 122 generates a graphics or video frame. The graphics processing unit model 122 represents commands in the script 106, which is processed by the software driver 216 and executed by the graphics processing unit model 122. The resulting graphics or video frames can be analyzed to evaluate the hardware design represented by graphics processing unit model 122 via user interface 110 or other methods known to those of ordinary skill in the art. For example, the user can: analyze whether the generated box is consistent with the expected result produced by the script 106 executed by the script engine 108. The user can check or manipulate the resulting box through the user interface 110 or compare the resulting box to the box produced by another optional execution path.

Clients Docket N〇.:S3U06-0029-TW TT's Docket No:0608D-A41514-TW/Final/Joanne 22 135.6321 步驟316為另一條可選的執行路徑的起始。腳本106 在步驟316翻譯為命令,本執行路徑與上述路徑的差別 是:在步驟317中,由參考運行時間112處理命令。隨 後’執行步驟318,參考軟體驅動116處理命令。如本發 明上述實施例所述,參考軟體驅動116可以是軟體驅動, 不必具備硬體設計的所有優點,但是是根據參考圖形API 貫現的,例如Direct3D®或者OpenGL®圖形API。步 驟320,由參考軟體驅動U6處理過的命令在代表硬體 設計的圖形處理單元模型122中執行。這條執行路徑使 用圖形處理單元模型122和參考軟體驅動116執行腳本 106 ’增強了測試和分析能力。步·驟322,腳本106中的 命令在參考軟體驅動116中處理後由圖形處理單元模型 122執行’產生圖形或視頻框。另外,用戶可以將步驟 322所產生的框與步驟314所產生的框相比對,分析和驗 證由圖形處理單元模型所代表的硬體設計或者軟體驅動 或設備驅動的實現。 步驟324描述了本發明另一個可選的執行路徑的實 施例’用來分析和測試圖形硬體設計。此執行路徑提供 給用戶的方法是:在參考運行時間112中處理腳本的命 令,在參考柵120中執行此命令。如上所述,參考運行 蚪間112是本領域所致的軟體元件,典型地由軟體圖形 ApI的提供商提供或者按照參考規範實現。步驟328,參 考運行時間112處理過的命令在參考柵12〇中執行。如 本發明上述實施例所述,在步驟33〇,參考柵12〇能產生Clients Docket N〇.:S3U06-0029-TW TT's Docket No:0608D-A41514-TW/Final/Joanne 22 135.6321 Step 316 is the start of another optional execution path. The script 106 translates to a command at step 316, the difference between the present execution path and the path described above is: In step 317, the command is processed by the reference runtime 112. Subsequent to execution step 318, the reference software driver 116 processes the command. As described in the above embodiments of the present invention, the reference software driver 116 can be software driven, without having all the advantages of a hardware design, but is based on a reference graphics API, such as the Direct3D® or OpenGL® graphics API. At step 320, the commands processed by the reference software driver U6 are executed in a graphics processing unit model 122 representative of the hardware design. This execution path uses the graphics processing unit model 122 and the reference software driver 116 to execute the script 106' to enhance the testing and analysis capabilities. Step 322, the command in script 106 is executed by graphics processing unit model 122 after processing in reference software driver 116 to generate a graphics or video frame. Alternatively, the user can compare the block generated in step 322 with the frame generated in step 314 to analyze and verify the hardware or software driven or device driven implementation represented by the graphics processing unit model. Step 324 depicts an alternative embodiment of the present invention for performing an analysis of the graphical hardware design. The way this execution path is provided to the user is to process the script's command in reference runtime 112 and execute this command in reference gate 120. As noted above, the reference run 112 is a software component that is the subject of the art, typically provided by the provider of the software graphics ApI or implemented in accordance with the reference specifications. In step 328, the command processed with reference to run time 112 is executed in reference gate 12A. As described in the above embodiment of the present invention, in step 33, the reference gate 12 can be generated.

Client's Docket No.:S3U06-0029-TW TT's Docket No:0608D-A41514.TW/Final/Joanne 23 視頻或圖像框。如本領域所知,參考撕u =―⑧API ’為參考圖形處理單元的; 犯夠用來產生符合參考規範的圖形或視頻概。H見’ 商在開發硬體過程中會使用參考柵12Q =體提供 硬體設計與實現比對,得知正確性。在執基線’以與 用戶可以將步驟330所產生的框與其他執^丁^徑中’ 的框相比對,分析和驗證由圖形處理單傻所產生 硬體設計或者軟體驅動或設備驅動的實現^ ·所代表的 現在請見第8-圖,描述了一套 統,包含-《系統12,帶有二二體:试和驗證糸 難,比如,鍵盤或者滑鼠。;= :用戶輸入 路…成-個節點,:是12也可能在網 WA\T丄 仁疋並不局限於LAN或者 =這種結射,用來產生腳本_的腳本或者圖 广=過網路22從遠端他器24傳送到電腦系統 24和電_統12之間的連接方式可以 網:的任何一種,比如cat-5,火線介面, 勺社本總,.、泰’或者其他連接方式。電腦系統12也可以 有聊本娜伽,光碟可以含 生腳本H 叫體制程式210,以產 電腦^ 12包含記憶體3 4,可以用來儲存許多執行 中’記憶體34包含有腳本翻譯模組%, 人P,理模38和框產生模组4。。記憶體%還可以包 3許夕其他的模組,比如,可以包含腳本翻譯模組%,Client's Docket No.: S3U06-0029-TW TT's Docket No: 0608D-A41514.TW/Final/Joanne 23 Video or image frame. As is known in the art, reference tearing u = "8 API" is referenced to the graphics processing unit; it is sufficient to generate a graphics or video profile that conforms to the reference specification. H sees the quotient in the development of the hardware process will use the reference gate 12Q = body to provide hardware design and implementation comparison, to know the correctness. Compared with the box in which the user can use the box generated by step 330 with other handles, analyze and verify the hardware design or software driver or device driver generated by the graphics processing single fool. Implementation ^ · Represented now, see Figure 8-Figure, which describes a set of systems, including - "System 12, with two-two bodies: trial and verification martyrdom, such as keyboard or mouse. ;= : User input path... into a node,: 12 is also possible in the network WA\T丄仁疋 is not limited to LAN or = such a burst, used to generate scripts _ script or map = network The way 22 is transmitted from the remote device 24 to the connection between the computer system 24 and the electrical system 12 can be any type of network, such as cat-5, Firewire interface, Spoon, total, ., or other connections. the way. The computer system 12 can also have a chatbook Naga, the CD can contain a script H called the system program 210, to produce a computer ^ 12 contains a memory 3 4, can be used to store a lot of execution 'memory 34 contains a script translation module %, person P, die 38 and frame generation module 4. . The memory% can also be included in other modules of Xu Xi, for example, it can contain script translation module %,

Client's Docket No.:S3U〇6-〇〇29-TW TT s Docket No:0608D-A41514-TW/Final/J〇anne 24 1356321 腳本處理雜3 8和框產㈣組4 (^子模組。 腳本翻澤模,、且36可讀包含有圖形操作的腳本⑽ 翻譯成能夠被軟體驅動或妓備驅動傳輸 驅動或者設備驅動用來和園形硬髀 年 體或代表圖形硬體設計 的軟體杈型父互。上述設備驅動可 作業系統或者其他軟體程尤和硬體二:軟體兀件,促進 ^ 件之間的通訊。硬 ,兀件可以是硬體圖形絲科。_腳本觀是否被Client's Docket No.:S3U〇6-〇〇29-TW TT s Docket No:0608D-A41514-TW/Final/J〇anne 24 1356321 Script processing miscellaneous 3 8 and box production (4) group 4 (^ submodule. Script A stencil, and 36 readable scripts containing graphical operations (10) translated into software-driven or device-driven drive drivers or device drivers for use in orthopaedic or hardware-like designs Parents. The above-mentioned devices drive the operating system or other software programs and hardware 2: software components to facilitate communication between the hardware. Hard, the hardware can be hardware graphics.

執行,腳本翻譯模組36可以衫同㈣I㈣ 如,下中的哪-辦執行:、參相動,參考運 'ΠΓΐΐ他軟體元件,其他敕體元件在硬體或者代 表硬體設計或規範的軟體模财交互。例如,如果腳本 Κ)6代表㈣賴作要在讀_㈣行,腳本翻譯模組 36就會把腳本命令崎成賴驅—獅模式。而如果 腳本106所代表的圖形操舰在參考運行時間中處理,Execution, the script translation module 36 can be the same as the (four) I (four), for example, which of the following - do the execution:, participate in the movement, refer to the "software" component, other carcass components in hardware or hardware design or standard software Modeling interaction. For example, if the script Κ)6 represents (4) the _ (four) line is to be read, the script translation module 36 will put the script command into the singer-lion mode. And if the graphics ship represented by script 106 is processed in the reference run time,

腳本翻譯模組36就會把縣命令_為參考運行時間能 夠識別的格式。 、透過使翻譯的腳本命令在軟體驅動或者設備驅動裏 運行,腳本處理模組38能夠運行腳本1〇6。腳本處理模 組38控制腳本1〇6的運行,孟且可以包含調試功能,可 以讓用戶逐步執行腳本1〇6 ’同樣也可以使用腳本1.06中 斷功能。例如’用戶可以在腳本1〇6裏設置一個中斷點, 腳本處理模組38在這個中斷點就可以中斷腳本106的執 行’以允許用戶檢查關於這個腳本的各種資料,並根據 用戶的要求繼續執行該腳本106。The script translation module 36 will have the county command _ a format that can be recognized by the reference runtime. The script processing module 38 can run the scripts 1〇6 by causing the translated script commands to run in the software driver or device driver. The script processing module 38 controls the operation of the script 1〇6, and may include a debugging function that allows the user to step through the script 1〇6 ’, as well as the script 1.06 interrupt function. For example, 'the user can set a break point in the script 1〇6, and the script processing module 38 can interrupt the execution of the script 106 at this break point' to allow the user to check various materials about the script and continue execution according to the user's request. The script 106.

Client's Docket No.:S3U06-0029-TW TT's Docket No:〇608D-A41514-TW/Final/Joanne 25 135.6321 根據用戶選擇的執行路徑,框產生模組40可以產生 圖像或者視頻框。框產生模組可以包含至少3個執行路 徑,在上述揭露的實施例中也有討論。例如,框產生模 組40可以包含一個利用軟體驅動或者設備驅動的測試執 行路徑和一個代表硬體設計的軟體模組;可以包含一個 利用參考設備驅動的參考驅動執行路徑和代表硬體設計 的軟體模組;可以包含一個利用參考運行時間的參考執 行路徑和一個參考柵。框產生模組40内的這至少3個執 • 行路徑允許用戶分析由軟體模組代表的硬體設計,同樣 允許用戶分析軟體驅動或者設備驅動的執行。框產生模 組40允許一個或者多個執行路徑並行使用,因此,用戶 可以執行使用多條執行路徑的同樣或者相似的腳本,來 比較這些腳本執行後產生的框。例如,用戶可以並行使 用測試執行路徑和參考執行路徑,以便評估是否硬體設 計和軟體驅動程式的執行產生了預期結果,這些結果和 由參考執行路徑產生的框相關聯。 0 需要注意的是,在有的實施例中,腳本翻譯模組3 6, 腳本處理模組38和框產生模組40可以組合成一個單獨 的模組,用來執行任何一個由這些單獨分離的模組執行 的任務的組合。因此,任何在此描述的模組或者子模組 並不局限於現有的分離的模組。實際上所有模組都可以 一個一個單獨運行,或者很容易就可以組合成一個模 組。在一些實施例中,透過用戶輸入設備16和顯示器14 裏面的圖形用戶介面,用戶可以控制腳本翻譯模組36,Client's Docket No.: S3U06-0029-TW TT's Docket No: 〇608D-A41514-TW/Final/Joanne 25 135.6321 The frame generation module 40 can generate an image or video frame according to the execution path selected by the user. The frame generation module can include at least three execution paths, as discussed in the above disclosed embodiments. For example, the frame generation module 40 can include a software-driven or device-driven test execution path and a software module representing a hardware design; it can include a reference device-driven reference drive execution path and software representing the hardware design. Module; can include a reference execution path using a reference run time and a reference gate. The at least three execution paths within the block generation module 40 allow the user to analyze the hardware design represented by the software module, as well as allowing the user to analyze the execution of the software driver or device driver. The block generation module 40 allows one or more execution paths to be used in parallel, so the user can execute the same or similar scripts using multiple execution paths to compare the boxes generated after the execution of these scripts. For example, the user can use the test execution path and the reference execution path to evaluate whether the hardware design and the execution of the software driver produced the expected results associated with the boxes generated by the reference execution path. 0 It should be noted that in some embodiments, the script translation module 36, the script processing module 38, and the frame generation module 40 can be combined into a single module for performing any one of these separate separations. A combination of tasks performed by the module. Thus, any of the modules or sub-modules described herein are not limited to existing separate modules. In fact, all modules can be run individually or in combination, or they can be easily combined into one module. In some embodiments, the user can control the script translation module 36 through the graphical user interface within the user input device 16 and display 14.

Client's Docket N〇.:S3U06-0029-TW TT^s Docket N〇:0608D-A415 14-TW/Final/Joanne 26 135.6321 腳本處理模組38和框產生· 4q 的母-個和任何—個子模組,可人產生拉紐 執行指令列表,用來實現 3 —個安排好的 腳她,模組36,腳本處理\::和’當 子模組用軟體實現的時候,可以Client's Docket N〇.:S3U06-0029-TW TT^s Docket N〇:0608D-A415 14-TW/Final/Joanne 26 135.6321 Script Processing Module 38 and Frame Generation · 4q Parent-- and any-sub-modules , can generate a list of execution instructions of the pull, used to implement 3 - arranged feet, module 36, script processing \:: and 'when the sub-module is implemented by software, can

關系統或方法相連接。 使用或者和任何電腦相 本發明所稱的電腦可讀介質可以為但並不局限於 =:,光的,紅外的,或者其他物理設備或方法, 更用來包含或者儲存電腦程式來使用,或者和電腦 :或方法相關聯。更多電腦可讀介質可以包含(並不窮 f的舉例):祕、可攜式電腦心、隨機存取記憶體、 電可擦除唯讀記憶體、光纖。 、第9圖描述了一個示範性的實施例,在電腦系統 上運行腳本翻譯模組36、腳本處理模組38和框產生模組 :0 一般的’電腦系統12可以包含任何一個有線或無線 計算設備,例如:桌上電腦、可攜式電腦、專用電腦、 多處理器計算設備、移動電話、個人數位助理、掌上電 腦、嵌入式設備等。不管具體怎樣’電腦系統12可以包 吞,舉例來說,記憶體34、處理設備42、多個輸入/輸出 介面44、網路介面設備46和集中儲存48,其中這些設 備中的每一個都透過資料匯流排50互相連接。 處理設備42可以包含任何定制的或通用的處理器、Close the system or method. The use of or in connection with any computer, the computer readable medium referred to herein may be, but is not limited to, =, optical, infrared, or other physical device or method, and is used to contain or store computer programs for use, or Computer: or method associated. More computer readable media can include (not limited to) examples: secret, portable computer core, random access memory, electrically erasable read-only memory, fiber optics. Figure 9 depicts an exemplary embodiment in which a script translation module 36, a script processing module 38, and a box generation module are run on a computer system: 0 The general 'computer system 12 can include any wired or wireless computing. Devices such as desktops, portable computers, special computers, multi-processor computing devices, mobile phones, personal digital assistants, handheld computers, embedded devices, etc. Regardless of the specifics, computer system 12 can be packaged, for example, memory 34, processing device 42, multiple input/output interfaces 44, network interface device 46, and centralized storage 48, each of which is permeable to each other. The data bus bars 50 are connected to each other. Processing device 42 may comprise any custom or general purpose processor,

Client's Docket N〇.:S3U06-0029-TW TT,s Docket No:0608D-A415]4-TW/Final/Joanne 27 135.6321 中央處理器或者輔助處理器、宏處理器、一個或多個特 殊應用積體電路、多個數位邏輯門和其他公知的電子設 備。 記憶體34可以包含非永久性記憶元件(例如,隨機 存取記憶體(RAM,例如DRAM,SRAM等))或永久 性記憶元件(例如,ROM,硬碟,磁帶,CDROM,等)。 記憶體34典型地包含作業系統52,一個或多個應用程 式,仿效系統或仿效程式等。例如,應用程式可以包含 應用特殊軟體54,其包含腳本翻譯模組36,.,腳本處理模 組38,框產生模組40。本領域普通技術人員應當可以理 ' 解記憶體34能夠包含其他元件,為了簡潔·易懂此處不再 資述。 輸入/輸出介面44位元輸入和輸出資料提供了許多 介面。例如,當電腦系統12包含個人電腦,介面將為用 戶輸入設備12,例如可以為鍵盤或滑鼠。當電腦系統包 含掌上設備(例如PDA,移動電話),介面將為鍵或按 * 鈕、觸摸屏、格式等。顯示器14可以包含電腦監視器或 等離子螢幕或液晶顯示器等等。 請進一步參考第9圖,網路介面設備46包含多個元 y牛,用來透過網路22發射和/或接受資料。例如,網路介 面設備46包含一個既能夠與輸入設備又可以與輸出設備 通信的設備,例如調製/解調器(如Modem ),無線電收 發器(如無線電頻率RF,電話介面,南北橋,路由器, 網卡等)。Client's Docket N〇.:S3U06-0029-TW TT,s Docket No:0608D-A415]4-TW/Final/Joanne 27 135.6321 Central or secondary processor, macro processor, one or more special application complexes Circuits, multiple digital logic gates, and other well-known electronic devices. Memory 34 may contain non-permanent memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, etc.) or permanent memory elements (e.g., ROM, hard disk, magnetic tape, CDROM, etc.). Memory 34 typically includes operating system 52, one or more applications, emulation systems or emulation programs, and the like. For example, the application can include application specific software 54, which includes a script translation module 36, a script processing module 38, and a frame generation module 40. One of ordinary skill in the art should understand that the memory 34 can include other components and will not be described here for brevity and ease of understanding. The input/output interface 44-bit input and output data provides a number of interfaces. For example, when computer system 12 includes a personal computer, the interface will be user input device 12, such as a keyboard or mouse. When the computer system contains a handheld device (such as a PDA, mobile phone), the interface will be a button or a button, a touch screen, a format, and the like. Display 14 can include a computer monitor or plasma screen or liquid crystal display, and the like. Referring further to FIG. 9, network interface device 46 includes a plurality of y cattle for transmitting and/or receiving data over network 22. For example, network interface device 46 includes a device that can communicate with both the input device and the output device, such as a modem/modem (such as a modem), a radio transceiver (such as a radio frequency RF, a telephone interface, a north-south bridge, a router). , network card, etc.).

Client's Docket N〇.:S3U06-0029-TW TT*s Docket N〇:0608D-A41 5 14-TW/FinaI/Joanne 28 1356321 雖然本發明已以較佳實施例揭露如上,然其並非用以 限定本發明,任何所屬技術領域中具有通常知識者,在 不脫離本發明之精神和範圍内,當可作些許之更動與潤 飾,因此本發明之保護範圍當視後附之申請專利範圍所 界定者為準。 【圖式簡單說明】 第1圖為本發明的一個實施例的示意圖; 第2圖為本發明的一個實施例中的腳本產生器的流 程方塊圖; 第3圖為第1圖實施例的其中一個執行路徑的流程方 塊圖; 第4圖為第1圖實施例的一個可替代的執行路徑的方 塊程框圖; 第5圖為第1圖實施例的另一個可替代的執行路徑的 流程方塊圖; 第6圖為本發明另一個實施例的示意圖; 第7圖為本發明圖形硬體設計中調試與驗證的方法 的流程圖; 第8圖為本發明圖形硬:體設計中調試與驗證的方法 的另一個流程圖; 第9圖為本發明另一個實施例的示意圖。 【主要元件符號說明】 102 :編輯器; 104、222 :腳本產生器;Client's Docket N〇.:S3U06-0029-TW TT*s Docket N〇:0608D-A41 5 14-TW/FinaI/Joanne 28 1356321 Although the present invention has been disclosed in the preferred embodiments as above, it is not intended to limit the present invention. The scope of the present invention is defined by the scope of the appended claims, and the scope of the invention is defined by the scope of the appended claims. quasi. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic diagram of an embodiment of the present invention; FIG. 2 is a block diagram of a script generator in an embodiment of the present invention; FIG. 3 is a diagram of the embodiment of FIG. A block diagram of an execution path; FIG. 4 is a block diagram of an alternative execution path of the embodiment of FIG. 1; FIG. 5 is a flow block of another alternative execution path of the embodiment of FIG. Figure 6 is a schematic view of another embodiment of the present invention; Figure 7 is a flow chart of a method for debugging and verifying in a graphic hardware design of the present invention; Figure 8 is a schematic diagram of debugging and verification of a graphic hard body design of the present invention Another flow chart of the method; Figure 9 is a schematic view of another embodiment of the present invention. [Main component symbol description] 102: editor; 104, 222: script generator;

Client’s Docket N〇_:S3U06-0029-TW TT's Docket N〇:0608D-A41514-TW/Final/Joanne 135.6321Client’s Docket N〇_:S3U06-0029-TW TT's Docket N〇:0608D-A41514-TW/Final/Joanne 135.6321

106、224 :腳本; 110 :用戶介面; 114 :腳本引擎介面; 118 :設備驅動; 122 :圖形處理單元模型; 126 :參考驅動圖像; 13 0 .追雖貢訊, 202 :資料計算; 206:事件處理; 210 :軟體應用程式; 216 :軟體圖形驅動; 220 :圖形框; 12 :電腦系統; 16 :用戶輸入設備; 24 :遠端伺服器; 34 :記憶體; 38 :腳本處理模組; 42 :處理設備; 46 :網路介面; 5 0 .貧料匯流排, 54 :應用特殊軟體。 108 :腳本引擎; 112 :參考運行時間; 116 :參考驅動; 120 :參考柵; 124 :參考圖像; 128 : GPU 圖像; 150 :調試器; 204 :輸入/輸出; 208 :圖形介面; 214:作業系統圖形介面 218 ··圖形處理硬體; 302~330 :步驟; 14 ·顯不斋, 22 :網路; 28 :光碟驅動器; 36 :腳本翻譯模組; 40 :框產生模組; 44 :輸入/輸出介面; 48 :集中儲存; 52 :作業系統;106, 224: script; 110: user interface; 114: script engine interface; 118: device driver; 122: graphics processing unit model; 126: reference driver image; 13 0. chasing tribute, 202: data calculation; : event processing; 210: software application; 216: software graphics driver; 220: graphics box; 12: computer system; 16: user input device; 24: remote server; 34: memory; 38: script processing module 42: processing equipment; 46: network interface; 5 0. poor material bus, 54: application of special software. 108: script engine; 112: reference run time; 116: reference drive; 120: reference gate; 124: reference image; 128: GPU image; 150: debugger; 204: input/output; 208: graphical interface; : Operating system graphical interface 218 · · graphics processing hardware; 302 ~ 330: steps; 14 · not fast, 22: network; 28: CD drive; 36: script translation module; 40: frame generation module; : input/output interface; 48: centralized storage; 52: operating system;

Client's Docket No.:S3U06-0029-TW TT's Docket No:0608D-A41514-TW/Final/Joanne 30Client's Docket No.:S3U06-0029-TW TT's Docket No:0608D-A41514-TW/Final/Joanne 30

Claims (1)

1356321 案號096150827 100年7月1日 修正·本 、申請專利範圍: I一種調試和驗證圖形硬體設計的系統,包含. 令 ;腳本引擎,將代表一圖形函數的腳本翻譯為一命 理的格=本引擎介面,將該命令翻譯為—設備驅動能夠處 —圖形處理單元模型,與一圖形處理單元的硬雕 相應,執行來自該設備軸的命令 又 產 圖形框及一蒼考驅動圖形框之至少一者·以及 2試器,提供調試該圖形處理單元模型的能力,立 中該腳本引擎允許用戶比對至少如下兩者. 少該至少一個參考圖形框一 設計2的第1項所述之調試和驗證圖形硬體 八,^考軟_動’在該_處理單城型中處理該命 二:該圖形處理單元模型用來產 腳本中的該圖形函數相應的參考驅動圖形框。一 設計㈣第^所述之調試和驗證圖形硬體 异-’該圖形處理單元模型用可編程語言 衣不。 二=請^利範圍第1項所述之調試和驗證圖形硬體 自又钟的乐統,更包括: 參考運行時間,包含圖形操作的應用程式介面;以及 S3U06-0029-TW/〇6〇SD_A4]5M_Tw/Finaj] 31 一參考柵;其中 該本統執行一史老、雷/_ 令’該參考柵產生M 該參考柵中的該命 5.如申請專利範®第1項所^^ ° . 設計的系統,其中,該和驗證圖形硬體 該腳本。 式。D允許用戶一步一步地執行 6. 如申請專利範圍第5項 設計的系統,並中,# 、 凋巧和驗證圖形硬體 至少—個調試=點式器允許用戶在該腳本中設置 7. 如申請專利範圍第5項所 設計的系統,其中,㈣n 形硬體 試資訊。 該调心允許甩戶分析該產生的調 8. 如申請專利範圍第 設計的系統,還包含:、&amp;之_和驗證圖形硬體 產生代表:仗具有圖形元件的一軟體應用程式中 Μ代表5亥圖形函數的該腳本。 設計9的it專^範圍第8項所述之調試和驗證圖形硬體 养H ' /、,該腳本產生11從該軟體應用程式中 二形操作,產生該腳本,該腳本包含軟 體圖开&gt; 驅動的命令。 10.-種調試與驗證圖形硬體設計的方法,包含如下 步驟: 將代表圖形函數的—腳本翻譯為—設備驅動所處理 的一命令; S3U06-0029-TW/〇6〇8D-A415J4-TW/FinaI-, 32 元模和代表圖形硬體設計的圖形處理單 單元腳本中的該命令相應的至少—個圖形處理 忙及至少-個參考驅動框之至少一者; 一個如下之中的至少兩者:至少-個參考框、該至少 多驅動框和該至少一個圖形處理單元框;以及 一在該比對步驟所得結果的基礎上,分析至少如下之 一:該圖形硬體設計和該設備驅動的設計。 如中⑺專利範圍第1G項所述的調試與驗證圖形硬 又计的方法,其特徵在於,還包含: 將該腳本翻譯為一參考軟體驅動所處理的命令; 在該參考軟體驅動和該圖形處理單元模型中處理該 命令;以及 X 產生至少一個與該腳本中的命令相應的參考驅動框。 .如申明專利範圍第1丨項所述的調試與驗證圖形硬 體設計的方法,更包括: 。比較該至少一個參考驅動框和該至少一個圖形處理 皁兀框,以分析至少如下之一:該圖形硬體設計和該設 備驅動的設計。 13.如申請專利範圍第1〇項所述的調試與驗證圖形硬 體設計的方法,更包括: 將該腳本翻譯為一參考柵所處理的命令; 在該參考栅中處理該命令; 產生至少一個與該腳本中的命令相應的參考框。 S3U〇6-0029-TW/〇608D.A4i5i4.TW/Fjna|_ 1356321 14. 如申請專利範圍第10項所述的調試與驗證圖形硬 體設計的方法,更包括: 一步一步地執行該腳本。 15. 如申請專利範圍第10項所述的調試與驗證圖形硬 體設計的方法,更包括: 從代表該圖形硬體的該圖形處理單元模型中產生一 調試貢訊,以及 分析該調試資訊以驗證該圖形硬體設計。 16. 如申請專利範圍第10項所述的調試與驗證圖形硬 體設計的方法^更包括· 在該腳本中設置至少一個中斷點; 執行該腳本到該至少一個中斷點; 分析該調試貧訊,以及 繼續執行該腳本。 17. 如申請專利範圍第10項所述的調試與驗證圖形硬 體設計的方法,更包括: 透過從執行圖形操作的軟體應用程式中獲取請求以 及將該請求轉換為該軟體圖形驅動的命令,產生該腳本。 S3U06-002 9-TW/0608D-A4 1514-TW/Final-l 341356321 Case No. 096150827 Revised on July 1, 100, the scope of the patent application: I. A system for debugging and verifying the graphic hardware design, including: a script engine that translates a script representing a graphical function into a numerology = the engine interface, the command is translated as - the device driver can be - the graphics processing unit model, corresponding to the hard carving of a graphics processing unit, the command from the device axis is executed and the graphic frame and the image of the driving test frame are generated. At least one and two testers provide the ability to debug the graphics processing unit model. The script engine allows the user to compare at least two of the following. Less than one reference graphic frame is described in item 1 of design 2. Debug and verify the graphics hardware VIII, ^ test soft _ move 'process this life in the _ processing single city type: the graphics processing unit model is used to produce the corresponding reference drive graphics box of the graphics function in the script. A design (4), the debugging and verification of the graphics hardware described in the above--the graphics processing unit model is in a programmable language. 2 = Please refer to the range of debugging and verification graphics hardware as described in item 1 of the range, including: reference runtime, application interface including graphics operations; and S3U06-0029-TW/〇6〇 SD_A4]5M_Tw/Finaj] 31 a reference grid; wherein the system performs a history, a ray/_ order 'the reference grid generates M. The life in the reference grid. 5. As claimed in the patent field® item 1^^ ° . Design the system, which, and verify the graphics hardware of the script. formula. D allows the user to perform step by step. 6. For the system designed in the fifth application of the patent scope, and in the #, tricky and verify graphics hardware at least - a debug = point device allows the user to set in the script 7. The system designed in the fifth paragraph of the patent application, in which (4) n-shaped hardware test information. The adjustment allows the tenant to analyze the generated adjustment. 8. The system designed according to the scope of the patent application also includes:, & _ and verification graphics hardware generation representative: 一 a software application with graphical components Μ representative The script for the 5H graphics function. Design 9 is designed to debug and verify the graphics hardware described in item 8 of the scope, and the script generates 11 dimorphic operations from the software application to generate the script, which contains the software map opening &gt ; The command to drive. 10. A method for debugging and verifying a graphical hardware design, comprising the steps of: translating a script representing a graphical function into a command processed by a device driver; S3U06-0029-TW/〇6〇8D-A415J4-TW /FinaI-, 32-module and graphics processing in a single-unit script representing graphics hardware design corresponding to at least one graphics processing busy and at least one reference driving frame; at least two of At least one reference frame, the at least one drive frame and the at least one graphics processing unit frame; and an analysis of at least one of the following results based on the result of the comparison step: the graphic hardware design and the device driver the design of. The method for debugging and verifying graphics hard as described in (1) Patent (1), wherein the method further comprises: translating the script into a command processed by a reference software driver; and driving the reference software in the reference The command is processed in the processing unit model; and X generates at least one reference drive box corresponding to the command in the script. The method for debugging and verifying the graphic hardware design as described in the first paragraph of the patent scope includes: The at least one reference drive frame and the at least one graphics processing sapon frame are compared to analyze at least one of: the graphical hardware design and the device driven design. 13. The method of debugging and verifying a graphical hardware design as described in claim 1 further comprising: translating the script into a command processed by a reference gate; processing the command in the reference gate; generating at least A reference box that corresponds to the command in the script. S3U〇6-0029-TW/〇608D.A4i5i4.TW/Fjna|_ 1356321 14. The method of debugging and verifying the graphic hardware design as described in claim 10 of the patent application, further includes: executing the script step by step . 15. The method for debugging and verifying a graphic hardware design according to claim 10, further comprising: generating a debugging message from the graphic processing unit model representing the graphic hardware, and analyzing the debugging information to Verify the graphical hardware design. 16. The method for debugging and verifying a graphical hardware design as described in claim 10 of the patent application, further comprising: setting at least one interruption point in the script; executing the script to the at least one interruption point; analyzing the debug poor And continue to execute the script. 17. The method of debugging and verifying a graphical hardware design as described in claim 10, further comprising: obtaining a request from a software application that performs a graphics operation and converting the request to a command of the software graphics driver, Generate the script. S3U06-002 9-TW/0608D-A4 1514-TW/Final-l 34
TW96150827A 2007-12-28 2007-12-28 Systems and methods for graphics hardware design d TWI356321B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW96150827A TWI356321B (en) 2007-12-28 2007-12-28 Systems and methods for graphics hardware design d

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW96150827A TWI356321B (en) 2007-12-28 2007-12-28 Systems and methods for graphics hardware design d

Publications (2)

Publication Number Publication Date
TW200928833A TW200928833A (en) 2009-07-01
TWI356321B true TWI356321B (en) 2012-01-11

Family

ID=44864248

Family Applications (1)

Application Number Title Priority Date Filing Date
TW96150827A TWI356321B (en) 2007-12-28 2007-12-28 Systems and methods for graphics hardware design d

Country Status (1)

Country Link
TW (1) TWI356321B (en)

Also Published As

Publication number Publication date
TW200928833A (en) 2009-07-01

Similar Documents

Publication Publication Date Title
US8146061B2 (en) Systems and methods for graphics hardware design debugging and verification
US8041553B1 (en) Generic software simulation interface for integrated circuits
TW451129B (en) Semiconductor integrated circuit evaluation system
KR101267120B1 (en) Mapping graphics instructions to associated graphics data during performance analysis
CN103810728A (en) System, method, and computer program product for inputting modified coverage data into a pixel shader
JP2005141624A (en) Verification apparatus, verification method, and program
Cavallo et al. Cave-AR: a VR authoring system to interactively design, simulate, and debug multi-user AR experiences
TWI309384B (en)
CN111881051A (en) Test case generation method and device, terminal and storage medium
WO2021158273A1 (en) Augmented reality virtual audio source enhancement
US10192013B1 (en) Test logic at register transfer level in an integrated circuit design
CN101183400B (en) Debugging and checking method and system in graph hardware design
JP2010170180A (en) Circuit verification device and program
JP5366412B2 (en) Call flow creation system, method and program
TWI356321B (en) Systems and methods for graphics hardware design d
KR20090078695A (en) Method of generating user interface model applicable to various platform and apparatus thereof
KR101838717B1 (en) Method and apparatus for implementing providing work assist service
CN111078533A (en) Automatic testing method and device, computer equipment and storage medium
TW201708836A (en) Protocol based automated tester stimulus generator
US10095822B1 (en) Memory built-in self-test logic in an integrated circuit design
JP5199393B2 (en) User interface model generation system supporting multi-channel and multi-platform
CN107102971A (en) Pattern clone method, device and equipment
JP2003036183A5 (en)
JP7250222B1 (en) Change history reproduction device, change history reproduction method, and change history reproduction program
JP2004280588A (en) System lsi design support device and system lsi design support program