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.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow