[VHDL]Problème de inout

Electronique numérique / Circuits logiques programmables EPLD, CPLD, FPGA d'Altera ou de Xilinx VHDL, Verilog ou SystemC

Modérateur: Modérateur

[VHDL]Problème de inout

Messagede bobish le 23 Mai 2007 19:09

Bonjour,

J'ai un petit problème lors de ma compilation sous quartus :

Je suis en train de créer un composant qui gère la réception et l'envoi d'informations par un seul seul fil...
J'ai donc crée une machine à états, qui normalement....... evite tous conflits entre l'envoi et la réception des données.

Néanmoins, j'ai l'erreur suivante :

]Error: The pin "data" has multiple drivers.


On m'a conseillé d'utiliser un tri-state... le problème c'est que je ne vois pas trop comment l'utiliser...

Est ce que quelqu'un aurait un conseil pour palier à mon problème ???

Merci d'avance
bobish
 

Messagede ukandar le 23 Mai 2007 22:19

bonjour,

il faut effectivement que tu utilises un tri state. Mais avant ceci assure toi que tu as bien défini ton imput/ouput en pin bidirectionnel.
Sinon pour le tri sate voici comment il faut que tu fasses :
Code: Tout sélectionner
COMPONENT lpm_bustri
   GENERIC
      (LPM_WIDTH       : POSITIVE;
      LPM_TYPE         : STRING     := "LPM_BUSTRI";
      LPM_HINT         : STRING     := "UNUSED");
     PORT (data               : IN STD_LOGIC_VECTOR(LPM_WIDTH-1 DOWNTO 0);
        enabledt, enabletr  : IN STD_LOGIC := '0';
        result              : OUT STD_LOGIC_VECTOR(LPM_WIDTH-1 DOWNTO 0);
        tridata             : INOUT STD_LOGIC_VECTOR(LPM_WIDTH-1 DOWNTO 0));
END COMPONENT;




ensuite voici la fonction des différentes entrée sortie, avec un petit dessin


enabledt : If high, enables data onto the tridata[] bus
enabletr : If high, enables tridata[] onto the result bus

en espérant avoir été clair
Fichiers joints
tristate.jpg
tristate.jpg (25.32 Kio) Vu 697 fois
Avatar de l’utilisateur
ukandar
REGULIER
REGULIER
 
Messages: 127
Inscription: 24 Mar 2006 20:01
Localisation: yvelines


Retourner vers Electronique numérique et logique programmable

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron