999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SystemVerilog 的SRAM 控制器IP 核驗證*

2012-12-22 06:01:58周德新金志威趙學娟
電子器件 2012年5期
關鍵詞:功能方法設計

周德新 ,金志威,王 鵬,趙學娟

(1.中國民航大學航空自動化學院,天津300300;2.中國民航大學天津市民用航空器適航與維修重點實驗室,天津300300)

隨著芯片設計規模及復雜度的不斷增加,驗證工作在整個設計生命周期內占據著相當大的比重。傳統的驗證方法針對待驗證設計編寫直接測試激勵,采用定向的測試方式,查找設計中的漏洞。此種方法憑借其直觀且易于實現等優點被廣泛采用。然而對于復雜的、多功能的設計,采用傳統驗證方法很難編寫各種測試去覆蓋所有的特性并找出漏洞。因此能否對設計進行全面而有效的驗證,是驗證人員所面臨的主要問題[1]。

SystemVerilog 作為新一代的設計驗證語言,結合了現代的設計和驗證環境并將硬件描述語言(HDL)與高級驗證語言(HVL)結合在一起,為高度復雜的芯片設計提供了強大的設計和驗證保證[2]。SystemVerilog 支持約束隨機的產生、覆蓋率統計分析以及斷言驗證。其最突出的優點在于面向對象的編程結構,有助于采用事務級的驗證和提高驗證的重用性[3]。由于具有諸多優點,SystemVerilog 是被設計和驗證工程師廣泛使用的語言之一。

本文采用基于SystemVerilog 的驗證方法對SRAM 控制器IP 核進行功能驗證。通過分析覆蓋率數據并對比傳統的驗證方法,基于SystemVerilog 的驗證方法能夠更加快速且全面的完成對設計的驗證。

1 SRAM 控制器IP 核

本文的驗證載體為一段VHDL 編寫的SRAM控制器IP 核。其中SRAM 選用的是ISSI 公司的IS61WV102416BLL 高速異步16bit 靜態RAM 存儲器。SRAM 控制器IP 核的系統框圖如圖1 所示。

圖1 SRAM 控制器系統框圖

由圖可知,系統共分為4 個模塊,分別為PLL鎖相環模塊、輸入數據位轉換模塊、輸出數據位轉換模塊和SRAM 控制信號產生模塊。其中PLL 模塊主要用于生成雙倍于上層總線的時鐘,以便于對SRAM 地址和數據采樣。由于SRAM 的數據端口是16 bit,與上層數據位數不匹配,因此在進行讀寫操作時,需要通過輸入和輸出數據位轉換模塊對讀寫數據進行位數轉換。SRAM 控制信號產生模塊通過接收復位信號(RST)、讀寫控制信號(WR_RD)、周期構成信號(FRAME_N)和地址信號(ADDR_in),生成SRAM 的控制、地址和數據信號。

下面根據SRAM 控制器IP 核的設計需求,使用偽代碼的形式列出各功能項。此種描述方法與文字描述相比能夠更加簡單明了地表達出各項內容,有助于設計人員與驗證人員的交互。其中低有效信號以!SIGNAL#出現時有效,以SIGNAL#出現時無效。<-符號左邊為結果,右邊為條件。

1.All State==one-hot coding

2.(!SRAM_CE_N#* !SRAM_WE_N#)<-[!SRAM_CE_N#* !SRAM_WE_N#* (cmd=write)]

3.(!SRAM_CE_N#* !SRAM_OE_N* !SRAM_WE_N#)<-[!SRAM_CE_N#* SRAM_WE_N#* (cmd=read)]

4.SRAM_ADDR* SRAM_DQ delay 1 clock(cmd=write)

5.DATA_out delay 2 clock(cmd=read)

2 基于SystemVerilog 的驗證方法

基于SystemVerilog 的驗證環境如圖2 所示[4]。此驗證環境通過約束隨機測試平臺對待測設計加載隨機輸入激勵,使用驗證工具分析,獲取代碼覆蓋率數據。同時使用SVA 對待測設計進行監控,通過仿真獲得功能覆蓋率數據。

圖2 基于SystemVerilog 的驗證環境

2.1 約束隨機測試平臺

由于設計復雜度的不斷提高,待測設計的功能也越來越多,這樣在使用直接測試方法編寫測試激勵時很難覆蓋到所有的功能。而隨機測試可以比傳統的直接測試更有效,通過指定約束條件,在特定區域內隨機產生輸入激勵,大大增加了測試的覆蓋范圍。圖3 顯示了兩種測試方法隨時間的進度比較,由圖可知,雖然隨機測試在驗證前期耗費時間較長,而隨著驗證工作的深入,可大幅度減少驗證時間[5]。

圖3 約束隨機測試與定向測試隨時間的進度比較

使用SystemVerilog 編寫測試平臺時可先定義一個帶有隨機變量和約束的類,然后對該類進行調用。在類中可把變量的類型聲明為rand 或randc 類型并可對其添加約束條件[6]。下列是一段產生隨機數據和地址的測試代碼,其中地址變量的值大于8 且小于16。

class add_data

rand logic signed[7:0]addr;

randc logic signed[31:0]data;

constraint d {addr>8;

addr<16;}

endclass

2.2 SVA 斷言

在當今流行的驗證技術中,基于斷言的驗證ABV(Assertion Based Verification)憑借著其在更短的時間內找到設計中存在的功能缺陷的優點,迅速成為了驗證流程中的關鍵與必要的手段[7]。在驗證環境中增加斷言來加強驗證環境的能力。

作為SystemVerilog 的重要組成部分,SVA(SystemVerilog Assertion)是一種描述性語言,可以完美地描述和控制時序相關的問題,而且語言本身簡潔易讀容易維護,使得設計人員和驗證人員可以快速地對復雜設計的驗證行為進行定義,是使用最廣泛的驗證方法之一。SVA 提供了若干個內嵌函數來測試特定的設計情況,并且提供了一些構造來自動收集功能覆蓋數據。通過分析功能覆蓋數據,可以分析出待測設計在功能上還有哪些缺陷[8]。

以SRAM 控制器IP 核的第2 條功能項為例,使用SVA 對此功能點進行監控,如下所示。

sequence sram_write;

($fell(FRAME_N)&&(!WR_RD));

endsequence

property p_write;

@(posedge CLK_66M)sram_write|=>(!SRAM_CE_N &&!SRAM_WE_N);

endproperty

a_write:assert property(p_write);

c_write:cover property(p_write);

2.3 覆蓋率

覆蓋率可分為代碼覆蓋率和功能覆蓋率兩種。代碼覆蓋用來檢查設計中的哪些代碼在驗證期間被執行過。常見的代碼覆蓋有語句覆蓋、分支覆蓋和表達式覆蓋等。100%的代碼覆蓋率只能說明驗證過程中執行了所有的源代碼,卻不能說明驗證的正確性和完整性[9]。計算代碼覆蓋率的公式為

式中,H(Hit)是擊中覆蓋點;A(Active)是有效覆蓋點。

功能覆蓋是對代碼覆蓋的補充。功能覆蓋用來衡量驗證對象是否實現了設計者所期望的功能。功能覆蓋中的覆蓋點由驗證者指定,需要更高的抽象級,即需要編寫覆蓋率模型。SystemVerilog 語言的結構化,易于構建功能覆蓋率模型,并且可以被SystemVerilog 仿真工具有效地執行。在SystemVerilog語言中,功能驗證主要包括兩種手段:Cover Property和Covergroup。Cover Property 適用于在設計中采樣基于時鐘信號的數據。一般用在Block 中的低層次功能覆蓋和在接口中的較高層次覆蓋。Covergroup可以用在Module、Program、Interface 和Class 中[10]。計算功能覆蓋率的公式為

式中,M(Match)是屬性成功的次數;A(Attempts)是屬性被嘗試檢驗的次數。

3 驗證結果

通過對SRAM 控制器IP 核搭建基于System-Verilog 的驗證環境,并在QuestaSim 10.0 驗證工具上實現,獲取代碼覆蓋率和功能覆蓋率數據

表1 列出了使用傳統驗證方法和基于System-Verilog 的驗證方法獲取的代碼覆蓋率數據。從表中各類數據可以看出,基于SystemVerilog 的驗證方法能夠明顯的提高各覆蓋率,提升驗證質量。

圖4 所示為工具仿真50 μs 后的Cover Directives窗口顯示的覆蓋率數據。圖中,Count 列表示斷言在仿真時間內被激活的次數,Cmplt%和Cmplt graph 列分別表示斷言指令的覆蓋率和覆蓋率的圖形化顯示。由圖可知,各功能均被實現,且覆蓋率達到100%。此種通過SVA 斷言技術的方法在功能驗證上比傳統分析波形的方法更加直觀且節省時間。

表1 覆蓋率數據比較

圖4 功能覆蓋率

4 結論

本文介紹了基于SystemVerilog 語言的驗證方法,并使用此方法對SRAM 控制器IP 核進行驗證。通過對比分析代碼覆蓋率數據,可以看出了基于SystemVerilog 的驗證方法比傳統的驗證方法驗證質量更高,并結合SVA 斷言對設計進行監控,可直觀快速的發現設計中的缺陷,提高驗證效率。

[1] Janick Bergeron,Eduard Cerny,Alan Hunter,et al. Verification Methodology Manual for SystemVerilog[M].Springer,2005.

[2] Stuart Sutherland,Simon Davidmann,Peter Flake. SystemVerilog for Design[M].Springer,2006.

[3] Mike Mintz,Robert Ekendahl. Hardware Verification with System-Verilog[M].Springer,2007.

[4] Srikanth Vijayaraghavan,Meyyappan Ramanathan,A Practical Guide for SystemVerilog Assertions[M].Springer,2005.

[5] Chris Spear.System Verilog for Verification[M].Springer,2006.

[6] Sasan Iman.Step-by-Step Functional Verification with SystemVerilog and OVM[M].Springer,2008.

[7] Eduard Cerny,Surrendra Dudani,John Havlicek,et al. The Power of Assertions in SystemVerilog[M].Springer,2010.

[8] SystemVerilog 3.1a Language Reference Manual. Accellera’s Extensions to Verilog[M].Accellera,Napa,California,2004.

[9] Janick Bergeron. Writing Testbenches Using SystemVerilog[M].Synopsys,Inc,2006.

[10] Andrew Piziali.Functional Verificational Coverage Measurement and Analysis[M].Netherlands:Kluwer Acadamic Publishers,2004.

猜你喜歡
功能方法設計
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
關于非首都功能疏解的幾點思考
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
中西醫結合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
主站蜘蛛池模板: 国产情精品嫩草影院88av| 免费国产不卡午夜福在线观看| 午夜毛片免费看| 欧美一级高清片欧美国产欧美| 中文精品久久久久国产网址| 国产成人精品亚洲日本对白优播| 亚洲中久无码永久在线观看软件| 亚洲大学生视频在线播放| 国产色偷丝袜婷婷无码麻豆制服| 91青青草视频在线观看的| 国产成人精品男人的天堂| 精品国产黑色丝袜高跟鞋| 91探花在线观看国产最新| 91午夜福利在线观看| 亚洲一区二区在线无码| 亚洲国产日韩在线观看| 国产高潮视频在线观看| a亚洲视频| 国产成人精彩在线视频50| 无码国产偷倩在线播放老年人| 人人看人人鲁狠狠高清| 午夜欧美在线| 久久夜色精品| 国产成人精品综合| 亚洲天堂精品在线| 欧美日韩第三页| 成人欧美日韩| 91精品福利自产拍在线观看| www.youjizz.com久久| 无码电影在线观看| 91精品久久久久久无码人妻| 久久天天躁狠狠躁夜夜躁| 亚洲国产av无码综合原创国产| 狼友视频一区二区三区| 日韩欧美中文亚洲高清在线| 中文字幕人成人乱码亚洲电影| 国产麻豆va精品视频| 凹凸精品免费精品视频| 98精品全国免费观看视频| 99热最新在线| 国产凹凸视频在线观看| 国产剧情一区二区| 不卡午夜视频| 亚州AV秘 一区二区三区| 激情乱人伦| 久久精品电影| 亚洲无码高清视频在线观看| 成人午夜视频在线| 久久美女精品国产精品亚洲| 婷婷色狠狠干| 中文成人在线视频| 国产一在线观看| 国产97视频在线观看| 亚洲免费三区| 精品福利一区二区免费视频| 中文字幕欧美日韩高清| 欧美一级在线看| 国产在线97| 美女无遮挡免费视频网站| 国产成在线观看免费视频| 亚洲性影院| 欧美一级在线| 亚洲精品无码AV电影在线播放| 亚洲欧美日韩成人在线| 国产精品久久精品| 日韩一二三区视频精品| 国产AV毛片| 国产精品无码AV中文| 欧美亚洲日韩中文| 无码视频国产精品一区二区| 高清无码手机在线观看| 亚洲第一视频网站| 国产精品极品美女自在线看免费一区二区| 日韩一级二级三级| 国产电话自拍伊人| 欧美一级特黄aaaaaa在线看片| 特级做a爰片毛片免费69| 青青草原国产免费av观看| 中日无码在线观看| 视频二区亚洲精品| 91美女视频在线| 久热re国产手机在线观看|