[source]

Architecture rtl of udp_TX

UDP pseudo header for IPv6

Byte 0 Byte 1 Byte 2 Byte 3

+================================+================================+================================+================================+ | SourceAddress | ~ ~ ~ ~ ~ | | +--------------------------------+--------------------------------+--------------------------------+--------------------------------+ | DestinationAddress | ~ ~ ~ ~ ~ | | +--------------------------------+--------------------------------+--------------------------------+--------------------------------+ | Length | +--------------------------------+--------------------------------+--------------------------------+--------------------------------+ | 0x000000 | NextHeader | +================================+================================+================================+================================+ | UDP header (see above) | ~ ~ ~ ~ ~ | | +================================+================================+================================+================================+ | Payload | ~ ~ ~ ~ ~ | | +================================+================================+================================+================================+

Types

Name

Description

T_STATE

Processes

process @ ( UpperLayerPacketLength or Checksum or Checksum0_cy or IPSeqCounter_us or In_Meta_Checksum or In_Meta_DestPort or In_Meta_SrcPort or In_Meta_DestIPAddress_Data or Out_Meta_DestIPAddress_nxt or In_Meta_SrcIPAddress_Data or Out_Meta_SrcIPAddress_nxt or Out_Meta_rst or Out_Ack or In_Data or In_EOF or In_SOF or In_Valid or State or ) [source]
ST_IDLE ST_IDLE ST_CHECKSUMV4_IPV4_ADDRESSES ST_CHECKSUMV4_IPV4_ADDRESSES ST_CHECKSUMV6_IPV6_ADDRESSES ST_CHECKSUMV6_IPV6_ADDRESSES ST_ERROR ST_ERROR ST_CHECKSUMV4_LENGTH_UDP_TYPE_0 ST_CHECKSUMV4_LENGTH_UDP_TYPE_0 ST_CHECKSUMV6_LENGTH_UDP_TYPE_0 ST_CHECKSUMV6_LENGTH_UDP_TYPE_0 ST_CHECKSUMV4_LENGTH_UDP_TYPE_1 ST_CHECKSUMV4_LENGTH_UDP_TYPE_1 ST_CHECKSUMV6_LENGTH_UDP_TYPE_1 ST_CHECKSUMV6_LENGTH_UDP_TYPE_1 ST_CHECKSUMV4_PORT_NUMBER_0 ST_CHECKSUMV4_PORT_NUMBER_0 ST_CHECKSUMV6_PORT_NUMBER_0 ST_CHECKSUMV6_PORT_NUMBER_0 ST_CHECKSUMV4_PORT_NUMBER_1 ST_CHECKSUMV4_PORT_NUMBER_1 ST_CHECKSUMV6_PORT_NUMBER_1 ST_CHECKSUMV6_PORT_NUMBER_1 ST_CHECKSUMV4_CHECKSUM_LENGTH_0 ST_CHECKSUMV4_CHECKSUM_LENGTH_0 ST_CHECKSUMV6_CHECKSUM_LENGTH_0 ST_CHECKSUMV6_CHECKSUM_LENGTH_0 ST_CHECKSUMV4_CHECKSUM_LENGTH_1 ST_CHECKSUMV4_CHECKSUM_LENGTH_1 ST_CHECKSUMV6_CHECKSUM_LENGTH_1 ST_CHECKSUMV6_CHECKSUM_LENGTH_1 ST_CARRY_0 ST_CARRY_0 ST_SEND_SOURCE_PORT_0 ST_SEND_SOURCE_PORT_0 ST_CARRY_1 ST_CARRY_1 ST_SEND_SOURCE_PORT_1 ST_SEND_SOURCE_PORT_1 ST_SEND_DEST_PORT_0 ST_SEND_DEST_PORT_0 ST_SEND_DEST_PORT_1 ST_SEND_DEST_PORT_1 ST_SEND_LENGTH_0 ST_SEND_LENGTH_0 ST_SEND_LENGTH_1 ST_SEND_LENGTH_1 ST_SEND_CHECKSUM_0 ST_SEND_CHECKSUM_0 ST_SEND_CHECKSUM_1 ST_SEND_CHECKSUM_1 ST_SEND_DATA ST_SEND_DATA 1 [((In_Valid and In_SOF = '1') and (IP_VERSION = 4))] 2 [((In_Valid and In_SOF = '1') and not (IP_VERSION = 4) and (IP_VERSION = 6))] 3 [((In_Valid and In_SOF = '1') and not (IP_VERSION = 4) and not (IP_VERSION = 6))] 4 [(IPSeqCounter_us = 3)] 5 [(IPSeqCounter_us = 15)] 6 [EMPTY] 7 [EMPTY] 8 [EMPTY] 9 [EMPTY] 10 [EMPTY] 11 [EMPTY] 12 [EMPTY] 13 [EMPTY] 14 [EMPTY] 15 [EMPTY] 17 [not (Checksum0_cy = "00")] 16 [(Checksum0_cy = "00")] 19 [not (Checksum0_cy = "00")] 18 [(Checksum0_cy = "00")] 22 [not (Checksum0_cy = "00")] 21 [(Checksum0_cy = "00")] 20 [(Out_Ack = '1')] 24 [EMPTY] 23 [(Out_Ack = '1')] 25 [(Out_Ack = '1')] 26 [(Out_Ack = '1')] 27 [(Out_Ack = '1')] 28 [(Out_Ack = '1')] 29 [(Out_Ack = '1')] 30 [(Out_Ack = '1')] 31 [(In_EOF and Out_Ack = '1')]
FSM Transitions for State

#

Current State

Next State

Condition

1

ST_IDLE

ST_CHECKSUMV4_IPV4_ADDRESSES

[((In_Valid and In_SOF = '1') and (IP_VERSION = 4))]

2

ST_IDLE

ST_CHECKSUMV6_IPV6_ADDRESSES

[((In_Valid and In_SOF = '1') and not (IP_VERSION = 4) and (IP_VERSION = 6))]

3

ST_IDLE

ST_ERROR

[((In_Valid and In_SOF = '1') and not (IP_VERSION = 4) and not (IP_VERSION = 6))]

4

ST_CHECKSUMV4_IPV4_ADDRESSES

ST_CHECKSUMV4_LENGTH_UDP_TYPE_0

[(IPSeqCounter_us = 3)]

5

ST_CHECKSUMV6_IPV6_ADDRESSES

ST_CHECKSUMV6_LENGTH_UDP_TYPE_0

[(IPSeqCounter_us = 15)]

6

ST_CHECKSUMV4_LENGTH_UDP_TYPE_0

ST_CHECKSUMV4_LENGTH_UDP_TYPE_1

[EMPTY]

7

ST_CHECKSUMV6_LENGTH_UDP_TYPE_0

ST_CHECKSUMV6_LENGTH_UDP_TYPE_1

[EMPTY]

8

ST_CHECKSUMV4_LENGTH_UDP_TYPE_1

ST_CHECKSUMV4_PORT_NUMBER_0

[EMPTY]

9

ST_CHECKSUMV6_LENGTH_UDP_TYPE_1

ST_CHECKSUMV6_PORT_NUMBER_0

[EMPTY]

10

ST_CHECKSUMV4_PORT_NUMBER_0

ST_CHECKSUMV4_PORT_NUMBER_1

[EMPTY]

11

ST_CHECKSUMV6_PORT_NUMBER_0

ST_CHECKSUMV6_PORT_NUMBER_1

[EMPTY]

12

ST_CHECKSUMV4_PORT_NUMBER_1

ST_CHECKSUMV4_CHECKSUM_LENGTH_0

[EMPTY]

13

ST_CHECKSUMV6_PORT_NUMBER_1

ST_CHECKSUMV6_CHECKSUM_LENGTH_0

[EMPTY]

14

ST_CHECKSUMV4_CHECKSUM_LENGTH_0

ST_CHECKSUMV4_CHECKSUM_LENGTH_1

[EMPTY]

15

ST_CHECKSUMV6_CHECKSUM_LENGTH_0

ST_CHECKSUMV6_CHECKSUM_LENGTH_1

[EMPTY]

16

ST_CHECKSUMV4_CHECKSUM_LENGTH_1

ST_SEND_SOURCE_PORT_0

[(Checksum0_cy = "00")]

17

ST_CHECKSUMV4_CHECKSUM_LENGTH_1

ST_CARRY_0

[not (Checksum0_cy = "00")]

18

ST_CHECKSUMV6_CHECKSUM_LENGTH_1

ST_SEND_SOURCE_PORT_0

[(Checksum0_cy = "00")]

19

ST_CHECKSUMV6_CHECKSUM_LENGTH_1

ST_CARRY_0

[not (Checksum0_cy = "00")]

20

ST_SEND_SOURCE_PORT_0

ST_SEND_SOURCE_PORT_1

[(Out_Ack = '1')]

21

ST_CARRY_0

ST_SEND_SOURCE_PORT_0

[(Checksum0_cy = "00")]

22

ST_CARRY_0

ST_CARRY_1

[not (Checksum0_cy = "00")]

23

ST_SEND_SOURCE_PORT_1

ST_SEND_DEST_PORT_0

[(Out_Ack = '1')]

24

ST_CARRY_1

ST_SEND_SOURCE_PORT_0

[EMPTY]

25

ST_SEND_DEST_PORT_0

ST_SEND_DEST_PORT_1

[(Out_Ack = '1')]

26

ST_SEND_DEST_PORT_1

ST_SEND_LENGTH_0

[(Out_Ack = '1')]

27

ST_SEND_LENGTH_0

ST_SEND_LENGTH_1

[(Out_Ack = '1')]

28

ST_SEND_LENGTH_1

ST_SEND_CHECKSUM_0

[(Out_Ack = '1')]

29

ST_SEND_CHECKSUM_0

ST_SEND_CHECKSUM_1

[(Out_Ack = '1')]

30

ST_SEND_CHECKSUM_1

ST_SEND_DATA

[(Out_Ack = '1')]

31

ST_SEND_DATA

ST_IDLE

[(In_EOF and Out_Ack = '1')]