TWI313829B - - Google Patents
Download PDFInfo
- Publication number
- TWI313829B TWI313829B TW94104217A TW94104217A TWI313829B TW I313829 B TWI313829 B TW I313829B TW 94104217 A TW94104217 A TW 94104217A TW 94104217 A TW94104217 A TW 94104217A TW I313829 B TWI313829 B TW I313829B
- Authority
- TW
- Taiwan
- Prior art keywords
- interface
- data
- circuit
- buffer
- circuit verification
- Prior art date
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Description
、1313 829 九、發明說明: 【發明所屬之技術領域】 本發明係一種ic電路驗證平台,其係針對積體電路設計的驗證做出一 個簡易測試並操作方便之平台,以期為使驗證流程更具便利、迅速與準確 性。 【先前技術】 _ 數位賴壯人類而言十分重要,其基本單位是所謂驗元(bit),也 就是由0與1所構成的應用技術。除了直接繪製電路圖Schematic 之外,也有直接以語言實現電路的方式,這種語言即稱為硬體描述語言 (HDL,Hardware Descripition Language)。當然對於功能複雜的數位電路 實現而言,繪製電路的過程是相當費時的,這就是硬體描述語言(HDL)出頭 之曰了’其中最為人注目的二個語言,其一是VERIL0G的HDL,其二為VHDL。 然目前使用HDL語言來設計邏輯電路時,FPGA(Field pr〇grammable • Gate Array)與 CPLD(Complex Programmable Logic Device)元件可以說是 提供最佳的驗#方法。f?ga是在-顆超大型積縣路,超大雜體電路(通, 1313 829 IX, invention description: [Technical field of invention] The present invention is an ic circuit verification platform, which is a platform for simple verification and easy operation for verification of integrated circuit design, in order to make the verification process more Convenient, fast and accurate. [Prior Art] _ Digital is very important for human beings. The basic unit is the so-called dimension, which is the application technology consisting of 0 and 1. In addition to directly drawing the schematic Schematic, there is also a way to implement the circuit directly in language. This language is called the Hardware Descripition Language (HDL). Of course, for a complex digital circuit implementation, the process of drawing a circuit is quite time consuming. This is the first of two languages in the hardware description language (HDL), one of which is the HDL of VERIL0G. The second is VHDL. However, when using the HDL language to design logic circuits, FPGA (Field pr〇grammable • Gate Array) and CPLD (Complex Programmable Logic Device) components can be said to provide the best method. f?ga is in the ultra-large Jixian Road, super large circuit (pass
• ¥是84聊或更大的1C包裝)中,均勻配置了-大堆的可程式邏輯單元(稱 4 之為CLB)。每個CLB都擁有基本的組合邏輯跟順序邏輯,而在CLB和CLB 之間也均勻配置了-大串的可程式ge^(Rc)Uting),控制這些配線就可將一 個個單獨的CLB整合成完整而複雜的大型電路;最後再利用分佈於外圍的 可程式輪入輪出阜(稱之為I0B),提供FpGA和外部電路的界面關係。最特 別的疋’ FPGA tl件中的邏輯單元(CLB)、輸出輪入阜⑽)和配線⑽此叩) 5 、1313 829 該誤差偵測及設計校正步驟,直到獲得無誤差之設計資料於該事件測試器 中為止。 該發明之進一步觀點係一種複合積體電路設計之驗證設備,該設計之 驗證設備係藉不同裝置建構以用於達成上述設計之驗收方法,其利用該事 件測試器及該FPGA之組合或該事件測試器及該仿真器板之組合以用於高速 測試圖案應用及響應評估以及設計除錯及誤差校正。 根據該發明,可使用該事件測試器與FPGAs之線上程式規劃來驗證該 ♦設計以取代所使用之緩_腿模擬工具。因為不使用全晶片位準模擬且 並用軟體在FPGA上運轉更快,故可完成目前技術情不可行之擴增驗證。 L發明内容】 目前市面上亦林少植基於騎之板,大多數的祕並無直制 pc連接’電路下載至FPGA後,所有資料的輸人_由接線的方式傳送至 _ ’輸出収連接至邏輯分錢上,透過賴分析儀儲存並觀察電路的 執行結果,_得及贿祕的執行絲再絲改魏,雜改完之電路 再重新執订㈣,但若測試程式若是有錯誤需修改,仍需重新撰寫程式益 ^立即修改測試程式,其依舊係_邏輯分析儀呈現域行結果,當然有 4伤原型板則是PCI介面,直接插在 , 式錄雷m、* 價使用者藉由驅動程式發展程 在電路^的^的驗證工作,但驅動程式撰寫程式較麻煩,且 』無法協助各小模組做驗證的工作,而本系統在硬_ Γ利用CI為介面來測試電路,且我們在軟體端提供相當多的 創新,讓使用者可以、良與 易地直财《職察電路執彳機的結果,不需再 1313829• ¥ is a 84 chat or larger 1C package), evenly configured - a large stack of programmable logic cells (called 4 for CLB). Each CLB has basic combinational logic and sequential logic, and a uniform array of programmable ge^(Rc)Utings is also configured between CLB and CLB. By controlling these wirings, a single CLB can be integrated into A complete and complex large-scale circuit; finally, the programmable wheel-in and out-out (called I0B) distributed around the periphery provides the interface between the FpGA and the external circuit. The most special 疋 'Logical unit (CLB) in FPGA tl, output wheel 阜 (10)) and wiring (10) 叩) 5, 1313 829 This error detection and design calibration steps until the error-free design data is obtained Up to the event tester. A further aspect of the invention is a verification device for a composite integrated circuit design, the verification device of the design being constructed by different devices for achieving the acceptance method of the above design, which utilizes the combination of the event tester and the FPGA or the event The combination of the tester and the simulator board for high speed test pattern application and response evaluation as well as design debug and error correction. According to the invention, the event tester and the on-line programming of the FPGAs can be used to verify the design to replace the slow-leg simulation tool used. Because the full-chip level simulation is not used and the software is used to run faster on the FPGA, the amplification verification that is not feasible in the current technology can be completed. L invention content] At present, Lin Shaozhi is also based on the riding board. Most of the secrets are not directly connected to the PC. After the circuit is downloaded to the FPGA, all the data input is transmitted to the _ 'output and connect to the logic. On the money, through the analyzer to store and observe the execution results of the circuit, _ get the bribe secret execution wire and then change the Wei, the circuit is re-revisioned (4), but if the test program has errors, need to be modified, Still need to rewrite the program benefits ^ immediately modify the test program, it still shows the domain line results of the logic analyzer, of course, there are 4 damage prototype board is the PCI interface, directly inserted, the type of mine m, * price users The driver development process is verified in the circuit ^, but the driver writing program is cumbersome, and "can not assist the small module to do the verification work, and the system uses the CI interface to test the circuit. We provide quite a lot of innovations on the software side, so that users can, good and easy to directly finance the results of the work of the circuit, no need to 1313929
User program 50:使用者可根據硬體電路的需求,在run乜肥時產 生即時的資料,以提供電路模擬之使用,並接收來自硬體的即時資料,進 行處理或儲存,此一功能有助於SOC (System on Chip)中之HW/SW Co-simulation/ co-verification,其實作方式可以利用 DynamicUnk Library or Class library實現,以使之可以直接與Tunnel連接。User program 50: Users can generate real-time data during the run-up according to the requirements of the hardware circuit to provide the use of circuit simulation, and receive real-time data from the hardware for processing or storage. This function helps. In the SOC (System on Chip) HW / SW Co-simulation / co-verification, the actual way can be achieved by using the DynamicUnk Library or Class library, so that it can be directly connected to the Tunnel.
Tunnel 51是一個應用程式,其功用是提供一個介面,可以在run—time 時,藉由Interface application pr〇gram將資料傳至冊端以供模擬使用。 此程式亦可k供Host computer端,根據資料進行冊端時脈控制,其另一 端連結使用者自行發展的程式(user program)來做為二者資料交換之用。 Waveform checker :用來與事先準備好的資料進行比對。Tunnel 51 is an application that provides an interface for transferring data to the end of the book for simulation use at runtime-time with the interface application pr〇gram. This program can also be used by the host computer to control the book-end clock based on the data, and the other end is connected to the user program (user program) for the exchange of data. Waveform checker: Used to compare with the prepared data.
Waveform display :以波形方式顯示回傳的資料。Waveform display : Display the returned data in a waveform.
Data Storage 53:用來儲存大量上傳及回傳之資料如硬碟。Data Storage 53: Used to store large amounts of uploaded and returned data such as hard drives.
Waveform Editor 52:以圖形化介面來編輯模擬時所須上傳至即以的 資料(根據時脈)。 再針對其流程再做-次敘述,如第七圖所示,現在假設使用者將設計 好之邏輯電路植入(programming)到Slave FPGA後,使用者可藉由 Editor 52或使用者程式User Program 5〇(經由T_ei 5ι也就是當使用 者程式呼叫APIs時,APIs會透過作業系統所提供Ipc〇nter p脈_ιυ 的方式與系統軟體建立溝通的通道。)所產生的輸人資料或已經儲存在 Data Storage 53 Interface Application Program 55 將輸入待測試資料與硬體控制訊號放置在pc之記憶體,經轉為 1313829 内資料的多寡’格式是否available for access,資料與時間的相關資料, 在Slave FPGA要寫入資料到Buffers中時也必須更新conten1: Table中的 • 欄位’而Control Chip將資料搬回Host Computer時也必須參考contentWaveform Editor 52: Use the graphical interface to edit the simulation to the current data (according to the clock). Then, for the process, the second description, as shown in the seventh figure, assumes that after the user has programmed the designed logic circuit to the Slave FPGA, the user can use the Editor 52 or the user program User Program. 5〇 (T_ei 5ι means that when the user program calls the APIs, the APIs will establish a communication channel with the system software through the Ipc〇nter p pulse _ιυ provided by the operating system.) The generated input data or has been stored. In the Data Storage 53 Interface Application Program 55, the data to be tested and the hardware control signal are placed in the memory of the PC, and the data in the 1313829 format is available for access, data and time related information, in the Slave FPGA. To write data to Buffers, you must also update the conten1: • field in the table' and the Control Chip must refer to the content when moving the data back to Host Computer.
Table中的資料並依情況加以更新。The information in the Table is updated as appropriate.
Multiplexer是用來切換的資料是要傳至Level 1 Buffer or Level 2 Buffer的電路。當Host computer與Level 1 Buffer之間沒有資料傳輸 時則 multiplexer 指向 Level 1 Buffer,否則就指向 Level 2 Buffer, 9 其動作由Control Chip所控制。The data that Multiplexer uses to switch is the circuit to be passed to Level 1 Buffer or Level 2 Buffer. When there is no data transmission between the Host computer and the Level 1 Buffer, the multiplexer points to the Level 1 Buffer, otherwise it points to the Level 2 Buffer, 9 and its action is controlled by the Control Chip.
Level 1 Buffer 為Volatile記憶體(如SRAM或DRAM),其功能為儲存Slave FPGA 所需要回傳至Host computer的資料,以供其系統軟體之使用,此一 Buffer 為host computer與冊之間無資料傳輸的時候所使用一旦此Buffer的 負料過多時就必須以Burst的方式一次回傳至Host computer,而其内容 狀態則存在Buffer controller & content table之中,如此可以減少Host • computer and HW之間的傳輸次數,以增加效率。Level 1 Buffer is a Volatile memory (such as SRAM or DRAM). Its function is to store the data that the Slave FPGA needs to return to the Host computer for use by its system software. There is no data between the host computer and the book. When the transfer is used, once the Buffer has too many negative materials, it must be transferred back to the Host computer in Burst mode, and its content status is stored in the Buffer controller & content table, which can reduce Host • computer and HW. The number of transmissions between to increase efficiency.
Level 2 Buffer 其功能與Level 1 Buffer相同,差別在於當Host Computer與Level 1 Buffer進行資料回傳的動作時,假如Slave fpga因為任何因素不能將 其動作暫停,此時其動作與狀態必須繼續且被記錄時,其資料就會被存到Level 2 Buffer has the same function as Level 1 Buffer. The difference is that when Host Computer and Level 1 Buffer perform data backhaul action, if Slave fpga cannot suspend its action due to any factor, its action and state must continue and be When recording, its data will be saved to
Level 2 Buffer中,待Level 1 Buffer資料傳完後,且可再被寫入時,此 時Slave FPGA的資料轉存至Levei 1 buffer這時Level 2 Buffer的資 14 1313829 料才被回傳至Host computer· 由第圖所示依照流程圖再做一詳加的解釋,c〇n廿^將收 到之I/F 60訊號,取出時脈訊號與時脈控制訊號送至^ 用以控制時脈來源與時脈動作,此時脈來源可來自MW _ 6i(fr〇m I/F 60) ’由HW board所提供的時脈訊號以及peripheral IC。控制時脈 動作將時絲源做適當的義或暫料處置,讀執行Slave脱66之 單步執行’夕步執行或中斷點等的動作。C〇ntr〇i chip 61㈤時將收到之待 測資料與控制訊號存放在Data/Control Buffer 63内。Data/Control Buffer 63根據每個時脈,將訊號輸入至Slave FpGA 66。硬體板上亦提供 周邊電路與Slave FPGA 66相連結,由於siave FPGA 66運作可能會降頻 或暫停的情況,因此Peripheral 1C的Clock必須受Clock Gen System 62 所控制。In Level 2 Buffer, after the Level 1 Buffer data is transmitted and can be written again, the data of the Slave FPGA is transferred to the Levei 1 buffer. At this time, the Level 2 Buffer resource 14 1313829 is returned to the Host computer. · According to the flow chart shown in the figure, a detailed explanation is given. c〇n廿^ will receive the I/F 60 signal, and take the clock signal and clock control signal to ^ to control the source of the clock. With the clock action, the pulse source can come from MW _ 6i (fr〇m I/F 60) 'the clock signal provided by the HW board and the peripheral IC. Control the clock action to make the appropriate source or temporary disposal of the silk source, and read the execution of the Slave off 66 single step execution or the execution of the break point. C〇ntr〇i chip 61 (5) will receive the test data and control signals stored in Data/Control Buffer 63. The Data/Control Buffer 63 inputs the signal to the Slave FpGA 66 based on each clock. The peripheral circuit is also connected to the Slave FPGA 66 on the hardware board. Because the sieve FPGA 66 may be down or suspended, the Peripheral 1C's clock must be controlled by the Clock Gen System 62.
Slave FPGA 66 所產生之輸出訊號,根據 Buffer contr〇i & c〇ntent Description Table 64所包含兩個Buffer内資料的多寡,格式是否 available for access,資料與時間的相關資料,加以判斷處理並將輸出 訊號傳至 level 1 Buffer 68or level 2 Buffer 69,並用 Multiplexer 67 來切換傳送資料的路徑。在Slave FPGA 66要寫入資料到Buffers中時也 必須更新Buffer control & content Description Table 64 中的欄位。 為避免Host computer and HW之間的傳輸次數過於頻繁,因此使用兩 個 Buffer (Level 1 Buffer 68and Level 2 Buffer 69),並以 Burst 的 方式將Buffer内的資料回傳至Host computer。當Level 1 Buffer的資 15The output signal generated by the Slave FPGA 66 is judged according to the amount of data in the two Buffers included in the Buffer contr〇i & c〇ntent Description Table 64, whether the format is available for access, data and time related information, and The output signal is passed to level 1 Buffer 68or level 2 Buffer 69, and Multiplexer 67 is used to switch the path of the transmitted data. The fields in the Buffer control & content Description Table 64 must also be updated when the Slave FPGA 66 is to write data to the Buffers. To avoid frequent transmissions between the Host computer and the HW, use two Buffers (Level 1 Buffer 68 and Level 2 Buffer 69) and transfer the data in the Buffer to the Host computer in Burst mode. When Level 1 Buffer is 15
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW094104217A TW200629094A (en) | 2005-02-14 | 2005-02-14 | Integrated circuit verification platform |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW094104217A TW200629094A (en) | 2005-02-14 | 2005-02-14 | Integrated circuit verification platform |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200629094A TW200629094A (en) | 2006-08-16 |
TWI313829B true TWI313829B (en) | 2009-08-21 |
Family
ID=45072838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW094104217A TW200629094A (en) | 2005-02-14 | 2005-02-14 | Integrated circuit verification platform |
Country Status (1)
Country | Link |
---|---|
TW (1) | TW200629094A (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111579959A (en) * | 2019-02-15 | 2020-08-25 | 深圳市汇顶科技股份有限公司 | Chip verification method, device and storage medium |
-
2005
- 2005-02-14 TW TW094104217A patent/TW200629094A/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TW200629094A (en) | 2006-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rashinkar et al. | System-on-a-chip Verification: Methodology and Techniques | |
TWI343482B (en) | Wireless no-touch testing of integrated circuits | |
US6629293B2 (en) | Block based design methodology | |
US9064068B1 (en) | Debuggable opaque IP | |
Marwah | System-on-Chip Design and Test with Embedded Debug Capabilities | |
CN112949233B (en) | Automatic development method and device of FPGA chip and electronic equipment | |
US20130055022A1 (en) | Flexible soc design verification environment | |
US7584456B1 (en) | Method and apparatus for debugging embedded systems having read only memory | |
JP2002215712A (en) | Method of verifying ic design | |
TW200919246A (en) | Enhancing speed of simulation of an IC design while testing scan circuitry | |
US9098662B1 (en) | Configuring a device to debug systems in real-time | |
US20080120587A1 (en) | Integrated circuit design system, integrated circuit design program, and integrated circuit design method | |
US8195441B1 (en) | Hardware co-simulation involving a processor disposed on a programmable integrated circuit | |
US10546081B2 (en) | Full memory logical erase for circuit verification | |
WO2000019528A1 (en) | Dram cell system and method for producing same | |
TWI313829B (en) | ||
US6654919B1 (en) | Automated system for inserting and reading of probe points in silicon embedded testbenches | |
US11662383B2 (en) | High-speed functional protocol based test and debug | |
US7024346B1 (en) | Automatic ATAP test bench generator | |
Siripokarpirom et al. | Hardware-assisted simulation and evaluation of IP cores using FPGA-based rapid prototyping boards | |
US6417562B1 (en) | Silicon verification with embedded testbenches | |
CN116451625B (en) | Apparatus and method for joint simulation of RTL and netlist with SDF | |
Harbich et al. | A case study: logic emulation-pitfalls and solutions | |
Avss et al. | Virtual prototyping increases productivity-A case study | |
Sudheer et al. | AMBA APB Memory Controller Functional Verification using SystemVerilog |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |