Hola a todos los colaboradores del foro, estoy aprendiendo a programar en vhdl y hace poco compre una nexys 3 en la cual estoy probando un programa sencillo como un contador de 4 bits, el problema es el divisor de frecuencia ya que la nexys 3 trabaja con 100 Mhz (CLk) y en la fpga en realidad solo veo, los led prendidos aquí dejo mi código por si alguien me puede ayudar.
Código:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity contadorvhdl is
Port (
rst : in STD_LOGIC;
cnt_out : out STD_LOGIC_VECTOR (3 downto 0);
clock: in std_logic;
freq200:out std_logic);
end contadorvhdl;
architecture Behavioral of contadorvhdl is
signal cnt: std_logic_vector (3 downto 0);
signal cont: integer range 0 to 50000000:=0;
signal clk:std_logic;
begin
freq200<=clk;
process (clock,rst,cnt)
begin
if rst='1' then
cnt<= "0000";
elsif rising_edge (clock) then
cnt<=cnt +'1';
end if;
if clock'event and clock = '0' then
if cont = 50000000 then
clk <= not clk;
cont <= 0;
else
cont <= cont + 1;
end if;
end if;
end process;
cnt_out<=cnt;
end Behavioral;
Última edición por un moderador: