chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

SystemVerilog中至關(guān)重要的的數(shù)據(jù)類(lèi)型

jf_78858299 ? 來(lái)源:芯片學(xué)堂 ? 作者:JKZHAN ? 2023-01-21 17:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

對(duì)于剛接觸SV的小伙伴來(lái)說(shuō),SV有幾種不怎么能引起關(guān)注,但在實(shí)際工作中又經(jīng)常會(huì)用到的數(shù)據(jù)類(lèi)型。它們就是枚舉(enumeration)、結(jié)構(gòu)體(structures)和自定義類(lèi)型(typedef)。

這三種數(shù)據(jù)類(lèi)型的合理應(yīng)用能夠處理不同邏輯結(jié)構(gòu)的數(shù)據(jù),提高代碼編寫(xiě)效率和可讀性。本文先講枚舉類(lèi)型的使用語(yǔ)法和一些注意的點(diǎn)。

認(rèn)識(shí)枚舉類(lèi)型

枚舉指的是一組有限的被賦予了名字的值的集合。在默認(rèn)情況下,集合中元素的數(shù)據(jù)類(lèi)型是int類(lèi)型,元素值的大小是從0開(kāi)始的遞增關(guān)系。當(dāng)然,元素的數(shù)據(jù)類(lèi)型和值都是可以用戶(hù)自定義的。

枚舉類(lèi)型在日常生活中很常見(jiàn),比如春夏秋冬就是表示季節(jié)的枚舉集合,周一到周天就是表示星期的枚舉集合??梢钥闯?,枚舉的重要作用,就是為了方便區(qū)分和使用。

打個(gè)比方,在正常交流時(shí),我們會(huì)說(shuō)現(xiàn)在在冬天,而不會(huì)故意去說(shuō)現(xiàn)在是第4季。同樣,當(dāng)我們使用代碼來(lái)描述有限集合,比如描述狀態(tài)機(jī)各個(gè)狀態(tài)的時(shí)候,使用名字可以大致表達(dá)不同狀態(tài)的行為,代碼可讀性自然也就提高了。

枚舉在代碼中實(shí)現(xiàn)的功能跟使用宏類(lèi)似,都可以用名字來(lái)代替數(shù)值。宏是在預(yù)處理階段將名字換成了值,而枚舉是在編譯階段將名字換成值。也就是說(shuō),枚舉類(lèi)型的這些名字不是變量,它們不會(huì)占據(jù)任何內(nèi)存。且這些名字的有效范圍是全局的,如果有變量等命名沖突了可能導(dǎo)致編譯不過(guò)。

枚舉類(lèi)型的使用

SV的枚舉類(lèi)型聲明語(yǔ)法跟C語(yǔ)言很像。如果自增的值與已經(jīng)自定義的值產(chǎn)生沖突,會(huì)導(dǎo)致編譯不過(guò);如果枚舉名以數(shù)字開(kāi)頭,也會(huì)導(dǎo)致編譯不過(guò)。另外,SV為枚舉變量還提供了一系列的內(nèi)建方法(first/last/next/prev等),用來(lái)方便對(duì)枚舉變量進(jìn)行索引等操作。

在SV中還明確說(shuō)明了枚舉類(lèi)型是一種強(qiáng)類(lèi)型(strongly typed)的數(shù)據(jù)類(lèi)型。如果給一個(gè)枚舉變量直接賦一個(gè)數(shù)值,這個(gè)數(shù)值不管是不是在枚舉范圍內(nèi),都是不允許的。這種類(lèi)型檢查是為了防止用戶(hù)亂賦值。不過(guò),SV是允許使用顯式類(lèi)型轉(zhuǎn)換(explicit cast)來(lái)完成這種賦值的。

此外,SV允許枚舉變量寫(xiě)到數(shù)值表達(dá)式中進(jìn)行數(shù)值計(jì)算,枚舉名可以當(dāng)常量使用。這個(gè)時(shí)候枚舉變量會(huì)被自動(dòng)轉(zhuǎn)換成對(duì)應(yīng)的整型數(shù)字之后,再繼續(xù)完成數(shù)值計(jì)算。不過(guò)當(dāng)計(jì)算結(jié)果想要重新賦值給枚舉變量的時(shí)候,依然需要進(jìn)行顯式的類(lèi)型轉(zhuǎn)換。

都在代碼里

下面代碼和注釋總結(jié)了以上介紹的枚舉類(lèi)型的使用方法和限制,個(gè)人覺(jué)得掌握例程中的內(nèi)容對(duì)工作來(lái)說(shuō)已經(jīng)完全足夠啦,但例程我還沒(méi)有經(jīng)過(guò)編譯哈。

圖片

參考文獻(xiàn)

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

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

    關(guān)注

    0

    文章

    237

    瀏覽量

    13898
  • 結(jié)構(gòu)體
    +關(guān)注

    關(guān)注

    1

    文章

    131

    瀏覽量

    11119
  • 枚舉
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    為什么DSP對(duì)音頻設(shè)計(jì)至關(guān)重要?

    DSP和音頻解碼是實(shí)現(xiàn)當(dāng)今消費(fèi)者期望的高質(zhì)量音頻的關(guān)鍵要素。這篇博客將是討論這一主題的系列博客的第一篇。首先簡(jiǎn)述DSP為什么對(duì)音頻設(shè)計(jì)至關(guān)重要。在真正開(kāi)放的空間中,大自然提供了無(wú)限數(shù)量的音頻通道
    發(fā)表于 10-30 11:41

    天線(xiàn)系統(tǒng)在NFC設(shè)備至關(guān)重要

    天線(xiàn)系統(tǒng)在NFC設(shè)備至關(guān)重要。一般來(lái)講,對(duì)工作在13.56MHz的NFC系統(tǒng)進(jìn)行成功設(shè)計(jì)不僅需要對(duì)發(fā)射和接收天線(xiàn)進(jìn)行電磁仿真,還需要將分立組件(包括將射頻功率轉(zhuǎn)換為直流信號(hào)的整流橋)包含進(jìn)設(shè)計(jì)
    發(fā)表于 07-17 07:33

    示波器衡量指標(biāo)至關(guān)重要但常被忽略的兩個(gè)概念是什么?

    示波器衡量指標(biāo)至關(guān)重要但常被忽略的兩個(gè)概念是什么?
    發(fā)表于 05-12 06:49

    淺析System Verilog的整數(shù)數(shù)據(jù)類(lèi)型

    Data TypesVerilog提供了reg和wire數(shù)據(jù)類(lèi)型,但是對(duì)于功能驗(yàn)證來(lái)說(shuō)遠(yuǎn)遠(yuǎn)不夠,所以SystemVerilog提供了很多更加豐富的數(shù)據(jù)類(lèi)型,下面將一一介紹。我們先來(lái)考古下,一開(kāi)始
    發(fā)表于 10-11 14:15

    SpinalHDLBundle與普通數(shù)據(jù)類(lèi)型之間的連接賦值轉(zhuǎn)換

    SpinalHDLBundle與SystemVerilog的packed struct很像,在某些場(chǎng)景下,與普通數(shù)據(jù)類(lèi)型之間的連接賦值可以通過(guò)asBits,assignFromBi
    發(fā)表于 10-18 14:22

    51單片機(jī)數(shù)據(jù)類(lèi)型解析

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

    vhdl數(shù)據(jù)類(lèi)型

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

    數(shù)字硬件建模SystemVerilog-枚舉數(shù)據(jù)類(lèi)型

    上一節(jié)介紹了已經(jīng)被淘汰的$unit聲明空間,今天我們來(lái)看看一種重要數(shù)據(jù)類(lèi)型-枚舉數(shù)據(jù)類(lèi)型
    的頭像 發(fā)表于 07-01 17:44 ?2165次閱讀

    asBits函數(shù)如何轉(zhuǎn)換成Bits數(shù)據(jù)類(lèi)型

    SpinalHDLBundle與SystemVerilog的packed struct很像,在某些場(chǎng)景下,與普通數(shù)據(jù)類(lèi)型之間的連接賦值可以通過(guò)asBits,assignFromBi
    的頭像 發(fā)表于 10-17 09:53 ?1070次閱讀

    SpinalHDLBundle數(shù)據(jù)類(lèi)型的轉(zhuǎn)換

    SpinalHDLBundle與SystemVerilog的packed struct很像,在某些場(chǎng)景下,與普通數(shù)據(jù)類(lèi)型之間的連接賦值可以通過(guò)asBits,assignFromBi
    的頭像 發(fā)表于 10-17 09:51 ?1639次閱讀

    SystemVerilog$cast的應(yīng)用

    SystemVerilog casting意味著將一種數(shù)據(jù)類(lèi)型轉(zhuǎn)換為另一種數(shù)據(jù)類(lèi)型。在將一個(gè)變量賦值給另一個(gè)變量時(shí),SystemVerilog要求這兩個(gè)變量具有相同的
    的頭像 發(fā)表于 10-17 14:35 ?3390次閱讀

    關(guān)于有符號(hào)數(shù)據(jù)類(lèi)型的示例

    我們學(xué)習(xí)一下Systemverilog的有符號(hào)數(shù)據(jù)類(lèi)型的賦值。
    的頭像 發(fā)表于 10-17 14:40 ?1316次閱讀

    SystemVerilog的struct

    SystemVerilog“struct”表示相同或不同數(shù)據(jù)類(lèi)型的集合。
    的頭像 發(fā)表于 11-07 10:18 ?2867次閱讀

    SystemVerilog至關(guān)重要的結(jié)構(gòu)體和自定義類(lèi)型

    在上一篇文章《SystemVerilog至關(guān)重要的的數(shù)據(jù)類(lèi)型,介紹了枚舉類(lèi)型的本質(zhì)和使用語(yǔ)
    的頭像 發(fā)表于 01-21 17:18 ?2849次閱讀
    <b class='flag-5'>SystemVerilog</b><b class='flag-5'>中</b><b class='flag-5'>至關(guān)重要</b>的結(jié)構(gòu)體和自定義<b class='flag-5'>類(lèi)型</b>

    plc數(shù)據(jù)類(lèi)型怎么理解和應(yīng)用

    PLC(可編程邏輯控制器)是一種工業(yè)自動(dòng)化設(shè)備,用于控制機(jī)械和工業(yè)過(guò)程。在PLC編程,數(shù)據(jù)類(lèi)型是非常重要的概念,因?yàn)樗鼪Q定了程序數(shù)據(jù)的存
    的頭像 發(fā)表于 12-19 11:39 ?5597次閱讀