HDL et vérification
En Verilog, on additionne les signaux a et b de 8 bits et l'on affecte le résultat au signal s de 8 bits (assign s = a + b;). À quoi faut-il prendre garde ?
- AL'addition de deux valeurs de 8 bits ne peut pas s'écrire en Verilog
- BLe résultat est automatiquement étendu à 16 bits
- CSi la somme dépasse 255, la retenue du 9e bit est perdue ; si elle est nécessaire, s doit faire 9 bits
Afficher la réponse et l'explication
Réponse : C. Si la somme dépasse 255, la retenue du 9e bit est perdue ; si elle est nécessaire, s doit faire 9 bits
La somme de deux valeurs de 8 bits atteint au plus 255+255=510 et nécessite 9 bits. Si la destination s fait 8 bits, la retenue de poids fort est silencieusement perdue : par exemple, 200+100 donne 44. Pour exploiter aussi la retenue, on déclare s sur 9 bits. Verilog ne signale pas d'erreur sur l'affectation de signaux de largeurs différentes et se contente de tronquer ou d'étendre ; un outil de lint est utile pour détecter ces incohérences.