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

基于覆蓋率模型的AMBA接口隨機驗證方法

2008-12-31 00:00:00
計算機應用研究 2008年7期

摘 要:AMBA協議是主流SoC(system-on-chip)片上總線的事實標準。結合龍芯1號AHB接口的驗證,介紹了基于覆蓋率模型的AMBA接口隨機驗證的系統架構,提出了AHB協議模型的定義方法,采用約束化隨機向量對目標空間產生強化測試。該方法迅速定位了接口設計中隱蔽的問題,最終達到了100%的功能覆蓋率。該方法能夠有效地保證接口設計的質量,對互連協議的驗證具有普適意義。

關鍵詞:覆蓋率模型; 約束化隨機測試; AMBA AHB; 龍芯1號IP核; 片上系統; 設計重用

中圖分類號:TP336 文獻標志碼:A

文章編號:1001-3695(2008)07-2078-03

Coverage model-based random verification methodology of AMBA interface

XU Tonga,b,LV Taob,c

(a.Microprocessor Center, Institute of Computing Technology, b.Graduate School, c.Key Laboratory of Computer System Architecture, Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China)

Abstract:AMBA protocol was the de-facto standard for on-chip bus for mainstream SoC.With Godson-1 AHB interface as prototype, the coverage model-based random system infrastructure on AMBA interface verification was presented, the definition method of AHB protocol model was issued and constrained random vectors were used to intensify the object space test. Via this method several hidden bugs were efficiently discovered and 100% functional coverage was reached. The method can efficiently guarantee the quality of interface design and has broad applicability on interconnection protocol verification.

Key words:coverage model; constrained random verification; AMBA AHB; Godson-1 IP core; system-on-chip; design reuse

隨著SoC設計越來越復雜,可設計重用的IP核成為保證SoC設計質量和進度的重要手段。在主流SoC集成IP模塊的過程中,30%~40%的集成工作量花費在各個IP核的互連驗證上。采用通用的片上通信標準,保證IP核接口與片上通信協議的兼容性是SoC設計重用方法學解決SoC集成難題的有效手段[1]。IP接口的主流協議兼容性是衡量IP核可用性的重要標準,這對IP接口的設計和驗證提出了挑戰。

面對不同應用,業界存在多種片上互連的標準[2],主要有基于交換的AMBA AXI[3]、OCP [4]和基于總線的AMBA AHB/APB[5]、CoreConnect、wishbone等。共享總線結構簡單而且性能優越,目前仍為大部分SoC片上互連方案采用。其中AMBA總線是主流片上總線的事實標準,幾乎所有的商業IP都提供該接口。研究AMBA互連接口的驗證方法,對于開發可用的IP核接口,具有非常現實的意義。

龍芯1號IP核是一款以單發射結構、動態流水線、AMBA接口為特征的32 bitRSIC處理器核,面向嵌入式SoC應用。龍芯1號處理器IP提供AHB總線主(AHB master)接口。本文將以龍芯1號AHB接口為原型,介紹AMBA AHB接口的普適性驗證方法。

1 AMBA AHB協議及總線驗證方法

AMBA AHB總線用于SoC中如CPU、DMA和DSP等高性能設備的連接。在0.18 μm工藝下,總線工作頻率通常可以達到100 MHz以上。協議主要有以下特征:

a)非三態總線,同一時刻只有一對總線主從設備之間的傳輸;

b)多總線主(master),單周期總線控制權移交;

c)支持突發傳輸,分段傳輸/重傳(split/retry);

d)32~128 bit總線,單時鐘沿同步操作;

e)支持定長和非定長傳輸;

f)數據與地址分離,讀地址和寫地址分離;

g)支持字節、半字和字傳輸;

h)支持流控機制,支持提前結束(early terminal);

i)支持背靠背傳輸;

j)支持仲裁、REQ、GNT 和LOCK等握手機制。

為了達到較高的吞吐率,AHB協議支持的傳輸比較復雜。多種傳輸模式、多總線主支持、非定長傳輸、分段傳輸和背靠背傳輸等功能之間的排列組合形成了復雜的狀態空間,這對接口驗證提出了嚴峻的挑戰。

功能驗證環境的品質取決于對被測設計對象所施加的激勵[6]。當狀態空間爆炸時,通常基于手工測試激勵的仿真測試是很難覆蓋的。AHB協議空間雖然復雜,但是可形式化的,易于定義覆蓋率模型。這種設計特點適合采用基于覆蓋率模型的約束化隨機驗證方法。覆蓋率分析[7]是用來檢查和顯示驗證是否覆蓋驗證空間的機制,用于評估驗證的質量。基于覆蓋率模型的AHB接口隨機測試方案,主要有以下幾個步驟:

a)建立完備的協議檢查方法,將協議的行為規范進行形式化的定義,以采用經過認證的第三方工具為宜。

b)建立可控的激勵自動生成機制,能夠以隨機序列的方式生成各種傳輸,但遵從指定的限制或使用受限的離散值集合。

c)根據IP核的協議支持情況定義覆蓋率模型,以形式化方法確定具體驗證的內容,對激勵的生成方向進行約束,確立驗證目標。

d)進行覆蓋率驅動的隨機測試,在約束范圍內進行隨機測試,并根據覆蓋率分析結果調整測試方向,驗證各種邊角條件、順序依賴和數據依賴的情形,達到100%覆蓋率。

在總線接口的驗證過程中,采用商用驗證IP、基于功能覆蓋率分析的帶約束的隨機測試是行之有效的方法。其中最大的挑戰不是隨機向量的產生,而是如何有效地檢測和跟蹤結果并約束隨機向量的生成[1]。其中正確的覆蓋率模型是驗證的關鍵。

2 基于覆蓋率模型的AMBA接口隨機驗證

2.1 AHB master接口驗證系統

龍芯1號接口協議為AMBA AHB master,它是總線操作的發起者。驗證首先需要建立虛擬AHB系統原型方案。虛擬系統原型的設計非常重要。很多失敗的驗證都是源自于虛擬驗證系統與目標系統之間的細微差別,兩者的一致性必須得以保證。虛擬系統原型需要在不同層次逼近目標系統,以盡可能地對系統作早期模擬和診斷[8]。

龍芯1號AHB驗證環境采用Verisity Design公司 (現已被Cadence收購)的AHB eVC驗證IP[9]及其Specman工具來搭建AHB的虛擬系統原型,使用e語言結合HDL代碼相結合的方式實現。其中:e語言是Verisity公司運行于其Specman工具的高級驗證語言,而AHB eVC是采用e語言搭建的可配置的AHB驗證IP,能夠提供AHB總線配套設備的隨機激勵生成、協議檢查、覆蓋率報告收集等功能,內部預制了經過認證的AMBA協議檢查。采用經過認證的第三方驗證IP 搭建虛擬環境,可以有效避免接口設計者對協議的理解偏差導致的驗證空白。通過復用eVC的AMBA規則可以使驗證達到工業級品質并降低設計的復雜度,這將驗證重點集中在接口本身、保證驗證的質量創造了條件。

AHB協議規定可最多支持16個master。在驗證中采用兩個層次:首先搭建單master系統,master自身傳輸的正確性;然后搭建16 master系統,保證master接口不會誤響應。圖1是單master驗證架構示意圖。

AHB接口驗證的核心是保證AMBA協議的兼容性和數據傳輸的正確性。如圖1所示,AHB協議由DUT master(龍芯1號AHB接口)實現,一側連接AHB總線;一側為cache接口(驗證中稱做SYSBUS);Active master SYSBUS按cache接口協議行為產生大量隨機測試向量,通過SYSBUS接口傳遞給DUT master,經過接口模型狀態機處理后,形成AHB總線的總線事務;記分板(scoreboard)ahb-2-cache-sb和cache-2-abh-sb對發生在DUT兩側的總線讀/寫事務進行數據校驗,passive monitor cache用于驗證cache接口協議。AHB總線邏輯(decoder和MUX等)采用RTL手工完成,而總線的協議檢查和虛擬master、虛擬slave、虛擬arbiter等。AHB總線設備則通過AHB eVC(圖中菱形箭頭所示)構建,并通過部分e代碼配置后形成一個完整的虛擬AHB環境,模擬AHB設備的總線發起、接收和仲裁操作,進行可靠的AHB協議兼容性測試。圖1中passive master AHB負責對DUT的AHB接口進行協議時域檢查(temporal check)。

eVC驗證IP提供了可靠的AHB協議參考集合。設計中采用e語言編寫cache接口一側的測試激勵產生(在設計中被定義為cache eVC)、數據檢查和時序檢查規則,根據驗證進程編寫e語言代碼過濾AHB一側的協議檢測規則,不斷提高功能覆蓋率。整個驗證是根據覆蓋率模型進行隨機測試,不斷分析覆蓋率報告并約束隨機向量產生的迭代過程。

2.2 AHB覆蓋率模型的建立

驗證的關鍵是建立正確和完備的功能覆蓋率模型,完成對驗證空間的形式化定義。e語言能夠方便地編寫時域檢查和功能斷言(assertion),而且Specman工具內嵌覆蓋率分析工具,能夠進行代碼覆蓋率和功能覆蓋率檢查。龍芯1號AHB接口的覆蓋率模型采用e語言進行形式化的描述。

龍芯AHB接口的功能是AHB和cache協議的轉換,從協議角度、覆蓋率定義包含了三個方面:

a)AHB接口協議基本case;

b)Cache接口(SYSBUS)協議基本case;

c)協議的邊角情況(corner case),定義各種基本case的類型、時機等組合。

在驗證中,SYSBUS部分協議相對簡單,AHB協議則比較復雜。其中兩者混合在一起時形成的第三部分覆蓋率模型最難以描述,也是驗證最容易疏漏的地方。在龍芯1號BFM實現中,定義了七個覆蓋率大類,如表1所示。

在cache接口一側,根據cache的總線協議以及數據正確性規定了八條覆蓋率子規則。在AHB一側,ahb eVC驗證IP定義了一套針對master、slave、arbiter的協議規則集合。由于虛擬slave和arbiter等是被動部件,驗證中對其規則不作修改,模型的定義主要針對其中AHB master的規則。eVC針對master定義了burst coverage、transfer coverage、transaction coverage三大類,存在大量多參量組合的情況,完全檢查會耗費大量時間。經過分析,這些組合描述的驗證空間對于龍芯AHB接口并非都是必要的,如龍芯接口模型不支持lock、WRAP4等操作,應對AHB的覆蓋率模型進行調整。Ahb eVC的 burst coverage定義的25項覆蓋率子項。其中只有11種類型是龍芯1號AHB接口驗證必要的,最終的覆蓋率模型從中刪除了14個覆蓋子項。通過篩選有效地降低了驗證復雜度,縮短了運行時間。

在AHB eVC的基礎上,AHB模型的定義還應注意以下特殊傳輸情況:

a)Hreset時的AHB信號復位狀態;

b)HPROT、HSIZE、HWRITE在一個BURST中保持恒定;

c)一個BURST傳輸不可以超過1 KB邊界;

d)Early terminal傳輸的重建檢查;

e)HREADY為低時,HTRANS可以變化,但應根據不同類型處理;

f)傳輸中地址必須與HSIZE一致并對齊;

g)HREADY為低, 且master為NONSEQ/SEQ/BUSY時,HADDR不能變化;

h)對非定長BURST,HBUSREQ應一直有效直到發起最后一個操作;

i)MASTER對SPLIT/RETRY的響應,在BURST的任一時刻發生均保持正確響應;

j)背靠背傳輸和其他情況的組合時刻,尤其注重第一拍,第二拍,倒數第一拍,倒數第二拍。

上述細節均反映在這七個覆蓋率大類里的具體代碼中。

2.3 數據檢查和時域檢查

針對覆蓋率模型所定義的各種情況需要建立一系列事件檢查的機制。這包括數據檢測和時域檢測兩個方面,前者用于檢測數據正確性;后者用于檢測協議兼容性。

時域檢查主要采用e語言的斷言方式進行,在代碼中根據覆蓋率定義描述了一系列子事件組合的發生時機。在測試中Specman會自動將該子項的覆蓋情況添加到覆蓋率報告中。

數據檢查主要在接口兩側進行,檢查接口協議轉換的數據正確與否。系統中設計了兩個隊列,在cache側的數據流被添加到一個臨時隊列中(cache_list),在ahb側的數據流被添加到 另一個隊列(ahb_list)。檢查首先對每個鏈表中的頭元素進行字節提取,并生成兩個新的有效字節隊列,作為比較對象。在每個傳輸結束時,檢查兩個隊列的長度并比較隊列中的字節數據,如果不一致即報錯,同時兩個隊列即被清空。

龍芯1號處理器核和接口是異步時鐘域,即cache接口時鐘和AHB接口可以是同一時鐘,也可以是不同時鐘。這部分電路的驗證是獨立于AHB協議的,為此建立了兩套驗證環境。在同頻時鐘環境中驗證AHB協議的正確性,而異步時鐘環境下驗證異步電路轉換的正確性。筆者建立了一套時鐘隨機漂移的機制,對異步情況下進行模擬,在數據檢查時也根據異步特征對隊列清空時機進行處理。

2.4 約束化隨機激勵產生和規則過濾

系統中,激勵產生模塊包括AHB激勵產生模塊(AHB eVC)和cache側激勵產生模塊(cache eVC)兩個。Cache eVC產生cache接口所有可能的總線操作類型,并且能夠模擬所有實際CPU cache操作的組合,產生注入接口的符合協議的隨機向量。AMBA總線側的操作生成則通過配置AHB eVC中各個總線設備的行為實現。

完全隨機的測試是不可取的。在覆蓋率模型確定了驗證目標的基礎上,需要控制隨機測試的約束,強化其某個方向測試向量發生的概率。Specman每次仿真結束后會產生一個統計形式的覆蓋率圖表,驗證中通過分析這個覆蓋率報告,修改激勵產生模塊中的e代碼,控制隨機測試的方向。當發現設計問題后,記錄該隨機種子,修改設計并重復運行驗證。通過有目的地強化在未覆蓋的驗證空間的測試,不斷調整驗證方向,驗證實現快速迭代,迅速向100% 的覆蓋率目標逼近。驗證中發現eVC的覆蓋面過寬,實際會產生很多真正的驗證空間之外的假錯,為此需要根據覆蓋率報告的情況不斷修改代碼,控制隨機向量的生成或屏蔽部分覆蓋率定義。

隨機測試中隨機種子(random seed)的生成和運行時間也很有講究。根據經驗,同等運行時間下,多種子短時間運行的覆蓋效果要優于單一種子長時間運行,單一種子的運行時間以5 000~10 000個cycle周期為宜。本文在驗證中開發了隨機測試的批處理腳本,自動進行大量的測試。

3 驗證效果

通過基于覆蓋率模型的隨機測試方法,龍芯1號AHB接口兼容性驗證在批處理器模式下運行了超過13 000個隨機種子,很快就定位了龍芯1號AHB接口中的7個隱蔽的錯誤。其中6個均涉及到傳輸類型(長度、間隔等)混雜時的處理和判斷,在設計中很難考慮到。最終定型的RTL設計又運行了2 000個隨機種子,在消除冗余的覆蓋率報告后,總共產生了95個有用的覆蓋率報告文件。總的功能覆蓋率達到了97%,剩余3%的未覆蓋部分經確認是設計中不會出現的情況,屬于可以忽略的范疇,最終的驗證達到了100%的功能覆蓋率。經過驗證的龍芯1號IP被應用在采用SYSNOPSYS的DesignWare AHB fabric IIP[10]搭成的測試環境中運行,一次性通過測試。隨后IP被應用在多款基于AMBA總線的SoC設計中,都是一次性成功通過系統互連驗證。

4 結束語

AHB接口是主流SoC片上總線的事實標準,協議兼容性驗證對IP的可用性有著非常現實的意義。本文針對AHB總線接口的驗證,提出了基于覆蓋率模型的AHB接口隨機驗證的具體實現方案,并應用于龍芯1號IP的接口驗證中。驗證成功達到了預期目標,經過驗證的接口達到了工業品質。本方法不僅僅適用于AHB協議的驗證,對于其他復雜總線協議的驗證具有普適意義,能夠成功地保證互連接口的驗證質量。

參考文獻:

[1]KEATING M,BRICAUD P.Reuse methodology manual for system-on-a-chip design[M].3rd ed.New York:Kluwer Academic Publisher,2002:247-249,219-220.

[2]NURMI J,TENHUNEN H,ISOAHO J,et al.Interconnect-centric design for advanced SOC and NOC[M].Boston: Kluwer Academic Publishers, 2004:212-216.

[3]ARM Ltd. AMBA AXI protocol(v1.0)specification [R].2003.

[4]OCP-IP Group.Open core protocol specification(r2.1)[EB/OL].(2007-06-03).http://www.ocpip.org/home/.

[5]ARM ltd.AMBATM specification:rev 2.0[R].1999.

[6]RASHINKAR P,PATERSON P,SINGH L.系統芯片(SOC)驗證方法與技術[M].孫海平,丁健,譯.北京:電子工業出版社,2005:80-81.

[7]GLUSKA A.Coverage-oriented verification of banias[C]//Proc of the 2nd Design Automation Conference.Anaheim,CA:[s.n.],2003:280-285.

[8]許彤,王朋宇,黃海林,等.嵌入式處理器在片調試的驗證[J].計算機輔助設計與圖形學學報,2007,19(4):503-504.

[9]VERISITY D L.Verisity AHB eVC user guide:version 2.1 release candidate 1[R].Verisity Design,Inc.2000.

[10]Synopsys Inc. Designware IP solutions for AMBATM interconnect[EB/OL].(2007-06-30).

http://www.synopsys.com/products/designware/amba_solutions.html.

注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。”

主站蜘蛛池模板: 精品无码一区二区三区电影| 人妻丝袜无码视频| 在线视频一区二区三区不卡| 51国产偷自视频区视频手机观看| 欧美色99| 久久久久国产一区二区| 亚洲乱码在线视频| 日韩在线永久免费播放| 亚洲最新网址| 99热这里只有精品2| 国产99在线观看| 思思99热精品在线| 91免费观看视频| 久久国产拍爱| 57pao国产成视频免费播放| 老汉色老汉首页a亚洲| www.狠狠| 成人韩免费网站| 香蕉视频国产精品人| 精品综合久久久久久97| 中文字幕 欧美日韩| 国产91全国探花系列在线播放| 伊人久久久久久久久久| 亚洲日本中文字幕乱码中文 | 激情视频综合网| 人妻丰满熟妇av五码区| 免费无遮挡AV| 欧美精品黑人粗大| 国产成本人片免费a∨短片| 人妻精品久久久无码区色视| 人妻21p大胆| 2021国产v亚洲v天堂无码| 2024av在线无码中文最新| 亚洲精品黄| 亚洲天堂网视频| 精品国产网站| 国产在线欧美| 午夜人性色福利无码视频在线观看| 久久综合五月婷婷| 午夜爽爽视频| 91精品专区国产盗摄| 国产亚洲欧美日韩在线一区| 在线a视频免费观看| 久久综合国产乱子免费| 成人小视频网| 天天色天天操综合网| 欧美一级在线播放| 国产福利在线免费观看| 色欲色欲久久综合网| 蜜桃视频一区二区| 在线国产毛片手机小视频| 欧美激情视频一区二区三区免费| 精品国产自| JIZZ亚洲国产| 久久精品无码专区免费| yjizz视频最新网站在线| 国产97色在线| 在线国产91| 日本爱爱精品一区二区| 国产成人综合欧美精品久久| 精品综合久久久久久97超人该| 中文成人在线视频| 国产黄在线观看| 久久77777| 福利片91| 亚洲天堂视频网| 免费可以看的无遮挡av无码 | 99九九成人免费视频精品| 日韩美一区二区| 亚洲an第二区国产精品| 91久久精品日日躁夜夜躁欧美| 91在线中文| 最新精品久久精品| 2019年国产精品自拍不卡| 色视频国产| 国产麻豆另类AV| 91最新精品视频发布页| jizz在线观看| 国产一区二区三区在线精品专区| 亚洲日产2021三区在线| 色妞永久免费视频| 91系列在线观看|