Technical information

5-7
Frame Processor Architecture
Opcode A 3:0
CheckIpv6NextHeader
- Special instruction for checking the Next
Header field. The GFP recognizes 8 types of extension headers
implemented in hardware, identified by the following Next
Header identification number:
TcpProtocolId = 8'd6;
UdpProtocolId = 8'd17;
HopByHopProtocolId = 8'd0;
DestinationProtocolId = 8'd60;
RoutingProtocolId = 8'd43;
FragmentProtocolId = 8'd44;
AuthentinationProtocolId = 8'd51;
EncapsulationProtocolId = 8'd50;
When this instruction is executed the GFP compares data at input
2 of the ALU (Next Header) with the hard coded protocol IDs, then
branches to an address defined as follows:
Every protocol ID has a 2bit ‘Type’ specified in an internal register
implemented in the GFP.
Type 0 protocol - Branch Address specified by Instruction[31:24].
Type 1 protocol - Branch Address specified by Instruction[39:32].
Type 2 protocol - Branch Address specified by Instruction[47:40].
Type 3 protocol - Branch Address specified by GeneralReg2[7:0].
GFP implements two 16-bit internal registers, GeneralReg1 and
GeneralReg2. It can access the registers by executing a ‘Write’
instruction to address x80 and x81. The first register stores the 2bit
‘Type’ assigned to each protocol, and the second stores the branch
address for Type 3 protocol.
Opcode B 3:0
CheckEthernetType
- Special instruction for checking the Ethernet
‘Type’ field, then branch to one of seven possible addresses. The
GFP recognizes 7 types:
I
P
F
RAME
I
D
= 16'h0800, Branch Address =
B
RANCH
A
DD
[7:0]
A
RP
F
RAME
I
D
= 16'h0806, Branch Address =
G
ENERAL
R
EG
1[15:8
]
R
ARP
F
RAME
I
D
= 16'h8035; Branch Address =
G
ENERAL
R
EG
2[7:0
]
I
PX
F
RAME
I
D
= 16'h8137; Branch Address =
G
ENERAL
R
EG
2[15:8]
F
RAME
802M
AX
L
ENGTH
= 16'h05DC (IEEE 802.3 encapsulation),
Branch address =
D
ATA
[7:0]
V
LAN
F
RAME
I
D
= Programmable number comes as an input to
GFP, Branch address =
D
ATA
[15:8]
I
SL
F
RAME
I
D
= One bit input, provided by external decoding logic,
Branch address =
G
ENERAL
R
EG
1[7:0]
Opcode C 3:0
W
AIT
F
OR
S
TART
O
F
F
RAME
- Stop the processor. Wait for assertion
of
S
TART
O
F
F
RAME
input, then branch to the address defined by
B
RANCH
A
DD
[7:0]
.
Opcode D 3:0
C
HECK
I
PV
4F
RAGMENT
F
IELD
- Special command for processing the
16-bit halfword in the Ipv4 header that provides information about
the frame fragmentation. This is a branch command to
BranchAdd[7:0] if the frame is fragmented.
Table 5-2. Instruction Formats (Continued)
Name Bit Number Description