如何使用 Icarus Verilog 在 Verilog 中转换 VHDL 代码?
How to convert a VHDL code in Verilog using Icarus Verilog?
我在文档中找不到使用 icarus 将 VHDL 代码转换为 Verilog 的示例。我找到了如何对 VHDL 进行 verilog here。
我试图修改命令以在 this code 上进行 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
开关)。试试这个:
iverilog -g2012 -tvlog95 -o button_deb.v button_deb.vhd
如果您更仔细地注意输出,您会发现通过这种方式您将在实体接口处丢失两个 generic
。直接使用 vhdlpp
可能会有用:
/path/to/vhdlpp button_deb.vhd > button_deb.v
我在文档中找不到使用 icarus 将 VHDL 代码转换为 Verilog 的示例。我找到了如何对 VHDL 进行 verilog here。 我试图修改命令以在 this code 上进行 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
开关)。试试这个:
iverilog -g2012 -tvlog95 -o button_deb.v button_deb.vhd
如果您更仔细地注意输出,您会发现通过这种方式您将在实体接口处丢失两个 generic
。直接使用 vhdlpp
可能会有用:
/path/to/vhdlpp button_deb.vhd > button_deb.v