Sök…


Kompilera och köra exemplet

Antagande av en källfil av hello_world.v och en toppnivåmodul av hello_world . Koden kan köras med olika simulatorer. De flesta simulatorer är sammanställda simulatorer. De kräver flera steg för att kompilera och utföra. Generellt

  • Det första steget är att sammanställa Verilog-designen.
  • Det andra steget är att utarbeta och optimera designen.
  • Det tredje steget är att köra simuleringen.

Detaljerna för stegen kan variera baserat på simulatorn men den övergripande idén förblir densamma.

Trestegsprocess med hjälp av Cadence Simulator

 ncvlog hello_world.v
 ncelab hello_world
 ncsim hello_world
  • Första steget ncvlog är att sammanställa filen hello_world.v
  • Det andra steget ncelab är att utarbeta koden med den översta modulen hello_world.
  • Tredje steg ncsim är att köra simuleringen med toppnivåmodulen hello_world.
  • Simulatorn genererar all den sammanställda och optimerade koden till en arbetsbibliotek. [INCA_libs - standardbibliotekets namn]

enda steg med hjälp av Cadence Simulator.

Kommandoraden ringer internt de tre stegen som krävs. Detta är för att härma den äldre tolkade simuleringsutförandet (enkel kommandorad).

irun hello_world.v   
or 
ncverilog hello_world.v

Hej världen

Programmet sänder Hello World! till standardutgång.

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

Modulen är en grundläggande byggsten i Verilog. Det representerar en samling element och är inneslutet mellan modul och slutmodul nyckelord. Här är hello_world den mest modul (och den enda).

Det första blocket körs i början av simuleringen. Början och slutet används för att markera gränsen för det första blocket. $display sänder meddelandet till standardutgången. Den infogar och slutar raden "\ n" i meddelandet.

Den här koden kan inte syntetiseras, dvs. den kan inte läggas i ett chip.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow