1 ----------------------------------------------------------------------------------
14 ----------------------------------------------------------------------------------
16 use IEEE.STD_LOGIC_1164.
ALL;
22 -- Uncomment the following library declaration if using
23 -- arithmetic functions with Signed or Unsigned values
24 use IEEE.NUMERIC_STD.
ALL;
26 -- Uncomment the following library declaration if instantiating
27 -- any Xilinx primitives in this code.
29 --use UNISIM.VComponents.all;
33 DATA_in : in (17 downto 0);
34 DATA_out : out (17 downto 0);
36 subtick_counter : in (2 downto 0));
39 architecture Behavioral
of CRC_CALC is
41 --attribute RLOC: string;
45 signal b0, b1 : (7 downto 0);
47 -- crc register at varoius stages of the computation
55 -- addr : in std_logic_vector(7 downto 0);
56 -- data : out std_logic_vector(11 downto 0));
63 spo :
OUT (
11 DOWNTO 0)
68 --attribute RLOC of crc_distmem: component is "X0Y0";
69 --attribute RLOC of r0: signal is "X0Y0 X0Y0 X0Y0 X0Y0 X0Y0 X0Y0 X0Y0 X0Y0 X0Y1 X0Y1 X0Y1 X0Y1";
72 --attribute RLOC of lut_0: entity is "X1Y0"; -- ERROR:HDLCompiler:69 - "/home/wfedorko/L1Calo/Base/Test_2b_Backplane_Capture/trunk/sources/CRC_CALC.vhd" Line 67: <lut_0> is not declared.
74 --attribute RLOC of lut_0: component is "X1Y0"; --ERROR:HDLCompiler:69 - "/home/wfedorko/L1Calo/Base/Test_2b_Backplane_Capture/trunk/sources/CRC_CALC.vhd" Line 66: <lut_0> is not declared.
75 --attribute RLOC of r2: signal is "X1Y0";
77 --attribute RLOC of lut_0: label is "X1Y0";
79 --attribute RLOC of lut_0: label is "R0C1.S0"; --ERROR:Map:201 - Illegal format for RLOC constraint on crc_distmem symbol
80 --"Topo_Data_TX_inst/txdatagen_grp[1].txdatagen_fifo[11].CRC_CALC_inst/lut_0".
81 --The value specified is "R0C1.S0".
82 --Map:91 - crc_distmem symbol "Topo_Data_TX_inst/txdatagen_grp[0].txdatagen_fifo[0].CRC_CALC_inst/lut_0" has an RLOC attribute but the attribute will be ignored because the hierarchy contains no symbols with RLOC attributes.
88 b0<=DATA_in(7 downto 0);
89 b1<=DATA_in(15 downto 8);
91 r1(11 downto 8)<=r0(3 downto 0);
96 -- addr => r0(11 downto 4),
100 --attribute RLOC of lut_0: component is "X1Y0";
104 a =>
r0(11 downto 4),
111 r4(11 downto 8)<=r3(3 downto 0);
116 -- addr => r3(11 downto 4),
122 a =>
r3(11 downto 4),
129 if rising_edge(clk) then -- rising clock edge
131 DATA_out(11 downto 0)<=r6;
132 DATA_out(17 downto 12)<=DATA_in(17 downto 12);
std_logic_vector (7 downto 0) b1
std_logic_vector (11 downto 0) r1
std_logic_vector (11 downto 0) r5
std_logic_vector (7 downto 0) b0
std_logic_vector (11 downto 0) r0
std_logic_vector (11 downto 0) r4
std_logic_vector (11 downto 0) r3
std_logic_vector (11 downto 0) r2
std_logic_vector (11 downto 0) r6
unsigned (2 downto 0) subtick_counter_reg_local