0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用户自定义类型

汽车电子技术 来源: OpenFPGA 作者:碎碎思 2023-02-09 14:53 次阅读

pYYBAGPkmCCAXeWzAATM_c-YpNI014.png

除了前面几篇文章讨论的内置数据类型之外,SystemVerilog还为工程师定义新的数据类型提供了一种机制。用户定义的数据类型允许从现有数据类型创建新的类型定义。

用户自定义类型是使用typedef关键字创建的。例如:

poYBAGPkmCyAG53wAACHpmtB0Yo192.png

一旦定义了新的数据类型,就可以用来定义新数据类型的变量和网络

poYBAGPkmDeAQ5-5AACRAKyV8DQ177.png

用户自定义类型的命名约定

用户自定义类型名可以是任何合法标识符。在大型设计中,定义用户自定义类型的源代码和使用该类型的源代码可以由多行代码分隔,并且可以位于不同的文件中。如果用户自定义类型的名称与用于模块、网络或变量的名称相似,那么typedef定义和类型用法的这种分离可能会使代码难以读取和维护。

为了使源代码更易于阅读和维护,typedef名称应该使用一种命名约定,使名称明显代表用户自定义类型。两种常见的命名约定是在用户自定义类型名称中添加“_t”后缀或“t_”前缀。本文系列文章惯例使用“_t”后缀惯例。

局部typedef声明

用户自定义类型可以在模块或接口中局部定义。局部typedef声明类型只能在定义它的模块或接口中使用。构成总体设计的其他模块或接口不能引用该类型的用户自定义类型。

共享typedef定义-Shared typedef definitions

当用户自定义类型要在许多不同的模型中使用时,可以在包中声明typedef定义以供其他模块使用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Verilog
    +关注

    关注

    28

    文章

    1322

    浏览量

    109218
  • System
    +关注

    关注

    0

    文章

    161

    浏览量

    36552
  • 数据类型
    +关注

    关注

    0

    文章

    223

    浏览量

    13481
收藏 人收藏

    评论

    相关推荐

    数字硬件建模SystemVerilog-按位运算符

    经过几周的更新,SV核心部分用户自定义类型和包内容已更新完毕,接下来就是RTL表达式和运算符。
    的头像 发表于 08-12 14:27 1921次阅读

    关于数字硬件建模SystemVerilog

    经过几周的更新,SV核心部分用户自定义类型和包内容已更新完毕,接下来就是RTL表达式和运算符。
    的头像 发表于 09-01 08:50 958次阅读

    Greenplum的用户自定义类型(1)#分布式数据系统

    数据系统
    学习硬声知识
    发布于 :2023年05月31日 19:28:13

    Greenplum的用户自定义类型(2)#分布式数据系统

    数据系统
    学习硬声知识
    发布于 :2023年05月31日 19:28:35

    第34章 窗口管理器实例(一)

    转stemwin教程为了帮助大家更好的理解窗口管理器的回调和消息机制,本期教程专门做了三个相关的例子,帮助大家更好的理解。 34. 1用户自定义消息类型实例 34. 2 桌面窗口回调函数实例 34. 3 官方WM_Redraw.
    发表于 10-16 10:43

    【emWin实战教程V2.0】第37章 窗口管理器实例(含自定义消息)

    转最新版本教程为了帮助大家更好的理解窗口管理器的回调函数和消息机制,本章教程专门做了两个相关的例子,帮助大家更好的理解。37.1初学者重要提示37.2 用户自定义消息类型实例37.3 桌面窗口回调函数实例37.4 总结
    发表于 02-17 17:19

    SV Structure作为module的input/output

    到这个struct。最后打印表明这个结构体确实完成了连接,打印相同的信息。struct可以作为参数传递给task或function,前提是这个struct需要先使用typedef声明为用户自定义类型
    发表于 11-10 15:30

    C语言入门教程-指向结构体的指针

    指向结构体的指针 在C语言中几乎可以创建指向任何类型的指针,包括用户自定义类型。创建结构体指针是极常见的。下面是一个例子: typedef struct{
    发表于 07-29 12:04 3050次阅读

    ProDAQ6150-LXI绝缘热电偶测试单元的性能特点分析

    ProDAQ6150是一款高精度LXI热电偶测试设备,可提供16/32/48路测试通道。可支持所有常用的热电偶类型,如J,E,N,K,T,R,S,B,同时也可通过可编程转换器支持用户自定义类型
    的头像 发表于 01-07 16:41 1555次阅读

    SystemVerilog为工程师定义新的数据类型提供了一种机制

    为了使源代码更易于阅读和维护,typedef名称应该使用一种命名约定,使名称明显代表用户自定义类型。两种常见的命名约定是在用户自定义
    的头像 发表于 06-09 09:45 730次阅读

    RTL表达式和运算符

    经过几周的更新,SV核心部分用户自定义类型和包内容已更新完毕,接下来就是RTL表达式和运算符。
    的头像 发表于 07-27 09:11 1150次阅读

    关于RTL表达式和运算符

    经过几周的更新,SV核心部分用户自定义类型和包内容已更新完毕,接下来就是RTL表达式和运算符。
    的头像 发表于 09-01 09:13 1222次阅读

    RTL表达式和运算符

    经过几周的更新,SV核心部分用户自定义类型和包内容已更新完毕,接下来就是RTL表达式和运算符。
    的头像 发表于 10-11 10:15 1142次阅读

    RTL表达式和运算符

    经过几周的更新,SV核心部分用户自定义类型和包内容已更新完毕,接下来就是RTL表达式和运算符。
    的头像 发表于 11-03 09:14 874次阅读

    博途PLC1200/1500PLC用户自定义数据类型(UDT)

    用户自定义的数据类型可以包含基本数据类型(例如,INT bool string),以及 数组 ,结构体,以及PLC的专有数据类型等,而且
    发表于 04-20 09:46 1次下载
    博途PLC1200/1500PLC<b class='flag-5'>用户</b><b class='flag-5'>自定义</b>数据<b class='flag-5'>类型</b>(UDT)