SURF  1.0
SaltDelayCtrl.vhd
Go to the documentation of this file.
1 -------------------------------------------------------------------------------
2 -- File : SaltDelayCtrl.vhd
3 -- Company : SLAC National Accelerator Laboratory
4 -- Created : 2015-06-16
5 -- Last update: 2016-06-21
6 -------------------------------------------------------------------------------
7 -- Description: Wrapper for IDELAYCTRL
8 -------------------------------------------------------------------------------
9 -- This file is part of 'SLAC Firmware Standard Library'.
10 -- It is subject to the license terms in the LICENSE.txt file found in the
11 -- top-level directory of this distribution and at:
12 -- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html.
13 -- No part of 'SLAC Firmware Standard Library', including this file,
14 -- may be copied, modified, propagated, or distributed except according to
15 -- the terms contained in the LICENSE.txt file.
16 -------------------------------------------------------------------------------
17 
18 library ieee;
19 use ieee.std_logic_1164.all;
20 
21 use work.StdRtlPkg.all;
22 
23 library UNISIM;
24 use UNISIM.vcomponents.all;
25 
26 --! @see entity
27  --! @ingroup protocols_salt_core
28 entity SaltDelayCtrl is
29  generic (
30  TPD_G : time := 1 ns;
31  SIM_DEVICE_G : string := "7SERIES"; -- Either "7SERIES" or "ULTRASCALE"
32  REF_RST_SYNC_G : boolean := true; -- Synchronize refRst to refClk.
33  IODELAY_GROUP_G : string := "SALT_IODELAY_GRP");
34  port (
36  refClk : in sl;
37  refRst : in sl);
38 end SaltDelayCtrl;
39 
40 architecture mapping of SaltDelayCtrl is
41 
42  signal syncRst : sl;
43 
44  attribute dont_touch : string;
45  attribute dont_touch of syncRst : signal is "TRUE";
46 
47  attribute IODELAY_GROUP : string;
48  attribute IODELAY_GROUP of SALT_IDELAY_CTRL_Inst : label is IODELAY_GROUP_G;
49 
50  attribute KEEP_HIERARCHY : string;
51  attribute KEEP_HIERARCHY of SALT_IDELAY_CTRL_Inst : label is "TRUE";
52  attribute KEEP_HIERARCHY of RstSync_Inst : label is "TRUE";
53 
54 begin
55 
56  RstSync_Inst : entity work.RstSync
57  generic map (
58  TPD_G => TPD_G,
59  BYPASS_SYNC_G => not REF_RST_SYNC_G )
60  port map (
61  clk => refClk,
62  asyncRst => refRst,
63  syncRst => syncRst);
64 
65  SALT_IDELAY_CTRL_Inst : IDELAYCTRL
66  generic map (
67  SIM_DEVICE => SIM_DEVICE_G)
68  port map (
69  RDY => iDelayCtrlRdy, -- 1-bit output: Ready output
70  REFCLK => refClk, -- 1-bit input: Reference clock input
71  RST => syncRst); -- 1-bit input: Active high reset input
72 
73 end mapping;
IODELAY_GROUP_Gstring := "SALT_IODELAY_GRP"
out syncRstsl
Definition: RstSync.vhd:36
std_logic sl
Definition: StdRtlPkg.vhd:28
REF_RST_SYNC_Gboolean := true
in asyncRstsl
Definition: RstSync.vhd:35
in clksl
Definition: RstSync.vhd:34
BYPASS_SYNC_Gboolean := false
Definition: RstSync.vhd:30
TPD_Gtime := 1 ns
Definition: RstSync.vhd:27
SIM_DEVICE_Gstring := "7SERIES"
out iDelayCtrlRdysl
TPD_Gtime := 1 ns