RTL-Entwurf: CNN-Beschleuniger
Lernen Sie Faltungsindizierung und numerische Ganzzahlregeln, anschließend Fenster im Datenstrom, PE-Abbildung und Kachelung. Verifizieren Sie eine ausführbare Referenz und einen kleinen Inferenzpfad und trennen Sie dabei Werte, Ablaufschätzungen und Datenverkehr.
Das wirst du lernen
- Faltungsformen und Indizes einschließlich Schrittweite, Auffüllung, Dilatation und Kanälen berechnen
- Festkommaeinheiten, Skalierungen, Nullpunkte, Akkumulatorbreite, Rundung und Sättigung spezifizieren
- Direkte Faltung mit einem im2col-Sollmodell vergleichen
- Fenster mit Zeilenpuffern und Übernahmebedingungen erzeugen, die angehaltenen Zustand erhalten
- PE-Wiederverwendung, Kachelspeicher, Datenverkehr und Ablaufannahmen berechnen
- Numerische Ergebnisse und Nachweisgrenzen eines kleinen Inferenzpfads berichten
Bevor du beginnst
Diese Browserübungen verwenden Lehrmodelle und kompilieren oder starten kein HDL. Um den Quellcode separat auszuführen, folge der Digital Design Studio-Anleitung für dein Betriebssystem und melde dich an, wenn der Vorgang es erfordert.
Installation und erster Start ↗ · Downloads ↗Lehrplan
- Verhaltensregeln der Inferenz
- Inferenz und TrainingKonzept
Wie verändern sich MAC-Anzahl und Anzahl gespeicherter Biaswerte, wenn nur die Ausgabekanäle von drei auf sechs erhöht werden?
- Faltung und KreuzkorrelationKonzept
Welche Ergebnisse liefern Kreuzkorrelation und umgekehrter Kernel für [1,2;4,5] mit Kernel [1,0;0,-1]?
- Formen, Schrittweite, Auffüllung und DilatationKonzept
Berechnen Sie für H=7,R=3, Schrittweite 2, obere Auffüllung 0, untere Auffüllung 1 und Dilatation 2 Ho und die Eingabekoordinate für h=1,r=2.
- Wissensprüfung: Form und MAC-AnzahlWissensprüfung
Verwenden Sie N=1,C=2,H=W=5,M=3, einen 3×3-Kernel, Schrittweite 2, Auffüllung eins auf allen Seiten und Dilatation eins. Wie lauten Ausgabeform und MAC-Anzahl?
- Numerische Verhaltensregeln
- Festkommabits und EinheitenKonzept
Multiplizieren Sie 0.5 und −1.25 bei F=4 und addieren Sie dann Bias 0.25 bei F=8. Welche Akkumulatorkodierung und welchen reellen Wert erhalten Sie?
- Skalierung und NullpunktKonzept
Welche Auffüllkodierung und welchen reellen Wert von q=132 erhalten Sie bei sx=0.25,zx=128? Welcher Biascode stellt 0.75 bei sw=0.5 dar?
- Akkumulatorbreite, Rundung und SättigungKonzept
Reichen achtzehn vorzeichenbehaftete Bits für neun signed-int8-Produkte bei Bias Null?
- Praktikum: Quantisierungsregeln ausführenÜbung
Quantisieren Sie −40 mit denselben uint8-Einstellungen. Welche Kodierung und welchen dequantisierten Wert erhalten Sie und welche Assertion würden Sie ergänzen?
- Referenzoperatoren
- Direkte FaltungsreferenzKonzept
Welches falsche Ergebnis entsteht für Eingaben [2,3], Gewichte [4,−1] und Bias eins, wenn der Bias pro Eingabekanaliteration einmal addiert wird?
- im2col und MatrixmultiplikationKonzept
Berechnen Sie für H=W=4,C=1 und einen 3×3-Kernel ohne Auffüllung die ursprünglichen Eingabeelemente, P,K und die Elemente der erweiterten Fenstermatrix.
- ReLU und Max-Pooling verbindenKonzept
Wenden Sie bei uint8-Ausgabenullpunkt 100 ReLU und 2×2-Max-Pooling auf [98,103;101,97] an.
- Wissensprüfung: Reihenfolge der AusgabeverarbeitungWissensprüfung
Wenden Sie Multiplikator 0.5,zy=0, Rundung zur nächsten Ganzzahl mit geradem Ergebnis bei Gleichstand, int8-Sättigung, ReLU und 2×2-Max-Pooling auf Akkumulatoren [−1,2;3,−4] an. Wie lautet der endgültige Code?
- Erzeugung von Fenstern im Datenstrom
- Zeilenpuffer und 3×3-FensterKonzept
Berechnen Sie für W=8,H=6 Speicherplätze, ersten gültigen Index übernommener Eingaben und Gesamtzahl der Fenster.
- Ready/Valid und angehaltener ZustandKonzept
Die Ausgabestufe hält A mit out_ready=0, während Eingabe B gültig ist. Was müssen Stufe und Sender an der nächsten Flanke tun?
- Praktikum: Fenster, die Pausen überstehenÜbung
Ändern sich Fensterwerte oder Anzahl, wenn stattdessen Takt Null, eins und zwei pausiert werden und schließlich alle Eingaben übernommen werden? Wie groß ist die Gesamttaktzahl?
- Wissensprüfung: Timing des ersten FenstersWissensprüfung
Ein 4×4-Generator mit Breite vier für 3×3-Fenster ohne Auffüllung übernimmt in den ersten vier Takten keine Eingabe, dann ein Pixel pro Takt. Welche bei Null beginnenden Werte haben Eingabeübernahmeindex und vergangener Takt des ersten Fensters?
- Abbildung auf PEs und Speicher
- PEs, Datenfluss und MAC-WiederverwendungKonzept
Bilden Sie P=3,M=2,K=8 auf vier ausgabestationäre PEs ab. Wie groß sind MAC-Taktzahl und Auslastung nützlicher MAC-Plätze ohne Schreibzugriffe?
- Kacheln, Randbereiche und TeilsummenKonzept
Berechnen Sie für Th=Tw=2,Tc=1,Tm=2, einen 3×3-Kernel, Schrittweite zwei und Dilatation eins die Bytes eines einzelnen Puffers für Eingabe/Gewichte/32-Bit-Summen/Bias.
- Bandbreiten- und RechengrenzenKonzept
Verwenden Sie für 1152 MACs und 224 Bytes acht PEs, halten Sie die Bandbreite aber bei 0.5 Bytes/Takt. Welche Untergrenze gilt bei perfekter Überlappung?
- Abläufe, Restgruppen und DoppelpufferungKonzept
Berechnen Sie für K=10,vier Ausgaben,drei PEs und einen zusätzlichen Takt pro Ausgabe modellierte Takte und reine MAC-Auslastung.
- Verifikation und ein messbares Abschlussprojekt
- Sollmodelle und FehlerklassifikationKonzept
Die Referenz [37,47;67,77] weicht von [38,48;68,78] ab. Was untersuchen Sie zuerst und was protokollieren Sie?
- Praktikum: Grenzfälle herausfordernÜbung
Ersetzen Sie im Auffüllungstestfall jedes Kernelgewicht durch eins. Wie lautet die erste Ausgabe und weshalb reicht ein Test nur der Mitte nicht?
- Abschlussprojekt: kleiner Inferenzpfad und BerichtÜbung
Behalten Sie K=9,vier Ausgaben und einen Zusatztakt pro Ausgabe bei, nutzen Sie aber drei PEs. Wie groß sind modellierte Gesamttakte und reine MAC-Platzauslastung?
- Abschlussprüfung: Aussagen und NachweiseWissensprüfung
Der Node-Lauf des Abschlussprojekts verifiziert numerische Übereinstimmung, 36 MACs, ein Ablaufmodell mit 24 Takten und 90% MAC-Platznutzung. Welche Abschlussaussage ist zutreffend?