2 / 37 · Concetto
Segnali e porte: contratto di larghezza, direzione e tempo
Leggere le interfacce distinguendo i criteri di verifica delle uscite combinatorie e di stato.
Le lezioni sono gratuite. Iscriviti per salvare i progressi.
Leggere l'elenco delle porte come contratto del circuito
input logic [7:0] data è una porta che trasferisce otto bit contemporaneamente, non otto valori in sequenza. Il tipo logic da solo non crea memoria. Il comportamento hardware dipende dal pilotaggio mediante assegnazione combinatoria o blocco sequenziale attivato da un fronte.
Oltre a larghezza e direzione, controllate quando il segnale è valido, chi lo pilota e quale valore assume dopo reset. Senza queste informazioni, moduli corretti singolarmente possono formare un sistema errato.
Due tipi di uscita nello stesso MUX
Le esercitazioni osservano insieme il risultato y e il suo valore memorizzato sampled_y.
La prima formula è combinatoria; la seconda è un modello sincrono ideale che memorizza y stabile subito prima del fronte. Confrontare sempre entrambe le uscite con gli ingressi dello stesso istante farebbe apparire errato un registroRegistro Memorizza uno stato di più bit. I registri sincroni del corso acquisiscono gli ingressi specificati al fronte di clock. Approfondisci corretto.
assign y = sel ? b : a;
always_ff @(posedge clk) sampled_y <= y;Il simulatore ordina gli eventi anche all'interno dello stesso istante. I componenti reali hanno setupSetup Tempo minimo prima del fronte di acquisizione in cui i dati devono essere stabili. Una violazione rende non garantito il valore memorizzato. Approfondisci, hold e ritardo clock-to-Q. Le formule non cancellano questa differenza: sono il punto di partenza per definire l'istante di osservazione nella verifica funzionale.
Le frecce indicano dipendenze dei dati. Cambiando a, b o sel varia prima y, mentre sampled_y acquisisce un nuovo valore solo al fronte di salitaFronte di salita Passaggio del clock da 0 a 1, distinto dall’intero intervallo di livello CLK=1. Approfondisci.
- a · b · sel: Ingressi presenti simultaneamente
- MUX → y: Calcolare con le linee di selezione attuali
- DFF → sampled_y: Memorizzare y al fronte di salita
Domande da verificare
- sel è un ingresso 0/1 definito o un segnale esterno asincrono?
- Dopo una variazione di y, il confronto con sampled_y avviene dopo il prossimo fronte valido?
- Il valore iniziale di sampled_y deriva dal resetReset Controllo che riporta allo stato iniziale specificato. Occorre definirne sincronicità e priorità rispetto agli altri controlli. Approfondisci o dalle impostazioni dello strumento?
L'inizializzazione esplicita del laboratorio rende riproducibile il modello 0/1. Non garantisce lo stato all'accensione di un chip reale.
Prova tu
Fra due fronti a passa da 0 a 1 mentre sel resta 0. Quando cambiano y e sampled_y?
Leggi la spiegazione
y cambia dopo la valutazione o propagazione del cammino combinatorio. sampled_y si aggiorna al successivo fronte di salita che acquisisce quel valore. Le variazioni vicine al fronte pongono problemi reali di setup/hold: il modello semplice non ne dimostra la sicurezza.