Altifigence Academy
Progettazione digitaleGratuito · Intermedio

Progettazione RTL: percorsi dati e pipeline

Definisci i contratti numerici e temporali, poi progetta un'ALU, un controllore, una pipeline e buffer ready-valid. Quattro laboratori eseguibili con modelli di riferimento verificano i limiti aritmetici, gli stalli, le FIFO e l'ordinamento prima di un progetto finale di calcolo in streaming.

Percorsi datiPipelineReady-validFIFOVerifica funzionale
Il mio apprendimento

Che cosa imparerai

  • Distinguere i contratti relativi a larghezze, interpretazione con segno, riporto e overflow
  • Pianificare trasferimenti tra registri, controllo mediante FSM e memoria sincrona
  • Calcolare latenza, throughput e intervallo di avvio
  • Gestire gli stalli ready-valid e i limiti delle FIFO senza perdite
  • Costruire verifiche con scoreboard che coprano conflitti e reset
  • Verificare un progetto finale di calcolo in streaming mediante modelli autonomi

Prima di iniziare

Gli esercizi nel browser usano modelli didattici e non compilano né eseguono HDL. Per eseguire il codice separatamente, segui la guida Digital Design Studio del tuo sistema operativo e accedi quando l’operazione lo richiede.

Installazione e primo avvio ↗ · Download ↗

Programma

  1. Contratti numerici e aritmetici
    • Trasforma un'equazione in un contratto del percorso datiConcetto

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

    • Larghezze, estensione del segno e overflowConcetto

      Usa esempi numerici per distinguere interpretazione, estensione e riduzione della larghezza.

    • Laboratorio: modello di riferimento di un'ALU a otto bitEsercitazione

      Verifica ADD, SUB, AND, XOR, riporto e prestito con un programma autonomo.

    • Verifica: riporto e overflow con segnoVerifica

      Distingui i limiti numerici nell'interpretazione senza segno e con segno.

  2. Trasferimenti tra registri e controllo
    • Leggi i trasferimenti tra registri ai fronti di clockConcetto

      Separa stato precedente e successivo e segui come le abilitazioni conservano i valori memorizzati.

    • Pianifica le risorse condivise con una FSMConcetto

      Accumula quattro valori con un solo sommatore definendo le transizioni di stato e l'acquisizione.

    • Contratti temporali per richieste e risposte di memoriaConcetto

      Distingui letture sincrone, tag ritardati e collisioni sullo stesso indirizzo.

    • Verifica: conservare un risultato completatoVerifica

      Separa la consegna nello stato DONE dall'accettazione della richiesta successiva.

  3. Temporizzazione e throughput delle pipeline
    • Memorizza l'intera transazione ai confini della pipelineConcetto

      Suddividi l'aritmetica di somma e scalatura mantenendo allineati valid, tag e larghezze.

    • Latenza, throughput e intervallo di avvioConcetto

      Calcola il ritardo di una singola transazione separatamente dalla frequenza sostenuta di completamento.

    • Laboratorio: segui due stadi e le bolleEsercitazione

      Calcola lo stato successivo da quello precedente e confronta tag, valori e fronti di uscita.

    • Verifica: che cosa significa II=1Verifica

      Evita di confondere il numero di stadi con il throughput sostenuto.

  4. Controllo del flusso ready-valid
    • Eventi di accettazione e stabilità durante gli stalliConcetto

      Assegna le responsabilità di sorgente e destinazione e conserva i payload in stallo.

    • Progetta un registro elastico con una posizioneConcetto

      Accetta in una posizione vuota oppure sostituisci un elemento consumato contemporaneamente.

    • Laboratorio: verifica 1024 configurazioni di stalloEsercitazione

      Esercita mantenimento, sostituzione e svuotamento con tutte le configurazioni ready di dieci cicli.

    • Verifica: contare una transazione in stalloVerifica

      Distingui la durata di valid dal numero effettivo di handshake.

  5. FIFO e limiti dei conflitti
    • FIFO vuota, piena e trasferimenti simultaneiConcetto

      Separa l'occupazione dai puntatori e specifica il comportamento di inserimento e rimozione ai limiti.

    • Dipendenze, conflitti di risorse e inoltroConcetto

      Confronta stalli e inoltro quando un'operazione richiede un risultato precedente.

    • Mantieni la contabilità delle transazioni durante svuotamento e resetConcetto

      Separa l'annullamento dalla consegna e allinea lo stato valid alle code attese.

    • Verifica: sostituzione in una FIFO pienaVerifica

      Calcola occupazione e ordinamento per inserimento e rimozione simultanei.

  6. Verifica e calcolatrice in streaming
    • Combina uno scoreboard con invarianti localiConcetto

      Verifica valori, ordinamento, occupazione e stabilità durante gli stalli a partire dalle transazioni accettate.

    • Laboratorio finale: FIFO e calcolatrice in streaming a due stadiEsercitazione

      Collega una FIFO di ingresso con profondità due, due stadi elastici e uno scoreboard.

    • Misura le prestazioni e rivedi il progettoConcetto

      Specifica le finestre di osservazione, diagnostica gli stalli e delimita le prove offerte dal modello.

    • Verifica finale: stalli senza perdite e completamento del transitoVerifica

      Combina aritmetica, contabilità del lavoro in sospeso e condizioni di completamento.

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