help: make the clock divider twice as fast or 2 Hz.

Guest #4106637
Rate this post
useful
not useful
Hello
This is one part of school assignment that trying to figure it out. I 
have done the rest parts but I'm stuck at this one:

"This given module take the 50 MHz clock_50 of the DE2 board and divides 
down to generate a CLKout of 1 Hz. Modify this given module to make the 
clock twice as fast or 2 Hz"

and here is the code:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity DIVIDER is
port ( CLKin: in std_logic;
reset: in std_logic;
CLKout: out std_logic);
end DIVIDER;

architecture behavioral of DIVIDER is
signal count: integer:=0;
signal temp : std_logic := '1';
begin
process(CLKin,count,reset)
begin
if(reset='1') then count<=0; temp<='1';
elsif(CLKin'event and CLKin='1') then count <=count+1;
if (count = 25000000) then temp <= NOT temp; count<=0;
end if;
end if;
CLKout<= temp;
end process;
end behavioral;
Guest #4106645
Rate this post
useful
not useful
this is a very funny school because they are using old synopsis libs 
which are outdated and they use "temp" as a signal name where there is 
nothing temporary about.

Then it uses asnch clocking and a user signal inside the clocked part in 
the sensitvity list

This code is wimmeling for errors...
Guest #4106668
Rate this post
useful
not useful
This shouldn't be that hard for you. Try to figure out how the 50 MHz 
(Hint: 50000000 Hz) is divided to get 1 Hz. Then alter this to get twice 
as much clock changes as before.
1 Hz means one full period per second which means two changes in 
polarity per second.

Reply

Please log in before posting.

or

Log in with Google account

Registration is free and takes only a minute.

Register now