AMC13
Firmwares for the different applications of the AMC13 uTCA board made at Boston University
Main Page
Design Unit List
Files
File List
All
Classes
Variables
src
CMS_DAQ_if
10Gb
slink
crc_gen_32b.vhd
1
--------------------------------------------------------------------------------
2
-- Copyright (C) 1999-2008 Easics NV.
3
-- This source
file
may be used
and
distributed without restriction
4
-- provided that this copyright statement
is
not
removed from the
file
5
--
and
that any derivative work contains the original copyright notice
6
--
and
the associated disclaimer.
7
--
8
-- THIS SOURCE
FILE
IS
PROVIDED "AS IS"
AND
WITHOUT ANY EXPRESS
9
--
OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
10
-- WARRANTIES
OF
MERCHANTIBILITY
AND
FITNESS
FOR
A PARTICULAR PURPOSE.
11
--
12
-- Purpose : synthesizable CRC
function
13
-- * polynomial: (
0
1
2
4
5
7
8
10
11
12
16
22
23
26
32
)
14
-- * data width:
64
15
--
16
-- Info : tools@easics.be
17
-- http://www.easics.com
18
--
19
-- D. Gigi info
2011
20
-- data start
with
lower
32
bit
(
bit
empty set
to
'1'
for
the first word
21
-- continu
with
all
64
bit
data word
22
--
23
-- data start
all
the
time
with
64
bit
and
can finish aligned
on
16
bit
32
bit
48
bit
or
64
bit
24
--------------------------------------------------------------------------------
25
LIBRARY
IEEE
;
26
USE
ieee.std_logic_1164.
all
;
27
USE
ieee.std_logic_arith.
all
;
28
USE
ieee.std_logic_unsigned.
all
;
29
30
ENTITY
crc_gen_32b
IS
31
PORT
(
32
clock
:
IN
STD_LOGIC
;
33
reset
:
IN
STD_LOGIC
;
34
data
:
IN
STD_LOGIC_VECTOR
(
63
DOWNTO
0
)
;
35
data_valid
:
IN
STD_LOGIC
;
36
eoc
:
IN
STD_LOGIC
;
37
38
crc
:
OUT
STD_LOGIC_VECTOR
(
31
DOWNTO
0
)
;
39
crc_valid
:
OUT
STD_LOGIC
40
)
;
41
END
crc_gen_32b
;
42
43
ARCHITECTURE
behave
OF
crc_gen_32b
IS
44
45
SIGNAL
crc_rT
:
STD_LOGIC_VECTOR
(
31
DOWNTO
0
)
;
-- Total CRC (
32
bit
)
46
SIGNAL
crc_8T
:
STD_LOGIC_VECTOR
(
31
DOWNTO
0
)
;
47
SIGNAL
crc_i
:
STD_LOGIC_VECTOR
(
31
DOWNTO
0
)
;
48
SIGNAL
End_of_crc
:
STD_LOGIC
;
49
50
51
52
BEGIN
53
54
55
crc_i
<=
crc_rT
;
56
57
crc_8T
(
0
)
<=
data
(
63
)
xor
data
(
61
)
xor
data
(
60
)
xor
data
(
58
)
xor
data
(
55
)
xor
data
(
54
)
xor
data
(
53
)
xor
data
(
50
)
xor
data
(
48
)
xor
data
(
47
)
xor
data
(
45
)
xor
data
(
44
)
xor
data
(
37
)
xor
data
(
34
)
xor
data
(
32
)
xor
data
(
31
)
xor
data
(
30
)
xor
data
(
29
)
xor
data
(
28
)
xor
data
(
26
)
xor
data
(
25
)
xor
data
(
24
)
xor
data
(
16
)
xor
data
(
12
)
xor
data
(
10
)
xor
data
(
9
)
xor
data
(
6
)
xor
data
(
0
)
xor
crc_i
(
0
)
xor
crc_i
(
2
)
xor
crc_i
(
5
)
xor
crc_i
(
12
)
xor
crc_i
(
13
)
xor
crc_i
(
15
)
xor
crc_i
(
16
)
xor
crc_i
(
18
)
xor
crc_i
(
21
)
xor
crc_i
(
22
)
xor
crc_i
(
23
)
xor
crc_i
(
26
)
xor
crc_i
(
28
)
xor
crc_i
(
29
)
xor
crc_i
(
31
)
;
58
crc_8T
(
1
)
<=
data
(
63
)
xor
data
(
62
)
xor
data
(
60
)
xor
data
(
59
)
xor
data
(
58
)
xor
data
(
56
)
xor
data
(
53
)
xor
data
(
51
)
xor
data
(
50
)
xor
data
(
49
)
xor
data
(
47
)
xor
data
(
46
)
xor
data
(
44
)
xor
data
(
38
)
xor
data
(
37
)
xor
data
(
35
)
xor
data
(
34
)
xor
data
(
33
)
xor
data
(
28
)
xor
data
(
27
)
xor
data
(
24
)
xor
data
(
17
)
xor
data
(
16
)
xor
data
(
13
)
xor
data
(
12
)
xor
data
(
11
)
xor
data
(
9
)
xor
data
(
7
)
xor
data
(
6
)
xor
data
(
1
)
xor
data
(
0
)
xor
crc_i
(
1
)
xor
crc_i
(
2
)
xor
crc_i
(
3
)
xor
crc_i
(
5
)
xor
crc_i
(
6
)
xor
crc_i
(
12
)
xor
crc_i
(
14
)
xor
crc_i
(
15
)
xor
crc_i
(
17
)
xor
crc_i
(
18
)
xor
crc_i
(
19
)
xor
crc_i
(
21
)
xor
crc_i
(
24
)
xor
crc_i
(
26
)
xor
crc_i
(
27
)
xor
crc_i
(
28
)
xor
crc_i
(
30
)
xor
crc_i
(
31
)
;
59
crc_8T
(
2
)
<=
data
(
59
)
xor
data
(
58
)
xor
data
(
57
)
xor
data
(
55
)
xor
data
(
53
)
xor
data
(
52
)
xor
data
(
51
)
xor
data
(
44
)
xor
data
(
39
)
xor
data
(
38
)
xor
data
(
37
)
xor
data
(
36
)
xor
data
(
35
)
xor
data
(
32
)
xor
data
(
31
)
xor
data
(
30
)
xor
data
(
26
)
xor
data
(
24
)
xor
data
(
18
)
xor
data
(
17
)
xor
data
(
16
)
xor
data
(
14
)
xor
data
(
13
)
xor
data
(
9
)
xor
data
(
8
)
xor
data
(
7
)
xor
data
(
6
)
xor
data
(
2
)
xor
data
(
1
)
xor
data
(
0
)
xor
crc_i
(
0
)
xor
crc_i
(
3
)
xor
crc_i
(
4
)
xor
crc_i
(
5
)
xor
crc_i
(
6
)
xor
crc_i
(
7
)
xor
crc_i
(
12
)
xor
crc_i
(
19
)
xor
crc_i
(
20
)
xor
crc_i
(
21
)
xor
crc_i
(
23
)
xor
crc_i
(
25
)
xor
crc_i
(
26
)
xor
crc_i
(
27
)
;
60
crc_8T
(
3
)
<=
data
(
60
)
xor
data
(
59
)
xor
data
(
58
)
xor
data
(
56
)
xor
data
(
54
)
xor
data
(
53
)
xor
data
(
52
)
xor
data
(
45
)
xor
data
(
40
)
xor
data
(
39
)
xor
data
(
38
)
xor
data
(
37
)
xor
data
(
36
)
xor
data
(
33
)
xor
data
(
32
)
xor
data
(
31
)
xor
data
(
27
)
xor
data
(
25
)
xor
data
(
19
)
xor
data
(
18
)
xor
data
(
17
)
xor
data
(
15
)
xor
data
(
14
)
xor
data
(
10
)
xor
data
(
9
)
xor
data
(
8
)
xor
data
(
7
)
xor
data
(
3
)
xor
data
(
2
)
xor
data
(
1
)
xor
crc_i
(
0
)
xor
crc_i
(
1
)
xor
crc_i
(
4
)
xor
crc_i
(
5
)
xor
crc_i
(
6
)
xor
crc_i
(
7
)
xor
crc_i
(
8
)
xor
crc_i
(
13
)
xor
crc_i
(
20
)
xor
crc_i
(
21
)
xor
crc_i
(
22
)
xor
crc_i
(
24
)
xor
crc_i
(
26
)
xor
crc_i
(
27
)
xor
crc_i
(
28
)
;
61
crc_8T
(
4
)
<=
data
(
63
)
xor
data
(
59
)
xor
data
(
58
)
xor
data
(
57
)
xor
data
(
50
)
xor
data
(
48
)
xor
data
(
47
)
xor
data
(
46
)
xor
data
(
45
)
xor
data
(
44
)
xor
data
(
41
)
xor
data
(
40
)
xor
data
(
39
)
xor
data
(
38
)
xor
data
(
33
)
xor
data
(
31
)
xor
data
(
30
)
xor
data
(
29
)
xor
data
(
25
)
xor
data
(
24
)
xor
data
(
20
)
xor
data
(
19
)
xor
data
(
18
)
xor
data
(
15
)
xor
data
(
12
)
xor
data
(
11
)
xor
data
(
8
)
xor
data
(
6
)
xor
data
(
4
)
xor
data
(
3
)
xor
data
(
2
)
xor
data
(
0
)
xor
crc_i
(
1
)
xor
crc_i
(
6
)
xor
crc_i
(
7
)
xor
crc_i
(
8
)
xor
crc_i
(
9
)
xor
crc_i
(
12
)
xor
crc_i
(
13
)
xor
crc_i
(
14
)
xor
crc_i
(
15
)
xor
crc_i
(
16
)
xor
crc_i
(
18
)
xor
crc_i
(
25
)
xor
crc_i
(
26
)
xor
crc_i
(
27
)
xor
crc_i
(
31
)
;
62
crc_8T
(
5
)
<=
data
(
63
)
xor
data
(
61
)
xor
data
(
59
)
xor
data
(
55
)
xor
data
(
54
)
xor
data
(
53
)
xor
data
(
51
)
xor
data
(
50
)
xor
data
(
49
)
xor
data
(
46
)
xor
data
(
44
)
xor
data
(
42
)
xor
data
(
41
)
xor
data
(
40
)
xor
data
(
39
)
xor
data
(
37
)
xor
data
(
29
)
xor
data
(
28
)
xor
data
(
24
)
xor
data
(
21
)
xor
data
(
20
)
xor
data
(
19
)
xor
data
(
13
)
xor
data
(
10
)
xor
data
(
7
)
xor
data
(
6
)
xor
data
(
5
)
xor
data
(
4
)
xor
data
(
3
)
xor
data
(
1
)
xor
data
(
0
)
xor
crc_i
(
5
)
xor
crc_i
(
7
)
xor
crc_i
(
8
)
xor
crc_i
(
9
)
xor
crc_i
(
10
)
xor
crc_i
(
12
)
xor
crc_i
(
14
)
xor
crc_i
(
17
)
xor
crc_i
(
18
)
xor
crc_i
(
19
)
xor
crc_i
(
21
)
xor
crc_i
(
22
)
xor
crc_i
(
23
)
xor
crc_i
(
27
)
xor
crc_i
(
29
)
xor
crc_i
(
31
)
;
63
crc_8T
(
6
)
<=
data
(
62
)
xor
data
(
60
)
xor
data
(
56
)
xor
data
(
55
)
xor
data
(
54
)
xor
data
(
52
)
xor
data
(
51
)
xor
data
(
50
)
xor
data
(
47
)
xor
data
(
45
)
xor
data
(
43
)
xor
data
(
42
)
xor
data
(
41
)
xor
data
(
40
)
xor
data
(
38
)
xor
data
(
30
)
xor
data
(
29
)
xor
data
(
25
)
xor
data
(
22
)
xor
data
(
21
)
xor
data
(
20
)
xor
data
(
14
)
xor
data
(
11
)
xor
data
(
8
)
xor
data
(
7
)
xor
data
(
6
)
xor
data
(
5
)
xor
data
(
4
)
xor
data
(
2
)
xor
data
(
1
)
xor
crc_i
(
6
)
xor
crc_i
(
8
)
xor
crc_i
(
9
)
xor
crc_i
(
10
)
xor
crc_i
(
11
)
xor
crc_i
(
13
)
xor
crc_i
(
15
)
xor
crc_i
(
18
)
xor
crc_i
(
19
)
xor
crc_i
(
20
)
xor
crc_i
(
22
)
xor
crc_i
(
23
)
xor
crc_i
(
24
)
xor
crc_i
(
28
)
xor
crc_i
(
30
)
;
64
crc_8T
(
7
)
<=
data
(
60
)
xor
data
(
58
)
xor
data
(
57
)
xor
data
(
56
)
xor
data
(
54
)
xor
data
(
52
)
xor
data
(
51
)
xor
data
(
50
)
xor
data
(
47
)
xor
data
(
46
)
xor
data
(
45
)
xor
data
(
43
)
xor
data
(
42
)
xor
data
(
41
)
xor
data
(
39
)
xor
data
(
37
)
xor
data
(
34
)
xor
data
(
32
)
xor
data
(
29
)
xor
data
(
28
)
xor
data
(
25
)
xor
data
(
24
)
xor
data
(
23
)
xor
data
(
22
)
xor
data
(
21
)
xor
data
(
16
)
xor
data
(
15
)
xor
data
(
10
)
xor
data
(
8
)
xor
data
(
7
)
xor
data
(
5
)
xor
data
(
3
)
xor
data
(
2
)
xor
data
(
0
)
xor
crc_i
(
0
)
xor
crc_i
(
2
)
xor
crc_i
(
5
)
xor
crc_i
(
7
)
xor
crc_i
(
9
)
xor
crc_i
(
10
)
xor
crc_i
(
11
)
xor
crc_i
(
13
)
xor
crc_i
(
14
)
xor
crc_i
(
15
)
xor
crc_i
(
18
)
xor
crc_i
(
19
)
xor
crc_i
(
20
)
xor
crc_i
(
22
)
xor
crc_i
(
24
)
xor
crc_i
(
25
)
xor
crc_i
(
26
)
xor
crc_i
(
28
)
;
65
crc_8T
(
8
)
<=
data
(
63
)
xor
data
(
60
)
xor
data
(
59
)
xor
data
(
57
)
xor
data
(
54
)
xor
data
(
52
)
xor
data
(
51
)
xor
data
(
50
)
xor
data
(
46
)
xor
data
(
45
)
xor
data
(
43
)
xor
data
(
42
)
xor
data
(
40
)
xor
data
(
38
)
xor
data
(
37
)
xor
data
(
35
)
xor
data
(
34
)
xor
data
(
33
)
xor
data
(
32
)
xor
data
(
31
)
xor
data
(
28
)
xor
data
(
23
)
xor
data
(
22
)
xor
data
(
17
)
xor
data
(
12
)
xor
data
(
11
)
xor
data
(
10
)
xor
data
(
8
)
xor
data
(
4
)
xor
data
(
3
)
xor
data
(
1
)
xor
data
(
0
)
xor
crc_i
(
0
)
xor
crc_i
(
1
)
xor
crc_i
(
2
)
xor
crc_i
(
3
)
xor
crc_i
(
5
)
xor
crc_i
(
6
)
xor
crc_i
(
8
)
xor
crc_i
(
10
)
xor
crc_i
(
11
)
xor
crc_i
(
13
)
xor
crc_i
(
14
)
xor
crc_i
(
18
)
xor
crc_i
(
19
)
xor
crc_i
(
20
)
xor
crc_i
(
22
)
xor
crc_i
(
25
)
xor
crc_i
(
27
)
xor
crc_i
(
28
)
xor
crc_i
(
31
)
;
66
crc_8T
(
9
)
<=
data
(
61
)
xor
data
(
60
)
xor
data
(
58
)
xor
data
(
55
)
xor
data
(
53
)
xor
data
(
52
)
xor
data
(
51
)
xor
data
(
47
)
xor
data
(
46
)
xor
data
(
44
)
xor
data
(
43
)
xor
data
(
41
)
xor
data
(
39
)
xor
data
(
38
)
xor
data
(
36
)
xor
data
(
35
)
xor
data
(
34
)
xor
data
(
33
)
xor
data
(
32
)
xor
data
(
29
)
xor
data
(
24
)
xor
data
(
23
)
xor
data
(
18
)
xor
data
(
13
)
xor
data
(
12
)
xor
data
(
11
)
xor
data
(
9
)
xor
data
(
5
)
xor
data
(
4
)
xor
data
(
2
)
xor
data
(
1
)
xor
crc_i
(
0
)
xor
crc_i
(
1
)
xor
crc_i
(
2
)
xor
crc_i
(
3
)
xor
crc_i
(
4
)
xor
crc_i
(
6
)
xor
crc_i
(
7
)
xor
crc_i
(
9
)
xor
crc_i
(
11
)
xor
crc_i
(
12
)
xor
crc_i
(
14
)
xor
crc_i
(
15
)
xor
crc_i
(
19
)
xor
crc_i
(
20
)
xor
crc_i
(
21
)
xor
crc_i
(
23
)
xor
crc_i
(
26
)
xor
crc_i
(
28
)
xor
crc_i
(
29
)
;
67
crc_8T
(
10
)
<=
data
(
63
)
xor
data
(
62
)
xor
data
(
60
)
xor
data
(
59
)
xor
data
(
58
)
xor
data
(
56
)
xor
data
(
55
)
xor
data
(
52
)
xor
data
(
50
)
xor
data
(
42
)
xor
data
(
40
)
xor
data
(
39
)
xor
data
(
36
)
xor
data
(
35
)
xor
data
(
33
)
xor
data
(
32
)
xor
data
(
31
)
xor
data
(
29
)
xor
data
(
28
)
xor
data
(
26
)
xor
data
(
19
)
xor
data
(
16
)
xor
data
(
14
)
xor
data
(
13
)
xor
data
(
9
)
xor
data
(
5
)
xor
data
(
3
)
xor
data
(
2
)
xor
data
(
0
)
xor
crc_i
(
0
)
xor
crc_i
(
1
)
xor
crc_i
(
3
)
xor
crc_i
(
4
)
xor
crc_i
(
7
)
xor
crc_i
(
8
)
xor
crc_i
(
10
)
xor
crc_i
(
18
)
xor
crc_i
(
20
)
xor
crc_i
(
23
)
xor
crc_i
(
24
)
xor
crc_i
(
26
)
xor
crc_i
(
27
)
xor
crc_i
(
28
)
xor
crc_i
(
30
)
xor
crc_i
(
31
)
;
68
crc_8T
(
11
)
<=
data
(
59
)
xor
data
(
58
)
xor
data
(
57
)
xor
data
(
56
)
xor
data
(
55
)
xor
data
(
54
)
xor
data
(
51
)
xor
data
(
50
)
xor
data
(
48
)
xor
data
(
47
)
xor
data
(
45
)
xor
data
(
44
)
xor
data
(
43
)
xor
data
(
41
)
xor
data
(
40
)
xor
data
(
36
)
xor
data
(
33
)
xor
data
(
31
)
xor
data
(
28
)
xor
data
(
27
)
xor
data
(
26
)
xor
data
(
25
)
xor
data
(
24
)
xor
data
(
20
)
xor
data
(
17
)
xor
data
(
16
)
xor
data
(
15
)
xor
data
(
14
)
xor
data
(
12
)
xor
data
(
9
)
xor
data
(
4
)
xor
data
(
3
)
xor
data
(
1
)
xor
data
(
0
)
xor
crc_i
(
1
)
xor
crc_i
(
4
)
xor
crc_i
(
8
)
xor
crc_i
(
9
)
xor
crc_i
(
11
)
xor
crc_i
(
12
)
xor
crc_i
(
13
)
xor
crc_i
(
15
)
xor
crc_i
(
16
)
xor
crc_i
(
18
)
xor
crc_i
(
19
)
xor
crc_i
(
22
)
xor
crc_i
(
23
)
xor
crc_i
(
24
)
xor
crc_i
(
25
)
xor
crc_i
(
26
)
xor
crc_i
(
27
)
;
69
crc_8T
(
12
)
<=
data
(
63
)
xor
data
(
61
)
xor
data
(
59
)
xor
data
(
57
)
xor
data
(
56
)
xor
data
(
54
)
xor
data
(
53
)
xor
data
(
52
)
xor
data
(
51
)
xor
data
(
50
)
xor
data
(
49
)
xor
data
(
47
)
xor
data
(
46
)
xor
data
(
42
)
xor
data
(
41
)
xor
data
(
31
)
xor
data
(
30
)
xor
data
(
27
)
xor
data
(
24
)
xor
data
(
21
)
xor
data
(
18
)
xor
data
(
17
)
xor
data
(
15
)
xor
data
(
13
)
xor
data
(
12
)
xor
data
(
9
)
xor
data
(
6
)
xor
data
(
5
)
xor
data
(
4
)
xor
data
(
2
)
xor
data
(
1
)
xor
data
(
0
)
xor
crc_i
(
9
)
xor
crc_i
(
10
)
xor
crc_i
(
14
)
xor
crc_i
(
15
)
xor
crc_i
(
17
)
xor
crc_i
(
18
)
xor
crc_i
(
19
)
xor
crc_i
(
20
)
xor
crc_i
(
21
)
xor
crc_i
(
22
)
xor
crc_i
(
24
)
xor
crc_i
(
25
)
xor
crc_i
(
27
)
xor
crc_i
(
29
)
xor
crc_i
(
31
)
;
70
crc_8T
(
13
)
<=
data
(
62
)
xor
data
(
60
)
xor
data
(
58
)
xor
data
(
57
)
xor
data
(
55
)
xor
data
(
54
)
xor
data
(
53
)
xor
data
(
52
)
xor
data
(
51
)
xor
data
(
50
)
xor
data
(
48
)
xor
data
(
47
)
xor
data
(
43
)
xor
data
(
42
)
xor
data
(
32
)
xor
data
(
31
)
xor
data
(
28
)
xor
data
(
25
)
xor
data
(
22
)
xor
data
(
19
)
xor
data
(
18
)
xor
data
(
16
)
xor
data
(
14
)
xor
data
(
13
)
xor
data
(
10
)
xor
data
(
7
)
xor
data
(
6
)
xor
data
(
5
)
xor
data
(
3
)
xor
data
(
2
)
xor
data
(
1
)
xor
crc_i
(
0
)
xor
crc_i
(
10
)
xor
crc_i
(
11
)
xor
crc_i
(
15
)
xor
crc_i
(
16
)
xor
crc_i
(
18
)
xor
crc_i
(
19
)
xor
crc_i
(
20
)
xor
crc_i
(
21
)
xor
crc_i
(
22
)
xor
crc_i
(
23
)
xor
crc_i
(
25
)
xor
crc_i
(
26
)
xor
crc_i
(
28
)
xor
crc_i
(
30
)
;
71
crc_8T
(
14
)
<=
data
(
63
)
xor
data
(
61
)
xor
data
(
59
)
xor
data
(
58
)
xor
data
(
56
)
xor
data
(
55
)
xor
data
(
54
)
xor
data
(
53
)
xor
data
(
52
)
xor
data
(
51
)
xor
data
(
49
)
xor
data
(
48
)
xor
data
(
44
)
xor
data
(
43
)
xor
data
(
33
)
xor
data
(
32
)
xor
data
(
29
)
xor
data
(
26
)
xor
data
(
23
)
xor
data
(
20
)
xor
data
(
19
)
xor
data
(
17
)
xor
data
(
15
)
xor
data
(
14
)
xor
data
(
11
)
xor
data
(
8
)
xor
data
(
7
)
xor
data
(
6
)
xor
data
(
4
)
xor
data
(
3
)
xor
data
(
2
)
xor
crc_i
(
0
)
xor
crc_i
(
1
)
xor
crc_i
(
11
)
xor
crc_i
(
12
)
xor
crc_i
(
16
)
xor
crc_i
(
17
)
xor
crc_i
(
19
)
xor
crc_i
(
20
)
xor
crc_i
(
21
)
xor
crc_i
(
22
)
xor
crc_i
(
23
)
xor
crc_i
(
24
)
xor
crc_i
(
26
)
xor
crc_i
(
27
)
xor
crc_i
(
29
)
xor
crc_i
(
31
)
;
72
crc_8T
(
15
)
<=
data
(
62
)
xor
data
(
60
)
xor
data
(
59
)
xor
data
(
57
)
xor
data
(
56
)
xor
data
(
55
)
xor
data
(
54
)
xor
data
(
53
)
xor
data
(
52
)
xor
data
(
50
)
xor
data
(
49
)
xor
data
(
45
)
xor
data
(
44
)
xor
data
(
34
)
xor
data
(
33
)
xor
data
(
30
)
xor
data
(
27
)
xor
data
(
24
)
xor
data
(
21
)
xor
data
(
20
)
xor
data
(
18
)
xor
data
(
16
)
xor
data
(
15
)
xor
data
(
12
)
xor
data
(
9
)
xor
data
(
8
)
xor
data
(
7
)
xor
data
(
5
)
xor
data
(
4
)
xor
data
(
3
)
xor
crc_i
(
1
)
xor
crc_i
(
2
)
xor
crc_i
(
12
)
xor
crc_i
(
13
)
xor
crc_i
(
17
)
xor
crc_i
(
18
)
xor
crc_i
(
20
)
xor
crc_i
(
21
)
xor
crc_i
(
22
)
xor
crc_i
(
23
)
xor
crc_i
(
24
)
xor
crc_i
(
25
)
xor
crc_i
(
27
)
xor
crc_i
(
28
)
xor
crc_i
(
30
)
;
73
crc_8T
(
16
)
<=
data
(
57
)
xor
data
(
56
)
xor
data
(
51
)
xor
data
(
48
)
xor
data
(
47
)
xor
data
(
46
)
xor
data
(
44
)
xor
data
(
37
)
xor
data
(
35
)
xor
data
(
32
)
xor
data
(
30
)
xor
data
(
29
)
xor
data
(
26
)
xor
data
(
24
)
xor
data
(
22
)
xor
data
(
21
)
xor
data
(
19
)
xor
data
(
17
)
xor
data
(
13
)
xor
data
(
12
)
xor
data
(
8
)
xor
data
(
5
)
xor
data
(
4
)
xor
data
(
0
)
xor
crc_i
(
0
)
xor
crc_i
(
3
)
xor
crc_i
(
5
)
xor
crc_i
(
12
)
xor
crc_i
(
14
)
xor
crc_i
(
15
)
xor
crc_i
(
16
)
xor
crc_i
(
19
)
xor
crc_i
(
24
)
xor
crc_i
(
25
)
;
74
crc_8T
(
17
)
<=
data
(
58
)
xor
data
(
57
)
xor
data
(
52
)
xor
data
(
49
)
xor
data
(
48
)
xor
data
(
47
)
xor
data
(
45
)
xor
data
(
38
)
xor
data
(
36
)
xor
data
(
33
)
xor
data
(
31
)
xor
data
(
30
)
xor
data
(
27
)
xor
data
(
25
)
xor
data
(
23
)
xor
data
(
22
)
xor
data
(
20
)
xor
data
(
18
)
xor
data
(
14
)
xor
data
(
13
)
xor
data
(
9
)
xor
data
(
6
)
xor
data
(
5
)
xor
data
(
1
)
xor
crc_i
(
1
)
xor
crc_i
(
4
)
xor
crc_i
(
6
)
xor
crc_i
(
13
)
xor
crc_i
(
15
)
xor
crc_i
(
16
)
xor
crc_i
(
17
)
xor
crc_i
(
20
)
xor
crc_i
(
25
)
xor
crc_i
(
26
)
;
75
crc_8T
(
18
)
<=
data
(
59
)
xor
data
(
58
)
xor
data
(
53
)
xor
data
(
50
)
xor
data
(
49
)
xor
data
(
48
)
xor
data
(
46
)
xor
data
(
39
)
xor
data
(
37
)
xor
data
(
34
)
xor
data
(
32
)
xor
data
(
31
)
xor
data
(
28
)
xor
data
(
26
)
xor
data
(
24
)
xor
data
(
23
)
xor
data
(
21
)
xor
data
(
19
)
xor
data
(
15
)
xor
data
(
14
)
xor
data
(
10
)
xor
data
(
7
)
xor
data
(
6
)
xor
data
(
2
)
xor
crc_i
(
0
)
xor
crc_i
(
2
)
xor
crc_i
(
5
)
xor
crc_i
(
7
)
xor
crc_i
(
14
)
xor
crc_i
(
16
)
xor
crc_i
(
17
)
xor
crc_i
(
18
)
xor
crc_i
(
21
)
xor
crc_i
(
26
)
xor
crc_i
(
27
)
;
76
crc_8T
(
19
)
<=
data
(
60
)
xor
data
(
59
)
xor
data
(
54
)
xor
data
(
51
)
xor
data
(
50
)
xor
data
(
49
)
xor
data
(
47
)
xor
data
(
40
)
xor
data
(
38
)
xor
data
(
35
)
xor
data
(
33
)
xor
data
(
32
)
xor
data
(
29
)
xor
data
(
27
)
xor
data
(
25
)
xor
data
(
24
)
xor
data
(
22
)
xor
data
(
20
)
xor
data
(
16
)
xor
data
(
15
)
xor
data
(
11
)
xor
data
(
8
)
xor
data
(
7
)
xor
data
(
3
)
xor
crc_i
(
0
)
xor
crc_i
(
1
)
xor
crc_i
(
3
)
xor
crc_i
(
6
)
xor
crc_i
(
8
)
xor
crc_i
(
15
)
xor
crc_i
(
17
)
xor
crc_i
(
18
)
xor
crc_i
(
19
)
xor
crc_i
(
22
)
xor
crc_i
(
27
)
xor
crc_i
(
28
)
;
77
crc_8T
(
20
)
<=
data
(
61
)
xor
data
(
60
)
xor
data
(
55
)
xor
data
(
52
)
xor
data
(
51
)
xor
data
(
50
)
xor
data
(
48
)
xor
data
(
41
)
xor
data
(
39
)
xor
data
(
36
)
xor
data
(
34
)
xor
data
(
33
)
xor
data
(
30
)
xor
data
(
28
)
xor
data
(
26
)
xor
data
(
25
)
xor
data
(
23
)
xor
data
(
21
)
xor
data
(
17
)
xor
data
(
16
)
xor
data
(
12
)
xor
data
(
9
)
xor
data
(
8
)
xor
data
(
4
)
xor
crc_i
(
1
)
xor
crc_i
(
2
)
xor
crc_i
(
4
)
xor
crc_i
(
7
)
xor
crc_i
(
9
)
xor
crc_i
(
16
)
xor
crc_i
(
18
)
xor
crc_i
(
19
)
xor
crc_i
(
20
)
xor
crc_i
(
23
)
xor
crc_i
(
28
)
xor
crc_i
(
29
)
;
78
crc_8T
(
21
)
<=
data
(
62
)
xor
data
(
61
)
xor
data
(
56
)
xor
data
(
53
)
xor
data
(
52
)
xor
data
(
51
)
xor
data
(
49
)
xor
data
(
42
)
xor
data
(
40
)
xor
data
(
37
)
xor
data
(
35
)
xor
data
(
34
)
xor
data
(
31
)
xor
data
(
29
)
xor
data
(
27
)
xor
data
(
26
)
xor
data
(
24
)
xor
data
(
22
)
xor
data
(
18
)
xor
data
(
17
)
xor
data
(
13
)
xor
data
(
10
)
xor
data
(
9
)
xor
data
(
5
)
xor
crc_i
(
2
)
xor
crc_i
(
3
)
xor
crc_i
(
5
)
xor
crc_i
(
8
)
xor
crc_i
(
10
)
xor
crc_i
(
17
)
xor
crc_i
(
19
)
xor
crc_i
(
20
)
xor
crc_i
(
21
)
xor
crc_i
(
24
)
xor
crc_i
(
29
)
xor
crc_i
(
30
)
;
79
crc_8T
(
22
)
<=
data
(
62
)
xor
data
(
61
)
xor
data
(
60
)
xor
data
(
58
)
xor
data
(
57
)
xor
data
(
55
)
xor
data
(
52
)
xor
data
(
48
)
xor
data
(
47
)
xor
data
(
45
)
xor
data
(
44
)
xor
data
(
43
)
xor
data
(
41
)
xor
data
(
38
)
xor
data
(
37
)
xor
data
(
36
)
xor
data
(
35
)
xor
data
(
34
)
xor
data
(
31
)
xor
data
(
29
)
xor
data
(
27
)
xor
data
(
26
)
xor
data
(
24
)
xor
data
(
23
)
xor
data
(
19
)
xor
data
(
18
)
xor
data
(
16
)
xor
data
(
14
)
xor
data
(
12
)
xor
data
(
11
)
xor
data
(
9
)
xor
data
(
0
)
xor
crc_i
(
2
)
xor
crc_i
(
3
)
xor
crc_i
(
4
)
xor
crc_i
(
5
)
xor
crc_i
(
6
)
xor
crc_i
(
9
)
xor
crc_i
(
11
)
xor
crc_i
(
12
)
xor
crc_i
(
13
)
xor
crc_i
(
15
)
xor
crc_i
(
16
)
xor
crc_i
(
20
)
xor
crc_i
(
23
)
xor
crc_i
(
25
)
xor
crc_i
(
26
)
xor
crc_i
(
28
)
xor
crc_i
(
29
)
xor
crc_i
(
30
)
;
80
crc_8T
(
23
)
<=
data
(
62
)
xor
data
(
60
)
xor
data
(
59
)
xor
data
(
56
)
xor
data
(
55
)
xor
data
(
54
)
xor
data
(
50
)
xor
data
(
49
)
xor
data
(
47
)
xor
data
(
46
)
xor
data
(
42
)
xor
data
(
39
)
xor
data
(
38
)
xor
data
(
36
)
xor
data
(
35
)
xor
data
(
34
)
xor
data
(
31
)
xor
data
(
29
)
xor
data
(
27
)
xor
data
(
26
)
xor
data
(
20
)
xor
data
(
19
)
xor
data
(
17
)
xor
data
(
16
)
xor
data
(
15
)
xor
data
(
13
)
xor
data
(
9
)
xor
data
(
6
)
xor
data
(
1
)
xor
data
(
0
)
xor
crc_i
(
2
)
xor
crc_i
(
3
)
xor
crc_i
(
4
)
xor
crc_i
(
6
)
xor
crc_i
(
7
)
xor
crc_i
(
10
)
xor
crc_i
(
14
)
xor
crc_i
(
15
)
xor
crc_i
(
17
)
xor
crc_i
(
18
)
xor
crc_i
(
22
)
xor
crc_i
(
23
)
xor
crc_i
(
24
)
xor
crc_i
(
27
)
xor
crc_i
(
28
)
xor
crc_i
(
30
)
;
81
crc_8T
(
24
)
<=
data
(
63
)
xor
data
(
61
)
xor
data
(
60
)
xor
data
(
57
)
xor
data
(
56
)
xor
data
(
55
)
xor
data
(
51
)
xor
data
(
50
)
xor
data
(
48
)
xor
data
(
47
)
xor
data
(
43
)
xor
data
(
40
)
xor
data
(
39
)
xor
data
(
37
)
xor
data
(
36
)
xor
data
(
35
)
xor
data
(
32
)
xor
data
(
30
)
xor
data
(
28
)
xor
data
(
27
)
xor
data
(
21
)
xor
data
(
20
)
xor
data
(
18
)
xor
data
(
17
)
xor
data
(
16
)
xor
data
(
14
)
xor
data
(
10
)
xor
data
(
7
)
xor
data
(
2
)
xor
data
(
1
)
xor
crc_i
(
0
)
xor
crc_i
(
3
)
xor
crc_i
(
4
)
xor
crc_i
(
5
)
xor
crc_i
(
7
)
xor
crc_i
(
8
)
xor
crc_i
(
11
)
xor
crc_i
(
15
)
xor
crc_i
(
16
)
xor
crc_i
(
18
)
xor
crc_i
(
19
)
xor
crc_i
(
23
)
xor
crc_i
(
24
)
xor
crc_i
(
25
)
xor
crc_i
(
28
)
xor
crc_i
(
29
)
xor
crc_i
(
31
)
;
82
crc_8T
(
25
)
<=
data
(
62
)
xor
data
(
61
)
xor
data
(
58
)
xor
data
(
57
)
xor
data
(
56
)
xor
data
(
52
)
xor
data
(
51
)
xor
data
(
49
)
xor
data
(
48
)
xor
data
(
44
)
xor
data
(
41
)
xor
data
(
40
)
xor
data
(
38
)
xor
data
(
37
)
xor
data
(
36
)
xor
data
(
33
)
xor
data
(
31
)
xor
data
(
29
)
xor
data
(
28
)
xor
data
(
22
)
xor
data
(
21
)
xor
data
(
19
)
xor
data
(
18
)
xor
data
(
17
)
xor
data
(
15
)
xor
data
(
11
)
xor
data
(
8
)
xor
data
(
3
)
xor
data
(
2
)
xor
crc_i
(
1
)
xor
crc_i
(
4
)
xor
crc_i
(
5
)
xor
crc_i
(
6
)
xor
crc_i
(
8
)
xor
crc_i
(
9
)
xor
crc_i
(
12
)
xor
crc_i
(
16
)
xor
crc_i
(
17
)
xor
crc_i
(
19
)
xor
crc_i
(
20
)
xor
crc_i
(
24
)
xor
crc_i
(
25
)
xor
crc_i
(
26
)
xor
crc_i
(
29
)
xor
crc_i
(
30
)
;
83
crc_8T
(
26
)
<=
data
(
62
)
xor
data
(
61
)
xor
data
(
60
)
xor
data
(
59
)
xor
data
(
57
)
xor
data
(
55
)
xor
data
(
54
)
xor
data
(
52
)
xor
data
(
49
)
xor
data
(
48
)
xor
data
(
47
)
xor
data
(
44
)
xor
data
(
42
)
xor
data
(
41
)
xor
data
(
39
)
xor
data
(
38
)
xor
data
(
31
)
xor
data
(
28
)
xor
data
(
26
)
xor
data
(
25
)
xor
data
(
24
)
xor
data
(
23
)
xor
data
(
22
)
xor
data
(
20
)
xor
data
(
19
)
xor
data
(
18
)
xor
data
(
10
)
xor
data
(
6
)
xor
data
(
4
)
xor
data
(
3
)
xor
data
(
0
)
xor
crc_i
(
6
)
xor
crc_i
(
7
)
xor
crc_i
(
9
)
xor
crc_i
(
10
)
xor
crc_i
(
12
)
xor
crc_i
(
15
)
xor
crc_i
(
16
)
xor
crc_i
(
17
)
xor
crc_i
(
20
)
xor
crc_i
(
22
)
xor
crc_i
(
23
)
xor
crc_i
(
25
)
xor
crc_i
(
27
)
xor
crc_i
(
28
)
xor
crc_i
(
29
)
xor
crc_i
(
30
)
;
84
crc_8T
(
27
)
<=
data
(
63
)
xor
data
(
62
)
xor
data
(
61
)
xor
data
(
60
)
xor
data
(
58
)
xor
data
(
56
)
xor
data
(
55
)
xor
data
(
53
)
xor
data
(
50
)
xor
data
(
49
)
xor
data
(
48
)
xor
data
(
45
)
xor
data
(
43
)
xor
data
(
42
)
xor
data
(
40
)
xor
data
(
39
)
xor
data
(
32
)
xor
data
(
29
)
xor
data
(
27
)
xor
data
(
26
)
xor
data
(
25
)
xor
data
(
24
)
xor
data
(
23
)
xor
data
(
21
)
xor
data
(
20
)
xor
data
(
19
)
xor
data
(
11
)
xor
data
(
7
)
xor
data
(
5
)
xor
data
(
4
)
xor
data
(
1
)
xor
crc_i
(
0
)
xor
crc_i
(
7
)
xor
crc_i
(
8
)
xor
crc_i
(
10
)
xor
crc_i
(
11
)
xor
crc_i
(
13
)
xor
crc_i
(
16
)
xor
crc_i
(
17
)
xor
crc_i
(
18
)
xor
crc_i
(
21
)
xor
crc_i
(
23
)
xor
crc_i
(
24
)
xor
crc_i
(
26
)
xor
crc_i
(
28
)
xor
crc_i
(
29
)
xor
crc_i
(
30
)
xor
crc_i
(
31
)
;
85
crc_8T
(
28
)
<=
data
(
63
)
xor
data
(
62
)
xor
data
(
61
)
xor
data
(
59
)
xor
data
(
57
)
xor
data
(
56
)
xor
data
(
54
)
xor
data
(
51
)
xor
data
(
50
)
xor
data
(
49
)
xor
data
(
46
)
xor
data
(
44
)
xor
data
(
43
)
xor
data
(
41
)
xor
data
(
40
)
xor
data
(
33
)
xor
data
(
30
)
xor
data
(
28
)
xor
data
(
27
)
xor
data
(
26
)
xor
data
(
25
)
xor
data
(
24
)
xor
data
(
22
)
xor
data
(
21
)
xor
data
(
20
)
xor
data
(
12
)
xor
data
(
8
)
xor
data
(
6
)
xor
data
(
5
)
xor
data
(
2
)
xor
crc_i
(
1
)
xor
crc_i
(
8
)
xor
crc_i
(
9
)
xor
crc_i
(
11
)
xor
crc_i
(
12
)
xor
crc_i
(
14
)
xor
crc_i
(
17
)
xor
crc_i
(
18
)
xor
crc_i
(
19
)
xor
crc_i
(
22
)
xor
crc_i
(
24
)
xor
crc_i
(
25
)
xor
crc_i
(
27
)
xor
crc_i
(
29
)
xor
crc_i
(
30
)
xor
crc_i
(
31
)
;
86
crc_8T
(
29
)
<=
data
(
63
)
xor
data
(
62
)
xor
data
(
60
)
xor
data
(
58
)
xor
data
(
57
)
xor
data
(
55
)
xor
data
(
52
)
xor
data
(
51
)
xor
data
(
50
)
xor
data
(
47
)
xor
data
(
45
)
xor
data
(
44
)
xor
data
(
42
)
xor
data
(
41
)
xor
data
(
34
)
xor
data
(
31
)
xor
data
(
29
)
xor
data
(
28
)
xor
data
(
27
)
xor
data
(
26
)
xor
data
(
25
)
xor
data
(
23
)
xor
data
(
22
)
xor
data
(
21
)
xor
data
(
13
)
xor
data
(
9
)
xor
data
(
7
)
xor
data
(
6
)
xor
data
(
3
)
xor
crc_i
(
2
)
xor
crc_i
(
9
)
xor
crc_i
(
10
)
xor
crc_i
(
12
)
xor
crc_i
(
13
)
xor
crc_i
(
15
)
xor
crc_i
(
18
)
xor
crc_i
(
19
)
xor
crc_i
(
20
)
xor
crc_i
(
23
)
xor
crc_i
(
25
)
xor
crc_i
(
26
)
xor
crc_i
(
28
)
xor
crc_i
(
30
)
xor
crc_i
(
31
)
;
87
crc_8T
(
30
)
<=
data
(
63
)
xor
data
(
61
)
xor
data
(
59
)
xor
data
(
58
)
xor
data
(
56
)
xor
data
(
53
)
xor
data
(
52
)
xor
data
(
51
)
xor
data
(
48
)
xor
data
(
46
)
xor
data
(
45
)
xor
data
(
43
)
xor
data
(
42
)
xor
data
(
35
)
xor
data
(
32
)
xor
data
(
30
)
xor
data
(
29
)
xor
data
(
28
)
xor
data
(
27
)
xor
data
(
26
)
xor
data
(
24
)
xor
data
(
23
)
xor
data
(
22
)
xor
data
(
14
)
xor
data
(
10
)
xor
data
(
8
)
xor
data
(
7
)
xor
data
(
4
)
xor
crc_i
(
0
)
xor
crc_i
(
3
)
xor
crc_i
(
10
)
xor
crc_i
(
11
)
xor
crc_i
(
13
)
xor
crc_i
(
14
)
xor
crc_i
(
16
)
xor
crc_i
(
19
)
xor
crc_i
(
20
)
xor
crc_i
(
21
)
xor
crc_i
(
24
)
xor
crc_i
(
26
)
xor
crc_i
(
27
)
xor
crc_i
(
29
)
xor
crc_i
(
31
)
;
88
crc_8T
(
31
)
<=
data
(
62
)
xor
data
(
60
)
xor
data
(
59
)
xor
data
(
57
)
xor
data
(
54
)
xor
data
(
53
)
xor
data
(
52
)
xor
data
(
49
)
xor
data
(
47
)
xor
data
(
46
)
xor
data
(
44
)
xor
data
(
43
)
xor
data
(
36
)
xor
data
(
33
)
xor
data
(
31
)
xor
data
(
30
)
xor
data
(
29
)
xor
data
(
28
)
xor
data
(
27
)
xor
data
(
25
)
xor
data
(
24
)
xor
data
(
23
)
xor
data
(
15
)
xor
data
(
11
)
xor
data
(
9
)
xor
data
(
8
)
xor
data
(
5
)
xor
crc_i
(
1
)
xor
crc_i
(
4
)
xor
crc_i
(
11
)
xor
crc_i
(
12
)
xor
crc_i
(
14
)
xor
crc_i
(
15
)
xor
crc_i
(
17
)
xor
crc_i
(
20
)
xor
crc_i
(
21
)
xor
crc_i
(
22
)
xor
crc_i
(
25
)
xor
crc_i
(
27
)
xor
crc_i
(
28
)
xor
crc_i
(
30
)
;
89
90
91
crc_gen_process :
PROCESS
(clock)
92
BEGIN
93
IF
rising_edge
(
clock
)
THEN
94
IF
reset
=
'
1
'
then
95
crc_rT
<=
(
others
=
>
'
1
'
)
;
96
ELSIF
(
data_valid
=
'
1
'
)
THEN
97
crc_rT
<=
crc_8T
;
98
END
IF
;
99
End_of_crc
<=
eoc
and
data_valid
;
100
101
END
IF
;
102
END
PROCESS
crc_gen_process
;
103
104
crc_valid
<=
End_of_crc
;
105
crc
<=
crc_rT
;
106
107
108
END
behave
;
Generated on Wed Apr 18 2018 10:55:25 for AMC13 by
1.8.1