1 / 24 · Concept
Transformer une équation en contrat de chemin de données
Définissez les largeurs, les événements d’acceptation et les résultats valides en même temps que les opérations arithmétiques.
Les leçons sont gratuites. Inscrivez-vous pour enregistrer vos progrès.
Définir les garanties du circuit
Un chemin de données stocke, sélectionne et calcule des valeurs. Son contrôleur décide quelles valeurs sont transférées et à quel moment. Ces responsabilités de conception sont distinctes, mais ne constituent pas des tâches logicielles s’exécutant indépendamment. Au front d’horloge, les signaux de commande déterminent les mises à jour des registres ; les valeurs de ces registres alimentent ensuite la logique combinatoire pendant le cycle suivant. Sans ce contrat temporel, une équation peut produire le bon nombre pour la mauvaise transaction.
Notre petit calculateur accepte des opérandes a et b non signés sur huit bits et une opération sur deux bits. L’opération 0 additionne, 1 soustrait, 2 calcule un ET et 3 calcule un OU exclusif. L’arithmétique renvoie les huit bits de poids faible, avec une retenue d’addition ou un emprunt de soustraction distinct. Les projets suivants transmettent aussi une étiquette. Celle-ci ne modifie pas le calcul, mais identifie l’entrée ayant produit un résultat : elle doit donc accompagner ce résultat.
| Élément du contrat | Choix de ce cours |
|---|---|
| Signification des opérandes | Entiers non signés de 0 à 255 |
| Réduction de largeur | Huit bits de poids faible, modulo 256 |
| Information aux limites | Retenue ADD et emprunt SUB |
| Acceptation | Front montant avec valid et ready tous deux actifs |
| Ordre | Résultats dans l’ordre des entrées acceptées |
| Réinitialisation | Abandon du travail en cours et effacement de l’état valid |
Pour a=250, b=10 et ADD, la somme mathématique vaut 260. La sortie vaut 4 avec carry=1. Une interprétation signée ou une saturation définiraient un autre contrat. Ne laissez pas une conversion involontaire du langage choisir cette politique. Une arithmétique modulaire peut convenir à des compteurs d’adresses, tandis qu’un calcul de luminosité peut nécessiter une saturation.
- Accepter: Capturer les opérandes, l’opération et l’étiquette
- Calculer: Appliquer le contrat numérique défini
- Livrer: Transférer le résultat et son étiquette correspondante
Une sortie d’ALU invalide peut tout de même varier électriquement ; elle ne représente pas une transaction. Un résultat valide accompagné d’une ancienne étiquette est également incorrect. Examinez ensemble les données, l’étiquette et valid. Pour chaque sortie, précisez à la fois la signification des bits et le moment où un consommateur peut leur faire confiance. Les modèles par cycles de ce cours vérifient la fonctionnalité et l’ordre, sans vérifier les délais physiques des portes. Traduisez le contrat en modèle de référence avant de choisir les frontières entre registres pour atteindre une cible de latence ou de débit.
Essayez vous-même
Indiquez le résultat ADD sur huit bits et la retenue pour a=250 et b=10. Expliquez la valeur 4 et pourquoi l’étiquette doit être stockée avec le résultat.
Lire l’explication
260=1×256+4, donc data=4 et carry=1. Le contrat des huit bits de poids faible réduit la somme modulo 256. Stockez l’étiquette dans les mêmes conditions d’acceptation, de blocage et de livraison que les données pour maintenir l’association du résultat à son entrée.