Architecture rtl of arp_UniCast_Receiver
| Name | Description | 
|---|---|
| T_MAC_BYTEINDEX | |
| T_IP_BYTEINDEX | |
| T_STATE | |
| T_HARDWARE_ADDRESS_INDEX | |
| T_PROTOCOL_ADDRESS_INDEX | 
Processes
- process @(TargetIPAddress_nxt or TargetMACAddress_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)
| # | Current State | Next State | Condition | Comment | 
|---|---|---|---|---|
| 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"02"))] | |
| 25 | ST_RECEIVE_OPERATION_1 | ST_DISCARD_FRAME | [((RX_Valid = '1') and (Is_EOF = '0') and not (RX_Data = x"02"))] | |
| 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 (Writer_Counter_us = HARDWARE_ADDRESS_LENGTH - 1))] | |
| 32 | ST_RECEIVE_TARGET_MAC | ST_ERROR | [((RX_Valid = '1') and not (Is_EOF = '0'))] | |
| 33 | 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))] | |
| 34 | 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))] | |
| 35 | 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))] | |
| 36 | ST_DISCARD_ETHERNET_PADDING_BYTES | ST_COMPLETE | [(Is_EOF = '1')] | |
| 37 | ST_COMPLETE | ST_IDLE | [(Clear = '1')] |