• 検索結果がありません。

;

注記 : ユーザーイ ン タ ーフ ェ イ ス信号は、IP カ タ ロ グで Aurora 8B/10B コ ア を生成す る 際の選択項目に基づいて異な り ます。

フ レー ミ ング イ ン タ ー フ ェ イ ス

図 3-10 に、Aurora 8B/10B コ アの フ レー ミ ン グユーザーイ ン タ ーフ ェ イ ス と TX/RX デー タ 用の AXI4-Stream に準拠 す る ポー ト を示 し ます。

X-Ref Target - Figure 3-9

図 3-9 : 最上位ユーザーイ ン タ ー フ ェ イ ス

X-Ref Target - Figure 3-10

図 3-10 : Aurora 8B/10B コ アのフ レー ミ ングイ ン タ ー フ ェ イ ス (AXI4-Stream)

7;'DWD

&RQWURO

&RQWURO

7;37;1 1)&1XPEHURI,GOHV 1)&5HT 8)&7;0HVVDJH6L]H 8)&7;5HT 8)&7;'DWD

&ORFNLQJ

&ORFN0RGXOH

*73*7;,QWHUIDFH

&ORFN,QWHUIDFH 8VHU,QWHUIDFH

$XURUD%%0RGXOH

1DWLYH)ORZ&RQWURO 1)&,QWHUIDFH 8VHU)ORZ&RQWURO

8)&,QWHUIDFH

'R&&

:DUQ&&

&ORFN

&RPSHQVDWLRQ 0RGXOH

&ORFN

&RPSHQVDWLRQ

6WDWXV

6WDWXV

5;35;1 5;'DWD

1)&$FN 8)&5;'DWD

8)&5;6WDWXV&WUO

8)&7;$FN

&ORFNLQJ

;

PBD[LBU[BWGDWD PBD[LBU[BWNHHS PBD[LBU[BWODVW PBD[LBU[BWYDOLG VBD[LBW[BWGDWD

VBD[LBW[BWNHHS VBD[LBW[BWODVW VBD[LBW[BWYDOLG VBD[LBW[BWUHDG\

$;,7;

,QWHUIDFH

;

第 3 章 : コ ア を使用するデザイ ン

デー タ を送信す る 場合、 ユーザーアプ リ ケーシ ョ ンは制御信号を操作 し て コ アに次を実行 さ せます。

• s_axi_tx_tvalid 信号 と s_axi_tx_tready 信号がアサー ト さ れ る と 、 ユーザー イ ン タ ーフ ェ イ ス の s_axi_tx_tdata バス か ら デー タ を取得 し ます。

• Aurora 8B/10B チ ャ ネルの複数レーンにデー タ を ス ト ラ イ ピ ン グ し ます。

• s_axi_t_tvalid 信号を使用 し てデー タ を送信 し ます。 ユーザー アプ リ ケーシ ョ ンは s_axi_tx_tvalid 信 号をデ ィ アサー ト す る こ と に よ っ て、 ラ イ ンにア イ ド ルを挿入で き ます (停止/一時停止状態にす る)。

• デー タ 送信を中断 し ます (つま り ア イ ド ルを挿入す る) (s_axi_tx_tvalid がデ ィ アサー ト さ れ る)。

• s_axi_tx_tlast がアサー ト さ れ る と 、 最後の フ レーム を カプセル化 し ます。

デー タ を受信す る 場合、 コ アは次を実行 し ます。

• 制御バ イ ト (ア イ ド ル、 ク ロ ッ ク 補正、SCP (Start of Channel PDU)、ECP (End of Channel PDU)) を検出 し て破棄 し ます。

• フ レー ミ ン グ信号 (m_axi_rx_tlast) を アサー ト し ます。

• 複数レーンか ら のデー タ を回復 し ます。

• デー タ を構築 し 、m_axi_rx_tvalid 信号を アサー ト し てユーザー イ ン タ ーフ ェ イ ス の m_axi_rx_tdata バ ス に回復 し たデー タ を示 し ます。

AXI4-Stream のビ ッ ト 順

Aurora 8B/10B コ ア は昇順 を 適用 し ま す。 最上位バ イ ト の最上位 ビ ッ ト を 最初に送受信 し ま す。図 3-11 に、Aurora 8B/10B コ アの AXI4-Stream デー タ イ ン タ ーフ ェ イ ス の n バ イ ト の順序を示 し ます。

デー タ 送信

AXI4-Stream は同期 イ ン タ ーフ ェ イ ス です。Aurora 8B/10B コ アは、s_axi_tx_tready と s_axi_tx_tvalid の両 方がアサー ト (High) さ れてい る サ イ ク ルで、user_clk の立ち上が り エ ッ ジでのみ イ ン タ ーフ ェ イ ス上のデー タ をサ ンプル し ます。

AXI4-Stream 信号のサ ン プ リ ン グ では、s_axi_tx_tvalid が アサー ト さ れてい る 場合のみ有効 と し てみな さ れ ま す。 ユーザーアプ リ ケーシ ョ ンは任意の ク ロ ッ クサ イ ク ルで s_axi_tx_tvalid 信号をデ ィ アサー ト で き ます。 こ れに よ っ て、Aurora 8B/10B コ アはそのサ イ ク ルの AXI4-Stream 入力を無視 し ます。 フ レームの途中で こ の信号がデ ィ アサー ト さ れ る と 、 ア イ ド ルシ ン ボルが Aurora 8B/10B チ ャ ネル経由で送信 さ れ、 結果 と し て RX ユーザーイ ン タ ー フ ェ イ ス で受信 さ れ る フ レームの途中でア イ ド ル サ イ ク ルに遷移 し ます。

AXI4-Stream デー タ は、 フ レームの中に含ま れ る 場合のみ有効です。 フ レームの外にあ る デー タ は無視 さ れます。 フ レーム送信を開始す る 場合、デー タ の最初の ワー ド が s_axi_tx_tdata ポー ト に現れ る 間に s_axi_tx_tvalid を アサー ト し ます。 フ レーム送信を終了す る 場合、 デー タ の最後の ワ ー ド (ま たは一部の ワー ド) が s_axi_tx_tdata ポー ト に現れ る 間に s_axi_tx_tlast を アサー ト し ます。

注記 : フ レームの長 さ がシ ン グルワー ド ま たはそれ以下の場合、s_axi_tx_tvalid と s_axi_tx_tlast が同時に アサー ト さ れます。

X-Ref Target - Figure 3-11

図 3-11 : AXI4-Stream イ ン タ ー フ ェ イ スのビ ッ ト 順

0RVWVLJQLILFDQWELWWUDQVPLWWHGILUVW /HDVWVLJQLILFDQWELWWUDQVPLWWHGODVW

%\WH %\WH %\WHQ

Q Q Q Q Q Q Q Q

7;B'

0RVW6LJQLILFDQW%\WH /HDVW6LJQLILFDQW%\WH

;

最後のデー タ

AXI4-Stream では、 フ レームの最後の ワー ド は不完全な ワ ー ド にな る こ と があ り ます。 し たが っ て、 ワ ー ドサ イ ズ と は関係な く 1 つの フ レームに任意のバ イ ト 数が含ま れます。s_axi_tx_tkeep バ ス を使用 し て、 フ レームの最後の ワ ー ド に含まれ る 有効なバ イ ト 数を示 し ます。 こ のバ ス は、s_axi_tx_tlast がアサー ト さ れ る 場合のみ使用 さ れ ます。

Aurora 8B/10B フ レーム

TX サブモジ ュ ールは、TX イ ン タ ーフ ェ イ ス か ら 受信 し た各ユーザー フ レーム を Aurora 8B/10B フ レームに変換 し ま す。フ レームの開始を示すために フ レームデー タ の始めには 2 バ イ ト の SCP コ ー ド グループが追加 さ れます。フ レー ムの終わ り を示すために フ レーム の最後で 2 バ イ ト の ECP が送信 さ れ ます。 有効なデー タ がない場合は常にア イ ド ルコ ー ド グループが挿入 さ れます。 コ ー ド グループは 8B/10B エン コ ー ド さ れたバ イ ト ペアです。Aurora 8B/10B コ アのすべてのデー タ は、 コ ー ド グループ と し て送信 さ れ る ため、 奇数のバ イ ト 数を含むユーザー フ レームには PAD と 呼ばれ る 制御文字が フ レームの最後に追加 さ れます。表 3-6 に、 偶数のバ イ ト 数を含む標準的な Aurora 8B/10B フ レーム を示 し ます。

長 さ

ユーザー アプ リ ケーシ ョ ン では、s_axi_tx_tvalid お よ び s_axi_tx_tlast 信号を操作 し てチ ャ ネル フ レーム の長 さ を制御 し ます。 それに対 し て Aurora 8B/10B コ アは、 順序セ ッ ト (フ レームの開始 (/SCP/) お よ びフ レームの終 了 (/ECP/)) で対応 し ます (表 3-6 参照)。

例 A : シ ン プルなデー タ 送信

図 3-12 に、AXI4-Stream イ ン タ ーフ ェ イ ス におけ る シ ン プルなデー タ 送信の例を示 し ま す (n バ イ ト 幅)。 こ の場合、

送信 さ れ る デー タ 数は 3n バ イ ト と な る ため、3 デー タ ビー ト 必要です。s_axi_tx_tready がアサー ト さ れ る と 、 AXI4-Stream イ ン タ ーフ ェ イ ス がデー タ 送信の準備が整っ た こ と を示 し ます。Aurora 8B/10B コ アは、 デー タ を送信 し ない間ア イ ド ル シーケ ン ス を送信 し ます。

デー タ 送信を開始す る には、 ユーザー アプ リ ケーシ ョ ンが s_axi_tx_tvalid と ユーザー フ レームの最初の n バ イ ト を アサー ト し ます。s_axi_tx_tready 信号はすでにアサー ト さ れてい る ため、 デー タ 送信は次の ク ロ ッ クエ ッ ジで開始 し ます。 チ ャ ネルの最初の 2 バ イ ト に /SCP/ 順序セ ッ ト が配置 さ れ、 フ レームの開始を示 し ます。 その後最 初の n–2 デー タバ イ ト がチ ャ ネルに配置 さ れます。/SCP/ のオ フ セ ッ ト に よ っ て、 各デー タビー ト の最後の 2 バ イ ト が常に 1 サ イ ク ル遅延 さ れ、 チ ャ ネルの次のビー ト の最初の 2 バ イ ト で送信 さ れます。

デー タ 送信 を 終了す る に は、 ユ ー ザ ーア プ リ ケ ー シ ョ ン が s_axi_tx_tlast と 共 に 最後 の デー タ バ イ ト と s_axi_tx_tkeep バ ス上の適切な値を アサー ト し ます。 こ の例では、s_axi_tx_tkeep が N に設定 さ れてすべて のバ イ ト が最後のデー タ ビー ト で有効であ る こ と を示 し てい ます (デモ用の波形)。s_axi_tx_tlast がアサー ト さ れてか ら 1 ク ロ ッ クサ イ ク ル後に AXI4-Stream イ ン タ ーフ ェ イ ス は s_axi_tx_tready をデ ィ アサー ト し 、 デー タ フ ロ ー間のギ ャ ッ プ を使用 し て最後のオ フ セ ッ ト デー タ バ イ ト と /ECP/ (フ レーム の最後を示す順序セ ッ ト) を送信 し ます。 次のサ イ ク ルで s_axi_tx_tready が再度アサー ト さ れ る ため、 よ り 多 く のデー タ 送信を継続で き ます。新 し いデー タ がなければ、Aurora 8B/10B コ アはア イ ド ルを送信 し ます。

表 3-6 : 標準的なチ ャ ネルフ レーム

/SCP/1 /SCP/2 Data Byte 0 Data Byte 1 Data Byte 2 ... Data Byte

n–1 Data Byte n /ECP/1 /ECP/2

第 3 章 : コ ア を使用するデザイ ン

例 B : パ ッ ド を含むデー タ 送信

図 3-13 に、 パ ッ ド を使用す る 必要があ る (3n–1) バ イ ト のデー タ 送信例を示 し ま す。 デー タ バ イ ト 数が奇数で あ る ため、Aurora 8B/10B コ アは Aurora 8B/10B フ レーム の最後にパ ッ ド と い う 制御文字を追加 し ま す (プ ロ ト コ ルで規 定)。3n–1 デー タ バ イ ト の送信には、2 つの完全な n バ イ ト デー タ ワ ー ド と 1 つのパーシ ャ ル デー タ ワ ー ド が必要 です。 こ の例では、s_axi_tx_tkeep が N–1 に設定 さ れて、 最後のデー タ ワ ー ド に n–1と い う 有効なバ イ ト を示

し てい ます。

例 C : ポーズ ( 中断 ) を含むデー タ 送信

図 3-14 は、 フ レ ーム転送中にユーザー イ ン タ ーフ ェ イ ス は ど の よ う にデー タ 送信を中断す る のか を示 し てい ま す。

こ の例では、 ユーザー アプ リ ケーシ ョ ンが 3n バ イ ト のデー タ を送信 し 、 最初の n バ イ ト の後でデー タ フ ロ ーを中断 し てい ます。 最初のデー タ ワー ド の後、 ユーザーアプ リ ケーシ ョ ンが s_axi_tx_tvalid をデ ィ アサー ト し 、 こ れ に よ っ て TX Aurora 8B/10B コ アはバ ス上のすべてのデー タ を無視 し て、 その代わ り にア イ ド ル文字を送信 し ます。前 のサ イ ク ルの最初のデー タ ワ ー ド か ら のオ フ セ ッ ト デー タ が レーン 0 に ま だ送信 さ れてい ますが、 次のデー タ ワー

ド はア イ ド ル文字に置 き 換え ら れてい ます。PAUSE (中断状態) は、s_axi_tx_tvalid がデ ィ アサー ト さ れ る ま で 継続 し ます。

X-Ref Target - Figure 3-12

図 3-12 : シ ン プルなデー タ 送信

X-Ref Target - Figure 3-13

図 3-13 : パ ッ ド を含むデー タ 送信 XVHUBFON

VBD[LBW[BWYDOLG VBD[LBW[BWUHDG\

VBD[LBW[BWODVW VBD[LBW[BWGDWD>Q@

VBD[LBW[BWNHHS>Q@

; 'DWD 'DWD 'DWD ;

; 1 ;

;

XVHUBFON

VBD[LBW[BWYDOLG VBD[LBW[BWUHDG\

VBD[LBW[BWODVW VBD[LBW[BWGDWD>Q@

VBD[LBW[BWNHHS>Q@

例 D : ク ロ ッ ク 補正を含むデー タ 送信

ク ロ ッ ク 補正シーケ ン ス を送信す る 場合、Aurora 8B/10B コ アは自動的にデー タ 送信を中断 し ます。 ク ロ ッ ク 補正シー ケ ン ス は、10,000 バ イ ト ご と に各レーンに 12 バ イ ト のオーバーヘ ッ ド を課 し ます。

図 3-15 では、 ク ロ ッ ク 補正シーケ ン ス中に Aurora 8B/10B コ アはど の よ う に し てデー タ 送信を中断す る のか を示 し て い ます。

注記 : 10,000 バ イ ト ご と に各レーン に対 し て ク ロ ッ ク 補正が必要な ため (各レーン 2 バ イ ト のデザ イ ン では 5000 ク ロ ッ ク 、 各レーン 4 バ イ ト のデザ イ ンでは 2500 ク ロ ッ ク)、 ユーザーが継続的にデー タ を送受信で き ません。 ク ロ ッ ク 補正期間中、 デー タ 送信は 6 ま たは 6 ク ロ ッ ク 周期間中断 さ れます。

X-Ref Target - Figure 3-14

図 3-14 : ポーズを含むデー タ 送信

X-Ref Target - Figure 3-15

図 3-15 : ク ロ ッ ク補正で中断 さ れるデー タ 送信

;

XVHUBFON VBD[LBW[BWYDOLG VBD[LBW[BWUHDG\

VBD[LBW[BWODVW VBD[LBW[BWGDWD>Q@

VBD[LBW[BWNHHS>Q@

;

XVHUBFON VBD[LBW[BWYDOLG VBD[LBW[BWUHDG\

VBD[LBW[BWODVW VBD[LBW[BWGDWD>Q@

VBD[LBW[BWNHHS>Q@

第 3 章 : コ ア を使用するデザイ ン

デー タ 受信

Aurora 8B/10B コ アが Aurora 8B/10B フ レ ーム を受信す る 場合、 フ レ ー ミ ン グ文字、 ア イ ド ル、 お よ び ク ロ ッ ク 補正 シーケ ン ス を排除 し た後に RX AXI4-Stream イ ン タ ーフ ェ イ ス を介 し てユーザー アプ リ ケーシ ョ ンに こ れ ら を表 し ま す。

RX サブモジ ュ ールには、 ユーザーデー タ 用のビル ト イ ンエ ラ ス テ ィ ッ ク バ ッ フ ァ ーがあ り ません。 その結果、RX AXI4-Stream イ ン タ ー フ ェ イ ス には m_axi_rx_tready 信号が あ り ま せん。 ユーザー ア プ リ ケーシ ョ ン が Aurora

8B/10B チ ャ ネルか ら のデー タ フ ロ ーを制御す る 唯一の方法は、 オプシ ョ ン で コ アの フ ロ ー制御機能を使用す る こ と

です。 ほ と ん ど の場合は、RX デー タ パ ス に FIFO を追加 し て、 フ ロ ー制御 メ ッ セージが送信 さ れてい る 間にデー タ が失われない よ う に し ます。

Aurora 8B/10B コ アは、RX AXI4-Stream イ ン タ ーフ ェ イ ス の信号が有効の場合に m_axi_rx_tvalid 信号を アサー ト し ます。m_axi_rx_tvalid がデ ィ アサー ト (Low) さ れてい る 間に RX AXI4-Stream ポー ト でサンプル さ れた値は無 視 し ます。

m_axi_rx_tvalid 信号 は、Aurora 8B/10B コ ア か ら の 各 フ レ ー ム の 最初 の ワ ー ド と 同時 に ア サ ー ト さ れ ま す。

m_axi_rx_tlast は、 各 フ レ ー ム の 最 後 の ワ ー ド ま た は 部 分 的 な ワ ー ド と 同 時 に ア サ ー ト さ れ ま す。

m_axi_rx_tkeep ポー ト は、 各フ レームの最後の ワー ド に含まれ る 有効なバ イ ト 数を示 し ます。m_axi_rx_tkeep 信号は、m_axi_rx_tlast がアサー ト さ れてい る 場合のみ有効 と な り ます。

Aurora 8B/10B コ ア は、 フ レ ー ム の 途 中 で あ っ て も 常 に m_axi_rx_tvalid を デ ィ ア サ ー ト で き ま す。

m_axi_rx_tvalid をデ ィ アサー ト す る タ イ ミ ン グは、 デー タ の送信方法 と は無関係です。 も と も と フ レームが中断 な し で送信 さ れ る 場合で も 、m_axi_rx_tvalid を任意の タ イ ミ ン グでデ ィ アサー ト で き ます。 こ の よ う な中断は、

コ アが各フ レーム を で き る だけ小 さ い レ イ テ ン シで処理 し よ う と し て、 フ レー ミ ン グ文字の ス ト ラ イ ピ ン グや左に揃 え る プ ロ セ ス を受けた結果 と な り ます。

「例 A : ポーズ (中断) を含むデー タ 受信」 では、 標準的な Aurora 8B/10B フ レームの受信について説明 し てい ます。

例 A : ポーズ ( 中断 ) を含むデー タ 受信

図 3-16 に、 中断 さ れ る 3n バ イ ト のデー タ 受信の例を示 し ます。 デー タ は、m_axi_rx_tdata バ ス上に現れます。 こ のバ ス に最初の n バ イ ト が配置 さ れ る と 、m_axi_rx_tvalid がアサー ト さ れてユーザーアプ リ ケーシ ョ ン にデー タ が有効で あ る こ と を示 し ま す。 最初のデー タ ビー ト の後の ク ロ ッ ク サ イ ク ルで、 コ アは m_axi_rx_tvalid を デ ィ アサー ト し て、 デー タフ ロ ーが中断 さ れ る こ と をユーザーアプ リ ケーシ ョ ンへ示 し ます。

中断後、 コ アは m_axi_rx_tvalid を アサー ト し て m_axi_rx_tdata バ ス上の残 り のデー タ を引 き 続 き 集めて処 理 し ます。 フ レームの最後で m_axi_rx_tlast を アサー ト し ます。 ま た、 コ アは m_axi_rx_tkeep の値 も 計算 し 、 フ レームの最後の ワー ド に含まれ る 有効なバ イ ト 数を考慮 し て、 それ ら を ユーザーアプ リ ケーシ ョ ンに提供 し ます。

X-Ref Target - Figure 3-16

図 3-16 : ポーズを含むデー タ 受信 XVHUBFON

U[BWYDOLG U[BWODVW U[BWGDWD>Q@

U[BWVWUE>Q@

3$86(

; 'DWD ; 'DWD 'DWD ;

; 1 ;

ドキュメント内 LogiCORE IP Aurora 8B/10B v10.2 製品ガ イ ド (PG046) (ページ 47-73)

関連したドキュメント