F-Tile Serial Lite IV Intel® FPGA IPユーザーガイド

ID 741328
日付 6/26/2023
Public
ドキュメント目次

5.1.4.3.2. マルチキャスト・アドレス解決

マルチキャスト アドレスを解決するには、ホスト プロセッサ上で実行されるソフトウェア プログラムまたはハードウェア マルチキャスト アドレス解決エンジンを使用できます。ソフトウェア プログラムを使用したアドレス解決は、特にギガビット モードでシステムのパフォーマンスに影響を与える可能性があります。

MAC 機能は、レジスタ空間内の 64 エントリのハッシュ テーブル、つまりマルチキャスト ハッシュ テーブルを使用して、次の図に示すようにハードウェア マルチキャスト アドレス解決エンジンを実装します。ホストプロセッサは、指定されたアルゴリズムに従ってハッシュテーブルを構築する必要があります。各マルチキャスト アドレスから 6 ビット コードが生成されます。 XOR以下の表に示すようにアドレスビットを設定します。このコードは、ハッシュ テーブル内のエントリのアドレスを表します。テーブルエントリの最上位ビットに 1 を書き込みます。このエントリのアドレスにハッシュされるすべてのマルチキャスト アドレスは有効であり、受け入れられます。

command_configレジスターのMHASH_SELビットを0に設定することにより、送信先アドレスの48ビットすべてから6ビット・コードを生成するか、あるいは、同ビットを1に設定することにより、下位24ビットから6ビット・コードを生成するかを選択できます。後者のオプションでは、6ビット・コードを生成する際に、通常、送信先アドレスの上位24ビットで示されるメーカーのコードを省略できます。

図 19. ハードウェア・マルチキャスト・アドレス解決エンジン


表 16.  ハッシュ・コード生成—送信先アドレスの全ビットに、送信先アドレスの全ビットから6ビット・コードを生成するためのアルゴリズムを示します。
ハッシュ・コード・ビット
0 xorマルチキャストMACアドレス・ビット7:0
1 xorマルチキャストMACアドレス・ビット15:8
2 xorマルチキャストMACアドレス・ビット23:16
3 xorマルチキャストMACアドレス・ビット31:24
4 xorマルチキャストMACアドレス・ビット39:32
5 xorマルチキャストMACアドレス・ビット47:40
表 17.  ハッシュ・コード生成—送信先アドレスの下位24ビットに、送信先アドレスの下位24ビットから6ビット・コードを生成するためのアルゴリズムを示します。
ハッシュ・コード・ビット
0 xorマルチキャストMACアドレス・ビット3:0
1 xorマルチキャストMACアドレス・ビット7:4
2 xorマルチキャストMACアドレス・ビット11:8
3 xorマルチキャストMACアドレス・ビット15:12
4 xorマルチキャストMACアドレス・ビット19:16
5 xorマルチキャストMACアドレス・ビット23:20

MACファンクションは、受信した各マルチキャスト・アドレスと高速マッチング・エンジンとして機能するハッシュ・テーブルを照合し、照合結果が1クロックサイクル内に返されます。

ハッシュ テーブル内のすべてのエントリが 1 であれば、すべてのマルチキャスト フレームが受け入れられます。
注:
  1. ハッシュ テーブル内のすべてのエントリを埋める必要があります。
  2. RX_ENA ハッシュ テーブルを埋める前に、「0」に設定する必要があります。
注意事項 (1) および (2) に従わないと、マルチキャスト パケットの検出中にエラーが発生する可能性があります。