Altifigence Academy
Hardware per l'IAGratuito · Avanzato

Progettazione RTL: array sistolici

Costruisci un array parametrizzato per la moltiplicazione di matrici partendo dall'aritmetica MAC con segno, dallo sfasamento degli ingressi e dagli elementi di elaborazione, poi verifica suddivisione in blocchi, controllo del flusso e comportamento esatto fronte per fronte.

Moltiplicazione di matriciMACFlusso dei dati
Il mio apprendimento

Che cosa imparerai

  • Associare indici di matrici e prodotti scalari agli elementi di elaborazione
  • Scegliere le larghezze del prodotto con segno, dell'accumulatore e dell'uscita a virgola fissa
  • Pianificare array 2×2 e N×N con uscite stazionarie e ingressi sfasati
  • Specificare valid, tag, stalli e reset con un contratto esatto sui fronti
  • Verificare confini dei blocchi, banda e progetto finale con uno scoreboard

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. Matrici e contratti aritmetici
    • Associa i prodotti scalari agli elementi di elaborazioneConcetto

      Separa gli indici di riga, colonna e riduzione e calcola una piccola matrice di riferimento.

    • Prodotti con segno e larghezza dell'accumulatoreConcetto

      Ricava la larghezza dell'accumulatore dall'intervallo peggiore degli operandi.

    • Politica di uscita a virgola fissaConcetto

      Separa scala di ingresso, arrotondamento dei negativi, saturazione e ritorno modulare.

    • Verifica il contratto aritmeticoVerifica

      Scegli la larghezza dell'accumulatore usando la lunghezza completa della riduzione.

  2. Elementi di elaborazione e token validi
    • Il contratto a un singolo fronte di salitaConcetto

      Fissa numerazione dei fronti, inoltro registrato, accumulo e priorità di inizializzazione.

    • Laboratorio: elemento di elaborazione MAC con segnoEsercitazione

      Usa un modello autonomo per verificare operandi validi, stalli e azzeramento.

    • Flag valid, tag e svuotamentoConcetto

      Distingui zero numerico, bolle e token appartenenti a un altro lavoro.

    • Verifica il controllo degli elementi di elaborazioneVerifica

      Identifica lo stato che deve rimanere invariato durante una pausa.

  3. Array e pianificazione degli ingressi
    • Flusso con uscite stazionarie e altri flussi di datiConcetto

      Confronta memorizzazione e trasporto identificando ciò che rimane nel PE.

    • Laboratorio: array 2×2 con ingressi sfasatiEsercitazione

      Modella ritardi di inoltro di un fronte e verifica ogni accumulatore intermedio.

    • Scala a N×N e conta i fronti di completamentoConcetto

      Parametrizza la dimensione spaziale N separatamente dalla lunghezza di riduzione K.

    • Verifica pianificazione e completamentoVerifica

      Distingui l'inserimento finale dalla disponibilità del risultato finale.

  4. Suddivisione in blocchi, banda e controllo del flusso
    • Suddivisione in blocchi e riempimento ai confiniConcetto

      Associa matrici più grandi a una griglia più piccola e gestisci riempimento con zeri e maschere di uscita.

    • Banda e utilizzo utileConcetto

      Separa la capacità MAC di picco dai costi di riempimento, completamento del transito, padding e memoria.

    • Laboratorio: contropressione e resetEsercitazione

      Esegui pausa globale, conservazione del risultato e reset di un lavoro interrotto.

    • Verifica riempimento e bandaVerifica

      Distingui la validità dell'operando dalla validità dell'indirizzo del risultato.

  5. Verifica e progetto finale
    • Scoreboard e invariantiConcetto

      Verifica termini, tag, fronti e trasferimenti di uscita oltre alla matrice finale.

    • Progetta prove con segno e ai limitiConcetto

      Combina limiti aritmetici, di forma e di controllo oltre a un singolo esempio normale.

    • Progetto finale: modello di verifica N×N suddiviso in blocchiEsercitazione

      Combina N e K arbitrari con riempimento e pause e confronta con un riferimento indipendente.

    • Revisione dell'integrazione RTL ed estensioniConcetto

      Collega il modello didattico alle interfacce RTL e alle prove di verifica.

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