Gast
#939367
Hallo zusammen,
Ich hab die Folgende Programme geschrieben,die sind Frequenzteiler,sie
teilen mir einmal den 50 Mhz Taktfrequenz zu 19,2 Khz,und einmal zu 100
Hz..
könnte jemand mir sagen ob die Programme richtig sind oder nicht?und
wenn nicht,wo liegt den fehler?
Danke im voraus..
50 Mhz zu 19,2 Khz:
ENTITY frequenzteiler IS
PORT (clock : IN bit ;
t_clk : BUFFER bit ;
END frequenzteiler ;
ARCHITECTURE behaviour OF frequenzteiler IS
BEGIN
PROCESS
VARIABLE count : integer RANGE 0 TO 2604 ;
BEGIN
WAIT UNTIL clock'event AND clock='1' ;
count := count+1 ;
CASE count IS
WHEN 0 => t_clk <= NOT t_clk ;
WHEN 2604/2 => t_clk <= NOT t_clk ;
WHEN 2604 => count := 0;
WHEN OTHERS => NULL ;
END CASE ;
END PROCESS;
END behaviour;
50 Mhz zu 100 Hz:
ENTITY frequenzteiler IS
PORT (clock : IN bit ;
t_clk : BUFFER bit ;
END frequenzteiler ;
ARCHITECTURE behaviour OF frequenzteiler IS
BEGIN
PROCESS
VARIABLE count : integer RANGE 0 TO 500000 ;
BEGIN
WAIT UNTIL clock'event AND clock='1' ;
count := count+1 ;
CASE count IS
WHEN 0 => t_clk <= NOT t_clk ;
WHEN 500000/2 => t_clk <= NOT t_clk ;
WHEN 500000 => count := 0;
WHEN OTHERS => NULL ;
END CASE ;
END PROCESS;
END behaviour;