VHDL: comment définir une valeur sur un inout port?
Je suis en train de tester un VHDL composant, mais je n'arrive pas à obtenir un inout port à me donner n'importe quel comportement. J'ai essayé de réglage de la port de tout, de '1' à '-', mais il vient encore comme " U " dans la simulation. Toutes les suggestions de ce qui pourrait être mauvais?
- réglage explicitement à Z du port me donner les données, mais maintenant je ne peux pas sembler obtenir les signaux internes de lire à partir du port 🙁
Vous devez vous connecter pour publier un commentaire.
Pour Inout port (par exemple dans la mémoire RAM):
Vous affectez des données de lecture et d'écriture pour inout avec une condition. Lors de la lecture de données, il est mû par un autre module. Quand il écrit, il est entraîné par l'intérieur.
Vous avez besoin d'un explicite pilote à 'Z'.
Comme une part à la bonne réponse sur l'attribution de lecture/inout ports, le texte cité ci-dessus pourraient être liées au port d'être affecté dans deux endroits distincts, de sorte qu'il est résolu à titre de "U".
Lors de l'utilisation d'un inout port, j'ai été mordu par un outil de synthèse de l'instanciation de l'OBUF au lieu d'une IOBUF lorsque le VHDL, des déclarations ont été apparemment trop compliqué pour la synthèse de déduire le IOBUF. Ce qui suit est un exemple simplifié (à supposer que tous les signaux sont std_logic) de la situation que peu de moi:
Dans mon cas d'échec, la synthèse généré une OBUF pour data_inout. Je me serais attendu à un IOBUF pour traiter le cas des choose_a='0' et float_b='1' parce que devraient avoir assigné à " Z " à data_inout, mais ce n'est pas ce que j'ai.