在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取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
    +關注

    關注

    28

    文章

    1351

    瀏覽量

    110100
  • C++
    C++
    +關注

    關注

    22

    文章

    2108

    瀏覽量

    73651
  • 芯片驗證
    +關注

    關注

    5

    文章

    34

    瀏覽量

    47229

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

    如何自動生成verilog代碼

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

    system verilog語言簡介

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

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

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

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

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

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

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

    芯片測試和芯片驗證的區別

    這是芯片在設計過程中的一個環節,主要通過EDA(電子設計自動化)工具進行仿真檢驗。它的主要目的是在芯片生產之前,驗證芯片設計是否符合預定的需求規格,是否已經消除了所有的風險,發現并更正
    的頭像 發表于 05-08 16:52 ?2132次閱讀

    如何快速入門FPGA

    。 學習如何使用這些工具進行FPGA的功能仿真、代碼驗證以及配置管腳等操作。 熟悉FPGA硬件平臺: 查閱FPGA芯片手冊,了解器件特性,包括內部RAM大小、乘法器數量等資源。 了解FPGA
    發表于 04-28 09:06

    如何快速入門FPGA?

    。 學習如何使用這些工具進行FPGA的功能仿真、代碼驗證以及配置管腳等操作。 熟悉FPGA硬件平臺: 查閱FPGA芯片手冊,了解器件特性,包括內部RAM大小、乘法器數量等資源。 了解FPGA
    發表于 04-28 08:54

    verilog調用模塊端口對應方式

    Verilog是一種硬件描述語言(HDL),廣泛應用于數字電路設計和硬件驗證。在Verilog中,模塊是構建電路的基本單元,而模塊端口對應方式則用于描述模塊之間信號傳遞的方式。本文將介紹
    的頭像 發表于 02-23 10:20 ?1772次閱讀

    UVVM(通用 VHDL 驗證方法

    UVVM(通用 VHDL 驗證方法) 簡介? UVVM(通用 VHDL 驗證方法)是一種免費的開源方法和庫,用于開發非常結構化的基于 VHD
    發表于 01-02 12:59
    主站蜘蛛池模板: 美女视频久久| 人人做人人爽人人爱秋霞影视| 欧美在线性| 亚洲视频欧美视频| 久草免费在线播放| 九九精品影院| 在线免费黄色| 国产主播在线观看| 激情五月激情综合网| 在线观看精品视频看看播放| 老色皮永久免费网站| 免费观看黄a一级视频| 国产精品高清免费网站| 2021精品综合久久久久| yiren22亚洲综合高清一区| 天天尻逼| freesexvideo性欧美tv| 免费看黄色录像| 超级淫小黄文大全很污的那种 | 91大神成人偷拍在线观看| 天天色天天碰| 1000部啪啪未满十八勿入| 69 hd xxxx日本| 亲女乱h文小兰第一次| 天天躁日日2018躁狠狠躁| 2020狠狠操| 色五月婷婷成人网| 五月天婷婷免费观看视频在线| 天天躁夜夜躁狠狠躁2021| 免费高清在线爱做视频| 久久久久国产午夜| 性大特级毛片视频| 69色综合| 国产精品久久久久久久久齐齐| 国产一区二卡三区四区| 日日干日日爽| 亚洲综合成人网| 一级特黄aaa大片在| 九九热免费在线观看| 国产经典三级在线| 一区二区在线免费视频|