吴忠躺衫网络科技有限公司

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

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

3天內不再提示

SystemVerilog在硬件設計部分有哪些優勢

FPGA技術驛站 ? 來源: FPGA技術驛站 ? 2023-10-19 11:19 ? 次閱讀

談到SystemVerilog,很多工程師都認為SystemVerilog僅僅是一門驗證語言,事實上不只如此。傳統的Verilog和VHDL被稱為HDL(Hardware Description Language,硬件描述語言),而SystemVerilog則是HDVL(Hardware Design and Verification Language,硬件設計與驗證語言)。由此可見,SystemVerilog也是可以用于硬件設計的,也是有可綜合部分的。SystemVerilog本身由3部分構成:

SV-HDL:用于硬件設計,可綜合,是可綜合Verilog的加強版;

SV-Assertion:斷言;

SV-HVL:用于硬件驗證,UVM就是利用此發展而來的驗證方法學。

下圖顯示了SystemVerilog與Verilog可綜合的部分。

wKgaomUwoFCAH2AVAAIMtBAX5n0432.jpg

至此我們已經澄清了一個事實:SystemVerilog是可以用于硬件設計的。那么相比于Verilog,SystemVerilog在硬件設計部分有哪些優勢呢?

從數據類型的角度看,SystemVerilog引入了4值類型logic,這與VHDL的std_logic是相同的。盡管Verilog中的reg也是4值類型,但在端口聲明時,有的需要聲明為reg,有的需要聲明為wire,內部變量定義亦是如此。同時,reg會讓很多初學者誤以為該變量對應一個寄存器(register),而事實上,只要是always進程或initial中用到的輸出變量都要定義為reg類型。使用logic則避免了這種歧義。如下圖所示代碼片段,輸入/輸出都定義為logic類型。

wKgZomUwoFCAC8hgAACIAbJ3aos319.jpg

SystemVerilog引入了枚舉類型,通過enum定義,也支持用戶定義的枚舉類型,這使得在描述狀態機時更為方便,如下圖所示代碼片段。同時,SystemVerilog還允許對枚舉變量賦值,這樣就可以根據場景需要明確指定狀態機的編碼方式。

wKgZomUwoFCAS6SOAAAMfhgFSLo270.jpg

SystemVerilog支持結構體,帶來的好處是可以把相關變量綁定在一起,這樣使用起來更為直觀方便,如下圖所示代碼片段。可以對整個結構體賦值,如代碼第7行所示,也可以對結構體內某個指定變量賦值。struct允許綁定不同類型的數據,而數組則要求數據類型一致,這是兩者的關鍵區別。

wKgaomUwoFCAf4WRAABCr78x8-s879.jpg

同樣地,SystemVerilog也支持用戶定義的結構體,這便于代碼復用。從代碼風格角度看,最好將用戶定義的結構體在package中進行聲明,避免因編譯順序而導致的錯誤。

wKgZomUwoFCAT6q7AAAowjmf5Ss199.jpg

SystemVerilog引入了package,這樣同一個聲明可以被不同模塊使用,避免了重復定義,如下圖所示代碼片段。可以在package中聲明參數、結構體、函數等。具體案例可閱讀這篇文章。

說說SystemVerilog的Package

wKgZomUwoFCAajUeAADT4g4ToAg582.jpg

SystemVerilog支持packed array,本質上是對vector的增強。如下圖所示代碼片段。b1是位寬為32的向量,b2本質上也是位寬為32的向量,只是將b2按位域進行分割,如代碼第20行所示。這樣在引用時更為方便,比如獲取b2[1]其實就是獲取b1[15:8]。

wKgaomUwoFCATDzZAAAQbBm8_NY692.jpg

對于常規數組,也就是unpacked array,SystemVerilog支持類似于C語言的聲明方式,如下圖所示代碼片段。這兩行代碼是等效的,顯然后者聲明更為簡潔。

wKgZomUwoFCAUMaRAAAJDoYZrYA611.jpg

另外,SystemVerilog還引入了interface,這對于描述互連較多的模塊時更為友好方便,具體案例可閱讀這篇文章。

說說SystemVerilog的Interface

wKgaomUwoFCAQyw5AACmYN3abMo930.jpg

審核編輯:湯梓紅

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

    關注

    28

    文章

    1351

    瀏覽量

    110389
  • System
    +關注

    關注

    0

    文章

    165

    瀏覽量

    37073
  • HDL
    HDL
    +關注

    關注

    8

    文章

    328

    瀏覽量

    47467
  • 硬件設計
    +關注

    關注

    18

    文章

    399

    瀏覽量

    44664
  • 驗證語言
    +關注

    關注

    0

    文章

    3

    瀏覽量

    6649

原文標題:SystemVerilog不只是用于驗證(1)

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    做FPGA工程師需要掌握SystemVerilog嗎?

    某大型科技公司的招聘網站上看到招聘邏輯硬件工程師需要掌握SystemVerilog語言,感覺SystemVerilog語言是用于ASIC驗證的,那么做FPGA工程師有沒有必要掌握
    發表于 08-02 20:30

    硬件光線追蹤的優勢哪些?

    光線追蹤面臨的關鍵挑戰是什么?硬件光線追蹤的優勢哪些?
    發表于 05-31 06:53

    SystemVerilog哪些標準?

    SystemVerilog哪些標準?
    發表于 06-21 08:09

    SystemC 和SystemVerilog的比較

    就 SystemC 和 SystemVerilog 這兩種語言而言, SystemC 是C++硬件支持方面的擴展,而 SystemVerilog 則繼承了 Verilog,并對 Ve
    發表于 08-16 10:52 ?5412次閱讀

    SystemVerilog設計語言

    SystemVerilog 是過去10年來多方面技術發展和實際試驗的結晶,包括硬件描述語言(HDL)、硬件驗證語言(HVL)、SystemC、Superlog和屬性規范語言。它們都從技術和市場的成敗中得到了豐富的經
    發表于 09-07 09:55 ?1197次閱讀

    SystemVerilog的正式驗證和混合驗證

    手冊的這一部分探討了使用SystemVerilog進行驗證,然后查看了使用SystemVerilog的優點和缺點。
    發表于 03-29 10:32 ?24次下載

    SystemVerilog語言介紹匯總

    作者:limanjihe ?https://blog.csdn.net/limanjihe/article/details/83005713 SystemVerilog是一種硬件描述和驗證語言
    的頭像 發表于 10-11 10:35 ?2442次閱讀

    SystemVerilog硬件功能如何進行建模

    本文定義了通常用于描述使用SystemVerilog硬件功能進行建模的詳細級別的術語。
    的頭像 發表于 03-30 11:42 ?1790次閱讀

    IEEE SystemVerilog標準:統一的硬件設計規范和驗證語言

    IEEE SystemVerilog標準:統一的硬件設計規范和驗證語言
    發表于 08-25 15:52 ?1次下載

    使用Verilog/SystemVerilog硬件描述語言練習數字硬件設計

    HDLBits 是一組小型電路設計習題集,使用 Verilog/SystemVerilog 硬件描述語言 (HDL) 練習數字硬件設計~
    的頭像 發表于 08-31 09:06 ?1766次閱讀

    SystemVerilog中的Shallow Copy

    SystemVerilog中的句柄賦值和對象復制的概念是區別的。
    的頭像 發表于 11-21 10:32 ?959次閱讀

    FPGA學習-SystemVerilog語言簡介

    SystemVerilog是一種硬件描述和驗證語言(HDVL),它基于IEEE1364-2001 Verilog硬件描述語言(HDL),并對其進行了擴展,包括擴充了 C語言 數據類型、結構、壓縮和非
    的頭像 發表于 12-08 10:35 ?2237次閱讀

    systemverilog:logic比reg更有優勢

    systemverilog協議中,logic定義四態值,即向量(vector)的每個位(bit)可以是邏輯0, 1, Z或X,與verilog協議中的reg很接近。但是logic個很明顯的
    的頭像 發表于 09-28 17:34 ?2600次閱讀
    <b class='flag-5'>systemverilog</b>:logic比reg更有<b class='flag-5'>優勢</b>?

    systemverilog:logic比reg更有優勢

    systemverilog協議中,logic定義四態值,即向量(vector)的每個位(bit)可以是邏輯0, 1, Z或X,與verilog協議中的reg很接近。但是logic個很明顯的
    的頭像 發表于 10-26 09:32 ?1230次閱讀
    <b class='flag-5'>systemverilog</b>:logic比reg更有<b class='flag-5'>優勢</b>

    SystemVerilog相比于Verilog的優勢

    我們再從對可綜合代碼的支持角度看看SystemVerilog相比于Verilog的優勢。針對硬件設計,SystemVerilog引入了三種進程always_ff,always_comb
    的頭像 發表于 10-26 10:05 ?1076次閱讀
    <b class='flag-5'>SystemVerilog</b>相比于Verilog的<b class='flag-5'>優勢</b>
    左权县| 九游棋牌游戏大厅| 百家乐正网开户| 百家乐官网破解仪| 山西百家乐官网用品| 百家乐官网游戏平台排名| 网上百家乐官网的技巧| 333娱乐| 棋牌游戏平台排行榜| 新彩百家乐的玩法技巧和规则| 逍遥坊百家乐官网的玩法技巧和规则| 百家乐官网玩法教程| 怎样赢百家乐官网的玩法技巧和规则| 大亨百家乐娱乐城| 太阳城直属现金网| 澳门百家乐官网代理| 大发888大发888官网| 威尼斯人娱乐城 196| 百家乐官网桌| 金臂百家乐官网注册送彩金 | 赌博百家乐官网有技巧吗| 百家乐官网技巧在那里| 大发888游戏客服电话| 大发888在线充值| 菲利宾太阳城娱乐网| 金满堂百家乐的玩法技巧和规则| 百家乐和的打法| 大发888娱乐城欢迎lm0| 大发888娱乐城主页| 足球投注| 百家乐官网看单技术| 百家乐官网声音不印网| 网络百家乐官网的信誉| 百家乐官网三国| 免费百家乐官网倍投| 百家乐官网筹码托盘| 滨海湾百家乐娱乐城| 大哥大百家乐的玩法技巧和规则 | 百家乐长龙如何判断| 百家乐赌博策略大全| 大发888网页版免费|