Suche…


Das Beispiel kompilieren und ausführen

Angenommen, eine Quelldatei von hello_world.v und ein Top-Level-Modul von hello_world . Der Code kann mit verschiedenen Simulatoren ausgeführt werden. Die meisten Simulatoren sind kompilierte Simulatoren. Sie erfordern mehrere Schritte zum Kompilieren und Ausführen. Im Allgemeinen die

  • Der erste Schritt ist das Kompilieren des Verilog-Designs.
  • Der zweite Schritt ist die Ausarbeitung und Optimierung des Designs.
  • Der dritte Schritt besteht darin, die Simulation auszuführen.

Die Details der Schritte können je nach Simulator variieren, die Gesamtidee bleibt jedoch gleich.

Dreistufiger Prozess mit Cadence Simulator

 ncvlog hello_world.v
 ncelab hello_world
 ncsim hello_world
  • Der erste Schritt ncvlog ist das Kompilieren der Datei hello_world.v
  • Der zweite Schritt von ncelab besteht darin, den Code mit dem Top-Level-Modul hello_world auszuarbeiten.
  • Der dritte Schritt ncsim besteht darin, die Simulation mit dem Top-Level-Modul hello_world auszuführen.
  • Der Simulator generiert den gesamten kompilierten und optimierten Code in einer Arbeitsbibliothek. [INCA_libs - Standardbibliotheksname]

Einzelschritt mit Cadence Simulator.

Die Befehlszeile ruft intern die erforderlichen drei Schritte auf. Dies dient dazu, den älteren interpretierten Simulator-Ausführungsstil (einzelne Befehlszeile) nachzuahmen.

irun hello_world.v   
or 
ncverilog hello_world.v

Hallo Welt

Das Programm gibt Hello World aus! zur Standardausgabe.

module HELLO_WORLD(); // module doesn't have input or outputs
  initial begin
    $display("Hello World");
    $finish; // stop the simulator
  end
endmodule

Das Modul ist ein grundlegender Baustein in Verilog. Es stellt eine Sammlung von Elementen dar und ist zwischen Modul- und Endmodulschlüsselwort eingeschlossen. Hier ist hello_world das oberste (und das einzige) Modul.

Anfangsblock wird beim Start der Simulation ausgeführt. Anfang und Ende werden verwendet, um die Begrenzung des ursprünglichen Blocks zu markieren. $display gibt die Nachricht an die Standardausgabe aus. Es fügt und \ n das Zeilenende "\ n" in die Nachricht ein.

Dieser Code kann nicht synthetisiert werden, dh er kann nicht in einen Chip eingefügt werden.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow