UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 21369

Virtex-II Pro X RocketIO - PMA_SPEED_USE および PMA_SPEED_HEX 属性を使用してカスタム モードを設定する方法

説明

キーワード : function, usage, 機能, 使用法

重要度 : 標準

概要 :
Virtex-II Pro X RocketIO の PMA_SPEED_USE および PMA_SPEED_HEX 属性の機能と使用法について説明します。

ソリューション

PMA_SPEED 属性には、次の構文を使用します。

VHDL

PMA_SPEED : string := "30_16";

VERILOG

// synthesis attribute PMA_SPEED of GT10_OC48_2_INST is "30_16"
defparam GT10_OC48_2_INST.PMA_SPEED = "30_16";

30_16 は、MGT のクロック モードを設定する 120 ビットの 16 進数値に対応しています。 対応する 16 進数値は、(Xilinx XAPP767) : 「RocketIO X Transceiver Clock Mode Switcher for Virtex-II Pro FPGAs」の表 3 に記載されています。

Table 3
Table 3


PMA_SPEED_HEX の 16 進数値を変更すると、カスタムのクロック モードを作成できます。 120 ビットの 16 進数値は、『RocketIO X Transceiver User Guide』の付録 C に記載されている PMA メモリ マップにマップされます。
http://direct.xilinx.co.jp/bvdocs/userguides/ug

Appendix C
Appendix C


たとえば、30_16 の PMA_SPEED 値がどのように PMA メモリ マップにマップされるかを知るには、(Xilinx XAPP767) の表 3 を参照します。120 ビットの 16 真数値が 00fc0d300b0f304430680901050420 であることがわかります。 この値を『RocketIO X Transceiver User Guide』の表 C-2 の値と比較すると、このビットストリームでどのように PMA メモリ マップの値が設定されているかがわかります。

この 16 進数値は、メモリ マップに示される属性を変更するために変更できます。 120 ビットの 16 進数値は MSB 119 ~ LSB 0 で、同様にして PMA メモリ マップにマップされます。 30_16 の 16 進数値 (00fc0d300b0f304430680901050420) を見ると、LSB が右端の 20 であることがわかります。 この 20 バイトは、メモリ マップのアドレス 0x00 にマップされます。このとき、2 はビット 7:4 に、0 は 3:0 に対応します。 次のバイトは 04 で、同様にしてアドレス 0x01 にマップされます。

次に、メモリ マップに並べられた 16 進数値のビットを示します。

Lineup
Lineup


30_16 の 120 ビットの 16 進数値がどのようにクロック モードを設定するかがわかります。 カスタムのクロック モードを作成するには、120 ビットの 16 進数値を作成し、、『RocketIO X Transceiver User Guide』の付録 C にリストされた属性を設定します。

PMA_SPEED_HEX 属性を使用してクロック モードを設定するには、PMA_SPEED_USE 属性値に PMA_SPEED ではなく、PMA_SPEED_HEX を設定する必要があります。

VHDL

PMA_SPEED_USE : string := "PMA_SPEED";

Verilog

// synthesis attribute PMA_SPEED_USE of GT10_OC48_2_INST is "PMA_SPEED_HEX"
defparam GT10_OC48_2_INST.PMA_SPEED_USE = "PMA_SPEED_HEX";

これで、PMA メモリ バスに PMA_SPEED ではなく、PMA_SPEED_HEX が使用されます。

カスタム モードを使用するには、PMA_SPEED_HEX 属性を設定する必要があります。 次に、30_16 のデフォルトの 16 進数値を使用した例を示します。

VHDL

PMA_SPEED_HEX => x"00ffcd24ca1504d00208c9050d4068",

Verilog

// synthesis attribute PMA_SPEED_HEX of GT10_OC48_2_INST is "00fc0d300b0f304430680901050420"
defparam GT10_OC48_2_INST.PMA_SPEED_HEX = 120'h00fc0d300b0f304430680901050420;
AR# 21369
日付 12/15/2012
ステータス アクティブ
種類 一般
このページをブックマークに追加