verilog
Ciao mondo
Ricerca…
Compilare ed eseguire l'esempio
Supponendo un file sorgente di hello_world.v
e un modulo di livello superiore di hello_world
. Il codice può essere eseguito utilizzando vari simulatori. La maggior parte dei simulatori sono simulatori compilati. Richiedono più passaggi per compilare ed eseguire. Generalmente il
- Il primo passo è compilare il progetto Verilog.
- Il secondo passo è quello di elaborare e ottimizzare il design.
- Il terzo passo è eseguire la simulazione.
I dettagli dei passaggi potrebbero variare in base al simulatore, ma l'idea generale rimane la stessa.
Processo in tre fasi con Cadence Simulator
ncvlog hello_world.v
ncelab hello_world
ncsim hello_world
- Primo passo ncvlog è quello di compilare il file hello_world.v
- Secondo passo, ncelab è quello di elaborare il codice con il modulo di livello superiore hello_world.
- Il terzo passo ncsim è quello di eseguire la simulazione con il modulo di livello superiore hello_world.
- Il simulatore genera tutto il codice compilato e ottimizzato in una lib di lavoro. [INCA_libs: nome della libreria predefinito]
singolo passo usando Cadence Simulator.
La riga di comando chiamerà internamente i tre passaggi richiesti. Questo per imitare lo stile di esecuzione del simulatore interpretato più vecchio (riga di comando singola).
irun hello_world.v
or
ncverilog hello_world.v
Ciao mondo
Il programma produce Hello World! all'uscita standard.
module HELLO_WORLD(); // module doesn't have input or outputs
initial begin
$display("Hello World");
$finish; // stop the simulator
end
endmodule
Il modulo è un elemento fondamentale in Verilog. Rappresenta una raccolta di elementi ed è racchiuso tra il modulo e la parola chiave del modulo finale. Qui hello_world è il modulo più in alto (e l'unico).
Il blocco iniziale viene eseguito all'inizio della simulazione. L'inizio e la fine vengono utilizzati per contrassegnare il limite del blocco iniziale. $display
invia il messaggio allo standard output. Inserisce e termina "\ n" al messaggio.
Questo codice non può essere sintetizzato, cioè non può essere inserito in un chip.