亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于UVM的網(wǎng)絡協(xié)議報文發(fā)包器

        2022-07-13 09:04:24王瀟楓
        中國科技縱橫 2022年11期
        關鍵詞:子類字段數(shù)據(jù)流

        王瀟楓

        (南京郵電大學,江蘇南京 210023)

        0.引言

        隨著超大規(guī)模集成電路功能的日趨豐富,尤其在當前的熱點方向如5G、AI、工業(yè)4.0等,更高性能、更快速度、更多功能、更低功耗成為芯片設計制造商的追求目標。隨之而來對于驗證工作的挑戰(zhàn)在不斷增大,驗證的工作量已經(jīng)占到整個SOC研發(fā)的70%左右,因此提高芯片驗證工作的效率也成為了研發(fā)流程中的重要一環(huán)[1]。作為以太網(wǎng)芯片中必不可少的功能點,報文解析及處理是驗證對象中不可或缺的重要組成部分。而對于報文解析及處理的驗證工作,網(wǎng)絡協(xié)議報文發(fā)包器是必不可少的驗證組件,它作為驗證用例激勵的約束與生成組件,是用例能精確覆蓋各功能點的基礎與核心。一個全面且實用的發(fā)包器組件不僅能實現(xiàn)對各協(xié)議字段的約束、報文的生成和封裝,同時也能具備對協(xié)議報文字段的解析功能。除此之外,優(yōu)秀的驗證組件還要具備良好的復用性與即插即用的特點,即不需要配合驗證平臺結(jié)構(gòu)做組件結(jié)構(gòu)上的修改,能簡潔高效地運用于仿真場景構(gòu)建中。

        1.UVM方法學

        針對傳統(tǒng)RTL(寄存器傳輸級)驗證平臺重用性差、自動化程度低等缺陷,Accellera標準組織采用OVM為標準,在此基礎之上推出了新一代的基于系統(tǒng)及硬件描述語言System Verilog的通用驗證方法學UVM,并于2011年推出了UVM的正式版本。UVM完全繼承了OVM,同時采納了VMM中的RAL、Callback機制等,為驗證工程師建立了一套基于面向?qū)ο笏枷氲腟ystem Verilog語言標準組件庫,提高了驗證環(huán)境的重用性與靈活性[2]。

        如圖1所示,UVM采用樹形結(jié)構(gòu)構(gòu)建自頂向下的驗證平臺。各結(jié)點按照既定層次關系實現(xiàn)驗證平臺的整體功能[3],具體組件包含:

        圖1 UVM樹形結(jié)構(gòu)圖

        (1)Driver:是驗證平臺最基本的組件以及數(shù)據(jù)流的源泉,將激勵驅(qū)動至RTL邏輯;本設計中,他將實現(xiàn)將發(fā)包器生成的激勵按約束封裝成數(shù)據(jù)流驅(qū)動至DUT引腳或內(nèi)部接口;(2)Sequencer:是Driver與Sequence間溝通的仲裁方,實現(xiàn)transaction的傳遞;(3)Monitor:監(jiān)測DUT的行為及信號變化;(4)Scoreboard:比對Monitor采樣的DUT輸出結(jié)果與Reference Model模擬的預期輸出;(5)Reference Model:完成與DUT相同的功能設計并輸出結(jié)果與DUT輸出相比較;(6)Agent:將處理相同協(xié)議的driver與monitor封裝為更高一層的抽象組件[4],便于驗證平臺的復用性與環(huán)境管理;(7)Env:引入容器類概念,將Agent例化于Env中,并實現(xiàn)各Agent中組件的通信鏈接;針對不同驗證層次使用不同的容器類Env,增加了驗證平臺的復用性,便于驗證工作的管理與平臺維護。

        2.發(fā)包器設計

        發(fā)包器設計結(jié)構(gòu)圖2所示。

        圖2 發(fā)包器設計結(jié)構(gòu)圖

        2.1 發(fā)包器層次結(jié)構(gòu)

        基于UVM自頂向下層次邏輯,發(fā)包器由3大組成部分構(gòu)成——報文生成組件frame_tools、流量控制組件flow_tools、相關工具算法組件svlib。

        2.1.1 Frame_tools

        Frame_tools組件包含了兩大基類:

        (1)frame_tools_item。發(fā)包器核心基類,由該類中定義的parse、generate函數(shù)實現(xiàn)報文字段解析與數(shù)據(jù)流生成,其包含了frame_tools_head與frame_tools_payload兩大子類。

        frame_tools_head為報文首部類,其包含了L2層協(xié)議首部類frame_tools_head_l2_ethernet、frame_tools_head_l2_llc、frame_tools_head_l2_llc_snap,并通過自定義枚舉類型frame_tools_protocol_t引導L2層首部使用何種協(xié)議格式。由此向內(nèi)遞進,在L2層各協(xié)議首部類中,包含了L3層協(xié)議首部類frame_tools_head_l3_ipv4、frame_tools_head_l3_ipv6、frame_tools_head_l3_pppoe等,并通過自定義枚舉類型frame_tools_protocol_t引導L3層首部使用何種協(xié)議格式。在L3層中衍生出L4層首部協(xié)議字段,由此生成報文首部字段。

        而frame_tools_payload為報文負載字段類,其包含負載內(nèi)容子類frame_tools_payload_value,以及報文信息子類frame_tools_payload_info。負載內(nèi)容子類frame_tools_payload_value可以依據(jù)自定義枚舉類型frame_tools_payload_value_mode_e的約束生成遞增、遞減、隨機、規(guī)定值字節(jié)序列;報文信息子類中包含數(shù)據(jù)流號、port號、報文id以及fcs校驗位。

        headlib中存放了自uvm_sequence_item派生的L2至L4各種協(xié)議報文首部字段類。若需根據(jù)自定義協(xié)議構(gòu)建新首部格式,需要在headlib中放入自定義首部字段類的System Verilog文件,并針對對應類型的報文,在frame_tools_head_defines文件中增添對應報文類型名稱的frame_tools_protocol_t類枚舉元素。而frame_tools_head_defines文件中不僅定義了枚舉類型frame_tools_protocol_t,還封裝了多層次各種不同類型報文的宏定義,根據(jù)不同類型協(xié)議約束各種報文各層次首部字段的protocol_next指針,以實現(xiàn)由L2向L3、L4的幀首部字段嵌套。這些宏定義將在發(fā)包器調(diào)用時約束報文類型,并指導各字段的內(nèi)容的封裝。

        (2)frame_tools_sequence。該sequence采用參數(shù)化定義方式,由本發(fā)包器設計中frame_tools_sequence_defines文件封裝于宏中,在該文件內(nèi),由宏定義實現(xiàn)了發(fā)包器的調(diào)用方式,以宏FRAME_TOOLS_SEQ_BASE_BEGIN、FRAME_TOOLS_SEQ_BASE_END限定了發(fā)包器sequence生成框架,同時宏FRAME_TOOLS_SEQ_BASE_BEGIN在調(diào)用時將傳入sequence定義所需參數(shù)seq_name、總數(shù)據(jù)流數(shù)stream_total、sequence推送時間drop_us。同時還定義了參數(shù)化類frame_tools_sequence_lib,此類由frame_tools_sequence_library.svh文件中定義的frame_tools_sequence_library類派生,該類定義了一些對sequence的操作與綁定task。

        宏FRAME_TOOLS_SEQ_BASE_BEGIN內(nèi)調(diào)用數(shù)據(jù)流啟動宏FRAME_TOOLS_SEQ_STREAM_DO。該宏內(nèi)封裝了數(shù)據(jù)流控制宏FRAME_TOOLS_SEQ_STREAM_BEGIN,其調(diào)用 flow_tools中流量啟動函數(shù)starting并傳入發(fā)包數(shù)量pkt_num參數(shù),并啟動`uvm_create函數(shù)實例化transaction;調(diào)用FRAME_TOOLS_SEQ_STREAM_END宏,通過例化的frame_tools_item類中的generat函數(shù)生成數(shù)據(jù)流queue。調(diào)用 flow_tools中流控函數(shù)check_credit并將item中報文長度傳入其中,以調(diào)整幀間隔,實現(xiàn)流量控制,而后啟動`uvm_send函數(shù)將sequence發(fā)出,最后調(diào)用 flow_tools中停止函數(shù)stopping結(jié)束流量監(jiān)控。

        2.1.2 Flow_tools

        (1) flow_tools_monitor。包含 starting(),stopping()兩個控制task。starting()中例化一monitor process,調(diào)用速率計算函數(shù)rate_calculate()可計算周期流量及整體流量,并可以實時打印出流量數(shù)據(jù);stopping()中關閉monitor process。(2) flow_tools_driver。該driver同樣包含starting(),stopping()2個控制task。starting()中例化一drive process,調(diào)用rate_calculate()函數(shù)做時鐘周期性計數(shù),并配合credit_add()函數(shù)累計。累計參數(shù)供check_credit()函數(shù)實時檢查,由frame_tools在sequence生成完后調(diào)用,以調(diào)整幀間隔。

        2.1.3 Svlib

        Svlib中包含math_lib、pack_lib。其中math_lib中定義了報文生成中所需的例如CRC-32算法的計算函數(shù);pack_lib中則定義了一些例如bit位倒序、多字節(jié)對齊等函數(shù)。

        2.2 使用方法

        在使用該發(fā)包器生成報文時首先需在用例中調(diào)用宏FRAME_TOOLS_SEQ_BASE_BEGIN、FRAME_TOOLS_SEQ_BASE_END以生成發(fā)包器整體框架,并輸入數(shù)據(jù)流參數(shù)seq_name、總數(shù)據(jù)流數(shù)stream_total、sequence推送時間drop_us。其次,需根據(jù)數(shù)據(jù)流數(shù)以及對數(shù)據(jù)流的定制化約束,調(diào)用數(shù)據(jù)流控制宏FRAME_TOOLS_SEQ_STREAM_DO,傳入發(fā)包數(shù)量pkt_num,并由上文中對head_defines文件的介紹,調(diào)用報文類型宏定義,以約束報文類型,并根據(jù)其類型填寫各字段內(nèi)容。

        3.結(jié)語

        在驗證領域,高效性和復用性是評判一個組件實用程度的重要指標。本文提出的基于UVM的網(wǎng)絡協(xié)議報文發(fā)包器,從使用靈活度以及可定制化程度均體現(xiàn)了高效、可復用性,能夠?qū)W(wǎng)絡數(shù)據(jù)報文解析與處理功能的驗證起到較好的輔助作用,提高驗證效率。

        猜你喜歡
        子類字段數(shù)據(jù)流
        圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
        卷入Hohlov算子的某解析雙單葉函數(shù)子類的系數(shù)估計
        汽車維修數(shù)據(jù)流基礎(下)
        關于對稱共軛點的倒星象函數(shù)某些子類的系數(shù)估計
        一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機制
        基于數(shù)據(jù)流聚類的多目標跟蹤算法
        CNMARC304字段和314字段責任附注方式解析
        北醫(yī)三院 數(shù)據(jù)流疏通就診量
        無正題名文獻著錄方法評述
        關于CNMARC的3--字段改革的必要性與可行性研究
        圖書館建設(2014年3期)2014-02-12 15:41:35
        精品手机在线视频| 成视频年人黄网站免费视频| 欧美 国产 综合 欧美 视频| 亚洲国际无码中文字幕| 亚洲AV无码久久久久调教| 白白色最新福利视频二| 色狠狠色狠狠综合天天| 无码少妇一区二区三区| 国产片三级视频播放| av在线一区二区精品| 亚洲成av人在线观看网址| 久久久亚洲色| 亚洲综合久久1区2区3区| 丝袜美腿制服诱惑一区二区| 无码国内精品久久人妻| 男女超爽视频免费播放| 谁有在线观看av中文| 国产一区二区av免费观看| 亚洲av无码一区二区三区天堂古代| 成年女人永久免费看片| 国产免费一区二区av| 成人一区二区人妻少妇| 小鲜肉自慰网站| 国产成人免费a在线视频| 黄色大片国产精品久久| 全免费a级毛片免费看无码| 亚洲五月天综合| 亚洲色欲色欲大片WWW无码| 久久综合另类激情人妖| s级爆乳玩具酱国产vip皮裤| 精品十八禁免费观看| 麻豆视频在线观看免费在线观看| 久久亚洲av无码精品色午夜| 久久乐国产精品亚洲综合| 少妇bbwbbw高潮| 亚洲av男人的天堂一区| 色偷偷噜噜噜亚洲男人| 国产乱子伦精品免费女| 久久婷婷综合激情亚洲狠狠| 中文字幕亚洲精品无码| 亚洲第一网站免费视频|