AMC13
Firmwares for the different applications of the AMC13 uTCA board made at Boston University
 All Classes Variables
daqlink_7s_sync_block.vhd
1 --////////////////////////////////////////////////////////////////////////////////
2 --// ____ ____
3 --// / /\/ /
4 --// /___/ \ / Vendor: Xilinx
5 --// \ \ \/ Version : 2.7
6 --// \ \ Application : 7 Series FPGAs Transceivers Wizard
7 --// / / Filename :daqlink_7s_sync_block.vhd
8 --// /___/ /\
9 --// \ \ / \
10 --// \___\/\___\
11 --//
12 --//
13 --
14 -- Description: Used on signals crossing from one clock domain to
15 -- another, this is a flip-flop pair, with both flops
16 -- placed together with RLOCs into the same slice. Thus
17 -- the routing delay between the two is minimum to safe-
18 -- guard against metastability issues.
19 --
20 --
21 -- Module DAQLINK_7S_sync_block
22 -- Generated by Xilinx 7 Series FPGAs Transceivers Wizard
23 --
24 --
25 -- (c) Copyright 2010-2012 Xilinx, Inc. All rights reserved.
26 --
27 -- This file contains confidential and proprietary information
28 -- of Xilinx, Inc. and is protected under U.S. and
29 -- international copyright and other intellectual property
30 -- laws.
31 --
32 -- DISCLAIMER
33 -- This disclaimer is not a license and does not grant any
34 -- rights to the materials distributed herewith. Except as
35 -- otherwise provided in a valid license issued to you by
36 -- Xilinx, and to the maximum extent permitted by applicable
37 -- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
38 -- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
39 -- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
40 -- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
41 -- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
42 -- (2) Xilinx shall not be liable (whether in contract or tort,
43 -- including negligence, or under any other theory of
44 -- liability) for any loss or damage of any kind or nature
45 -- related to, arising under or in connection with these
46 -- materials, including for any direct, or any indirect,
47 -- special, incidental, or consequential loss or damage
48 -- (including loss of data, profits, goodwill, or any type of
49 -- loss or damage suffered as a result of any action brought
50 -- by a third party) even if such damage or loss was
51 -- reasonably foreseeable or Xilinx had been advised of the
52 -- possibility of the same.
53 --
54 -- CRITICAL APPLICATIONS
55 -- Xilinx products are not designed or intended to be fail-
56 -- safe, or for use in any application requiring fail-safe
57 -- performance, such as life-support or safety devices or
58 -- systems, Class III medical devices, nuclear facilities,
59 -- applications related to the deployment of airbags, or any
60 -- other applications that could lead to death, personal
61 -- injury, or severe property or environmental damage
62 -- (individually and collectively, "Critical
63 -- Applications"). Customer assumes the sole risk and
64 -- liability of any use of Xilinx products in Critical
65 -- Applications, subject only to applicable laws and
66 -- regulations governing limitations on product liability.
67 --
68 -- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
69 -- PART OF THIS FILE AT ALL TIMES.
70 
71 
72 
73 
74 
75 library ieee;
76 use ieee.std_logic_1164.all;
77 
78 library unisim;
79 use unisim.vcomponents.all;
80 
82  generic (
83  INITIALISE : bit_vector(1 downto 0) := "00"
84  );
85  port (
86  clk : in std_logic; -- clock to be sync'ed to
87  data_in : in std_logic; -- Data to be 'synced'
88  data_out : out std_logic -- synced data
89  );
90 
91 end daqlink_7s_sync_block;
92 
93 
94 architecture structural of daqlink_7s_sync_block is
95 
96 
97  -- Internal Signals
98  signal data_sync1 : std_logic;
99 
100  -- These attributes will stop Vivado translating the desired flip-flops into an
101  -- SRL based shift register.
102  attribute ASYNC_REG : string;
103  attribute ASYNC_REG of data_sync : label is "TRUE";
104  attribute ASYNC_REG of data_sync_reg : label is "TRUE";
105 
106  -- These attributes will stop timing errors being reported on the target flip-flop during back annotated SDF simulation.
107  attribute MSGON : string;
108  attribute MSGON of data_sync : label is "FALSE";
109  attribute MSGON of data_sync_reg : label is "FALSE";
110 
111  -- These attributes will stop XST translating the desired flip-flops into an
112  -- SRL based shift register.
113  attribute shreg_extract : string;
114  attribute shreg_extract of data_sync : label is "no";
115  attribute shreg_extract of data_sync_reg : label is "no";
116 
117 
118 begin
119 
120  data_sync : FD
121  generic map (
122  INIT => INITIALISE(0)
123  )
124  port map (
125  C => clk,
126  D => data_in,
127  Q => data_sync1
128  );
129 
130 
131  data_sync_reg : FD
132  generic map (
133  INIT => INITIALISE(1)
134  )
135  port map (
136  C => clk,
137  D => data_sync1,
138  Q => data_out
139  );
140 
141 
142 end structural;
143 
144