5-3
Frame Processor Architecture
GFP Address Space
A total of 256 address locations can be accessed by the GFP executing Read/Write
instructions. The target address is presented in the B
RANCH
A
DD
[7:0] field of the
instruction. When executing a read or write instruction, the GFP asserts G
IFP
R
D
/G
FP
W
R
,
and drives G
FP
A
DD
[7:0], then waits for G
FP
I
O
R
EADY
signal to complete the execution.
The total address space is divided in two. The first half, 7Fh-00h, is used for accessing
external registers. The second half, FFh-80h, is used for accessing internal registers.
Internal Registers
The GFP implements two status registers and two 16-bit general registers. These registers
are accessed using the regular Read/Write instructions and are mapped to the following
addresses:
G
ENERAL
R
EG
1 - 80h
G
ENERAL
R
EG
2 - 81h
S
TATUS
[15:0] - 82h
S
TATUS
[31:16] - 83h
The general registers are used to assist in executing the special branch instructions, but
can also be used as a general storage area. The Status register is used for status and control
information storage. Both register types can be accessed by the host during a read-only
operation.
All the bits of the Status/Control register are available as outputs. The GFP is also capable
of executing a write instruction, using the status data as the write data. The 32-bit status
registers are defined in Table 5-1.
Table 5-1. Status/Control Register
Bit Description
0
TcpFrame
- If set, indicates a TCP frame
1
UdpFrame
- If set, indicates a UDP frame
2
ArpFrame
- If set, indicates a ARP request/reply frame
3
RarpFrame
- If set, indicates a RARP request/reply frame
4
Rfc1042Frame
- If set, indicates IEEE 802.2/802.3 Encapsulation (RFC 1042)
5
Rfc894Frame
- If set, indicates Ethernet encapsulation (RFC 894)
6
IpxFrame
- If set, indicates IPX/SPX frame
7
WakeupFrame
- If set, indicates a wake-up frame.
8
FragmentedFrame
- If set, indicates a fragmented frame
9
IpFrame
- If set, indicates an IPv4 or Ipv6 frame
10
Ipv6Frame
- If set, indicates an IPv6 frame
11
ChecksumOk
- If set, indicates TCP/UDP checksum is OK
12
IpChecksumOk
- If set, indicates IP header checksum is OK. This bit is not
implemented in the current firmware version.
13
ChecksumBad
- If set, indicates TCP/UDP checksum was checked and is bad
14
FrameTypeNotSupported
- If set, indicates frame type not supported. GFP is not able to
calculate the checksum, or its not a TCP/UDP frame.
15
GfpDone
- If set, indicates GFP completed successfully executing the frame processing.