【问题标题】:Analyzing bitstreams using Icestorm使用 Icestorm 分析比特流
【发布时间】:2017-02-23 15:23:17
【问题描述】:

我正在尝试了解 Yosys/arachne-pnr 生成的比特流,如 http://www.clifford.at/icestorm/ 所述:

学习如何使用本文档的推荐方法是使用 Yosys 和 Arachne-pnr 合成非常简单的电路,在生成的比特流文件上运行 icestorm 工具icebox_explain,并使用数据库的 HTML 导出分析结果上文提到的。 icebox_vlog 可用于将比特流转换为 Verilog。该工具的输出文件还将概述添加到生成的 Verilog 代码的 cmets 中的信号路径。

为了了解比特流更改的影响,如果我可以更改 .ex 文件并将其转换回 ASCII 比特流(而不必手动识别比特)以上传到FPGA。有办法吗?

我有点担心用无效的比特流损坏 FPGA。是否存在已知会发生这种情况的情况?有没有办法模拟比特流?

此外,拥有某种“更高级别”的解释格式会很有帮助,例如显示了它们对应的 I/O 块上的 IE/REN 位,而不是必须在比特流中设置它们的那个。有这样的格式吗?

我知道生成等效 Verilog 电路的可能性,但这样做的问题是它通常不允许我无损地往返返回到比特流。有没有办法生成等效的 Verilog 电路(例如通过显式实例化块)在使用 Yosys/arachne-pnr 处理时产生完全相同的比特流?

【问题讨论】:

    标签: yosys


    【解决方案1】:

    我有点担心用无效的比特流损坏 FPGA。是否存在已知会发生这种情况的情况?有没有办法模拟比特流?

    到目前为止,我还没有损坏任何 FPGA。 (但是,在运行一些循环重新编程的测试后,我设法损坏了一根冰棒上的串行闪存。)

    但这并不意味着您不能通过使用无效比特流对其进行编程来损坏您的 FPGA。理论上,您可以以产生驱动程序-驱动程序冲突的方式配置 FPGA。我不知道硬件如何处理这样的事情。我还没有进行任何实验来找出答案..

    此外,拥有某种“更高级别”的解释格式会很有帮助,例如显示了它们对应的 I/O 块上的 IE/REN 位,而不是必须在比特流中设置它们的那个。有这样的格式吗?

    icebox_vlog 产生更高级别的输出。但它不输出 I/O 块之类的东西,所以它可能对您的需求来说太高级了。

    我知道生成等效 Verilog 电路的可能性,但这样做的问题是它通常不允许我无损地往返返回到比特流。有没有办法生成等效的 Verilog 电路(例如通过显式实例化块)在使用 Yosys/arachne-pnr 处理时产生完全相同的比特流?

    暂时没有。但是扩展icebox_vlog 以提供此功能应该不会太难。因此,如果您真的需要它,添加您自己可能是您力所能及的。

    【讨论】:

      猜你喜欢
      • 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
      相关资源
      最近更新 更多