VCS编译传递环境变量,VCS编译仿真实例,SV读取环境变量

目录

 

一.systemVerilog和Verilog读取环境变量$ENV

1.使用VCS编译的预定义MACRO传入环境变量

Highlight为打印结果

2.$value$plusargs获取环境变量

3.DPI-C使用getenv


一.systemVerilog和Verilog读取环境变量$ENV

systemVerilog和verilog不能直接读取$ENV,有两种方法:

1.使用VCS编译的预定义MACRO传入环境变量

传入格式如下:

假设$SIM=/home/user

加上\"是因为如果直接+define+SIM=$SIM+那么宏 `SIM=/home/user,这并不是一个string,SV无法处理,而加上\"

宏 `SIM = "/home/user",传进去的就是一个string。

(a). 代码如下:

(b).编译并运行:

(c).运行结果

(d).注意

代码Line9 的display不能直接打印宏 `TMP,只能转为tmp_t的string格式才能打印,预定义宏`SIM 传进来的就是string是可以的

以下代码也是ok的,和上面代码区别在于将WAVE_FIRMWARE定义为macro而不是string类型变量

Highlight为打印结果

(e).不足之处

+define只能在compile阶段传入,./simv阶段无法传入,而$value$plusargs只在./simv阶段传入

2.$value$plusargs获取环境变量

$value$plusargs只在./simv阶段传入

运行命令:

或通过两步

3.DPI-C使用getenv

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

module top;

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

其中getenv("HOME")返回$HOEM定义的字符串"/home/user",{,}是SV中将两个string串联。

运行

ncverilog -sv dpi.v

要么

vcs -sverilog dpi.v -R

打印结果为

env = /home/user/FileName

 

  • 1
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VCS_HOME环境变量是一个指向VCS仿真工具的安装目录的环境变量。该环境变量通常由用户在系统中手动设置,以便系统能够找到VCS工具的执行文件和相关资源。 设置VCS_HOME环境变量的步骤可能因操作系统而异,以下是在Linux和Windows系统中设置VCS_HOME环境变量的一般步骤: 在Linux系统中: 1. 打开终端。 2. 使用文本编辑器(如vi或nano)打开`~/.bashrc`文件或`~/.bash_profile`文件(或其他相应的shell配置文件)。 3. 在文件末尾添加以下行: ``` export VCS_HOME=/path/to/vcs/installation/directory ``` 将`/path/to/vcs/installation/directory`替换为实际的VCS安装目录路径。 4. 保存文件并关闭编辑器。 5. 在终端中运行以下命令使环境变量生效: ``` source ~/.bashrc ``` 或 ``` source ~/.bash_profile ``` 在Windows系统中: 1. 打开控制面板。 2. 点击"系统和安全"(或"System and Security")。 3. 点击"系统"(或"System")。 4. 点击"高级系统设置"(或"Advanced system settings")。 5. 在弹出的对话框中,点击"环境变量"(或"Environment Variables")按钮。 6. 在"用户变量"(或"User variables")部分,点击"新建"(或"New")按钮。 7. 输入变量名为`VCS_HOME`,变量值为VCS安装目录的路径。 8. 点击"确定"(或"OK")按钮,保存环境变量设置。 设置完VCS_HOME环境变量后,您可以在终端或命令提示符中使用`$VCS_HOME`来引用VCS的安装目录路径,以便执行VCS相关的命令和脚本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值