HDL et vérification
Pour un circuit combinatoire, quelle comparaison est correcte entre une longue chaîne de if/else if et une instruction case à conditions mutuellement exclusives ?
- ALa chaîne if/else if donne un circuit privilégiant les conditions antérieures, tendant à être profond et lent, alors que case tend à donner un circuit de sélection parallèle
- BLes deux écritures donnent exactement le même circuit synthétisé
- Ccase n'est pas synthétisable, seul if l'est
Afficher la réponse et l'explication
Réponse : A. La chaîne if/else if donne un circuit privilégiant les conditions antérieures, tendant à être profond et lent, alors que case tend à donner un circuit de sélection parallèle
Une chaîne if/else if signifie « si la première condition est vraie, prendre celle-ci, sinon examiner la suivante » ; elle donne un circuit à priorités (de type encodeur de priorité), avec autant de multiplexeurs en série que de conditions, ce qui tend à allonger le délai. Une case sélectionnant sur des valeurs mutuellement exclusives tend à donner un circuit parallèle, comme un grand multiplexeur à un étage, plus rapide. Les outils de synthèse récents optimisent toutefois souvent les deux.