Aidez-moi à trouver l'erreur dans ce code VHDL

G

Git

Guest
Quelqu'un peut me dire quel est le problème avec la pièce jointe du VHDL s'il vous plaît?.Xilinx ISE 7.1 est train de me dire qu'il s'attend à voir voir si, plutôt que sur le processus vers la fin.J'ai regardé trop longtemps si vous savez ce que je veux dire.

TIA

Git

IEEE bibliothèque;
IEEE.STD_LOGIC_1164.ALL utilisation;
IEEE.STD_LOGIC_ARITH.ALL utilisation;
IEEE.STD_LOGIC_UNSIGNED.ALL utilisation;

---- Décommentez la déclaration suivante si la bibliothèque de l'instanciation
---- Tout primitives Xilinx dans ce code.
Bibliothèque - UNISIM;
UNISIM.VComponents.all utilisation -;

entité est contre
Port (ENB: en std_logic;
dir: en std_logic;
CLK: en std_logic;
RST: dans std_logic;
op: std_logic_vector à (1 downto 0));
contre fin;

l'architecture du comportement du compteur est
t_op signal: std_logic_vector (1 downto 0);
signal t_5: std_logic_vector (2 downto 0);
commencer
<Op = t_op;
processus (CLK, RST, ENB, dir)
commencer
Si la TVD = '1 'alors
<T_op = "00";
t_5 <= "000";
else if clk = '1 'et puis clk'event
si ENB = '1 'alors
si dir = '1 'alors - le comte UP
si t_5 = "100", puis
t_5 <= "000";
<= T_op t_op '1 '; - Carry
d'autre
t_5 <= t_5 '1 ';
fin si;
d'autre
si t_5 = "000", puis
t_5 <= "100";
<= T_op t_op - '1 '; - Emprunter
d'autre
t_5 <= t_5 - '1 ';
fin si;
fin si;
fin si;
fin si;
processus de bout;
fin comportement;

 
Avez-vous écrit le code avec l'original tiret.

Je suppose que le problème se trouve dans le else if clk = '1 'et puis clk'event

changement à elsif clk'event et CLK = '1 'alors

 
Doh!.I * toujours * le faire!.Merci beaucoup.

Oui, la source a été en retrait OK, mais les onglets m'a enlevé lors de la publication.Je pense qu'il ya une étiquette annonce que j'aurais dû utiliser.

Git

 
Voici le code corrigé un "End If" est absent ...
Hope le code fonctionne maintenant!
Code:

IEEE bibliothèque;

IEEE.STD_LOGIC_1164.all utilisation;

IEEE.STD_LOGIC_ARITH.all utilisation;

IEEE.STD_LOGIC_UNSIGNED.all utilisation;---- Décommentez la déclaration suivante si la bibliothèque de l'instanciation

---- Tout primitives Xilinx dans ce code.

Bibliothèque - UNISIM;

UNISIM.VComponents.all utilisation -;entité est contre

port (ENB: en std_logic;

dir: en std_logic;

CLK: en std_logic;

RST: dans std_logic;

op: std_logic_vector à (1 downto 0));

contre fin;l'architecture du comportement du compteur est

t_op signal: std_logic_vector (1 downto 0);

signal t_5: std_logic_vector (2 downto 0);

commencer

<Op = t_op;

processus (CLK, RST, ENB, dir)

commencer

Si la TVD = '1 'alors

<T_op = "00";

t_5 <= "000";

d'autre

si clk = '1 'et puis clk'event

si ENB = '1 'alors

si dir = '1 'alors - le comte UP

si t_5 = "100", puis

t_5 <= "000";

<= T_op t_op '1 '; - Carry

d'autre

t_5 <= t_5 '1 ';

fin si;

d'autre

si t_5 = "000", puis

t_5 <= "100";

<= T_op t_op - '1 '; - Emprunter

d'autre

t_5 <= t_5 - '1 ';

fin si;

fin si;

fin si;

fin si;

fin si;

processus de bout;

fin comportement;
 
Oui, comme l'a souligné nand_gates ... une "fin if" est manquant.

 

Welcome to EDABoard.com

Sponsor

Back
Top