[發明專利]一種基于UVM的RFID標簽芯片驗證裝置在審
| 申請號: | 202010935322.0 | 申請日: | 2020-09-10 |
| 公開(公告)號: | CN112069074A | 公開(公告)日: | 2020-12-11 |
| 發明(設計)人: | 孫曉霞;張建偉 | 申請(專利權)人: | 上海明矽微電子有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 201306 上海市浦東*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 uvm rfid 標簽 芯片 驗證 裝置 | ||
1.一種基于UVM的RFID標簽芯片驗證裝置,其特征在于:靜態組件包括調用run_test()方法、虛擬接口模塊、時鐘生成模塊、RFID標簽的DUT模塊和EEPROM存儲器模塊;動態組件包括base_test模塊、my_case模塊、環境(ENV)模塊、CONFIGURATION模塊、代理器(agent)模塊、結果比較(scoreboard)模塊、參考模型(reference)模塊、驅動器(driver)模塊和輸入監測(monitor模塊。
所述靜態組件包括調用run_test()方法、虛擬接口模塊、時鐘生成模塊、RFID標簽的DUT和EEPROM存儲器模塊。
所述初始塊中調用run_test()方法,是整個驗證裝置的入口。它是uvm_root中的函數。運行仿真命令時,通過UVM_TESTNAME=“test_name”來執行該測試用例。本發明中,使用統一的測試用例名字my_case,每一個不同的測試用例文件夾中產生同樣的文件my_case.sv。每次運行測試環境時,把每一個不同的測試用例拷貝到固定目錄下,就可以用同一套測試腳本來運行測試裝置了。
所述虛擬接口模塊包含DUT與驗證裝置連接的所有信號。包括解調數據、調制數據、解調使能,調制使能、時鐘、復位等信號。由于靜態組件和動態組件之間不能直接通信,因此需要虛擬接口模塊來實現測試裝置(動態組件)與DUT(靜態組件)的通信。它相對各個模塊是獨立的,因此降低了模塊接口頻繁改動帶給它的影響。
所述時鐘生成模塊用于生成RFID系統中所用的一系列時鐘信號,并連接到虛擬接口模塊中。靜態模塊中的DUT、動態模塊的驅動器和輸入監控模塊都通過虛擬時鐘模塊與時鐘信號相連。
所述RFID標簽的DUT就是標簽設計模塊,為驗證模塊待測模塊。本發明中,DUT的所有輸入和輸出信號都連接至虛擬接口模塊中,通過虛擬接口模塊,再將DUT的輸入解調信號與驅動器(driver)的輸出信號相連,DUT的輸出調制信號與輸入監測(monitor)模塊相連。
所述EEPROM模塊,存儲各類DUT上電時需要得到的配置信息、下電時需要記錄的信息以及在讀寫命令中的數據操作。該EEPROM模塊模擬實際EEPROM的擦寫和讀行為,與DUT進行數據交互。
所述動態組件是驗證系統的關鍵組成部分,包括base_test模塊、my_case模塊、ENV模塊、CONFIGURATION模塊、agent模塊、scoreboard模塊、reference模塊、driver模塊和monitor模塊。
所述base_test模塊派生自uvm_test。被靜態組件run_test調用。它包含了ENV和CONFIGURATION模塊。同時用uvm_config_db的配置方式把CONFIGURATION模塊中的所有配置參數傳入至agent中。
所述my_case模塊派生自base_test。而所述base_test模塊派生自uvm_test,因此UVM平臺驗證中,所有test cases都是派生自uvm_test。在該測試用例中,產生成幀所需的事務類Transaction,比如載波數目、發送命令、寫數據等等。在該測試用例my_case中,通過實例化ENV來實現對所有組件的實例化,因此事務類Transaction會同步發送給reference模塊、driver模塊和monitor模塊。
所述CONFIGURATION是一個基類。它包含了RFID標簽設計中需要的所有固化參數,不需要隨機化。可以被ENV中所有的組件調用。該模塊主要是為了增加驗證裝置代碼的可讀性和易修改性。
所述ENV模塊派生自uvm_env,它定義了所有的組件。通過對ENV的實例化,就實現了對所有組件的實例化。本驗證裝置中,ENV實例化的組件包括參考模型(reference),代理(agent)模塊和結果比較模塊(scoreboard),其中代理(agent)模塊又包含了驅動器、輸入監控模塊和序列發生器(Sequencer)。ENV模塊也描述了各個組件之間的連接關系:代理(agent)模塊中輸入監測模塊的輸出數組連接到結果比較模塊(scoreboard)中;參考模型(reference)的輸出數組連接到結果比較模塊(scoreboard)中;代理(agent)模塊中驅動器模塊的事務類相連到參考模型(reference)中。
所述agent模塊,包含了驅動器(driver)、輸入監控模塊(monitor)和序列發生器(Sequencer)。agent模塊包含了所有同一類協議的模塊,目的是提供一個驗證組件,允許用戶生成驅動(driver)和監控DUT事務(monitor)。同時,驅動器模塊把事務類連到輸入監控模塊(monitor)中。
所述agent模塊的序列發生器(Sequencer),在序列和驅動器之間通信起到橋梁的作用。在收到驅動器(driver)的請求后,序列發生器會把測試用例中的事務類(Transaction)傳送給驅動器(driver)。
所述驅動器(driver)模塊,是將序列發生器(Sequencer)發送過來的抽象事務類轉換成實際激勵。驅動器模塊產生的信號模擬解調信號,根據事務類產生具體的幀格式。所述驅動器(driver)模塊功能包含產生幀頭(sof)、產生幀內容(payload)、CRC16校驗、隨機數讀取、數據加密、產生幀尾(eof)和錯誤格式的注入。本發明中,驅動器(driver)模塊的CRC校驗和加密模塊,是通過DPI方式直接調用C++函數產生。
所述輸入監控模塊(monitor),是監測虛擬接口中與RFID待測標簽相連的調制信號。本發明中,事務類中包含調制方式的參數,通過解調信號傳送至標簽待測DUT。輸入監控模塊(monitor)將待測標簽DUT的調制信號還原成數據包,檢測CRC16無誤后將該數據包發送給scoreborad模塊。
所述參考模型(reference),是根據測試用例所產生的事務類,模擬待測標簽DUT的行為模型。本發明中,標簽的行為模型是按照協議產生三種響應:無響應、成功響應或者失敗響應。本發明中,無響應是指調制信號沒有01跳變,因此用8比特全1的方式代替存放至scoreboard中;本發明中,成功響應是指對協議命令的正確回復,同時可能陪伴著對EEPROM的讀寫操作;本發明中,失敗響應是指所發解調信號有錯誤注入或者命令格式不支持。這三種響應回復都以數據包形式輸送到scoreboard模塊,用與跟monitor產生的數據包作對比。
所述結果比較(scoreboard)模塊是比較結果的模塊。比較輸入監測monitor模塊的輸出數據與參考模型(reference)是否相符。如果結果一致,則通知驅動器發送下一筆事務類(Transaction);如果比較失敗,就報告UVM_ERROR,停止驗證流程。
2.一種基于UVM的RFID標簽芯片驗證裝置,包括以下步驟:
1)按圖表1所示,建立驗證裝置。初始化驗證裝置,產生系統時鐘信號。
2)在驅動器中發送復位信號來復位驗證裝置和待測DUT。
3)驅動器向序列發生器(sequencer)發送獲得事務類的請求,序列發生器從測試實例中獲得事務類并發送至驅動器。再通過驗證裝置,將該事務類發送至參考模型和輸入監測模塊。
4)驅動器根據事務類產生幀信號,并將該信號發送至虛接口;同時發送指示信號至輸入監測模塊。
5)當DUT成功接收到驅動器所發幀信號,并按協議要求發送正確響應回復。輸入監測模塊收到驅動器發送的指示信號后,啟動搜索調制信號。輸入監測模塊在協議規定時間內,根據事務類中的配置,成功搜索到調制信號后,把收到的數據包通過接口傳送至結果比較模塊。
6)參考模型模塊從驅動器中得到事務類,根據事務參數配置,得到標簽RFID應該給出的預期響應,并把該響應值傳送至結果比較模塊。
7)結果比較模塊比較輸入監控模塊和參考模型的兩個數組,假如結果一致,則通知驅動器發送下一個請求到序列發生器,獲取新的事務類;假如結果不一致,則報錯,停止仿真。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海明矽微電子有限公司,未經上海明矽微電子有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010935322.0/1.html,轉載請聲明來源鉆瓜專利網。





