以下の2つの方法で、トランシーバ・チャネルのPMAコントロールをダイナミックにリコン フィギュレーションできます。
■ 方法1—特定のトランシーバ・チャネルのPMAコントロールをリコンフィギュレーションで きます。詳細は、5–52ページの「方法1」を参照してください。
■ 方法2—logical_channel_addressポートを使用しないで、トランシーバ・チャネルの PMAコントロールをダイナミックにリコンフィギュレーションできます。この方法を使用 すると、ダイナミック・リコンフィギュレーション・コントローラに接続されたすべての トランシーバ・チャネルのPMAコントロールがリコンフィギュレーションされます。詳細 は、5–54ページの「方法2」を参照してください。
いずれの方法にも、rx_tx_duplex_sel[1:0]ポートを追加して使用できます。このポート の幅は2ビットに固定されています。
以下の項に2つの方法を詳細に説明しています。
図5–20. ALTGX_RECONFIG MegaWizard Plug-In ManagerでのPMAコントロール用ダイナミック・
リコンフィギュレーション・コントローラ・ポート
方法1
方法1を使用すると、logical_channel_addressポートを使用し、その他のアクティブ・
チャネルに影響を与えることなく、トランシーバ・チャネルのPMAコントロールをダイナミッ クにリコンフィギュレーションできます。5–49ページの図5–19に示すように、Analog controls 画面でUse 'logical_channel_address' port for Analog controls reconfigurationオプションを 選択すると、logical_channel_address_portポートをイネーブルできます。この方法は、
ダイナミック・リコンフィギュレーション・コントローラが複数のチャネルを制御するデザイ ンにのみ適用できます。
rx_tx_duplex_sel[1:0] 入力ポートに対応する値を設定することにより、トランシーバ・
チャネルのレシーバ部、トランスミッタ部、またはレシーバ部とトランスミッタ部の両方を追 加でリコンフィギュレーションできます。
PMAコントロール・ポートの接続
方法1を使用する場合、ALTGX_RECONFIGインスタンスによって制御されるチャネル数に関 係なく、選択されたPMAコントロール・ポートの幅は固定されたままです。
■ tx_vodctrlおよびtx_vodctrl_outは3ビットに固定されます。
■ t x _ p r e e m p _ 0 t、t x _ p r e e m p _ 1 t、t x _ p r e e m p _ 2 t、t x _ p r e e m p _ 0 t _ o u t、 tx_preemp_1t_out、およびtx_preemp_2t_outは5ビットに固定されます。
■ rx_eqdcgainおよびrx_eqdcgainは3ビットに固定されます。
■ rx_eqctrl_outおよびrx_eqctrl_outは4ビットに固定されます。
ライト・トランザクション
選択したPMAコントロール・ポートを希望の設定にします(例えば、tx_vodctrl = 3'b000)。
入力ポートlogical_channel_addressを、リコンフィギュレーションしたいPMAコント ロ ー ル を 持 つ ト ラ ン シ ー バ・チ ャ ネ ル の 論 理 チ ャ ネ ル・ア ド レ ス に 設 定 し ま す。
rx_tx_duplex_sel[1:0]ポートを2'b10に設定して、送信PMAコントロールのみがトラン シーバ・チャネルに書き込まれるようにします。ライト・トランザクションを開始する前に、
busy信号がLowであることを確認します。write_all信号を1 reconfig_clkクロック・サ イクルの間アサートします。これにより、ライト・トランザクションが開始されます。
busy出力ステータス信号がHighにアサートされて、ダイナミック・リコンフィギュレーショ ン・コントローラがPMAコントロール値の書き込みでビジーであることを示します。ライト・
トランザクションが完了すると、busy信号はLowになります。図5–21に、ライト・トラン ザクション波形を示します。
リード・トランザクション
この例では、ALTGX_RECONFIGインスタンスによって制御される特定のチャネルのトランス ミッタ部の送信VODコントロール・レジスタから既存のVOD値を読み出します。このシナリ オでのリード・トランザクションは、以下のステップで説明されています。
1. 入力logical_channel_addressポートを、読み出したいPMAコントロール(例えば、
tx_vodctrl_out)を持つトランシーバ・チャネルの論理チャネル・アドレスに設定しま す。
2. rx_tx_duplex_sel[1:0]ポートを2'b10に設定して、送信PMAコントロールのみがト ランシーバ・チャネルから読み出されるようにします。
3. リード・トランザクションを開始する前に、busy信号がLowであることを確認します。
4. read信号を1 reconfig_clkクロック・サイクルの間アサートします。これにより、リー ド・トランザクションが開始されます。
busy出力ステータス信号がHighにアサートされて、ダイナミック・リコンフィギュレーショ ン・コントローラがPMAコントロール値の読み出しでビジーであることを示します。リード・
トランザクションが完了すると、busy信号はLowになります。data_valid信号がアサート され、リード・コントロール信号で使用可能なデータが有効であることを示します。
図5–21. 方法1—ライト・トランザクション波形
図5–21の注:
(1) チャネルのトランスミッタ部にのみ書き込む場合を検討してみましょう。
(2) この波形は、ダイナミック・リコンフィギュレーション・コントローラに接続されているチャネル数が4本と仮定したものです。した がって、logical_channel_addressポートは2ビット幅です。
reconfig_clk
rx_tx_duplex_sel [1:0] (1) write_all
2’b00 2’b10
2’b01 2’b00
3’b00 3’b11
busy
tx_vodctrl [2:0]
logical_address_channel [1:0] (2)
図5–22に、リード・トランザクション波形を示します。
1 ライト・トランザクションとリード・トランザクションは同時に実行できません。
方法2
方法2は、トランシーバ・チャネルのPMAコントロールをダイナミックにリコンフィギュレー ションするのにlogical_channel_address ポートを必要としません。方法 2 を使用する と、ALTGX_RECONFIGインスタンスに接続されたすべてのトランシーバ・チャネルのPMA コントロールがリコンフィギュレーションされます。
図5–22. 方法1—リード・トランザクション波形
図5–22の注:
(1) チャネルのトランスミッタ部からのみ読み出す場合を検討してみましょう。
(2) この波形は、ダイナミック・リコンフィギュレーション・コントローラに接続されているチャネル数が4本と仮定したものです。した がって、logical_channel_addressポートは2ビット幅です。
reconfig_clk
rx_tx_duplex_sel [1:0] (1) write_all
2’b00 2’b10
2’b01 2’b00
3’b000 3’bXXX 3’b0
busy
tx_vodctrl [2:0]
logical_address_channel [1:0] (2)
data_valid
図5–23に、ALTGX_RECONFIG MegaWizard Plug-In ManagerのUse the same control signal for all the channelsオプションを示します。
Use the same control signal for all the channelsオプションがイネーブルされている場合 Use the same control signal for all the channels オプションは、ALTGX_RECONFIG MegaWizard Plug-In ManagerのAnalog controls画面で提供されています。このオプションが イネーブルされている場合、PMAコントロール・ポートの幅は以下のとおり固定されます。
ライト・トランザクションで使用されるPMAコントロール・ポート
■ tx_vodctrlは3ビットに固定されます。
■ tx_preemp_0t、tx_preemp_1t、tx_preemp_2tは5ビットに固定されます。
■ rx_eqdcgainは3ビットに固定されます。
■ rx_eqctrlは4ビットに固定されます。
リード・トランザクションで使用されるPMAコントロール・ポート
■ tx_vodctrl_outは1チャネルあたり3ビットです。
■ tx_preemp_0t_out、tx_preemp_1t_out、およびtx_preemp_2t_outは1チャネルあ たり5ビットです。
■ rx_eqdcgain_outは1チャネルあたり3ビットです。
■ rx_eqctrl_outは1チャネルあたり4ビットです。
例えば、ダイナミック・リコンフィギュレーション・コントローラによって制御されるチャネ ル数が2の場合、tx_vodctrl_outは6ビット幅です。
図5–23. ALTGX_RECONFIG MegaWizard Plug-In ManagerのUse the same control signal for all the channels オプション
ライト・トランザクション
選択したPMAコントロール・ポートで設定した値が、ALTGX_RECONFIGインスタンスに接 続されたすべてのトランシーバ・チャネルに書き込まれます。
トランシーバ・チャネルのVODをリコンフィギュレーションするためにALTGX_RECONFIG MegaWizard Plug-In Managerのtx_vodctrlをイネーブルしたとします。
以下は、図5–24 に示すように、VOD をリコンフィギュレーションするためにライト・トラン ザクションで必要なステップです。
1. ライト・トランザクションを開始する前に、選択したPMAコントロール・ポートを希望の 設定にします(例えば、tx_vodctrl = 3'b000)。
2. rx_tx_duplex_sel[1:0]ポートを2'b10に設定して、送信PMAコントロールのみがト ランシーバ・チャネルに書き込まれるようにします。
3. ライト・トランザクションを開始する前に、busy信号がLowであることを確認します。
4. write_all信号を1 reconfig_clkクロック・サイクルの間アサートします。これによ り、ライト・トランザクションが開始されます。
5. busy出力ステータス信号がHighにアサートされて、ダイナミック・リコンフィギュレー ション・コントローラがPMAコントロール値の書き込みでビジーであることを示します。
ライト・トランザクションが完了すると、busy信号はLowになります。
図5–24. 方法2:ライト・トランザクション波形—Use the same control signal for all the channelsオプションが イネーブルされている場合
reconfig_clk
rx_tx_duplex_sel [1:0]
write_all
(1) 2’b00 2’b10
3’b00 3’b11
busy
tx_vodctrl [2:0]
リード・トランザクション
ALTGX_RECONFIG インスタンスに接続された特定のチャネルから既存の値を読み出したい
場合は、リード・トランザクション完了後のPMAコントロール出力ポートの対応するバイト 位置を遵守します。
例えば、ALTGX_RECONFIGによって制御されるチャネル数が2の場合、tx_vodctrl_out は6ビット幅です。tx_vodctrl_out[2:0]はチャネル1に対応し、同様に、tx_vodctrl_
out[5:3]はチャネル2に対応します。
以下に、第2チャネルのVOD値を読み出すステップを示します。
1. リード・トランザクションを開始する前に、rx_tx_duplex_sel[1:0]ポートを2'b10に 設定して、送信PMAコントロールのみがトランシーバ・チャネルから読み出されるように します。
2. リード・トランザクションを開始する前に、busy信号がLowであることを確認します。
3. read信号を1 reconfig_clkクロック・サイクルの間アサートします。これにより、リー ド・トランザクションが開始されます。
4. busy出力ステータス信号がHighにアサートされて、ダイナミック・リコンフィギュレー ション・コントローラがPMAコントロール設定の読み出しでビジーであることを示します。
5. リード・トランザクションが完了すると、busy信号はLowになります。data_valid信 号がアサートされ、リード・コントロール信号で使用可能なデータが有効であることを示 します。チャネル2の現在のVOD値を読み出には、tx_vodctrl_out[5:3]の値を遵守 します。