Architecture rtl of arp_BroadCast_Receiver
Name |
Description |
---|---|
T_STATE |
|
T_HARDWARE_ADDRESS_INDEX |
|
T_PROTOCOL_ADDRESS_INDEX |
Processes
- process @ ( TargetIPAddress_nxt or SenderIPAddress_nxt or SenderMACAddress_nxt or Address_rst or Writer_Counter_us or IsIPv6_r or IsIPv4_r or Is_EOF or Is_SOF or RX_Data or RX_Valid or Clear or State or ) [source]
# |
Current State |
Next State |
Condition |
---|---|---|---|
1 |
ST_IDLE |
ST_RECEIVE_HARDWARE_type_1 |
[((Is_SOF = '1') and (Is_EOF = '0') and (RX_Data = x"00"))] |
2 |
ST_IDLE |
ST_DISCARD_FRAME |
[((Is_SOF = '1') and (Is_EOF = '0') and not (RX_Data = x"00"))] |
3 |
ST_IDLE |
ST_ERROR |
[((Is_SOF = '1') and not (Is_EOF = '0'))] |
4 |
ST_RECEIVE_HARDWARE_type_1 |
ST_RECEIVE_PROTOCOL_type_0 |
[((RX_Valid = '1') and (Is_EOF = '0') and (RX_Data = x"01"))] |
5 |
ST_RECEIVE_HARDWARE_type_1 |
ST_DISCARD_FRAME |
[((RX_Valid = '1') and (Is_EOF = '0') and not (RX_Data = x"01"))] |
6 |
ST_RECEIVE_HARDWARE_type_1 |
ST_ERROR |
[((RX_Valid = '1') and not (Is_EOF = '0'))] |
7 |
ST_DISCARD_FRAME |
ST_ERROR |
[(Is_EOF = '1')] |
8 |
ST_ERROR |
ST_IDLE |
[(Clear = '1')] |
9 |
ST_RECEIVE_PROTOCOL_type_0 |
ST_RECEIVE_PROTOCOL_type_1 |
[((RX_Valid = '1') and (Is_EOF = '0') and (ALLOWED_PROTOCOL_IPV4 = TRUE and RX_Data = x"08")), ((RX_Valid = '1') and (Is_EOF = '0') and not (ALLOWED_PROTOCOL_IPV4 = TRUE and RX_Data = x"08") and (ALLOWED_PROTOCOL_IPV6 = TRUE and RX_Data = x"86"))] |
10 |
ST_RECEIVE_PROTOCOL_type_0 |
ST_DISCARD_FRAME |
[((RX_Valid = '1') and (Is_EOF = '0') and not (ALLOWED_PROTOCOL_IPV4 = TRUE and RX_Data = x"08") and not (ALLOWED_PROTOCOL_IPV6 = TRUE and RX_Data = x"86"))] |
11 |
ST_RECEIVE_PROTOCOL_type_0 |
ST_ERROR |
[((RX_Valid = '1') and not (Is_EOF = '0'))] |
12 |
ST_RECEIVE_PROTOCOL_type_1 |
ST_RECEIVE_HARDWARE_ADDRESS_LENGTH |
[((RX_Valid = '1') and (Is_EOF = '0') and (IsIPv4_r = '1' and RX_Data = x"00")), ((RX_Valid = '1') and (Is_EOF = '0') and not (IsIPv4_r = '1' and RX_Data = x"00") and (IsIPv6_r = '1' and RX_Data = x"66"))] |
13 |
ST_RECEIVE_PROTOCOL_type_1 |
ST_DISCARD_FRAME |
[((RX_Valid = '1') and (Is_EOF = '0') and not (IsIPv4_r = '1' and RX_Data = x"00") and not (IsIPv6_r = '1' and RX_Data = x"66"))] |
14 |
ST_RECEIVE_PROTOCOL_type_1 |
ST_ERROR |
[((RX_Valid = '1') and not (Is_EOF = '0'))] |
15 |
ST_RECEIVE_HARDWARE_ADDRESS_LENGTH |
ST_RECEIVE_PROTOCOL_ADDRESS_LENGTH |
[((RX_Valid = '1') and (Is_EOF = '0') and (RX_Data = x"06"))] |
16 |
ST_RECEIVE_HARDWARE_ADDRESS_LENGTH |
ST_DISCARD_FRAME |
[((RX_Valid = '1') and (Is_EOF = '0') and not (RX_Data = x"06"))] |
17 |
ST_RECEIVE_HARDWARE_ADDRESS_LENGTH |
ST_ERROR |
[((RX_Valid = '1') and not (Is_EOF = '0'))] |
18 |
ST_RECEIVE_PROTOCOL_ADDRESS_LENGTH |
ST_RECEIVE_OPERATION_0 |
[((RX_Valid = '1') and (Is_EOF = '0') and (IsIPv4_r = '1' and RX_Data = x"04")), ((RX_Valid = '1') and (Is_EOF = '0') and not (IsIPv4_r = '1' and RX_Data = x"04") and (IsIPv6_r = '1' and RX_Data = x"10"))] |
19 |
ST_RECEIVE_PROTOCOL_ADDRESS_LENGTH |
ST_DISCARD_FRAME |
[((RX_Valid = '1') and (Is_EOF = '0') and not (IsIPv4_r = '1' and RX_Data = x"04") and not (IsIPv6_r = '1' and RX_Data = x"10"))] |
20 |
ST_RECEIVE_PROTOCOL_ADDRESS_LENGTH |
ST_ERROR |
[((RX_Valid = '1') and not (Is_EOF = '0'))] |
21 |
ST_RECEIVE_OPERATION_0 |
ST_RECEIVE_OPERATION_1 |
[((RX_Valid = '1') and (Is_EOF = '0') and (RX_Data = x"00"))] |
22 |
ST_RECEIVE_OPERATION_0 |
ST_DISCARD_FRAME |
[((RX_Valid = '1') and (Is_EOF = '0') and not (RX_Data = x"00"))] |
23 |
ST_RECEIVE_OPERATION_0 |
ST_ERROR |
[((RX_Valid = '1') and not (Is_EOF = '0'))] |
24 |
ST_RECEIVE_OPERATION_1 |
ST_RECEIVE_SENDER_MAC |
[((RX_Valid = '1') and (Is_EOF = '0') and (RX_Data = x"01"))] |
25 |
ST_RECEIVE_OPERATION_1 |
ST_DISCARD_FRAME |
[((RX_Valid = '1') and (Is_EOF = '0') and not (RX_Data = x"01"))] |
26 |
ST_RECEIVE_OPERATION_1 |
ST_ERROR |
[((RX_Valid = '1') and not (Is_EOF = '0'))] |
27 |
ST_RECEIVE_SENDER_MAC |
ST_RECEIVE_SENDER_IP |
[((RX_Valid = '1') and (Is_EOF = '0') and (Writer_Counter_us = HARDWARE_ADDRESS_LENGTH - 1))] |
28 |
ST_RECEIVE_SENDER_MAC |
ST_ERROR |
[((RX_Valid = '1') and not (Is_EOF = '0'))] |
29 |
ST_RECEIVE_SENDER_IP |
ST_RECEIVE_TARGET_MAC |
[((RX_Valid = '1') and (Is_EOF = '0') and (IsIPv4_r = '1' and Writer_Counter_us = PROTOCOL_IPV4_ADDRESS_LENGTH - 1)), ((RX_Valid = '1') and (Is_EOF = '0') and not (IsIPv4_r = '1' and Writer_Counter_us = PROTOCOL_IPV4_ADDRESS_LENGTH - 1) and (IsIPv6_r = '1' and Writer_Counter_us = PROTOCOL_IPV6_ADDRESS_LENGTH - 1))] |
30 |
ST_RECEIVE_SENDER_IP |
ST_ERROR |
[((RX_Valid = '1') and not (Is_EOF = '0'))] |
31 |
ST_RECEIVE_TARGET_MAC |
ST_RECEIVE_TARGET_IP |
[((RX_Valid = '1') and (Is_EOF = '0') and (RX_Data = x"00") and (Writer_Counter_us = HARDWARE_ADDRESS_LENGTH - 1))] |
32 |
ST_RECEIVE_TARGET_MAC |
ST_DISCARD_FRAME |
[((RX_Valid = '1') and (Is_EOF = '0') and not (RX_Data = x"00"))] |
33 |
ST_RECEIVE_TARGET_MAC |
ST_ERROR |
[((RX_Valid = '1') and not (Is_EOF = '0'))] |
34 |
ST_RECEIVE_TARGET_IP |
ST_DISCARD_ETHERNET_PADDING_BYTES |
[((RX_Valid = '1') and (Is_EOF = '0') and (IsIPv4_r = '1' and Writer_Counter_us = PROTOCOL_IPV4_ADDRESS_LENGTH - 1)), ((RX_Valid = '1') and (Is_EOF = '0') and not (IsIPv4_r = '1' and Writer_Counter_us = PROTOCOL_IPV4_ADDRESS_LENGTH - 1) and (IsIPv6_r = '1' and Writer_Counter_us = PROTOCOL_IPV6_ADDRESS_LENGTH - 1))] |
35 |
ST_RECEIVE_TARGET_IP |
ST_COMPLETE |
[((RX_Valid = '1') and not (Is_EOF = '0') and (IsIPv4_r = '1' and Writer_Counter_us = PROTOCOL_IPV4_ADDRESS_LENGTH - 1)), ((RX_Valid = '1') and not (Is_EOF = '0') and not (IsIPv4_r = '1' and Writer_Counter_us = PROTOCOL_IPV4_ADDRESS_LENGTH - 1) and (IsIPv6_r = '1' and Writer_Counter_us = PROTOCOL_IPV6_ADDRESS_LENGTH - 1))] |
36 |
ST_RECEIVE_TARGET_IP |
ST_ERROR |
[((RX_Valid = '1') and not (Is_EOF = '0') and not (IsIPv4_r = '1' and Writer_Counter_us = PROTOCOL_IPV4_ADDRESS_LENGTH - 1) and not (IsIPv6_r = '1' and Writer_Counter_us = PROTOCOL_IPV6_ADDRESS_LENGTH - 1))] |
37 |
ST_DISCARD_ETHERNET_PADDING_BYTES |
ST_COMPLETE |
[(Is_EOF = '1')] |
38 |
ST_COMPLETE |
ST_IDLE |
[(Clear = '1')] |