Kurti 90 laipsnių fazės poslinkio laikrodis

C

Colette

Guest
Labas

Turiu du laikrodžiai į sistemą, 128mhz ir 64mhz, aš noriu sukurti 90 laipsnių faze 64 MHz clock.FPGA neturi PLL ar dll, bet patarimas būtų labai dėkingi

 
Colette rašo:

LabasTuriu du laikrodžiai į sistemą, 128mhz ir 64mhz, aš noriu sukurti 90 laipsnių faze 64 MHz clock.
FPGA neturi PLL ar dll, bet patarimas būtų labai dėkingi
 
Labas

Ar aš teisingai darant prielaidą, kad abu fflops yra clocked nuo 128mhz, prijungti prie D įėjimo į pirmą fflop yra papildoma O / P antra fflop ir K O / P pirmojo fflop yra prijungtas prie D įvedimui antra fflop.

Thanks for you help

 
subjektas clkgen yra
uostas (
128mhz: in std_logic;
64mhz: iš std_logic;
shifted_64mhz: iš std_logic);
pabaigos subjektas;

architektūra arka clkgen yra
signalas int1, int2: std_logic_vector (1 downto 0);
pradėti
procesas (128mhz) yra
pradėti
if (128mhz = 1 ir 128mhz "atveju), tada
int1 <= int1 1;
end if;

64mhz <= int1 (1);

galutinio proceso;

procesas (128mhz) yra
pradėti
if (128mhz = 0 ir 128mhz "atveju), tada
int2 <= int2 1;
end if;

shifted_64mhz <= int2 (1);

galutinio proceso;

pabaigos architektūra;

 
Čia turiu pataisyti kodą!
Kodas

subjektas clkgen yra

uostas (

reset: į std_logic;

128mhz: in std_logic;

64mhz: iš std_logic;

shifted_64mhz: iš std_logic);

pabaigos subjektas;architektūra arka clkgen yra

signalas int1, int2: std_logic;

pradėti

procesas (128mhz, reset) yra

pradėti

if (Reset = 1) tuomet

int1 <= '0 ';

elsif (128mhz = 1 ir 128mhz "atveju), tada

int1 <= ne int1;

end if;

64mhz <= int1;

galutinio proceso;procesas (128mhz, reset) yra

pradėti

if (Reset = 1) tuomet

int2 <= '0 ';

elsif (128mhz = 0 ir 128mhz "atveju), tada

int2 <= ne int2;

end if;

shifted_64mhz <= int2;

galutinio proceso;

pabaigos architektūra;
 

Welcome to EDABoard.com

Sponsor

Back
Top