[source]

Architecture rtl of ipv4_RX

Types

Name

Description

T_STATE
T_IPV4_BYTEINDEX

Processes

process @ ( Out_Ack or IPv4SeqCounter_us or In_EOF or In_Data or In_Valid or Is_EOF or Is_SOF or Is_DataFlow or State or ) [source]
ST_IDLE ST_IDLE ST_RECEIVE_TYPE_OF_SERVICE ST_RECEIVE_TYPE_OF_SERVICE ST_DISCARD_FRAME ST_DISCARD_FRAME ST_ERROR ST_ERROR ST_RECEIVE_TOTAL_LENGTH_0 ST_RECEIVE_TOTAL_LENGTH_0 ST_RECEIVE_TOTAL_LENGTH_1 ST_RECEIVE_TOTAL_LENGTH_1 ST_RECEIVE_IDENTIFICATION_0 ST_RECEIVE_IDENTIFICATION_0 ST_RECEIVE_IDENTIFICATION_1 ST_RECEIVE_IDENTIFICATION_1 ST_RECEIVE_FLAGS ST_RECEIVE_FLAGS ST_RECEIVE_FRAGMENT_OFFSET_1 ST_RECEIVE_FRAGMENT_OFFSET_1 ST_RECEIVE_TIME_TO_LIVE ST_RECEIVE_TIME_TO_LIVE ST_RECEIVE_PROTOCOL ST_RECEIVE_PROTOCOL ST_RECEIVE_HEADER_CHECKSUM_0 ST_RECEIVE_HEADER_CHECKSUM_0 ST_RECEIVE_HEADER_CHECKSUM_1 ST_RECEIVE_HEADER_CHECKSUM_1 ST_RECEIVE_SOURCE_ADDRESS ST_RECEIVE_SOURCE_ADDRESS ST_RECEIVE_DESTINATION_ADDRESS ST_RECEIVE_DESTINATION_ADDRESS ST_RECEIVE_DATA_1 ST_RECEIVE_DATA_1 ST_RECEIVE_OPTIONS, ST_RECEIVE_DATA_N ST_RECEIVE_DATA_N 1 [((Is_SOF = '1') and (Is_EOF = '0') and (In_Data(3 downto 0) = x"4"))] 2 [((Is_SOF = '1') and (Is_EOF = '0') and not (In_Data(3 downto 0) = x"4"))] 3 [((Is_SOF = '1') and not (Is_EOF = '0'))] 4 [((In_Valid = '1') and (Is_EOF = '0'))] 5 [((In_Valid = '1') and not (Is_EOF = '0'))] 6 [(Is_EOF = '1')] 7 [EMPTY] 8 [((In_Valid = '1') and (Is_EOF = '0'))] 9 [((In_Valid = '1') and not (Is_EOF = '0'))] 10 [((In_Valid = '1') and (Is_EOF = '0'))] 11 [((In_Valid = '1') and not (Is_EOF = '0'))] 12 [((In_Valid = '1') and (Is_EOF = '0'))] 13 [((In_Valid = '1') and not (Is_EOF = '0'))] 14 [((In_Valid = '1') and (Is_EOF = '0'))] 15 [((In_Valid = '1') and not (Is_EOF = '0'))] 16 [((In_Valid = '1') and (Is_EOF = '0'))] 17 [((In_Valid = '1') and not (Is_EOF = '0'))] 18 [((In_Valid = '1') and (Is_EOF = '0'))] 19 [((In_Valid = '1') and not (Is_EOF = '0'))] 20 [((In_Valid = '1') and (Is_EOF = '0'))] 21 [((In_Valid = '1') and not (Is_EOF = '0'))] 22 [((In_Valid = '1') and (Is_EOF = '0'))] 23 [((In_Valid = '1') and not (Is_EOF = '0'))] 24 [((In_Valid = '1') and (Is_EOF = '0'))] 25 [((In_Valid = '1') and not (Is_EOF = '0'))] 26 [((In_Valid = '1') and (Is_EOF = '0'))] 27 [((In_Valid = '1') and not (Is_EOF = '0'))] 28 [((In_Valid = '1') and (Is_EOF = '0') and (IPv4SeqCounter_us = 0))] 29 [((In_Valid = '1') and not (Is_EOF = '0'))] 30 [((In_Valid = '1') and (Is_EOF = '0') and (IPv4SeqCounter_us = 0))] 31 [((In_Valid = '1') and not (Is_EOF = '0'))] 33 [((Is_DataFlow = '1') and not (Is_EOF = '0'))] 32 [((Is_DataFlow = '1') and (Is_EOF = '0'))] 34 [(Is_EOF = '1')]
FSM Transitions for State

#

Current State

Next State

Condition

1

ST_IDLE

ST_RECEIVE_TYPE_OF_SERVICE

[((Is_SOF = '1') and (Is_EOF = '0') and (In_Data(3 downto 0) = x"4"))]

2

ST_IDLE

ST_DISCARD_FRAME

[((Is_SOF = '1') and (Is_EOF = '0') and not (In_Data(3 downto 0) = x"4"))]

3

ST_IDLE

ST_ERROR

[((Is_SOF = '1') and not (Is_EOF = '0'))]

4

ST_RECEIVE_TYPE_OF_SERVICE

ST_RECEIVE_TOTAL_LENGTH_0

[((In_Valid = '1') and (Is_EOF = '0'))]

5

ST_RECEIVE_TYPE_OF_SERVICE

ST_ERROR

[((In_Valid = '1') and not (Is_EOF = '0'))]

6

ST_DISCARD_FRAME

ST_ERROR

[(Is_EOF = '1')]

7

ST_ERROR

ST_IDLE

[EMPTY]

8

ST_RECEIVE_TOTAL_LENGTH_0

ST_RECEIVE_TOTAL_LENGTH_1

[((In_Valid = '1') and (Is_EOF = '0'))]

9

ST_RECEIVE_TOTAL_LENGTH_0

ST_ERROR

[((In_Valid = '1') and not (Is_EOF = '0'))]

10

ST_RECEIVE_TOTAL_LENGTH_1

ST_RECEIVE_IDENTIFICATION_0

[((In_Valid = '1') and (Is_EOF = '0'))]

11

ST_RECEIVE_TOTAL_LENGTH_1

ST_ERROR

[((In_Valid = '1') and not (Is_EOF = '0'))]

12

ST_RECEIVE_IDENTIFICATION_0

ST_RECEIVE_IDENTIFICATION_1

[((In_Valid = '1') and (Is_EOF = '0'))]

13

ST_RECEIVE_IDENTIFICATION_0

ST_ERROR

[((In_Valid = '1') and not (Is_EOF = '0'))]

14

ST_RECEIVE_IDENTIFICATION_1

ST_RECEIVE_FLAGS

[((In_Valid = '1') and (Is_EOF = '0'))]

15

ST_RECEIVE_IDENTIFICATION_1

ST_ERROR

[((In_Valid = '1') and not (Is_EOF = '0'))]

16

ST_RECEIVE_FLAGS

ST_RECEIVE_FRAGMENT_OFFSET_1

[((In_Valid = '1') and (Is_EOF = '0'))]

17

ST_RECEIVE_FLAGS

ST_ERROR

[((In_Valid = '1') and not (Is_EOF = '0'))]

18

ST_RECEIVE_FRAGMENT_OFFSET_1

ST_RECEIVE_TIME_TO_LIVE

[((In_Valid = '1') and (Is_EOF = '0'))]

19

ST_RECEIVE_FRAGMENT_OFFSET_1

ST_ERROR

[((In_Valid = '1') and not (Is_EOF = '0'))]

20

ST_RECEIVE_TIME_TO_LIVE

ST_RECEIVE_PROTOCOL

[((In_Valid = '1') and (Is_EOF = '0'))]

21

ST_RECEIVE_TIME_TO_LIVE

ST_ERROR

[((In_Valid = '1') and not (Is_EOF = '0'))]

22

ST_RECEIVE_PROTOCOL

ST_RECEIVE_HEADER_CHECKSUM_0

[((In_Valid = '1') and (Is_EOF = '0'))]

23

ST_RECEIVE_PROTOCOL

ST_ERROR

[((In_Valid = '1') and not (Is_EOF = '0'))]

24

ST_RECEIVE_HEADER_CHECKSUM_0

ST_RECEIVE_HEADER_CHECKSUM_1

[((In_Valid = '1') and (Is_EOF = '0'))]

25

ST_RECEIVE_HEADER_CHECKSUM_0

ST_ERROR

[((In_Valid = '1') and not (Is_EOF = '0'))]

26

ST_RECEIVE_HEADER_CHECKSUM_1

ST_RECEIVE_SOURCE_ADDRESS

[((In_Valid = '1') and (Is_EOF = '0'))]

27

ST_RECEIVE_HEADER_CHECKSUM_1

ST_ERROR

[((In_Valid = '1') and not (Is_EOF = '0'))]

28

ST_RECEIVE_SOURCE_ADDRESS

ST_RECEIVE_DESTINATION_ADDRESS

[((In_Valid = '1') and (Is_EOF = '0') and (IPv4SeqCounter_us = 0))]

29

ST_RECEIVE_SOURCE_ADDRESS

ST_ERROR

[((In_Valid = '1') and not (Is_EOF = '0'))]

30

ST_RECEIVE_DESTINATION_ADDRESS

ST_RECEIVE_DATA_1

[((In_Valid = '1') and (Is_EOF = '0') and (IPv4SeqCounter_us = 0))]

31

ST_RECEIVE_DESTINATION_ADDRESS

ST_ERROR

[((In_Valid = '1') and not (Is_EOF = '0'))]

32

ST_RECEIVE_DATA_1

ST_RECEIVE_DATA_N

[((Is_DataFlow = '1') and (Is_EOF = '0'))]

33

ST_RECEIVE_DATA_1

ST_IDLE

[((Is_DataFlow = '1') and not (Is_EOF = '0'))]

34

ST_RECEIVE_DATA_N

ST_IDLE

[(Is_EOF = '1')]