Szukaj…


Kompilowanie i uruchamianie przykładu

Zakładając plik źródłowy hello_world.v i moduł najwyższego poziomu hello_world . Kod można uruchomić za pomocą różnych symulatorów. Większość symulatorów to symulatory skompilowane. Wymagają wielu kroków, aby skompilować i wykonać. Ogólnie rzecz biorąc

  • Pierwszym krokiem jest skompilowanie projektu Verilog.
  • Drugim krokiem jest opracowanie i optymalizacja projektu.
  • Trzecim krokiem jest uruchomienie symulacji.

Szczegóły kroków mogą się różnić w zależności od symulatora, ale ogólny pomysł pozostaje taki sam.

Trzyetapowy proces z wykorzystaniem Cadence Simulator

 ncvlog hello_world.v
 ncelab hello_world
 ncsim hello_world
  • Pierwszym krokiem ncvlog jest skompilowanie pliku hello_world.v
  • Drugim krokiem ncelab jest opracowanie kodu za pomocą modułu najwyższego poziomu hello_world.
  • Trzecim krokiem ncsim jest uruchomienie symulacji z modułem najwyższego poziomu hello_world.
  • Symulator generuje cały skompilowany i zoptymalizowany kod do biblioteki roboczej. [INCA_libs - domyślna nazwa biblioteki]

jeden krok za pomocą symulatora kadencji.

Wiersz poleceń wywoła wewnętrznie wymagane trzy kroki. Ma to naśladować starszy styl interpretacji symulatora (pojedyncza linia poleceń).

irun hello_world.v   
or 
ncverilog hello_world.v

Witaj świecie

Program generuje Hello World! na standardowe wyjście.

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

Moduł jest podstawowym elementem składowym Verilog. Reprezentuje kolekcję elementów i jest zamknięty między modułem a słowem kluczowym modułu końcowego. Tutaj hello_world jest najwyższym (i jedynym) modułem.

Blok początkowy jest wykonywany na początku symulacji. Początek i koniec służą do oznaczenia granicy początkowego bloku. $display komunikat na standardowe wyjście. Wstawia i koniec wiersza „\ n” do wiadomości.

Tego kodu nie można zsyntetyzować, tzn. Nie można go umieścić w układzie scalonym.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow