erreur dans le code VHDL, s'il vous plaît vérifier?

A

abhineet22

Guest
après l'exécution de ce code l'erreur est mauvaise description synchrone ..........
quelqu'un peut-il m'aider ....

IEEE bibliothèque;
IEEE.std_logic_1164.all utilisation;
IEEE.std_logic_arith.all utilisation;
IEEE.std_logic_unsigned.all utilisation;

accumulateur entité est
port (données std_logic_vector inout: (7 downto 0);
rd_wr: en std_logic; - 0 = read, 1 = write
horloge: dans std_logic;
reset: en std_logic
);
accumulateur fin;

RTL architecture de l'accumulateur est
temp_data_in signal: std_logic_vector (7 downto 0);
temp_data_out signal: std_logic_vector (7 downto 0);

byte_register composant est
port (
Reset: en std_logic;
Activer: en std_logic;
Horloge: en std_logic;
DONNEES et: en std_logic_vector (7 downto 0);
Dataout: std_logic_vector à (7 downto 0));
composante fin;
commencer
ACC: la carte du port byte_register (reset, rd_wr, horloge, temp_data_in, temp_data_out);
processus (horloge, reset)
commencer
si clock'event et l'horloge = '1 'et reset = '0' alors
si rd_wr = '0 'alors
données <= temp_data_out;
d'autre
<= Temp_data_in données;
fin si;
d'autre
données <= temp_data_out;
fin si;
processus de bout;
RTL fin;IEEE bibliothèque;
iEEE.std_logic_1164.all utilisation;

byte_register entité est
port (
Reset: en std_logic;
Activer: en std_logic;
Horloge: en std_logic;
DONNEES et: en std_logic_vector (7 downto 0);
Dataout: std_logic_vector à (7 downto 0));
byte_register fin;

comportement de l'architecture est byte_register

commencer
processus (Horloge, Reset, DONNEES et)
commencer
if (Reset = '1 ') puis
Dataout <= "00000000";
elsif (Reset = '0 'et Enable = '1' et de l'horloge = '1 'et clock'event) puis
Dataout <= DONNEES et;
fin si;
processus de bout;
com fin;

 
abhineet22 a écrit:processus (horloge, reset)

commencer

si clock'event et l'horloge = '1 'et reset = '0' alors

si rd_wr = '0 'alors

données <= temp_data_out;

d'autre

<= Temp_data_in données;

fin si;

d'autre

données <= temp_data_out;

fin si;

processus de bout;

RTL fin;
 
"Si clock'event et l'horloge = '1 'et reset = '0' puis"

Qu'est-ce que c'est?Quel type de circuit, ne vous attendez, il sera synthétisé?

 
abhineet Salut,
L'erreur est que u ont matraqué le code de structure et le code de comportement dans la même architecture.Essayez de prendre le code de comportement et à écrire à la même chose qu'un autre module (l'entité).
Ensuite, connecter le module byte_register et ce module en utilisant le modèle de structure qui fonctionne à .....

 
Peut-être que cela pourrait être une solution possibleREAD_WRITE:
processus (horloge, reset)
commencer
Si la réinitialisation = '1 'alors
<Temp_data_out = (autres => '0 ');
rising_edge elsif (CLK), puis
si rd_wr = '0 'alors
données <= temp_data_out;
d'autre
<= Temp_data_in données;
fin si;
fin si;
processus de bout READ_WRITE;

 

Welcome to EDABoard.com

Sponsor

Back
Top