8

我想创建一个程序来解析 Verilog 并显示一个框图。有人可以帮助我了解我需要研究哪些算法吗?我找到了一个很好的 Verilog 解析器,但现在我需要找到每个块之间的关系并相应地放置它们。它不必进行广泛的优化。

更新:

现在我正在使用 IronPython 在 Visio 中绘制框图。

  1. 创建包含输入和输出的模块列表
  2. 创建一个图,将块的所有输出与其对应的输入相匹配。这基本上具有块之间的所有连接。
  3. 在 Visio 图表中为它们找到一个位置。
  4. 在 Visio 上绘制它们
  5. 在 Visio 上连接它们。
4

3 回答 3

7

Yosys 是一个开源的verilog综合工具。它还可用于分析设计和创建原理图(使用 GraphViz)。查看网页上的截图:

如果我正确理解您的要求,Yosys 已经做了您想要的。如果您仍想编写自己的程序,可以使用 Yosys 作为参考来帮助您入门。

(利益冲突披露:我是 Yosys 的作者。)

于 2013-07-31T13:18:02.203 回答
1

您也可以尝试使用 Altera 综合、EASE、HDL Designer、Synplify HDL Analyst、nSchema 或 Xilinx PlanAhead。

于 2013-07-30T21:54:29.707 回答
0

如果您只想查看块及其关系,您可以尝试 Graphviz。您可以从另一个StackOverflow 线程中找到一个示例。您可以简单地解析 HDL 设计并建立它们之间的关系,然后以 Graphviz 语法写出文本格式。然后调用程序生成

如果你想实现一个高级查看器,例如,它可以放大/缩小、平移、跳进/跳出块和选择,那就是另一回事了。

于 2013-07-31T02:16:18.717 回答