我在文档中找不到使用 icarus 将 VHDL 代码转换为 Verilog 的示例。我在这里找到了如何对 VHDL 进行 verilog 。我尝试修改命令以在此代码上进行 VHDL 转换:
$ iverilog -tvlog95 -o button_deb.v button_deb.vhdl
button_deb.vhdl:3: syntax error
I give up.
但我有一个语法错误。我的 VHDL 代码错了吗?或者是iverilog命令是错误的?
没有 Verilog 目标,因此您无法生成 Verilog 输出,而且 VHDL 编译仍然是实验性的。您可以在邮件列表中询问,以确保引擎盖下没有任何可以提供帮助的信息。VHDL 到 Verilog 的转换只能在相对简单的情况下进行(可综合代码应该没问题),所以无论如何您可能都必须手动进行。
似乎在此期间已经获得了一些支持(主要使用-g2005-sv
、-g2009
或-g2012
switch )。尝试这个:
iverilog -g2012 -tvlog95 -o button_deb.v button_deb.vhd
如果您更仔细地注意输出,您会发现以这种方式您将generic
在实体接口处失去两者。直接使用vhdlpp
可能很有用:
/path/to/vhdlpp button_deb.vhd > button_deb.v