2017-08-11 56 views
2

我是新来的ghdl模拟器,并在windows上使用ghdl。我在我的电脑上安装了ghdl(ghdl-0.33-win32),并试用了简单的加法器代码,它工作正常。我目前需要模拟一些使用David Bishop的固定和浮点软件包的数学方程。当我包括图书馆我和编译提示错误:如何将vhdl定点库加入ghdl-0.33?

"fixed_pkg" not found in library "ieee"

,或者如果我复制fixed_pkg_c文件到我的项目文件与工作编译:

"fixed_pkg" not found in library "work"

有人可以告诉我的方式(或我应该遵循的命令集)来包含这些固定和浮动包?

+0

你用什么命令行来调用GHDL?顺便说一句。 GHDL 0.34将在未来几天发布。我们在发布过程中仍然存在一些小问题,因此当前可见的0.34版本将被一个较新的文件再次覆盖。 => https://github.com/tgingold/ghdl/releases – Paebbels

回答

2

A ghdl-0.33-win32安装为VHDL标准的IEEE 1076-2008修订提供部分支持。

此支持包括David Bishop的固定和浮点综合合格资源库(参见IEEE Std 1076-2008,16预定义语言环境16.10定点包和16.11浮点包)。作为该版本中公认的IEEE封装,它们可在IEEE库中找到。

ghdl -is 93c支持的缺省修订版本(-1993支持范围索引中的混合文字和表达式边界,这在标准的后续修订版本中受支持)。

通过使用--std = 08选项来分析(-a)和elaboration(-e)命令来完成与-2008修订符合性的调用ghdl。

有使用的MCode(只是在时间码)只在ghdl如在Win32分布的时间代码生成版本发现一个区别:

从最新GHDL Documentation部上Invoking GHDL为运行命令:

run -r

Runs/simulates a design. The options and arguments are the same as for the elaboration command.

  • GGC/LLVM: simply, the filename of the executable is determined and it is executed. Options are ignored. You may also directly execute the program. The executable must be in the current directory.
  • mcode: the design is elaborated and the simulation is launched. As a consequence, you must use the same options used during analysis.

在诸如分布式为Win32一个的MCode版本-e精心命令是多余的,且运行命令(-r)必须包括相同的选项作为分析命令(-a)。

与GCC或LLVM版本的ghdl不同,mcode版本要求提供任何相关选项,以便为运行命令提供详细说明。

对于GCC或LLVM ghdl实现和VHDL文件和实体,用于分析的命令,制订和模拟在文件中发现的实体将是:

ghdl -a --std=08 vhdl_file_name 
ghdl -e --std=08 entity_name 
ghdl -r entity_name 

运行命令(-r)来模拟还允许选择多个体系结构之一或声明的配置。

对于ghdl的mcode版本,elaboration命令被忽略,没有来自分析的目标代码文件,也没有生成单独的可执行文件,而有一个库文件(对于工作库命名为work并且对于-2008,这将是默认情况下命名为work-obj08.cf)用于按照标准的要求来协调分析顺序。

对于ghdl最小命令的的MCode版本将是:

ghdl -a --std=08 vhdl_file_name 
ghdl -r --std=08 entity_name 

当制定命令是多余的,与运行命令和任何有效的阐述选项还与分析指令共享阐述前述仿真必须传递给运行命令。

library ieee; 
use ieee.fixed_pkg.all; 

要使用--std = 08你的实体或架构必须是上下文条款发表声明的fixed_pkg发现可见范围内的访问为fixed_pkg包在IEEE -2008库使用条款使fixed_pkg中的声明可见。

Tristan刚刚发布了ghdl-0.34,它目前包含win32 mcode版本(mingw32)和64位LLVM版本(mingw64)。匹配GHDL Documentation提供彩条高亮段落中的有用提示。

由于ghdl是开源的,它在很大程度上取决于用户反馈,以纠正操作和文档中的差异。

差异可报告为issue(需要github登录)。反映ghdl文档缺乏清晰性的问题可能会导致改进。

GTKWave,支持GHDL波形格式的波形浏览器可以从Sourceforge获得。 ghdl也支持gtkwave使用的VCD和FST波形转储文件格式。