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

基于OVM的網絡協議處理芯片驗證平臺的設計

2014-04-12 00:00:00雷英王海濤
現代電子技術 2014年1期

摘 要: 針對一款網絡協議處理芯片,為了保證其設計的正確性,提升驗證效率,基于OVM架構,通過SystemVerilog語言搭建了具有受約束的隨機激勵生成、錯誤注入、覆蓋率收集、正確性自檢查等功能的驗證平臺。通過該驗證平臺對芯片進行了全方位的高效驗證,實現了一次流片成功。基于OVM的驗證平臺具有良好的可重用性和可擴展性,相對于傳統的編寫定向測試激勵的方法,在驗證的高效性、完備性上具有顯著的優勢。

關鍵詞: OVM; SystemVerilog語言; 網絡協議處理芯片; 隨機激勵; 驗證平臺

中圖分類號: TN47?34; TN492 文獻標識碼: A 文章編號: 1004?373X(2014)01?0137?04

0 引 言

隨著集成電路設計技術發展和設計規模的不斷膨脹,對設計正確性的驗證所耗費的時間越來越長。驗證工作大約占據整個項目周期70%左右的時間[1]。驗證工作全面與否和效率的高低直接關系到集成電路產品設計的成敗和上市的時間。

傳統的通過Verilog語言撰寫定向測試激勵的方式只能適應規模較小的設計,對于超大規模的集成電路的正確性驗證則難以勝任。SystemVerilog語言是近幾年發展起來的、并在大規模集成電路的驗證工作上迅速得到廣泛應用的、一門集設計與驗證為一體的硬件驗證語言,它引入面向對象編程的思想,并且支持覆蓋率收集、受約束的隨機化等對驗證來講非常重要的特性。基于SystemVerilog語言,可以構建由覆蓋率驅動的并且受約束的隨機激勵驗證平臺[2?3]。

隨機激勵對于測試復雜設計十分關鍵。定向測試可以找出設計中預期的漏洞,而隨機測試則能夠找出預料不到的漏洞。搭建隨機激勵驗證平臺花費的時間很長,但其回報卻很高。每個隨機測試都可以共享這個通用的驗證平臺,而不像每個定向測試都要從零開始編寫。受約束的隨機激勵驗證平臺找起漏洞來會比定向測試快很多。

OVM是Cadence和Mentor兩家公司聯合推出的仿真驗證方法學,它是業界第一個開源的仿真驗證資源庫,它為驗證工程師提供了開源的基類設計代碼,可以用于構建可復用的驗證環境,并且支持事務級傳輸模型的接口通信[4]。

本文基于OVM架構,通過SystemVerilog語言,給出了一款網絡協議處理芯片驗證平臺的設計。

1 OVM簡介

OVM驗證平臺由可重用的稱之為OVM驗證組件(OVCs)的驗證環境構成。OVC可以是針對接口協議、子模塊或者完整的系統而構建的驗證環境。每個OVC遵循相同的結構,可以對具體的協議或設計執行仿真、檢查和覆蓋率收集。OVC被用于驗證待測設計(DUT)的正確性。OVC可以加速DUT驗證平臺的創建[5]。

典型的OVC環境如圖1所示。

圖1 OVC環境示意圖

一個完整的OVC環境由Data Item、Driver、Sequencer、Monitor、Agent、Environment組成,詳細描述見參考文獻[5]。

2 驗證平臺的設計實現

2.1 驗證對象的描述

圖2所示為網絡協議處理芯片的簡易結構。芯片對外提供四組接口:兩組網絡接口、一組配置管理接口、一組SRAM接口。兩組網絡接口相互通信,從一個網口輸入的網絡數據包經協議處理單元處理后從另一個網口輸出;配置管理口與外部CPU通信,實現芯片的初始化配置、狀態監控; SRAM接口與外部存儲器連接,提供網絡數據處理過程中所需的中間數據緩存的通道。

圖2 網絡協議處理芯片結構

2.2 驗證平臺的結構

針對該網絡協議處理芯片構建的驗證平臺結構如圖3所示。芯片的SRAM接口與標準的SRAM模型對接,實現讀寫時序的控制和數據的交互;其他的三組接口分別構建獨立的可重用的OVM驗證組件(OVC);Virtual Sequencer容納各個OVC的sequencer,控制各個OVC隨機序列的生成和管理;Scoreboard收集各OVC提供的監測數據,通過與參考模型(RM)的輸出結果進行比較,確認芯片輸出的正確性;根據芯片的測試驗證需求,組合相關的測試序列,生成多組test,供芯片測試驗證。

2.3 驗證平臺的設計

2.3.1 OVC設計

芯片驗證平臺包含GMAC OVC1、GMAC OVC2和CFG OVC三個獨立的驗證組件。本文以GMAC OVC1為例,詳述OVC的構建方法。

(1) Data Item

GMAC OVC1為網絡接口的驗證組件,驅動網絡接口的數據為以太網數據包。以太網數據包可以采用分層的方法逐級構建。首先構建鏈路層的MAC數據包,對MAC頭各字段進行隨機化定義和約束;然后構建網絡層的IP數據包,對IP頭的各字段進行隨機化定義和約束,IP數據包繼承于鏈路層的MAC數據包;最后構建傳輸層的ICMP、UDP、TCP等協議包,這些數據包繼承于網絡層的IP包。通過這種面向對象的分層構建方法,使該Data Item具有良好的擴展性,在不同的應用中,根據實際需求可方便地對網絡層和傳輸層的數據包進行擴展。

圖3 驗證平臺結構

在逐層構建數據包時,除產生正確的數據包外,為了檢驗芯片的容錯能力,還需注入一定比例的錯誤數據包,如同步頭錯誤、CRC校驗和錯誤、IP頭校驗和錯誤等。

(2) Sequencer

Sequencer中寄存著不同種類的sequence,這些sequence產生不同類型的數據包,在task body()中生成。示例代碼如下:

virtual task body();

case(ip_sel) //包類型選擇

TCP: begin

[′ovm_do_with](tcp_packet0,{tcp_packet0.packet_type==IP_PACKET; tcp_packet0.ip_type==TCP; }) end //生成TCP包

UDP: begin

[′ovm_do_with](udp_packet0,{udp_packet0.packet_type==IP_PACKET; udp_packet0.ip_type==UDP; }) end //生成UDP包

ICMP: begin

[′ovm_do_with](icmp_packet0,{icmp_packet0.packet_type==IP_PACKET; icmp_packet0.ip_type==ICMP; }) end

//生成ICMP包

endcase

endtask: body

(3) Driver

Driver從Sequencer中獲取Data Item,然后將其轉換成DUT網絡接口支持的邏輯方式和時序方式驅動到接口。

Driver與Sequencer之間的通信通過OVM提供的TLM端口實現。

seq_item_port.get_next_item(req);

//TLM端口,從sequencer中取出新的數據序列

drive_frame(req); //自定義任務,驅動數據序列到DUT端口

seq_item_port.item_done();

//TLM端口,通知sequencer取出的數據序列處理完

(4) Monitor

Monitor監測GMAC1的接口,收集輸入、輸出數據序列,并進行功能覆蓋率統計。

功能覆蓋率通過covergroup中的coverpoint和cross來實現,示例如下:

covergroup cover_ip_packet;

ip_total_len: coverpoint ip_collected.ip_total_len

//創建覆蓋點ip_total_len

{ bins small_packet[]={[21:46]};

bins normal_packet[]={[47:1500]}; }

ip_protocal: coverpoint ip_collected.ip_protocal

//創建覆蓋點ip_protocal

{ bins icmp = {1};

bins tcp = {6};

bins udp = {17}; }

cross ip_total_len,ip_protocal;

主站蜘蛛池模板: 欧美日韩久久综合| 伊在人亚洲香蕉精品播放| 国产第一页免费浮力影院| 国产精品视频公开费视频| 国产精品香蕉| 亚洲天天更新| 在线播放国产一区| 尤物成AV人片在线观看| 国产一区二区网站| 亚洲无码精彩视频在线观看| 国产欧美综合在线观看第七页| 成人综合久久综合| 色天天综合| 亚洲成人高清无码| 蜜芽一区二区国产精品| 欧洲高清无码在线| 亚洲熟女中文字幕男人总站| 狠狠色综合久久狠狠色综合| 女人18毛片一级毛片在线 | 国内精品九九久久久精品| 亚洲第一黄色网| 久久久久青草大香线综合精品| 一区二区三区毛片无码| 99视频精品在线观看| 国产粉嫩粉嫩的18在线播放91| 中国国语毛片免费观看视频| 91色国产在线| 亚洲视频免费在线看| 精品国产毛片| 四虎在线高清无码| 国产呦精品一区二区三区下载 | 日韩精品一区二区三区视频免费看| 国产精品无码AV片在线观看播放| 秋霞午夜国产精品成人片| 18禁黄无遮挡免费动漫网站| 国产在线自乱拍播放| 国产精品网址在线观看你懂的| 国产成人亚洲毛片| 成人日韩视频| 欧美性天天| 女人18毛片一级毛片在线| 久久国产精品电影| 秘书高跟黑色丝袜国产91在线| 免费啪啪网址| 久草视频中文| 天天干天天色综合网| 欧美第九页| 国产日韩精品一区在线不卡| 久久人妻系列无码一区| 国产一级精品毛片基地| 国产精品va免费视频| 91青青草视频在线观看的| 国产性爱网站| 91精选国产大片| 精品人妻一区无码视频| 亚洲精品成人福利在线电影| 国产综合网站| 在线观看国产小视频| 亚洲天堂.com| 亚洲精品午夜无码电影网| 99人妻碰碰碰久久久久禁片| 亚洲黄色片免费看| 狂欢视频在线观看不卡| 亚洲嫩模喷白浆| 一级片免费网站| 成人午夜精品一级毛片| 亚洲国产欧美国产综合久久| 白丝美女办公室高潮喷水视频| 欧美日本激情| 米奇精品一区二区三区| 欧美精品亚洲精品日韩专区| 国产激情无码一区二区三区免费| 亚洲第一视频区| 国产麻豆91网在线看| 青青网在线国产| 视频一本大道香蕉久在线播放 | 精品撒尿视频一区二区三区| 国产人人乐人人爱| 欧美高清日韩| 91在线播放国产| 国产精品hd在线播放| 日韩精品中文字幕一区三区|