En clase me piden la implementación de un contador en VHDL, el problema es que el profesor no ha explicado como programar en tal lenguaje, en ejercicios anteriores programé algún elemento tipo multiplexor, sumador.
Lo que pasa es que el contador se me está haciendo casi imposible de programar.
De momento tengo hecho creo que bastante pero me falta algunas cosas.
Me preguntaba si me podríais echar un cable.
El contador a implementar es el siguiente:
Contador Gray de 3 bits, con Up/!Down, anclado, con reset síncrono por lógica positiva y enable por lógica negativa. El enable es prioritario respecto al reset.
De momento tengo hecho lo siguiente:
Gracias.
Lo que pasa es que el contador se me está haciendo casi imposible de programar.
De momento tengo hecho creo que bastante pero me falta algunas cosas.
Me preguntaba si me podríais echar un cable.
El contador a implementar es el siguiente:
Contador Gray de 3 bits, con Up/!Down, anclado, con reset síncrono por lógica positiva y enable por lógica negativa. El enable es prioritario respecto al reset.
De momento tengo hecho lo siguiente:
PHP:
library ieee;
use ieee.std_logic_1164.all;
entity count912 is
port
(
clk : in std_logic;
datain : in std_logic_vector(2 downto 0);
dataout : out std_logic_vector(2 downto 0);
en : in std_logic;
rs : in std_logic;
);
end count912;
architecture basic of count912 is
begin
process (clk) is
begin
if (clk\'event and clk = \'1\' and en = \'0\' and rs = \'0\')then
dataout <= datain ;
end if;
if (clk\'event and clk = \'1\' and en = \'0\' and rs = \'1\')then
dataout <= \'000\';
end if;
if (clk\'event and clk = \'1\' and en = \'1\')then
dataout <= dataout;
end if;
end process;
end basic;
entity counter is
port
(
sc_input : std_logic_vector (2 downto 0);
sc_output : std_logic_vector (2 downto 0);
);
end counter;
architecture complex of counter is
signal datain : std_logic_vector (2 downto 0);
signal dataout : std_logic_vector (2 downto 0);
begin
end complex;
sc_input <= dataout;
datain <= sc_output;
Q <= dataout;
Última edición por un moderador: