用于创建Verilog框图的程序

时间:2013-07-30 20:36:41

标签: algorithm verilog register-transfer-level

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

更新:

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

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

3 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:1)

您也可以尝试使用Altera合成,EASE,HDL设计器,Synplify HDL Analyst,nSchema或Xilinx PlanAhead。

答案 2 :(得分:0)

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

例如,如果你想实现一个高级查看器,它可以放大/缩小,平移,跳入/跳出块和选择,这是另一个故事。