无法使用 ghdl 执行/运行任何 vhdl 代码

Posted

技术标签:

【中文标题】无法使用 ghdl 执行/运行任何 vhdl 代码【英文标题】:Unable to execute/run any vhdl code using ghdl 【发布时间】:2011-01-24 16:00:55 【问题描述】:

我已经在 Ubuntu 10.10 中安装了 ghdl(使用存储库中的 apt-get)并使用了 ghdl 手册中提供的 hello_world 示例。我可以成功分析 (-a) 和详细说明 (-e),但是当我尝试运行/执行 (-r) 时,我收到以下错误: /usr/lib/ghdl/bin/ghdl: 编译错误

为了详细说明我的问题,我在最后提到了 vhdl 代码以及我在下面遵循的命令序列:

$ ghdl -a hello.vhdl $ ghdl -e hello_world $ ./hello_world bash: ./hello_world: 权限被拒绝 $ ghdl -r hello_world /usr/lib/ghdl/bin/ghdl: 编译错误

我也尝试过以 root 身份工作,但没有成功。权限是完美的,执行位已设置。一切似乎都很好,但仍然无法正常工作。我什至尝试过重新安装 ghdl 包。

谁能告诉我问题的根源是什么?

提前致谢。

hello.vhdl(Vhdl 代码)

-- Hello world 程序。 使用 std.textio.all; -- 导入标准的 textio 包。 -- 定义一个设计实体,没有任何端口。 实体 hello_world 是 结束你好世界; hello_world 的架构行为是 开始 工艺 变量 l : 行; 开始 写 (l, String'("Hello world!")); writeline (输出, l); 等等; 结束进程; 结束行为;

【问题讨论】:

【参考方案1】:

您的文件系统是否安装了 noexec? mount 对您的工作区所在的文件系统有什么看法?

【讨论】:

知道了!挂载没有 exec 集!!随着分区现在具有 exec 权限,ghdl 工作正常。非常感谢您的帮助。 现在的问题是,这算作是在黑暗中拍摄还是根据个人经验提供的?并带有一点预先考虑的恶意, chmod -x scan_tb; ghdl -r scan_tb 给出:ghdl: compilation error(并且不是特别具有描述性)。 @DavidKoontz - 这是很久以前的事了,但我想这是在黑暗中拍摄的(当然我没有遇到过 GHDL 的具体问题,尽管我在尝试从挂载 noexec 的记忆棒设备上运行其他可执行文件)。【参考方案2】:

如果没有设置执行位,我可以重现问题。

你确定权限没有问题吗?

【讨论】:

是的,我对此很确定。 “ls -al hello_world”的输出是“-rwxr-xr-x 1 neel neel 447332 2011-01-25 12:16 hello_world”【参考方案3】:

刚遇到同样的问题,我的解决方案似乎已经解决了所有问题,就是使用 777 mod chmod /usr/local/bin/ghdl 文件夹。

【讨论】:

以上是关于无法使用 ghdl 执行/运行任何 vhdl 代码的主要内容,如果未能解决你的问题,请参考以下文章

为什么在VHDL中出现此“实体未分析错误”

能否使用GHDL+GTKWave代替Quartus ii

VHDL ERROR:Pack:2811 - 定向包装无法服从用户设计

请澄清VHDL中顺序和并发执行的概念

带有 VHDL 代码的 FPGA 上的声音发生器

VHDL基础2