vhdl et duart
Publié : 02 juin 2005 14:05
bonjour,
j'ai finalement décidé d'utiliser un uart pour envoyer les données du FPGA sur le port série(parce que je l'avais jamais fait surtout).
C'est plus complexe que je le pensais car il faut piloter l'uart, en fait un duart avec 8 octet de FIFO ici, de chez philips, dont voici la datasheet:
http://www.chipcatalog.com/Philips/SC26C92.htm
j'ai un petit souci avec mon code VHDL:
j'ai ces messages d'erreures lorsque je compile l'ensemble:
Error: Can't resolve multiple constant drivers for net "DATA_OUT_S[7]" at bus_rs232.vhd(274)
Error: Constant driver at bus_rs232.vhd(242)
ces erreures viennent peut-être de ma façon de définir mon bus de données et de l'utiliser, mais je ne vois pas ou : j'ai défini mon bus de la façon uivante:
DATA_out: inout std_logic_vector(7 downto 0);
j'ai défini deus signaux DATA_in_S, et DATA_out_S comme std_logic_vector(7 downto 0);
j'utilise DATA_in_S pour lui affecter la data reçue et l'utiliser ensuite:
ex pour la lecture du SRA(donc lecture d'adresses) ou la lecture des données...
DATA_in_S<=DATA_out;
j'utilise DATA_out_S pour les datas que j'écris dans les différents process: ex: gestion du MBR(donc envoie d'adresses) ou envoie de données
et que j'assigne ensuite ainsi
DATA_out<=DATA_out_S;
Est-ce une bonne façon de procéder?
quelqu'un a t'il déjà fait ce genre de choses?
merci
j'ai finalement décidé d'utiliser un uart pour envoyer les données du FPGA sur le port série(parce que je l'avais jamais fait surtout).
C'est plus complexe que je le pensais car il faut piloter l'uart, en fait un duart avec 8 octet de FIFO ici, de chez philips, dont voici la datasheet:
http://www.chipcatalog.com/Philips/SC26C92.htm
j'ai un petit souci avec mon code VHDL:
j'ai ces messages d'erreures lorsque je compile l'ensemble:
Error: Can't resolve multiple constant drivers for net "DATA_OUT_S[7]" at bus_rs232.vhd(274)
Error: Constant driver at bus_rs232.vhd(242)
ces erreures viennent peut-être de ma façon de définir mon bus de données et de l'utiliser, mais je ne vois pas ou : j'ai défini mon bus de la façon uivante:
DATA_out: inout std_logic_vector(7 downto 0);
j'ai défini deus signaux DATA_in_S, et DATA_out_S comme std_logic_vector(7 downto 0);
j'utilise DATA_in_S pour lui affecter la data reçue et l'utiliser ensuite:
ex pour la lecture du SRA(donc lecture d'adresses) ou la lecture des données...
DATA_in_S<=DATA_out;
j'utilise DATA_out_S pour les datas que j'écris dans les différents process: ex: gestion du MBR(donc envoie d'adresses) ou envoie de données
et que j'assigne ensuite ainsi
DATA_out<=DATA_out_S;
Est-ce une bonne façon de procéder?
quelqu'un a t'il déjà fait ce genre de choses?
merci