Algorithm 创建Verilog框图的程序

Algorithm 创建Verilog框图的程序,algorithm,verilog,register-transfer-level,Algorithm,Verilog,Register Transfer Level,我想创建一个程序来解析Verilog并显示一个框图。有人能帮我研究一下什么算法吗?我找到了一个很好的Verilog解析器,但现在我需要找到每个块之间的关系并相应地放置它们。它不必进行广泛的优化 更新: 目前,我正在使用ironPython在Visio中绘制框图 创建块及其输入和输出的列表 创建一个图形,使块的所有输出与其相应的输入相匹配。这 基本上所有的块之间的连接 在Visio图表中为它们找到一个位置 在Visio上绘制它们 在Visio上连接它们 您也可以尝试使用Altera synthes

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

更新:

目前,我正在使用ironPython在Visio中绘制框图

  • 创建块及其输入和输出的列表
  • 创建一个图形,使块的所有输出与其相应的输入相匹配。这 基本上所有的块之间的连接
  • 在Visio图表中为它们找到一个位置
  • 在Visio上绘制它们
  • 在Visio上连接它们

  • 您也可以尝试使用Altera synthesis、EASE、HDL designer、Synplify HDL Analyst、nSchema或Xilinx PlanAhead。如果您只想查看块及其关系,可以尝试Graphviz。你可以从另一个例子中找到一个例子。您可以简单地解析HDL设计并构建它们之间的关系,然后用Graphviz语法写出文本格式。然后调用程序生成


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

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

    如果我正确理解你的要求,Yosys已经满足了你的要求。如果您仍然想编写自己的程序,您可以使用Yosys作为参考来开始


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

    您是否可以使用xilinx的vivado,它已经为您提供了。不,我必须创建visio图表。然后更容易修改以备将来使用。现在是xilinx的vivado