我在 $readmemh 函数中的 verilog 代码中遇到问题

问题描述 投票:0回答:2

我的 $readmemh 函数有问题 仅当我写入文件的完整路径时它才起作用,但是当我写入文件的名称时它不起作用。 如何在不写完整路径的情况下解决这个问题,这样我就可以在多个设备之间传输代码而无需每次都更改代码

//第一次尝试:

 initial
 begin
     $readmemh("dataMemory_init.mem", dataMemory); // Read data from hex file and initialize mem
 end

//第二次尝试

 initial
 begin
     $readmemh("dataMemory_init.txt", dataMemory); // Read data from hex file and initialize mem
 end
verilog
2个回答
0
投票

使用符号链接。
在模拟运行的目录中创建一个simlink,指向该文件。
如果这是基于脚本的构建流程,则使用脚本根据脚本已知的上下文创建链接。


0
投票

如果您没有指定文件的完整路径,模拟器会认为该文件已存在于当前工作目录(运行模拟器命令的目录)中。

如果您将模拟作为脚本的一部分运行(这是常见做法),您可以通过将文件

dataMemory_init.mem
复制到运行模拟的目录中或链接到该文件。这将在运行模拟命令之前完成。

另请参阅此任务

© www.soinside.com 2019 - 2024. All rights reserved.