Generare clock in VHDL

ste3191
Salve a tutti, ho il seguente listato in vhdl. Devo far lampeggiare un led con una frequenza di 1 Hz. La mia FPGA ha un oscillatore da 100 MHz. La sintesi va a buon fine, anche se mi da un triangolino di warning invece che una spunta in verde.
Comunque alla fine non si accende niente, e anche nella simulazione rimane tutto a zero. Cosa c'è che non quadra?
Grazie mille!

entity gen_clock is
generic(n: integer :=50000000);
Port ( clk_in : in STD_LOGIC;
clk_out : out STD_LOGIC);
end gen_clock;

architecture Behavioral of gen_clock is
signal clock : std_logic := '0' ;
--constant n : integer := 50000000;
signal count: integer := 0;

begin
process(count,clk_in)
begin
if count = n then
clock <= not clock;
count <= 0;
else
if (clk_in'event and clk_in='1') then
count <= (count+1) ;
end if;
end if;
end process;
clk_out <=clock;

end Behavioral;

Risposte
nessuno.nobody
Ti invito a inserire il blocco di codice negli appositi tag code per migliorarne la leggilità.

Comunque, ciò che stai facendo non ha senso.
Mi spiego meglio, tu stai usando una dev board, questa dev board avrà un oscillatore che genererà un segnale di clock con la frequenza di 100Mhz. Ok.
Il fatto è che tu devi dire alla board che il tuo segnale clk_in è da collegare all'oscillatore.
Devi modificare il file di "constraints" (di vincoli, c'è all'interno del tuo editori, xilinx o altera, ecc) dicendoglielo.

Devi guardare sul manuale della tua dev board. Avrai una cosa tipo:
NET "clk_in" LOC = "internal_location_variabile_dalla_devboard"[ | altre flags della board] 

Da inserire all'interno del file di constraints.

Comunque, prima di mapparlo sul dispositivo, l'hai simulato per verificarne la correttezza logica, vero?

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.