【问题标题】:How to convert a VHDL code in Verilog using Icarus Verilog?如何使用 Icarus Verilog 在 Verilog 中转换 VHDL 代码?
【发布时间】:2016-01-06 09:30:09
【问题描述】:

我在 doc 中找不到使用 icarus 将 VHDL 代码转换为 Verilog 的示例。我找到了如何对 VHDL here 进行 verilog。 我试图修改命令以在this code 上进行 VHDL 转换:

$ iverilog -tvlog95 -o button_deb.v button_deb.vhdl 
button_deb.vhdl:3: syntax error
I give up.

但是我遇到了语法错误。我的 VHDL 代码错了吗?还是iverilog命令出错了?

【问题讨论】:

    标签: vhdl verilog icarus


    【解决方案1】:

    没有 Verilog 目标,因此您无法生成 Verilog 输出,而且 VHDL 编译无论如何仍处于试验阶段。您可以在邮件列表中询问,以确保引擎盖下没有任何可以提供帮助的信息。 VHDL 到 Verilog 的转换只能在相对简单的情况下进行(可综合代码应该没问题),所以无论如何你可能不得不手动进行。

    【讨论】:

      【解决方案2】:

      似乎在此期间已经到了一些支持(主要使用-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
      

      【讨论】:

      • 感谢克劳迪奥,今年我找到了另一种转换方式:ghdl-yosys 插件。
      • @FabienM:您能否举一个小例子说明您是如何使用 ghdl-yosys 插件进行这种转换的?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多