[source]

Architecture rtl of net_FrameChecksum

FIXME: review writer-FSM: check full signals => block incoming words/frames if datafifo or metafifo is full

Types

Name

Description

T_WRITER_STATE
T_METAWRITER_STATE
T_READER_STATE

Processes

process @ ( MetaFIFO_Misc_Full or DataFIFO_Full or Checksum0_nxt_cy or WordCounter_us or In_Data or In_EOF or In_SOF or In_Valid or Writer_State or ) [source]
ST_IDLE ST_IDLE ST_FRAME ST_FRAME ST_CARRY_1 ST_CARRY_1 ST_CARRY_2 ST_CARRY_2 1 [((In_Valid and In_SOF and not DataFIFO_Full = '1') and not (In_EOF = '1'))] 3 [((In_Valid and not DataFIFO_Full = '1') and (In_EOF = '1') and not (Checksum0_nxt_cy = '0'))] 2 [((In_Valid and not DataFIFO_Full = '1') and (In_EOF = '1') and (Checksum0_nxt_cy = '0'))] 4 [(Checksum0_nxt_cy = '0')] 5 [not (Checksum0_nxt_cy = '0')] 6 [EMPTY]
FSM Transitions for Writer_State

#

Current State

Next State

Condition

1

ST_IDLE

ST_FRAME

[((In_Valid and In_SOF and not DataFIFO_Full = '1') and not (In_EOF = '1'))]

2

ST_FRAME

ST_IDLE

[((In_Valid and not DataFIFO_Full = '1') and (In_EOF = '1') and (Checksum0_nxt_cy = '0'))]

3

ST_FRAME

ST_CARRY_1

[((In_Valid and not DataFIFO_Full = '1') and (In_EOF = '1') and not (Checksum0_nxt_cy = '0'))]

4

ST_CARRY_1

ST_IDLE

[(Checksum0_nxt_cy = '0')]

5

ST_CARRY_1

ST_CARRY_2

[not (Checksum0_nxt_cy = '0')]

6

ST_CARRY_2

ST_IDLE

[EMPTY]

process @ ( MetaFIFO_Misc_DataOut or MetaFIFO_Misc_Valid or DataFIFO_DataOut or DataFIFO_Valid or Out_Ack or Reader_State or ) [source]
ST_IDLE ST_IDLE ST_FRAME ST_FRAME 1 [((DataFIFO_Valid and MetaFIFO_Misc_Valid = '1') and (Out_Ack = '1') and (DataFIFO_DataOut(EOF_BIT) = '0'))] 2 [((Out_Ack = '1') and (DataFIFO_DataOut(EOF_BIT) = '1'))]
FSM Transitions for Reader_State

#

Current State

Next State

Condition

1

ST_IDLE

ST_FRAME

[((DataFIFO_Valid and MetaFIFO_Misc_Valid = '1') and (Out_Ack = '1') and (DataFIFO_DataOut(EOF_BIT) = '0'))]

2

ST_FRAME

ST_IDLE

[((Out_Ack = '1') and (DataFIFO_DataOut(EOF_BIT) = '1'))]