Altifigence Academy
Conception numériqueGratuit · Intermédiaire

Conception RTL : chemins de données et pipelines

Définissez les contrats numériques et temporels, puis concevez une ALU, un contrôleur, un pipeline et des tampons ready-valid. Quatre travaux pratiques exécutables sur des modèles de référence vérifient les limites arithmétiques, les blocages, les FIFO et l’ordre des transactions avant un projet final de calcul en flux.

Chemins de donnéesPipelinesReady-validFIFOVérification fonctionnelle
Mon apprentissage

Ce que vous apprendrez

  • Distinguer les contrats de largeur, de signe, de retenue et de débordement
  • Ordonnancer les transferts entre registres, la commande par machine à états et la mémoire synchrone
  • Calculer la latence, le débit et l’intervalle d’initiation
  • Gérer sans perte les blocages ready-valid et les limites des FIFO
  • Construire des vérifications par tableau de suivi couvrant les aléas et la réinitialisation
  • Vérifier un projet final de calcul en flux à l’aide de modèles autonomes

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. Contrats numériques et arithmétiques
    • Transformer une équation en contrat de chemin de donnéesConcept

      Définissez les largeurs, les événements d’acceptation et les résultats valides en même temps que les opérations arithmétiques.

    • Largeurs, extension de signe et débordementConcept

      Distinguez l’interprétation, l’extension et la réduction de largeur à partir d’exemples numériques.

    • TP : modèle de référence d’une ALU sur huit bitsTravaux pratiques

      Vérifiez ADD, SUB, AND, XOR, la retenue et l’emprunt dans un programme autonome.

    • Vérification : retenue et débordement signéVérification

      Distinguez les limites numériques selon l’interprétation signée ou non signée.

  2. Transferts entre registres et commande
    • Lire les transferts entre registres aux fronts d’horlogeConcept

      Distinguez l’état précédent de l’état suivant et suivez la conservation des valeurs stockées par les signaux d’activation.

    • Ordonnancer des ressources partagées avec une machine à étatsConcept

      Accumulez quatre valeurs avec un seul additionneur en définissant les transitions d’état et la capture.

    • Contrats temporels des requêtes et réponses mémoireConcept

      Distinguez les lectures synchrones, les étiquettes retardées et les collisions à une même adresse.

    • Vérification : conserver un résultat terminéVérification

      Distinguez la livraison dans l’état DONE de l’acceptation de la requête suivante.

  3. Temporisation et débit des pipelines
    • Stocker la transaction complète aux frontières du pipelineConcept

      Séparez la somme et la mise à l’échelle tout en alignant valid, l’étiquette et les largeurs.

    • Latence, débit et intervalle d’initiationConcept

      Calculez le délai d’une transaction séparément de la cadence soutenue des résultats.

    • TP : suivre deux étages et les bullesTravaux pratiques

      Calculez l’état suivant à partir de l’état précédent et comparez les étiquettes, les valeurs et les fronts de sortie.

    • Vérification : la signification de II=1Vérification

      Évitez de confondre le nombre d’étages et le débit soutenu.

  4. Contrôle de flux ready-valid
    • Événements d’acceptation et stabilité pendant les blocagesConcept

      Attribuez les responsabilités de la source et du récepteur et conservez les charges utiles bloquées.

    • Concevoir un registre élastique à un emplacementConcept

      Acceptez dans un emplacement vide ou remplacez un élément consommé simultanément.

    • TP : vérifier 1024 séquences de blocageTravaux pratiques

      Testez conservation, remplacement et vidage avec toutes les séquences ready de dix cycles.

    • Vérification : compter une transaction bloquéeVérification

      Distinguez la durée de valid du nombre réel de transferts synchronisés.

  5. Limites des FIFO et des aléas
    • FIFO vide, pleine et transferts simultanésConcept

      Distinguez l’occupation des pointeurs et définissez les insertions/retraits aux limites.

    • Dépendances, aléas de ressources et acheminement directConcept

      Comparez blocage et acheminement direct lorsqu’une opération nécessite un résultat précédent.

    • Maintenir le bilan des transactions lors de la purge et de la réinitialisationConcept

      Distinguez annulation et livraison et alignez l’état valid sur les files attendues.

    • Vérification : remplacement dans une FIFO pleineVérification

      Calculez occupation et ordre pour une insertion et un retrait simultanés.

  6. Vérification et calculateur en flux
    • Combiner un tableau de suivi avec des invariants locauxConcept

      Vérifiez valeurs, ordre, occupation et stabilité sous blocage à partir des transactions acceptées.

    • TP final : FIFO et calculateur en flux à deux étagesTravaux pratiques

      Reliez une FIFO d’entrée de profondeur deux, deux étages élastiques et un tableau de suivi.

    • Mesurer les performances et revoir la conceptionConcept

      Définissez les fenêtres d’observation, diagnostiquez les blocages et délimitez les preuves du modèle.

    • Vérification finale : blocages sans perte et vidangeVérification

      Combinez arithmétique, bilan du travail en cours et conditions de fin.

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