verilog
Witaj świecie
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.