非特定的 `include 文件名 - 系统 Verilog 编译器指令

Posted

技术标签:

【中文标题】非特定的 `include 文件名 - 系统 Verilog 编译器指令【英文标题】:Non-specific `include file name - System Verilog compiler directives 【发布时间】:2017-04-17 03:10:28 【问题描述】:

我想使用 `include 指令来调用非特定文件名。例如, 在其他目录中有这个文件名“name_defines.svh”。由于“name_defines.svh”的“名称”发生了变化(可以是例如a_defines.svh、b_defines.svh ..等),如果我只使用它可能吗

`include "_defines.svh"

`include "*_defines.svh"

以便系统verilog编译器找到文件名并将其包含在我当前的.sv文件中,就像我使用过的一样

`include "name_defines.svh"

附言- 假设工作目录中没有其他文件具有尾随的“_defines.svh”字样,并且仅对“name_defines.svh”是唯一的

【问题讨论】:

【参考方案1】:

SystemVerilog 没有这样做的机制。通配符文件匹配是您从中运行模拟的 shell 的一项功能。

如果您只想在当前工作目录中包含一个文件,则它应该具有相同的名称。或者,您的调用脚本可以放置从特定名称到通用名称的链接。另一种选择是在命令行上使用宏定义文件名

+define+FILE="name_defines.svh"

`include `FILE

请注意,根据您使用的 shell,您可能需要对命令行中的引号进行转义。

【讨论】:

以上是关于非特定的 `include 文件名 - 系统 Verilog 编译器指令的主要内容,如果未能解决你的问题,请参考以下文章

如何用c语言实现删除文件中指定的数据;例如

如何在其中的包中指定的纱线工作区中安装可执行文件?

IIS 7.5 在哪里记录错误?

linux 头文件和库文件的设置

未能找到任何适合于指定的区域性或非特定区域性的资源

STM32F103VE基于标准库串口1空闲中断+DMA数据接收工程