99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

學(xué)會(huì)這些System Verilog方法,芯片驗(yàn)證入門沒問題

jf_5P3RKFtu ? 來源:于博士Jacky ? 作者:于博士Jacky ? 2022-12-09 15:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 驗(yàn)證的主流語言為什么是System Verilog語言?

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

一個(gè)掌握Verilog語言的工程師初次看SystemVerilog都會(huì)有這樣的感受,這就是Verilog啊,很容易啊,So easy啊。沒錯(cuò),確實(shí)是這樣,System Verilog的產(chǎn)生就是因?yàn)樾酒O(shè)計(jì)規(guī)模不斷增長(zhǎng),功能日趨復(fù)雜,單純的用Verilog和VHDL等硬件語言已經(jīng)無法滿足驗(yàn)證的需求,結(jié)合C,C++等軟件語言,又顯得難度太大,不容易掌握,因此產(chǎn)生了SystemVerilog,當(dāng)然也產(chǎn)生了其他驗(yàn)證語言,比如Vera和e語言,但因?yàn)镾ystemVerilog結(jié)合了來自 Verilog、VHDL、C++的概念,還有驗(yàn)證平臺(tái)語言(OpenVera和e語言)和斷言語言(OVA和PSL),使得SystemVerilog在驗(yàn)證界坐穩(wěn)了第一的寶座。它將硬件描述語言(HDL)與現(xiàn)代的高層級(jí)驗(yàn)證語言(HVL)結(jié)合了起來。使其對(duì)于進(jìn)行當(dāng)今高度復(fù)雜的設(shè)計(jì)驗(yàn)證的驗(yàn)證工程師具有相當(dāng)大的吸引力。這些都使得SystemVerilog在一個(gè)更高的抽象層次上提高了設(shè)計(jì)建模的能力。隨著不斷地發(fā)展,System Verilog擁有芯片設(shè)計(jì)及驗(yàn)證工程師所需的全部結(jié)構(gòu),它集成了面向?qū)ο?a target="_blank">編程、動(dòng)態(tài)線程和線程間通信等特性,作為一種工業(yè)標(biāo)準(zhǔn)語言,SV全面綜合了RTL設(shè)計(jì)、測(cè)試平臺(tái)、斷言和覆蓋率,為系統(tǒng)級(jí)的設(shè)計(jì)及驗(yàn)證提供強(qiáng)大的支持作用。另一方面,驗(yàn)證方法學(xué)(VMM、OVM、AVM和UVM等)的推動(dòng)也功不可沒,System Verilog能夠和芯片驗(yàn)證方法學(xué)結(jié)合在一起,即作為實(shí)現(xiàn)方法學(xué)的一種語言工具。使用驗(yàn)證方法學(xué)可以大大增強(qiáng)模塊復(fù)用性、提高芯片開發(fā)效率,縮短開發(fā)周期。

2.出鏡率較高的數(shù)據(jù)類型

邏輯(logic)類型。

四狀態(tài)類型:interger,reg,logic,time,wire,tri

雙狀態(tài)數(shù)據(jù)類型(更好的性能,更低的內(nèi)存消耗)。

二狀態(tài)類型:bit,int,byte,shortint,longint

隊(duì)列,動(dòng)態(tài)和關(guān)聯(lián)數(shù)組(自帶搜索和分類功能)

隊(duì)列和數(shù)組的操作,常常用在reference model建?;蛘遚hecker的數(shù)據(jù)比對(duì)過程中。隊(duì)列的操作包括常用函數(shù):insert,delete,push_back, pop_back, push_front, push_back等;數(shù)組的操作(min最小值,max最大值,unique排除重復(fù),find索引相關(guān),sum求和,sort升序,rsort降序,reverse倒序,shuffle亂序等。

關(guān)聯(lián)數(shù)組(對(duì)于非常大的尋址空間存儲(chǔ)建模,我們只需要訪問邊界值,以及中間個(gè)別一些空間進(jìn)行驗(yàn)證,關(guān)聯(lián)數(shù)組提供保存稀疏矩陣的元素)。

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

枚舉類型

類似于宏定義,或者使用參數(shù)。

typedef enum{WAIT, DECODE, READY}fsmstate_e;

fsmstate_e pstate,nstate;

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

結(jié)構(gòu)體(支持抽象數(shù)據(jù)結(jié)構(gòu))用struct建語句創(chuàng)建數(shù)據(jù)結(jié)構(gòu)。

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

pixel_s my_pixel;

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

fork...join塊可以指定一條或多條語句,每一條語句都應(yīng)該作為并發(fā)進(jìn)程執(zhí)行。

選項(xiàng) 描述
join 父進(jìn)程會(huì)阻塞直到這個(gè)分支產(chǎn)生的所有進(jìn)程結(jié)束。
join_any 父進(jìn)程會(huì)阻塞直到這個(gè)分支產(chǎn)生的任意一個(gè)進(jìn)程結(jié)束。
join_none 父進(jìn)程會(huì)繼續(xù)與這個(gè)分支產(chǎn)生的所有進(jìn)程并發(fā)執(zhí)行。在父線程執(zhí)行一條阻塞語句之前,產(chǎn)生的進(jìn)程不會(huì)啟動(dòng)執(zhí)行。

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

Function和Task

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

消耗時(shí)間的操作用task,比如driver里面對(duì)信號(hào)的驅(qū)動(dòng)過程,一般來講是在task中完成,但是具體的算法是由function完成的,所以,task中調(diào)用function。task沒有返回值。

3. System Verilog的Interface

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

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

可以包含參數(shù)、常量、變量、函數(shù)和任務(wù)、流程和連續(xù)分配,這對(duì)于系統(tǒng)級(jí)建模和測(cè)試應(yīng)用程序都很有用。

可以幫助構(gòu)建功能覆蓋記錄和報(bào)告、協(xié)議檢查和斷言等應(yīng)用程序。

可以用于無端口訪問:接口可以作為模塊中的靜態(tài)數(shù)據(jù)對(duì)象直接實(shí)例化。因此,可以從設(shè)計(jì)中的不同點(diǎn)調(diào)用用于訪問接口內(nèi)部狀態(tài)信息的方法來共享信息。

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

4. System Verilog的面向?qū)ο螅∣OP)

面向?qū)ο笫褂脩裟軌騽?chuàng)建復(fù)雜的數(shù)據(jù)類型,并且將它們跟使用這些數(shù)據(jù)類型的程序緊密的結(jié)合在一起。用戶可以在更加抽象的平臺(tái)上建立測(cè)試模型,通過調(diào)用函數(shù)改變信號(hào),而不是直接改變電平信號(hào)。

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

從結(jié)構(gòu)體開始:程序設(shè)計(jì)=數(shù)據(jù)結(jié)構(gòu)+算法實(shí)現(xiàn)

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

定義一個(gè)類

類將結(jié)構(gòu)體和它相應(yīng)的函數(shù)集合在一起,成為一種新的數(shù)據(jù)組織形式。在這種新的數(shù)據(jù)組織形式中,有兩種成分,一種是來自結(jié)構(gòu)體的數(shù)據(jù)變量,在類中被稱為成員變量;另外一種來自與結(jié)構(gòu)體相對(duì)應(yīng)的函數(shù),被稱為一個(gè)類的接口。

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

繼承一個(gè)類

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

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

多態(tài):多個(gè)程序使用一個(gè)共同的名字的現(xiàn)象。

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

靜態(tài)變量和方法

一個(gè)類的所有實(shí)例都共享變量的一個(gè)版本,也就是說所有實(shí)例都共享同一個(gè)copy,該變量對(duì)所有實(shí)例都是可見并相同的。使用關(guān)鍵字static產(chǎn)生。

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

類的參數(shù)化定義

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

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

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Verilog
    +關(guān)注

    關(guān)注

    29

    文章

    1367

    瀏覽量

    112256
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2119

    瀏覽量

    75278
  • 芯片驗(yàn)證
    +關(guān)注

    關(guān)注

    5

    文章

    40

    瀏覽量

    47624

原文標(biāo)題:學(xué)會(huì)這些System Verilog方法,芯片驗(yàn)證入門沒問題

文章出處:【微信號(hào):于博士Jacky,微信公眾號(hào):于博士Jacky】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    為什么我選擇VHDL入門

    在群里交流提問的時(shí)候,大家總是驚訝并疑惑:為什么我要選擇 VHDL入門?因?yàn)楹孟?99% 搞 FPGA 開發(fā)的人都在用 Verilog。 我的選擇,是通過網(wǎng)上搜索的討論而做出的,為了留存,我這里水一
    的頭像 發(fā)表于 06-25 11:18 ?249次閱讀
    為什么我選擇VHDL<b class='flag-5'>入門</b>

    System Level EOS Testing Method”可以翻譯為: “系統(tǒng)級(jí)電性過應(yīng)力測(cè)試方法

    System Level EOS Testing Method”可以翻譯為: “系統(tǒng)級(jí)電性過應(yīng)力測(cè)試方法
    的頭像 發(fā)表于 05-05 15:55 ?319次閱讀
    “<b class='flag-5'>System</b> Level EOS Testing Method”可以翻譯為: “系統(tǒng)級(jí)電性過應(yīng)力測(cè)試<b class='flag-5'>方法</b>”

    新思科技推出基于AMD芯片的新一代原型驗(yàn)證系統(tǒng)

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

    淺談Verilog和VHDL的區(qū)別

    Verilog和VHDL是兩種廣泛使用的硬件描述語言(HDL),它們用于描述和模擬數(shù)字電路系統(tǒng)的行為和結(jié)構(gòu)。這兩種語言的主要作用是幫助工程師設(shè)計(jì)、仿真和驗(yàn)證集成電路(IC)和系統(tǒng)級(jí)芯片(SoC)中的硬件模塊。
    的頭像 發(fā)表于 02-17 14:20 ?1568次閱讀
    淺談<b class='flag-5'>Verilog</b>和VHDL的區(qū)別

    Verilog 電路仿真常見問題 Verilog芯片設(shè)計(jì)中的應(yīng)用

    在現(xiàn)代電子設(shè)計(jì)自動(dòng)化(EDA)領(lǐng)域,Verilog作為一種硬件描述語言,已經(jīng)成為數(shù)字電路設(shè)計(jì)和驗(yàn)證的標(biāo)準(zhǔn)工具。它允許設(shè)計(jì)師以高級(jí)抽象的方式定義電路的行為和結(jié)構(gòu),從而簡(jiǎn)化了從概念到硅片的整個(gè)設(shè)計(jì)流程
    的頭像 發(fā)表于 12-17 09:53 ?1191次閱讀

    Verilog 與 ASIC 設(shè)計(jì)的關(guān)系 Verilog 代碼優(yōu)化技巧

    Circuit,專用集成電路)設(shè)計(jì)是一個(gè)復(fù)雜的過程,涉及到邏輯設(shè)計(jì)、綜合、布局布線、物理驗(yàn)證等多個(gè)環(huán)節(jié)。在這個(gè)過程中,Verilog被用來描述數(shù)字電路的行為和結(jié)構(gòu),進(jìn)而實(shí)現(xiàn)ASIC的設(shè)計(jì)。 具體來說
    的頭像 發(fā)表于 12-17 09:52 ?1037次閱讀

    Verilog 測(cè)試平臺(tái)設(shè)計(jì)方法 Verilog FPGA開發(fā)指南

    Verilog測(cè)試平臺(tái)設(shè)計(jì)方法Verilog FPGA開發(fā)中的重要環(huán)節(jié),它用于驗(yàn)證Verilog設(shè)計(jì)的正確性和性能。以下是一個(gè)詳細(xì)的
    的頭像 發(fā)表于 12-17 09:50 ?1137次閱讀

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

    Verilog 與 VHDL 比較 1. 語法和風(fēng)格 VerilogVerilog 的語法更接近于 C 語言,對(duì)于有 C 語言背景的工程師來說,學(xué)習(xí)曲線較平緩。它支持結(jié)構(gòu)化編程,代碼更直觀,易于
    的頭像 發(fā)表于 12-17 09:44 ?1697次閱讀

    如何自動(dòng)生成verilog代碼

    介紹幾種自動(dòng)生成verilog代碼的方法。
    的頭像 發(fā)表于 11-05 11:45 ?1029次閱讀
    如何自動(dòng)生成<b class='flag-5'>verilog</b>代碼

    system verilog語言簡(jiǎn)介

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

    FPGA編程語言的入門教程

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

    如何利用Verilog-A開發(fā)器件模型

    Verilog-A對(duì)緊湊型模型的支持逐步完善,在模型的實(shí)現(xiàn)上扮演越來越重要的角色,已經(jīng)成為緊湊模型開發(fā)的新標(biāo)準(zhǔn)。而且Verilog-A能夠在抽象級(jí)別和應(yīng)用領(lǐng)域中擴(kuò)展SPICE建模和仿真功能,因此學(xué)會(huì)
    的頭像 發(fā)表于 10-18 14:16 ?1336次閱讀
    如何利用<b class='flag-5'>Verilog</b>-A開發(fā)器件模型

    【「數(shù)字IC設(shè)計(jì)入門」閱讀體驗(yàn)】+ 概觀

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

    十天學(xué)會(huì)單片機(jī)可能嗎?單片機(jī)入門需要多久?

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

    名單公布!【書籍評(píng)測(cè)活動(dòng)NO.40】數(shù)字IC設(shè)計(jì)入門,多角度透視芯片設(shè)計(jì)

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