2013-07-30 14 views
6

Ich möchte ein Programm erstellen, um Verilog zu analysieren und ein Blockdiagramm anzuzeigen. Kann mir jemand helfen, welche Algorithmen ich untersuchen muss? Ich habe einen guten Verilog-Parser gefunden, aber jetzt muss ich die Beziehung zwischen jedem Block finden und sie entsprechend platzieren. Es muss nicht umfassend optimiert werden.Programm zum Erstellen eines Verilog-Blockdiagramms

UPDATE:

für jetzt ich Ironpython bin mit dem Blockdiagramm in Visio zu zeichnen.

  1. Erstellen einer Liste der Blöcke mit ihren Eingängen und Ausgängen
  2. ein Diagramm erstellen, die an ihren entsprechenden Eingängen alle Ausgänge eines Blocks übereinstimmt. Diese hat grundsätzlich alle Verbindungen zwischen Blöcken.
  3. Suchen Sie einen Platz für sie im Visio-Diagramm.
  4. Zeichnen Sie sie auf Visio
  5. Verbinden Sie sie auf Visio.
+0

Ist es möglich, dass Sie von Xilinx verwenden vivado es bereits erledigt das für Sie. –

+0

Nein, ich muss ein Visio-Diagramm erstellen. Welches ist dann einfacher für zukünftige Verwendung zu ändern. – user591124

Antwort

1

Sie können auch die Altera-Synthese verwenden, EASE, HDL-Designer, Synplify HDL Analyst, nSchema oder Xilinx PlanAhead.

+0

und jetzt vivado von xilinx –

0

Wenn Sie nur einen Viewer für Blöcke und ihre Beziehung wollen, können Sie Graphviz ausprobieren. Ein Beispiel finden Sie von einem anderen StackOverflow thread. Sie können das HDL-Design einfach analysieren und die Beziehung zwischen ihnen erstellen und dann in der Graphviz-Syntax in das Textformat schreiben. Rufen Sie dann das Programm an, um das

zu generieren. Wenn Sie beispielsweise einen erweiterten Viewer implementieren möchten, können Sie die Ansicht vergrößern/verkleinern, verschieben, in/aus blocken und auswählen, das ist eine andere Geschichte.

4

Yosys ist ein Open-Source-Verilog-Synthese-Tool. Es kann auch verwendet werden, um Designs zu analysieren und Schemata zu erstellen (mit GraphViz). Sehen Sie sich die Screenshots auf der Webseite:

Wenn ich Ihre Anforderungen richtig verstanden habe, tut Yosys schon, was Sie wollen. Wenn Sie immer noch Ihr eigenes Programm schreiben möchten, können Sie Yosys als Referenz verwenden, um Sie zu starten.

(Interessenkonflikt Disclosure: Ich bin der Autor des Yosys.)