236 Hardware Reference Manual
Intel
®
IXP2800 Network Processor
SHaC — Unit Expansion
7.1.3 Hash Unit
The SHaC unit contains a Hash Unit that can take 48-, 64-, or 128-bit data and produce a 48-, 64-,
or a 128-bit hash index, respectively. The Hash Unit is accessible by the Microengines and the
Intel XScale
®
core. Figure 87 is a block diagram of the Hash Unit.
.
Figure 87. Hash Unit Block Diagram
A9758-01
PULL0 FIFO
(32 x 32 bit)
SP0_PULL_DATA
HASH_
PULL_DATA
HASH_CMD
HASH_PULL_
DATA_SEL
HASH_CMD_VALID
SCR_HASH_CMD
SCR_HASH_TAKE_
PULL0_DATA
PULL1 FIFO
(32 x 32 bit)
Hash
State
Machine
Hash
Algorithm
SP1_PULL_DATA
SCR_HASH_TAKE_
PULL_DATA
HASH_
PUSH_CMD
HASH_PUSH_
DATA_REQ
Hash Select
2
HASH_DATA
1
Hash Multiplier
From
SCR
From
PULL1
Arb
To SCR
From
SCR
From
PULL0
Arb
From
SCR
3-Stage
Command
Pipe
3-Stage
Output
Buffer
HASH_
RESULT
128 Bit
HASH_REMINDER
HASH_RESULT
To SCR
Notes:
1. 128 bits, shifted 16 bits per CLK.
2. 128 bit, 64-bit, or 4-bit