Hello again. I have read all your postings about this and it was interesting. I read the XAPP094 document and found a new idea how to solve the problem.
As I wrote before, the input signal is synchronous to a 1.8 MHz clock and I want to synchronize it to a 24 MHz clock.
After reading the XAPP094 I found a new way to qualify the signal to be synchronous to 24 MHz. (se VHDL listing below).
How it works: The input signal is first sampled at the rising clock edge (sample a) then again on falling clock edge (sample b). If the two samples (a and b) are the same then I change the output signal on the next rising edge to the value of a.
What do you all think about this solution?
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity qualify is Port ( clk_24M : in std_logic; d : in std_logic; q : out std_logic); end qualify;
architecture beh of qualify is signal a, b : std_logic := '0'; begin process(clk_24M) begin if rising_edge(clk_24M) then a If you run a 1.8 MHz clock (even with a similar asynchronous data