在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

typedef的應(yīng)用實(shí)例

芯片驗(yàn)證工程師 ? 來源:芯片驗(yàn)證工程師 ? 作者:芯片驗(yàn)證工程師 ? 2022-10-14 09:33 ? 次閱讀

" typedef "僅僅意味著提供一個(gè)類型名,可以簡單地理解為文本替換,提高代碼的可讀性。

typedef existing_type mytype;

例如:

typedef enum {NO, YES} boolean;
boolean myvar1, myvar2; // user-defned type

等價(jià)于

enum {NO, YES} myvar1,myvar2;

下面是一個(gè)簡單的例子:

module tdef;
 typedef integer unsigned u_integer;
 typedef enum {RED, GREEN, BLUE} rgb;
 typedef bit [7:0] ubyte;
 u_integer uI = 32'h face_cafe;
 u_integer uI1 = 32'h cafe_face;
 rgb rgb_i = GREEN;
 rgb rgb_i1 = BLUE;
 ubyte cnt = 8'hFF;
 initial begin
    $display ("rgb_i=%s rgb_i1=%s uI=0x%0h uI1=0x%0h cnt=%0d", 
rgb_i.name( ), rgb_i1.name( ), uI, uI1, cnt);
 end
 endmodule

Simulation log:

rgb_i=GREEN rgb_i1=BLUE uI=0xfacecafe uI1=0xcafeface cnt=255
 V C S S i m u l a t i o n R e p o r t


Example 1:
module中聲明了三種不同的“類型定義”。
第一個(gè)typedef是

typedef integer unsigned u_integer;

然后聲明兩個(gè)類型為“u_integer”的變量u1和uI1并
初始化:

u_integer uI = 32'h face_cafe;
u_integer uI1 = 32'h cafe_face;

第二個(gè)typedef是

typedef enum {RED, GREEN, BLUE} rgb;

聲明兩個(gè)變量" rgb_i "和" rgb_i1 "并初始化:

rgb rgb_i = GREEN;
rgb rgb_i1 = BLUE;

最后一個(gè)typedef

typedef bit [7:0] ubyte;

聲明一個(gè)變量cnt 并初始化

ubyte cnt = 8'hFF;

上面的幾個(gè)例子還不是很好地體現(xiàn)typedef的好處,最大的優(yōu)勢體現(xiàn)在更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)上上。

Example 1:

typedef struct {
 bit [31:0] opcode;
 bit R_W;
 logic byteEnb;
 integer data;
 integer addr;
 } read_cycle;
 read_cycle rC;

Example 2:

typedef int data_t [3:0][7:0];
data_t a;

Example 3:

typedef int Qint[$];
 Qint DynamicQ[ ]; // same as int DynamicQ[ ][$];

Example 4:

typedef struct packed {
 bit [3:0] s1;
 bit s2;
 } myStruct;
 typedef union {
 logic [7:0] u1;
 myStruct b2;
 } mUnionT;
 mUnionT Union1;

審核編輯:湯梓紅

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

    關(guān)注

    30

    文章

    4837

    瀏覽量

    69126
  • typedef
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    9564

原文標(biāo)題:SystemVerilog 中的typedef

文章出處:【微信號(hào):芯片驗(yàn)證工程師,微信公眾號(hào):芯片驗(yàn)證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Typedef的用途和原聲明舉例及陷阱分析

    typedef是一種在計(jì)算機(jī)編程語言中用來聲明自定義數(shù)據(jù)類型,配合各種原有數(shù)據(jù)類型來達(dá)到簡化編程的目的的類型定義關(guān)鍵字。本文主要介紹的是Typedef的用途和陷阱,供參考。 在編程中使
    發(fā)表于 04-14 07:34 ?1228次閱讀
    <b class='flag-5'>Typedef</b>的用途和原聲明舉例及陷阱分析

    C語言#define和typedef的區(qū)別

    在C語言編程中,typedef 和 #define是最常用語句,可能很多工作過幾年的工程師都沒有去深究過它們的一些用法和區(qū)別。
    發(fā)表于 11-03 10:29 ?702次閱讀

    typedef的使用【轉(zhuǎn)】

    typedef給變量類型定義一個(gè)別名.typedef struct{ int a; int b; }MY_TYPE; 這里把一個(gè)未命名結(jié)構(gòu)直接取了一個(gè)叫MY_TYPE的別名, 這樣如果你想定義結(jié)構(gòu)的實(shí)例
    發(fā)表于 07-27 11:06

    Typedef用法小結(jié)

    非常不錯(cuò)的文檔有著基本數(shù)據(jù)類型結(jié)構(gòu)體enum與函數(shù)指針等等的Typedef相關(guān)用法.
    發(fā)表于 11-02 11:36 ?19次下載

    typedef是什么意思

    typedef是在計(jì)算機(jī)編程語言中用來為復(fù)雜的聲明定義簡單的別名,與宏定義有些差異。它本身是一種存儲(chǔ)類的關(guān)鍵字,與auto、extern、mutable、static、register等關(guān)鍵字不能出現(xiàn)在同一個(gè)表達(dá)式中。
    發(fā)表于 11-09 14:03 ?1.6w次閱讀
    <b class='flag-5'>typedef</b>是什么意思

    typedef的用法

    typedef 有一個(gè)重要的用途,那就是定義機(jī)器無關(guān)的類型,例如,你可以定義一個(gè)叫 REAL 的浮點(diǎn)類型,在目標(biāo)機(jī)器上它可以獲得最高的精度:typedef long double REAL;
    發(fā)表于 11-09 16:32 ?2175次閱讀

    typedef結(jié)構(gòu)體定義

    typedef為這個(gè)新的結(jié)構(gòu)起了一個(gè)名字,叫MyStruct。typedef struct tagMyStruct MyStruct;因此,MyStruct實(shí)際上相當(dāng)于struct
    發(fā)表于 11-09 16:55 ?7564次閱讀

    typedef struct的用法

    typedef是類型定義的意思。typedef struct 是為了使用這個(gè)結(jié)構(gòu)體方便。具體區(qū)別在于:若struct node{ }這樣來定義結(jié)構(gòu)體的話。在定義 node 的結(jié)構(gòu)體變量時(shí),需要這樣寫:struct node n;
    發(fā)表于 11-09 17:20 ?3412次閱讀

    typedef和define的介紹及本質(zhì)區(qū)別

    對(duì)于都可以用來給對(duì)象取一個(gè)別名的Typedef和define來說,是有區(qū)別的。本文通過對(duì)typedef和define的介紹,來給讀者詳細(xì)的講解它們存在的本質(zhì)區(qū)別,供參考。 typedef 是一種在
    發(fā)表于 04-14 07:31 ?5132次閱讀

    typedef的用法以及復(fù)雜聲明

    c語言中typedef的用法是為了為已知類型提供新類型,在ansi c標(biāo)準(zhǔn)中typedef被歸為存儲(chǔ)類關(guān)鍵字,也即是說在進(jìn)行typedef 聲明的時(shí)候,在本來出現(xiàn)在存儲(chǔ)類的位置的標(biāo)識(shí)符不能再出現(xiàn)其他
    發(fā)表于 03-10 16:58 ?1222次閱讀

    C typedef 看完這篇就夠了

    原文鏈接:為什么很多人編程喜歡用typedeftypedef 的基本使用typedef與結(jié)構(gòu)體的結(jié)合使用typedef 是 C 語言的一個(gè)關(guān)鍵字,用來給某個(gè)類型起個(gè)別名,也就是給C語
    發(fā)表于 11-16 16:06 ?14次下載
    C  <b class='flag-5'>typedef</b> 看完這篇就夠了

    C語言學(xué)習(xí)筆記---typedef 簡介

    ?? 在單片機(jī)和操作系統(tǒng)中 typedef 會(huì)經(jīng)常用到,它可以為某一個(gè)類型自定義名稱。和#define比較類似。但是又有不同的地方。typedef 創(chuàng)建的符號(hào)只能用于數(shù)據(jù)類型,不能用于值。而
    發(fā)表于 01-13 13:26 ?1次下載
    C語言學(xué)習(xí)筆記---<b class='flag-5'>typedef</b> 簡介

    C語言中的typedef的用法

    在以前的學(xué)習(xí)中對(duì)于C語言中typedef和define的認(rèn)識(shí)是,#define是宏,作用是簡單的替換,而typedef也是替換,只不過比define高級(jí)的是在替換的時(shí)候會(huì)進(jìn)行語法檢查。但是后來
    發(fā)表于 01-13 13:36 ?0次下載
    C語言中的<b class='flag-5'>typedef</b>的用法

    typedef與#define有什么差異嗎

    大部分朋友在編寫代碼的時(shí)候都會(huì)把無符號(hào)類型、結(jié)構(gòu)體等等進(jìn)行"簡化",要么用宏定義進(jìn)行文本替換,要么就通過typedef來定義一個(gè)類型別名。
    的頭像 發(fā)表于 08-11 14:34 ?1414次閱讀
    <b class='flag-5'>typedef</b>與#define有什么差異嗎

    C語言中的typedef的應(yīng)用

    C 語言提供了 typedef 關(guān)鍵字,您可以使用它來為類型取一個(gè)新的名字。下面的實(shí)例為單字節(jié)數(shù)字定義了一個(gè)術(shù)語 BYTE。
    發(fā)表于 03-06 11:34 ?434次閱讀
    C語言中的<b class='flag-5'>typedef</b>的應(yīng)用
    主站蜘蛛池模板: 天天爱天天干天天操 | 婷婷激情小说网 | 久久精品视频99精品视频150 | 入逼视频| 天天操狠狠操 | 午夜撸 | 色日韩在线 | 免费看片免 | h视频免费在线 | 日日爱视频 | 特一级黄色片 | 色视频网站免费 | 四虎影院久久 | 色中色综合网 | 国产精品1区2区3区 国产精品1区2区3区在线播放 | 午夜影院亚洲 | 亚洲成网站www久久九 | 男人视频在线观看 | 午夜视频在线观看免费高清 | 狠狠色综合网 | 日本韩国三级在线 | 午夜看片a福利在线 | 黄色的视频网站在线观看 | 456影院第一 | 天天射天天草 | 失禁h啪肉尿出来高h | 国产高清一区二区 | 国产成人高清精品免费5388密 | 三级免费黄色片 | 亚洲六月婷婷 | 大尺度视频网站久久久久久久久 | 日本三级黄在线观看 | 九九热在线免费 | 午夜aaaaaaaaa视频在线 | 五月天婷婷在线视频国产在线 | 狠狠色丁香婷婷综合欧美 | a天堂中文在线 | 簧片免费视频 | 午夜精品国产 | 亚洲一区免费 | 日本a级片免费 |