1 / 24 · Concetto
Trasforma un'equazione in un contratto del percorso dati
Specifica larghezze, eventi di accettazione e risultati validi insieme all'aritmetica.
Le lezioni sono gratuite. Iscriviti per salvare i progressi.
Specifica ciò che il circuito garantisce
Un percorso dati memorizza, seleziona e calcola valori. Il suo controllore decide quali valori si spostano e quando. Sono responsabilità di progettazione distinte, ma non sono attività software che vengono eseguite indipendentemente. A un fronte di clock, i segnali di controllo determinano gli aggiornamenti dei registri; i valori di quei registri diventano ingressi della logica combinatoria durante il ciclo successivo. Un'equazione priva di questo contratto temporale può produrre il numero corretto per la transazione sbagliata.
La nostra piccola calcolatrice accetta gli operandi a e b senza segno a otto bit e un'operazione a due bit. L'operazione 0 somma, 1 sottrae, 2 calcola AND e 3 calcola XOR. L'aritmetica restituisce gli otto bit meno significativi, con un riporto di addizione o un prestito di sottrazione separato. I progetti successivi trasportano anche un tag. Il tag non modifica il calcolo, ma identifica l'ingresso che ha prodotto un risultato e deve quindi accompagnare quel risultato.
| Voce del contratto | Scelta in questo corso |
|---|---|
| Significato degli operandi | Interi senza segno da 0 a 255 |
| Riduzione della larghezza | Otto bit meno significativi, modulo 256 |
| Informazioni sui limiti | Riporto ADD e prestito SUB |
| Accettazione | Fronte di salita con valid e ready entrambi attivi |
| Ordinamento | I risultati seguono l'ordine degli ingressi accettati |
| Reset | Scartare il lavoro in sospeso e azzerare lo stato valid |
Per a=250, b=10 e ADD, la somma matematica è 260. L'uscita è 4 con carry=1. L'interpretazione con segno o la saturazione definirebbero un contratto diverso. Non lasciare che una conversione accidentale del linguaggio scelga la politica. L'aritmetica modulare può essere adatta ai contatori di indirizzi, mentre un calcolo della luminosità può richiedere la saturazione.
- Accettazione: Acquisire operandi, operazione e tag
- Calcolo: Applicare il contratto numerico specificato
- Consegna: Trasferire il risultato e il tag corrispondente
Un'uscita ALU non valida può comunque cambiare elettricamente; non rappresenta una transazione. Anche un risultato valido con un vecchio tag è errato. Esamina insieme dati, tag e valid. Per ogni uscita, chiarisci sia il significato dei bit sia quando il consumatore può fidarsene. I modelli a cicli qui verificano funzionalità e ordinamento, non i ritardi fisici delle porte. Traduci il contratto in un modello di riferimento prima di scegliere i confini tra registri per raggiungere un obiettivo di latenza o throughput.
Prova tu
Annota il risultato ADD a otto bit e il riporto per a=250 e b=10. Spiega il valore 4 e perché il tag deve essere memorizzato insieme al risultato.
Leggi la spiegazione
260=1×256+4, quindi data=4 e carry=1. Il contratto degli otto bit meno significativi riduce la somma modulo 256. Memorizza il tag nelle stesse condizioni di accettazione, stallo e consegna dei dati, affinché il risultato rimanga associato al suo ingresso.