SystemVerilog: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Aggiornamento tabella
m Typo fixing
Riga 35:
Esistono due tipi di durata delle variabili specificate in SystemVerilog: static e automatic . Le variabili automatiche vengono create nel momento in cui l'esecuzione del programma rientra nello scope della variabile. Le variabili statiche vengono create all'inizio dell'esecuzione del programma e mantengono lo stesso valore durante l'intero ciclo di vita del programma, a meno che non venga assegnato un nuovo valore durante l'esecuzione.
 
Qualsiasi variabile dichiarata all'interno di un task o di una funzione senza specificare il tipo verrà considerata automatica. Per specificare che una variabile è statica si utilizza la [[Parola riservata|parola chiave]] " <code>static</code> " nella dichiarazione del tipo, ad esempio " <code>static int x;</code> ". La parola chiave " <code>automatic</code> " viene utilizzata allo stesso modo.
 
=== Nuovi tipi di dati ===
'''I tipi di variabili avanzati''' aggiungono nuove funzionalità al tipo "reg" di Verilog:<syntaxhighlight lang="systemverilog" line="1">
logic [31:0] my_var;
</syntaxhighlight>Verilog-1995 e -2001 limitano le variabili reg a dichiarazioni comportamentali come [[Register transfer level|il codice RTL]] . SystemVerilog estende il tipo reg in modo che possa essere guidato da un singolo driver come un gate o un modulo. SystemVerilog chiama questo tipo "logic" per ricordare agli utenti che ha questa capacità extra e non è un registro hardware. I nomi "logic" e "reg" sono intercambiabili. Un segnale con più di un driver (come un [[Three state|buffer a tre stati]] per [[General Purpose Input/Output|input/output generico]] ) deve essere dichiarato un tipo net come "wire" in modo che SystemVerilog possa risolvere il valore finale.
 
'''I Packed array multidimensionali''' unificano ed estendono la nozione di "registri" e "memorie" di Verilog:<syntaxhighlight lang="systemverilog" line="1">