色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

typedef的應用實例

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

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

typedef existing_type mytype;

例如:

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

等價于

enum {NO, YES} myvar1,myvar2;

下面是一個簡單的例子:

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中聲明了三種不同的“類型定義”。
第一個typedef是

typedef integer unsigned u_integer;

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

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

第二個typedef是

typedef enum {RED, GREEN, BLUE} rgb;

聲明兩個變量" rgb_i "和" rgb_i1 "并初始化:

rgb rgb_i = GREEN;
rgb rgb_i1 = BLUE;

最后一個typedef

typedef bit [7:0] ubyte;

聲明一個變量cnt 并初始化

ubyte cnt = 8'hFF;

上面的幾個例子還不是很好地體現typedef的好處,最大的優勢體現在更復雜的數據結構上上。

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;

審核編輯:湯梓紅

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

    關注

    30

    文章

    4823

    瀏覽量

    68904
  • typedef
    +關注

    關注

    0

    文章

    26

    瀏覽量

    9558

原文標題:SystemVerilog 中的typedef

文章出處:【微信號:芯片驗證工程師,微信公眾號:芯片驗證工程師】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

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

    C語言#define和typedef的區別

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

    typedef的使用【轉】

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

    Typedef用法小結

    非常不錯的文檔有著基本數據類型結構體enum與函數指針等等的Typedef相關用法.
    發表于 11-02 11:36 ?19次下載

    typedef是什么意思

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

    typedef的用法

    typedef 有一個重要的用途,那就是定義機器無關的類型,例如,你可以定義一個叫 REAL 的浮點類型,在目標機器上它可以獲得最高的精度:typedef long double REAL;
    發表于 11-09 16:32 ?2168次閱讀

    typedef結構體定義

    typedef為這個新的結構起了一個名字,叫MyStruct。typedef struct tagMyStruct MyStruct;因此,MyStruct實際上相當于struct
    發表于 11-09 16:55 ?7539次閱讀

    typedef struct的用法

    typedef是類型定義的意思。typedef struct 是為了使用這個結構體方便。具體區別在于:若struct node{ }這樣來定義結構體的話。在定義 node 的結構體變量時,需要這樣寫:struct node n;
    發表于 11-09 17:20 ?3400次閱讀

    typedef和define的介紹及本質區別

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

    typedef的用法以及復雜聲明

    c語言中typedef的用法是為了為已知類型提供新類型,在ansi c標準中typedef被歸為存儲類關鍵字,也即是說在進行typedef 聲明的時候,在本來出現在存儲類的位置的標識符不能再出現其他
    發表于 03-10 16:58 ?1206次閱讀

    C typedef 看完這篇就夠了

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

    C語言學習筆記---typedef 簡介

    ?? 在單片機和操作系統中 typedef 會經常用到,它可以為某一個類型自定義名稱。和#define比較類似。但是又有不同的地方。typedef 創建的符號只能用于數據類型,不能用于值。而
    發表于 01-13 13:26 ?1次下載
    C語言學習筆記---<b class='flag-5'>typedef</b> 簡介

    C語言中的typedef的用法

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

    typedef與#define有什么差異嗎

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

    C語言中的typedef的應用

    C 語言提供了 typedef 關鍵字,您可以使用它來為類型取一個新的名字。下面的實例為單字節數字定義了一個術語 BYTE。
    發表于 03-06 11:34 ?426次閱讀
    C語言中的<b class='flag-5'>typedef</b>的應用
    主站蜘蛛池模板: 国产欧洲野花A级 | 月夜直播免费看 | 蜜臀AV精品久久无码99 | 2021国产精品一卡2卡三卡4卡 | 久久精品视频在线看99 | 国产欧美另类久久久精品免费 | 免费女性裸身照无遮挡网站 | 巨爆乳中文字幕爆乳区 | 国产精品亚洲电影久久成人影院 | 中字幕视频在线永久在线 | 97人人碰免费视频公开 | 亚洲高清视频在线观看 | 中文字幕亚洲视频 | 一二三区乱码不卡手机版 | 日本护士hd| 亚洲香蕉网久久综合影院 | 理论937| 色欲AV人妻精品麻豆AV | 91交换论坛 | 免费的好黄的漫画 | 国产精品99久久久久久WWW | 55夜色66夜亚洲精品播放 | 伊人久久五月丁婷婷 | 91精品国产入口 | 超碰免费视频在线观看 | 果冻传媒免费观看 | 亚洲欧美日韩精品自拍 | 乱子伦在线观看中文字幕 | 伊人精品久久久大香线蕉99 | 日韩欧无码一区二区三区免费不卡 | 精品国产人妻国语 | 约艺术院校96年清纯白嫩 | 99精品热视频30在线热视频 | 青草精品国产福利在线视频 | 黄页网站18以下勿看免费 | 亚洲 欧美 中文 日韩 另类 | 双腿被绑成M型调教PLAY照片 | 国产AV天堂亚洲AV麻豆 | 99精品视频在线观看re | 欧美嫩freexxxhddvd | 谁有成人网站地址 |