Altifigence Academy
Matériel pour l’IAGratuit · Avancé

Conception RTL : accélérateurs de CNN

Apprenez l’indexation de convolution et les contrats numériques entiers, puis les fenêtres en flux, la répartition sur les PE et le découpage en tuiles. Vérifiez une référence exécutable et une petite chaîne d’inférence en distinguant valeurs, estimations d’ordonnancement et trafic.

Inférence CNNConvolution et quantificationFenêtres en fluxPE et découpage en tuilesVérification par modèle de référence
Mon apprentissage

Ce que vous apprendrez

  • Calculer les dimensions et indices de convolution avec pas, remplissage, dilatation et canaux
  • Définir unités de virgule fixe, échelles, points zéro, largeur d’accumulateur, arrondi et saturation
  • Comparer la convolution directe à un modèle de référence im2col
  • Générer des fenêtres avec tampons de lignes et acceptation des transferts préservant l’état suspendu
  • Calculer réutilisation des PE, stockage des tuiles, trafic et hypothèses d’ordonnancement
  • Rapporter les résultats numériques et les limites des preuves d’une petite chaîne d’inférence

Avant de commencer

Ces exercices dans le navigateur utilisent des modèles pédagogiques ; ils ne compilent ni n’exécutent de HDL. Pour exécuter le code séparément, suivez le guide Digital Design Studio de votre système et connectez-vous si l’opération le demande.

Installation et premier démarrage ↗ · Téléchargements ↗

Programme

  1. Le contrat d’inférence
    • Inférence et entraînementConcept

      Si seuls les canaux de sortie passent de trois à six, comment évoluent le nombre de MAC et le nombre de biais stockés ?

    • Convolution et corrélation croiséeConcept

      Quels sont les résultats de corrélation croisée et de noyau inversé pour [1, 2;4, 5] avec le noyau [1, 0;0, -1] ?

    • Dimensions, pas, remplissage et dilatationConcept

      Pour H=7, R=3, un pas de 2, un remplissage supérieur de 0 et inférieur de 1, et une dilatation de 2, calculez Ho et la coordonnée d’entrée pour h=1, r=2.

    • Vérification : dimensions et nombre de MACVérification

      Utilisez N=1, C=2, H=W=5, M=3, un noyau 3×3, un pas de 2, un remplissage de un sur tous les côtés et une dilatation de un. Quels sont les dimensions de sortie et le nombre de MAC ?

  2. Le contrat numérique
    • Bits et unités en virgule fixeConcept

      Multipliez 0.5 et −1.25 à F=4, puis ajoutez le biais 0.25 à F=8. Quels sont le code de l’accumulateur et la valeur réelle ?

    • Échelle et point zéroConcept

      Pour sx=0.25, zx=128, quels sont le code de remplissage et la valeur réelle de q=132 ? Quel code de biais représente 0.75 avec sw=0.5 ?

    • Largeur d’accumulateur, arrondi et saturationConcept

      Dix-huit bits signés suffisent-ils pour neuf produits int8 signés avec un biais nul ?

    • TP : exécuter le contrat de quantificationTravaux pratiques

      Quantifiez −40 avec les mêmes paramètres uint8. Quels sont son code et sa valeur déquantifiée, et quelle assertion ajouteriez-vous ?

  3. Opérateurs de référence
    • Référence de convolution directeConcept

      Pour les entrées [2, 3], les poids [4, −1] et le biais un, quel résultat incorrect obtient-on si le biais est ajouté à chaque itération de canal d’entrée ?

    • im2col et multiplication matricielleConcept

      Pour H=W=4, C=1 et un noyau 3×3 sans remplissage, calculez les éléments d’entrée d’origine, P, K et les éléments des fenêtres développées.

    • Relier ReLU et regroupement maximalConcept

      Avec un point zéro de sortie uint8 de 100, appliquez ReLU et un regroupement maximal 2×2 à [98, 103;101, 97].

    • Vérification : ordre du traitement de sortieVérification

      Appliquez le multiplicateur 0.5, zy=0, l’arrondi au plus proche vers le pair, la saturation int8, ReLU et le regroupement maximal 2×2 aux accumulateurs [−1, 2;3, −4]. Quel est le code final ?

  4. Génération des fenêtres en flux
    • Tampons de lignes et fenêtres 3×3Concept

      Pour W=8, H=6, calculez les emplacements de stockage, l’indice de la première entrée acceptée produisant une fenêtre valide et le nombre total de fenêtres.

    • Ready/valid et état bloquéConcept

      L’étage de sortie conserve A avec out_ready=0 tandis que l’entrée B est valide. Que doivent faire l’étage et le producteur au front suivant ?

    • TP : fenêtres résistant aux pausesTravaux pratiques

      Si les cycles zéro, un, deux sont suspendus à la place et que toutes les entrées sont finalement acceptées, les valeurs ou le nombre de fenêtres changent-ils ? Quel est le nombre total de cycles ?

    • Vérification : temporisation de la première fenêtreVérification

      Un générateur 4×4 de largeur quatre et de fenêtres 3×3 sans remplissage n’accepte aucune entrée pendant les quatre premiers cycles, puis un pixel par cycle. Quels sont l’indice d’entrée acceptée et le cycle écoulé de la première fenêtre, tous deux numérotés depuis zéro ?

  5. Répartition entre PE et mémoire
    • PE, flux de données et réutilisation des MACConcept

      Répartissez P=3, M=2, K=8 sur quatre PE à sorties stationnaires. Quels sont les cycles MAC et l’utilisation utile des créneaux MAC, hors écritures ?

    • Tuiles, halos et sommes partiellesConcept

      Pour Th=Tw=2, Tc=1, Tm=2, un noyau 3×3, un pas de deux et une dilatation de un, calculez les octets d’entrée/poids/sommes sur 32 bits/biais avec un seul tampon.

    • Bande passante et bornes de calculConcept

      Pour 1152 MAC et 224 octets, utilisez huit PE mais conservez la bande passante à 0.5 octet/cycle. Quelle est la borne inférieure avec chevauchement parfait ?

    • Ordonnancements, fins incomplètes et doubles tamponsConcept

      Pour K=10, quatre sorties, trois PE et un cycle supplémentaire par sortie, calculez les cycles modélisés et l’utilisation des seuls MAC.

  6. Vérification et projet final mesurable
    • Modèles de référence et classification des échecsConcept

      La référence [37, 47;67, 77] diffère de [38, 48;68, 78]. Que vérifieriez-vous d’abord et que consigneriez-vous ?

    • TP : mettre à l’épreuve les cas limitesTravaux pratiques

      Dans le jeu de remplissage, remplacez tous les poids du noyau par un. Quelle est la première sortie et pourquoi un test limité au centre est-il insuffisant ?

    • Projet final : petite chaîne d’inférence et rapportTravaux pratiques

      Conservez K=9, quatre sorties et un cycle supplémentaire par sortie, mais utilisez trois PE. Quels sont les cycles modélisés totaux et l’utilisation des seuls créneaux MAC ?

    • Vérification finale : affirmations et preuvesVérification

      L’exécution Node du projet vérifie l’accord numérique, 36 MAC, un modèle d’ordonnancement de 24 cycles et 90%d’utilisation des créneaux MAC. Quelle affirmation d’achèvement est exacte ?

Votre choix s’applique à ce navigateur. Modifiez-le à tout moment en bas de page.