Altifigence Academy

43 / 63 · Verifica

Verifica del progetto: latenza, allineamento e conservazione

Verificare direzione, numero di spostamenti validi e riferimento d’osservazione.

Fissare il riferimento della latenza

Il registroRegistro Memorizza uno stato di più bit. I registri sincroni del corso acquisiscono gli ingressi specificati al fronte di clock. Approfondisci a tre bit esegue q <= {q[1:0], din} solo con ingresso valido; valid=0 mantiene q. Partite da 0 dopo resetReset Controllo che riporta allo stato iniziale specificato. Occorre definirne sincronicità e priorità rispetto agli altri controlli. Approfondisci e applicate ai successivi fronti di salitaFronte di salita Passaggio del clock da 0 a 1, distinto dall’intero intervallo di livello CLK=1. Approfondisci (valid,din) = (1,1), (0,0), (1,0), (1,1).

Quattro fronti producono solo tre spostamenti. Verificate che la sequenza degli stati e l'indicazione «latenza di tanti cicli» usino riferimenti coerenti.

Ogni colonna registra un fronte di salitaFronte di salita Passaggio del clock da 0 a 1, distinto dall’intero intervallo di livello CLK=1. Approfondisci. Gli ingressi sono quelli immediatamente precedenti; gli stati indicati con «after» sono quelli subito dopo l’aggiornamento. Le colonne indicano l’ordine dei campioni, non il ritardo fisico di propagazioneRitardo di propagazione Tempo dalla variazione d’ingresso all’assestamento corretto dell’uscita. Equivalenza logica e proprietà temporali sono distinte. Approfondisci. Le colonne mostrano la sequenza assegnata. Nella seconda, valid=0 mantiene lo stato. Non confondete numero di cambi di q e numero di colonne clock.

Quattro fronti e tre accettazioni
Mostra i dati della forma d’onda
Dati della forma d’onda: ogni carattere è un intervallo; il punto mantiene lo stato precedente; p è un ciclo di clock.
SegnaleForma d’ondaValori del bus
edge2345E0 → E1 → E2 → E3
valid101.
din10.1
accepted count2.341 → 2 → 3
q after2.34001 → 010 → 101

Altro problema di progetto

Estendendo a una pipelinePipeline Divide i calcoli in stadi separati da registri elaborando più ingressi sovrapposti. Dati, valid e controlli devono essere allineati per stadio. Approfondisci con otto bit per ingresso, sarebbe errato usare tre stadi dati e ritardare valid di uno solo. Applicate le stesse regole di movimento a dati e valid, oppure progettate insieme accettazione e consegna di un buffer arrestabile.

Prova tu

Qual è q finale della sequenza se si scorre a ogni fronte indipendentemente da valid?

Leggi la spiegazione

Si acquisisce anche din=0 del ciclo invalid: 001 → 010 → 100 → 001. Il finale 001 differisce dall’originale 101. L’implementazione deve rispettare il contratto che ignora i dati invalidi.

Quali sono q finale e numero reale di spostamenti applicando la sequenza con valid?

Scegli una risposta

La scelta vale per questo browser. Puoi modificarla in qualsiasi momento dal piè di pagina.