我目前花了一些时间熟悉GHDL并遇到了一个我无法解决的问题。 我为模拟创建的文件夹结构如下:
ghdl/
+-out/
+-run/
+-tmp/
在run
文件夹中有一个脚本,它调用GHDL来分析,精心制作并运行我的设计。
现在我想把GHDL创建的所有文件放到文件夹/ghdl/out
中。为此,我在调用GHDL时指定选项--workdir=../out
这是我在/ghdl/run
内的文件中的脚本:
ghdl -i --workdir=../out ../../../rtl/test_module.vhd ../../../test/bench/test_module_tb.vhd
ghdl -m --workdir=../out -o ../out/test_module_tb test_module_tb
ghdl -r --workdir=../out test_module_tb
(精化阶段工作正常,因此我不包含有关RTL和testbench文件的任何细节。)
运行模拟脚本时,我收到以下错误消息:
ghdl -r --workdir=../out test_module_tb
ghdl: file 'test_module_tb' does not exists
ghdl: Please elaborate your design.
我已检查过,可执行文件test_module_tb
实际上存在于文件夹/ghdl/out
中
我是否错误地使用了--workdir
选项?如果模拟可执行文件位于不同的目录中,使用GHDL的正确方法是什么?
PS:我在Fedora 23 RPM回购中使用GHDL 0.34dev(20151126)。