gmacgrp_vlan_hash_table_reg

         
The 16-bit Hash table is used for group address filtering based on VLAN tag when Bit 18 (VTHM) of Register 7 (VLAN Tag Register) is set. For hash filtering, the content of the 16-bit VLAN tag or 12-bit VLAN ID (based on Bit 16 (ETV) of VLAN Tag Register) in the incoming frame is passed through the CRC logic and the upper four bits of the calculated CRC are used to index the contents of the VLAN Hash table. For example, a hash value of 4b'1000 selects Bit 8 of the VLAN Hash table. 
The hash value of the destination address is calculated in the following way: 

1. Calculate the 32-bit CRC for the VLAN tag or ID (See IEEE 802.3, Section 3.2.8 for the steps to calculate CRC32). 
2. Perform bitwise reversal for the value obtained in Step 1. 
3. Take the upper four bits from the value obtained in Step 2. 
If the corresponding bit value of the register is 1'b1, the frame is accepted. Otherwise, it is rejected. Because the Hash Table register is double-synchronized to the (G)MII clock domain, the synchronization is triggered only when Bits[15:8] (in little-endian mode) or Bits[7:0] (in big-endian mode) of this register are written. 

Notes:
 * Because of double-synchronization, consecutive writes to this register should be performed after at least four clock cycles in the destination clock domain.
      
Module Instance Base Address Register Address
i_emac_emac0 0xFF800000 0xFF800588
i_emac_emac1 0xFF802000 0xFF802588
i_emac_emac2 0xFF804000 0xFF804588

Size: 32

Offset: 0x588

Access: RW

Important: The value of a reserved bit must be maintained in software. When you modify registers containing reserved bit fields, you must use a read-modify-write operation to preserve state and prevent indeterminate system behavior.
Bit Fields
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

Reserved

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

vlht

RW 0x0

gmacgrp_vlan_hash_table_reg Fields

Bit Name Description Access Reset
15:0 vlht
This field contains the 16-bit VLAN Hash Table.
RW 0x0