[source]

Architecture rtl of ipv4_TX

Types

Name

Description

T_STATE

Processes

process @ ( Checksum or Checksum0_cy or IPv4SeqCounter_us or Protocol or TimeToLive or FragmentOffset or Identification or Flag_MoreFragments or Flag_DontFragment or TypeOfService or UpperLayerPacketLength or InternetHeaderLength or In_Meta_Protocol or In_Meta_SrcIPv4Address_Data or In_Meta_DestIPv4Address_Data or ARP_IPCache_MACAddress_Data or ARP_IPCache_IPv4Address_nxt or ARP_IPCache_IPv4Address_rst or ARP_IPCache_Valid or Out_Meta_DestMACAddress_nxt or Out_Meta_rst or Out_Ack or In_Meta_Length or In_Data or In_EOF or In_SOF or In_Valid or State or ) [source]
ST_IDLE ST_IDLE ST_ARP_QUERY ST_ARP_QUERY ST_ARP_QUERY_WAIT ST_ARP_QUERY_WAIT ST_CHECKSUM_IPV4_ADDRESSES ST_CHECKSUM_IPV4_ADDRESSES ST_CHECKSUM_IPVERSION_LENGTH_0 ST_CHECKSUM_IPVERSION_LENGTH_0 ST_CHECKSUM_TYPE_OF_SERVICE_LENGTH_1 ST_CHECKSUM_TYPE_OF_SERVICE_LENGTH_1 ST_CHECKSUM_IDENTIFICAION_FRAGMENTOFFSET_0 ST_CHECKSUM_IDENTIFICAION_FRAGMENTOFFSET_0 ST_CHECKSUM_IDENTIFICAION_FRAGMENTOFFSET_1 ST_CHECKSUM_IDENTIFICAION_FRAGMENTOFFSET_1 ST_CHECKSUM_TIME_TO_LIVE ST_CHECKSUM_TIME_TO_LIVE ST_CHECKSUM_PROTOCOL ST_CHECKSUM_PROTOCOL ST_CARRY_0 ST_CARRY_0 ST_SEND_VERSION ST_SEND_VERSION ST_CARRY_1 ST_CARRY_1 ST_SEND_TYPE_OF_SERVICE ST_SEND_TYPE_OF_SERVICE ST_SEND_TOTAL_LENGTH_0 ST_SEND_TOTAL_LENGTH_0 ST_SEND_TOTAL_LENGTH_1 ST_SEND_TOTAL_LENGTH_1 ST_SEND_IDENTIFICATION_0 ST_SEND_IDENTIFICATION_0 ST_SEND_IDENTIFICATION_1 ST_SEND_IDENTIFICATION_1 ST_SEND_FLAGS ST_SEND_FLAGS ST_SEND_FRAGMENT_OFFSET ST_SEND_FRAGMENT_OFFSET ST_SEND_TIME_TO_LIVE ST_SEND_TIME_TO_LIVE ST_SEND_PROTOCOL ST_SEND_PROTOCOL ST_SEND_HEADER_CHECKSUM_0 ST_SEND_HEADER_CHECKSUM_0 ST_SEND_HEADER_CHECKSUM_1 ST_SEND_HEADER_CHECKSUM_1 ST_SEND_SOURCE_ADDRESS ST_SEND_SOURCE_ADDRESS ST_SEND_DESTINATION_ADDRESS ST_SEND_DESTINATION_ADDRESS ST_SEND_DATA ST_SEND_DATA ST_SEND_OPTIONS_0, ST_SEND_OPTIONS_1, ST_SEND_OPTIONS_2, ST_SEND_PADDING, ST_DISCARD_FRAME ST_DISCARD_FRAME ST_ERROR ST_ERROR 1 [(In_Valid and In_SOF = '1')] 3 [not (ARP_IPCache_Valid = '1')] 2 [(ARP_IPCache_Valid = '1')] 5 [(ARP_IPCache_Valid = '1')] 4 [(IPv4SeqCounter_us = 3)] 6 [EMPTY] 7 [EMPTY] 8 [EMPTY] 9 [EMPTY] 10 [EMPTY] 12 [not (Checksum0_cy = "00")] 11 [(Checksum0_cy = "00")] 15 [not (Checksum0_cy = "00")] 14 [(Checksum0_cy = "00")] 13 [(Out_Ack = '1')] 17 [EMPTY] 16 [(Out_Ack = '1')] 18 [(Out_Ack = '1')] 19 [(Out_Ack = '1')] 20 [(Out_Ack = '1')] 21 [(Out_Ack = '1')] 22 [(Out_Ack = '1')] 23 [(Out_Ack = '1')] 24 [(Out_Ack = '1')] 25 [(Out_Ack = '1')] 26 [(Out_Ack = '1')] 27 [(Out_Ack = '1')] 28 [((Out_Ack = '1') and (IPv4SeqCounter_us = 3))] 29 [((Out_Ack = '1') and (IPv4SeqCounter_us = 3))] 30 [(In_EOF and Out_Ack = '1')]
FSM Transitions for State

#

Current State

Next State

Condition

1

ST_IDLE

ST_ARP_QUERY

[(In_Valid and In_SOF = '1')]

2

ST_ARP_QUERY

ST_CHECKSUM_IPV4_ADDRESSES

[(ARP_IPCache_Valid = '1')]

3

ST_ARP_QUERY

ST_ARP_QUERY_WAIT

[not (ARP_IPCache_Valid = '1')]

4

ST_CHECKSUM_IPV4_ADDRESSES

ST_CHECKSUM_IPVERSION_LENGTH_0

[(IPv4SeqCounter_us = 3)]

5

ST_ARP_QUERY_WAIT

ST_CHECKSUM_IPV4_ADDRESSES

[(ARP_IPCache_Valid = '1')]

6

ST_CHECKSUM_IPVERSION_LENGTH_0

ST_CHECKSUM_TYPE_OF_SERVICE_LENGTH_1

[EMPTY]

7

ST_CHECKSUM_TYPE_OF_SERVICE_LENGTH_1

ST_CHECKSUM_IDENTIFICAION_FRAGMENTOFFSET_0

[EMPTY]

8

ST_CHECKSUM_IDENTIFICAION_FRAGMENTOFFSET_0

ST_CHECKSUM_IDENTIFICAION_FRAGMENTOFFSET_1

[EMPTY]

9

ST_CHECKSUM_IDENTIFICAION_FRAGMENTOFFSET_1

ST_CHECKSUM_TIME_TO_LIVE

[EMPTY]

10

ST_CHECKSUM_TIME_TO_LIVE

ST_CHECKSUM_PROTOCOL

[EMPTY]

11

ST_CHECKSUM_PROTOCOL

ST_SEND_VERSION

[(Checksum0_cy = "00")]

12

ST_CHECKSUM_PROTOCOL

ST_CARRY_0

[not (Checksum0_cy = "00")]

13

ST_SEND_VERSION

ST_SEND_TYPE_OF_SERVICE

[(Out_Ack = '1')]

14

ST_CARRY_0

ST_SEND_VERSION

[(Checksum0_cy = "00")]

15

ST_CARRY_0

ST_CARRY_1

[not (Checksum0_cy = "00")]

16

ST_SEND_TYPE_OF_SERVICE

ST_SEND_TOTAL_LENGTH_0

[(Out_Ack = '1')]

17

ST_CARRY_1

ST_SEND_VERSION

[EMPTY]

18

ST_SEND_TOTAL_LENGTH_0

ST_SEND_TOTAL_LENGTH_1

[(Out_Ack = '1')]

19

ST_SEND_TOTAL_LENGTH_1

ST_SEND_IDENTIFICATION_0

[(Out_Ack = '1')]

20

ST_SEND_IDENTIFICATION_0

ST_SEND_IDENTIFICATION_1

[(Out_Ack = '1')]

21

ST_SEND_IDENTIFICATION_1

ST_SEND_FLAGS

[(Out_Ack = '1')]

22

ST_SEND_FLAGS

ST_SEND_FRAGMENT_OFFSET

[(Out_Ack = '1')]

23

ST_SEND_FRAGMENT_OFFSET

ST_SEND_TIME_TO_LIVE

[(Out_Ack = '1')]

24

ST_SEND_TIME_TO_LIVE

ST_SEND_PROTOCOL

[(Out_Ack = '1')]

25

ST_SEND_PROTOCOL

ST_SEND_HEADER_CHECKSUM_0

[(Out_Ack = '1')]

26

ST_SEND_HEADER_CHECKSUM_0

ST_SEND_HEADER_CHECKSUM_1

[(Out_Ack = '1')]

27

ST_SEND_HEADER_CHECKSUM_1

ST_SEND_SOURCE_ADDRESS

[(Out_Ack = '1')]

28

ST_SEND_SOURCE_ADDRESS

ST_SEND_DESTINATION_ADDRESS

[((Out_Ack = '1') and (IPv4SeqCounter_us = 3))]

29

ST_SEND_DESTINATION_ADDRESS

ST_SEND_DATA

[((Out_Ack = '1') and (IPv4SeqCounter_us = 3))]

30

ST_SEND_DATA

ST_IDLE

[(In_EOF and Out_Ack = '1')]