《電子技術應用》
您所在的位置:首頁 > 微波|射頻 > 設計應用 > 基于覆蓋率驅動的高頻RFID芯片驗證平臺設計
基于覆蓋率驅動的高頻RFID芯片驗證平臺設計
2016年電子技術應用第4期
王國軍,景為平
南通大學 江蘇省專用集成電路設計重點實驗室,江蘇 南通226019
摘要: 提出了一種采用覆蓋率驅動激勵產生算法的驗證技術,設計了一套完整的驗證平臺,成功地驗證了一款高頻RFID(射頻識別技術)芯片。該技術的核心思想是在驗證過程中,通過分析功能覆蓋率和代碼覆蓋率,得出未覆蓋的邊界條件,進而修改激勵產生的約束條件,產生測試激勵,驗證邊界條件,以有效地提高驗證覆蓋率。現該驗證平臺所驗證的芯片已經成功流片,且測試性能優異。
中圖分類號: TN492
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.04.008
中文引用格式: 王國軍,景為平. 基于覆蓋率驅動的高頻RFID芯片驗證平臺設計[J].電子技術應用,2016,42(4):28-30,34.
英文引用格式: Wang Guojun,Jing Weiping. Design of verification platform for high frequency RFID chip based on coverage-driven[J].Application of Electronic Technique,2016,42(4):28-30,34.
Design of verification platform for high frequency RFID chip based on coverage-driven
Wang Guojun,Jing Weiping
Jiangsu Key Laboratory of ASIC Design,Nantong University,Nantong 226019,China
Abstract: This paper presents a verification technology based on coverage-driven stimulus generation algorithm. A completed verification platform is given, and applied to a high frequency RFID(Radio Frequency Identification) chip successfully. The main idea of this technology is obtaining the boundary conditions and modifying the constraint of stimulus generation by analyzing function coverage and code coverage, and then using the new stimulus to verify the boundary conditions. So the coverage is up. After taping out, the verified chip by this verification platform was be tested. The test shows that all function are correct and performance is excellent.
Key words : coverage-driven;verification technology;stimulus generation algorithm

0 引言

    隨著芯片設計復雜度的不斷提升,驗證工作占據了越來越多的開發時間。為了能夠盡快將產品推向市場,有效的驗證方法就顯得越來越重要。所謂有效的驗證方法,即能夠在較短的時間內,利用精確的測試激勵,盡可能驗證芯片的正確性和發現設計中深層次的設計缺陷。所以如何產生精確高效的測試激勵就成為了驗證工作當中的關鍵挑戰[1]

1 覆蓋率驅動激勵產生算法的驗證技術

    根據測試激勵產生的方法,可以將測試激勵分為定向測試激勵和隨機測試激勵。定向測試激勵是驗證工程師針對被測設計(Design Under Test,DUT)期望驗證的功能點進行人工編寫的激勵,這種方法直接、準確,但是對于較大規模的設計來說,工程師很難發現所有的邊界條件。而隨機測試激勵可以容易地產生大量的測試激勵,且可以擊中一些工程師很難發現的邊界條件,但是隨機測試激勵容易產生測試激勵冗余,這造成了大量的驗證資源浪費[2]。隨著驗證技術的發展,受約束的隨機激勵越來越受驗證工程師親睞。目前,各大EDA公司的仿真器基本均支持約束求解器。驗證工程師根據需求編寫約束,約束求解器將會對驗證工程師所做的約束進行求解,然后產生滿足約束的隨機激勵。

    本文使用VMM(Verification Methodology Manual)驗證方法學,設計了一個含激勵產生算法的驗證平臺。該激勵產生算法以覆蓋率為導向,在驗證過程中,通過對覆蓋率的分析,發現未驗證的邊界條件,及時調整激勵的產生,以獲得更為滿意的覆蓋率。

2 DUT說明

    該驗證平臺的DUT為一款滿足國際標準ISO/IEC-15693協議的高頻RFID芯片,該芯片包含模擬電路、存儲器、數字電路3個部分。其中,模擬電路負責射頻信號的解調、調制以及提供芯片工作的時鐘和電源。存儲器負責存儲芯片信息。數字電路負責芯片的編解碼、邏輯控制以及與存儲器交互數據。該驗證平臺將主要對數字電路部分的功能進行仿真驗證。

    支持ISO/IEC-15693協議的閱讀器(Vicinity Coupling Device,VCD)和標簽芯片(Vicinity Card,VICC)的通信采用命令幀交互。表1為VCD到VICC的請求命令幀格式,幀格式包括幀頭SOF(Start of Frame),請求標志(Flag),命令碼(Command),若干參數(Parameter)與數據(Data),CRC(Cyclic Redundancy Check)校驗,最后是幀尾EOF(End of Frame)。根據每條命令的不同,幀格式中的參數和數據也不同。VICC到VCD的響應幀格式比請求幀格式中少了命令碼,其余部分格式相同[3]

wdz2-b1.gif

3 驗證平臺

    針對DUT,采用VMM驗證方法學的層次化思想[4],設計出該驗證平臺的整體架構。同時,在該驗證平臺中使用了本文所提出的以覆蓋率驅動激勵產生算法的驗證技術,并將驗證平臺應用于一款高頻RFID芯片驗證,通過驗證結果,檢驗該驗證技術的可行性和優越性。本文著重介紹該驗證平臺的激勵產生算法和覆蓋率分析方法。

3.1 激勵產生算法

    對于測試激勵的產生,該驗證平臺設計了一套激勵產生算法。該算法依據覆蓋率統計分析,對激勵的產生做出決策,即通過對覆蓋率報告分析,算法決策出下一步該如何產生測試激勵。該算法中含有一個序列個數計數器,用來計數一輪測試中激勵的序列個數。對于單命令測試,序列個數初始值為1,當進行多命令場景測試時,就需要一連串的測試激勵產生,這時候序列個數初始值將會大于1。

    算法的流程圖如圖1所示。驗證平臺啟動復位后,激勵產生器通過編寫的隨機激勵約束,產生測試激勵,隨后檢查產生的測試激勵是否為期望的有效測試激勵,如果不是,則重新產生,否則將測試激勵送給事務處理器,由事務處理器將測試激勵建模為事務級的命令幀,隨后序列個數減去1。當序列個數不小于1時,說明為場景測試,還需要繼續產生激勵,于是激勵產生器將會繼續產生測試激勵,并送給事務處理器建模。否則檢驗器將會做響應檢查,一旦發現錯誤,驗證平臺將會記錄激勵,并Dump出波形,產生Bug日志文件,待設計人員修復Bug后重新驗證。如果檢驗器檢驗正確無誤,驗證平臺將會自動收集驗證結果,形成驗證日志文件,并收集覆蓋率,產生覆蓋率報告。驗證人員分析覆蓋率,如果覆蓋率沒有滿足要求,則根據報告中未覆蓋的邊界條件,修改激勵約束,以增加測試用例,并繼續驗證,直到得到滿意的覆蓋率,驗證結束。

wdz2-t1.gif

3.2 覆蓋率分析

    由于本驗證平臺采用完全黑盒的驗證方法,只能對DUT系統的頂層信號,即芯片唯一的響應信號進行驗證,所以此處引入斷言覆蓋率分析的意義不大。因此該驗證平臺著重對功能覆蓋率和代碼覆蓋率進行了分析。通過對二者的分析,可以有效地檢驗測試激勵是否完備,以及功能設計是否完善,以此來判斷是否需要增加新的測試激勵,以及如何產生新的激勵。

3.2.1 功能覆蓋率分析

    功能覆蓋率是驗證工程師從設計意圖的角度來衡量驗證的完備性,所以也被稱為規范覆蓋率,它可以檢測到設計中存在的缺陷[5]。因而在收集功能覆蓋率時,通過對驗證的測試點進行分析,羅列功能點,編寫功能覆蓋組以及功能覆蓋點,如命令幀中的Flag、Command、Parameter等都需要編寫覆蓋組。此處以Command為例,在該DUT中,除了測試命令外,共有25條有效命令,所以該驗證平臺為這25條命令分別設置了25個倉(bins),所有測試命令歸為一個倉,其余所有的非法命令歸為一個倉,這樣就總共就為Command建立了27個倉。功能覆蓋代碼編寫如下[4]

    covergroup covport;

            coverpoint dri.Command{

                bins Inventory={8’h01};

    bins Stay_quiet={8’h02};

    bins Rd_sgl_blk={8’h20};

    bins Wt_sgl_blk={8’h21};

    bins Lock_blk={8’h22};

    ……

    bins Error_cmd=default;

        }

    endgroup

    在驗證收集覆蓋率后,可以在覆蓋率報告中查看倉分組情況和倉命中情況,如圖2所示。當Command的每個倉都被命中時,就說明對于Command的覆蓋達到了100%,該測試點得到了完善的測試。如果有未被覆蓋的倉,則通過修改約束,增加測試用例,最終使得功能覆蓋率達到100%。

wdz2-t2.gif

    其余的功能點也通過同樣的方式進行覆蓋分析,不斷完善,最終得到了如圖3所示的功能覆蓋率報告,從圖中可以看出,總功能覆蓋率達到了100%,符合預期效果。這說明設計期望的功能點均被驗證覆蓋到,且功能設計正確。

wdz2-t3.gif

3.2.2 代碼覆蓋率分析

    代碼覆蓋率是驗證工程師從設計代碼的角度來衡量設計被驗證的充分性。代碼覆蓋率的收集不需要特殊的程序編寫,只需要對仿真器參數做必要的設置即可。通過對代碼覆蓋率的分析,可以有效地判斷設計中還有哪些沒有被驗證到,以此來增加測試激勵,充分驗證設計。圖4為代碼覆蓋率報告,從報告中可以清楚地看到各種覆蓋率以及總代碼覆蓋率的覆蓋情況。

wdz2-t4.gif

    覆蓋率報告中塊(block)覆蓋率包含了語句(statement)覆蓋率和分支(branch)覆蓋率。其中語句覆蓋率指的是設計代碼語句被執行過占總代碼語句數的比例。分支覆蓋率體現的是if、case等布爾表達式是否在真和假的情況下各執行一次。所以當塊覆蓋率為100%時,說明所有的設計代碼都被執行過了。如果沒有達到100%,則可以通過覆蓋率報告,查看哪些代碼語句或者哪些分支情況沒有被執行過,以此來完善測試激勵,驗證邊界條件。上圖報告中塊覆蓋率為98%,接近100%。

    表達式(expression)覆蓋率用來檢查布爾表達式驗證的充分性。如if(chk_lock_en || easardmode_en)判斷條件中,兩個變量為真和假均被執行過,這樣它的覆蓋率就為100%。在報告中,可以看到表達式覆蓋率較其他幾項偏低,因為有許多情況在芯片的工作當中根本無法遇到,所以表達式覆蓋率很難進一步提高,但是對于芯片設計的功能來說,已經完全得到驗證。

    翻轉(toggle)覆蓋率指的是設計中的寄存器0和1的跳變情況,只有雙向均做了跳變,覆蓋率才達到100%。從報告中可以看出,翻轉覆蓋率也達到了較高的水平。

    狀態機(fsm)覆蓋率用于統計在驗證過程中狀態機發生了哪些跳轉,這種分析可以防止某些狀態在整個驗證過程中從未發生跳轉,從而造成設計隱患。從報告中可以看出,狀態機覆蓋率為100%,狀態機得到了充分驗證。

    在實際驗證過程中,通過以上分析方法,不斷調整激勵約束,直到最終代碼覆蓋率達到了96%,滿足預期效果。

3.3 驗證平臺最終驗證結果

    依據激勵產生算法,通過對功能覆蓋率和代碼覆蓋率的結合分析,不斷修改激勵產生約束,最終在較短的時間內,獲得了滿意的功能覆蓋率和代碼覆蓋率。現該驗證平臺所驗證的芯片已經成功流片,在對流片后的芯片測試中,芯片的各項功能正確,且性能優異,完全能夠滿足市場應用的要求。

4 結論

    通過采用VMM驗證方法學,以覆蓋率驅動激勵產生算法的驗證平臺與傳統驗證平臺相比,具備更高的層次化。同時,本文所提出的驗證技術為準確判定驗證的完備性提供了一個有效的衡量標準。所以,驗證平臺采用的驗證技術可以大幅度提高驗證工作的效率和質量,為芯片的一次流片成功率提供了有力的保障。同時該驗證技術也可以為其它工程項目的驗證提供很好的借鑒意義。

參考文獻

[1] Janick Bergeron,Eduard Cerny,Alan Hunter,et al.Verification methodology manual for system verilog[M].北京:北京航空航空大學出版社,2007:1-3.

[2] 鐘文楓.SystemVerilog與功能驗證[M].北京:機械工業出版社,2010(8):118-119.

[3] Identification cards-Contactless integrated circuit cards-Vicinity cards-Part 3:Anti-collision and transmission protocol[S].ISO/IEC 15693-3,2000-03-10.

[4] VMM Standard Library User Guide, version D-2009.12,December 2009.

[5] 克里斯·斯皮爾.System Verilog驗證測試平臺編寫指南[M].北京:科學出版社,2009:248-250.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美综合区自拍亚洲综合 | 日韩视频区 | 欧美疯狂xxxx乱大交视频 | 国产中文在线 | 欧美韩国日本在线 | 亚洲专区区免费 | 午夜视频在线 | 五月丁色 | 91在线免费视频 | 成人在线精品 | 亚洲视频在线免费播放 | 亚洲精品第一综合99久久 | 在线国产网站 | 国内精品 大秀视频 日韩精品 | 亚洲成人免费观看 | 全部免费国产潢色一级 | 26uuu欧美日本 | 国产高清在线视频一区二区三区 | 香蕉视频免费网站 | 99精品国产兔费观看久久99 | 黄黄的网站在线观看 | 国产成人精品综合网站 | 国产1024精品视频专区免费 | 免费毛片大全 | 日日操日日舔 | 人人人人凹人人爽人人澡 | 国产成人一区二区三区影院免费 | 日本大片成人免费网址 | 免费人成网址在线观看国内 | 在线播放黄色片 | 成人午夜免费视频毛片 | 亚洲麻豆国产精品 | 23部禽女乱小说内裤畸情 | 亚洲美女激情 | 免费a视频在线观看 | 二级毛片免费观看全程 | 欧美成人hd| 国产福利在线观看 | 亚洲性视频网站 | 在线播放交视频 | chinese老妇videos|