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

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

3天内不再提示

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

OpenFPGA ? 来源:OpenFPGA ? 作者:OpenFPGA ? 2022-06-09 09:45 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

e7e8feaa-e78c-11ec-ba43-dac502259ad0.png

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

e80ffcda-e78c-11ec-ba43-dac502259ad0.png

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

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

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

局部typedef声明

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

共享typedef定义-Shared typedef definitions

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

e83b33dc-e78c-11ec-ba43-dac502259ad0.jpg

审核编辑 :李倩

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

    关注

    96

    文章

    2953

    浏览量

    68665
  • 数据类型
    +关注

    关注

    0

    文章

    237

    浏览量

    13941

原文标题:SystemVerilog(十)-用户自定义类型

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SQL 通用数据类型

    data type. SQL 开发人员必须在创建 SQL 表时决定表中的每个列将要存储的数据类型数据类型个标签,是便于 SQL 了解每个列期望存储什么
    的头像 发表于 08-18 09:46 ?108次阅读

    嵌入式工程师为什么要学QT?

    、Clang、MSVC等,并提供跨平台的编译和发布流程。 强大的集成开发环境(IDE) Qt Creator提供代码编辑、调试、构建和发布功能,极大地提升了开发效率。 因此,Q
    发表于 08-14 15:15

    做了电子工程师之后,最好拍的视频出现#硬件设计 #电子DIY #电子工程师

    电子工程师
    安泰小课堂
    发布于 :2025年06月24日 17:45:57

    工程师的“新神器”:用CCLinkie转Devicenet连接水质分析仪,轻松搞定数据难题

    一种高效稳定的现场总线,而Devicenet网关是工业自动化领域广泛使用的通信协议。通过这个转换器,水质分析仪就像被赋予“魔法”,能够轻松地将自己的数据传输到自动化控制系统中。工程师
    发表于 06-09 15:36

    物联网工程师为什么要学Linux?

    物联网工程师需要掌握Linux的主要原因可以从技术生态、开发需求、行业应用及就业竞争力四个角度来分析: 、技术生态与行业适配性 1)嵌入式开发的主流平台 物联网设备往往基于嵌入式系统开发
    发表于 05-26 10:32

    问,成为硬件工程师需要几只手?#硬件工程师 #YXC晶振 #扬兴科技 #搞笑

    硬件工程师
    扬兴科技
    发布于 :2025年04月25日 17:15:37

    硬件工程师:回答我!#回答我 #硬件工程师 #YXC晶振 #扬兴科技

    硬件工程师
    扬兴科技
    发布于 :2025年03月25日 18:46:59

    招拿捏电子工程师#被AI拿捏 #电子工程师 #电子电工

    电子工程师
    安泰小课堂
    发布于 :2025年03月25日 17:30:51

    labview数据类型与PLC 数据类型之间的转换(来自于写入浮点数到汇川 PLC中的数据转换关键的修改)

    单、双精度浮点数强制转换成U32,结果是不样的。所以labview在强制转换前,必须将数据类型设置单精度浮点数,就可以 概述1:PLC中比较复杂的
    发表于 02-24 19:01

    笑死,掌握眼识别资深硬件工程师的诀窍!# #电路知识 #电工 #硬核拆解

    硬件工程师
    MDD辰达半导体
    发布于 :2024年12月20日 17:48:17

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    ,共同进步。 欢迎加入FPGA技术微信交流群14群! 交流问题() Q:FPGA中的FPGA算法工程师、FPGA逻辑工程师、FPGA原型验证工程师三者有什么区别? A:FPGA 算法
    发表于 09-23 18:26

    常见的遥感数据类型有哪些

    遥感技术是一种通过遥感器在远离目标的位置获取目标地物的电磁波信息,并进行分析的技术。遥感数据类型繁多,涵盖了从可见光到红外、微波等多个波段,以及不同的数据格式和分辨率。 光学遥感数据
    的头像 发表于 09-04 14:30 ?3893次阅读