女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

SystemVerilog中至關重要的的數據類型

jf_78858299 ? 來源:芯片學堂 ? 作者:JKZHAN ? 2023-01-21 17:14 ? 次閱讀

對于剛接觸SV的小伙伴來說,SV有幾種不怎么能引起關注,但在實際工作中又經常會用到的數據類型。它們就是枚舉(enumeration)、結構體(structures)和自定義類型(typedef)。

這三種數據類型的合理應用能夠處理不同邏輯結構的數據,提高代碼編寫效率和可讀性。本文先講枚舉類型的使用語法和一些注意的點。

認識枚舉類型

枚舉指的是一組有限的被賦予了名字的值的集合。在默認情況下,集合中元素的數據類型是int類型,元素值的大小是從0開始的遞增關系。當然,元素的數據類型和值都是可以用戶自定義的。

枚舉類型在日常生活中很常見,比如春夏秋冬就是表示季節的枚舉集合,周一到周天就是表示星期的枚舉集合??梢钥闯觯杜e的重要作用,就是為了方便區分和使用。

打個比方,在正常交流時,我們會說現在在冬天,而不會故意去說現在是第4季。同樣,當我們使用代碼來描述有限集合,比如描述狀態機各個狀態的時候,使用名字可以大致表達不同狀態的行為,代碼可讀性自然也就提高了。

枚舉在代碼中實現的功能跟使用宏類似,都可以用名字來代替數值。宏是在預處理階段將名字換成了值,而枚舉是在編譯階段將名字換成值。也就是說,枚舉類型的這些名字不是變量,它們不會占據任何內存。且這些名字的有效范圍是全局的,如果有變量等命名沖突了可能導致編譯不過。

枚舉類型的使用

SV的枚舉類型聲明語法跟C語言很像。如果自增的值與已經自定義的值產生沖突,會導致編譯不過;如果枚舉名以數字開頭,也會導致編譯不過。另外,SV為枚舉變量還提供了一系列的內建方法(first/last/next/prev等),用來方便對枚舉變量進行索引等操作。

在SV中還明確說明了枚舉類型是一種強類型(strongly typed)的數據類型。如果給一個枚舉變量直接賦一個數值,這個數值不管是不是在枚舉范圍內,都是不允許的。這種類型檢查是為了防止用戶亂賦值。不過,SV是允許使用顯式類型轉換(explicit cast)來完成這種賦值的。

此外,SV允許枚舉變量寫到數值表達式中進行數值計算,枚舉名可以當常量使用。這個時候枚舉變量會被自動轉換成對應的整型數字之后,再繼續完成數值計算。不過當計算結果想要重新賦值給枚舉變量的時候,依然需要進行顯式的類型轉換。

都在代碼里

下面代碼和注釋總結了以上介紹的枚舉類型的使用方法和限制,個人覺得掌握例程中的內容對工作來說已經完全足夠啦,但例程我還沒有經過編譯哈。

圖片

參考文獻

[1] IEEE Standard Association. "IEEE Standard for SystemVerilog-Unified Hardware Design, Specification, and Verification Language." (2013).

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

    關注

    0

    文章

    237

    瀏覽量

    13822
  • 結構體
    +關注

    關注

    1

    文章

    130

    瀏覽量

    11030
  • 枚舉
    +關注

    關注

    0

    文章

    16

    瀏覽量

    4690
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    為什么DSP對音頻設計至關重要

    DSP和音頻解碼是實現當今消費者期望的高質量音頻的關鍵要素。這篇博客將是討論這一主題的系列博客的第一篇。首先簡述DSP為什么對音頻設計至關重要。在真正開放的空間中,大自然提供了無限數量的音頻通道
    發表于 10-30 11:41

    天線系統在NFC設備至關重要

    天線系統在NFC設備至關重要。一般來講,對工作在13.56MHz的NFC系統進行成功設計不僅需要對發射和接收天線進行電磁仿真,還需要將分立組件(包括將射頻功率轉換為直流信號的整流橋)包含進設計
    發表于 07-17 07:33

    示波器衡量指標至關重要但常被忽略的兩個概念是什么?

    示波器衡量指標至關重要但常被忽略的兩個概念是什么?
    發表于 05-12 06:49

    淺析System Verilog的整數數據類型

    Data TypesVerilog提供了reg和wire數據類型,但是對于功能驗證來說遠遠不夠,所以SystemVerilog提供了很多更加豐富的數據類型,下面將一一介紹。我們先來考古下,一開始
    發表于 10-11 14:15

    SpinalHDLBundle與普通數據類型之間的連接賦值轉換

    SpinalHDLBundle與SystemVerilog的packed struct很像,在某些場景下,與普通數據類型之間的連接賦值可以通過asBits,assignFromBi
    發表于 10-18 14:22

    51單片機數據類型解析

    數據類型數據結構的定義是一個值的集合以及定義在這個值集上的一組操作。數據類型包括原始類型、多元組、記錄單元、代數
    發表于 11-16 08:45 ?2.6w次閱讀
    51單片機<b class='flag-5'>中</b>的<b class='flag-5'>數據類型</b>解析

    vhdl數據類型

    VHDL的標識符可以是常數、變量、信號、端口、子程序或參數的名字。VHDL數據類型可以分成四大類: 標量型(SCALAR TYPE):屬單元素的最基本的數據類型,通常用于描述一個
    發表于 03-30 15:59 ?11次下載

    數字硬件建模SystemVerilog-枚舉數據類型

    上一節介紹了已經被淘汰的$unit聲明空間,今天我們來看看一種重要數據類型-枚舉數據類型
    的頭像 發表于 07-01 17:44 ?2039次閱讀

    asBits函數如何轉換成Bits數據類型

    SpinalHDLBundle與SystemVerilog的packed struct很像,在某些場景下,與普通數據類型之間的連接賦值可以通過asBits,assignFromBi
    的頭像 發表于 10-17 09:53 ?1004次閱讀

    SpinalHDLBundle數據類型的轉換

    SpinalHDLBundle與SystemVerilog的packed struct很像,在某些場景下,與普通數據類型之間的連接賦值可以通過asBits,assignFromBi
    的頭像 發表于 10-17 09:51 ?1559次閱讀

    SystemVerilog$cast的應用

    SystemVerilog casting意味著將一種數據類型轉換為另一種數據類型。在將一個變量賦值給另一個變量時,SystemVerilog要求這兩個變量具有相同的
    的頭像 發表于 10-17 14:35 ?3255次閱讀

    關于有符號數據類型的示例

    我們學習一下Systemverilog的有符號數據類型的賦值。
    的頭像 發表于 10-17 14:40 ?1235次閱讀

    SystemVerilog的struct

    SystemVerilog“struct”表示相同或不同數據類型的集合。
    的頭像 發表于 11-07 10:18 ?2793次閱讀

    SystemVerilog至關重要的結構體和自定義類型

    在上一篇文章《SystemVerilog至關重要的的數據類型,介紹了枚舉類型的本質和使用語
    的頭像 發表于 01-21 17:18 ?2724次閱讀
    <b class='flag-5'>SystemVerilog</b><b class='flag-5'>中</b><b class='flag-5'>至關重要</b>的結構體和自定義<b class='flag-5'>類型</b>

    plc數據類型怎么理解和應用

    PLC(可編程邏輯控制器)是一種工業自動化設備,用于控制機械和工業過程。在PLC編程,數據類型是非常重要的概念,因為它決定了程序數據的存
    的頭像 發表于 12-19 11:39 ?5324次閱讀