problém s 1.2KHz hodiny od 40MHz source

J

Joshi

Guest
Ahoj všem

Mám mistr hod. 40 MHz a od pána Hodiny chcete generovat 1,2 Khz náměstí vlny pulsů na výstupu

můj kód je níže(1) co je problm se můj kód(2) Jak Počítadlo pracuje a jak se rozhodnout pro boj proti hodnotám, jako jetyto vzory(3) bez boje můžeme použít Shift?Knihovna IEEE;
použití ieee.std_logic_1164.all;
použití ieee.std_logic_arith.all;
použití ieee.std_logic_unsigned.all;

subjektu Clk_divider je
port (
resetn: v std_logic - Reset
MHZ_clock: v std_logic;
Out_clock: z std_logic

);
konec Clk_divider;

Architektura Clk_divider_arch z Clk_divider je

signál clk_count: std_logic_vector (16 downto 0): =
"00000000000000000"; - 16 bit čítač

začít

Hodiny: proces (resetn, MHZ_clock) - 0.025uSec
začít
if (resetn = '0 '), pak
Out_clock <= '0 ';

elsif (MHZ_clock'event a MHZ_clock = '1 '), pak
if (clk_count <= "01000001000101000"), pak --- chtít Generate
Delay (40M Hz / 1.2K Hz = 3320)
clk_count <= clk_count '1 ';
out_clock <= '1 ';

elsif ((clk_count> "01000001000101000") a (clk_count <
"10000010001010000")) pak
- 0 až 3333 ON a OFF 3333 do 6666

out_clock <= '0 ';
clk_count <= clk_count '1 ';
if (clk_count = "10000010001010000"), pak
clk_count <= "00000000000000000";

end if;
end if;

end if;
Ukončit proces hodiny;
konec Clk_divider_arch;

Čekání fr odpovědi ..

s díky Advance
Joshi

 
Joshi napsal:

Ahoj všemMám mistr hod. 40 MHz a od pána Hodiny chcete generovat 1,2 Khz náměstí vlny pulsů na výstupumůj kód je níže
(1) co je problm se můj kód
(2) Jak Počítadlo pracuje a jak se rozhodnout pro boj proti hodnotám, jako je
tyto vzory
(3) bez boje můžeme použít Shift?
Knihovna IEEE;

použití ieee.std_logic_1164.all;

použití ieee.std_logic_arith.all;

použití ieee.std_logic_unsigned.all;subjektu Clk_divider je

port (

resetn: v std_logic - Reset

MHZ_clock: v std_logic;

Out_clock: z std_logic);

konec Clk_divider;Architektura Clk_divider_arch z Clk_divider jesignál clk_count: std_logic_vector (16 downto 0): =

"00000000000000000"; - 16 bit čítačzačítHodiny: proces (resetn, MHZ_clock) - 0.025uSec

začít

if (resetn = '0 '), pak

Out_clock <= '0 ';elsif (MHZ_clock'event a MHZ_clock = '1 '), pak

if (clk_count <= "01000001000101000"), pak --- chtít Generate

Delay (40M Hz / 1.2K Hz = 3320)

clk_count <= clk_count '1 ';

out_clock <= '1 ';elsif ((clk_count> "01000001000101000") a (clk_count <

"10000010001010000")) pak

- 0 až 3333 ON a OFF 3333 do 6666out_clock <= '0 ';

clk_count <= clk_count '1 ';

if (clk_count = "10000010001010000"), pak

clk_count <= "00000000000000000";end if;

end if;end if;

Ukončit proces hodiny;

konec Clk_divider_arch;Čekání fr odpovědi ..s díky Advance

Joshi
 
Díky moc za yur vstupy ..

ya je třeba 16660 ON a OFF 16660
Abd yur Ještě jeden vstup
*******************
Navrhoval bych psát

elsif (MHZ_clock'event a MHZ_clock = '1 '), pak
clk_count <= clk_count '1 ';
-----------
- Váš kód
-------
To by mělo fungovat jinak ....
********************

zde chci increament Počítadlo až 16.660 (100000100010100) a jeden její konec protihodnotě Chci, aby se boj proti 0000000000000000, že yi napsal kód, jako je tato. Jus předpokládat boj 50 -> jsem 0 - 25 O / P vysoký a 25 až 50 Udělal jsem O / P s nízkou ...
************************
elsif (MHZ_clock'event a MHZ_clock = '1 '), pak
if (clk_count <= "01000001000101000"), pak --- chtít Vytvořit Dela
- (40M Hz/1.2K Hz = 3320)

clk_count <= clk_count '1 ';
out_clock <= '1 ';

***********************
podle yur logika, jak zařídit, aby si couner hodnotu nula?

ještě jedna věc, co jsem již Synthesised tohoto kodexu, ale ne abld Předstírat ...

 

Welcome to EDABoard.com

Sponsor

Back
Top