AMC13
Firmwares for the different applications of the AMC13 uTCA board made at Boston University
 All Classes Variables
EthernetCRCD64.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: 8
15 --
16 -- Info : tools@easics.be
17 -- http://www.easics.com
18 --------------------------------------------------------------------------------
19 ----------------------------------------------------------------------------------
20 -- Company:
21 -- Engineer:
22 --
23 -- Create Date: 13:20:34 12/01/2011
24 -- Design Name:
25 -- Module Name: EthernetCRC - Behavioral
26 -- Project Name:
27 -- Target Devices:
28 -- Tool versions:
29 -- !!!DISCLAIMER !!!DISCLAIMER !!!DISCLAIMER !!!DISCLAIMER !!!DISCLAIMER !!!DISCLAIMER !!!DISCLAIMER !!!DISCLAIMER
30 -- This module is provided only as an example, no correctness or any usefullness is implied.
31 -- Use of it is at users' own risk.
32 -- Do not remove this disclaimer.
33 -- !!!DISCLAIMER !!!DISCLAIMER !!!DISCLAIMER !!!DISCLAIMER !!!DISCLAIMER !!!DISCLAIMER !!!DISCLAIMER !!!DISCLAIMER
34 -- Description: Ethernet CRC calculation, derived from PCK_CRC32_D8 generated using easics.com tools
35 --
36 -- Dependencies:
37 --
38 -- Revision:
39 -- Revision 0.01 - File Created
40 -- Additional Comments:
41 --
42 ----------------------------------------------------------------------------------
43 library IEEE;
44 use IEEE.STD_LOGIC_1164.ALL;
45 
46 -- Uncomment the following library declaration if using
47 -- arithmetic functions with Signed or Unsigned values
48 --use IEEE.NUMERIC_STD.ALL;
49 
50 -- Uncomment the following library declaration if instantiating
51 -- any Xilinx primitives in this code.
52 --library UNISIM;
53 --use UNISIM.VComponents.all;
54 
55 entity EthernetCRCD64 is
56  Port ( clk : in STD_LOGIC;
57  init : in STD_LOGIC;
58  init_crc : in STD_LOGIC_VECTOR (31 downto 0);
59  ce : in STD_LOGIC;
60  trailer : in STD_LOGIC;
61  d : in STD_LOGIC_VECTOR (63 downto 0);
62  crc : out STD_LOGIC_VECTOR (31 downto 0);
63  bad_crc : out STD_LOGIC
64  );
65 end EthernetCRCD64;
66 
67 architecture Behavioral of EthernetCRCD64 is
68 constant crc_R : std_logic_vector(31 downto 0) := x"c704dd7b";
69 signal c : std_logic_vector(31 downto 0) := (others => '0');
70 signal di : std_logic_vector(63 downto 0) := (others => '0');
71 begin
72 process(c,d)
73 begin
74  for i in 0 to 31 loop
75  crc(i) <= not c(31-i);
76  end loop;
77  for i in 0 to 63 loop
78  di(i) <= d(63-i);
79  end loop;
80 end process;
81 bad_crc <= '0' when c = crc_R else '1';
82 process(clk)
83 begin
84  if(clk'event and clk = '1')then
85  if(init = '1')then
86  c <= init_crc;
87  elsif(ce = '1')then
88  if(trailer = '0')then
89  c(0) <= di(63) xor di(61) xor di(60) xor di(58) xor di(55) xor di(54) xor di(53) xor di(50) xor di(48) xor di(47) xor
90  di(45) xor di(44) xor di(37) xor di(34) xor di(32) xor
91  di(31) xor di(30) xor di(29) xor di(28) xor di(26) xor di(25) xor di(24) xor di(16) xor di(12) xor di(10) xor di(9) xor di(6) xor di(0) xor c(0) xor c(2) xor c(5) xor c(12) xor c(13) xor c(15) xor c(16) xor c(18) xor c(21) xor c(22) xor c(23) xor c(26) xor c(28) xor c(29) xor c(31);
92  c(1) <= di(63) xor di(62) xor di(60) xor di(59) xor di(58) xor di(56) xor di(53) xor di(51) xor di(50) xor di(49) xor
93  di(47) xor di(46) xor di(44) xor di(38) xor di(37) xor di(35) xor di(34) xor di(33) xor
94  di(28) xor di(27) xor di(24) xor di(17) xor di(16) xor di(13) xor di(12) xor di(11) xor di(9) xor di(7) xor di(6) xor di(1) xor di(0) xor c(1) xor c(2) xor c(3) xor c(5) xor c(6) xor c(12) xor c(14) xor c(15) xor c(17) xor c(18) xor c(19) xor c(21) xor c(24) xor c(26) xor c(27) xor c(28) xor c(30) xor c(31);
95  c(2) <= di(59) xor di(58) xor di(57) xor di(55) xor di(53) xor di(52) xor di(51) xor di(44) xor di(39) xor di(38) xor
96  di(37) xor di(36) xor di(35) xor di(32) xor
97  di(31) xor di(30) xor di(26) xor di(24) xor di(18) xor di(17) xor di(16) xor di(14) xor di(13) xor di(9) xor di(8) xor di(7) xor di(6) xor di(2) xor di(1) xor di(0) xor c(0) xor c(3) xor c(4) xor c(5) xor c(6) xor c(7) xor c(12) xor c(19) xor c(20) xor c(21) xor c(23) xor c(25) xor c(26) xor c(27);
98  c(3) <= di(60) xor di(59) xor di(58) xor di(56) xor di(54) xor di(53) xor di(52) xor di(45) xor di(40) xor di(39) xor
99  di(38) xor di(37) xor di(36) xor di(33) xor di(32) xor
100  di(31) xor di(27) xor di(25) xor di(19) xor di(18) xor di(17) xor di(15) xor di(14) xor di(10) xor di(9) xor di(8) xor di(7) xor di(3) xor di(2) xor di(1) xor c(0) xor c(1) xor c(4) xor c(5) xor c(6) xor c(7) xor c(8) xor c(13) xor c(20) xor c(21) xor c(22) xor c(24) xor c(26) xor c(27) xor c(28);
101  c(4) <= di(63) xor di(59) xor di(58) xor di(57) xor di(50) xor di(48) xor di(47) xor di(46) xor di(45) xor di(44) xor
102  di(41) xor di(40) xor di(39) xor di(38) xor di(33) xor
103  di(31) xor di(30) xor di(29) xor di(25) xor di(24) xor di(20) xor di(19) xor di(18) xor di(15) xor di(12) xor di(11) xor di(8) xor di(6) xor di(4) xor di(3) xor di(2) xor di(0) xor c(1) xor c(6) xor c(7) xor c(8) xor c(9) xor c(12) xor c(13) xor c(14) xor c(15) xor c(16) xor c(18) xor c(25) xor c(26) xor c(27) xor c(31);
104  c(5) <= di(63) xor di(61) xor di(59) xor di(55) xor di(54) xor di(53) xor di(51) xor di(50) xor di(49) xor di(46) xor
105  di(44) xor di(42) xor di(41) xor di(40) xor di(39) xor di(37) xor
106  di(29) xor di(28) xor di(24) xor di(21) xor di(20) xor di(19) xor di(13) xor di(10) xor di(7) xor di(6) xor di(5) xor di(4) xor di(3) xor di(1) xor di(0) xor c(5) xor c(7) xor c(8) xor c(9) xor c(10) xor c(12) xor c(14) xor c(17) xor c(18) xor c(19) xor c(21) xor c(22) xor c(23) xor c(27) xor c(29) xor c(31);
107  c(6) <= di(62) xor di(60) xor di(56) xor di(55) xor di(54) xor di(52) xor di(51) xor di(50) xor di(47) xor di(45) xor
108  di(43) xor di(42) xor di(41) xor di(40) xor di(38) xor
109  di(30) xor di(29) xor di(25) xor di(22) xor di(21) xor di(20) xor di(14) xor di(11) xor di(8) xor di(7) xor di(6) xor di(5) xor di(4) xor di(2) xor di(1) xor c(6) xor c(8) xor c(9) xor c(10) xor c(11) xor c(13) xor c(15) xor c(18) xor c(19) xor c(20) xor c(22) xor c(23) xor c(24) xor c(28) xor c(30);
110  c(7) <= di(60) xor di(58) xor di(57) xor di(56) xor di(54) xor di(52) xor di(51) xor di(50) xor di(47) xor di(46) xor
111  di(45) xor di(43) xor di(42) xor di(41) xor di(39) xor di(37) xor di(34) xor di(32) xor
112  di(29) xor di(28) xor di(25) xor di(24) xor di(23) xor di(22) xor di(21) xor di(16) xor di(15) xor di(10) xor di(8) xor di(7) xor di(5) xor di(3) xor di(2) xor di(0) xor c(0) xor c(2) xor c(5) xor c(7) xor c(9) xor c(10) xor c(11) xor c(13) xor c(14) xor c(15) xor c(18) xor c(19) xor c(20) xor c(22) xor c(24) xor c(25) xor c(26) xor c(28);
113  c(8) <= di(63) xor di(60) xor di(59) xor di(57) xor di(54) xor di(52) xor di(51) xor di(50) xor di(46) xor di(45) xor
114  di(43) xor di(42) xor di(40) xor di(38) xor di(37) xor di(35) xor di(34) xor di(33) xor di(32) xor
115  di(31) xor di(28) xor di(23) xor di(22) xor di(17) xor di(12) xor di(11) xor di(10) xor di(8) xor di(4) xor di(3) xor di(1) xor di(0) xor c(0) xor c(1) xor c(2) xor c(3) xor c(5) xor c(6) xor c(8) xor c(10) xor c(11) xor c(13) xor c(14) xor c(18) xor c(19) xor c(20) xor c(22) xor c(25) xor c(27) xor c(28) xor c(31);
116  c(9) <= di(61) xor di(60) xor di(58) xor di(55) xor di(53) xor di(52) xor di(51) xor di(47) xor di(46) xor di(44) xor
117  di(43) xor di(41) xor di(39) xor di(38) xor di(36) xor di(35) xor di(34) xor di(33) xor di(32) xor
118  di(29) xor di(24) xor di(23) xor di(18) xor di(13) xor di(12) xor di(11) xor di(9) xor di(5) xor di(4) xor di(2) xor di(1) xor c(0) xor c(1) xor c(2) xor c(3) xor c(4) xor c(6) xor c(7) xor c(9) xor c(11) xor c(12) xor c(14) xor c(15) xor c(19) xor c(20) xor c(21) xor c(23) xor c(26) xor c(28) xor c(29);
119  c(10) <= di(63) xor di(62) xor di(60) xor di(59) xor di(58) xor di(56) xor di(55) xor di(52) xor di(50) xor di(42) xor
120  di(40) xor di(39) xor di(36) xor di(35) xor di(33) xor di(32) xor
121  di(31) xor di(29) xor di(28) xor di(26) xor di(19) xor di(16) xor di(14) xor di(13) xor di(9) xor di(5) xor di(3) xor di(2) xor di(0) xor c(0) xor c(1) xor c(3) xor c(4) xor c(7) xor c(8) xor c(10) xor c(18) xor c(20) xor c(23) xor c(24) xor c(26) xor c(27) xor c(28) xor c(30) xor c(31);
122  c(11) <= di(59) xor di(58) xor di(57) xor di(56) xor di(55) xor di(54) xor di(51) xor di(50) xor di(48) xor di(47) xor
123  di(45) xor di(44) xor di(43) xor di(41) xor di(40) xor di(36) xor di(33) xor
124  di(31) xor di(28) xor di(27) xor di(26) xor di(25) xor di(24) xor di(20) xor di(17) xor di(16) xor di(15) xor di(14) xor di(12) xor di(9) xor di(4) xor di(3) xor di(1) xor di(0) xor c(1) xor c(4) xor c(8) xor c(9) xor c(11) xor c(12) xor c(13) xor c(15) xor c(16) xor c(18) xor c(19) xor c(22) xor c(23) xor c(24) xor c(25) xor c(26) xor c(27);
125  c(12) <= di(63) xor di(61) xor di(59) xor di(57) xor di(56) xor di(54) xor di(53) xor di(52) xor di(51) xor di(50) xor
126  di(49) xor di(47) xor di(46) xor di(42) xor di(41) xor
127  di(31) xor di(30) xor di(27) xor di(24) xor di(21) xor di(18) xor di(17) xor di(15) xor di(13) xor di(12) xor di(9) xor di(6) xor di(5) xor di(4) xor di(2) xor di(1) xor di(0) xor c(9) xor c(10) xor c(14) xor c(15) xor c(17) xor c(18) xor c(19) xor c(20) xor c(21) xor c(22) xor c(24) xor c(25) xor c(27) xor c(29) xor c(31);
128  c(13) <= di(62) xor di(60) xor di(58) xor di(57) xor di(55) xor di(54) xor di(53) xor di(52) xor di(51) xor di(50) xor
129  di(48) xor di(47) xor di(43) xor di(42) xor di(32) xor
130  di(31) xor di(28) xor di(25) xor di(22) xor di(19) xor di(18) xor di(16) xor di(14) xor di(13) xor di(10) xor di(7) xor di(6) xor di(5) xor di(3) xor di(2) xor di(1) xor c(0) xor c(10) xor c(11) xor c(15) xor c(16) xor c(18) xor c(19) xor c(20) xor c(21) xor c(22) xor c(23) xor c(25) xor c(26) xor c(28) xor c(30);
131  c(14) <= di(63) xor di(61) xor di(59) xor di(58) xor di(56) xor di(55) xor di(54) xor di(53) xor di(52) xor di(51) xor
132  di(49) xor di(48) xor di(44) xor di(43) xor di(33) xor di(32) xor
133  di(29) xor di(26) xor di(23) xor di(20) xor di(19) xor di(17) xor di(15) xor di(14) xor di(11) xor di(8) xor di(7) xor di(6) xor di(4) xor di(3) xor di(2) xor c(0) xor c(1) xor c(11) xor c(12) xor c(16) xor c(17) xor c(19) xor c(20) xor c(21) xor c(22) xor c(23) xor c(24) xor c(26) xor c(27) xor c(29) xor c(31);
134  c(15) <= di(62) xor di(60) xor di(59) xor di(57) xor di(56) xor di(55) xor di(54) xor di(53) xor di(52) xor di(50) xor
135  di(49) xor di(45) xor di(44) xor di(34) xor di(33) xor
136  di(30) xor di(27) xor di(24) xor di(21) xor di(20) xor di(18) xor di(16) xor di(15) xor di(12) xor di(9) xor di(8) xor di(7) xor di(5) xor di(4) xor di(3) xor c(1) xor c(2) xor c(12) xor c(13) xor c(17) xor c(18) xor c(20) xor c(21) xor c(22) xor c(23) xor c(24) xor c(25) xor c(27) xor c(28) xor c(30);
137  c(16) <= di(57) xor di(56) xor di(51) xor di(48) xor di(47) xor di(46) xor di(44) xor di(37) xor di(35) xor di(32) xor
138  di(30) xor di(29) xor di(26) xor di(24) xor di(22) xor di(21) xor di(19) xor di(17) xor di(13) xor di(12) xor di(8) xor di(5) xor di(4) xor di(0) xor c(0) xor c(3) xor c(5) xor c(12) xor c(14) xor c(15) xor c(16) xor c(19) xor c(24) xor c(25);
139  c(17) <= di(58) xor di(57) xor di(52) xor di(49) xor di(48) xor di(47) xor di(45) xor di(38) xor di(36) xor di(33) xor
140  di(31) xor di(30) xor di(27) xor di(25) xor di(23) xor di(22) xor di(20) xor di(18) xor di(14) xor di(13) xor di(9) xor di(6) xor di(5) xor di(1) xor c(1) xor c(4) xor c(6) xor c(13) xor c(15) xor c(16) xor c(17) xor c(20) xor c(25) xor c(26);
141  c(18) <= di(59) xor di(58) xor di(53) xor di(50) xor di(49) xor di(48) xor di(46) xor di(39) xor di(37) xor di(34) xor
142  di(32) xor
143  di(31) xor di(28) xor di(26) xor di(24) xor di(23) xor di(21) xor di(19) xor di(15) xor di(14) xor di(10) xor di(7) xor di(6) xor di(2) xor c(0) xor c(2) xor c(5) xor c(7) xor c(14) xor c(16) xor c(17) xor c(18) xor c(21) xor c(26) xor c(27);
144  c(19) <= di(60) xor di(59) xor di(54) xor di(51) xor di(50) xor di(49) xor di(47) xor di(40) xor di(38) xor di(35) xor
145  di(33) xor di(32) xor
146  di(29) xor di(27) xor di(25) xor di(24) xor di(22) xor di(20) xor di(16) xor di(15) xor di(11) xor di(8) xor di(7) xor di(3) xor c(0) xor c(1) xor c(3) xor c(6) xor c(8) xor c(15) xor c(17) xor c(18) xor c(19) xor c(22) xor c(27) xor c(28);
147  c(20) <= di(61) xor di(60) xor di(55) xor di(52) xor di(51) xor di(50) xor di(48) xor di(41) xor di(39) xor di(36) xor
148  di(34) xor di(33) xor
149  di(30) xor di(28) xor di(26) xor di(25) xor di(23) xor di(21) xor di(17) xor di(16) xor di(12) xor di(9) xor di(8) xor di(4) xor c(1) xor c(2) xor c(4) xor c(7) xor c(9) xor c(16) xor c(18) xor c(19) xor c(20) xor c(23) xor c(28) xor c(29);
150  c(21) <= di(62) xor di(61) xor di(56) xor di(53) xor di(52) xor di(51) xor di(49) xor di(42) xor di(40) xor di(37) xor
151  di(35) xor di(34) xor
152  di(31) xor di(29) xor di(27) xor di(26) xor di(24) xor di(22) xor di(18) xor di(17) xor di(13) xor di(10) xor di(9) xor di(5) xor c(2) xor c(3) xor c(5) xor c(8) xor c(10) xor c(17) xor c(19) xor c(20) xor c(21) xor c(24) xor c(29) xor c(30);
153  c(22) <= di(62) xor di(61) xor di(60) xor di(58) xor di(57) xor di(55) xor di(52) xor di(48) xor di(47) xor di(45) xor
154  di(44) xor di(43) xor di(41) xor di(38) xor di(37) xor di(36) xor di(35) xor di(34) xor
155  di(31) xor di(29) xor di(27) xor di(26) xor di(24) xor di(23) xor di(19) xor di(18) xor di(16) xor di(14) xor di(12) xor di(11) xor di(9) xor di(0) xor c(2) xor c(3) xor c(4) xor c(5) xor c(6) xor c(9) xor c(11) xor c(12) xor c(13) xor c(15) xor c(16) xor c(20) xor c(23) xor c(25) xor c(26) xor c(28) xor c(29) xor c(30);
156  c(23) <= di(62) xor di(60) xor di(59) xor di(56) xor di(55) xor di(54) xor di(50) xor di(49) xor di(47) xor di(46) xor
157  di(42) xor di(39) xor di(38) xor di(36) xor di(35) xor di(34) xor
158  di(31) xor di(29) xor di(27) xor di(26) xor di(20) xor di(19) xor di(17) xor di(16) xor di(15) xor di(13) xor di(9) xor di(6) xor di(1) xor di(0) xor c(2) xor c(3) xor c(4) xor c(6) xor c(7) xor c(10) xor c(14) xor c(15) xor c(17) xor c(18) xor c(22) xor c(23) xor c(24) xor c(27) xor c(28) xor c(30);
159  c(24) <= di(63) xor di(61) xor di(60) xor di(57) xor di(56) xor di(55) xor di(51) xor di(50) xor di(48) xor di(47) xor
160  di(43) xor di(40) xor di(39) xor di(37) xor di(36) xor di(35) xor di(32) xor
161  di(30) xor di(28) xor di(27) xor di(21) xor di(20) xor di(18) xor di(17) xor di(16) xor di(14) xor di(10) xor di(7) xor di(2) xor di(1) xor c(0) xor c(3) xor c(4) xor c(5) xor c(7) xor c(8) xor c(11) xor c(15) xor c(16) xor c(18) xor c(19) xor c(23) xor c(24) xor c(25) xor c(28) xor c(29) xor c(31);
162  c(25) <= di(62) xor di(61) xor di(58) xor di(57) xor di(56) xor di(52) xor di(51) xor di(49) xor di(48) xor di(44) xor
163  di(41) xor di(40) xor di(38) xor di(37) xor di(36) xor di(33) xor
164  di(31) xor di(29) xor di(28) xor di(22) xor di(21) xor di(19) xor di(18) xor di(17) xor di(15) xor di(11) xor di(8) xor di(3) xor di(2) xor c(1) xor c(4) xor c(5) xor c(6) xor c(8) xor c(9) xor c(12) xor c(16) xor c(17) xor c(19) xor c(20) xor c(24) xor c(25) xor c(26) xor c(29) xor c(30);
165  c(26) <= di(62) xor di(61) xor di(60) xor di(59) xor di(57) xor di(55) xor di(54) xor di(52) xor di(49) xor di(48) xor
166  di(47) xor di(44) xor di(42) xor di(41) xor di(39) xor di(38) xor
167  di(31) xor di(28) xor di(26) xor di(25) xor di(24) xor di(23) xor di(22) xor di(20) xor di(19) xor di(18) xor di(10) xor di(6) xor di(4) xor di(3) xor di(0) xor c(6) xor c(7) xor c(9) xor c(10) xor c(12) xor c(15) xor c(16) xor c(17) xor c(20) xor c(22) xor c(23) xor c(25) xor c(27) xor c(28) xor c(29) xor c(30);
168  c(27) <= di(63) xor di(62) xor di(61) xor di(60) xor di(58) xor di(56) xor di(55) xor di(53) xor di(50) xor di(49) xor
169  di(48) xor di(45) xor di(43) xor di(42) xor di(40) xor di(39) xor di(32) xor
170  di(29) xor di(27) xor di(26) xor di(25) xor di(24) xor di(23) xor di(21) xor di(20) xor di(19) xor di(11) xor di(7) xor di(5) xor di(4) xor di(1) xor c(0) xor c(7) xor c(8) xor c(10) xor c(11) xor c(13) xor c(16) xor c(17) xor c(18) xor c(21) xor c(23) xor c(24) xor c(26) xor c(28) xor c(29) xor c(30) xor c(31);
171  c(28) <= di(63) xor di(62) xor di(61) xor di(59) xor di(57) xor di(56) xor di(54) xor di(51) xor di(50) xor di(49) xor
172  di(46) xor di(44) xor di(43) xor di(41) xor di(40) xor di(33) xor
173  di(30) xor di(28) xor di(27) xor di(26) xor di(25) xor di(24) xor di(22) xor di(21) xor di(20) xor di(12) xor di(8) xor di(6) xor di(5) xor di(2) xor c(1) xor c(8) xor c(9) xor c(11) xor c(12) xor c(14) xor c(17) xor c(18) xor c(19) xor c(22) xor c(24) xor c(25) xor c(27) xor c(29) xor c(30) xor c(31);
174  c(29) <= di(63) xor di(62) xor di(60) xor di(58) xor di(57) xor di(55) xor di(52) xor di(51) xor di(50) xor di(47) xor
175  di(45) xor di(44) xor di(42) xor di(41) xor di(34) xor
176  di(31) xor di(29) xor di(28) xor di(27) xor di(26) xor di(25) xor di(23) xor di(22) xor di(21) xor di(13) xor di(9) xor di(7) xor di(6) xor di(3) xor c(2) xor c(9) xor c(10) xor c(12) xor c(13) xor c(15) xor c(18) xor c(19) xor c(20) xor c(23) xor c(25) xor c(26) xor c(28) xor c(30) xor c(31);
177  c(30) <= di(63) xor di(61) xor di(59) xor di(58) xor di(56) xor di(53) xor di(52) xor di(51) xor di(48) xor di(46) xor
178  di(45) xor di(43) xor di(42) xor di(35) xor di(32) xor
179  di(30) xor di(29) xor di(28) xor di(27) xor di(26) xor di(24) xor di(23) xor di(22) xor di(14) xor di(10) xor di(8) xor di(7) xor di(4) xor c(0) xor c(3) xor c(10) xor c(11) xor c(13) xor c(14) xor c(16) xor c(19) xor c(20) xor c(21) xor c(24) xor c(26) xor c(27) xor c(29) xor c(31);
180  c(31) <= di(62) xor di(60) xor di(59) xor di(57) xor di(54) xor di(53) xor di(52) xor di(49) xor di(47) xor di(46) xor
181  di(44) xor di(43) xor di(36) xor di(33) xor
182  di(31) xor di(30) xor di(29) xor di(28) xor di(27) xor di(25) xor di(24) xor di(23) xor di(15) xor di(11) xor di(9) xor di(8) xor di(5) xor c(1) xor c(4) xor c(11) xor c(12) xor c(14) xor c(15) xor c(17) xor c(20) xor c(21) xor c(22) xor c(25) xor c(27) xor c(28) xor c(30);
183  else
184  c(0) <= di(63) xor di(62) xor di(61) xor di(60) xor di(58) xor di(57) xor di(56) xor di(48) xor di(44) xor di(42) xor di(41) xor di(38) xor di(32) xor c(0) xor c(6) xor c(9) xor c(10) xor c(12) xor c(16) xor c(24) xor c(25) xor c(26) xor c(28) xor c(29) xor c(30) xor c(31);
185  c(1) <= di(60) xor di(59) xor di(56) xor di(49) xor di(48) xor di(45) xor di(44) xor di(43) xor di(41) xor di(39) xor di(38) xor di(33) xor di(32) xor c(0) xor c(1) xor c(6) xor c(7) xor c(9) xor c(11) xor c(12) xor c(13) xor c(16) xor c(17) xor c(24) xor c(27) xor c(28);
186  c(2) <= di(63) xor di(62) xor di(58) xor di(56) xor di(50) xor di(49) xor di(48) xor di(46) xor di(45) xor di(41) xor di(40) xor di(39) xor di(38) xor di(34) xor di(33) xor di(32) xor c(0) xor c(1) xor c(2) xor c(6) xor c(7) xor c(8) xor c(9) xor c(13) xor c(14) xor c(16) xor c(17) xor c(18) xor c(24) xor c(26) xor c(30) xor c(31);
187  c(3) <= di(63) xor di(59) xor di(57) xor di(51) xor di(50) xor di(49) xor di(47) xor di(46) xor di(42) xor di(41) xor di(40) xor di(39) xor di(35) xor di(34) xor di(33) xor c(1) xor c(2) xor c(3) xor c(7) xor c(8) xor c(9) xor c(10) xor c(14) xor c(15) xor c(17) xor c(18) xor c(19) xor c(25) xor c(27) xor c(31);
188  c(4) <= di(63) xor di(62) xor di(61) xor di(57) xor di(56) xor di(52) xor di(51) xor di(50) xor di(47) xor di(44) xor di(43) xor di(40) xor di(38) xor di(36) xor di(35) xor di(34) xor di(32) xor c(0) xor c(2) xor c(3) xor c(4) xor c(6) xor c(8) xor c(11) xor c(12) xor c(15) xor c(18) xor c(19) xor c(20) xor c(24) xor c(25) xor c(29) xor c(30) xor c(31);
189  c(5) <= di(61) xor di(60) xor di(56) xor di(53) xor di(52) xor di(51) xor di(45) xor di(42) xor di(39) xor di(38) xor di(37) xor di(36) xor di(35) xor di(33) xor di(32) xor c(0) xor c(1) xor c(3) xor c(4) xor c(5) xor c(6) xor c(7) xor c(10) xor c(13) xor c(19) xor c(20) xor c(21) xor c(24) xor c(28) xor c(29);
190  c(6) <= di(62) xor di(61) xor di(57) xor di(54) xor di(53) xor di(52) xor di(46) xor di(43) xor di(40) xor di(39) xor di(38) xor di(37) xor di(36) xor di(34) xor di(33) xor c(1) xor c(2) xor c(4) xor c(5) xor c(6) xor c(7) xor c(8) xor c(11) xor c(14) xor c(20) xor c(21) xor c(22) xor c(25) xor c(29) xor c(30);
191  c(7) <= di(61) xor di(60) xor di(57) xor di(56) xor di(55) xor di(54) xor di(53) xor di(48) xor di(47) xor di(42) xor di(40) xor di(39) xor di(37) xor di(35) xor di(34) xor di(32) xor c(0) xor c(2) xor c(3) xor c(5) xor c(7) xor c(8) xor c(10) xor c(15) xor c(16) xor c(21) xor c(22) xor c(23) xor c(24) xor c(25) xor c(28) xor c(29);
192  c(8) <= di(63) xor di(60) xor di(55) xor di(54) xor di(49) xor di(44) xor di(43) xor di(42) xor di(40) xor di(36) xor di(35) xor di(33) xor di(32) xor c(0) xor c(1) xor c(3) xor c(4) xor c(8) xor c(10) xor c(11) xor c(12) xor c(17) xor c(22) xor c(23) xor c(28) xor c(31);
193  c(9) <= di(61) xor di(56) xor di(55) xor di(50) xor di(45) xor di(44) xor di(43) xor di(41) xor di(37) xor di(36) xor di(34) xor di(33) xor c(1) xor c(2) xor c(4) xor c(5) xor c(9) xor c(11) xor c(12) xor c(13) xor c(18) xor c(23) xor c(24) xor c(29);
194  c(10) <= di(63) xor di(61) xor di(60) xor di(58) xor di(51) xor di(48) xor di(46) xor di(45) xor di(41) xor di(37) xor di(35) xor di(34) xor di(32) xor c(0) xor c(2) xor c(3) xor c(5) xor c(9) xor c(13) xor c(14) xor c(16) xor c(19) xor c(26) xor c(28) xor c(29) xor c(31);
195  c(11) <= di(63) xor di(60) xor di(59) xor di(58) xor di(57) xor di(56) xor di(52) xor di(49) xor di(48) xor di(47) xor di(46) xor di(44) xor di(41) xor di(36) xor di(35) xor di(33) xor di(32) xor c(0) xor c(1) xor c(3) xor c(4) xor c(9) xor c(12) xor c(14) xor c(15) xor c(16) xor c(17) xor c(20) xor c(24) xor c(25) xor c(26) xor c(27) xor c(28) xor c(31);
196  c(12) <= di(63) xor di(62) xor di(59) xor di(56) xor di(53) xor di(50) xor di(49) xor di(47) xor di(45) xor di(44) xor di(41) xor di(38) xor di(37) xor di(36) xor di(34) xor di(33) xor di(32) xor c(0) xor c(1) xor c(2) xor c(4) xor c(5) xor c(6) xor c(9) xor c(12) xor c(13) xor c(15) xor c(17) xor c(18) xor c(21) xor c(24) xor c(27) xor c(30) xor c(31);
197  c(13) <= di(63) xor di(60) xor di(57) xor di(54) xor di(51) xor di(50) xor di(48) xor di(46) xor di(45) xor di(42) xor di(39) xor di(38) xor di(37) xor di(35) xor di(34) xor di(33) xor c(1) xor c(2) xor c(3) xor c(5) xor c(6) xor c(7) xor c(10) xor c(13) xor c(14) xor c(16) xor c(18) xor c(19) xor c(22) xor c(25) xor c(28) xor c(31);
198  c(14) <= di(61) xor di(58) xor di(55) xor di(52) xor di(51) xor di(49) xor di(47) xor di(46) xor di(43) xor di(40) xor di(39) xor di(38) xor di(36) xor di(35) xor di(34) xor c(2) xor c(3) xor c(4) xor c(6) xor c(7) xor c(8) xor c(11) xor c(14) xor c(15) xor c(17) xor c(19) xor c(20) xor c(23) xor c(26) xor c(29);
199  c(15) <= di(62) xor di(59) xor di(56) xor di(53) xor di(52) xor di(50) xor di(48) xor di(47) xor di(44) xor di(41) xor di(40) xor di(39) xor di(37) xor di(36) xor di(35) xor c(3) xor c(4) xor c(5) xor c(7) xor c(8) xor c(9) xor c(12) xor c(15) xor c(16) xor c(18) xor c(20) xor c(21) xor c(24) xor c(27) xor c(30);
200  c(16) <= di(62) xor di(61) xor di(58) xor di(56) xor di(54) xor di(53) xor di(51) xor di(49) xor di(45) xor di(44) xor di(40) xor di(37) xor di(36) xor di(32) xor c(0) xor c(4) xor c(5) xor c(8) xor c(12) xor c(13) xor c(17) xor c(19) xor c(21) xor c(22) xor c(24) xor c(26) xor c(29) xor c(30);
201  c(17) <= di(63) xor di(62) xor di(59) xor di(57) xor di(55) xor di(54) xor di(52) xor di(50) xor di(46) xor di(45) xor di(41) xor di(38) xor di(37) xor di(33) xor c(1) xor c(5) xor c(6) xor c(9) xor c(13) xor c(14) xor c(18) xor c(20) xor c(22) xor c(23) xor c(25) xor c(27) xor c(30) xor c(31);
202  c(18) <= di(63) xor di(60) xor di(58) xor di(56) xor di(55) xor di(53) xor di(51) xor di(47) xor di(46) xor di(42) xor di(39) xor di(38) xor di(34) xor c(2) xor c(6) xor c(7) xor c(10) xor c(14) xor c(15) xor c(19) xor c(21) xor c(23) xor c(24) xor c(26) xor c(28) xor c(31);
203  c(19) <= di(61) xor di(59) xor di(57) xor di(56) xor di(54) xor di(52) xor di(48) xor di(47) xor di(43) xor di(40) xor di(39) xor di(35) xor c(3) xor c(7) xor c(8) xor c(11) xor c(15) xor c(16) xor c(20) xor c(22) xor c(24) xor c(25) xor c(27) xor c(29);
204  c(20) <= di(62) xor di(60) xor di(58) xor di(57) xor di(55) xor di(53) xor di(49) xor di(48) xor di(44) xor di(41) xor di(40) xor di(36) xor c(4) xor c(8) xor c(9) xor c(12) xor c(16) xor c(17) xor c(21) xor c(23) xor c(25) xor c(26) xor c(28) xor c(30);
205  c(21) <= di(63) xor di(61) xor di(59) xor di(58) xor di(56) xor di(54) xor di(50) xor di(49) xor di(45) xor di(42) xor di(41) xor di(37) xor c(5) xor c(9) xor c(10) xor c(13) xor c(17) xor c(18) xor c(22) xor c(24) xor c(26) xor c(27) xor c(29) xor c(31);
206  c(22) <= di(63) xor di(61) xor di(59) xor di(58) xor di(56) xor di(55) xor di(51) xor di(50) xor di(48) xor di(46) xor di(44) xor di(43) xor di(41) xor di(32) xor c(0) xor c(9) xor c(11) xor c(12) xor c(14) xor c(16) xor c(18) xor c(19) xor c(23) xor c(24) xor c(26) xor c(27) xor c(29) xor c(31);
207  c(23) <= di(63) xor di(61) xor di(59) xor di(58) xor di(52) xor di(51) xor di(49) xor di(48) xor di(47) xor di(45) xor di(41) xor di(38) xor di(33) xor di(32) xor c(0) xor c(1) xor c(6) xor c(9) xor c(13) xor c(15) xor c(16) xor c(17) xor c(19) xor c(20) xor c(26) xor c(27) xor c(29) xor c(31);
208  c(24) <= di(62) xor di(60) xor di(59) xor di(53) xor di(52) xor di(50) xor di(49) xor di(48) xor di(46) xor di(42) xor di(39) xor di(34) xor di(33) xor c(1) xor c(2) xor c(7) xor c(10) xor c(14) xor c(16) xor c(17) xor c(18) xor c(20) xor c(21) xor c(27) xor c(28) xor c(30);
209  c(25) <= di(63) xor di(61) xor di(60) xor di(54) xor di(53) xor di(51) xor di(50) xor di(49) xor di(47) xor di(43) xor di(40) xor di(35) xor di(34) xor c(2) xor c(3) xor c(8) xor c(11) xor c(15) xor c(17) xor c(18) xor c(19) xor c(21) xor c(22) xor c(28) xor c(29) xor c(31);
210  c(26) <= di(63) xor di(60) xor di(58) xor di(57) xor di(56) xor di(55) xor di(54) xor di(52) xor di(51) xor di(50) xor di(42) xor di(38) xor di(36) xor di(35) xor di(32) xor c(0) xor c(3) xor c(4) xor c(6) xor c(10) xor c(18) xor c(19) xor c(20) xor c(22) xor c(23) xor c(24) xor c(25) xor c(26) xor c(28) xor c(31);
211  c(27) <= di(61) xor di(59) xor di(58) xor di(57) xor di(56) xor di(55) xor di(53) xor di(52) xor di(51) xor di(43) xor di(39) xor di(37) xor di(36) xor di(33) xor c(1) xor c(4) xor c(5) xor c(7) xor c(11) xor c(19) xor c(20) xor c(21) xor c(23) xor c(24) xor c(25) xor c(26) xor c(27) xor c(29);
212  c(28) <= di(62) xor di(60) xor di(59) xor di(58) xor di(57) xor di(56) xor di(54) xor di(53) xor di(52) xor di(44) xor di(40) xor di(38) xor di(37) xor di(34) xor c(2) xor c(5) xor c(6) xor c(8) xor c(12) xor c(20) xor c(21) xor c(22) xor c(24) xor c(25) xor c(26) xor c(27) xor c(28) xor c(30);
213  c(29) <= di(63) xor di(61) xor di(60) xor di(59) xor di(58) xor di(57) xor di(55) xor di(54) xor di(53) xor di(45) xor di(41) xor di(39) xor di(38) xor di(35) xor c(3) xor c(6) xor c(7) xor c(9) xor c(13) xor c(21) xor c(22) xor c(23) xor c(25) xor c(26) xor c(27) xor c(28) xor c(29) xor c(31);
214  c(30) <= di(62) xor di(61) xor di(60) xor di(59) xor di(58) xor di(56) xor di(55) xor di(54) xor di(46) xor di(42) xor di(40) xor di(39) xor di(36) xor c(4) xor c(7) xor c(8) xor c(10) xor c(14) xor c(22) xor c(23) xor c(24) xor c(26) xor c(27) xor c(28) xor c(29) xor c(30);
215  c(31) <= di(63) xor di(62) xor di(61) xor di(60) xor di(59) xor di(57) xor di(56) xor di(55) xor di(47) xor di(43) xor di(41) xor di(40) xor di(37) xor c(5) xor c(8) xor c(9) xor c(11) xor c(15) xor c(23) xor c(24) xor c(25) xor c(27) xor c(28) xor c(29) xor c(30) xor c(31);
216  end if;
217  end if;
218  end if;
219 end process;
220 
221 end Behavioral;
222