Problème sous Quartus [VHDL] - Divers - Programmation
MarshPosté le 03-06-2008 à 10:02:31
Bonjour à tous,
Je suis un débutant en VHDL mais je ne pense pas que cela puisse expliquer le problème auquel je suis confronté. J'explique : je programme un compteur (voir code ci dessous). Le code est compilé sans problème mais impossible d'afficher les courbes de simulation. Je génère bien les waveforms avec Simulator Tool, puis je dessine l'allure des signaux d'entrée, et enfin j'enregistre pour recompiler en "Timing". Résultat : le signal de sortie reste à 0, et il n'y a rien que je puisse faire pour le rendre dépendant des signaux d'entrée. Quelqu'un aurait-il une solution ?
Le code :
Library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;
entity compteur is port ( clk : in std_logic; raz : in std_logic; ud : in std_logic; sortie : out integer range 0 to 255 ); end compteur;
architecture arch of compteur is
signal compte : integer range 0 to 255;
begin process (clk,raz) begin if raz ='1' then compte <=0; elsif (clk'event and clk='1') then if ud='1' then compte <= compte + 1; else compte <= compte - 1; end if; end if; end process; sortie <= compte; end arch;
Marsh Posté le 03-06-2008 à 10:02:31
Bonjour à tous,
Je suis un débutant en VHDL mais je ne pense pas que cela puisse expliquer le problème auquel je suis confronté. J'explique : je programme un compteur (voir code ci dessous). Le code est compilé sans problème mais impossible d'afficher les courbes de simulation. Je génère bien les waveforms avec Simulator Tool, puis je dessine l'allure des signaux d'entrée, et enfin j'enregistre pour recompiler en "Timing". Résultat : le signal de sortie reste à 0, et il n'y a rien que je puisse faire pour le rendre dépendant des signaux d'entrée. Quelqu'un aurait-il une solution ?
Le code :
Library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity compteur is
port
(
clk : in std_logic;
raz : in std_logic;
ud : in std_logic;
sortie : out integer range 0 to 255
);
end compteur;
architecture arch of compteur is
signal compte : integer range 0 to 255;
begin
process (clk,raz)
begin
if raz ='1' then compte <=0;
elsif (clk'event and clk='1') then
if ud='1' then compte <= compte + 1;
else compte <= compte - 1;
end if;
end if;
end process;
sortie <= compte;
end arch;
Merci beaucoup !