Altifigence Academy

1 / 24 · Concetto

Trasforma un'equazione in un contratto del percorso dati

Specifica larghezze, eventi di accettazione e risultati validi insieme all'aritmetica.

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 contrattoScelta in questo corso
Significato degli operandiInteri senza segno da 0 a 255
Riduzione della larghezzaOtto bit meno significativi, modulo 256
Informazioni sui limitiRiporto ADD e prestito SUB
AccettazioneFronte di salita con valid e ready entrambi attivi
OrdinamentoI risultati seguono l'ordine degli ingressi accettati
ResetScartare 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.

Percorso della transazione
  1. Accettazione: Acquisire operandi, operazione e tag
  2. Calcolo: Applicare il contratto numerico specificato
  3. 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.

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