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

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

フ レーム RX デー タ の想定値が LFSR で計算 さ れます。 受信 し たユーザーデー タ は、 次の AXI4-Stream プ ロ ト コ ル規 則に対 し てチ ェ ッ ク さ れ有効/無効が判断 さ れます。

m_axi_rx_tvalid がアサー ト さ れ る と 、 フ レームが開始 し ます。

1. m_axi_rx_tkeep バス は、m_axi_rx_tlast がアサー ト さ れてい る 間有効 と な り ます。

2. m_axi_rx_tvalid 信号は、 想定値 と 実際の値が比較 さ れてい る 間アサー ト さ れ る 必要があ り ます。

X-Ref Target - Figure 5-6

図 5-6 : Aurora 64B/66B コ アのユーザー K の TX イ ン タ ー フ ェ イ ス (FRAME_GEN) XVHUBFON

86(5.

7;,) VBD[LBXVHUBNBW[BWUHDG\

FKDQQHOBXS

VBD[LBXVHUBNBWGDWD> Q@

VBD[LBXVHUBNBW[BWYDOLG

;

UHVHW

表 5-6 : FRAME_GENユーザー K ユーザー I/O ポー ト (TX)

名前 方向 説明

s_axi_user_k_tdata [0:(n*64–1)] 出力 ユーザー K ブ ロ ッ ク デー タ です。s_axi_user_k_tx_tdata =

{4'h0, USER K BLOCK NO, USER K DATA[0:56n–1]}

s_axi_user_k_tx_tvalid 出力 s_axi_user_k_tdata ポー ト 上のユーザー K デー タ が有効の場

合にアサー ト さ れます (ア ク テ ィ ブ High)。

s_axi_user_k_tx_tready 入力

Aurora 8B/10B コ アが s_axi_user_k_tx_tdata イ ン タ ーフ ェ イ ス か ら デー タ を読み出す準備が整 う と アサー ト (ア ク テ ィ ブ High) さ れます。

channel_up 入力 Aurora 8B/10B チ ャ ネルの初期化が完了 し 、 チ ャ ネルがデー タ 送信

可能な状態にな る と アサー ト さ れます (ア ク テ ィ ブ High)。

user_clk 入力 Aurora 64B/66B コ ア と ユーザー アプ リ ケーシ ョ ン で共有 さ れ る パ

ラ レルク ロ ッ ク です。

reset 入力 Aurora コ ア を リ セ ッ ト し ます (ア ク テ ィ ブ High)。

m_axi_rx_tdata ポー ト に入力 さ れ る RX デー タ が レ ジ ス タ に格納 さ れて、FRAME_CHECK 内に あ る 計算 さ れた RX デー タ と 比較 さ れ ます。 入力 さ れた RX デー タ が想定 し た RX デー タ と 一致 し ない場合、8 ビ ッ ト カ ウ ン タ ーが イ ン ク リ メ ン ト さ れます。 こ のエ ラ ーカ ウ ン タ ーは、data_err_count ポー ト を介 し てユーザーアプ リ ケーシ ョ ン へ伝え ら れます。 エ ラ ー カ ウ ン タ ーは、255 に達す る と カ ウ ン ト を停止 し ます。

注記:カ ウ ン タ ーは、 リ セ ッ ト し て 0 に戻す こ と がで き ます。

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

表5-7 では、FRAME_CHECK フ レー ミ ン グ RX デー タ ポー ト と それ ら の説明を示 し てい ます。

X-Ref Target - Figure 5-7

図 5-7 : Aurora 64B/66B コ アの フ レー ミ ング RX デー タ イ ン タ ー フ ェ イ ス (FRAME_CHECK)

表 5-7 : FRAME_CHECK フ レー ミ ングのユーザー I/O ポー ト (RX)

名前 方向 説明

m_axi_rx_tdata[0:(64n–1)] 入力 チ ャ ネル パー ト ナーか ら 入力 さ れ る フ レ ーム デー タ です (昇ビ ッ

ト 順)。

m_axi_rx_tkeep[0:n–1] 入力 最 後 の デ ー タ ビ ー ト で 有 効 な バ イ ト 数 を 示 し ま す。

m_axi_rx_tlast がアサー ト さ れてい る 場合のみ有効です。

m_axi_rx_tvalid 入力

Aurora コ ア か ら のデー タ お よ び制御信号が有効の場合に アサー ト

(High) さ れます。Aurora コ アか ら のデー タ ま たは制御信号を無視す る 場合にはデ ィ アサー ト (Low) さ れます。

m_axi_rx_tlast 入力 入 力 さ れ る フ レ ー ム の 最 後 を 示 し ま す (ア ク テ ィ ブ High で、

user_clk の 1 サ イ ク ル間アサー ト さ れ る)。

data_err_count[0:7] 出力 フ レーム チ ェ ッ カーが受信 し た想定値 と 異な る RX フ レームデー

タ ワ ー ド 数を示 し ます。

channel_up 入力 Aurora 8B/10B チ ャ ネルの初期化が完了 し 、 チ ャ ネルがデー タ 送信

可能な状態にな る と アサー ト さ れます (ア ク テ ィ ブ High)。

user_clk 入力 Aurora 64B/66B コ ア と ユーザーアプ リ ケーシ ョ ン で共有 さ れ る パ

ラ レル ク ロ ッ ク です。

reset 入力 Aurora コ ア を リ セ ッ ト し ます (ア ク テ ィ ブ High)。

PBD[LBU[BWGDWD> Q@

)UDPLQJ 5;'DWD,QWHUIDFH PBD[LBU[BWNHHS> Q@

PBD[LBU[BWYDOLG

PBD[LBU[BWODVW

XVHUBFON

FKDQQHOBXS

GDWDBHUUBFRXQW>@

;

UHVHW

ス ト リ ー ミ ン グ RX デー タ イ ン タ ー フ ェ イ ス

• ス ト リ ー ミ ン グモー ド の場合、 入力 さ れ る RX デー タ が想定 さ れた RX デー タ に対 し て比較 さ れます。

• RX デー タ は、m_axi_rx_tvalid がアサー ト さ れてい る 場合のみ比較 さ れます。

図5-8 に、RX デー タ 用の Aurora 64B/66B コ アの FRAME_CHECK ス ト リ ー ミ ン グユーザーイ ン タ ーフ ェ イ ス を示 し ます。

表5-8 では、FRAME_CHECK ス ト リ ー ミ ン グ RX デー タ ポー ト と それ ら の説明を示 し てい ます。

X-Ref Target - Figure 5-8

図 5-8 : Aurora 64B/66B コ アのス ト リ ー ミ ング RX デー タイ ン タ ー フ ェ イ ス (FRAME_CHECK)

表 5-8 : FRAME_CHECK ス ト リ ー ミ ングのユーザー I/O ポー ト (RX)

名前 方向 説明

m_axi_rx_tdata[0:(64n–1)] 入力 チ ャ ネル パー ト ナーか ら 入力 さ れ る フ レーム デー タ です (昇ビ ッ

ト 順)。

m_axi_rx_tvalid 入力

Aurora コ アか ら のデー タ お よ び制御信号が有効の場合にアサー ト

(High) さ れ ま す。Aurora コ アか ら のデー タ ま たは制御信号を無視 す る 場合にはデ ィ アサー ト (Low) さ れます。

data_err_count[0:7] 出力 フ レームチ ェ ッ カーが受信 し た想定値 と 異な る RX デー タ ワ ー ド

数を示 し ます。

channel_up 入力 Aurora 8B/10B チ ャ ネルの初期化が完了 し 、 チ ャ ネルがデー タ 送信

可能な状態にな る と アサー ト さ れます (ア ク テ ィ ブ High)。

user_clk 入力 Aurora 64B/66B コ ア と ユーザーアプ リ ケーシ ョ ンで共有 さ れ る パ

ラ レル ク ロ ッ ク です。

reset 入力 Aurora コ ア を リ セ ッ ト し ます (ア ク テ ィ ブ High)。

PBD[LBU[BWGDWD> Q@

6WUHDPLQJ 5;'DWD,QWHUIDFH PBD[LBU[BWYDOLG

XVHUBFON

FKDQQHOBXS

GDWDBHUUBFRXQW>@

;

UHVHW

UFC RX イ ン タ ー フ ェ イ ス

• UFC RX デー タ の想定値が LFSR で計算 さ れます。

• エ ラ ーチ ェ ッ ク 機能お よ びカ ウ ン タ ーロ ジ ッ ク は、「フ レー ミ ン グ RX デー タ イ ン タ ーフ ェ イ ス」 と 同 じ です。

• 入力 さ れたm_axi_ufc_rx_tdata が想定 し た RX UFC デー タ と 一致 し ない場合、8 ビ ッ ト カ ウ ン タ ーが イ ン ク リ メ ン ト さ れます。

• こ のエ ラ ー カ ウ ン タ ーは、ufc_err_count ポー ト を介 し てユーザー アプ リ ケーシ ョ ンへ伝え ら れます。

図5-9 に、Aurora 64B/66B コ アの FRAME_CHECK UFC RX イ ン タ ーフ ェ イ ス と UFC RX デー タ 用の AXI4-Stream に 準拠す る ポー ト を示 し ます。

X-Ref Target - Figure 5-9

図 5-9 : Aurora 64B/66B コ アの UFC RX イ ン タ ー フ ェ イ ス (FRAME_CHECK) PBD[LBXIFBU[BWGDWD>Q@

8)&

5;,QWHUIDFH PBD[LBXIFBU[BWNHHS> Q@

PBD[LBXIFBU[BWYDOLG PBD[LBXIFBU[BWODVW XVHUBFON

XIFBHUUBFRXQW>@

;

FKDQQHOBXS UHVHW

表5-9 では、FRAME_CHECK UFC RX デー タ ポー ト と それ ら の説明を示 し てい ます。

ユーザー K の RX イ ン タ ー フ ェ イ ス

• 想定値 と 実際のユーザー K デー タ が比較 さ れてい る 間、m_axi_rx_user_k_tvalid がアサー ト さ れます。

• 入力 さ れ る m_axi_rx_user_k_tdata があ ら か じ め定義 さ れたユーザー K デー タ に対 し て比較 さ れます。

• こ れ ら が一致 し ない場合、8 ビ ッ ト の user_k_err_count が イ ン ク リ メ ン ト さ れます。

• こ のエ ラ ー カ ウ ン タ ーは、user_k_err_count ポー ト を介 し てユーザー アプ リ ケーシ ョ ンへ伝え ら れます。

図5-10 に、Aurora 64B/66B コ ア の FRAME_CHECK ユーザー K RX イ ン タ ー フ ェ イ ス と ユーザー K RX デー タ 用の AXI4-Stream に準拠す る ポー ト を示 し ます。

表5-10 では、FRAME_CHECK ユーザー K の RX デー タポー ト と それ ら の説明を示 し てい ます。

表 5-9 : FRAME_CHECK UFC のユーザー I/O ポー ト (RX)

名前 方向 説明

m_axi_ufc_rx_tdata [0:(64n–1)] 入力 チ ャ ネルパー ト ナーか ら 送 ら れ る UFC メ ッ セージデー タ です。

m_axi_ufc_rx_tkeep [0:n–1] 入力

UFC メ ッ セージの最後の ワ ー ド で m_axi_ufc_rx_tdata ポー ト に 現 れ る 有 効 な バ イ ト デ ー タ 数 を 指 定 し ま す。

m_axi_ufc_rx_tlast が ア サー ト さ れ て い る 場合のみ有効で す。n = 最大 256 バ イ ト

m_axi_ufc_rx_tvalid 入力

m_axi_ufc_rx_tdata ポー ト の値が有効な場合に ア サー ト さ れ ま す (ア ク テ ィ ブ High)。 こ の信号が ア サー ト さ れ な い場合、

m_axi_ufc_rx_tdata ポー ト のすべての値は無視 さ れます。

m_axi_ufc_rx_tlast 入力 入力 さ れ る UFC メ ッ セージの終わ り を示 し ます。

ufc_err_count[0:7] 出力 フ レ ーム チ ェ ッ カーが受信 し た想定値 と 異な る RX UFC デー タ

ワー ド 数を示 し ます。

channel_up 入力 Aurora 8B/10B チ ャ ネルの初期化が完了 し 、 チ ャ ネルがデー タ 送

信可能な状態にな る と アサー ト さ れます (ア ク テ ィ ブ High)。

user_clk 入力 Aurora 64B/66B コ ア と ユーザー ア プ リ ケーシ ョ ン で共有 さ れ る

パ ラ レルク ロ ッ ク です。

reset 入力 Aurora コ ア を リ セ ッ ト し ます (ア ク テ ィ ブ High)。

X-Ref Target - Figure 5-10

図 5-10 : Aurora 64B/66B コ アのユーザー K RX イ ン タ ー フ ェ イ ス (FRAME_CHECK) PBD[LBXVHUBNBU[BWGDWD>Q@

86(5.

5;,QWHUIDFH PBD[LBXVHUBNBU[BWYDOLG

XVHUBFON

FKDQQHOBXS

XVHUBNBHUUBFRXQW>@

;

UHVHW

Aurora 64B/66B サンプル デザ イ ンは、 合成は XST で検証 さ れ、 シ ミ ュ レーシ ョ ンは Mentor Graphics Questa® で検証 さ れてい ます。

サン プル デザイ ンの実装

サンプルデザ イ ンは、IP コ アか ら 生成す る 必要があ り ます。 こ れを行 う には、 生成 し た IP を右 ク リ ッ ク し ます。 右 ク リ ッ ク メ ニ ュ ーか ら [Open Example Design] を ク リ ッ ク し ます。 こ れで、 生成 し た IP コ ア用のサンプル デザ イ ンが 開 き ます。[Run Implementation] を ク リ ッ ク す る と 、合成 と イ ンプ リ メ ン テーシ ョ ン を実行で き ます。その他、[Generate Bitstream] を ク リ ッ ク し て、 ビ ッ ト ス ト リ ーム を生成で き ます。

注記:XDC でデザ イ ンのすべての入力お よ び出力ポー ト に LOC お よ び IO 規格を指定す る 必要があ り ます。

サン プル デザイ ンのハー ド ウ ェ ア リ セ ッ ト FSM

Aurora 64B/66B v9.2 コ ア サ ン プル デザ イ ン には、 反復 リ セ ッ ト の実行や リ ン ク の堅牢性を モニ タ ーす る ハー ド ウ ェ ア リ セ ッ ト FSM が統合 さ れてい ます。 こ の FSM には、 リ セ ッ ト 信号のアサー ト 間隔を異な る 値に設定す る オプシ ョ ン も あ り ます。 ま た、channel_up と link_reset の状態遷移カ ウ ン タ ーが連続的にモニ タ ー さ れて、VIO を介 し てテ ス ト ス テー タ ス が レ ポー ト さ れます。

リ ン ク をプ ロ ーブす る ために、 次の信号がデフ ォ ル ト の ILA お よ び VIO に追加 さ れてい ます。

i_ila

• tx_d_i[0:15] : LocalLink Frame Gen モジ ュ ールか ら の TX デー タ 信号

• rx_d_i[0:15] : LocalLink Frame チ ェ ッ ク モジ ュ ールへの RX デー タ 信号

• data_err_count_o : 8 ビ ッ ト のデー タエ ラ ーカ ウ ン ト 値 (通常動作では 'd0 )

• lane_up_vio_usrclk : lane_up信号

• channel_up_i : channel_up 信号

• soft_err_i : ソ フ ト エ ラ ーモニ タ ー 表 5-10 : FRAME_CHECK ユーザー K のユーザー I/O ポー ト (RX)

名前 方向 説明

m_axi_rx_user_k_tvalid 入力 m_axi_rx_user_k_tdata ポー ト 上のユーザー K デー タ が

有効の場合にアサー ト さ れます (ア ク テ ィ ブ High)。

m_axi_rx_user_k_tdata[0:(64n–1)] 入力

Aurora レーンか ら ユーザー K ブ ロ ッ ク を受信 し ます。

各レーンの信号マ ッ プ :

m_axi_rx_user_k_tdata={4'h0, User K Block No, User K Data}

user_k_err_count[0:7] 出力 フ レーム チ ェ ッ カーが受信 し た想定値 と 異な る RX ユーザー K

デー タ ワー ド 数を示 し ます。

channel_up 入力 Aurora チ ャ ネルの初期化が完了 し 、 チ ャ ネルがデー タ 送信可能

な状態にな る と アサー ト さ れます (ア ク テ ィ ブ High)。

user_clk 入力 Aurora 64B/66B コ ア と ユーザー アプ リ ケーシ ョ ンで共有 さ れ る

パ ラ レルク ロ ッ ク です。

reset 入力 Aurora コ ア を リ セ ッ ト し ます (ア ク テ ィ ブ High)。

• hard_err_i : ハー ド エ ラ ーモニ タ ー vio1_inst :

• sysreset_from_vio_i : サンプルデザ イ ンのreset入力

• gtreset_from_vio_i : サンプルデザ イ ンのpma_init

• vio_probe_in2 : リ ン ク ス テー タ ス用の ク オ リ テ ィ カ ウ ン タ ー

• rx_cdrovrden_i : ループバ ッ クモー ド を有効にす る 間使用

• loopback_i : ループバ ッ ク モー ド を有効にす る 間使用 vio2_inst :

• reset_quality_cntrs : サンプルデザ イ ンのすべての ク オ リ テ ィ カ ウ ン タ ーを リ セ ッ ト す る 際に使用

• reset_test_fsm_from_vio : ハー ド ウ ェ ア リ セ ッ ト テ ス ト FSM を リ セ ッ ト す る 際に使用

• reset_test_enable_from_vio : ハー ド ウ ェ ア上で VIO ポー ト を介 し て反復 リ セ ッ ト テ ス ト を有効化/開始 す る 場合に使用

iteraion_cnt_sel_from_vio : 開始す る 反復 リ セ ッ ト の反復回数。 固定の反復回数を示すエン コ ー ド さ れた 4 ビ ッ ト の値で、[Vivado lab tools] がオンに設定 さ れてい る 場合にサンプルデザ イ ンに表示

• lnk_reset_in_initclk : link_reset のアサー ト を モニ タ ーす る ための入力プ ロ ーブ

• soft_err_in_initclk : soft_err ス テー タ ス をモニ タ ーす る ための入力プ ロ ーブ

• chan_up_transcnt_20bit_i [15:8] : channel_up の ト ラ ンザ ク シ ョ ン回数。 完了 し た リ セ ッ ト 反復回数 を モニ タ ーす る ために使用

注記:

a. chan_up_transcnt_20bit_i は、[15:8] ビ ッ ト のみプ ロ ーブ さ れます。 し たがっ て、 こ のプ ロ ーブは ス テー タ ス の更新に多少時間がかか り ます。

b. リ セ ッ ト 反復回数を変更す る 場合は、iteraion_cnt_sel_from_vio のそれぞれの値を変更 し 、 それに 応 じ て chan_up_transcnt_20bit_i を選択 し て ス テー タ ス をプ ロ ーブ し ます。

vio3_inst :

• test_passed_r : リ セ ッ ト が問題な く 完了 し た場合、 それぞれの反復回数が終了 し た後に、 こ のテ ス ト パ ス ス テー タ ス がアサー ト

• test_failed_r : channel_up 信号の欠如ま たはデー タ エ ラ ーが生 じ た場合に、 こ のテ ス ト フ ェ イ ルス テー タ ス がアサー ト

• lnkrst_cnt_20bit_vio_i : link_reset がアサー ト さ れ る 回数を モニ タ ーす る ためのプ ロ ーブ信号

• reset_test_fsm_chk_time_sel : リ セ ッ ト 信号がデ ィ アサー ト さ れた後、channel_up のアサー ト 用ハー ド ウ ェ ア reset_fsm チ ェ ッ ク タ イ ム を選択す る ための、 エン コ ー ド さ れた 3 ビ ッ ト のプ ロ ーブ信号

ハー ド ウ ェ ア FSM オペレーシ ョ ン :

サンプルデザ イ ン (<user_component_name>_exdes.v) には、 反復 リ セ ッ ト 時の リ ン ク の堅牢性を テ ス ト す る た め に、 ハ ー ド ウ ェ ア 主 導 の 反 復 リ セ ッ ト FSM が 追 加 さ れ て い ま す。 こ の FSM に は、IDLE、ASSERT_RST、 DASSERT_RST、WAIT、WAIT1、CHECK、FAIL、 お よ び DONE ス テー ト があ り ます。

1. IDLE ス テー ト 時には、 リ セ ッ ト テ ス ト に合格 し た こ と を示す test_passed_r、 リ セ ッ ト テ ス ト に合格 し なか っ た こ と を示す test_failed_r、 お よ び リ セ ッ ト の反復回数を示す timer_r がデフ ォ ル ト の 0 にな り ます。

2. vio か ら の reset_test_enable_from_vio 信号がアサー ト さ れ る と 、 ハー ド ウ ェ ア FSM が ASSERT_RST ス テー ト へ遷移 し 、pma_init が指定時間 (28 ビ ッ ト のカ ウ ン ト 数) アサー ト さ れます。

3. こ の pma_init がアサー ト さ れ る こ と に よ っ て、 リ ン ク パー ト ナーがホ ッ ト プ ラ グ を検出 し ます。 その後、ハー ド ウ ェ ア FSM が DEASSERT_RST ス テー ト へ遷移 し 、pma_init がデ ィ アサー ト さ れて タ イ マーにデフ ォ ル ト 値があ ら か じ め ロ ー ド さ れます。 こ の値は、reset_test_fsm_chk_time_sel vio 信号を使用 し て指定で き ま す。

ドキュメント内 LogiCORE IP Aurora 64B/66B v9.2 製品ガイド (PG074) (ページ 105-139)

関連したドキュメント