gpt4 book ai didi

environment-variables - 如何在 Verilog/System Verilog 中读取环境变量?

转载 作者:行者123 更新时间:2023-12-04 08:38:31 27 4
gpt4 key购买 nike

如何在 Verilog 中读取环境变量? (在 VCS 模拟器上运行)

我正在努力完成

File=$fopen("$PATH/FileName","r");

$PATH 是一个环境变量。

最佳答案

您可以简单地使用 SystemVerilog DPI 来获取环境。
因为getenv是每个 POSIX 平台的标准 C 库,因此您无需实现自己的 getenv()再次为函数定义等效函数。

SV 中的示例代码。

import "DPI-C" function string getenv(input string env_name);

module top;

initial begin
$write("env = %s\n", {getenv("HOME"), "/FileName"});
end
endmodule

运行
ncverilog -sv dpi.v

或者
vcs -sverilog dpi.v

它会显示
env = /home/user/FileName

在您的原始问题中还有一个问题, PATH 是可执行搜索路径的环境,并与“:”字符连接。我认为这应该是一个例子,而不是真正的“PATH”环境。否则,您的 fopen 文件名可能是 "/bin:/usr/bin:/usr/local/bin/FileName" ,这是错误的。

关于environment-variables - 如何在 Verilog/System Verilog 中读取环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15034019/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com