色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

學會這些System Verilog方法,芯片驗證入門沒問題

jf_5P3RKFtu ? 來源:于博士Jacky ? 作者:于博士Jacky ? 2022-12-09 15:08 ? 次閱讀

1. 驗證的主流語言為什么是System Verilog語言?

9922df96-7744-11ed-8abf-dac502259ad0.jpg

一個掌握Verilog語言的工程師初次看SystemVerilog都會有這樣的感受,這就是Verilog啊,很容易啊,So easy啊。沒錯,確實是這樣,System Verilog的產生就是因為芯片設計規模不斷增長,功能日趨復雜,單純的用Verilog和VHDL等硬件語言已經無法滿足驗證的需求,結合C,C++等軟件語言,又顯得難度太大,不容易掌握,因此產生了SystemVerilog,當然也產生了其他驗證語言,比如Vera和e語言,但因為SystemVerilog結合了來自 Verilog、VHDL、C++的概念,還有驗證平臺語言(OpenVera和e語言)和斷言語言(OVA和PSL),使得SystemVerilog在驗證界坐穩了第一的寶座。它將硬件描述語言(HDL)與現代的高層級驗證語言(HVL)結合了起來。使其對于進行當今高度復雜的設計驗證的驗證工程師具有相當大的吸引力。這些都使得SystemVerilog在一個更高的抽象層次上提高了設計建模的能力。隨著不斷地發展,System Verilog擁有芯片設計及驗證工程師所需的全部結構,它集成了面向對象編程、動態線程和線程間通信等特性,作為一種工業標準語言,SV全面綜合了RTL設計、測試平臺、斷言和覆蓋率,為系統級的設計及驗證提供強大的支持作用。另一方面,驗證方法學(VMM、OVM、AVM和UVM等)的推動也功不可沒,System Verilog能夠和芯片驗證方法學結合在一起,即作為實現方法學的一種語言工具。使用驗證方法學可以大大增強模塊復用性、提高芯片開發效率,縮短開發周期。

2.出鏡率較高的數據類型

邏輯(logic)類型。

四狀態類型:interger,reg,logic,time,wire,tri

雙狀態數據類型(更好的性能,更低的內存消耗)。

二狀態類型:bit,int,byte,shortint,longint

隊列,動態和關聯數組(自帶搜索和分類功能)

隊列和數組的操作,常常用在reference model建模或者checker的數據比對過程中。隊列的操作包括常用函數:insert,delete,push_back, pop_back, push_front, push_back等;數組的操作(min最小值,max最大值,unique排除重復,find索引相關,sum求和,sort升序,rsort降序,reverse倒序,shuffle亂序等。

關聯數組(對于非常大的尋址空間存儲建模,我們只需要訪問邊界值,以及中間個別一些空間進行驗證,關聯數組提供保存稀疏矩陣的元素)。

993dbe1a-7744-11ed-8abf-dac502259ad0.jpg

枚舉類型

類似于宏定義,或者使用參數。

typedef enum{WAIT, DECODE, READY}fsmstate_e;

fsmstate_e pstate,nstate;

995dfaf4-7744-11ed-8abf-dac502259ad0.jpg

結構體(支持抽象數據結構)用struct建語句創建數據結構。

typedef struct{bit[7:0] r, g, b} pixel_s;

pixel_s my_pixel;

997ba46e-7744-11ed-8abf-dac502259ad0.jpg

fork...join塊可以指定一條或多條語句,每一條語句都應該作為并發進程執行。

選項 描述
join 父進程會阻塞直到這個分支產生的所有進程結束。
join_any 父進程會阻塞直到這個分支產生的任意一個進程結束。
join_none 父進程會繼續與這個分支產生的所有進程并發執行。在父線程執行一條阻塞語句之前,產生的進程不會啟動執行。

9989ea2e-7744-11ed-8abf-dac502259ad0.png

Function和Task

function執行不消耗時間,帶時間的操作如#100ns,@,wait等都不能出現在function。所以一般而言,function是不能調用task的,但是在fork……join_none中例外。函數可以有返回值。

消耗時間的操作用task,比如driver里面對信號的驅動過程,一般來講是在task中完成,但是具體的算法是由function完成的,所以,task中調用function。task沒有返回值。

3. System Verilog的Interface

99a04d46-7744-11ed-8abf-dac502259ad0.jpg

這是一個比較新的概念,Interface封裝了連接性:接口可以作為單個項目通過端口傳遞,從而用單個名稱替換一組名稱。這減少了建模端口連接所需的代碼量,并提高了端口連接的可維護性和可讀性。封裝功能,與通過接口連接的模塊隔離。因此,通信協議的抽象級別和粒度可以完全獨立于模塊進行細化。

可以包含參數、常量、變量、函數和任務、流程和連續分配,這對于系統級建模和測試應用程序都很有用。

可以幫助構建功能覆蓋記錄和報告、協議檢查和斷言等應用程序。

可以用于無端口訪問:接口可以作為模塊中的靜態數據對象直接實例化。因此,可以從設計中的不同點調用用于訪問接口內部狀態信息的方法來共享信息。

靈活性:接口可以像模塊一樣參數化。此外,可以使用未指定的接口實例化(稱為泛型接口)創建模塊頭。這個接口可以在稍后實例化模塊時指定。

4. System Verilog的面向對象(OOP)

面向對象使用戶能夠創建復雜的數據類型,并且將它們跟使用這些數據類型的程序緊密的結合在一起。用戶可以在更加抽象的平臺上建立測試模型,通過調用函數改變信號,而不是直接改變電平信號。

99c7a148-7744-11ed-8abf-dac502259ad0.jpg

從結構體開始:程序設計=數據結構+算法實現

99e90374-7744-11ed-8abf-dac502259ad0.jpg

定義一個類

類將結構體和它相應的函數集合在一起,成為一種新的數據組織形式。在這種新的數據組織形式中,有兩種成分,一種是來自結構體的數據變量,在類中被稱為成員變量;另外一種來自與結構體相對應的函數,被稱為一個類的接口。

9a0a74c8-7744-11ed-8abf-dac502259ad0.jpg

繼承一個類

分析所要解決的問題,并找出其中的共性,用這些共性構建一個基類(或者父類);在此基礎上,將問題分類,不同的分類具有各自的共性,使用這些分類的共性構建一個派生類(或者子類)。

9a26d172-7744-11ed-8abf-dac502259ad0.jpg

多態:多個程序使用一個共同的名字的現象。

9a4be2e6-7744-11ed-8abf-dac502259ad0.jpg

靜態變量和方法

一個類的所有實例都共享變量的一個版本,也就是說所有實例都共享同一個copy,該變量對所有實例都是可見并相同的。使用關鍵字static產生。

9a6b99e2-7744-11ed-8abf-dac502259ad0.jpg

類的參數化定義

9a84014e-7744-11ed-8abf-dac502259ad0.jpg

9a95d612-7744-11ed-8abf-dac502259ad0.jpg

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Verilog
    +關注

    關注

    29

    文章

    1366

    瀏覽量

    111898
  • C++
    C++
    +關注

    關注

    22

    文章

    2117

    瀏覽量

    74813
  • 芯片驗證
    +關注

    關注

    5

    文章

    39

    瀏覽量

    47549

原文標題:學會這些System Verilog方法,芯片驗證入門沒問題

文章出處:【微信號:于博士Jacky,微信公眾號:于博士Jacky】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    System Level EOS Testing Method”可以翻譯為: “系統級電性過應力測試方法

    System Level EOS Testing Method”可以翻譯為: “系統級電性過應力測試方法
    的頭像 發表于 05-05 15:55 ?187次閱讀
    “<b class='flag-5'>System</b> Level EOS Testing Method”可以翻譯為: “系統級電性過應力測試<b class='flag-5'>方法</b>”

    新思科技推出基于AMD芯片的新一代原型驗證系統

    近日,新思科技宣布推出全新基于AMD Versal? Premium VP1902自適應系統級芯片(SoC)的HAPS?原型驗證系統,以此進一步升級其硬件輔助驗證(HAV)產品組合。 此次推出的全新
    的頭像 發表于 02-19 17:12 ?605次閱讀

    淺談Verilog和VHDL的區別

    Verilog和VHDL是兩種廣泛使用的硬件描述語言(HDL),它們用于描述和模擬數字電路系統的行為和結構。這兩種語言的主要作用是幫助工程師設計、仿真和驗證集成電路(IC)和系統級芯片(SoC)中的硬件模塊。
    的頭像 發表于 02-17 14:20 ?1252次閱讀
    淺談<b class='flag-5'>Verilog</b>和VHDL的區別

    Verilog 電路仿真常見問題 Verilog芯片設計中的應用

    在現代電子設計自動化(EDA)領域,Verilog作為一種硬件描述語言,已經成為數字電路設計和驗證的標準工具。它允許設計師以高級抽象的方式定義電路的行為和結構,從而簡化了從概念到硅片的整個設計流程
    的頭像 發表于 12-17 09:53 ?1096次閱讀

    Verilog 與 ASIC 設計的關系 Verilog 代碼優化技巧

    Circuit,專用集成電路)設計是一個復雜的過程,涉及到邏輯設計、綜合、布局布線、物理驗證等多個環節。在這個過程中,Verilog被用來描述數字電路的行為和結構,進而實現ASIC的設計。 具體來說
    的頭像 發表于 12-17 09:52 ?940次閱讀

    Verilog 測試平臺設計方法 Verilog FPGA開發指南

    Verilog測試平臺設計方法Verilog FPGA開發中的重要環節,它用于驗證Verilog設計的正確性和性能。以下是一個詳細的
    的頭像 發表于 12-17 09:50 ?1042次閱讀

    Verilog與VHDL的比較 Verilog HDL編程技巧

    Verilog 與 VHDL 比較 1. 語法和風格 VerilogVerilog 的語法更接近于 C 語言,對于有 C 語言背景的工程師來說,學習曲線較平緩。它支持結構化編程,代碼更直觀,易于
    的頭像 發表于 12-17 09:44 ?1496次閱讀

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼的方法
    的頭像 發表于 11-05 11:45 ?944次閱讀
    如何自動生成<b class='flag-5'>verilog</b>代碼

    system verilog語言簡介

    ICer需要System Verilog語言得加成,這是ICer深度的表現。
    發表于 11-01 10:44 ?0次下載

    FPGA編程語言的入門教程

    FPGA(現場可編程邏輯門陣列)的編程涉及特定的硬件描述語言(HDL),其中Verilog和VHDL是最常用的兩種。以下是一個FPGA編程語言(以Verilog為例)的入門教程: 一、Veri
    的頭像 發表于 10-25 09:21 ?1036次閱讀

    如何利用Verilog-A開發器件模型

    Verilog-A對緊湊型模型的支持逐步完善,在模型的實現上扮演越來越重要的角色,已經成為緊湊模型開發的新標準。而且Verilog-A能夠在抽象級別和應用領域中擴展SPICE建模和仿真功能,因此學會
    的頭像 發表于 10-18 14:16 ?1185次閱讀
    如何利用<b class='flag-5'>Verilog</b>-A開發器件模型

    【「數字IC設計入門」閱讀體驗】+ 概觀

    ,主要講述了芯片設計過程中仿真驗證方法,用于驗證設計是否符合要求、用好這些仿真方法可以提高開發效
    發表于 09-24 10:58

    十天學會單片機可能嗎?單片機入門需要多久?

    學習單片機的過程,就像學習任何其他技能一樣,不僅在于書本上的知識,更在于實踐和應用的能力。許多人可能會問:十天能學會單片機嗎?答案是:可以,但這取決于你所定義的“學會”到什么程度。首先,讓我們明確
    的頭像 發表于 09-05 08:00 ?2193次閱讀
    十天<b class='flag-5'>學會</b>單片機可能嗎?單片機<b class='flag-5'>入門</b>需要多久?

    名單公布!【書籍評測活動NO.40】數字IC設計入門,多角度透視芯片設計

    的設計和仿真方法,避免了Verilog語法書中簡單的語法堆砌及填鴨式的灌輸。第4章是在前兩章的基礎上,通過實例進一步闡述設計方法中的精髓。第5章詳細介紹了作為當今數字芯片主流的SoC
    發表于 08-08 15:31

    機器學習中的交叉驗證方法

    在機器學習中,交叉驗證(Cross-Validation)是一種重要的評估方法,它通過將數據集分割成多個部分來評估模型的性能,從而避免過擬合或欠擬合問題,并幫助選擇最優的超參數。本文將詳細探討幾種
    的頭像 發表于 07-10 16:08 ?2627次閱讀
    主站蜘蛛池模板: 亚洲一品AV片观看五月色婷婷 | 欧美丰满少妇久久无码精品 | 琪琪婷婷五月色综合久久 | 91久久夜色精品 | 一一本之道高清手机在线观看 | 成人小视频免费在线观看 | 蜜芽资源高清在线观看 | 亚洲精品AV无码重口另类 | 97在线国内自拍视频 | 色狠狠AV老熟女 | 亚洲精品无码国产爽快A片百度 | 99视频精品全部免费观看 | 九九精品国产亚洲A片无码 九九精彩视频在线观看视频 | 亚洲欧美综合在线中文 | 欧美激情视频二区 | 欧美人妇无码精品久久 | 国产精品人妻无码99999 | 久久99热成人精品国产 | 国产成人久久婷婷精品流白浆 | 九色PORNY真实丨首页 | WWW久久只有这里有精品 | 久久久久嫩草影院精品 | 天堂视频在线观看免费完整版 | 娇妻让壮男弄的流白浆 | 艳照门在线观看 | 两性午夜刺激爽爽视频 | 国产在线精品亚洲视频在线 | 久久黄视频| 少妇内射视频播放舔大片 | 语文老师扒开胸罩喂我奶 | 久久婷婷国产五月综合色啪最新 | 深夜释放自己污在线看 | 把腿张开JI巴CAO死你H教室 | 狠狠色综合久久丁香婷婷 | 亚洲综合色五月久久婷婷 | 成人中文字幕在线观看 | 色婷婷国产精品视频一区二区 | av老司机色爱区综合 | 97国产人妻精品无码AV在线 | 日本吃孕妇奶水免费观看 | 久久视热频这里只精品 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品