You've already forked gitified_old_clb_svn
258 lines
6.8 KiB
VHDL
258 lines
6.8 KiB
VHDL
--------------------------------------------------------------------------------
|
|
--
|
|
-- This VHDL file was generated by EASE/HDL 7.4 Revision 9 from HDL Works B.V.
|
|
--
|
|
-- Ease library : design
|
|
-- HDL library : work
|
|
-- Host name : SERING
|
|
-- User name : peterj
|
|
-- Time stamp : Tue Jan 21 15:22:41 2014
|
|
--
|
|
-- Designed by :
|
|
-- Company : HDL Works
|
|
-- Project info :
|
|
--
|
|
--------------------------------------------------------------------------------
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Object : Entity design.DiffIn
|
|
-- Last modified : Tue Jan 21 15:20:01 2014.
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
library ieee, UNISIM;
|
|
use ieee.std_logic_1164.all;
|
|
use ieee.numeric_std.all;
|
|
use UNISIM.VCOMPONENTS.all;
|
|
|
|
entity DiffIn is
|
|
port(
|
|
REFCLK : out std_logic;
|
|
SMA_MGT_REFCLK_N : in std_logic;
|
|
SMA_MGT_REFCLK_P : in std_logic);
|
|
end entity DiffIn;
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Object : Architecture design.DiffIn.rtl
|
|
-- Last modified : Tue Jan 21 15:20:01 2014.
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
architecture rtl of DiffIn is
|
|
Signal RefClk_GTE2: std_logic;
|
|
begin
|
|
ibufds_gte2_ref_clk: IBUFDS_GTE2
|
|
generic map(
|
|
CLKCM_CFG => True,
|
|
CLKRCV_TRST => True,
|
|
CLKSWING_CFG => "11")
|
|
port map(
|
|
CEB => '0',
|
|
I => SMA_MGT_REFCLK_P,
|
|
IB => SMA_MGT_REFCLK_N,
|
|
O => RefClk_GTE2,
|
|
ODIV2 => open);
|
|
|
|
-- ibufds_ref_clk: IBUFGDS
|
|
-- generic map(
|
|
-- CAPACITANCE => "DONT_CARE",
|
|
-- DIFF_TERM => False,
|
|
-- IBUF_DELAY_VALUE => "0",
|
|
-- IBUF_LOW_PWR => True,
|
|
-- IOSTANDARD => "DEFAULT")
|
|
-- port map(
|
|
-- I => SMA_MGT_REFCLK_P,
|
|
-- IB => SMA_MGT_REFCLK_N,
|
|
-- O => RefClk_GTE2);
|
|
|
|
bufg_ref_clk: BUFG
|
|
port map(
|
|
I => RefClk_GTE2,
|
|
O => REFCLK);
|
|
|
|
|
|
end architecture rtl ; -- of DiffIn
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Object : Entity design.DiffOut
|
|
-- Last modified : Tue Jan 21 14:13:32 2014.
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
library ieee, UNISIM;
|
|
use ieee.std_logic_1164.all;
|
|
use ieee.numeric_std.all;
|
|
use UNISIM.VCOMPONENTS.all;
|
|
|
|
entity DiffOut is
|
|
port(
|
|
PPS : in std_logic;
|
|
PPS_N : out std_logic;
|
|
PPS_P : out std_logic;
|
|
REFCLK : in std_logic;
|
|
REFCLK_N : out std_logic;
|
|
REFCLK_P : out std_logic);
|
|
end entity DiffOut;
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Object : Architecture design.DiffOut.rtl
|
|
-- Last modified : Tue Jan 21 14:13:32 2014.
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
architecture rtl of DiffOut is
|
|
|
|
begin
|
|
obuf_ref_clk: OBUFDS
|
|
generic map(
|
|
CAPACITANCE => "DONT_CARE",
|
|
IOSTANDARD => "DEFAULT",
|
|
SLEW => "SLOW")
|
|
port map(
|
|
O => REFCLK_P,
|
|
OB => REFCLK_N,
|
|
I => REFCLK);
|
|
|
|
obuf_pps: OBUFDS
|
|
generic map(
|
|
CAPACITANCE => "DONT_CARE",
|
|
IOSTANDARD => "DEFAULT",
|
|
SLEW => "SLOW")
|
|
port map(
|
|
O => PPS_P,
|
|
OB => PPS_N,
|
|
I => PPS);
|
|
|
|
end architecture rtl ; -- of DiffOut
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Object : Entity design.PPS_Divider
|
|
-- Last modified : Tue Jan 21 15:22:40 2014.
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
library ieee;
|
|
use ieee.std_logic_1164.all;
|
|
use ieee.numeric_std.all;
|
|
|
|
entity PPS_Divider is
|
|
port(
|
|
Clk : in std_logic;
|
|
PPS : out std_logic);
|
|
end entity PPS_Divider;
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Object : Architecture design.PPS_Divider.rtl
|
|
-- Last modified : Tue Jan 21 15:22:40 2014.
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
architecture rtl of PPS_Divider is
|
|
|
|
begin
|
|
Process (Clk)
|
|
Variable Count: Unsigned(31 downto 0) := (Others => '0');
|
|
Begin
|
|
If Rising_Edge(Clk) Then
|
|
If count = 9999999 then
|
|
Count := (others => '0');
|
|
else
|
|
Count := Count + 1;
|
|
end if;
|
|
End If;
|
|
|
|
If count > 0 and Count <= 1000 then
|
|
PPS <= '1';
|
|
else
|
|
PPS <= '0';
|
|
end if;
|
|
End Process;
|
|
|
|
end architecture rtl ; -- of PPS_Divider
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Object : Entity design.fpga
|
|
-- Last modified : Tue Jan 21 15:11:19 2014.
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
library ieee;
|
|
use ieee.std_logic_1164.all;
|
|
use ieee.numeric_std.all;
|
|
|
|
entity fpga is
|
|
port(
|
|
OE0_N : out std_logic;
|
|
PPS_N : out std_logic;
|
|
PPS_P : out std_logic;
|
|
REFCLK_N : out std_logic;
|
|
REFCLK_P : out std_logic;
|
|
SMA_MGT_REFCLK_N : in std_logic;
|
|
SMA_MGT_REFCLK_P : in std_logic);
|
|
end entity fpga;
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Object : Architecture design.fpga.a0
|
|
-- Last modified : Tue Jan 21 15:11:19 2014.
|
|
--------------------------------------------------------------------------------
|
|
|
|
architecture a0 of fpga is
|
|
|
|
signal PPS : std_logic;
|
|
signal REFCLK : std_logic;
|
|
|
|
component PPS_Divider
|
|
port(
|
|
Clk : in std_logic;
|
|
PPS : out std_logic);
|
|
end component PPS_Divider;
|
|
|
|
component DiffOut
|
|
port(
|
|
PPS : in std_logic;
|
|
PPS_N : out std_logic;
|
|
PPS_P : out std_logic;
|
|
REFCLK : in std_logic;
|
|
REFCLK_N : out std_logic;
|
|
REFCLK_P : out std_logic);
|
|
end component DiffOut;
|
|
|
|
component DiffIn
|
|
port(
|
|
REFCLK : out std_logic;
|
|
SMA_MGT_REFCLK_N : in std_logic;
|
|
SMA_MGT_REFCLK_P : in std_logic);
|
|
end component DiffIn;
|
|
|
|
begin
|
|
--Kintex-7 evaluation board KC705
|
|
--J16 SMA_MGT_REFCLK_P (FPGA pin J8)
|
|
--J15 SMA_MGT_REFCLK_N (FPGA pin J7)
|
|
OE0_N <= '0';
|
|
u1: PPS_Divider
|
|
port map(
|
|
Clk => REFCLK,
|
|
PPS => PPS);
|
|
|
|
u0: DiffOut
|
|
port map(
|
|
PPS => PPS,
|
|
PPS_N => PPS_N,
|
|
PPS_P => PPS_P,
|
|
REFCLK => REFCLK,
|
|
REFCLK_N => REFCLK_N,
|
|
REFCLK_P => REFCLK_P);
|
|
|
|
u2: DiffIn
|
|
port map(
|
|
REFCLK => REFCLK,
|
|
SMA_MGT_REFCLK_N => SMA_MGT_REFCLK_N,
|
|
SMA_MGT_REFCLK_P => SMA_MGT_REFCLK_P);
|
|
|
|
end architecture a0 ; -- of fpga
|
|
|