Verilog exportieren

Modulname:

Eine Schaltung nach Verilog exportieren

Verilog ist die Hardwarebeschreibungssprache, die nahezu jede FPGA- und ASIC-Toolchain versteht. Der Export verwandelt die Zeichnung in etwas, das ein Synthesewerkzeug tatsächlich bauen kann: Aus den platzierten Gattern wird ein Modul mit benannten Ports und einer Reihe kontinuierlicher Zuweisungen.

Boolflow liest die aktive Ebene, durchläuft den Graphen von den Eingängen zu den Ausgängen und gibt pro Gatter eine Zuweisung aus. Jedes INPUT-Element wird zu einem Eingangsport, jedes OUTPUT zu einem Ausgangsport, die Leitungen dazwischen werden zu benannten Netzen. Das Ergebnis ist schlichtes strukturelles Verilog ohne herstellerspezifische Konstrukte und übersetzt daher gleichermaßen unter Icarus Verilog, Verilator, Vivado und Quartus.

  • Der Modulname ist frei wählbar — er wird zugleich Dateiname und Bezeichner bei der Instanziierung.
  • Die optionale Testbench erzeugt ein Stimulus-Modul, das die Eingänge durchläuft — so lässt sich sofort simulieren, ohne selbst eine zu schreiben.
  • Elemente ohne Verilog-Entsprechung werden gemeldet und nicht stillschweigend verworfen.
So sieht die Ausgabe aus
// Generated by BoolFlow
module half_adder (
  input  A, B,
  output S, C
);
  assign S = A ^ B;
  assign C = A & B;
endmodule

Kombinatorische Schaltungen werden direkt übersetzt. Getaktete Elemente werden ausgegeben, sofern eine Entsprechung existiert; alles Nichtunterstützte steht als Liste über dem Code.

Lesen: Grundlagen zu FPGA und PLM