40 lines
713 B
VHDL
40 lines
713 B
VHDL
--
|
|
-- Double flip-flop synchronizer.
|
|
--
|
|
|
|
library ieee;
|
|
use ieee.std_logic_1164.all;
|
|
library xpm;
|
|
use xpm.vcomponents.all;
|
|
|
|
entity syncdff is
|
|
|
|
port (
|
|
-- Clock (destination domain).
|
|
clk: in std_logic;
|
|
|
|
-- Input data (asynchronous).
|
|
di: in std_logic;
|
|
|
|
-- Output data, synchronous to "clk".
|
|
do: out std_logic
|
|
);
|
|
|
|
end entity;
|
|
|
|
architecture rtl of syncdff is
|
|
|
|
begin
|
|
|
|
inst: xpm_cdc_single
|
|
generic map (
|
|
DEST_SYNC_FF => 2,
|
|
SRC_INPUT_REG => 0 )
|
|
port map (
|
|
dest_clk => clk,
|
|
dest_out => do,
|
|
src_clk => '0',
|
|
src_in => di );
|
|
|
|
end architecture;
|