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

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

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

用戶自定義類型

汽車電子技術(shù) ? 來源: OpenFPGA ? 作者:碎碎思 ? 2023-02-09 14:53 ? 次閱讀

pYYBAGPkmCCAXeWzAATM_c-YpNI014.png

除了前面幾篇文章討論的內(nèi)置數(shù)據(jù)類型之外,SystemVerilog還為工程師定義新的數(shù)據(jù)類型提供了一種機(jī)制。用戶定義的數(shù)據(jù)類型允許從現(xiàn)有數(shù)據(jù)類型創(chuàng)建新的類型定義。

用戶自定義類型是使用typedef關(guān)鍵字創(chuàng)建的。例如:

poYBAGPkmCyAG53wAACHpmtB0Yo192.png

一旦定義了新的數(shù)據(jù)類型,就可以用來定義新數(shù)據(jù)類型的變量和網(wǎng)絡(luò)

poYBAGPkmDeAQ5-5AACRAKyV8DQ177.png

用戶自定義類型的命名約定

用戶自定義類型名可以是任何合法標(biāo)識符。在大型設(shè)計(jì)中,定義用戶自定義類型的源代碼和使用該類型的源代碼可以由多行代碼分隔,并且可以位于不同的文件中。如果用戶自定義類型的名稱與用于模塊、網(wǎng)絡(luò)或變量的名稱相似,那么typedef定義和類型用法的這種分離可能會使代碼難以讀取和維護(hù)。

為了使源代碼更易于閱讀和維護(hù),typedef名稱應(yīng)該使用一種命名約定,使名稱明顯代表用戶自定義類型。兩種常見的命名約定是在用戶自定義類型名稱中添加“_t”后綴或“t_”前綴。本文系列文章慣例使用“_t”后綴慣例。

局部typedef聲明

用戶自定義類型可以在模塊或接口中局部定義。局部typedef聲明類型只能在定義它的模塊或接口中使用。構(gòu)成總體設(shè)計(jì)的其他模塊或接口不能引用該類型的用戶自定義類型。

共享typedef定義-Shared typedef definitions

當(dāng)用戶自定義類型要在許多不同的模型中使用時,可以在包中聲明typedef定義以供其他模塊使用。

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

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110101
  • System
    +關(guān)注

    關(guān)注

    0

    文章

    165

    瀏覽量

    36947
  • 數(shù)據(jù)類型
    +關(guān)注

    關(guān)注

    0

    文章

    236

    瀏覽量

    13624
收藏 人收藏

    評論

    相關(guān)推薦

    數(shù)字硬件建模SystemVerilog-按位運(yùn)算符

    經(jīng)過幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來就是RTL表達(dá)式和運(yùn)算符。
    的頭像 發(fā)表于 08-12 14:27 ?2617次閱讀

    關(guān)于數(shù)字硬件建模SystemVerilog

    經(jīng)過幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來就是RTL表達(dá)式和運(yùn)算符。
    的頭像 發(fā)表于 09-01 08:50 ?1401次閱讀

    Greenplum的用戶自定義類型(1)#分布式數(shù)據(jù)系統(tǒng)

    數(shù)據(jù)系統(tǒng)
    學(xué)習(xí)硬聲知識
    發(fā)布于 :2023年05月31日 19:28:13

    Greenplum的用戶自定義類型(2)#分布式數(shù)據(jù)系統(tǒng)

    數(shù)據(jù)系統(tǒng)
    學(xué)習(xí)硬聲知識
    發(fā)布于 :2023年05月31日 19:28:35

    第34章 窗口管理器實(shí)例(一)

    轉(zhuǎn)stemwin教程為了幫助大家更好的理解窗口管理器的回調(diào)和消息機(jī)制,本期教程專門做了三個相關(guān)的例子,幫助大家更好的理解。 34. 1用戶自定義消息類型實(shí)例 34. 2 桌面窗口回調(diào)函數(shù)實(shí)例 34. 3 官方WM_Redraw.
    發(fā)表于 10-16 10:43

    【emWin實(shí)戰(zhàn)教程V2.0】第37章 窗口管理器實(shí)例(含自定義消息)

    轉(zhuǎn)最新版本教程為了幫助大家更好的理解窗口管理器的回調(diào)函數(shù)和消息機(jī)制,本章教程專門做了兩個相關(guān)的例子,幫助大家更好的理解。37.1初學(xué)者重要提示37.2 用戶自定義消息類型實(shí)例37.3 桌面窗口回調(diào)函數(shù)實(shí)例37.4 總結(jié)
    發(fā)表于 02-17 17:19

    SV Structure作為module的input/output

    到這個struct。最后打印表明這個結(jié)構(gòu)體確實(shí)完成了連接,打印相同的信息。struct可以作為參數(shù)傳遞給task或function,前提是這個struct需要先使用typedef聲明為用戶自定義類型
    發(fā)表于 11-10 15:30

    C語言入門教程-指向結(jié)構(gòu)體的指針

    指向結(jié)構(gòu)體的指針 在C語言中幾乎可以創(chuàng)建指向任何類型的指針,包括用戶自定義類型。創(chuàng)建結(jié)構(gòu)體指針是極常見的。下面是一個例子: typedef struct{
    發(fā)表于 07-29 12:04 ?3153次閱讀

    ProDAQ6150-LXI絕緣熱電偶測試單元的性能特點(diǎn)分析

    ProDAQ6150是一款高精度LXI熱電偶測試設(shè)備,可提供16/32/48路測試通道。可支持所有常用的熱電偶類型,如J,E,N,K,T,R,S,B,同時也可通過可編程轉(zhuǎn)換器支持用戶自定義類型
    的頭像 發(fā)表于 01-07 16:41 ?1770次閱讀

    SystemVerilog為工程師定義新的數(shù)據(jù)類型提供了一種機(jī)制

    為了使源代碼更易于閱讀和維護(hù),typedef名稱應(yīng)該使用一種命名約定,使名稱明顯代表用戶自定義類型。兩種常見的命名約定是在用戶自定義
    的頭像 發(fā)表于 06-09 09:45 ?949次閱讀

    RTL表達(dá)式和運(yùn)算符

    經(jīng)過幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來就是RTL表達(dá)式和運(yùn)算符。
    的頭像 發(fā)表于 07-27 09:11 ?1727次閱讀

    關(guān)于RTL表達(dá)式和運(yùn)算符

    經(jīng)過幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來就是RTL表達(dá)式和運(yùn)算符。
    的頭像 發(fā)表于 09-01 09:13 ?1887次閱讀

    RTL表達(dá)式和運(yùn)算符

    經(jīng)過幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來就是RTL表達(dá)式和運(yùn)算符。
    的頭像 發(fā)表于 10-11 10:15 ?1742次閱讀

    RTL表達(dá)式和運(yùn)算符

    經(jīng)過幾周的更新,SV核心部分用戶自定義類型和包內(nèi)容已更新完畢,接下來就是RTL表達(dá)式和運(yùn)算符。
    的頭像 發(fā)表于 11-03 09:14 ?1380次閱讀

    博途PLC1200/1500PLC用戶自定義數(shù)據(jù)類型(UDT)

    用戶自定義的數(shù)據(jù)類型可以包含基本數(shù)據(jù)類型(例如,INT bool string),以及 數(shù)組 ,結(jié)構(gòu)體,以及PLC的專有數(shù)據(jù)類型等,而且
    發(fā)表于 04-20 09:46 ?5次下載
    博途PLC1200/1500PLC<b class='flag-5'>用戶</b><b class='flag-5'>自定義</b>數(shù)據(jù)<b class='flag-5'>類型</b>(UDT)