Cos'è un segnale in VHDL?
VHDL (VHSIC Hardware Description Language) è un linguaggio di descrizione dell'hardware usato nell'automazione della progettazione elettronica per descrivere sistemi digitali e a segnale misto come i field-programmable gate array e i circuiti integrati. VHDL può anche essere usato come un linguaggio di programmazione parallelo per scopi generali.
Variabili vs. Segnali in VHDL
Variabili e segnali in VHDL sembrano essere molto simili. Entrambi possono essere usati per contenere qualsiasi tipo di dati assegnati a loro. La differenza più evidente è che le variabili usano il simbolo di assegnazione: mentre i segnali usano il simbolo di assegnazione <=. Tuttavia, le differenze sono più significative di questo e devono essere chiaramente comprese per sapere quando usare quale. Se hai bisogno di un ripasso, prova questa pagina sulle variabili VHDL.
Segnali vs. Variabili:
Le variabili possono essere usate solo all'interno dei processi, i segnali possono essere usati dentro o fuori i processi.
Ogni variabile che viene creata in un processo non può essere usata in un altro processo, i segnali possono essere usati in più processi anche se possono essere assegnati solo in un singolo processo.
Le variabili devono essere definite dopo la parola chiave process ma prima della parola chiave begin. I segnali sono definiti nell'architettura prima dell'istruzione begin.
Le variabili sono assegnate usando il simbolo di assegnazione :=. I segnali sono assegnati usando il simbolo di assegnazione <=
Le variabili che sono assegnate immediatamente prendono il valore dell'assegnazione. I segnali dipendono dal fatto che si tratti di codice combinatorio o sequenziale per sapere quando il segnale prende il valore dell'assegnazione.
La cosa più importante da capire (e la più grande fonte di confusione) è che le variabili prendono immediatamente il valore della loro assegnazione, mentre i segnali dipendono dal fatto che il segnale sia usato nel codice combinatorio o sequenziale. Nel codice combinatorio, i segnali prendono immediatamente il valore della loro assegnazione. Nel codice sequenziale, i segnali sono usati per creare flip-flop, che intrinsecamente non prendono immediatamente il valore della loro assegnazione. Prendono un ciclo di clock.
Credit:
- Wikipedia
- Variabili vs. Segnali in VHDL