Adaptec 1737100 Programmer Manual - Page 59

GFP Address Space

Page 59 highlights

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 BRANCHADD[7:0] field of the instruction. When executing a read or write instruction, the GFP asserts GIFPRD/GFPWR, and drives GFPADD[7:0], then waits for GFPIOREADY 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: GENERALREG1 - 80h GENERALREG2 - 81h STATUS[15:0] - 82h STATUS[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. 5-3

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190

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.