我正在使用 GHDL 模拟器,但我无法弄清楚如何使用非 IEEE 包,如std_logic_textio(显然来自 Synopsys),对各种解析很有用(在我的情况下是线程)。
我已经仔细编译了我的代码,并带有一个选项来表明我的 ieee 是 Synopsys 版本。
ghdl -a --ieee=synopsys system_tb.vhd
但是,我仍然收到一个错误:
system_tb.vhd:25:10:error: unit "std_logic_textio" not found in library "ieee"
system_tb.vhd:25:10:error: (use --ieee=synopsys or --std=08 for this non-standard synopsys package)
我在这里使用的 GHDL 版本:
GHDL 0.35-dev (2017-03-01-221-gf170a6e) [Dunoon edition]
Compiled with GNAT Version: 4.9.3
mcode code generator
如何正确编译我的代码?
更新:这里有一些关于我的 GHDL 安装的信息,来自 github 档案:
- linux mint 18.2 索尼娅
which ghdl
返回/usr/local/bin/ghdl
locate std_logic_textio
返回:- /usr/local/lib/ghdl/src/ieee2008/std_logic_textio.vhdl
- /usr/local/lib/ghdl/src/synopsys/std_logic_textio.vhdl
更新:我还用 llvm 后端重新编译了 GHDL,得到了相同的结果。