【Verilog-19.3】define和undef的用法

【Verilog-19.3】define和undef的用法19 3 defineand undef 提供了文本宏替换功能 可以使用有意义的名称来表示常用的文本片段 例如 在整个描述中重复使用一个常数的情况下 文本宏是有用的 如果常数的值需要改变 因为它只需要更改源描述中的一个位置 文本宏工具不受编译器指令 resetall 的影响 19 3 1 define 指令 define 为文本替换创建了一个宏 这个指令可以在模块定义的内部和外部使用 一个文本宏定义以后 通过使用 字符 后面跟着宏的名字 它可以在源代码描述中使用 编译器应该用宏的文本替换字符串 t

19.3 `define and `undef

19.3.1 `define

`define wordsize 8 reg [1:`wordsize] data; //定义一个带有可变延迟的nand `define var_nand(dly) nand #dly `var_nand(2) g121 (q21, n10, n11); `var_nand(5) g122 (q22, n10, n11); 

下面的语法是非法的,因为它被拆分为字符串:

`define first_half "start of string $display(`first_half end of string"); 

每一个形式参数被替换位字面意义上的形式参数。因此,当一个表达式被用作实际的参数时,该表达式将被完全替换。如果在宏文本中多次使用形式参数,这可能会导致表达式被求值多次。例如:

`define max(a,b) ((a) > (b) ? (a) : (b)) n = `max(p+q, r+s) ; 

19.3.2 `undef

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215232.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午2:23
下一篇 2026年3月18日 下午2:23


相关推荐

  • 结合实际聊聊电平转换电路(常用电平转换电路总结)

    结合实际聊聊电平转换电路(常用电平转换电路总结)电路小课堂 总结一下常用的电平转换电路

    2026年3月26日
    2
  • k8s基础知识_lable

    k8s基础知识_lable文章目录第三章 资源管理(续)15 命令式对象管理16 命令式对象配置17 声明式对象配置18 资源管理小结第四章 实战入门19 Namespace4.1.1 **查看**4.1.2 **创建**4.1.3 **删除**4.1.4 **使用配置文件(.yaml)进行管理**20 Pod4.2.1 创建并运行4.2.2 查看pod信息4.2.3 访问Pod4.2.4 删除指定Pod4.2.5 配置操作21 Lable4.3.1 命令方式4.3.2 配置方式22 Deployment4.4.1 命令操作4.4.

    2022年8月11日
    12
  • 月之暗面发布并开源Kimi K2.5模型

    月之暗面发布并开源Kimi K2.5模型

    2026年3月12日
    2
  • 一个发邮件的Python脚本。

    一个发邮件的Python脚本。

    2022年3月13日
    44
  • Java入门——第一个Java程序HelloWorld(Dos命令窗口)

    Java入门——第一个Java程序HelloWorld(Dos命令窗口)麻烦找一个指定盘符的确切文件位置(尽量不要把要运行的.java文件建在桌面上,因为在Dos命令行中找文件路径比较麻烦!),可以创建一个专门用来练习入门Java程序的文件夹。(比如我这个暂时存放.java文件的文件夹在F盘的Java_WorkBenth文件夹里面)1、第一步,打开Windows资源管理器的查看文件后缀名功能(防止出现xxx.java.txt的文件格式)。2、创建一…

    2022年5月28日
    43
  • Eclipse导入Java项目报错

    Eclipse导入Java项目报错Eclipse 中导入 Java 项目出现 Noprojectsar 原因 这其实是因为项目中缺少了两个文件 classpath 文件和 project 文件 所以 eclipse 找不到你的项目了 解决方案 在 Eclipse 中再新建一个新的项目 项目的类型和名称和导入的项目名一样 然后再新建的项目目录下 找到 classpath 文件和 project 文件 把它们复制到想要导入的项目中 最后就可以成功导入 不会报错了

    2026年3月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号