国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

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

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

隊列和數(shù)組的操作,常常用在reference model建模或者checker的數(shù)據(jù)比對過程中。隊列的操作包括常用函數(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ù)組(對于非常大的尋址空間存儲建模,我們只需要訪問邊界值,以及中間個別一些空間進(jì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í)行。

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

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

Function和Task

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

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

3. System Verilog的Interface

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

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

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

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

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

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

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

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

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

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

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

定義一個類

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

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

繼承一個類

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

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

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

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

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

一個類的所有實例都共享變量的一個版本,也就是說所有實例都共享同一個copy,該變量對所有實例都是可見并相同的。使用關(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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Verilog
    +關(guān)注

    關(guān)注

    30

    文章

    1374

    瀏覽量

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

    關(guān)注

    22

    文章

    2123

    瀏覽量

    77110
  • 芯片驗證
    +關(guān)注

    關(guān)注

    5

    文章

    42

    瀏覽量

    47916

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    RDMA設(shè)計35:基于 SV 的驗證平臺

    v2 高速數(shù)據(jù)傳輸系統(tǒng)進(jìn)行功能仿真驗證,根據(jù)設(shè)計相關(guān)特點搭建了基于 System Verilog 的仿真驗證平臺,結(jié)合仿真需要設(shè)計了 RoCE v2 子系統(tǒng)模型,以實現(xiàn)系統(tǒng)性的功能
    發(fā)表于 02-01 13:14

    FPGA 入門必看:Verilog 與 VHDL 編程基礎(chǔ)解析!

    很多開發(fā)者第一次接觸FPGA,都會有同樣的疑問:FPGA是硬件,不是軟件,怎么寫程序?答案就是用硬件描述語言(HDL),最常用的就是Verilog和VHDL。今天,我們就帶你入門,搞清楚FPGA編程
    的頭像 發(fā)表于 01-19 09:05 ?448次閱讀
    FPGA <b class='flag-5'>入門</b>必看:<b class='flag-5'>Verilog</b> 與 VHDL 編程基礎(chǔ)解析!

    軟件定義的硬件輔助驗證如何助力AI芯片開發(fā)

    半導(dǎo)體行業(yè)正處于關(guān)鍵轉(zhuǎn)折點。2025 年,1927 億美元的風(fēng)險投資涌入 AI 領(lǐng)域,市場對匹配 AI 快速創(chuàng)新周期的驗證平臺的需求激增。隨著 AI、Multi-Die 架構(gòu)和邊緣計算推動芯片創(chuàng)新
    的頭像 發(fā)表于 12-29 11:17 ?606次閱讀
    軟件定義的硬件輔助<b class='flag-5'>驗證</b>如何助力AI<b class='flag-5'>芯片</b>開發(fā)

    單片機(jī)的入門準(zhǔn)備

    單片機(jī)入門篇 1、學(xué)好電子技術(shù)基礎(chǔ)知識,如電路基礎(chǔ)、模擬電路、數(shù)字電路和微機(jī)原理。這幾門課程都是弱電類專業(yè)的必修課程,學(xué)會這些后能保證你看懂單片機(jī)電路、知道電路的設(shè)計思路和工作原理; 2、學(xué)習(xí)
    發(fā)表于 12-22 07:39

    淺談芯片驗證方法的演進(jìn)過程

    從業(yè)者的核心需求僅在于掌握這些芯片的使用方法,對于其底層設(shè)計原理以及對應(yīng)的測試驗證流程,既缺乏深入探索的條件,也沒有足夠的重視。
    的頭像 發(fā)表于 12-10 15:14 ?592次閱讀
    淺談<b class='flag-5'>芯片</b><b class='flag-5'>驗證</b><b class='flag-5'>方法</b>的演進(jìn)過程

    西門子EDA AI System驅(qū)動芯片設(shè)計新紀(jì)元

    芯片設(shè)計是一項復(fù)雜的系統(tǒng)工程,尤其驗證和優(yōu)化環(huán)節(jié)極其耗費時間和精力。為了有效降低錯誤率、提升設(shè)計質(zhì)量,EDA工具的自動化、智能化發(fā)展成為關(guān)鍵。近年來,隨著AI技術(shù)在EDA領(lǐng)域的應(yīng)用逐漸成熟,為芯片設(shè)計領(lǐng)域帶來了革命性的變化。AI
    的頭像 發(fā)表于 11-17 14:14 ?2355次閱讀
    西門子EDA AI <b class='flag-5'>System</b>驅(qū)動<b class='flag-5'>芯片</b>設(shè)計新紀(jì)元

    如何解決將e203的rtl導(dǎo)入vivado后報語法錯誤的問題

    寫的rtl, 解決方法主要有兩個 一、 shift全選這些報錯文件,右鍵 點擊set file type 將這些文件的類型改為system
    發(fā)表于 10-24 09:49

    有哪些方法可以驗證備用電源續(xù)航測試方案的準(zhǔn)確性?

    驗證電能質(zhì)量在線監(jiān)測裝置備用電源續(xù)航測試方案的準(zhǔn)確性,需從 方案設(shè)計合理性、測試過程可控性、結(jié)果一致性、標(biāo)準(zhǔn)符合性 等維度出發(fā),通過多方法交叉驗證,確保測試結(jié)果能真實反映裝置在斷電場景下的實際續(xù)航
    的頭像 發(fā)表于 09-03 17:42 ?809次閱讀
    有哪些<b class='flag-5'>方法</b>可以<b class='flag-5'>驗證</b>備用電源續(xù)航測試方案的準(zhǔn)確性?

    為什么我選擇VHDL入門

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

    Veloce Primo補(bǔ)全完整的SoC驗證環(huán)境

    0 1 ? 簡介?? SoC 設(shè)計團(tuán)隊的任務(wù)是在創(chuàng)建昂貴的生產(chǎn)掩膜之前完成完整的系統(tǒng)級驗證。這意味著徹底審核所有硬件模塊、這些模塊之間的所有交互以及為最終應(yīng)用創(chuàng)建的所有專用軟件,而且所有這些任務(wù)都要
    的頭像 發(fā)表于 06-12 14:39 ?1412次閱讀
    Veloce Primo補(bǔ)全完整的SoC<b class='flag-5'>驗證</b>環(huán)境

    超大規(guī)模芯片驗證:基于AMD VP1902的S8-100原型驗證系統(tǒng)實測性能翻倍

    引言隨著AI、HPC及超大規(guī)模芯片設(shè)計需求呈指數(shù)級增長原型驗證平臺已成為芯片設(shè)計流程中驗證復(fù)雜架構(gòu)、縮短迭代周期的核心工具。然而,傳統(tǒng)原型驗證
    的頭像 發(fā)表于 06-06 13:13 ?1424次閱讀
    超大規(guī)模<b class='flag-5'>芯片</b><b class='flag-5'>驗證</b>:基于AMD VP1902的S8-100原型<b class='flag-5'>驗證</b>系統(tǒng)實測性能翻倍

    硬件輔助驗證(HAV) 對軟件驗證的價值

    生態(tài)系統(tǒng)和定制指令集開發(fā)的唯一途徑。 當(dāng)下,芯片企業(yè)正在設(shè)計 RISC-V 人工智能 (AI) 與機(jī)器學(xué)習(xí) (ML) 定制加速器,以實現(xiàn)特定工作負(fù)載的加速處理,這些企業(yè)創(chuàng)建的架構(gòu)由軟件驅(qū)動,而不使用遺留數(shù)據(jù)或任何通用數(shù)據(jù)。而是,針對軟件工作負(fù)載應(yīng)用在架構(gòu)層面進(jìn)行量身定制
    的頭像 發(fā)表于 05-13 18:21 ?1992次閱讀

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

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

    CAN芯片邏輯響應(yīng)驗證測試

    在CAN芯片研發(fā)階段,需要做諸多涉及通訊錯誤管理驗證的問題。在ISO-16845國際標(biāo)準(zhǔn)中,規(guī)定完善的測試標(biāo)準(zhǔn),如錯誤幀檢測,傳輸幀相關(guān)檢測,錯誤管理邏輯驗證等,本文主要分享有效便捷的方法
    的頭像 發(fā)表于 04-30 18:24 ?923次閱讀
    CAN<b class='flag-5'>芯片</b>邏輯響應(yīng)<b class='flag-5'>驗證</b>測試

    FPGA Verilog HDL語法之編譯預(yù)處理

    的語句)。Verilog HDL編譯系統(tǒng)通常先對這些特殊的命令進(jìn)行“預(yù)處理”,然后將預(yù)處理的結(jié)果和源程序一起在進(jìn)行通常的編譯處理。
    的頭像 發(fā)表于 03-27 13:30 ?1435次閱讀
    FPGA <b class='flag-5'>Verilog</b> HDL語法之編譯預(yù)處理