IEEE 1164 - IEEE 1164

La norme IEEE 1164 ( Multivalue Logic System for VHDL Model Interoperability ) est une norme technique publiée par l'IEEE en 1993. Elle décrit les définitions des valeurs logiques à utiliser dans l'automatisation de la conception électronique, pour le langage de description de matériel VHDL . Il était parrainé par le Comité des normes d'automatisation de la conception de l' Institut des ingénieurs électriciens et électroniciens (IEEE). L'effort de standardisation était basé sur le don de la déclaration de type Synopsys MVL-9.

Le type de données principal std_ulogic (logique non résolue standard) se compose de neuf caractères littéraux dans l'ordre suivant:

Personnage Valeur
'U' non initialisé
'X' entraînement puissant, valeur logique inconnue
'0' entraînement fort, logique zéro
'1' entraînement fort, logique un
'Z' haute impédance
'W' entraînement faible, valeur logique inconnue
'L' entraînement faible, zéro logique
'H' lecteur faible, logique un
'-' s'en moque

Ce système a promu un ensemble utile de valeurs logiques que les conceptions logiques CMOS typiques pourraient mettre en œuvre dans la grande majorité des situations de modélisation. Le 'Z'littéral facilite la logique de tampon à trois états . Les disques faibles 'H'et 'L'permettent une logique câblée ET et OU câblée . De plus, l' 'U'état est la valeur par défaut pour toutes les déclarations d'objets, de sorte que pendant les simulations, les valeurs non initialisées sont facilement détectables et donc facilement corrigées si nécessaire.

En VHDL , le concepteur de matériel rend les déclarations visibles via les instructions libraryet suivantes use:

library IEEE;
use IEEE.std_logic_1164.all;

Utilisation de valeurs dans la simulation

Utilisation de 'U'

De nombreux outils de simulation de langage de description matérielle (HDL), tels que Verilog et VHDL , prennent en charge une valeur inconnue comme celle indiquée ci-dessus lors de la simulation de l'électronique numérique . La valeur inconnue peut être le résultat d'une erreur de conception, que le concepteur peut corriger avant la synthèse dans un circuit réel. L'inconnu représente également des valeurs de mémoire non initialisées et des entrées de circuit avant que la simulation n'ait affirmé quelle devrait être la valeur d'entrée réelle.

Les outils de synthèse HDL produisent généralement des circuits qui fonctionnent uniquement sur la logique binaire.

Utilisation de '-'

Lors de la conception d'un circuit numérique, certaines conditions peuvent être en dehors de la portée de l'objectif que le circuit exécutera. Ainsi, le concepteur ne se soucie pas de ce qui se passe dans ces conditions. De plus, il se produit que les entrées d'un circuit sont masquées par d'autres signaux, de sorte que la valeur de cette entrée n'a aucun effet sur le comportement du circuit.

Dans ces situations, il est traditionnel de l'utiliser 'X'comme espace réservé pour indiquer « Don't Care » lors de la création de tables de vérité, mais VHDL utilise -. Les "Don't Care" sont particulièrement courants dans la conception de machines d'état et la simplification de la carte de Karnaugh . Les '-'valeurs fournissent des degrés de liberté supplémentaires à la conception finale du circuit, ce qui se traduit généralement par un circuit simplifié et plus petit.

Une fois la conception du circuit terminée et un circuit réel construit, les '-'valeurs n'existeront plus. Ils deviendront tangibles '0'ou de '1'valeur, mais pourraient dépendre de l'optimisation finale de la conception.

Utilisation de 'Z'

Certains appareils numériques prennent en charge une forme de logique à trois états sur leurs sorties uniquement. Les trois états sont "0", "1" et "Z".

Communément appelée logique à trois états (une marque déposée de National Semiconductor ), elle comprend les états habituels vrai et faux, avec un troisième état transparent haute impédance (ou `` état bloqué '') qui déconnecte efficacement la sortie logique. Cela fournit un moyen efficace de connecter plusieurs sorties logiques à une seule entrée, où toutes sauf une sont placées dans l'état de haute impédance, permettant à la sortie restante de fonctionner dans le sens binaire normal. Ceci est couramment utilisé pour connecter des banques de mémoire d'ordinateur et d'autres périphériques similaires à un bus de données commun ; un grand nombre d'appareils peuvent communiquer sur le même canal simplement en s'assurant qu'un seul est activé à la fois.

Alors que les sorties peuvent avoir l'un des trois états, les entrées ne peuvent en reconnaître que deux. Bien que l'on puisse faire valoir que l'état à haute impédance est effectivement un "inconnu", il n'y a aucune disposition dans la plupart des composants électroniques pour interpréter un état à haute impédance comme un état en soi. Les entrées ne peuvent détecter que "0" et "1".

Lorsqu'une entrée numérique est laissée déconnectée, la valeur numérique interprétée par l'entrée dépend du type de technologie utilisée. La technologie TTL passera par défaut à un état "1". D'autre part, la technologie CMOS maintiendra temporairement l'état précédent vu sur cette entrée (en raison de la capacité de l'entrée de porte). Au fil du temps, le courant de fuite fait dériver l'entrée CMOS dans une direction aléatoire, ce qui peut provoquer un basculement de l'état d'entrée. Les entrées déconnectées des appareils CMOS peuvent capter du bruit , elles peuvent provoquer des oscillations , le courant d'alimentation peut augmenter considérablement (puissance du pied de biche) ou l'appareil peut se détruire complètement.

Voir également

Références

  • 1164-1993 - Système logique multivaleur standard IEEE pour l'interopérabilité des modèles VHDL (Stdlogic1164) . 1993. doi : 10.1109 / IEEESTD.1993.115571 . ISBN 0-7381-0991-6.
  • D. Michael Miller; Mitchell A. Thornton (2008). Logique à valeurs multiples: concepts et représentations . Cours de synthèse sur les circuits et systèmes numériques. 12 . Éditeurs Morgan et Claypool. ISBN 978-1-59829-190-2.