Export nach Verilog und VHDL
← Alle Artikel

Export nach Verilog und VHDL

6 Min

Ein flaches Modul mit durchnummerierten Ports

Beide Exporteure lesen die gerade geöffnete Ebene und erzeugen dafür genau ein Verilog-Modul (oder ein VHDL-Entity/Architecture-Paar) — es gibt keine Hierarchie aus mehreren Modulen, selbst wenn sich Ihr Entwurf über mehrere Ebenen erstreckt; jede Ebene wird als eigener, unabhängiger Block exportiert. Jeder INPUT- und OUTPUT-Knoten wird zu einem Port, benannt nach seiner Position — in_0, in_1, out_0 und so weiter, in der Reihenfolge, in der die Knoten platziert wurden — nicht nach dem Beschriftungstext, den Sie ihm gegeben haben; ein LABEL hilft einem Menschen, die Schaltung am Bildschirm zu lesen, überträgt sich aber nicht in die generierten Portnamen.

Nur kombinatorische Logik

Der Verilog-Exporteur erzeugt ausschließlich assign-Anweisungen; der VHDL-Exporteur ausschließlich nebenläufige Signalzuweisungen innerhalb einer Architecture. Keiner von beiden erzeugt jemals einen getakteten Prozess — kein always @(posedge clk), kein VHDL-process(clk) —, sodass jedes zustandsbehaftete Element (Flip-Flops, REG4, SHIFT4, CNT4 und der Rest) vollständig übersprungen wird, markiert mit einem expliziten „unsupported"-Hinweis in der Ausgabe, statt stillschweigend verworfen zu werden.

Bits, keine Busse

Keiner der beiden Exporteure kennt das Konzept eines mehrbittigen Vektors. Ein 4-Bit-Block wie ADD4 oder CMP4 wird in vier separate 1-Bit-Signale aufgesprengt, die miteinander verdrahtet werden — durch Bit-Konkatenation in Verilog, durch explizite STD_LOGIC_VECTOR-/UNSIGNED-Hilfssignale in VHDL, was der VHDL-Ausgabe für Arithmetik einen etwas idiomatischeren Charakter verleiht, obwohl das zugrunde liegende Modell bei beiden identisch ist.

Probieren Sie es selbst

Bauen Sie eine rein kombinatorische Schaltung — etwa einen 4-Bit-Komparator — im Schaltungseditor, exportieren Sie sie sowohl nach Verilog als auch nach VHDL, und vergleichen Sie die beiden Ausgaben nebeneinander, um dieselbe bitweise Struktur in den jeweiligen Idiomen beider Sprachen zu sehen.

Ihre Schaltung nach Verilog exportieren →