OpenCores
URL https://opencores.org/ocsvn/esoc/esoc/trunk

Subversion Repositories esoc

[/] [esoc/] [trunk/] [Sources/] [logixa/] [package_hash10_48b.vhd] - Blame information for rev 42

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 42 lmaarsen
--------------------------------------------------------------------------------
2
-- Object        : Package work.package_hash10_48b
3
-- Last modified : Thu Oct 10 12:37:02 2013.
4
--------------------------------------------------------------------------------
5
 
6
 
7
 
8
library ieee, std;
9
use ieee.std_logic_1164.all;
10
use std.textio.all;
11
use ieee.numeric_std.all;
12
---------------------------------------------------------------------------------------------------------------
13
-- Library declaration
14
---------------------------------------------------------------------------------------------------------------
15
library ieee;
16
use ieee.std_logic_1164.all;
17
 
18
---------------------------------------------------------------------------------------------------------------
19
-- Package declaration
20
---------------------------------------------------------------------------------------------------------------
21
package package_hash10_48b is
22
 
23
  -------------------------------------------------------------------------
24
  -- functions to calculate CRC on the fly
25
  -------------------------------------------------------------------------
26
  function CALC_HASH10_48b
27
    (data : std_logic_vector(47 downto 0))
28
    return std_logic_vector;
29
 
30
end package_hash10_48b;
31
 
32
package body package_hash10_48b is
33
 
34
  --=============================================================================================================
35
  -- Process              : 
36
  -- Description        : 
37
  --=============================================================================================================     
38
  function CALC_HASH10_48b
39
  (data: std_logic_vector(47 downto 0))
40
  return std_logic_vector is
41
 
42
  variable d:      std_logic_vector(47 downto 0);
43
  variable hash: std_logic_vector(9 downto 0);
44
 
45
  begin
46
    d := data;
47
 
48
    hash(0) := d(46) xor d(42) xor d(41) xor d(39) xor d(37) xor d(36) xor d(34) xor d(33) xor d(32) xor d(31) xor d(30) xor d(28) xor d(27) xor d(24) xor d(23) xor d(19) xor d(17) xor d(16) xor d(15) xor d(9)  xor d(4)  xor d(3) xor d(2) xor d(1) xor d(0);
49
    hash(1) := d(47) xor d(46) xor d(43) xor d(41) xor d(40) xor d(39) xor d(38) xor d(36) xor d(35) xor d(30) xor d(29) xor d(27) xor d(25) xor d(23) xor d(20) xor d(19) xor d(18) xor d(15) xor d(10) xor d(9)  xor d(5)  xor d(0);
50
    hash(2) := d(47) xor d(44) xor d(42) xor d(41) xor d(40) xor d(39) xor d(37) xor d(36) xor d(31) xor d(30) xor d(28) xor d(26) xor d(24) xor d(21) xor d(20) xor d(19) xor d(16) xor d(11) xor d(10) xor d(6)  xor d(1);
51
    hash(3) := d(45) xor d(43) xor d(42) xor d(41) xor d(40) xor d(38) xor d(37) xor d(32) xor d(31) xor d(29) xor d(27) xor d(25) xor d(22) xor d(21) xor d(20) xor d(17) xor d(12) xor d(11) xor d(7)  xor d(2);
52
    hash(4) := d(44) xor d(43) xor d(38) xor d(37) xor d(36) xor d(34) xor d(31) xor d(27) xor d(26) xor d(24) xor d(22) xor d(21) xor d(19) xor d(18) xor d(17) xor d(16) xor d(15) xor d(13) xor d(12) xor d(9)  xor d(8)  xor d(4) xor d(2) xor d(1) xor d(0);
53
    hash(5) := d(46) xor d(45) xor d(44) xor d(42) xor d(41) xor d(38) xor d(36) xor d(35) xor d(34) xor d(33) xor d(31) xor d(30) xor d(25) xor d(24) xor d(22) xor d(20) xor d(18) xor d(15) xor d(14) xor d(13) xor d(10) xor d(5) xor d(4) xor d(0);
54
    hash(6) := d(47) xor d(46) xor d(45) xor d(43) xor d(42) xor d(39) xor d(37) xor d(36) xor d(35) xor d(34) xor d(32) xor d(31) xor d(26) xor d(25) xor d(23) xor d(21) xor d(19) xor d(16) xor d(15) xor d(14) xor d(11) xor d(6) xor d(5) xor d(1);
55
    hash(7) := d(47) xor d(46) xor d(44) xor d(43) xor d(40) xor d(38) xor d(37) xor d(36) xor d(35) xor d(33) xor d(32) xor d(27) xor d(26) xor d(24) xor d(22) xor d(20) xor d(17) xor d(16) xor d(15) xor d(12) xor d(7)  xor d(6) xor d(2);
56
    hash(8) := d(47) xor d(45) xor d(44) xor d(41) xor d(39) xor d(38) xor d(37) xor d(36) xor d(34) xor d(33) xor d(28) xor d(27) xor d(25) xor d(23) xor d(21) xor d(18) xor d(17) xor d(16) xor d(13) xor d(8)  xor d(7)  xor d(3);
57
    hash(9) := d(45) xor d(41) xor d(40) xor d(38) xor d(36) xor d(35) xor d(33) xor d(32) xor d(31) xor d(30) xor d(29) xor d(27) xor d(26) xor d(23) xor d(22) xor d(18) xor d(16) xor d(15) xor d(14) xor d(8)  xor d(3)  xor d(2) xor d(1) xor d(0);
58
 
59
    return hash;
60
  end CALC_HASH10_48b;
61
 
62
end package_hash10_48b;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.