verilog
Hallo Wereld
Zoeken…
Het compileren en uitvoeren van het voorbeeld
Uitgaande van een bronbestand van hello_world.v
en een topniveau-module van hello_world
. De code kan worden uitgevoerd met behulp van verschillende simulatoren. De meeste simulatoren zijn gecompileerde simulatoren. Ze vereisen meerdere stappen om te compileren en uit te voeren. Over het algemeen de
- De eerste stap is het compileren van het Verilog-ontwerp.
- Tweede stap is het ontwerp uit te werken en te optimaliseren.
- Derde stap is het uitvoeren van de simulatie.
De details van de stappen kunnen variëren op basis van de simulator, maar het algemene idee blijft hetzelfde.
Proces in drie stappen met Cadence Simulator
ncvlog hello_world.v
ncelab hello_world
ncsim hello_world
- Eerste stap ncvlog is het compileren van het bestand hello_world.v
- Tweede stap ncelab is om de code uit te werken met de module hello_world op het hoogste niveau.
- Derde stap ncsim is het uitvoeren van de simulatie met de module hello_world op het hoogste niveau.
- De simulator genereert alle gecompileerde en geoptimaliseerde code in een werklogboek. [INCA_libs - standaard bibliotheeknaam]
enkele stap met Cadence Simulator.
De opdrachtregel roept intern de vereiste drie stappen op. Dit is om de oudere geïnterpreteerde simulator-uitvoeringsstijl (enkele opdrachtregel) na te bootsen.
irun hello_world.v
or
ncverilog hello_world.v
Hallo Wereld
Het programma geeft Hello World! naar standaarduitvoer.
module HELLO_WORLD(); // module doesn't have input or outputs
initial begin
$display("Hello World");
$finish; // stop the simulator
end
endmodule
Module is een basisbouwsteen in Verilog. Het vertegenwoordigt een verzameling elementen en is ingesloten tussen het sleutelwoord van de module en het eindmodule. Hier is hello_world de beste (en enige) module.
Het eerste blok wordt uitgevoerd bij het begin van de simulatie. Het begin en einde worden gebruikt om de grens van het eerste blok te markeren. $display
stuurt het bericht naar de standaarduitvoer. Het voegt het einde van regel "\ n" in het bericht in.
Deze code kan niet worden gesynthetiseerd, dwz het kan niet in een chip worden gestopt.