[go: up one dir, main page]

TWM662198U - Integrated Circuit Design Verification System - Google Patents

Integrated Circuit Design Verification System Download PDF

Info

Publication number
TWM662198U
TWM662198U TW113208119U TW113208119U TWM662198U TW M662198 U TWM662198 U TW M662198U TW 113208119 U TW113208119 U TW 113208119U TW 113208119 U TW113208119 U TW 113208119U TW M662198 U TWM662198 U TW M662198U
Authority
TW
Taiwan
Prior art keywords
register
file
code
verification
review
Prior art date
Application number
TW113208119U
Other languages
Chinese (zh)
Inventor
莊凱欣
王炳浩
王年
李志鑫
Original Assignee
大陸商北京集創北方科技股份有限公司
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 大陸商北京集創北方科技股份有限公司 filed Critical 大陸商北京集創北方科技股份有限公司
Priority to TW113208119U priority Critical patent/TWM662198U/en
Publication of TWM662198U publication Critical patent/TWM662198U/en

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

一種積體電路設計驗證系統,其具有一驗證平台以及與該驗證平台耦接之一控制單元,該控制單元包含:一文件檢視單元,用以對一寄存器描述文件進行一內容檢視操作以產生完成內容檢視的寄存器描述文件;一代碼文件產生單元,與該文件檢視單元耦接,用以依該完成內容檢視的寄存器描述文件自動生成一寄存器驗證代碼文件;一測試用例產生單元,與該文件檢視單元耦接,用以依該完成內容檢視的寄存器描述文件自動生成一測試用例文件;以及一RAL(register abstraction layer;寄存器抽象層)模型產生單元,與該代碼文件產生單元耦接,用以自動地依該寄存器驗證代碼文件生成一RAL模型。 An integrated circuit design verification system has a verification platform and a control unit coupled to the verification platform, the control unit comprising: a file review unit for performing a content review operation on a register description file to generate a register description file that has completed the content review; a code file generation unit coupled to the file review unit for automatically generating a register verification code file according to the register description file that has completed the content review; a test case generation unit coupled to the file review unit for automatically generating a test case file according to the register description file that has completed the content review; and a RAL (register abstraction layer) model generation unit coupled to the code file generation unit for automatically generating a RAL model according to the register verification code file.

Description

積體電路設計驗證系統Integrated Circuit Design Verification System

本創作為積體電路之設計驗證的相關技術領域,尤指一種積體電路設計驗證系統。This work is related to the technical field of integrated circuit design verification, especially an integrated circuit design verification system.

隨著消費性電子產品和車用電子產品對於積體電路晶片的功能性要求的不斷提高,積體電路晶片所包含的電路集成規模也越來越大,導致電路複雜程度也越來越高。因此,隨著電路集成規模越來越大,一個積體電路晶片通常會包含複數個電路模塊,分別由不同的工程師負責設計。熟悉積體電路晶片之設計開發的電子工程師應知道,一個積體電路晶片的項目開發係包括以下幾個階段:產品規劃階段、設計與模擬驗證階段、design flow階段、以及晶片製造與測試階段。其中,在設計與模擬驗證階段,工程師首先利用Verilog完成其負責設計的電路模塊之RTL電路設計(即,RTL coding),並接著利用一積體電路設計驗證系統執行模擬驗證以檢查RLT coding的正確性。As the functional requirements for integrated circuit chips in consumer electronics and automotive electronics continue to increase, the scale of circuit integration contained in integrated circuit chips is getting larger and larger, resulting in higher and higher circuit complexity. Therefore, as the scale of circuit integration becomes larger and larger, an integrated circuit chip usually contains multiple circuit modules, which are designed by different engineers. Electronic engineers who are familiar with the design and development of integrated circuit chips should know that the project development of an integrated circuit chip includes the following stages: product planning stage, design and simulation verification stage, design flow stage, and chip manufacturing and testing stage. In the design and simulation verification stage, engineers first use Verilog to complete the RTL circuit design (i.e., RTL coding) of the circuit module they are responsible for designing, and then use an integrated circuit design verification system to perform simulation verification to check the correctness of the RTL coding.

具體而言,一個積體電路晶片包含複數個寄存器,作為複數個電路模塊之間的交互接口。因此,對特定的電路模塊進行模擬驗證時,係通常執行:(1) 通過讀出寄存器的當前值以確認測試中的電路模塊(DUT)的當前狀態;及/或(2)通過對寄存器進行配置,從而使測試中的電路模塊工作在一定模式下。因此,在單次模擬驗證的過程中,必須多次地對一個或多個寄存器進行讀操作和寫操作。Specifically, an integrated circuit chip includes a plurality of registers that serve as the interactive interface between a plurality of circuit modules. Therefore, when performing simulation verification on a specific circuit module, it is usually performed by: (1) confirming the current state of the circuit module under test (DUT) by reading the current value of the register; and/or (2) configuring the register so that the circuit module under test works in a certain mode. Therefore, in a single simulation verification process, one or more registers must be read and written multiple times.

目前,現有技術已經實現了寄存器驗證的自動化。舉例而言,目前已有一種寄存器自動化驗證方法可在某種程度上減輕驗證工程師的工作負擔。在該習知的寄存器自動化驗證方法之中,係由用戶(即,系統工程師)負責填寫一寄存器描述文件的Excel文檔,接著利用一代碼文件生成腳本依據所述寄存器描述文件生成一寄存器驗證代碼文件(.ralf),而後依據該寄存器驗證代碼文件生成一RAL模型(.sv),最終由驗證平台(test bench)通過該RAL模型對特定的電路模塊進行模擬驗證。然而,實務經驗指出,由於寄存器描述文件是由系統工程師所填寫,因此寄存器描述文件係無法避免會包含錯誤的內容。At present, the existing technology has realized the automation of register verification. For example, there is currently a register automation verification method that can reduce the workload of verification engineers to a certain extent. In the known register automation verification method, the user (i.e., system engineer) is responsible for filling out an Excel document of a register description file, and then using a code file to generate a script to generate a register verification code file (.ralf) based on the register description file, and then generating a RAL model (.sv) based on the register verification code file, and finally the verification platform (test bench) performs simulation verification on a specific circuit module through the RAL model. However, practical experience shows that since the register description file is filled out by the system engineer, it is inevitable that the register description file will contain erroneous content.

舉例而言,一個寄存器的數據寬度和地址範圍分別為8bit與16bit,但是系統工程師在填寫該寄存器的描述文件時,填錯了其數據寬度或地址範圍的數值。再舉例而言,實務上單個寄存器可以被拆分為多個寄存器域,不同的域往往代表著某一項獨立的功能,例如:WO(write-only,只寫)、RO(read-only,只讀)、RW(read and write,讀寫)、或Reserved(保留)。因此,在填寫每個域的bit頭與bit尾(即,起始位元和終止位元)時,也極容易發生人為錯誤,如填寫不連續。For example, the data width and address range of a register are 8 bits and 16 bits respectively, but when the system engineer fills in the description file of the register, he fills in the wrong value of the data width or address range. For another example, in practice, a single register can be divided into multiple register domains, and different domains often represent a certain independent function, such as: WO (write-only), RO (read-only), RW (read and write), or Reserved. Therefore, when filling in the bit header and bit tail (i.e., the start bit and the end bit) of each domain, it is also very easy to make human errors, such as filling in discontinuously.

易於想像的,若設計上有需求將上千個寄存器組成一個寄存器模塊之時,系統工程師在編輯該寄存器模塊的寄存器描述文件之後必然會出現非常多的錯誤內容。在此情況下,即使利用所述代碼文件生成腳本仍舊可以成功地依據寄存器描述文件生成一寄存器驗證代碼文件(.ralf),該寄存器驗證代碼文件顯然也不是正確的,從而導致最後生成的RAL模型不會百分百對應待測積體電路(DUT)所包含的硬體寄存器。在此情況下,模擬驗證的結果是通過(pass)還是失敗(fail)都是沒有意義的。It is easy to imagine that if there is a requirement to group thousands of registers into a register module, the system engineer will inevitably encounter a lot of errors after editing the register description file of the register module. In this case, even if the code file generation script can still successfully generate a register verification code file (.ralf) based on the register description file, the register verification code file is obviously not correct, resulting in the RAL model generated in the end not 100% corresponding to the hardware registers contained in the integrated circuit under test (DUT). In this case, whether the result of the simulation verification is pass or fail is meaningless.

由上述說明可知,本領域亟需一種新式的寄存器驗證代碼文件生成方案。From the above description, it can be seen that a new register verification code file generation solution is urgently needed in the field.

本創作之主要目的在於提供一種寄存器驗證代碼文件生成方案,其應用於包含一驗證平台以及一控制單元的一積體電路設計驗證系統之中。在應用本創作之驗證方案的情況下,係可以在生成寄存器驗證代碼文件之前自動檢視寄存器描述文件(如Excel)的內容是否正確,且在Excel內容有部分填寫錯誤的情況下,自動生成正確的寄存器驗證代碼文件以及測試用例。接續地,在依據所述寄存器驗證代碼文件生成一RAL模型(.sv)之後,該控制單元利用該RAL模型、該測試用例文件與該驗證平台完成一待測電路模塊(DUT)的模擬驗證。The main purpose of this invention is to provide a register verification code file generation solution, which is applied to an integrated circuit design verification system including a verification platform and a control unit. When the verification solution of this invention is applied, it is possible to automatically check whether the content of the register description file (such as Excel) is correct before generating the register verification code file, and when there are partial filling errors in the Excel content, the correct register verification code file and test case are automatically generated. Subsequently, after generating a RAL model (.sv) based on the register verification code file, the control unit uses the RAL model, the test case file and the verification platform to complete the simulation verification of a circuit module under test (DUT).

為達成上述目的,一種積體電路設計驗證系統乃被提出,其具有一驗證平台以及與該驗證平台耦接之一控制單元,該控制單元包含: 一文件檢視單元,用以對一寄存器描述文件進行一內容檢視操作以產生完成內容檢視的寄存器描述文件; 一代碼文件產生單元,與該文件檢視單元耦接,用以依該完成內容檢視的寄存器描述文件自動生成一寄存器驗證代碼文件; 一測試用例產生單元,與該文件檢視單元耦接,用以依該完成內容檢視的寄存器描述文件自動生成一測試用例文件;以及 一RAL(register abstraction layer;寄存器抽象層)模型產生單元,與該代碼文件產生單元耦接,用以自動地依該寄存器驗證代碼文件生成一RAL模型。 To achieve the above-mentioned purpose, an integrated circuit design verification system is proposed, which has a verification platform and a control unit coupled to the verification platform, the control unit comprising: A file review unit, used to perform a content review operation on a register description file to generate a register description file that has completed the content review; A code file generation unit, coupled to the file review unit, used to automatically generate a register verification code file according to the register description file that has completed the content review; A test case generation unit, coupled to the file review unit, used to automatically generate a test case file according to the register description file that has completed the content review; and A RAL (register abstraction layer; register abstraction layer) model generation unit, coupled to the code file generation unit, used to automatically generate a RAL model according to the register verification code file.

在一實施例中,該控制單元係將該RAL模型及該測試用例文件傳送至該驗證平台以在該驗證平台執行一電路模塊驗證操作。In one embodiment, the control unit transmits the RAL model and the test case file to the verification platform to execute a circuit module verification operation on the verification platform.

在一實施例中,該寄存器描述文件係依複數個項目欄位記載複數個寄存器的基本參數,且該些項目欄位包含一識別詞欄位。In one embodiment, the register description file records basic parameters of a plurality of registers according to a plurality of entry fields, and the entry fields include an identifier field.

在一實施例中,該控制單元係依該識別詞欄位之內容檢視所述寄存器的位元寬度、字節(byte)數、字(word)數以及域(field)位元範圍是否記載正確,從而產生一檢視紀錄。In one embodiment, the control unit checks whether the bit width, byte number, word number and field bit range of the register are recorded correctly according to the content of the identification word field, thereby generating a check record.

在一實施例中,該檢視紀錄係用以記載該寄存器描述文件所含有的至少一錯誤信息。In one embodiment, the inspection log is used to record at least one error message contained in the register description file.

在一實施例中,該寄存器驗證代碼文件的內容包括: 一寄存器代碼,用以定義複數個寄存器及其對應位元寬度; 一寄存器域代碼,用以定義複數個寄存器域及其對應功能; 一地址代碼,用以定義各所述寄存器的地址、存取屬性以及通用匯流排; 一寄存器模塊代碼,用以定義一包含複數個所述寄存器的寄存器模塊;以及 一儲存單元代碼,用以定義一儲存單元。 In one embodiment, the content of the register verification code file includes: A register code for defining a plurality of registers and their corresponding bit widths; A register domain code for defining a plurality of register domains and their corresponding functions; An address code for defining the address, access attributes and common bus of each of the registers; A register module code for defining a register module including a plurality of the registers; and A storage unit code for defining a storage unit.

在一實施例中,該測試用例文件的內容包括:一測試序列代碼、一序列器代碼以及一通用匯流排驅動器代碼。In one embodiment, the content of the test case file includes: a test sequence code, a sequencer code and a universal bus driver code.

為使  貴審查委員能進一步瞭解本創作之結構、特徵、目的、與其優點,茲附以圖式及較佳具體實施例之詳細說明如後。In order to enable the review committee to further understand the structure, features, purpose, and advantages of this creation, the following are attached with diagrams and detailed descriptions of the preferred specific implementation examples.

圖1顯示應用本創作之積體電路設計驗證系統的方塊圖。如圖1所示,在一積體電路晶片的設計模擬驗證階段,包含一控制單元12與一驗證平台11的一積體電路設計驗證系統1被搭建用於對一積體電路(如,利用Verilog所完成的RTL電路)執行模擬驗證。進行模擬驗證時,該控制單元12執行一驗證操作以對包含複數個電路模塊的一積體電路進行驗證測試。更詳細地說明,該驗證操作包括:一代碼文件生成程序、一RAL(register abstraction layer;寄存器抽象層)模型生成程序以及一電路模塊驗證程序,其中該控制單元12通過執行本創作之一種寄存器驗證代碼文件生成方案以完成所述代碼文件生成程序,從而產生一寄存器驗證代碼文件與一測試用例文件。FIG1 shows a block diagram of an integrated circuit design verification system to which the present invention is applied. As shown in FIG1 , in the design simulation verification stage of an integrated circuit chip, an integrated circuit design verification system 1 including a control unit 12 and a verification platform 11 is constructed to perform simulation verification on an integrated circuit (e.g., an RTL circuit completed using Verilog). When performing simulation verification, the control unit 12 performs a verification operation to perform verification testing on an integrated circuit including a plurality of circuit modules. To explain in more detail, the verification operation includes: a code file generation program, a RAL (register abstraction layer) model generation program and a circuit module verification program, wherein the control unit 12 completes the code file generation program by executing a register verification code file generation scheme of the present invention, thereby generating a register verification code file and a test case file.

圖2顯示本創作之一種寄存器驗證代碼文件生成方案的流程圖。如圖1與圖2所示,本創作之寄存器驗證代碼文件生成方案的流程係執行步驟S1:獲取一寄存器描述文件。並且,接著執行步驟S2:在對該寄存器描述文件進行一內容檢視操作之後,依據該寄存器描述文件生成一寄存器驗證代碼文件(.ralf)。在一實施例中,該控制單元12內設有包含一內容檢視腳本的一文件檢視單元121。如此設置,該控制單元12可以啟用該內容檢視腳本從而自動執行所述內容檢視操作。FIG2 shows a flow chart of a register verification code file generation solution of the present invention. As shown in FIG1 and FIG2, the flow of the register verification code file generation solution of the present invention is to execute step S1: obtain a register description file. And, then execute step S2: after performing a content review operation on the register description file, generate a register verification code file (.ralf) according to the register description file. In one embodiment, the control unit 12 is provided with a file review unit 121 including a content review script. In this way, the control unit 12 can activate the content review script to automatically perform the content review operation.

驗證工程師應知道,寄存器描述文件是由系統工程師所填寫,又稱寄存器列表,通常為Excel或CVS文件。特別地,本創作將所述寄存器描述文件的存放路徑整理在一文本文件(如 .txt)之內,以產生一文件路徑檔案。如此,執行步驟S1時,該控制單元12透過讀取該文件路徑檔案而獲知該寄存器描述文件的一存取路徑,從而經由該存取路徑獲取該寄存器描述文件。這樣做的好處在於,當該寄存器描述文件的存取路徑被變更了,只需要修改txt文件即可,無需修改所述內容檢視腳本。Verification engineers should know that the register description file is filled in by system engineers, also known as a register list, usually an Excel or CVS file. In particular, the present invention organizes the storage path of the register description file in a text file (such as .txt) to generate a file path file. In this way, when executing step S1, the control unit 12 obtains an access path of the register description file by reading the file path file, and thereby obtains the register description file through the access path. The advantage of doing this is that when the access path of the register description file is changed, only the txt file needs to be modified, and there is no need to modify the content viewing script.

通常,該寄存器描述文件(Excel)包含:寄存器名稱、地址、寄存器位元寬度(如8bit、16bit、32bit)、寄存器域、寄存器域的位元範圍、寄存器域的功能等複數個項目欄位。系統工程師在填寫每個寄存器的基本參數時,係依各個項目欄位逐一填寫。特別地,本創作令該複數個項目欄位進一步包含一識別詞欄位,該識別詞欄位係記載一用以描述寄存器的位元寬度的識別詞。舉例而言,識別詞“word”表示寄存器的位元寬度為32bit,而識別詞“byte”則表示寄存器的位元寬度為8bit,用戶可以自行定義習慣使用的識別詞。如此設計,執行所述內容檢視操作時,該控制單元12依據所述識別詞檢視寄存器的位元寬度、字節(byte)數、字(word)數以及域(field)位元範圍是否記載正確。Usually, the register description file (Excel) includes multiple item fields such as register name, address, register bit width (such as 8bit, 16bit, 32bit), register domain, bit range of register domain, function of register domain, etc. When filling in the basic parameters of each register, the system engineer fills in each item field one by one. In particular, the present invention allows the multiple item fields to further include an identifier field, and the identifier field records an identifier used to describe the bit width of the register. For example, the identifier "word" indicates that the bit width of the register is 32bit, and the identifier "byte" indicates that the bit width of the register is 8bit. Users can define the identifiers they are used to. With such a design, when executing the content inspection operation, the control unit 12 checks the register bit width, byte number, word number and field bit range according to the identification word to see if they are recorded correctly.

具體而言,該控制單元12依據寄存器的bit範圍和所述識別詞計算byte數/word數是否一致,即,以bit範圍除以位元寬度,確認運算結果是否等於表格中填寫的byte數/word數。並且,內容檢視還包括檢查寄存器域(field)的位元範圍是否連續。舉例而言,對於一8位寬且包含三個寄存器域的寄存器而言,其三個寄存器域在表格填寫正常的情況下可被配置分別具有[5:0]、[6:6]以及[7:7]的位元範圍。因此,具體地,可以透過檢查表格內的上一行的bit尾和下一行的bit頭是否連續的方式,完成寄存器域(field)的位元範圍是否連續之檢查。完成所述內容檢視操作之後,一檢視紀錄(log)係在所述內容檢視操作之後生成,且該檢視紀錄係記載該寄存器描述文件所含有的至少一錯誤信息。例如,檢查過程發現,三個寄存器域的位元範圍的總和超過了該寄存器的位元寬度,此錯誤信息會記錄在log檔案內。又例如,檢查過程發現,三個寄存器域的位元範圍頭、尾部連續,此錯誤信息也會記錄在log檔案內。Specifically, the control unit 12 calculates whether the number of bytes/words is consistent based on the bit range of the register and the identification word, that is, the bit range is divided by the bit width to confirm whether the operation result is equal to the number of bytes/words filled in the table. In addition, the content inspection also includes checking whether the bit range of the register field is continuous. For example, for a register with an 8-bit width and three register fields, the three register fields can be configured to have bit ranges of [5:0], [6:6] and [7:7] respectively when the table is filled normally. Therefore, specifically, the bit range of the register field can be checked to see whether the bit tail of the previous row and the bit head of the next row in the table are continuous. After the content review operation is completed, a review log is generated after the content review operation, and the review log records at least one error message contained in the register description file. For example, if the review process finds that the sum of the bit ranges of the three register fields exceeds the bit width of the register, this error message will be recorded in the log file. For another example, if the review process finds that the head and tail of the bit ranges of the three register fields are continuous, this error message will also be recorded in the log file.

在一實施例中,該控制單元12內設有包含一代碼文件生成腳本的一代碼文件產生單元122。如此設置,該控制單元12可以啟用該代碼文件生成腳本從而依據該寄存器描述文件生成一寄存器驗證代碼文件。在此過程中,對於包含多個寄存器域的各個寄存器,該控制單元12會按照寄存器的位元寬度自動計算其所含有的每個寄存器域的bit頭與bit尾(即,起始位元和終止位元)。具體地,在所述byte數/word數大於1的情況下,可得知該寄存器包含多個寄存器域,此時,若前面的內容檢查過程中發現有一些寄存器域的位元範圍填寫錯誤,則以自動計算的正確的起始位元及/或終止位元替換不正確者。最終,在完成寄存器描述文件的內容修正之後,該控制單元12依據該寄存器描述文件生成一寄存器驗證代碼文件。In one embodiment, the control unit 12 is provided with a code file generation unit 122 including a code file generation script. With such a configuration, the control unit 12 can enable the code file generation script to generate a register verification code file according to the register description file. In this process, for each register including multiple register domains, the control unit 12 will automatically calculate the bit header and bit tail (i.e., the start bit and the end bit) of each register domain contained therein according to the bit width of the register. Specifically, when the number of bytes/words is greater than 1, it can be known that the register includes multiple register domains. At this time, if it is found in the previous content check process that the bit range of some register domains is filled in incorrectly, the incorrect ones are replaced with the automatically calculated correct start bit and/or end bit. Finally, after completing the content modification of the register description file, the control unit 12 generates a register verification code file according to the register description file.

值得說明的是,所生成的寄存器驗證代碼文件包含層次化結構代碼;具體上,包括:寄存器模塊代碼、寄存器代碼、地址代碼、寄存器域代碼、以及儲存單元代碼。其中,該寄存器代碼用以定義複數個寄存器(uvm_reg)及其對應位元寬度,該寄存器域代碼用以定義複數個寄存器域(uvm_reg_field)及其對應功能,該地址代碼用以定義各所述寄存器的地址、存取屬性以及通用匯流排,該寄存器模塊代碼用以定義一包含複數個所述寄存器的寄存器模塊(uvm_reg_blcok),且該儲存單元代碼用以定義一儲存單元(uvm_mem)。It is worth noting that the generated register verification code file contains hierarchical structure codes; specifically, it includes: register module code, register code, address code, register field code, and storage unit code. Among them, the register code is used to define a plurality of registers (uvm_reg) and their corresponding bit widths, the register field code is used to define a plurality of register fields (uvm_reg_field) and their corresponding functions, the address code is used to define the address, access attributes and universal bus of each of the registers, the register module code is used to define a register module (uvm_reg_blcok) containing a plurality of the registers, and the storage unit code is used to define a storage unit (uvm_mem).

如圖1與圖2所示,在完成寄存器描述文件(Excel)的內容檢視以及生成生成一寄存器驗證代碼文件(.ralf)之後,本創作之寄存器驗證代碼文件生成方案的流程係可以接著執行步驟S3:依據該寄存器描述文件將一測試用例模板文件調整成一測試用例文件。在一實施例中,該控制單元12內設有包含一測試用例文件生成腳本的一測試用例產生單元123。如此設置,該控制單元12可以啟用該測試用例文件生成腳本從而依據該寄存器描述文件將一測試用例模板文件調整成一測試用例文件。這樣做的好處在於,當運行測試用例文件生成腳本後,即可自動參照正確的寄存器描述文件(Excel),接著按照預先寫好的測試用例模板,生成每個寄存器模塊(uvm_reg_blcok)對應的測試用例文件。As shown in FIG. 1 and FIG. 2 , after completing the content review of the register description file (Excel) and generating a register verification code file (.ralf), the process of the register verification code file generation solution of the present invention can then execute step S3: adjusting a test case template file into a test case file according to the register description file. In one embodiment, the control unit 12 is provided with a test case generation unit 123 including a test case file generation script. In this way, the control unit 12 can activate the test case file generation script to adjust a test case template file into a test case file according to the register description file. The advantage of doing this is that when the test case file is run to generate the script, it can automatically refer to the correct register description file (Excel), and then generate the test case file corresponding to each register module (uvm_reg_blcok) according to the pre-written test case template.

換句話說,當系統工程師變更寄存器描述文件(Excel)之後,該文件檢視單元121自動檢查其內容正確性,該代碼文件產生單元122依據完成內容檢視的寄存器描述文件自動生成一寄存器驗證代碼文件(.ralf),且該測試用例產生單元123亦依據完成內容檢視的寄存器描述文件自動生成一測試用例文件,整個過程無須驗證工程師介入,因而大幅減輕了驗證工程師的工作負擔,也提高了晶片的積體電路的模擬驗證效率。另一方面,當後期的項目需要修改測試用例的內容時,只需要對試用例模板文件進行修改,就可以通過運行測試用例文件生成腳本實現所有的測試用例文件的更新。In other words, after the system engineer changes the register description file (Excel), the file review unit 121 automatically checks the correctness of its content, the code file generation unit 122 automatically generates a register verification code file (.ralf) based on the register description file that has completed the content review, and the test case generation unit 123 also automatically generates a test case file based on the register description file that has completed the content review. The entire process does not require the intervention of the verification engineer, thereby greatly reducing the workload of the verification engineer and improving the simulation verification efficiency of the chip's integrated circuit. On the other hand, when the content of the test case needs to be modified in the later project, only the test case template file needs to be modified, and the update of all test case files can be realized by running the test case file generation script.

在完成代碼文件生成程序之後,該驗證流程係接著進入一RAL模型生成程序與一電路模塊驗證程序。在一實施例中,該控制單元12內設有包含一RAL模型生成腳本的一RAL模型產生單元124。如此設置,在該RAL模型生成程序中,該控制單元12運行該RAL模型生成腳本,從而自動地依據所述寄存器驗證代碼文件(.ralf)生成一RAL模型(.sv)。最終,在該電路模塊驗證程序中,該控制單元12利用該RAL模型、該測試用例文件與該驗證平台完成至少一個所述電路模塊的模擬驗證。After completing the code file generation procedure, the verification process then enters a RAL model generation procedure and a circuit module verification procedure. In one embodiment, the control unit 12 is provided with a RAL model generation unit 124 including a RAL model generation script. In this configuration, in the RAL model generation procedure, the control unit 12 runs the RAL model generation script, thereby automatically generating a RAL model (.sv) based on the register verification code file (.ralf). Finally, in the circuit module verification procedure, the control unit 12 uses the RAL model, the test case file and the verification platform to complete the simulation verification of at least one of the circuit modules.

由上述可知,本創作揭示了一種積體電路設計驗證系統,其具有一驗證平台以及與該驗證平台耦接之一控制單元,該控制單元包含: 一文件檢視單元,用以對一寄存器描述文件進行一內容檢視操作以產生完成內容檢視的寄存器描述文件;一代碼文件產生單元,與該文件檢視單元耦接,用以依該完成內容檢視的寄存器描述文件自動生成一寄存器驗證代碼文件;一測試用例產生單元,與該文件檢視單元耦接,用以依該完成內容檢視的寄存器描述文件自動生成一測試用例文件;以及一RAL(register abstraction layer;寄存器抽象層)模型產生單元,與該代碼文件產生單元耦接,用以自動地依該寄存器驗證代碼文件生成一RAL模型。 As can be seen from the above, this invention discloses an integrated circuit design verification system, which has a verification platform and a control unit coupled to the verification platform, the control unit comprising: a file review unit, used to perform a content review operation on a register description file to generate a register description file that has completed the content review; a code file generation unit, coupled to the file review unit, used to automatically generate a register verification code file according to the register description file that has completed the content review; a test case generation unit, coupled to the file review unit, used to automatically generate a test case file according to the register description file that has completed the content review; and a RAL (register abstraction layer; register abstraction layer) model generation unit, coupled to the code file generation unit, used to automatically generate a RAL model according to the register verification code file.

另外,於操作時,該控制單元係用以將該RAL模型及該測試用例文件傳送至該驗證平台以在該驗證平台執行一電路模塊驗證操作。 In addition, during operation, the control unit is used to transmit the RAL model and the test case file to the verification platform to perform a circuit module verification operation on the verification platform.

如此,上述已完整且清楚地說明本創作之積體電路設計驗證系統;並且,經由上述可得知本創作具有下列優點: Thus, the above has completely and clearly explained the integrated circuit design verification system of this creation; and, from the above, it can be known that this creation has the following advantages:

本創作提供一種積體電路設計驗證系統,其包含一驗證平台以及一控制單元;其特徵在於,該控制單元執行一驗證操作以對包含複數個電路模塊的一積體電路進行模擬驗證;該驗證操作包括:如前所述本創作之寄存器驗證代碼文件生成程序、一RAL模型生成程序以及一電路模塊驗證程序,從而大幅減輕驗證工程師的工作負擔,同時提高積體電路的模擬驗證效率。 This invention provides an integrated circuit design verification system, which includes a verification platform and a control unit; its feature is that the control unit executes a verification operation to perform simulation verification on an integrated circuit including a plurality of circuit modules; the verification operation includes: the register verification code file generation program of this invention as mentioned above, a RAL model generation program and a circuit module verification program, thereby greatly reducing the workload of verification engineers and improving the simulation verification efficiency of integrated circuits.

必須加以強調的是,前述本案所揭示者乃為較佳實施例,舉凡局部之變更或修飾而源於本案之技術思想而為熟習該項技藝之人所易於推知者,俱不脫本案之專利權範疇。 It must be emphasized that the above-mentioned case is a preferred embodiment. Any partial changes or modifications that are derived from the technical ideas of this case and are easily inferred by people familiar with the art do not deviate from the scope of the patent rights of this case.

綜上所陳,本案無論目的、手段與功效,皆顯示其迥異於習知技術,且其首先創作合於實用,確實符合新型之專利要件,懇請 貴審查委員明察,並早日賜予專利俾嘉惠社會,是為至禱。In summary, this case shows that its purpose, means and effects are all different from the known technology, and its creation is the first to be practical, which indeed meets the patent requirements of a new model. We sincerely ask the review committee to examine it carefully and grant a patent as soon as possible to benefit the society. This is our utmost prayer.

1:積體電路設計驗證系統 1: Integrated circuit design verification system

11:驗證平台 11: Verification platform

12:控制單元 12: Control unit

121:文件檢視單元 121: Document viewing unit

122:代碼文件產生單元 122: Code file generation unit

123:測試用例產生單元 123: Test case generation unit

124:RAL模型產生單元 124: RAL model generation unit

S1:獲取一寄存器描述文件 S1: Get a register description file

S2:在對該寄存器描述文件進行一內容檢視操作之後,依據該寄存器描述文件生成一寄存器驗證代碼文件 S2: After performing a content review operation on the register description file, a register verification code file is generated based on the register description file

S3:依據該寄存器描述文件將一測試用例模板文件調整成一測試用例文件 S3: Adjust a test case template file into a test case file based on the register description file

圖1為應用本創作之一種寄存器驗證代碼文件生成方法的一積體電路設計驗證系統的方塊圖;以及 圖2為本創作之一種寄存器驗證代碼文件生成方法的流程圖。 FIG1 is a block diagram of an integrated circuit design verification system using a register verification code file generation method of the present invention; and FIG2 is a flow chart of a register verification code file generation method of the present invention.

1:積體電路設計驗證系統 1: Integrated circuit design verification system

11:驗證平台 11: Verification platform

12:控制單元 12: Control unit

121:文件檢視單元 121: Document viewing unit

122:代碼文件產生單元 122: Code file generation unit

123:測試用例產生單元 123: Test case generation unit

124:RAL模型產生單元 124: RAL model generation unit

Claims (7)

一種積體電路設計驗證系統,其具有一驗證平台以及與該驗證平台耦接之一控制單元,該控制單元包含: 一文件檢視單元,用以對一寄存器描述文件進行一內容檢視操作以產生完成內容檢視的寄存器描述文件; 一代碼文件產生單元,與該文件檢視單元耦接,用以依該完成內容檢視的寄存器描述文件自動生成一寄存器驗證代碼文件; 一測試用例產生單元,與該文件檢視單元耦接,用以依該完成內容檢視的寄存器描述文件自動生成一測試用例文件;以及 一RAL(register abstraction layer;寄存器抽象層)模型產生單元,與該代碼文件產生單元耦接,用以自動地依該寄存器驗證代碼文件生成一RAL模型。 An integrated circuit design verification system has a verification platform and a control unit coupled to the verification platform, the control unit comprising: a file review unit for performing a content review operation on a register description file to generate a register description file that has completed the content review; a code file generation unit coupled to the file review unit for automatically generating a register verification code file according to the register description file that has completed the content review; a test case generation unit coupled to the file review unit for automatically generating a test case file according to the register description file that has completed the content review; and a RAL (register abstraction layer) model generation unit coupled to the code file generation unit for automatically generating a RAL model according to the register verification code file. 如請求項1所述之積體電路設計驗證系統,其中,該控制單元係將該RAL模型及該測試用例文件傳送至該驗證平台以在該驗證平台執行一電路模塊驗證操作。An integrated circuit design verification system as described in claim 1, wherein the control unit transmits the RAL model and the test case file to the verification platform to execute a circuit module verification operation on the verification platform. 如請求項1所述之積體電路設計驗證系統,其中,該寄存器描述文件係依複數個項目欄位記載複數個寄存器的基本參數,且該些項目欄位包含一識別詞欄位。The integrated circuit design verification system as described in claim 1, wherein the register description file records basic parameters of a plurality of registers according to a plurality of item fields, and the item fields include an identification word field. 如請求項3所述之積體電路設計驗證系統,其中,該控制單元係依該識別詞欄位之內容檢視所述寄存器的位元寬度、字節(byte)數、字(word)數以及域(field)位元範圍是否記載正確,從而產生一檢視紀錄。The integrated circuit design verification system as described in claim 3, wherein the control unit checks whether the bit width, byte number, word number and field bit range of the register are recorded correctly based on the content of the identification word field, thereby generating a review record. 如請求項4所述之積體電路設計驗證系統,其中,該檢視紀錄係用以記載該寄存器描述文件所含有的至少一錯誤信息。The integrated circuit design verification system as described in claim 4, wherein the review record is used to record at least one error message contained in the register description file. 如請求項1所述之積體電路設計驗證系統,其中,該寄存器驗證代碼文件的內容包括: 一寄存器代碼,用以定義複數個寄存器及其對應位元寬度; 一寄存器域代碼,用以定義複數個寄存器域及其對應功能; 一地址代碼,用以定義各所述寄存器的地址、存取屬性以及通用匯流排; 一寄存器模塊代碼,用以定義一包含複數個所述寄存器的寄存器模塊;以及 一儲存單元代碼,用以定義一儲存單元。 The integrated circuit design verification system as described in claim 1, wherein the content of the register verification code file includes: A register code for defining a plurality of registers and their corresponding bit widths; A register domain code for defining a plurality of register domains and their corresponding functions; An address code for defining the address, access attributes and common bus of each of the registers; A register module code for defining a register module including a plurality of the registers; and A storage unit code for defining a storage unit. 如請求項1所述之積體電路設計驗證系統,其中,該測試用例文件的內容包括:一測試序列代碼、一序列器代碼以及一通用匯流排驅動器代碼。The integrated circuit design verification system as described in claim 1, wherein the content of the test case file includes: a test sequence code, a sequencer code and a universal bus driver code.
TW113208119U 2022-12-26 2022-12-26 Integrated Circuit Design Verification System TWM662198U (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW113208119U TWM662198U (en) 2022-12-26 2022-12-26 Integrated Circuit Design Verification System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW113208119U TWM662198U (en) 2022-12-26 2022-12-26 Integrated Circuit Design Verification System

Publications (1)

Publication Number Publication Date
TWM662198U true TWM662198U (en) 2024-10-21

Family

ID=94036845

Family Applications (1)

Application Number Title Priority Date Filing Date
TW113208119U TWM662198U (en) 2022-12-26 2022-12-26 Integrated Circuit Design Verification System

Country Status (1)

Country Link
TW (1) TWM662198U (en)

Similar Documents

Publication Publication Date Title
US7178115B2 (en) Manufacturing method and apparatus to avoid prototype-hold in ASIC/SOC manufacturing
US8051402B2 (en) Method and apparatus for implementing communication between a software side and a hardware side of a test bench in a transaction-based acceleration verification system
JPH05167046A (en) Factory programmed device manufacturing system and manufacturing method
CN114327476A (en) Chip design file generation method and device and chip design method and device
CN110750949B (en) A Method for Simulating System-in-Package Dose Rate Effects Based on IBIS Model
US5745501A (en) Apparatus and method for generating integrated circuit test patterns
US20150269049A1 (en) Verification system and method for automated verification of register information for an electronic system
CN113536718B (en) Method and device for verifying correctness of gate-level simulation netlist file
CN116227398B (en) Method and system for automatically generating IP core test stimulus
CN109634600A (en) A kind of code generating method based on security extension SysML and AADL model
CN118536442A (en) DFT signal data processing method, DFT design method and verification method
CN114091383A (en) Test sequence generation method, device and system and related equipment
US7900174B2 (en) Method and system for characterizing an integrated circuit design
TWM662198U (en) Integrated Circuit Design Verification System
CN118363715B (en) Integration method and device of reference model, electronic equipment and storage medium
TW202427257A (en) Method for generating register verification code file and integrated circuit design verification system applied to an integrated circuit design verification system comprising a verification platform and a control unit
CN113255287A (en) OTP register verification method based on RAL
CN114398852B (en) A SOC development process optimization method
US20020004918A1 (en) Method for the preparation and execution of a self-test procedure and associated self-test generating method
CN114357919A (en) Feedback Convergence Method and Apparatus for Optimization of Excitation Constraint File
CN119862827B (en) Hardware verification method, device, electronic device and readable storage medium
CN116932412B (en) Sharing platform and method that can generate test stimulus files in different formats
JP2005222371A (en) Logic circuit functional verification system and method
CN119883374B (en) UVM register model address randomization method and device
Jimenez et al. Simulation environment to verify industrial communication circuits