LatticeECP3 SERDES/PCS 使用ガ イ ド 2012 年 8 月 テクニカルノート TN1176 概要 LatticeECP3 ™ FPGA フ ァ ミ リ は、 高性能 FPGA フ ァ ブ リ ッ ク 、 高性能 I/O、 及び最大 16 チ ャ ネルの組み込み SERDES 及び関連す る PCS (Physical Coding Sublayer) ロ ジ ッ ク を集積 し てい ます。 多数の業界標準高速デー タ 転送プ ロ ト コ ルに対応す る よ う 、 PCS ロ ジ ッ ク を構成す る こ と がで き ます。 PCS ロ ジ ッ ク の各チ ャ ネルに専用の送受信 SERDES を含み、 最大デー タ レー ト 3.2Gbps の高速全二重シ リ ア ルデー タ 転送に対応 し ます。 PCS ロ ジ ッ ク は、 GbE、 XAUI、 SONET/SDH、 PCI Express、 SRIO、 CPRI、 OBSAI、 SD-SDI、 HD-SDI、 3G-SDI を含む一連のデー タ プ ロ ト コ ルに対応す る よ う 、 各チ ャ ネルを構成す る こ と がで き ます。 さ ら に、 ユーザの高速デー タ イ ン タ ーフ ェ イ ス設計に柔軟に対応で き る よ う に、 多 く の構成でプ ロ ト コ ルベース の ロ ジ ッ ク を完全か部分的にバ イ パ スす る こ と がで き ます。 ま た PCS はバ イ パ ス モー ド を提供 し 、 SERDES か ら FPGA ロ ジ ッ ク へは 8 ビ ッ ト 、 ま たは 10 ビ ッ ト の直接 イ ン タ ーフ ェ イ ス があ り ます。 それぞれの SERDES ピ ンは個別に DC カ ッ プ リ ン グに設定す る こ と で き 、 シ リ アル・デジ タ ルビデオ(SDI)用途では高速動作 と 低速動作を、同 じ SERDES ピ ンで対応す る こ と が可能です。 機能 • 最大 16 チ ャ ネルの高速 SERDES – 汎用 (Generic) 8b10b、 10 ビ ッ ト SERDES 及び 8 ビ ッ ト SERDES モー ド で 150Mbps ~ 3.2Gbps。 表 8-1 を 参照 – 他のプ ロ ト コ ルでは 230Mbps ~ 3.2Gbps – 3.2Gbps 動作時にチ ャ ネルあ た り 110mW の低消費電力 – 小フ ォ ーム フ ァ ク タ のバ ッ ク プ レーン動作のための受信 イ コ ラ イ ザ と 送信プ リ エ ン フ ァ シ ス – PCI Express、 ギガ ビ ッ ト ・ イ ーサネ ッ ト (1GbE と SGMII)、 XAUI、 及び他の複数の規格に対応 – ユーザ指定の汎用 (Generic) 8b10b モー ド に対応 – 低速入力用の OOB (Out-of-Band) 信号 イ ン タ ーフ ェ イ ス (ビデオ用途) • 複数の ク ロ ッ ク レー ト に対応 – 各 PCS ク ワ ッ ド 用に個別の基準 ク ロ ッ ク が使用で き 、 単一デバ イ ス で複数のプ ロ ト コ ルレー ト を容易に扱 う こ と が可能 • フル機能の組み込み物理コーデ ィ ン グ ・ サブ レ イ ヤ (PCS) ロ ジ ッ ク で業界標準プ ロ ト コ ルに対応 – デバ イ ス当た り 最大 16 チ ャ ネルの全二重デー タ 通信に対応 – 単一チ ッ プで複数プ ロ ト コ ルに対応 – 8b10b ベース の広 く 採用 さ れてい る パケ ッ ト プ ロ ト コ ルに対応 – SERDES Only モー ド は FPGA ロ ジ ッ ク と 8 ビ ッ ト 、 ま たは 10 ビ ッ ト で直接 イ ン タ ーフ ェ イ ス が可能 • 複数プ ロ ト コ ルに準拠す る ク ロ ッ ク ト レ ラ ン ス補償 (CTC) ロ ジ ッ ク – 基準 ク ロ ッ ク と 受信デー タ レー ト の周波数偏差を補償 – 1/2/4 バ イ ト 長のユーザ定義ス キ ッ プパ タ ーンの使用が可能 • シ ス テ ムデバ ッ グのためのループバ ッ ク モー ド を集積 – シ ス テ ムデバ ッ グのために 3 つのループバ ッ ク モー ド を提供 © 2011 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice. (日本語版は日本語に よ る理解のため一助 と し て提供 し てい ます。 その作成にあ た っ ては可能な限 り 正確を期 し てお り ますが、 原文英語版 と の不一致や不適切な訳 文があ る 場合を含み、 英語版が正 (有効) です。 特に電気的特性 ・ 仕様値係わ る事項については最新版の英語版を必ず参照する よ う にお願い致 し ます。) www.latticesemi.com 8-1 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド LatticeECP2M ™ SERDES/PCS の新機能 • 単一の SERDES ク ワ ッ ド で複数のプ ロ ト コ ル規格に対応。 表 8-1 に示す対応規格ではフルレー ト ま たは ハーフ レー ト で公称周波数 と な っ てい る 必要があ り ます。 構成の柔軟 さ は、 様々なプ ロ ト コ ルや規格の 混在の障害にな っ てはな り ません。 マルチプ ロ ト コ ル ・ グルーピ ン グでは、 PCI Express、 ギガ ビ ッ ト ・ イ ーサネ ッ ト 、 SGMII、 及び Serial RapidIO モー ド に対応 し ます。 • XAUI 準拠機能に対応 し 、 SERDES の最大性能を 3.2Gbps ま で拡張 • SONET/SDH OC-3/STM-1、 OC-12/STM-4、 OC-48/STM-16 の各レー ト に対応 • SD-SDI、 HD-SDI、 及び 3G-SDI 用の送受信 DIV11 への対応を追加。 マルチ レー ト SDI 対応 本テ ク ニ カル ノ ー ト の使い方 Lattice Diamond® 設計ツールは、 PCS の全モー ド に対応 し てい ます。 ほ と ん ど のモー ド は、 特定の業界の標 準デー タ プ ロ ト コ ル用の用途に専用の も の と な っ てい ます。 それ以外のモー ド は汎用性があ り 、 設計者は独 自のカ ス タ ム用途設定が可能です。 Diamond 設計ツールでは、 ユーザが自分のデザ イ ン内で ク ワ ッ ド ご と に モー ド を定義で き ます。 こ のテ ク ニ カル ノ ー ト では、 ツールが対応す る全てのモー ド に対す る 、 SERDES 及 び PCS の動作について説明 し ます。 付録 D を参照 し て く だ さ い。 本 ド キ ュ メ ン ト では、 組み込み SERDES 及び関連す る PCS ロ ジ ッ ク の全機能について詳 し く 説明 し ます。 組 み込み SERDES の電気及び タ イ ミ ン グ特性は、 LatticeECP3 フ ァ ミ リ ・ デー タ シー ト に記載 さ れてい ます。 PCS ロ ジ ッ ク の動作は、 本 ド キ ュ メ ン ト の PCS の項で説明 し ます。 SCI バス か ら ア ク セ ス可能な SERDES 及 び PCS ロ ジ ッ ク に関連す る 、 全ての ス テー タ ス及び コ ン ト ロ ールレ ジ ス タ の一覧表は付録に示 し て あ り ま す。 パ ッ ケージの ピ ン配列情報は、 LatticeECP3 フ ァ ミ リ ・ デー タ シー ト の ピ ン配列情報の項に記載 さ れて い ます。 対応規格 対応す る 規格を表 8-1 に示 し ます。 表 8-1. SERDES が対応する規格 規格 PCI Express 1.1 ギガ ビ ッ ト イ ーサネ ッ ト 、 SGMII デー タ レー ト (Mbps) シス テム基準ク ロ ッ ク (MHz) FPGA ク ロ ッ ク (MHz) 一般的な リ ン ク幅 エ ン コ ー ド 方式 2500 100 250 x1, x2, x4 8b10b 1250 125 125 x1 8b10b 2500 125 250 x1 8b10b 3125 156.25 156.25 x1 8b10b XAUI 3125 156.25 156.25 x4 8b10b Serial RapidIO Type I, Serial RapidIO Type II, Serial RapidIO Type III 1250, 2500, 3125 125, 125, 156.25 125, 250, 156.25 x1, x4 8b10b OBSAI-1, OBSAI-2, OBSAI-3, OBSAI-4 768, 1536, 2304, 3072 76.8, 76.8, 153.6, 115.2, 153.6 76.8, 153.6, 230.4, 153.6 x1 8b10b 614.4, 1228.8, 2457.6, 3072.0 61.44, 61.44, 122.88, 122.88, 153.6 61.44, 122.88, 122.88 153.6 x1 8b10b 1431, 1771, 270, 360, 540 14.31, 17.71, 27, 36, 54 143, 177, 27, 36, 54 x1 NRZI/Scrambled CPRI-1, CPRI-2, CPRI-3, CPRI-4 SD-SDI (259M, 344M) 8-2 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-1. SERDES が対応する規格 (Continued) デー タ レー ト (Mbps) シス テム基準ク ロ ッ ク (MHz) FPGA ク ロ ッ ク (MHz) 一般的な リ ン ク幅 エ ン コ ー ド 方式 HD-SDI (292M) 1483.5, 1485 74.175, 148.35, 74.25, 148.50 74.175, 148.35, 74.25, 148.5 x1 NRZI/Scrambled 3G-SDI (424M) 2967, 2970 148.35, 148.5 148.35, 148.5 x1 NRZI/Scrambled SONET STS-32 SONET STS-122 SONET STS-482 155.52 622.08 2488 15.552 62.208 248.8 15.552 62.208 248.8 x1 N/A 10 ビ ッ ト SERDES 150 - 3125 15 - 312.5 15 - 312.5 x1, x2, x3, x4 N/A 8 ビ ッ ト SERDES 150 - 3125 15 - 312.5 15 - 312.5 x1, x2, x3, x4 N/A 汎用 8b10b 150 - 3125 15 - 312.5 15 - 312.5 x1, x2, x3, x4 8b10b 規格 1. 低速時は SERDES がバ イ パス さ れ、 信号が直接 FPGA コ アに送 ら れます。 2. SONET プ ロ ト コ ルには 8 ビ ッ ト SERDES モー ド で対応 し てい ます。 詳細については、 本 ド キ ュ メ ン ト の SONET のセ ク シ ョ ン を参照 し て く だ さ い。 アーキ テ ク チ ャ 概要 SERDES/PCS ブ ロ ッ ク は独立す る 4 系統の全二重デー タ チ ャ ネル用の ロ ジ ッ ク を含み、 ク ワ ッ ド ご と にア レ ン ジ さ れてい ます。 図 8-1 は LatticeECP3-150 FPGA の SERDES/PCS ク ワ ッ ド の配置を示 し てい ます (他の デバ イ ス では ク ワ ッ ド 数は少な く な り ます)。 図 8-1. LatticeECP3-150 ブ ロ ッ ク 図 8-3 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-2 は LatticeECP3 フ ァ ミ リ の各デバ イ ス にあ る SERDES/PCS ク ワ ッ ド の数を示 し てい ます。 表 8-2. LatticeECP3 デバ イ ス ご と の SERDES/PCS ク ワ ッ ド 数 パ ッ ケージ ECP3-17 ECP3-35 ECP3-70 ECP3-95 ECP3-150 256 ボール ftBGA 1 1 — — — 328 ボール csBGA 2 ch * — — — — 484 ボール ftBGA 1 1 1 1 672 ボール ftBGA — 1 2 2 2 1156 ボール ftBGA — — 3 3 4 1. チ ャ ネル 0 と 3 が使用で き ます 全ての ク ワ ッ ド は、 複数のプ ロ ト コ ルベース のモー ド の 1 つにプ ロ グ ラ ムす る こ と がで き ます。 各 ク ワ ッ ド はそれ自身の基準 ク ロ ッ ク を必要 と し 、 外部か ら パ ッ ケージ ピ ン を介 し て、 あ る いは内部 FPGA ロ ジ ッ ク か ら 供給す る こ と がで き ます。 各 ク ワ ッ ド は、 公称周波数を持つ選択プ ロ ト コ ルに よ っ てプ ロ グ ラ ム可能で、 チ ャ ネルご と に フルレー ト 及 びハーフ レー ト ・ オプシ ョ ン を使用で き ます。 例えば、 2.5Gbps の PCI Express x1 と ギガ ビ ッ ト ・ イ ーサネ ッ ト ・ チ ャ ネルを同一の ク ワ ッ ド で使用 し 、 ギガ ビ ッ ト ・ イ ーサネ ッ ト ・ チ ャ ネルでハーフ レー ト ・ オプシ ョ ン を使用で き ます。 あ る ク ワ ッ ド で PCI Express x1 チ ャ ネル と PCI Express 以外のチ ャ ネルを共有す る 場合 は、 その ク ワ ッ ド の基準 ク ロ ッ ク がその ク ワ ッ ド 内の全てのプ ロ ト コ ル と 互換性を持つ必要があ り ます。 例 えば、 PCI Express スペ ク ト ラ ム分散基準 ク ロ ッ ク は、 多 く のギガ ビ ッ ト ・ イ ーサネ ッ ト 用途 と 互換性があ り ません。 各 ク ワ ッ ド にはそれぞれの基準 ク ロ ッ ク があ る ため、 ク ワ ッ ド が異なれば同一チ ッ プで も 違 う 規格に対応す る こ と がで き ます。 こ の機能に よ り 、 LatticeECP3 フ ァ ミ リ は異な る 規格間のブ リ ッ ジ機能の実装に理想的 なデバ イ ス と な っ てい ます。 PCS ク ワ ッ ド は単に業界標準プ ロ ト コ ル専用なだけではあ り ません。 多 く のユーザ定義のデー タ 操作モー ド のために、 各 ク ワ ッ ド (そ し て ク ワ ッ ド 内の各チ ャ ネル) をプ ロ グ ラ ムす る こ と がで き ます。 例えば、 ワー ド ア ラ イ メ ン ト と ク ロ ッ ク ト レ ラ ン ス補償は、 ユーザ定義の動作 と し てプ ロ グ ラ ムす る こ と がで き ます。 PCS ク ワ ッ ド と チ ャ ネル デバ イ ス の各 ク ワ ッ ド は最大 4 チ ャ ネルの全二重デー タ をサポー ト し ます。 アプ リ ケーシ ョ ンに よ っ ては、 単一 ク ワ ッ ド で 1 ~ 4 チ ャ ネルのいずれ も 利用す る こ と がで き ます。 どの ク ワ ッ ド であれ、 ユーザがチ ャ ネ ルご と に独立 し て設定で き る 多 く のオプシ ョ ンがあ り ます。 図 8-1 には 4 つの PCS ク ワ ッ ド 、 合計 16 の PCS チ ャ ネルを含むデバ イ ス の例を示 し ます。 チ ャ ネル単位の PCS/FPGA イ ン タ ーフ ェ イ ス ・ ポー ト 使用 さ れ る モー ド にかかわ ら ず、 全ての PCS ク ワ ッ ド はパ ッ ケージ ピ ンに共通の外部高速シ リ アル ・ イ ン タ ーフ ェース を持っ てい ます。 し か し なが ら 、 各 PCS モー ド と FPGA ロ ジ ッ ク 間の I/O ポー ト には、 それぞ れの ク ワ ッ ド で選択 さ れたプ ロ ト コ ルに適切 と な る 独自の リ ス ト があ り ます。 本 ド キ ュ メ ン ト では各モー ド 用の ク ワ ッ ド 入出力信号の詳細を記述 し ます。 図 8-2 に SERDES/PCS ク ワ ッ ド の概略を示 し ます。 8-4 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド SERDES Channel 2 Rx + Tx PCS Channel 3 Rx + Tx PCS Channel 2 Rx + Tx AUX Channel SERDES Channel 3 Rx + Tx SERDES Channel 1 Rx + Tx SERDES Channel 0 Rx + Tx Quad Control 図 8-2. SERDES/PCS ク ワ ッ ド のブ ロ ッ ク 図 PCS Channel 1 Rx + Tx PCS Channel 0 Rx + Tx FPGA Core チ ャ ネルの詳細ブ ロ ッ ク 図 図 8-3 は LatticeECP3 SERDES/PCS 単一チ ャ ネルの主要機能の詳細ブ ロ ッ ク 図を表 し てい ます。 こ の図には FPGA でユーザ ロ ジ ッ ク か ら 見え る 全ての主要ブ ロ ッ ク 、 及び制御 と ス テー タ ス信号の大部分が示 さ れてい ます。 ま た、 こ の図はチ ャ ネル SERDES 内の主要なサブブ ロ ッ ク であ る SERDES ブ リ ッ ジ、 PCS コ ア、 及び FPGA ブ リ ッ ジ も 示 し てい ます。 8-5 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-3. LatticeECP3 SERDES/PCS チ ャ ネルの詳細ブ ロ ッ ク 図 SERDES SERDES Bridge (SB) PCS Core FPGA Bridge (FB) Detect Logic rxd_ldr_ch0 rlos_low_ch0_s LOS rx_div11_mode_ch0_c rx_div2_mode_ch0_c REFCLK CDR rx_cdr_lol_ch0_s rx_full_clk_ch0 rx_half_clk_ch0 rx_invert_ch0_c Recovered (Byte) Clock 1/2 Recovered Bit Clock INV hdinp_ch0 D DES 1:8/1:10 CK REFCLK SLB _T 2R_ EN SL B_EQ 2T PD/ Sampler wa_bypass R X_SB_ BYPASS hdinn_ch0 FIFO EQ SL B_T 2R FPGA Core WA decoder bypass 8b10b Decoder rx_gear_bypass ctc bypass CTC FIFO rxdata[23:0]_ch0 Downsample FIFO rxiclk_ch0 LSM ebrd_clk_ch0 ctc_ins_ch0_s, ctc_del_ch0_s ctc_urun_ch0_s, ctc_orun_ch0_s SLB_EQ2T_EN TDRV_DAT_SEL[1:0] Byte Clock Bit Clock TXPLL lsm_status_ch0_s word_align_en_ch0_c 1/2 tx_full_clk_ch0 tx_half_clk_ch0 SEL_BIST_TXD4ENC CK hdoutp_ch0 D txdata[23:0]_ch0 8b10b Encoder SER 8:1/10:1 Upsample FIFO INV hdoutn_ch0 BYPASS TX_GEAR_BYPASS txiclk_ch0 tx_div11_mode_ch0_c, tx_div2_mode_ch0_c, tx_sync_qd_c txd_ldr_ch0 txd_ldr_en_ch0_c tx_idle_ch0_c pcie_con_ch0_s, pcie_done_ch0_s Detect Logic pcie_det_en_ch0_c, pcie_ct_ch0_c ク ロ ッ ク と リ セッ ト PCS ク ワ ッ ド は FPGA ロ ジ ッ ク ・ イ ン タ ーフ ェ イ ス に対 し て、(Tx PLL に) ロ ッ ク し た基準 ク ロ ッ ク 及びチ ャ ネルご と の受信再生 ク ロ ッ ク を供給 し ます。 各 PCS ク ワ ッ ド は こ れ ら の ク ロ ッ ク をプ ラ イ マ リ 、 及びセカ ン ダ リ の FPGA ク ロ ッ ク 配線に提供 し ます。 ま た ク ワ ッ ド の PCS/FPGA イ ン タ ーフ ェ イ ス には、 FPGA フ ァ ブ リ ッ ク か ら 全 4 チ ャ ネルに供給す る 送受信 ク ロ ッ ク ポー ト があ り ます。 各 ク ワ ッ ド には、 ク ワ ッ ド 内の SERDES と PCS ロ ジ ッ ク の両方か、 あ る いは SERDES のみを強制 リ セ ッ ト す る 信号入力があ り ます。 さ ら に送受信方向共に、 PCS ロ ジ ッ ク 専用の リ セ ッ ト がチ ャ ネルご と にあ り ます。 送信デー タ バ ス 送信デー タ パ ス の信号は FPGA か ら PCS ブ ロ ッ ク 内の FPGA ブ リ ッ ジ ま でです。高速伝送規格のために、(制 御 / ス テー タ ス信号 と 共に) 8 ビ ッ ト 幅の内部 PCS デー タ パ ス用に 2:1 変換す る こ と (ギ ア リ ン グ) がで き ます。 PCI Express x1 用 イ ン タ ーフ ェ イ ス の最高速度は 2:1 変換 し ないモー ド で 250MHz です。 ギ ア リ ン グ 2:1 あ り (すなわち、 16 ビ ッ ト 幅デー タ パ ス) で、 最大速度は 156.25MHz (XAUI 4x チ ャ ネルモー ド 用) で す。 SERDES と PCS は、 160MHz (2:1 ギ ア リ ン グ あ り ) の イ ン タ ーフ ェ イ ス速度に対応す る 3.2Gbps デー タ レー ト ま でサポー ト し ます。 8-6 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 受信デー タ バ ス 受信パ ス の信号は、 PCS ブ ロ ッ ク 内の FPGA ブ リ ッ ジか ら FPGA ま でです。 デー タ パ ス は、 8 ビ ッ ト 幅の内 部 PCS デー タ パス用に 2:1 ギ ア リ ン グで き ます。 FPGA イ ン タ ーフ ェ イ ス のデー タ バ ス幅は 16 ビ ッ ト です。 ソ フ ト ウ ェ ア ・ レ ジ ス タ ビ ッ ト で 2:1 ギ ア リ ン グ を禁止す る こ と が可能で、 その場合バ ス幅は半分 (8 ビ ッ ト 幅) に さ れます。 デー タ が 2:1 ギ ア リ ン グ さ れ る と き 、 下位ビ ッ ト (rxdata[9:0]) は最初に受信 さ れた ワー ド に対応 し 、 上位ビ ッ ト (rxdata[19:10]) は 2 番目に受信 さ れた ワー ド に対応 し ます。 デー タ が 2:1 ギ ア リ ン グ な し の場合、 下位ビ ッ ト (rxdata[9:0]) が有効な ビ ッ ト であ り 、 上位ビ ッ ト は使用 さ れ る べ き ではあ り ま せん。 表 8-3 に各プ ロ ト コ ルモー ド におけ る デー タ バス の用途を示 し ます。 表 8-3. モー ド 別のデー タ バス の用途 デー タ バスの PCS セル名 4 G8B10B CPRI OBSAI PCI Express SRIO FF_TX_D_0_0 txdata_ch0[0] FF_TX_D_0_1 txdata_ch0[1] FF_TX_D_0_2 txdata_ch0[2] FF_TX_D_0_3 txdata_ch0[3] FF_TX_D_0_4 txdata_ch0[4] FF_TX_D_0_5 txdata_ch0[5] FF_TX_D_0_6 txdata_ch0[6] FF_TX_D_0_7 8-Bit SERDES txc_ch0[0] GND 10-Bit SERDES SDI txdata_ch0[7] FF_TX_D_0_8 tx_k_ch0[0] FF_TX_D_0_9 tx_force_disp_ch0[0]1 FF_TX_D_0_10 tx_disp_sel_ch0[0]1 FF_TX_D_0_11 XAUI Gigabit Ethernet GND txdata_ch0[8] GND pci_ei_en_ch0[0] txdata_ch0[9] GND xmit_ch0[0]2 GND GND tx_disp_correct_ch0[0] GND FF_TX_D_0_12 txdata_ch0[8] FF_TX_D_0_13 txdata_ch0[9] txdata_ch0[11] FF_TX_D_0_14 txdata_ch0[10] txdata_ch0[12] FF_TX_D_0_15 txdata_ch0[11] txdata_ch0[13] FF_TX_D_0_16 txdata_ch0[12] txdata_ch0[14] FF_TX_D_0_17 txdata_ch0[13] txdata_ch0[15] FF_TX_D_0_18 txdata_ch0[14] txdata_ch0[16] FF_TX_D_0_19 txdata_ch0[15] FF_TX_D_0_20 FF_TX_D_0_21 FF_TX_D_0_22 FF_TX_D_0_23 txdata_ch0[10] txdata_ch0[17] tx_k_ch0[1] txc_ch0[1] tx_force_disp_ch0[1]1 txdata_ch0[18] GND tx_disp_sel_ch0[1]1 GND GND pci_ei_en_ch0[1] txdata_ch0[19] GND xmit_ch0[1]2 GND GND tx_disp_correct_ch0[1] GND FF_RX_D_0_0 rxdata_ch0[0] FF_RX_D_0_1 rxdata_ch0[1] FF_RX_D_0_2 rxdata_ch0[2] FF_RX_D_0_3 rxdata_ch0[3] FF_RX_D_0_4 rxdata_ch0[4] FF_RX_D_0_5 rxdata_ch0[5] FF_RX_D_0_6 rxdata_ch0[6] FF_RX_D_0_7 rxdata_ch0[7] FF_RX_D_0_8 rx_k_ch0[0] rxc_ch0[0] FF_RX_D_0_9 rx_disp_err_ch0[0] rxstatus0_ch0[0] rx_disp_err_ch0[0] FF_RX_D_0_10 rx_cv_err_ch0[0]3 rxstatus0_ch0[1] rx_cv_err_ch0[0]3 FF_RX_D_0_11 NC rxstatus0_ch0[2] NC rxdata_ch0[8] NC rxdata_ch0[9] NC NC FF_RX_D_0_12 rxdata_ch0[8] rxdata_ch0[10] FF_RX_D_0_13 rxdata_ch0[9] rxdata_ch0[11] FF_RX_D_0_14 rxdata_ch0[10] rxdata_ch0[12] FF_RX_D_0_15 rxdata_ch0[11] rxdata_ch0[13] FF_RX_D_0_16 rxdata_ch0[12] rxdata_ch0[14] 8-7 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-3. モー ド 別のデー タ バス の用途 (Continued) デー タ バスの PCS セル名 4 G8B10B CPRI OBSAI PCI Express SRIO Gigabit Ethernet XAUI 8-Bit SERDES 10-Bit SERDES SDI FF_RX_D_0_17 rxdata_ch0[13] rxdata_ch0[15] FF_RX_D_0_18 rxdata_ch0[14] rxdata_ch0[16] FF_RX_D_0_19 rxdata_ch0[15] FF_RX_D_0_20 rxdata_ch0[17] rx_k_ch0[1] rxc_ch0[1] FF_RX_D_0_21 rx_disp_err_ch0[1] rxstatus1_ch0[0] rx_disp_err_ch0[1] FF_RX_D_0_22 rx_cv_err_ch0[1]3 rxstatus1_ch0[1] rx_cv_err_ch0[1]3 FF_RX_D_0_23 NC rxstatus1_ch0[2] NC NC rxdata_ch0[18] rxdata_ch0[19] NC NC 1. force_disp 信号はデー タ ワー ド [7:0] に対 し て tx_disp_sel 信号で選択 さ れた カ ラ ムのビ ッ ト にデ ィ スパ リ テ ィ を強制 し ます。 disp_sel が 1 の場合、 10 ビ ッ ト コ ー ド は ' 現在の RD+' (正のデ ィ スパ リ テ ィ ) カ ラ ムか ら 選択 さ れます。 tx_disp_sel が 0 の 場合、 10 ビ ッ ト コ ー ド は ' 現在の RD-' (負のデ ィ スパ リ テ ィ ) カ ラ ムか ら 選択 さ れます 2. ラ テ ィ ス のギガ ビ ッ ト ・ イ ーサネ ッ ト PCS IP コ アは、 信号 xmit を生成す る 自動ネ ゴ シエーシ ョ ン ・ ス テー ト マシ ン を内蔵 し ます。 こ れはハー ド ロ ジ ッ ク 内で、 ギガ ビ ッ ト ・ イ ーサネ ッ ト ・ ア イ ド ルス テー ト マシ ン と 相互に イ ン タ ーフ ェ イ スす る為に用い ら れます。 3. コ ー ド 違反があ る と き 、 PCS 8b10b パケ ッ ト デ コ ーダはその出力を 0xEE と K アサー ト に置 き 替え ます (K=1 かつ d=EE は 8b10b 符号スペース に定義があ り ません)。 4. FF_TX_D_0_0 : FPGA フ ァ ブ リ ッ ク 送信デー タ バ ス のチ ャ ネル 0 ビ ッ ト 0。 モー ド ご と の制御 / ス テー タ ス信号記述 表 8-4 にモー ド ご と の制御 / ス テー タ ス信号を説明 し ます。 表 8-4. 制御信号 と その機能 信号名 記 述 送信制御信号 tx_k_ch[3:0] チ ャ ネル別。 ア ク テ ィ ブ High 制御キ ャ ラ ク タ ・ イ ン ジケー タ tx_force_disp_ch[3:0] チ ャ ネル別。 disp_sel_ch(0-3) FPGA イ ン タ ー フ ェ イ ス入力から のデ ィ スパ リ テ ィ 値を PCS が受け 付ける よ う にする ア ク テ ィ ブ High 信号 tx_disp_sel_ch[3:0] チ ャ ネル別。 FPGA ロ ジ ッ ク から 供給 さ れるデ ィ スパ リ テ ィ 値。 force_disp_ch(0-3) がハイの と き に有効 tx_correct_disp_ch[3:0] チ ャ ネル別。 ネ イ テ ィ ブ ・ デ ィ スパ リ テ ィ 状態で開始する よ う 8b10b エ ン コ ーダ を調整する こ と で、 アサー ト さ れた と き にデ ィ スパ リ テ ィ 識別子を修正 受信ス テー タ ス信号 rx_k_ch[3:0] チ ャ ネル別。 ア ク テ ィ ブ High 制御キ ャ ラ ク タ ・ イ ン ジケー タ rx_disp_err_ch[3:0] チ ャ ネル別。 関連デー タ でデ ィ スパ リ テ ィ ・ エ ラ ーが検出 さ れた こ と を示す、 PCS が ド ラ イ ブ する ア ク テ ィ ブ High 信号 rx_cv_err_ch[3:0] チ ャ ネル別。 関連デー タ で エ ラ ーが検出 さ れた こ と を示す コ ー ド 違反信号 制御 各モー ド にはそれ特有の制御信号の組があ り 、 FPGA ロ ジ ッ ク か ら 様々な PCS 機能の直接制御を可能に し ま す。 通常 こ れ ら の制御入力は、 それぞれの制御レ ジ ス タ ビ ッ ト への ラ イ ト 操作 と 同等の作用を与え ます。 {signal}_c は、 FPGA コ アか ら FPGA ブ リ ッ ジへの制御信号です。 全ての制御信号は、 SERDES/PCS 内部で同 期化 さ れてか ら 使用 さ れます。 ス テー タ ス 各モー ド にはそれ特有の ス テー タ スやア ラ ーム信号の組があ り 、 FPGA ロ ジ ッ ク か ら モニ タ で き ます。 通常 こ れ ら の ス テー タ ス出力は、 特定の ス テー タ ス ・ レ ジ ス タ ビ ッ ト にそれぞれ対応 し てい ます。 Diamond デザ イ ン ツールは、 こ れ ら のポー ト を PCS FPGA イ ン タ ーフ ェ イ ス に取 り 出すためのオプシ ョ ン をユーザに与え ます。 8-8 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド {signal}_s は、FPGA ブ リ ッ ジか ら FPGA コ アへの ス テー タ ス信号です。全ての ス テー タ ス信号は、SERDES/PCS か ら 同期出力 さ れます。 こ れ ら を ク ロ ッ ク ド メ イ ン と 同期 し てか ら 、 FPGA デザ イ ンで使用す る 必要があ り ます。 制御 と ス テー タ ス に関す る 詳細な情報については " モー ド ご と の制御 / ス テー タ ス信号 " セ ク シ ョ ン を参照 し て く だ さ い。 SERDES/PCS ク ワ ッ ド は 4 チ ャ ネルの Rx と Tx 回路、 及び Tx PLL を含む補助チ ャ ネルを含んでい ます。 Tx PLL への基準 ク ロ ッ ク は、 基準 ク ロ ッ ク 差動入力ピ ンか FPGA コ アか ら 供給す る こ と がで き ます。 ク ワ ッ ド SERDES/PCS マ ク ロ は 4 レーンのデー タ のためにシ リ アル化及びパ ラ レル化機能を実行 し 、マ ク ロ 内の TxPLL は FPGA ロ ジ ッ ク にシ ス テ ム ク ロ ッ ク を提供 し ます。 ま た ク ワ ッ ド は Tx と Rx 各回路で、 フルデー タ レー ト と ハーフ デー タ レー ト 動作モー ド の両方を独立 し てサポー ト し ます。 ブ ロ ッ ク レベルの図を図 8-4 に示 し ます。 図 8-4. SERDES/PCS ブ ロ ッ ク の信号 イ ン タ ーフ ェ イ ス Primary I/O SERDES Client Interface Control Signals from FPGA refclkp refclkn hdinp_ch[3:0] hdinn_ch[3:0] hdoutp_ch[3:0] hdoutn_ch[3:0] sci_sel_quad sci_sel_ch[3:0] sci_wrdata[7:0] sci_wrn sci_addr[5:0] sci_rd sci_rddata[7:0] sci_int txd_ldr_en_ch[3:0]_c tx_div2_mode_ch[3:0]_c rx_div2_mode_ch[3:0]_c tx_div11_mode_ch[3:0]_c rx_div11_mode_ch[3:0]_c tx_idle_ch[3:0]_c pcie_ct_ch[3:0]_c pcie_det_en_ch[3:0]_c sb_felb_ch[3:0]_c r x_invert_ch[3:0]_c rx_pcs_rst_ch[3:0]_c tx_pcs_rst_ch[3:0]_c rx_serdes_rst_ch[3:0]_c tx_serdes_rst_c rst_qd_c serdes_rst_qd_c tx_sync_qd_c word_align_en_ch[3:0]_c tx_pwrup_ch[3:0]_c rx_pwrup_ch[3:0]_c sb_felb_rst_ch[3:0]_c rx_full_clk_ch[3:0] rx_half_clk_ch[3:0] tx_full_clk_ch[3:0] tx_half_clk_ch[3:0] refclk2fpga fpga_txrefclk fpga_rxrefclk_ch[3:0] rxiclk_ch[3:0] txiclk_ch[3:0] SERDES/PCS Quad rxdata_ch0[23:0] rxdata_ch1[23:0] rxdata_ch2[23:0] rxdata_ch3[23:0] RX Data txdata_ch0[23:0] txdata_ch1[23:0] txdata_ch2[23:0] txdata_ch3[23:0] TX Data rxd_ldr_ch[3:0] txd_ldr_ch[3:0] lsm_status_ch[3:0]_s ctc_ins_ch[3:0]_s ctc_del_ch[3:0]_s ctc_urun_ch[3:0]_s ctc_orun_ch[3:0]_s pcie_done_ch[3:0]_s pcie_con_ch[3:0]_s rx_los_low_ch[3:0]_s rx_cdr_lol_ch[3:0]_s tx_pll_lol_qd_s 8-9 Clocks to & from FPGA Low-speed Data Status Signals to FPGA tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド I/O 記述 表 8-5 に PCS ク ワ ッ ド に対す る 全てのデフ ォ ル ト 及びオプシ ョ ンの I/O を リ ス ト ア ッ プ し ます。IPexpress ™ GUI を用い る こ と で PCS ク ワ ッ ド のオプシ ョ ン ポー ト を選ぶ こ と がで き ます。 表 8-5. SERDES_PCS I/O 記述 信号名 I/O タ イプ 記 述 プ ラ イ マ リ I/O, SERDES ク ワ ッ ド hdinp_ch0 I チ ャ ネル 高速 CML 入力、 非反転、 チ ャ ネル 0 hdinn_ch0 I チ ャ ネル 高速 CML 入力、 反転、 チ ャ ネル 0 hdinp_ch1 I チ ャ ネル 高速 CML 入力、 非反転、 チ ャ ネル 1 hdinn_ch1 I チ ャ ネル 高速 CML 入力、 反転、 チ ャ ネル 1 hdinp_ch2 I チ ャ ネル 高速 CML 入力、 非反転、 チ ャ ネル 2 hdinn_ch2 I チ ャ ネル 高速 CML 入力、 反転、 チ ャ ネル 2 hdinp_ch3 I チ ャ ネル 高速 CML 入力、 非反転、 チ ャ ネル 3 hdinn_ch3 I チ ャ ネル 高速 CML 入力、 反転、 チ ャ ネル 3 hdoutp_ch0 O チ ャ ネル 高速 CML 出力、 非反転、 チ ャ ネル 0 hdoutn_ch0 O チ ャ ネル 高速 CML 出力、 反転、 チ ャ ネル 0 hdoutp_ch1 O チ ャ ネル 高速 CML 出力、 非反転、 チ ャ ネル 1 hdoutn_ch1 O チ ャ ネル 高速 CML 出力、 反転、 チ ャ ネル 1 hdoutp_ch2 O チ ャ ネル 高速 CML 出力、 非反転、 チ ャ ネル 2 hdoutn_ch2 O チ ャ ネル 高速 CML 出力、 反転、 チ ャ ネル 2 hdoutp_ch3 O チ ャ ネル 高速 CML 出力、 非反転、 チ ャ ネル 3 hdoutn_ch3 O チ ャ ネル 高速 CML 出力、 反転、 チ ャ ネル 3 refclkp I クワッ ド 基準ク ロ ッ ク入力、 非反転、 専用 CML 入力 refclkn I クワッ ド 基準ク ロ ッ ク入力、 反転、 専用 CML 入力 送受信デー タ バス (詳細なバス使用法については表 8-3 及び 8-4 を参照) rxdata_ch0[23:0] O チ ャ ネル チ ャ ネル 0 受信デー タ パスのデー タ 信号 rxdata_ch1[23:0] O チ ャ ネル チ ャ ネル 1 受信デー タ パスのデー タ 信号 rxdata_ch2[23:0] O チ ャ ネル チ ャ ネル 2 受信デー タ パスのデー タ 信号 rxdata_ch3[23:0] O チ ャ ネル チ ャ ネル 3 受信デー タ パスのデー タ 信号 txdata_ch0[23:0] I チ ャ ネル チ ャ ネル 0 送信デー タ パスのデー タ 信号 txdata_ch1[23:0] I チ ャ ネル チ ャ ネル 1 送信デー タ パスのデー タ 信号 txdata_ch2[23:0] I チ ャ ネル チ ャ ネル 2 送信デー タ パスのデー タ 信号 txdata_ch3[23:0] I チ ャ ネル チ ャ ネル 3 送信デー タ パスのデー タ 信号 tx_idle_ch[3:0] _c I SERDES ト ラ ン ス ミ ッ タ によ る電気的ア イ ド ルの送信制御 チ ャ ネル 1 = SERDES ト ラ ン ス ミ ッ タ が電気的ア イ ド ルを強制的に出力 0 = 通常動作 pcie_det_en_ch[3:0]_c I FPGA ロ ジ ッ ク (ユーザロ ジ ッ ク) が SERDES ブ ロ ッ ク に、 PCI チ ャ ネル Express レ シーバ検出動作の要求がある こ と を通知 1 = PCI Express レ シーバ検出を イ ネーブル、 0 = 通常動作 pcie_ct_ch[3:0]_c I チ ャ ネル 1 = ト ラ ン ス ミ ッ タ に フ ァ ーエ ン ド ・ レ シーバ検出を要求 0 = 通常のデー タ 動作 rx_invert_ch[3:0]_c I チ ャ ネル 受信デー タ の反転制御 1 = デー タ を反転、 0 = デー タ を反転 し ない word_align_en_ch[3:0]_c I カ ン マア ラ イ ナを制御 チ ャ ネル 1 = カ ン マア ラ イ ナを イ ネーブル 0 = カ ン マア ラ イ ナを現在の位置にロ ッ ク 制御信号 8-10 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-5. SERDES_PCS I/O 記述 (Continued) 信号名 I/O タ イプ 記 述 sb_felb_ch[3:0]_c I チ ャ ネル SERDES ブ リ ッ ジ ・ パラ レルループバ ッ ク 1 = RX から TX へのループバ ッ ク を イ ネーブル、 0 = 通常のデー タ 動作 sb_felb_rst_ch[3:0]_c I チ ャ ネル SERDES ブ リ ッ ジ ・ パラ レルループバ ッ ク FIFO のク リ ア 1 = ループバ ッ ク FIFO を リ セ ッ ト 、 0 = 通常のループバ ッ ク 動作 tx_sync_qd_c I クワッ ド シ リ ア ラ イザの リ セ ッ ト 遷移 = リ セ ッ ト 、 レ ベル = 通常動作 rx_div2_mode_ch[3:0]_c I チ ャ ネル レ シーバのレー ト モー ド 選択 (フル / ハー フ レー ト ) 1 = ハー フ レー ト 、 0 = フ ルレー ト tx_div2_mode_ch[3:0]_c I チ ャ ネル ト ラ ン ス ミ ッ タ のレー ト モー ド 選択 (フル / ハー フ レー ト ) 1 = ハー フ レー ト 、 0 = フ ルレー ト rx_div11_mode_ch[3:0]_c I チ ャ ネル レ シーバのレー ト モー ド 選択 (DIV11/ フルレー ト ) 1 = DIV11 レー ト 、 0 = フ ルレー ト tx_div11_mode_ch[3:0]_c I チ ャ ネル ト ラ ン ス ミ ッ タ のレー ト モー ド 選択 (DIV11/ フルレー ト ) 1 = DIV11 レー ト 、 0 = フ ルレー ト txd_ldr_en_ch{3:0]_c I チ ャ ネル 低デー タ レー ト TX シ リ アルパスのイ ネーブル 1 = イ ネーブル、 0 = デ ィ セーブル rx_pcs_rst_ch[3:0]_c I チ ャ ネル ア ク テ ィ ブ High、 非同期入力。 PCS 内の個々の受信チ ャ ネルロ ジ ッ ク のみを リ セ ッ ト tx_pcs_rst_ch[3:0]_c I チ ャ ネル ア ク テ ィ ブ High、 非同期入力。 PCS 内の個々の送信チ ャ ネルロ ジ ッ ク のみを リ セ ッ ト rx_serdes_rst_ch[3:0]_c I チ ャ ネル ア ク テ ィ ブ High、 SERDES 受信チ ャ ネル内の一部ロ ジ ッ ク のみを リ セッ ト tx_serdes_rst_c I クワッ ド ア ク テ ィ ブ High、 SERDES 全送信チ ャ ネル内の一部ロ ジ ッ ク のみを リ セッ ト rst_qd_c I クワッ ド ア ク テ ィ ブ High、 非同期入力。 補助チ ャ ネル及び PCS を含む SERDES 全チ ャ ネルを リ セ ッ ト serdes_rst_qd_c I クワッ ド ア ク テ ィ ブ High、 SERDES ク ワ ッ ド への非同期入力。 PCS ロ ジ ッ ク以 外のク ワ ッ ド チ ャ ネルを含む SERDES 全チ ャ ネルを リ セ ッ ト tx_pwrup_ch[3:0]_c I チ ャ ネル ア ク テ ィ ブ High 送信チ ャ ネル ・ パワーア ッ プ。 0 = 送信チ ャ ネルパ ワーダウン rx_pwrup_ch[3:0]_c I チ ャ ネル ア ク テ ィ ブ High 受信チ ャ ネル ・ パワーア ッ プ。 0 = 受信チ ャ ネルパ ワーダウン pcie_done_ch[0:3]_s O チ ャ ネル 1 = フ ァ ーエ ン ド ・ レ シーバ検出完了 0 = フ ァ ーエ ン ド ・ レ シーバ検出未完了 pcie_con_ch[3:0]_s O フ ァ ーエ ン ド ・ レ シーバ検出の結果 チ ャ ネル 1 = フ ァ ーエ ン ド ・ レ シーバ検出 0 = フ ァ ーエ ン ド ・ レ シーバ不検出 rx_los_low_ch[3:0]_s O チ ャ ネル 各チ ャ ネル用 LOS (LO THRESHOLD RANGE) 検出 lsm_status_ch[3:0]_s O チ ャ ネル 1 = レーンはカ ン マに同期 0 = レーンはカ ン マ を不検出 ctc_urrun_ch[3:0]_s O チ ャ ネル 1 = 受信ク ロ ッ ク補償 FIFO のア ン ダー ラ ン エ ラ ー 0 = FIFO エ ラ ーな し ctc_orun_ch[3:0]_s O チ ャ ネル 1 = 受信ク ロ ッ ク補償 FIFO のオーバー ラ ン エ ラ ー 0 = FIFO エ ラ ーな し rx_cdr_lol_ch[3:0]_s O チ ャ ネル 1 = 受信 CDR LOL 0 = ロ ッ ク を維持 tx_pll_lol_qd_s O クワッ ド 1 = 送信 PLL LOL 0 = ロ ッ ク を維持 ctc_ins_ch[3:0]_s O チ ャ ネル 1 = CTC がスキ ッ プキ ャ ラ ク タ を挿入 リ セ ッ ト 信号 ス テー タ ス信号 8-11 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-5. SERDES_PCS I/O 記述 (Continued) 信号名 ctc_del_ch[3:0]_s I/O O タ イプ 記 述 チ ャ ネル 1 = CTC がスキ ッ プキ ャ ラ ク タ を削除 FPGA イ ン タ ー フ ェ イ ス ・ ク ロ ッ ク rx_full_clk_ch[3:0] O 受信チ ャ ネル再生ク ロ ッ ク。 ユーザモー ド では、 ソ ースは常にチ ャ ネ ルの再生ク ロ ッ ク。 10 GbE な どの CTC サポー ト の規格では、 ソ ース は当該送信チ ャ ネルのシ ス テム ク ロ ッ ク。 PCS バイパス モー ド で も送 チ ャ ネル 信シ ス テム ク ロ ッ ク であ り 、 8b10b モー ド で 8b10b デ コ ーダ をデ ィ セーブル し て (10 ビ ッ ト または 20 ビ ッ ト ・ デー タ パス) 実行する "raw" モー ド の必要あ り 。 rx_half_clk_ch[3:0] O チ ャ ネル 受信チ ャ ネル再生ハー フ ク ロ ッ ク。 2:1 ギア リ ングモー ド では 2 分周 さ れた出力 tx_full_clk_ch[3:0] O チ ャ ネル 送信 PLL フルレー ト ・ ク ロ ッ ク。 プ ラ イ マ リ ク ロ ッ ク配線を直接 ド ラ イ ブ で き るのは tx_full_clk_ch0 のみ。 tx_full_clk_ch[3:0] の全信号で、 セ カ ン ダ リ ク ロ ッ クのルーテ ィ ングを直接 ド ラ イ ブ可能 (適用する制約 USE SECONDARY が必要) 注 3 tx_half_clk_ch[3:0] O チ ャ ネル 送信 PLL ハー フ ク ロ ッ ク。 プ ラ イ マ リ ク ロ ッ クのルーテ ィ ングを直接 ド ラ イ ブ で き るのは tx_half_clk_ch0 のみ。 tx_half_clk_ch[3:0] の全信号 で、 セ カ ン ダ リ ク ロ ッ クのルーテ ィ ングを直接 ド ラ イ ブ可能 (適用す る制約 USE SECONDARY が必要) 注 3 refclk2fpga O クワッ ド FPGA コ アへの基準ク ロ ッ ク。 選択 さ れた場合、 このク ロ ッ ク は基準 ク ロ ッ クがある限 り 、 ク ワ ッ ド がパワーダウン ・ モー ド にな っ ていて も常に有効 fpga_rxrefclk_ch[3:0] I クワッ ド FPGA ロ ジ ッ クからの Rx 基準ク ロ ッ ク。 CDR PLL 用 FPGA ロ ジ ッ クからの Tx 基準ク ロ ッ ク 。 TX SERDES PLL 用 fpga_txrefclk I クワッ ド ebrd_clk_ch[3:0]2 I チ ャ ネル FPGA からの受信チ ャ ネルク ロ ッ ク入力。 CTC FIFO リ ー ド 用 rxiclk_ch[3:0] I チ ャ ネル I FPGA からの送信チ ャ ネルク ロ ッ ク入力。 FPGA から のチ ャ ネルご と の送信ク ロ ッ ク入力。 基準ク ロ ッ ク に同期 し た FIFO と Tx FPGA 部の チ ャ ネル イ ン タ ー フ ェ イ ス用ク ロ ッ ク。 CTC が用い られる場合は、 基準ク ロ ッ ク に同期 し た FIFO と Rx FPGA 部のイ ン タ ー フ ェ イ ス用ク ロ ッ ク と し て も用い られる txiclk_ch[3:0] FPGA からの受信チ ャ ネルク ロ ッ ク入力。 基準ク ロ ッ クや受信基準ク ロ ッ ク に同期 し た FIFO と Rx FPGA 部のイ ン タ ー フ ェ イ ス用ク ロ ッ ク 低速送受信デー タ 及び SERDES ク ラ イ ア ン ト ・ イ ン タ ー フ ェ イ ス (SCI) 信号 rxd_ldr_ch[3:0] O チ ャ ネル FPGA コ アへのシ ングルエ ン ド ・ シ リ アル低速デー タ 出力 (RX) txd_ldr_ch[3:0] I チ ャ ネル FPGA コ アからのシ ングルエ ン ド ・ シ リ アル低速デー タ 入力 (TX) sci_wrdata[7:0] I — ラ イ ト デー タ 入力 sci_wrn I — ラ イ ト 入力ス ト ローブ sci_sel_quad I — ク ワ ッ ド レ ジ ス タ を選択 sci_sel_ch[3:0] I — チ ャ ネルレ ジ ス タ を選択 sci_addr[5:0] I — ア ド レ スバス入力 sci_rd I — リ ー ド デー タ 選択 sci_rddata[7:0] O — リ ー ド デー タ 出力 sci_int O — 割 り 込み出力 1. コ ン フ ィ グ レーシ ョ ンの間、 hdoutp と hdoutn は共に VCCOB にプルア ッ プ さ れます。 2. こ の ク ロ ッ ク は、 ラ ッ パーモジ ュ ールのポー ト リ ス ト で提供 さ れません。 CTC モー ド に応 じ て、 ソ フ ト ウ ェ アが自動的に ク ロ ッ ク を割 り 当て ます。 詳細については、 本 ド キ ュ メ ン ト の "FPGA イ ン タ ーフ ェ イ ス ・ ク ロ ッ ク " のセ ク シ ョ ン を参 照 し て く だ さ い。 3. セカ ン ダ リ ・ ク ロ ッ ク ネ ッ ト ワ ー ク を用い る 場合には一般配線を経由 し ます。 PAR で ウ ォーニ ン グが生成 さ れ る か も し れ ませんが、 殆ど のアプ リ ケーシ ョ ンで無視で き る 程度に遅延値は少ないで し ょ う 。 タ イ ミ ン グ制約を与え て、 タ イ ミ ン グ 違反がない こ と を レ ポー ト で確認 し て下 さ い。 8-12 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド SERDES/PCS の機能記述 LatticeECP3 デバ イ ス には、 組み込み SERDES/PCS ロ ジ ッ ク の ク ワ ッ ド が 1 ~ 4 あ り ます。 各 ク ワ ッ ド は、 独立す る 全二重デー タ チ ャ ネルを 4 系統サポー ト し ます。 単一チ ャ ネルはデー タ リ ン ク を 1 系統サポー ト す る こ と がで き 、 各 ク ワ ッ ド はその よ う なチ ャ ネル 4 つま でに対応で き ます。 組み込み SERDES CDR PLL と TX PLL は、 広範囲の業界標準プ ロ ト コ ルを カバーす る デー タ レー ト に対応 し てい ます。 以下のそれぞれについては図 8-3 を参照 し て く だ さ い。 • SERDES – – – – – – イ コ ラ イザ CDR ( ク ロ ッ ク デー タ 再生) デシ リ ア ラ イ ザ プ リ エン フ ァ シ ス シ リ ア ラ イザ 2 つのシ リ アル ・ ループバ ッ ク モー ド 。 TX か ら RX、 ま たは RX か ら TX • SERDES ブ リ ッ ジ (SB) – イ ンバー タ : 受信デー タ を反転。 PCI Express で必要 – SERDES ブ リ ッ ジ ・ パ ラ レルループバ ッ ク • PCS コ ア – – – – – ワ ー ド ア ラ イ メ ン ト (WA) 8b10b デ コ ーダ 8b10b エ ン コ ーダ リ ン ク ス テー ト マシ ン (LSM) ク ロ ッ ク ト レ ラ ン ス補償 (CTC) • FPGA ブ リ ッ ジ (FB) – ダ ウ ンサン プル FIFO – ア ッ プサン プル FIFO SERDES イ コ ラ イザ デジ タ ル伝送のデー タ レー ト が Gbps 以上に進化す る につれて、 周波数依存の減衰に よ っ て受信信号に著 し いシ ン ボル間干渉が発生 し ます。 し たが っ て イ コ ラ イ ザを用い る こ と は、 正 し く デー タ を復元す る ために必 須にな り ます。 Mid_Low、 Mid_Med、 Mid_High、 Long_Low、 Long_Med、 Long_High と い う 6 つの極配置が用意 さ れてい ます。 プ リ エン フ ァ シ ス プ リ エン フ ァ シ ス と は、 一部周波数の振幅を他の周波数の振幅に対 し て増大 さ せ る 信号処理の こ と です。 目 的は、 減衰量の差な ど の現象に よ る 悪影響を最小限に抑え、 全体 と し ての S/N 比を改善す る こ と です。 最大 80% のプ リ エン フ ァ シ ス を選択で き ます。 基準 ク ロ ッ ク SERDES ク ワ ッ ド は 4 チ ャ ネルの Rx と Tx 回路、 及び Tx PLL を含む補助チ ャ ネルを含んでい ます。 Tx PLL への基準 ク ロ ッ ク は、 プ ラ イ マ リ 差動基準 ク ロ ッ ク ピ ン、 隣接 ク ワ ッ ド の基準 ク ロ ッ ク 、 ま たは FPGA コ ア か ら 供給す る こ と がで き ます。 ま た、SERDES ブ ロ ッ ク 内の PLL は出力 ク ロ ッ ク を提供 し 、FPGA フ ァ ブ リ ッ ク を ド ラ イ ブす る シ ス テ ム ク ロ ッ ク と し て使用で き ます。 Rx への基準 ク ロ ッ ク は、 Tx PLL への基準 ク ロ ッ ク か FPGA コ アか ら 供給す る こ と がで き ます。 FPGA コ ア か ら Tx PLL へ、 及び Rx への基準 ク ロ ッ ク は様々な ソ ース か ら 得 る こ と がで き ます。 8-13 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド SERDES ク ロ ッ ク ・ アーキ テ ク チ ャ 図 8-5 に SERDES の ク ロ ッ ク ・ アーキ テ ク チ ャ 全体を示 し ます。 こ の図は ク ワ ッ ド と チ ャ ネルの 2 つの部分 に分かれてい ます。 簡略化のため、 チ ャ ネルご と に共通のセ ク シ ョ ンのみを一系統分示 し て あ り ます。 ま た ブ ロ ッ ク 用に異な る 様々な制御ビ ッ ト も 示 し て あ り ま す。 こ れ ら は ク ワ ッ ド ベース の制御レ ジ ス タ ビ ッ ト 、 ま たはチ ャ ネルベース の制御レ ジ ス タ ビ ッ ト にな っ てい ます。 場合に よ っ ては、 チ ャ ネル制御ポー ト ベース と な っ てい る こ と も あ り 、 中には レ ジ ス タ と 制御ポー ト の両方の組み合わせにな っ てい る も のがあ り ま す。 両方のモー ド を使用す る と 、 特定の機能プ ロ パテ ィ の動的制御が可能にな り ます。 図 8-5. SERDES ク ロ ッ ク ・ アーキ テ ク チ ャ Quad 1 REFCLK_OUT_SEL[1] (Reg) REFCLK_OUT_SEL[0] (Reg) TXREFCLK from FPGA Core REFCLK to FPGA Core TXREFCLK_SEL (Reg) PULSE SYNC TX_SYNC_QD_C REFCLKP 0 REFCLKN Channel 2 D (Reg or Core) Q (To All TX Channels) CLK3G4TX TX_PLL(QD) 8X, 10X, 16X, 20X, 25X 1 TX_FULL_CLK (CH) REFCLK25X (QD_REG*) 0 REFCLK from FPGA Core 1 RX_REFCLK_SEL (Reg) REFFC2D CO_FLOOP (Reg) TX_DIV11_MODE (Reg/Core) REFCLK_MODE[1:0] RX_CDR (CH) 1 /11 Serializer(CH) 8:1/10:1 0 /2 1 0 BUS8B_SEL (QD_REG*) /11 1 DeSerializer(CH) 8:1/10:1 0 /2 /2 TX_HALF_CLK (CH) RX_FULL_CLK (CH) 1 RX_DIV11_MODE (Reg/Core) /2 0 RX_DIV2_MODE (Reg/Core) RX_HALF_CLK (CH) 1. All control bits are quad based. 2. All control bits are channel based, except as indicated (*). 3. These clocks are user-transparent. ク ロ ッ ク ・ アーキ テ ク チ ャ の主要 コ ン ポーネ ン ト には、 次の も のがあ り ます。 • RX ご と 及び TX ご と の分周器 (DIV) モー ド : DIV2、 DIV11 • マルチ ク ワ ッ ド REFCLK 接続 • FPGA か ら の tx_sync_qd_c 信号を使用 し たマルチチ ャ ネル送信同期 • OOB 低速デー タ 用途サポー ト レー ト モー ド 各チ ャ ネルの TX は、 次の レー ト で動作す る よ う 個別にプ ロ グ ラ ムで き ます。 • FULL_RATE • HALF_RATE (DIV2) • DIV11 Rx も チ ャ ネルご と に個別の基準 ク ロ ッ ク を使用で き る ため、 ト ラ ン ス ミ ッ タ と レ シーバが完全に異な る レー ト で動作で き ます。 重要な点は、 PLL VCO に変更はない こ と であ り 、 従っ てそのプ ロ ト コ ルに対す る 最速レー ト に対応で き ま す。 そのプ ロ ト コ ルに必要な分周後の全レー ト は、 分周器の MUX 選択をプ ロ グ ラ ムす る こ と で対応で き ま 8-14 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド す。 その結果、 PLL をプ ロ グ ラ ム し 直す必要がないため、 非常に高速なデー タ レー ト 切 り 替えが可能にな り ます。 こ の機能は多 く の用途で有用です。 注 : LatticeECP3 PCS は動作中に refclk の周波数を変更する だけでは、 SERDES が新 し い レー ト で動作する よ う にはな り ません。 (日本語注 ; 本注記は英語オ リ ジナルの表記 と 異な り ますが、 いずれ更新予定です。) 通常 TX PLL と 4 つの CDR PLL は、 基準 ク ロ ッ ク 周波数の倍数 と な る 同一周波数で動作 し ます。 表 8-6 に動 作可能な ク ロ ッ ク レー ト の各種モー ド を示 し ます。 こ こ に示 し た ビ ッ ト ク ロ ッ ク は、 基準 ク ロ ッ ク 周波数の 倍数にな っ てい ます。 表 8-6. TXPLL 及び RX CDRPLL が対応可能なモー ド 基準ク ロ ッ ク のモー ド refclkPmode ( ク ワ ッ ド ) Bus_width ビ ッ ト ク ロ ッ ク (フル レー ト ) ビ ッ ト ク ロ ッ ク (div2, div11) 20x 0 10 Refclk x 20 Refclk x 10 16x 0 8 Refclk x 16 Refclk x 8 10x 1 10 Refclk x 10 Refclk x 5 8x 1 8 Refclk x 8 Refclk x 4 25x — 8 Refclk x 25 Refclk x 12.5 25x — 10 Refclk x 25 Refclk x 12.5 20x 0 10 Refclk x 20 Refclk x 20/111 1. DIV11 モー ド FPGA コ アか ら の基準 ク ロ ッ ク 図 8-5 に示す と お り 、 TX 基準 ク ロ ッ ク は FPGA コ アか ら も 供給で き ます。 こ の場合、 ク ロ ッ ク を SERDES ま で配線す る FPGA の リ ソ ース に起因す る 、 過剰なジ ッ タ が送信デー タ に加わ り 、 場合に よ っ ては TX ジ ッ タ 規格を満た さ な く な る 可能性があ り ます。FPGA で生成 し た SERDES TX 基準 ク ロ ッ ク を使用す る 場合は注意 が必要です。 8-15 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-6. 基準 ク ロ ッ ク のブ ロ ッ ク 図 SERDES PCS/FPGA Core HDIN_ch0 CDR PLL 0 1/2 1/11 DES0 CDR PLL 1 1/2 1/11 DES1 [0] HDIN_ch1 Data to PCS [1] HDIN_ch2 CDR PLL 2 1/2 1/11 DES2 CDR PLL 3 1/2 1/11 DES3 [2] HDIN_ch3 [3] [3:0] REFCLKP REFCLKN RX_REFCLK from FPGA Core(ch[3:0]) REFCLK to FPGA Core REFCLK to TX PLL(QUAD) TX PLL HDOUT_ch0 SER0 1/2 1/11 HDOUT_ch1 SER1 1/2 1/11 HDOUT_ch2 Data from PCS SER2 1/2 1/11 HDOUT_ch3 SER3 1/2 1/11 フルデー タ レー ト 、 DIV2、 DIV11 デー タ レー ト 各 TX シ リ ア ラ イ ザ と RX デシ リ ア ラ イ ザは、 プ ロ ト コ ルに応 じ て フルデー タ レー ト と DIV2 レー ト ま たは DIV11 レー ト に分け ら れ る ため、 方向ご と 及びチ ャ ネルご と に異な る デー タ レー ト が可能です。 詳細につい ては図 8-6 を参照 し て く だ さ い。 図 8-7 に示す と お り 、 4 つ全てのチ ャ ネルで異な る 構成が可能です。 8-16 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-7. IPexpress GUI でのフルデー タ レー ト と ハーフデー タ レー ト の例 こ の例の実際のデー タ レー ト 及び FPGA イ ン タ ーフ ェ イ ス の ク ロ ッ ク レー ト を、表 8-7 に示 し ます。IPexpress GUI については、 本 ド キ ュ メ ン ト で詳 し く 後述 し ます。 表 8-7. ク ロ ッ ク レー ト の例 チ ャ ネル デー タ レー 基準 ク ロ ッ ト クの乗数 デー タ レー ト ・ モー ド FPGA イ ン 基準ク ロ ッ FPGA イ ン タ ー タ ー フ ェ イ ク レー ト の フ ェ イ スのデー スのク ロ ッ 計算値 タ バス幅 ク レー ト tx_full_clk tx_half_clk Channel 0 1 Gbps 10 x FULL 100 MHz 8 (10) 100 MHz 100 MHz 50 MHz Channel 1 500 Mbps 10 x DIV2 100 MHz 8 (10) 50 MHz 50 MHz 25 MHz Channel 2 1 Gbps 10 x FULL 100 MHz 16 (20) 50 MHz 100 MHz 50 MHz Channel 3 500 Mbps 10 x DIV22 100 MHz 16 (20) 25 MHz 50 MHz 25 MHz 3 1. グ レーで示 し たセルの ク ロ ッ ク は、 各モー ド で FPGA イ ン タ ーフ ェ イ ス ・ ク ロ ッ ク と し て使用 さ れます。 2. DIV2 モー ド では、 tx_full_clk がハーフ レー ト に調整 さ れます。 tx_half_clk は 16 ビ ッ ト バ ス ・ イ ン タ ーフ ェ イ ス にのみ使用 さ れます。 3. 10 ビ ッ ト SERDES 専用モー ド ま たは SDI モー ド 。 フルレー ト と ハーフ レー ト (DIV2) の動的切 り 替え こ のセ ク シ ョ ンでは、 フルレー ト と ハーフ レー ト (DIV) を動的に切 り 替え る 方法について説明 し ます。 2 つの レー ト モー ド 制御信号は、 図 8-8 に示す よ う に OR 接続 さ れます。 図 8-8. レー ト モー ド 制御信号 rx_div2_mode_ch[3:0]_c Rate_Mode_Rx(CH_15[1]) Receiver Rate ( 0: Full Rate, 1: Half Rate) tx_div2_mode_ch[3:0]_c Rate_Mode_Tx(CH_14[1]) Transmitter Rate ( 0: Full Rate, 1: Half Rate) 8-17 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド tx_div2_mode_chx_c は FPGA フ ァ ブ リ ッ ク か ら TX パ スへの入力制御信号です。 rx_div2_mode_chx_c は FPGA フ ァ ブ リ ッ ク か ら RX パスへの入力制御信号です。 Rate_Mode_Tx(CH_14[1]) は TX パ ス用の制御レ ジ ス タ ビ ッ ト です。 Rate_Mode_Rx(CH_15[1]) は RX パ ス用の制御レ ジ ス タ ビ ッ ト です。 受信レーンには、 切 り 替え後に pcs_rst を与え る 必要があ り ます。 送信レーンは、 リ セ ッ ト な し で新 し い レー ト が有効にな り ます。 基準 ク ロ ッ ク の ソ ース refclkp, refclkn CML 入力専用。送受信用に別々の ソ ース が使用 さ れていない限 り 、第一の選択肢です。ク ロ ッ ク 信号は CML、 LVDS、LVPECL のいずれかです。 イ ン タ ーフ ェ イ ス回路の例については、TN1114 "Electrical Recommendations for Lattice SERDES ( ラ テ ィ ス SERDES の電気的推奨事項) " を参照 し て く だ さ い。 fpga_txrefclk, fpga_rxrefclk FPGA ロ ジ ッ ク か ら の基準 ク ロ ッ ク 。 FPGA への ク ロ ッ ク 入力ピ ン と し ては、 プ ラ イ マ リ ク ロ ッ ク ・ パ ッ ド (PCLK) を使用す る 必要があ り ます。ク ロ ッ ク 信号は CML、LVDS、LVPECL、シ ン グルエン ド のいずれかです。 FPGA PLL FPGA PLL が基準 ク ロ ッ ク と し て用い ら れ る と き 、その PLL に対す る 基準 ク ロ ッ ク を専用 PLL 入力パ ッ ド に 割 り 当て る 必要があ り ます。 高速デー タ レー ト 時は、 FPGA PLL 出力のジ ッ タ がシ ス テ ム仕様を満た さ ない こ と があ り ます。 ジ ッ タ が重要な用途では FPGA PLL を使用 し ない こ と を推奨 し ます。 スペ ク ト ル拡散 ク ロ ッ ク (SSC) の対応 リ ン ク 両端の ポー ト は、 常に 600ppm 以内の レ ー ト で相互にデー タ を 送信す る 必要が あ り ま す。 こ れは ±300ppm の ビ ッ ト レー ト の ク ロ ッ ク ソ ース を許容す る ための仕様です。最小 ク ロ ッ ク 周期に違反 し てはいけ ま せん。 こ れに適 し た方法は、 公称周波数を上回 る 変調が発生 し ない よ う 、 拡散技術を調整す る こ と です。 デー タ レー ト は、 変調レー ト の範囲が 30 ~ 33KHz を超え ない状態で、 公称デー タ レー ト +0% ~ -0.5% の範 囲の変調が許容 さ れます。 ±300ppm と い う ト レ ラ ン ス の上限があ る ため、 SSC でデー タ を変調す る 場合は、 両方のポー ト に同 じ ビ ッ ト レー ト の ク ロ ッ ク が必要です。 PCI Express では、 基準 ク ロ ッ ク を拡散す る ソ ース と な る のはルー ト コ ンプ レ ッ ク ス です。 エン ド ポ イ ン ト は 同 じ ク ロ ッ ク を使用 し て、 拡散スペ ク ト ルを返 し ます。 そのため、 独立 し た RXREFCLK が不要です。 主要 な用途 と し てはア ド イ ン カー ド があ り ます。 ア ド イ ン カー ド は コ ネ ク タ か ら の REFCLK を使用す る 必要があ り ませんが、 PCI Express コ ネ ク タ の REFCLK と 同 じ SSC で送受信す る 必要があ り ます。 LatticeECP3 のアーキ テ ク チ ャ では、 同一 ク ワ ッ ド 内で PCI Express チ ャ ネル と 、 ギガ ビ ッ ト ・ イ ーサネ ッ ト 、 Serial RapidIO、 ま たは SGMII チ ャ ネルを混在で き ますが、 送信基準 ク ロ ッ ク と し て PCI Express の SSC を使 用す る 場合は、 ギガ ビ ッ ト ・ イ ーサネ ッ ト 、 Serial RapidIO、 及び SGMII の送信ジ ッ タ 仕様に違反 し ます。 LOS (Loss of Signal、 信号の喪失) 各チ ャ ネルは、 図 8-9 に示す よ う にプ ロ グ ラ マブルな LOS 検出器が含まれてい ます。 LOS 閾値はプ ロ グ ラ マブル電流源の値に依存 し 、 電流源の値は rlos_lset[2:0] 制御ビ ッ ト を使用 し て選択 さ れ ます。 閾値検出結果は、 rx_los_low ス テー タ ス信号に よ っ て FPGA に通知 さ れます。 8-18 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-9. 検出器 HDINP Current source value depends on rlos_lset[2:0] rx_los_low Reference voltage on this node is derived from VCM HDINN Note: rx_los_low shows that a signal has been detected for data rates above 1 Gbps with a maximum CID (Consecutive Identical Digits) of 7 bits (i.e., a minimum input signal transition density as is sent by 8b10b). rx_los_low is supported with a default setting of rlos_lset[2:0] = 2, except in PCI Express mode and SDI mode. In PCI Express mode, 2 and 3 are supported. In SDI mode, it is recommended to use the carrier detect output signal (/CD) from the external SDI cable equalizer. 表 8-8. LOS 検出器の応答時間 記 述 Min. Typ. Max. 単位 信号の喪失を検出する ま での時間 (rx_los_low が 0 から 1) — 8 10 ns 信号の存在を検出する ま での時間 (rx_los_low が 1 から 0) — 8 10 ns LOL (Loss of Lock、 ロ ッ ク はずれ) 送信 PLL と 個別チ ャ ネルの CDR には、 ど ち ら も カ ウ ン タ ベース のデジ タ ル LOL 検出器があ り ます。 送信 PLL の ロ ッ ク がはずれ る と LOL がアサー ト さ れ、PLL が再 ロ ッ ク す る ま でその ま ま にな り ます。CDR の ロ ッ ク がはずれ る と 、 そのチ ャ ネルの LOL がアサー ト さ れ、 CDR の VCO を基準 ク ロ ッ ク に ロ ッ ク し よ う と 試み ます。 こ れが達成 さ れ る と そのチ ャ ネルの LOL はネゲー ト さ れ、 CDR は入力デー タ に ロ ッ ク す る ために元 に戻 り ます。 CDR はデー タ に ロ ッ ク し 続け る か、 ま たは再び ロ ッ ク はずれに戻 り 再 ト レーニ ン グへ と 、 その 繰 り 返 し と な り ます。 CDR の LOL の詳細については、 本 ド キ ュ メ ン ト の "SERDES/PCS の リ セ ッ ト " セ ク シ ョ ン を参照 し て く だ さ い。 表 8-9. LOL 検出器の応答時間 記 述 Min. Typ. Max. 単位 ループのロ ッ クはずれを検出する ま での時間 (x_pll_lol、 rx_cdr_lo が 0 から 1) — 200 500 us ループのロ ッ ク を検出する ま での時間 (x_pll_lol、 rx_cdr_lo が 1 から 0) — 200 500 us TX レーン間ス キ ュ ー 制御信号 tx_sync_qd_c は、ア ク テ ィ ブな全 TX チ ャ ネルを リ セ ッ ト し 、bit0 位置か ら シ リ アル化を開始 し ます。 ほ と ん ど のマルチチ ャ ネル ・ プ ロ ト コ ル規格では、 あ る 規定値の中に TX レーン間ス キ ュ ーが収ま る こ と を 保証す る 要件があ り ます。 TX シ リ ア ラ イ ザへの リ セ ッ ト は、tx_sync_qd_c 信号を ト グルす る か、PLL LOL の遷移に よ っ て生成 さ れます。 8-19 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド SERDES PCS 構成のセ ッ ト ア ッ プ LatticeECP3 PCS は様々な用途で使用す る よ う に構成 (パ ラ メ ー タ / オプシ ョ ンの設定) がで き ます。 セ ッ ト ア ッ プは IPexpress モジ ュ ール生成ツールで選択 さ れ、PCS のモー ド と 機能オプシ ョ ン を選択で き ます。選 択オプシ ョ ンは自動構成 (auto-configuration) フ ァ イ ルの中に保存 さ れ、 こ れはデザ イ ン ツール内の ビ ッ ト ス ト リ ーム ・ ジ ェ ネ レー タ に よ っ て用い ら れて、 選択内容がビ ッ ト ス ト リ ーム内に書 き 出 さ れます。 PCS 選 択オプシ ョ ン を変え る ためには、IPexpress を再実行 し て PCS モジ ュ ールを作 り 直 し 、新 し い自動構成フ ァ イ ルを作成す る こ と を推奨 し ます。 ビ ッ ト ス ト リ ーム ・ ジ ェ ネ レー タ を実行す る 前に、 自動構成フ ァ イ ルを手 動編集す る こ と に よ っ て、一部のオプシ ョ ン を変え る こ と も で き ます。或いはデバ イ ス の コ ン フ ィ グ レーシ ョ ン後に、 オプシ ョ ンの SERDES ク ラ イ ア ン ト ・ イ ン タ ーフ ェ イ ス (SCI) バ ス を通 し て PCS レ ジ ス タ に ラ イ ト す る こ と に よ っ て、 動的に PCS オプシ ョ ン を変え る こ と も で き ます。 SCI では、 コ ン フ ィ グ レーシ ョ ン ・ メ モ リ セルではな く 、 レ ジ ス タ に よ っ て SERDES/PCS ク ワ ッ ド を制御 し ます。 SCI か ら ア ク セ ス可能な制御 / ス テー タ ス レ ジ ス タ の一覧表を、 本 ド キ ュ メ ン ト の付録 A に示 し て あ り ます。 自動構成 (Auto-Configuration) フ ァ イ ル IPexpress の自動構成機能を用い る こ と で、それぞれの PCS モー ド のための初期レ ジ ス タ 設定を行 う こ と が可 能です。モジ ュ ール・ ジ ェ ネ レー タ は、選ばれたモー ド 用に ク ワ ッ ド / チ ャ ネルレ ジ ス タ 設定の自動構成フ ァ イ ル (<module_name>.txt) を生成 し ます。 こ の フ ァ イ ルはフ ロ ン ト エ ン ド ・ シ ミ ュ レーシ ョ ン で参照す る こ と がで き 、 ま た ビ ッ ト ス ト リ ーム に統合 さ れ ま す。 自動構成フ ァ イ ルが ビ ッ ト ス ト リ ーム に統合 さ れ る と 、 全ての ク ワ ッ ド / チ ャ ネルレ ジ ス タ が、 コ ン フ ィ グ レーシ ョ ンの際に自動構成フ ァ イ ルで定義 さ れた値に設 定 さ れます。 ユーザがデバ イ ス動作中に制御レ ジ ス タ の値を変え る か、 ま たは ス テー タ ス レ ジ ス タ をモニ タ す る 必要があ る 場合は、 デザ イ ン内に SCI イ ン タ ーフ ェ イ ス を含め る 必要があ り ます。 送信デー タ PCS ク ワ ッ ド 送信デー タ パス は、 チ ャ ネル単位の 8b10b エン コ ーダ と シ リ ア ラ イ ザで構成 さ れます。 8b10b エ ン コ ーダ 本モジ ュ ールは IEEE 802.3ae-2002 1000BASE-X 仕様の中で記述 さ れてい る 8b10b エン コ ーダ を実装 し てい ま す。 エン コ ーダは仕様で説明 さ れ る よ う に 8 ビ ッ ト か ら 10 ビ ッ ト コ ー ド への変換を実行 し 、同時に規定 さ れ てい る デ ィ ス パ リ テ ィ 規則を維持 し ます。 属性 (Attribute、 ア ト リ ビ ュ ー ト ) CHx_8B10B (x はチ ャ ネル番 号) を "BYPASS" に設定す る こ と に よ っ て、 8b10b エン コ ーダ をバ イ パ スす る こ と がで き ます。 シ リ ア ラ イザ 8b10b 符号化 さ れたデー タ はパ ラ シ リ 変換 さ れ、 組み込み SERDES を介 し てチ ッ プ外部に送信 さ れます。 受信デー タ PCS ク ワ ッ ド 受信デー タ パ ス は、 チ ャ ネルご と のデシ リ ア ラ イ ザ、 ワー ド ア ラ イ ナ、 8b10b デ コ ーダ、 オプ シ ョ ンの リ ン ク ス テー ト マシ ン、 及びオプシ ョ ンの受信 ク ロ ッ ク ト レ ラ ン ス補償 (CTC) FIFO で構成 さ れ ます。 デシ リ ア ラ イザ デー タ はチ ッ プに取 り 込まれて組み込み SERDES に送 ら れ、 シ リ アルか ら パ ラ レルに変換 さ れます。 ワー ド ア ラ イ メ ン ト (バイ ト 境界の検出) こ のモジ ュ ールはカ ン マ符号語の検出 と ア ラ イ メ ン ト 動作を実行 し ます。 受信 ロ ジ ッ ク で入力 さ れ る デー タ ス ト リ ームに 10 ビ ッ ト の ワー ド ア ラ イ メ ン ト を実行す る ために、 カ ン マキ ャ ラ ク タ が用い ら れてい ます。 カ ン マ記述は 802.3.2002 1000BASE-X 仕様のセ ク シ ョ ン 36.2.4.9 と 、 セ ク シ ョ ン 48.2.6.3 (10GBASE-X 仕様の Figure 48-7) にあ り ます。 ワー ド ア ラ イ メ ン ト ・ モジ ュ ール内で多 く のプ ロ グ ラ マブル ・ オプシ ョ ンがサポー ト さ れます。 • 組み込み リ ン ク ス テー ト マシ ン (LSM) ま たは FPGA 制御か ら の ワー ド ア ラ イ メ ン ト 制御。 8b10b パケ ッ ト モー ド に加え て、 8-bit SERDES Only、 10-bit SERDES Only、 SDI の各モー ド が対応 し てい ます。 8-20 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド • 2 つのプ ロ グ ラ マブル ・ ワー ド ア ラ イ メ ン ト ・ キ ャ ラ ク タ (通常正 と 負のデ ィ スパ リ テ ィ のためにそれぞ れ 1 つ) を設定で き る 機能 と 、 ア ラ イ メ ン ト ・ コ ンペア (比較) のための ビ ッ ト 単位でプ ロ グ ラ マブルな マ ス ク レ ジ ス タ 。 ア ラ イ メ ン ト ・ キ ャ ラ ク タ と マ ス ク レ ジ ス タ は ク ワ ッ ド 毎に設定 さ れます。 多 く のプ ロ ト コ ルにおいて、 "XX00000011" (正の ラ ン ニ ン グ ・ デ ィ スパ リ テ ィ ・ カ ン マキ ャ ラ ク タ で コ ー ド グルー プ K28.1、 K28.5、 及び K28.7 に適合す る jhgfiedcba ビ ッ ト ) と "XX01111100" (負の ラ ン ニ ン グ ・ デ ィ ス パ リ テ ィ ・ カ ン マキ ャ ラ ク タ で コ ー ド グループ K28.1、 K28.5、 及び K28.7 に適合す る jhgfiedcba ビ ッ ト ) に ワー ド ア ラ イ メ ン ト ・ キ ャ ラ ク タ を設定す る こ と がで き ます。 ただ し 、 任意の 10 ビ ッ ト パ タ ーン を定 義で き ます。 • 最初のア ラ イ メ ン ト ・ キ ャ ラ ク タ は COMMA_A 属性に割 り 当て ら れた 10 ビ ッ ト の値に よ っ て定義 さ れま す。 こ の値は PCS ク ワ ッ ド の全チ ャ ネルに適用 さ れます。 • 第 2 のア ラ イ メ ン ト ・ キ ャ ラ ク タ は COMMA_B 属性に割 り 当て ら れた 10 ビ ッ ト の値に よ っ て定義 さ れま す。 こ の値は PCS ク ワ ッ ド の全チ ャ ネルに適用 さ れます。 • マ ス ク レ ジ ス タ は、 ど の ワ ー ド ア ラ イ メ ン ト ・ ビ ッ ト を比較 し た ら よ いか を定義 し ます (マ ス ク レ ジ ス タ で '1' の ビ ッ ト は、 ワー ド ア ラ イ メ ン ト ・ キ ャ ラ ク タ レ ジ ス タ で対応す る ビ ッ ト をチ ェ ッ ク す る こ と を意味 し ます)。 COMMA_M 属性に割 り 当て ら れた 10 ビ ッ ト の値に よ っ て定義 さ れたマ ス ク レ ジ ス タ 。 こ の値は PCS ク ワ ッ ド の全チ ャ ンルに適用 さ れ ます。 ワ ー ド ア ラ イ メ ン ト 属性 CHx_RXWA が "ENABLED"、 CHx_ILSM (内部 リ ン ク ス テー ト マシ ン) が "ENABLED" にそれぞれ設定 さ れ る と 、 プ ロ ト コ ルベース の リ ン ク ス テー ト マシ ン の 1 つ が ワ ー ド ア ラ イ メ ン ト を制御 し ます。 プ ロ ト コ ルベース の リ ン ク ス テー ト マシ ン動作の詳細については、 後述 す る プ ロ ト コ ルご と の リ ン ク ス テー ト マシ ンのセ ク シ ョ ン を参照 し て く だ さ い。 8b10b デ コ ーダ 8b10b デ コ ーダは、 IEEE 802.3-2002 規格に記述 さ れた 8b10b デ コ ーダ動作を実装 し てい ます。 こ のデ コ ーダ は ラ ン ニ ン グ ・ デ ィ スパ リ テ ィ の検証 と 共に、 10 ビ ッ ト か ら 8 ビ ッ ト コ ー ド への変換を実行 し ます。 コ ー ド 違反が検出 さ れ る と 、 受信デー タ rxdata は 0xEE に、 rx_k_chn は '1' に設定 さ れます。 外部 リ ン ク ス テー ト マシ ンのオプシ ョ ン 内部 リ ン ク ス テー ト マシ ン属性 CHx_ILSM が "DISABLED"、CHx_RXWA(ワー ド ア ラ イ メ ン ト )が "ENABLED" にそれぞれ設定 さ れてい る と き に、 ワ ー ド ア ラ イ ナ を イ ネーブルす る ためには制御信号 word_align_en_ch(03)_c が用い ら れます。 こ れは FPGA フ ァ ブ リ ッ ク に実装 さ れ る 外部 リ ン ク ス テー ト マシ ンか ら 生成 さ れなけ ればな り ません。 こ の信号が High にな る と 、 ワー ド ア ラ イ ナはア ラ イ メ ン ト を ロ ッ ク し 、 ロ ッ ク し た ま ま に な り ます。 受信デー タ と ユーザ定義の ワー ド ア ラ イ メ ン ト ・ キ ャ ラ ク タ と の比較をやめ、 COMMA_A ま たは COMMA_B と の最初の比較一致で現在の ア ラ イ メ ン ト を 維持 し ま す。 再 ア ラ イ メ ン ト が必要 な 場合は、 word_align_en_ch(0-3)_c を Low か ら High のパルス を与え ます。 ワー ド ア ラ イ ナは、 いずれかのユーザ定義ワー ド ア ラ イ メ ン ト ・ キ ャ ラ ク タ と の次回の一致で再 ロ ッ ク し ます。 必要であれば、 PCS ク ワ ッ ド の外部に実装 し た リ ン ク ス テー ト マシ ンに よ っ て word_align_en_ch(0-3)_c を制御で き 、 特定の条件下でのみワー ド ア ラ イ メ ン ト を変更す る こ と がで き ます。 図 8-10 に リ ン ク ス テー ト マシ ンのオプシ ョ ン を示 し ます。 8-21 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-10. PCS ワー ド ア ラ イ ナ と リ ン ク ス テー ト マシ ンのオプシ ョ ン word_align_enable CH_01[7] word_align_en_ch0_c from FPGA fabric ilsm_en CH_04[6] EN Internal Link State Machine 1 External 1:8 / 1:10 Deserializer 0 Internal Word Aligner lsm_sel CH_04[7] 8b10b Decoder リ ン ク ス テー ト マシ ンが選択 さ れ、特定のチ ャ ネル用に イ ネーブルに し た場合、リ ン ク が同期す る と そのチ ャ ネルの lsm_status_ch(0-3)_s ス テー タ ス信号が High にな り ます。 ギガ ビ ッ ト ・ イ ーサネ ッ ト モー ド のア イ ド ル挿入 Generic 8b10b モー ド には、 さ ら に ワー ド ア ラ イ メ ン ト のために LSM を選択す る オプシ ョ ンがあ り ます。 ギ ガ ビ ッ ト ・ イ ーサネ ッ ト モー ド に設定 さ れた PCS は、 自動ネ ゴ シエーシ ョ ンのために、 受信デー タ ス ト リ ー ムの中に /I2/ シ ン ボル挿入を行い ます。 ギガ ビ ッ ト ・ イ ーサネ ッ ト の自動ネ ゴ シエーシ ョ ンは ソ フ ト ロ ジ ッ ク で実行 さ れます。 こ の機能は 2048 ク ロ ッ ク サ イ ク ル毎に 8 つの /I2/ オーダセ ッ ト ・ シーケ ン ス を挿入 し ます。 /I2/ 挿入は自動ネ ゴ シエーシ ョ ン ・ ソ フ ト ロ ジ ッ ク か ら ド ラ イ ブ さ れ る PCS への xmit_ch(0-3) 入力で 制御 さ れます。 図 8-11 は PCS がギガ ビ ッ ト ・ イ ーサネ ッ ト モー ド に設定 さ れた と き の、 1 チ ャ ネルの受信 ロ ジ ッ ク を示 し ( こ の例ではチ ャ ネル 0)、 こ れ ら の制御 / ス テー タ ス信号を示 し てい ます。 図 8-11. ギガ ビ ッ ト ・ イ ーサネ ッ ト モー ド の PCS 受信パス (チ ャ ネル 0 の例) DeSerializer 8b10b Decoder Gigabit Ethernet /I2/ Insert Word Aligner Clock Tolerance Compensation (CTC) rxdata_ch0[7:0] rx_k_ch0[0] xmit_ch0[0] rx_disp_err_ch0[0] rx_cv_err_ch0[0] Link State Machine lsm_status_ch[0]_s ク ロ ッ ク ト レ ラ ン ス補償 (CTC) CTC (Clock Tolerance Compensation) モジ ュ ールは、 受信再生 ク ロ ッ ク と ロ ッ ク す る 基準 ク ロ ッ ク の間の ク ロ ッ ク レー ト の調整を実行 し ます。 ク ロ ッ ク 補償は、 パケ ッ ト デー タ の損失を引 き 起 こ す こ と な く 、 事前に 定め ら れた位置でバ イ ト を挿入す る か、 ま たは削除す る こ と に よ っ て実行 さ れます。 16 バ イ ト の CTC FIFO は、 2 つの ク ロ ッ ク ド メ イ ン間のデー タ 転送に用い ら れ、 LatticeECP3 SERDES のために ク ロ ッ ク 偏差の規定 8-22 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド ppm 上限ま で対応 し ます(LatticeECP3 フ ァ ミ リ ・デー タ シー ト の "DC and Switching Characteristics" セ ク シ ョ ン を参照 し て く だ さ い)。 CHx_CTC 属性が "ENABLED" に設定 さ れ る と 、そのチ ャ ネルの CTC ブ ロ ッ ク は イ ネーブル さ れ、"DISABLED" に設定 さ れ る と バ イ パ ス さ れます。 1 バ イ ト 削除について図 8-12 に示 し ます。 図 8-12. ク ロ ッ ク ト レ ラ ン ス補償、 1 バ イ ト 削除の例 rxiclk_ch0 or ebrd_clk_ch0 rxdata_ch0[7:0] E I SK I I I S D E = End of Packet I = Logical Idle Before CTC Delete if CTC FIFO Almost Full & SK = CC_MATCH4 SK = Skip S = Start of Packet After CTC D = Data rxiclk_ch0 or ebrd_clk_ch0 rxdata_ch0[7:0] E I I I I S D D I S D 1 バ イ ト 挿入について図 8-13 に示 し ます。 図 8-13. ク ロ ッ ク ト レ ラ ン ス補償、 1 バ イ ト 挿入の例 rxiclk_ch0 or ebrd_clk_ch0 rxdata_ch0[7:0] E I SK I I E = End of Packet I = Logical Idle Before CTC Insert if CTC FIFO Almost Empty & SK = CC_MATCH4 SK = Skip S = Start of Packet After CTC D = Data rxiclk_ch0 or ebrd_clk_ch0 rxdata_ch0[7:0] E I SK SK I I I S 2 バ イ ト 削除について図 8-14 に示 し ます。 8-23 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-14. ク ロ ッ ク ト レ ラ ン ス補償、 2 バ イ ト 削除の例 rxiclk_ch0 or ebrd_clk_ch0 rxdata_ch0[7:0] E I I SK1 SK2 I I I S D D E = End of Packet D I = Logical Idle SK1 = CC_MATCH3 Before CTC SK2 = CC_MATCH4 After CTC S = Start of Packet D = Data rxiclk_ch0 or ebrd_clk_ch0 E rxdata_ch0[7:0] I I I I I S D D D D D I S D D D 2 バ イ ト 挿入について図 8-15 に示 し ます。 図 8-15. ク ロ ッ ク ト レ ラ ン ス補償、 2 バ イ ト 挿入の例 rxiclk_ch0 or ebrd_clk_ch0 rxdata_ch0[7:0] E I I SK1 SK2 I I E = End of Packet I = Logical Idle SK1 = CC_MATCH3 Before CTC SK2 = CC_MATCH4 After CTC S = Start of Packet D = Data rxiclk_ch0 or ebrd_clk_ch0 E rxdata_ch0[7:0] I I SK1 SK2 SK1 SK2 I I I S D D D 4 バ イ ト 削除について図 8-16 に示 し ます。 図 8-16. ク ロ ッ ク ト レ ラ ン ス補償、 4 バ イ ト 削除の例 rxiclk_ch0 or ebrd_clk_ch0 E = End of Packet rxdata_ch0[7:0] E I I SK1 SK2 SK3 SK4 I I I S D D I = Logical Idle SK1 = CC_MATCH1 SK2 = CC_MATCH2 SK3 = CC_MATCH3 Before CTC After CTC SK4 = CC_MATCH4 S = Start of Packet rxiclk_ch0 or ebrd_clk_ch0 rxdata_ch0[7:0] D = Data E I I I I I S D D D D D D D D 4 バ イ ト 挿入について図 8-17 に示 し ます。 8-24 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-17. ク ロ ッ ク ト レ ラ ン ス補償、 4 バ イ ト 挿入の例 rxiclk_ch0 or ebrd_clk_ch0 E = End of Packet rxdata_ch0[7:0] E I I SK1 SK2 SK3 SK4 I I I S D D D D I = Logical Idle SK1 = CC_MATCH1 SK2 = CC_MATCH2 SK3 = CC_MATCH3 Before CTC After CTC SK4 = CC_MATCH4 S = Start of Packet rxiclk_ch0 or ebrd_clk_ch0 rxdata_ch0[7:0] D = Data E I I SK1 SK2 SK3 SK4 SK1 SK2 SK3 SK4 I I I S CTC が使用 さ れ る と き 、 意図 さ れたアプ リ ケーシ ョ ンの ク ロ ッ ク 補償のために、 以下の設定を適用 し なけれ ばな り ません。 • CC_MATCH_MODE 属性を用いて、 挿入 / 削除パ タ ーン長を設定 し ます。 こ れは挿入や削除を実行す る 前 に CTC が比較 し ス キ ッ プす る バ イ ト 数を設定 し ます。 CC_MATCH_MODE の値は、 "1" (1 バ イ ト の挿入 / 削除)、 "2" (2 バ イ ト の挿入 / 削除)、 及び "4" (4 バ イ ト の挿入 / 削除) です。 ま た、 タ ーゲ ッ ト ・ ア プ リ ケーシ ョ ンに適 し た最小パケ ッ ト 間ギ ャ ッ プ を設定す る 必要があ り ます。 パケ ッ ト 間ギ ャ ッ プは CC_MIN_IPG 属性に値を割 り 当て る こ と に よ っ て設定 さ れ ます。 CC_MIN_IPG の許容値は "0"、 "1"、 "2"、 及び "3" です。 こ れ ら の属性設定に基づいて ス キ ッ プキ ャ ラ ク タ 削除が実行 さ れた後の、 許容 さ れ る 最小 パケ ッ ト 間ギ ャ ッ プ を表 8-10 に示 し ます。 • 選ばれた CC_MATCH_MODE に対応す る よ う に、 ス キ ッ プバ イ ト かオーダセ ッ ト が設定 さ れ る 必要があ り ます。 4 バ イ ト の挿入 / 削除 (CC_MATCH_MODE = "4") に関 し ては、 CC_MATCH1 属性に最初のバ イ ト を割 り 当て、 CC_MATCH2 属性に第 2 バ イ ト 、 CC_MATCH3 属性に第 3 バ イ ト 、 そ し て CC_MATCH4 属性に第 4 バ イ ト を そ れぞれ割 り 当て る 必要があ り ます。 割 り 当て ら れ る 値は 2 進の 10 ビ ッ ト 値です。 例: 4 バ イ ト の ス キ ッ プ・オーダセ ッ ト が /K28.5/D21.4/D21.5/D21.5 の場合、"CC_MATCH1" は "0110111100"、 "CC_MATCH2" = "0010010101"、"CC_MATCH3" = "0010110101"、 そ し て "CC_MATCH4" = "0010110101" と な る必要があ り ます。 2 バ イ ト の挿入 / 削除 (CC_MATCH_MODE = "2") に関 し ては、 CC_MATCH3 に最初のバ イ ト を割 り 当て、 CC_MATCH4 に第 2 バ イ ト を割 り 当て る 必要があ り ます。 1 バ イ ト の挿入 / 削除 (CC_MATCH_MODE = "1") に関 し ては、 CC_MATCH4 に ス キ ッ プバ イ ト を割 り 当 て る 必要があ り ます。 • ク ロ ッ ク 補償 FIFO において、 タ ーゲ ッ ト ・ プ ロ ト コ ル用の High/Low ウ ォ ー タ ーマー ク を設定す る 必要があ り ます。 値の範囲は 0 ~ 15 で、 High ウ ォー タ ーマー ク は Low ウ ォ ー タ ーマー ク よ り も 高い値に設定す る 必要が あ り ます (等 し い値に設定 し てはいけ ません)。 CCHMARK 属性に値を割 り 当て る こ と に よ っ て、 High ウ ォ ー タ ーマー ク が設定 さ れ ます。 CCHMARK の許容値は 16 進値の "0" か ら "F" です。 CCLMARK 属性に値を割 り 当て る こ と に よ っ て、 Low ウ ォー タ ーマー ク が設定 さ れ ます。 CCLMARK の許容値は 16 進値の "0" か ら "F" です。 • モジ ュ ール ・ ジ ェ ネ レー タ で PCS ブ ロ ッ ク を生成す る と き 、 "Error Status Ports" が選択 さ れてい る 場合、 チ ャ ネルご と の ク ロ ッ ク 補償 FIFO オーバー ラ ンは、 PCS/FPGA イ ン タ ーフ ェ イ ス で cc_overrun_ch(0-3) と い う 名称 のポー ト でモニ タ す る こ と がで き ます。 • モジ ュ ール ・ ジ ェ ネ レー タ で PCS ブ ロ ッ ク を生成す る と き 、 "Error Status Ports" が選択 さ れてい る 場合、 チ ャ ネルご と の ク ロ ッ ク 補償 FIFO ア ン ダー ラ ンは、 PCS/FPGA イ ン タ ーフ ェ イ ス で cc_underrun_ch(0-3) と い う 名 称のポー ト でモニ タ す る こ と がで き ます。 8-25 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 最小パケ ッ ト 間ギ ャ ッ プの計算 表 8-10 は CC_MIN_IPG 属性で定義 さ れ る パケ ッ ト 間ギ ャ ッ プのユーザ定義の値 と 、PCS か ら の ス キ ッ プキ ャ ラ ク タ 削除後の保証 さ れ る パケ ッ ト 間最小バ イ ト 数 と の関係を示 し てい ます。こ の表は、乗数 と し てのパケ ッ ト 間ギ ャ ッ プ を示 し てい ます。 パケ ッ ト 間の最小バ イ ト 数 と 、 挿入 / 削除のバ イ ト 数を表に示す乗数倍 し た も のは等 し く な り ます。 例えば、 挿入 / 削除あ た り のバ イ ト 数が 4 (CC_MATCH_MODE を "4" に設定) で、 か つ 最小 パ ケ ッ ト 間 ギ ャ ッ プ の CC_MIN_IPG が "2" の と き、 最小の パ ケ ッ ト 間 ギ ャ ッ プ は 4 (CC_MATCH_MODE = "4") 掛け る 3 (表 8-10 の CC_MIN_IPG = "2")、 すなわち 12 バ イ ト に等 し く な り ます。 最小のパケ ッ ト 間バ イ ト 数が CTC を通過す る ま で、 PCS は ス キ ッ プキ ャ ラ ク タ の削除を実行 し ません。 表 8-10. 最小パケ ッ ト 間ギ ャ ッ プの乗数 CC_MIN_IPG 挿入 / 削除の乗数 0 1x 1 2x 2 3x 3 4x (注) デバイ ス品番 TW サフ ィ ッ ク スの LatticeECP3-150EA デバイ ス フ ァ ミ リ の CTC 対応について : 末尾が TW と な っ てい る初期 リ リ ース の LatticeECP3-150EA デバ イ ス では、 PCS が CTC に対応 し てい ません。 CTC 機能がバ イ パス さ れ、 ソ フ ト IP で実装 さ れてい ます。 ラ テ ィ ス の多 く の IP コ アでは、 CTC ロ ジ ッ ク が ソ フ ト 形式で実装 さ れてい ます。 Diamond における IPexpress の使用 IPexpress は SERDES 及び PCS ブ ロ ッ ク の生成 と 構成 (パ ラ メ ー タ 等の指定) に使用 さ れます。 設計者は GUI を使用 し て、 特定の ク ワ ッ ド ま たはチ ャ ネルの SERDES プ ロ ト コ ル規格を選択 し ます。 IPexpress は こ の GUI か ら 入力を受け取 り 、 自動構成フ ァ イ ル (.txt フ ァ イ ル) と HDL ネ ッ ト リ ス ト を生成 し ます。 HDL モデル は、 シ ミ ュ レーシ ョ ン及び論理合成フ ロ ーで使用 さ れます。 自動構成フ ァ イ ルには属性レベルのマ ッ プ情報 が格納 さ れます。 こ の フ ァ イ ルは、 シ ミ ュ レーシ ョ ン及び bitgen プ ロ グ ラ ムの入力 と な り ます。 設計者は変 更 と 更新を IPexpress で行っ てか ら 、 自動構成フ ァ イ ルを再生成す る よ う に し て く だ さ い。 一部の例外的な状 況では、 ユーザが構成フ ァ イ ルを修正す る こ と も で き ます。 図 8-18 に IPexpress を使用 し て SERDES プ ロ ト コ ル規格用の SERDES/PCS ブ ロ ッ ク を生成す る ためのツール フ ロ ーを示 し ます。 8-26 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-18. SERDES_PCS、 Diamond のユーザフ ロー IPexpress SERDES/PCS Module GUI Configuration SERDES/PCS Behavioral Model IPexpress SCUBA Engine Module netlist (.v or .vhd) Module netlist (.v or .vhd) .ptx file converted from .txt file (Autoconfig file: Attribute Info) Synthesis CAE Simulator Bitstream (includes register map memory cell configuration) Diamond Map, Place and Route LatticeECP3 Device 図 8-19 は IPexpress の GUI で PCS を選択 し た と き の メ イ ン ウ ィ ン ド ウ を示 し てい ます。 8-27 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-19. IPexpress の PCS メ イ ン ウ ィ ン ド ウ 8-28 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド クワッ ド ・ セ ッ ト ア ッ プ タ ブ 図 8-20 に フ ァ イ ル名を入力 し メ イ ン ウ ィ ン ド ウ で Customize (カ ス タ マ イ ズ) ボ タ ン をチ ェ ッ ク し た と き の、 Quad ( ク ワ ッ ド ) セ ッ ト ア ッ プ タ ブ ・ ウ ィ ン ド ウ を示 し ます。 こ の ウ ィ ン ド ウ で最初に行 う こ と は、 各チ ャ ネルのプ ロ ト コ ルモー ド の選択です。 各チ ャ ネルは、 'RX and TX' (送受信) 、 'RX Only' (受信のみ) 、 'TX Only' (送信のみ)、 'Disabled' (デ ィ セーブル)、 ま たは 'Low Speed Data Port' (低速デー タ ポー ト ) と し て設 定で き ます。 図 8-20. パ ラ メ ー タ 設定 GUI ~ Quad ( ク ワ ッ ド ) セ ッ ト ア ッ プ タ ブ 表 8-11. SERDES_PCS GUI の属性 ~ Quad ( ク ワ ッ ド ) タ ブの設定 GUI テキス ト 属性名 範囲 デ フ ォル ト 値 Channel Protocol (チ ャ ネルのモー ド ) CHx_MODE RX and TX, RX Only, TX Only, DISABLE DISABLE Disable Channel 注 1 (チ ャ ネルのデ ィ セーブル) CHx_MODE ENABLE, DISABLE DISABLE Protocol (プ ロ ト コ ル) CHx_PROTOCOL GIGE, SGMII, XAUI, SRIO, PCIE, SDI, G8B10B, 10BSER, 8BSER, CPRI, OBSAI G8B10B Low Speed Data Port (低速デー タ ポー ト ) CHx_LDR RX and TX, RX Only, TX Only DISABLED 1. ECP3-17EA の 328csBGA では、 チ ャ ネル 0 と 3 のみが使用で き ます 8-29 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 基準ク ロ ッ ク ・ セ ッ ト ア ッ プ タ ブ こ の タ ブでは TX 及び RX 基準 ク ロ ッ ク ソ ー ス の属性を選択 し ま す。 基準 ク ロ ッ ク は EXTERNAL ま たは INTERNAL を選択で き ます。ま た、特定のデー タ レー ト に必要な ク ロ ッ ク レー ト と 乗数の設定を提供す る ツー ルがあ り ます。選択 し たデー タ バ ス幅に対 し て、ク ワ ッ ド を コ ア と イ ン タ ーフ ェ イ スす る ために必要な ク ロ ッ ク レー ト が表示 さ れます。 図 8-21. パ ラ メ ー タ 設定 GUI ~ Reference Clocks (基準 ク ロ ッ ク ) セ ッ ト ア ッ プ タ ブ 8-30 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-12. SERDES_PCS GUI の属性 ~ Reference Clocks (基準 ク ロ ッ ク ) タ ブの設定 GUI テキス ト 属性名 範囲 デ フ ォル ト 値 (GUI) デ フ ォル ト 値 ( 属性 ) 送信 Max. Data Rate1 (最大デー タ レー ト ) N/A 0.23 ~ 3.2 Gbps 2.5 Gbps N/A TX Refclk Source (送信基準 ク ロ ッ ク ソ ース) PLL_SRC INTERNAL, EXTERNAL INTERNAL REFCLK_INT TX/RX Multiplier (乗数) REFCK_MULT 8X, 10X, 16X, 20X, 25X (プ ロ ト コ ル依存) TX Reference clock Rate (送信基準 ク ロ ッ ク レー ト ) #REFCLK_RATE2 Protocol (プ ロ ト コ ル) ユーザ設定不可 TX Rate (送信レー ト ) CHx_TX_DATA_RATE FULL, DIV2, DIV11 FULL FPGA Bus Width (FPGA I/F バス幅) CHs_TX_DATA_WIDTH 8, 10, 16, 20 (プ ロ ト コ ル依存) 0.23 ~ 3.2 Gbps 2.5 Gbps N/A INTERNAL, EXTERNAL INTERNAL REFCLK_INT FULL, DIV2, DIV11 FULL FULL 8, 10, 16, 20 (プ ロ ト コ ル依存) (プ ロ ト コ ル依存) FULL FPGA Interface Clock #CH0_TX_FICLK_RATE (FPGA I/F ク ロ ッ ク レー ト ) 受信 Max. Data Rate1 (最大デー タ レー ト ) N/A Protocol (プ ロ ト コ ル) ユーザ設定不可 Refclk Source (受信基準 ク ロ ッ ク ソ ース) CHx_CDR_SRC Multiplier (乗数) ユーザ設定不可 RX Rate (受信レー ト ) CHx_RX_DATA_RATE RX Reference Clock Rate (受信基準 ク ロ ッ ク レー ト ) #CH0_RXREFCLK_RATE FPGA Bus Width (FPGA I/F バス幅) CHx_RX_DATA_WIDTH FPGA Interface Clock #CH0_RX_FICLK_RATE (FPGA I/F ク ロ ッ ク レー ト ) 1. レー ト は自動構成フ ァ イ ルに反映 さ れません。 選択 し たデー タ レー ト に対 し て DATARATE RANGE の指定は次の通 り : 150 Mbps ≦ LOWLOW ≦ 230 Mbps、 230 Mbps < LOW ≦ 450 Mbps、 450 Mbps < MEDLOW ≦ 0.9 Gbps、 0.9 Gbps < MED ≦ 1.8 Gbps、 1.8 Gbps < MEDHIGH ≦ 2.55 Gbps、 2.55 Gbps < HIGH ≦ 3.2Gbps。 2. '#' で始ま る 属性は、 ユーザ情報専用を表 し てい ます。 こ の よ う な属性は、 参照用 と し て自動構成フ ァ イ ルに も 格納 さ れ ます。 8-31 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド SERDES ア ド バン ス ト ・ セ ッ ト ア ッ プ こ の タ ブは 4 チ ャ ネル全ての送受信 SERDES のア ド バン ス ト 属性にア ク セ スす る ために使用 さ れ ます。 送信 属性 と し てはプ リ エ ン フ ァ シ ス や終端、 差動出力電圧な ど を選択 し ます。 受信属性では イ コ ラ イ ザ、 終端、 I/O 結合な ど を選択 し ます。 送信 SERDES ク ロ ッ ク と PLL の属性 も 選択 し ます。 図 8-22. パ ラ メ ー タ 設定 GUI ~ SERDES Advanced (ア ド バン ス ト ) セ ッ ト ア ッ プ タ ブ 8-32 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-13. SERDES_PCS GUI の属性 ~ SERDES Advanced (ア ド バン ス ト ) タ ブの設定 GUI テキス ト 属性名 値 デ フ ォル ト 値 Differential Output Voltage (差動出力電圧) CHx_TDRV8 -4 (640mV)5 , -3 (780mV), -2 (870mV), -1 (920mV), 0 (1040mV:default), 1 (1130mV)6 , 2 (1260mV)7 , 3 (1350mV)7 , 4 (1440mV)7 PreEmphasis (プ リ エ ン フ ァ シ ス) CHx_TX_PRE Disabled, 0 (0%), 1 (5%), 2 (12%), 3 (18%), 4 (25%), 5 (33%), 6 (40%), 7 (48%) CHx_RTERM_TX 50, 75, 5K CHx_RX_EQ Disabled, Mid_Low, Mid_Med, Mid_High, Long_Low, Long_Med, Long_High CHx_RTERM_RX 50, 60, 75, High RX I/O Coupling (受信 I/O 結合) CHx_RX_DCC AC, DC Loss of Signal Threshold (LOS 閾値) CHx_LOS_THRESHOLD_LO 2 (+15%), 3 (+25%) 24 TX PLL Reference Clock I/O Termination (Ohms) 3 (送信 PLL 基準ク ロ ッ ク I/O 終端) PLL_TERM 50, 2K 50 TX PLL Reference Clock I/O Coupling PLL_DCC (送信 PLL 基準ク ロ ッ ク I/O 結合) AC, DC AC10 PLL Loss of Lock (PLL LOL 周波数偏差) 0: 1: 2: 3: TX I/O Termination (Ohms) (送信 I/O 終端抵抗値) 3 Equalization (イ コ ラ イザ) 1 RX I/O Termination (Ohms) (受信 I/O 終端抵抗値) 3 PLL_LOL_SET +/+/+/+/- 1350ppm x2 9 2400ppm x2 6800ppm 400ppm 0 DISABLED 50 DISABLED 50 AC2 0 1. 詳細については表 8-106 を参照 し て く だ さ い。 2. 内部オンチ ッ プ AC 結合の典型的 コ ンデンサ値は 5pF です。 3. 終端抵抗 と その使い方 : RX I/O 終端 : – 50 : 現在の と こ ろ、 SMTPE 以外の全プ ロ ト コ ルでは 50Ω 終端抵抗が使用 さ れます。 - 60 : 柔軟性のため用意 さ れてい ます。 - 75 : SMPTE では 75Ω 終端抵抗が使用 さ れます。 - HIGH : Rx が未使用の場合のデフ ォ ル ト 。 TX I/O 終端 : – 50 : 現在の と こ ろ、 SMTPE 以外の全プ ロ ト コ ルでは 50Ω 終端抵抗が使用 さ れます。 - 75 : SMPTE では 75Ω 終端抵抗が使用 さ れます。 - 5K : PCI Express の電気的ア イ ド ル、 及び PCI Express の R レ シーバ検出な ど。 ユーザが レ シーバ検出用に こ の終端 値を設定す る こ と はあ り ません。 "PCI Express の レ シーバ検出 " のセ ク シ ョ ン を参照 し て く だ さ い。 TX PLL 終端 : – 50 : PCB 上に 50Ω 終端抵抗がない場合。 - 2K : PCB 上に 50Ω 終端抵抗があ る 場合。 4. PCS の設定では、 GUI は PCI Express 以外の全てのプ ロ ト コ ルに対 し て値 2 のみに対応 し てい ます。 PCI Express に対 し て は、 値 2 と 3 の両方に対応 し てい ます。 5. こ の振幅を得 る ためには TDRV_AMP_BOOST(CH_13[3]) を 1 に設定 し ます。 6. こ の設定は PCI Express のデフ ォ ル ト 設定です。 PCI Express プ ロ ト コ ルでは こ のデフ ォ ル ト 設定の使用を推奨 し ます。 そ のため、 IPexpress GUI の TDRV ド ロ ッ プダ ウ ン ・ ウ ィ ン ド ウ はグ レー表示 と な り ます。 他の設定は、 自動構成フ ァ イ ル (.txt フ ァ イ ル) で CHn_TDRV 属性を編集 し て使用で き ます。 7. こ れ ら の設定では VCCOB を 1.5V にす る 必要があ り ます。 8. 値は典型的数値です。 周波数全域に対 し て約 ±20% のマージ ンがあ り ます。 詳細については、 表 8-105 の CHn_TDRV の行 を参照 し て く だ さ い。 9. 'x2' は、 内部 LOL カ ウ ン タ の ppm の正常な 2 倍カ ウ ン ト を示 し てい ます。 10.多 く の用途では AC 結合を推奨 し ます。 DC 結合を使用す る 必要があ る のは、 外部 AC 結合 コ ンデンサを組み合わせる 場 合のみです。 8-33 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド PCS の位置指定 (割 り 当て) 制約フ ァ イ ル (.lpf) を記述す る こ と で、 PCS ク ワ ッ ド の希望す る 位置を指定で き ます。 制約 (プ リ フ ァ レ ン ス) "locate" を使用 し ます。 構文例を次に示 し ます。 LOCATE COMP "pcs_inst_name" SITE "PCSB" ; ク ワ ッ ド名 Quad A Quad B Quad C Quad D サイ ト 名 PCSA PCSB PCSC PCSD 高速 I/O 終端 ト ポ ロ ジ を図 8-23 に示 し ます。 図 8-23. 高速 I/O 終端 VCCIB 50/60/75/High 50/60/75/High VCCA HDINP 5 pF EQ HDINN PCI Receiver Detect HDOUTP HDOUTN 50/75/5K 50/75/5K VCCOB PCS ア ド バン ス ト 1 セ ッ ト ア ッ プ こ の タ ブは 4 チ ャ ネル全ての送受信 PCS のア ド バン ス ト 属性にア ク セ スす る ために使用 さ れます。 各 TX 及 び RX チ ャ ネルの極性 と 動作モー ド (8b10b な ど) は個別に選択で き ます。 さ ら に、 カ ン マ値、 カ ン ママ ス ク 、 カ ン マア ラ イ ン な どの ワー ド ア ラ イ メ ン ト 値 も 選択で き ます。 8-34 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-24. パ ラ メ ー タ 設定 GUI ~ PCS Advanced1 (ア ド バン ス ト 1) セ ッ ト ア ッ プ タ ブ 表 8-14. SERDES/PCS GUI ~ PCS Advanced1 (ア ド バン ス ト 1) セ ッ ト ア ッ プ タ ブ GUI テキス ト 属性名 Invert the Transmit Signal (送信信号を反転) CHx_TX_SB Transmitter Enable 8b10b Encoder ( ト ラ ン ス ミ ッ タ ) (8B10B エ ン コ ーダ を イ ネーブル) FPGA FIFO Bridge (FPGA FIFO ブ リ ッ ジ) Receiver (レ シーバ) Word Alignment (ワー ド ・ ア ラ イ メン ト) デ フ ォル ト 値 DISABLED CHx_TX_8B10B (プ ロ ト コル依存) CHx_TX_FIFO (プ ロ ト コル依存) Invert the Receive Signal (受信信号を反転) CHx_RX_SB DISABLED Dynamically Invert Port (ダ イ ナ ミ ッ ク にポー ト を反転) N/A DISABLED Enable 8b10b Decoder (8B10B デ コ ーダ を イ ネーブル) CHx_RX_8B10B (プ ロ ト コル依存) FPGA FIFO Bridge (FPGA FIFO ブ リ ッ ジ) CHx_RX_FIFO (プ ロ ト コル依存) Word Alignment Block (WA ブ ロ ッ ク) CHx_RXWA (プ ロ ト コル依存) Internal Link (内部 リ ン ク ) CHx_ILSM (プ ロ ト コル依存) Specific Comma (特定のカ ン マ) #CHx_SCOMMA (プ ロ ト コル依存) Plus Comma Value (正のカ ン マ値) CHx_COMMA_A1 1100000101 Minus Comma Value (負のカ ン マ値) CHx_COMMA_B 0011111010 Comma Mask (カ ン ママス ク) CHx_COMMA_M (プ ロ ト コル依存) 2 1. 定義上、 COMMA_A と COMM_B は正 と 負の ラ ン ニ ン グ ・ デ ィ スパ リ テ ィ を持つ 1 組の 8b10b コ ー ド 化制御キ ャ ラ ク タ で す。 プ ロ ト コ ルご と に正 し い IDLE シーケ ン ス を指定 し 、 リ ン ク ス テー ト マシ ン を同期す る 必要があ り ます。 例えば、 1GbE プ ロ ト コ ルでは IDLE (ワ ー ド ア ラ イ メ ン ト と 同期ス テー ト マシ ン) と し て K28.5+D5.6 ま たは D16.2 が必要です。 デ フ ォ ル ト 値は、 リ ト ルエンデ ィ ア ン形式です。 2. 多 く の用途では、 カ ン マキ ャ ラ ク タ と し て K28.5 が使用 さ れます。 マ ス ク のデフ ォ ル ト 値は 1111111111 です。 G8B10B モー ド では任意のカ ン マ を使用で き 、 マ ス ク を 1111111100 にする と 3 つのカ ン マキ ャ ラ ク タ K28.1、 28.5、 28.7 を全て検 出で き ます。 8-35 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド PCS ア ド バン ス ト 2 セ ッ ト ア ッ プ こ の タ ブは ク ロ ッ ク ト レ ラ ン ス補償ブ ロ ッ ク の値の設定に使用 さ れます。 図 8-25. パ ラ メ ー タ 設定 GUI ~ PCS Advanced2 (ア ド バン ス ト 2) セ ッ ト ア ッ プ タ ブ 表 8-15. SERDES/PCS GUI ~ PCS Advanced2 (ア ド バン ス ト 2) セ ッ ト ア ッ プ タ ブ GUI テキス ト 属性名 デ フ ォル ト 値 CTC block CHx_CTC (プ ロ ト コル依存) Size of ordered set (オーダセ ッ ト のサイ ズ) CHx_CC_MATCH_MODE (プ ロ ト コル依存) Byte N CHx_CC_MATCH1 (プ ロ ト コル依存) Byte N+1 CHx_CC_MATCH2 (プ ロ ト コル依存) Byte N+2 CHx_CC_MATCH3 (プ ロ ト コル依存) Byte N+3 CHx_CC_MATCH4 (プ ロ ト コル依存) Interpacket gap (パケ ッ ト 間ギ ャ ッ プ) CHx_CC_MIN_IPG (プ ロ ト コル依存) Deletion threshold (削除の閾値) CCHMARK 9 Insertion threshold (挿入の閾値) CCLMARK 7 1 1. 常にデ ィ セーブル : XAUI、 SDI、 CPRI、 OBSAI、 10 ビ ッ ト SERDES、 8 ビ ッ ト SERDES 常に イ ネーブル : Serial RapidIO その他の全モー ド : デフ ォ ル ト でデ ィ セーブル。 ほ と ん ど の CTC 機能は IP で提供 さ れます。 8-36 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 制御セ ッ ト ア ッ プ こ の タ ブは SCI イ ン タ ーフ ェ イ ス と デバ ッ グ及び制御オプシ ョ ンの選択に使用 さ れます。 ま た、 SCI、 エ ラ ー レ ポー ト 、 PLL ク ォー タ ・ ク ロ ッ ク 、 ループバ ッ ク 機能 も イ ネーブルにで き ます。 図 8-26. パ ラ メ ー タ 設定 GUI ~ Control Setup (制御セ ッ ト ア ッ プ) タ ブ 表 8-16. Tab 5, SERDES_PCS GUI 属性 ~ Control Setup (制御セ ッ ト ア ッ プ) タ ブ GUI テキス ト 属性名 デ フ ォル ト 値 Loopback Mode (Ch0, Ch1, Ch2, Ch3) DISABLED Loopback serial data after equalizer Loopback serial data after transmit driver Loopback parallel data after de_serializer DISABLED1 Transmitter Electrical Idle ( ト ラ ン ス ミ ッ タ 電気的ア イ ド ル) signal tx_idle_ch0_c is provided DISABLED Include Reset Sequence Generation2 ( リ セ ッ ト シーケ ン ス生成回路を含める) Include the TX and RX Reset Sequence ENABLED Provide SERDES Client Interface (SCI イ ン タ ー フ ェ イ ス を設ける) N/A Provide the SERDES Client Interface Interrupt Port (SCI 割 り 込みポー ト を設ける) INT_ALL DISABLED Reference Clock to FPGA core (基準ク ロ ッ ク を FPGA フ ァ ブ リ ッ ク に出力する) QD_REFCK2CORE DISABLED 1. ループバ ッ ク モー ド がデフ ォ ル ト モー ド (DISABLED) の と き は、 2 つの SERDES ブ リ ッ ジ ・ パ ラ レルループバ ッ ク 制御 信号 (sb_felb_ch[3:0]_c と sb_felb_rst_ch[3:0]_c) を HDL モジ ュ ールで使用 し 、 ループバ ッ ク モー ド を動的にオン / オ フ で き ます。 ループバ ッ ク モー ド を使用 し ない場合は、 こ れ ら の信号を グ ラ ン ド に接続する 必要があ り ます。 2. リ セ ッ ト ・ シーケ ン ス生成については、 本 ド キ ュ メ ン ト の "SERDES/PCS の リ セ ッ ト " セ ク シ ョ ンに説明があ り ます。 FPGA への基準ク ロ ッ ク と リ セ ッ ト シーケ ン ス リ セ ッ ト シーケ ン ス は リ セ ッ ト 制御用ス テー ト マシ ンで基準 ク ロ ッ ク を使用 し ます。 Tx Revclk ソ ース と し て ”Internal”が選択 さ れ る と 、リ セ ッ ト ・ス テー ト マシ ンは内部基準 ク ロ ッ ク を用い ます。 8-37 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド も し ”External” が選択 さ れ る と 、 リ セ ッ ト ・ ス テー ト マシ ン は FPGA コ アへの基準 ク ロ ッ ク を用い ま す。 REFCLK2FPGA 信号が ラ ッ パモジ ュ ールに現れ (制御レ ジ ス タ ビ ッ ト 、 QD_0A[1] がセ ッ ト )、 こ れはユーザ も 使用で き ます。 生成オプ シ ョ ン こ の タ ブには PCS モジ ュ ール生成出力フ ァ イ ルを ユーザが自分で選択す る ためのオプシ ョ ンがあ り ます。 図 8-27. パ ラ メ ー タ 設定 GUI ~ Generation Options (生成オプシ ョ ン) タ ブ 以前のバージ ョ ンの Diamond で作成 し た古いプ ロ ジ ェ ク ト を最新バージ ョ ンに初めて移行す る 場合は、 パ ラ メ ー タ 設定を変更す る 必要がな く て も 、 最新バージ ョ ン で PCS モジ ュ ールを再生成す る よ う に し て く だ さ い。 そ う す る こ と で、最新のプ リ ミ テ ィ ブ ・ ラ イ ブ ラ リ が確実に使用 さ れ る よ う にな り ます。再生成 し なか っ た場合は、 デザ イ ンが フ ロ ーの途中で停止す る か、 フ ロ ーは完了す る も のの、 ボー ド が予期 し ない動作 と な る 可能性があ り ます。 既存のプ ロ ジ ェ ク ト 内の PCS モジ ュ ールを再生成 し た場合、 HDL フ ァ イ ルには変化がな く 、 自動構成フ ァ イ ルのみの再生成が必要にな る こ と が よ く あ り ま す。 その場合は、 "Generate Bitstream Data" (ビ ッ ト ス ト リ ーム ・ デー タ の生成) 及び "Force One Level" (1 レベルのみ) オプシ ョ ン を実行す る と コ ンパ イ ル時間を 節約で き ます。 • Automatic (自動) ~ 選択す る と 、 IPexpress で必要な フ ァ イ ルのみが生成 さ れます。 HDL フ ァ イ ル と TXT フ ァ イ ルの両方が含まれ る 場合 と 、 TXT フ ァ イ ルのみの場合があ り ます。 こ れがデフ ォ ル ト 設定で す。 • Force Module and Settings Generation (強制的にモジ ュール と 設定を生成) ~ 選択す る と 、 HDL フ ァ イ ル と TXT フ ァ イ ルの両方が生成 さ れます。 Project Navigator の処理が強制的に リ セ ッ ト さ れ、 論理合成に戻 り ます。 • Force Settings Generation Only (強制的に設定のみを生成) ~ 選択す る と 、 TXT フ ァ イ ルのみが生成 さ れ ます。 HDL の生成が必要な場合は、 エ ラ ー メ ッ セージが表示 さ れます。 • フ ロ ー定義 ~ 生成オプシ ョ ンは 2 つのモジ ュ ールフ ロ ーで異な る機能を持ち ます。 – HDL ソ ース フ ロ ー : プ ロ ジ ェ ク ト ナビ ゲー タ 内の HDL フ ァ イ ル 再生成のため、 既存の LPC フ ァ イ ルを IPexpress か ら 開 く こ と がで き ます。 こ の場合、 GUI で設定 し た リ 8-38 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド セ ッ ト 点が新 し い開始点にな り ます。 そのため、 ユーザがプ ロ セ ス を ダブル ク リ ッ ク す る か、 "Force One Level" (1 レベルのみ) オプシ ョ ン を実行す る と 、 その リ セ ッ ト 点か ら 開始 さ れ ます。 – LPC ソ ース フ ロ ー : プ ロ ジ ェ ク ト ナビ ゲー タ 内の LPC フ ァ イ ル LPC フ ァ イ ルを開いて PCS モジ ュ ールを再生成す る と 、 HDL モジ ュ ールが再生成 さ れたか ど う かに関係 な く 、 プ ロ セ ス全体が リ セ ッ ト さ れ ます。 – ど ち ら の場合 も 、 Processes (プ ロ セ ス) ウ ィ ン ド ウ のチ ェ ッ ク マー ク は解除 さ れた ま ま ですが、 ユーザが プ ロ セ ス を開始す る と す ぐ に更新 さ れ ます。 自動構成フ ァ イルについて IPexpress は属性レベルのマ ッ プ情報が格納 さ れた こ の フ ァ イ ルを生成 し ま す。 こ の フ ァ イ ルはシ ミ ュ レー シ ョ ン ・ モデルで使用 さ れ、 ビ ッ ト ス ト リ ーム生成プ ロ セ ス で も 、 PCSD ク ワ ッ ド を IPexpress で選択 さ れた モー ド に自動的に初期化す る ために使用 さ れます。 自動構成フ ァ イ ルではフ ァ イ ル タ イ プ拡張子 と し て "txt" が使用 さ れます。 以下に自動構成フ ァ イ ルの例を示 し ます。 # # # # This file is used by the simulation model as well as the bitstream generation process to automatically initialize the PCSD quad to the mode selected in the IPexpress. This file is expected to be modified by the end user to adjust the PCSD quad to the final design requirements. DEVICE_NAME "LFE3-95E" CH0_MODE "RXTX" CH1_MODE "DISABLED" CH2_MODE "DISABLED" CH3_MODE "DISABLED" TX_DATARATE_RANGE "HIGH" PLL_SRC "REFCLK_EXT" REFCK_MULT "10X" #REFCLK_RATE 250.0 CH0_PROTOCOL CH0_LDR CH0_RX_DATARATE_RANGE CH0_TX_DATA_RATE CH0_TX_DATA_WIDTH CH0_TX_FIFO CH0_CDR_SRC #CH0_TX_FICLK_RATE CH0_RX_DATA_RATE CH0_RX_DATA_WIDTH CH0_RX_FIFO #CH0_RX_FICLK_RATE CH0_TDRV CH0_TX_PRE CH0_RTERM_TX CH0_RX_EQ CH0_RTERM_RX CH0_RX_DCC CH0_LOS_THRESHOLD_LO CH0_TX_SB "G8B10B" "RXTX" "HIGH" "FULL" "8" "DISABLED" "REFCLK_EXT" 250.0 "FULL" "8" "DISABLED" 250.0 "0" "DISABLED" "50" "DISABLED" "50" "AC" "2" "DISABLED" 8-39 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド CH0_TX_8B10B CH0_RX_SB CH0_RX_8B10B CH0_RXWA CH0_ILSM #CH0_SCOMMA CH0_COMMA_A CH0_COMMA_B CH0_COMMA_M CH0_CTC CH0_CC_MATCH_MODE CH0_CC_MATCH1 CH0_CC_MATCH2 CH0_CC_MIN_IPG CH0_SSLB CH0_SPLBPORTS CH0_PCSLBPORTS PLL_TERM PLL_DCC PLL_LOL_SET CCHMARK CCLMARK INT_ALL QD_REFCK2CORE "ENABLED" "DISABLED" "ENABLED" "ENABLED" "ENABLED" "1111111111" "1100000101" "0011111010" "1111111100" "ENABLED" "2" "0000000000" "0000000000" "3" "DISABLED" "DISABLED" "DISABLED" "50" "AC" "0" "9" "7" "DISABLED" "ENABLED" 8 ビ ッ ト 及び 10 ビ ッ ト SERDES-Only モー ド こ のセ ク シ ョ ンでは SERDES/PCS ブ ロ ッ ク の、8 ビ ッ ト SERDES-Only 及び 10 ビ ッ ト SERDES-Only の 2 つの モー ド の動作について説明 し ます。 こ れ ら のモー ド は、LatticeECP3 PCS ロ ジ ッ ク が提供す る プ ロ ト コ ルベー ス の操作な し で、 高速 I/O イ ン タ ーフ ェ イ スへのア ク セ ス が必要な用途を目的 と し た も のです。 送信パス • シ リ ア ラ イ ザ : 8 ビ ッ ト ま たは 10 ビ ッ ト パ ラ レルデー タ を シ リ アルデー タ に変換 受信パス • デシ リ ア ラ イ ザ : シ リ アルデー タ を 8 ビ ッ ト ま たは 10 ビ ッ ト パ ラ レ ルデー タ に変換 • オプシ ョ ンの、 ユーザ定義のア ラ イ メ ン ト パ タ ーンへの ワー ド ア ラ イ メ ン ト Generic 8b10b モー ド SERDES/PCS ブ ロ ッ ク の Generic 8b10b モー ド は、 追加のプ ロ ト コ ル固有のデー タ 操作な し で、 8b10b エン コ ー ド / デ コ ー ド が必要な用途を目的 と し た も のです。 LatticeECP3 SERDES/PCS ブ ロ ッ ク は、 チ ャ ネルあ た り 最大 3.2Gbps の Generic 8b10b アプ リ ケーシ ョ ンに対応 し てい ます。 こ のモー ド では、 ワー ド ア ラ イ ナは 組み込み PCS LSM(Link State Machine)か ら 制御で き ます。こ の場合、LSM は GbE モー ド で動作 し 、RX_SERDES 入力の ト ラ フ ィ ッ ク は IEEE802.3-2002 仕様の Figure 36-9 (Synchronizing State Machine, 1000BASE-X) に準拠 し なければな り ません。 組み込み リ ン ク ス テー ト マシ ン を選択 し て イ ネーブルに し た場合、リ ン ク が同期す る と lsm_status_ch[3:0]_s ス テー タ ス信号は High にな り ます。 さ も な く ば LSM はデ ィ セーブルで き 、ワー ド ア ラ イ ナはフ ァ ブ リ ッ ク か ら word_align_en_ch[3:0]_c 入力ピ ンで 制御で き ます。 詳細は本 ド キ ュ メ ン ト 21 ページの ” 外部 リ ン ク ス テー ト マシ ンのオプシ ョ ン ” 節、 お よ び 32 ページの ”SERDES ア ド バン ス ト ・ セ ッ ト ア ッ プ ” 節を参照 し て く だ さ い。 8-40 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 送信パス • シ リ ア ラ イザ • 8b10b エ ン コ ーダ 受信パス • デシ リ ア ラ イ ザ • 組み込み GbE リ ン ク ス テー ト マシ ン か ら 、 ユーザ定義 ワ ー ド ア ラ イ メ ン ト ・ キ ャ ラ ク タ への ワー ド ア ラ イ メント • 8b10b デ コ ー ド • ク ロ ッ ク ト レ ラ ン ス補償 (オプシ ョ ン) LatticeECP3 PCS のギガ ビ ッ ト ・ イ ーサネ ッ ト 及び SGMII モー ド LatticeECP3 SERDES/PCS ブ ロ ッ ク のギガ ビ ッ ト ・ イ ーサネ ッ ト モー ド は、 シ リ アル I/O か ら 、 IEEE 802.32002 1000 BASE-X ギガ ビ ッ ト ・ イ ーサネ ッ ト 規格の GMII/SGMII イ ン タ ーフ ェ イ ス ま での完全互換に対応 し てい ます。 送信パス • シ リ ア ラ イザ • 8b10b エ ン コ ーダ 受信パス • • • • デシ リ ア ラ イ ザ IEEE 802.3-2002 1000 BASE-X で定義 さ れたア ラ イ メ ン ト ・ キ ャ ラ ク タ に基づ く ワー ド ア ラ イ メ ン ト 8b10b デ コ ー ド ギガ ビ ッ ト ・ イ ーサネ ッ ト ・ リ ン ク ス テー ト マシ ンは、 1 つの例外を除いて IEEE 802.3-2002 の Figure 36-9 (同期ス テー ト マシ ン、 1000BASE-X) に準拠 し てい ます。 Figure 36-9 では、 LSM が 1 つの SYNC_ACQUIRED_{N} (N=2,3,4) か ら SYNC_ACQUIRED_{N-1} に遷移す る ために、 4 つの連続 し た正 し い コー ド グループ を受信す る こ と が求め ら れてい ます。 それに対 し て、 実際の LSM 実装では遷移す る ために、 5 つの連続 し た正 し い コ ー ド グループが必要です。 • ギガ ビ ッ ト ・ イ ーサネ ッ ト ・ キ ャ リ ア検出 : IEEE 802.3-2002 (1000BASE-X) のセ ク シ ョ ン 36.2.5.1.4 では carrier_detect 機能が定義 さ れてい ます。 ギガ ビ ッ ト ・ イ ーサネ ッ ト モー ド では、 こ の機能が PCS に含まれず、 FPGA フ ァ ブ リ ッ ク に carrier_detect 信号が供給 さ れません。 • ク ロ ッ ク ド メ イ ンの差異に対処す る ク ロ ッ ク ト レ ラ ン ス補償 ロ ジ ッ ク 機能 ギガ ビ ッ ト ・ イ ーサネ ッ ト (1000BASE-X) のア イ ド ル挿入 こ れは、 ク ロ ッ ク 補償 と 自動ネ ゴ シエーシ ョ ンに必要です。 自動ネ ゴ シエーシ ョ ンは FPGA ロ ジ ッ ク で行わ れます。 ラ テ ィ ス のギガ ビ ッ ト ・ イ ーサネ ッ ト PCS IP コ アは、 以下で説明す る 自動ネ ゴ シエーシ ョ ン を提供 し ます。 ク ロ ッ ク 補償 と 自動ネ ゴ シ エーシ ョ ン には ア イ ド ルパ タ ー ン 挿入が必要です。 自動ネ ゴ シ エーシ ョ ン は FPGA ロ ジ ッ ク で行われます。 こ のモジ ュ ールは自動ネ ゴ シエーシ ョ ンの間、 自動的に /I2/ シ ン ボルを受信 デー タ ス ト リ ームの中に挿入 し ます。 自動ネ ゴ シエーシ ョ ン中、 リ ン ク パー ト ナは連続 し て /C1/ と /C2/ の オーダセ ッ ト を送信 し ます。 ク ロ ッ ク 補償回路は こ れ ら のオーダセ ッ ト を削除せず、 /I2/ オーダセ ッ ト のみ を挿入す る か、ま たは削除す る よ う に構成 さ れてい ます。ク ロ ッ ク 補償回路におけ る オーバー ラ ン と ア ン ダー ラ ン を防ぐ には、 定期的に /I2/ オーダセ ッ ト を挿入 し 、 挿入 / 削除す る 機会を ク ロ ッ ク 補償回路に与え る 必 要があ り ます。 8-41 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 自動ネ ゴ シエーシ ョ ン を実行 し てい る 間、 こ のモジ ュ ールは 2048 ク ロ ッ ク サ イ ク ル毎に 8 回の /I2/ オーダ セ ッ ト (それぞれ 2 バ イ ト ) シーケ ン ス を挿入 し ます。 こ のモジ ュ ールは 8b10b デ コ ーダの後にあ る ため、 こ の動作に よ っ て何 ら かの ラ ン ニ ン グ ・ デ ィ ス パ リ テ ィ 誤 り が発生す る こ と はあ り ません。 GMII イ ン タ ー フ ェ イ ス は、自動ネ ゴ シエーシ ョ ンの間、Rx ス テー ト マシ ンに よ っ て IDLE に ド ラ イ ブ さ れ る ため、/I2/ オー ダセ ッ ト が FPGA 受信 イ ン タ ーフ ェ イ ス に送 ら れ る こ と はあ り ません。自動ネ ゴ シエーシ ョ ンが完了す る と 、 受信デー タ の破損を防ぐ ため、 /I2/ 挿入はデ ィ セーブル さ れます。 こ の ス テー ト マシ ンは自動ネ ゴ シエーシ ョ ンの間だけ ア ク テ ィ ブにな り ます。自動ネ ゴ シエーシ ョ ン・ス テー ト マシ ン と GbE 受信ス テー ト マシ ンは ソ フ ト ロ ジ ッ ク で実装 さ れてい ます。GbE 受信ス テー ト マシ ンは自動 ネ ゴ シエーシ ョ ン ・ ス テー ト マシ ンか ら の (TX デー タ バ ス上の) 信号 xmit_ch[3:0] に依存 し ます。 こ の信号 は、 特に自動ネ ゴ シエーシ ョ ンの後は比較的ス タ テ ィ ッ ク と な り 、 TX デー タ バ ス に含まれてい ます。 表 8-17. GbE IDLE ス テー ト マシ ンの制御 / ス テー タ ス信号 モ ジ ュ ール信号 xmit_ch[3:0] 方向 In 記 述 FPGA ロ ジ ッ クの自動ネゴ シ エーシ ョ ン ・ ス テー ト マシ ンから ギガ ビ ッ ト ・ イ ーサネ ッ ト のア イ ド ル挿入 と correct_disp_ch[3:0] 信号 PCS の送信側で correct_disp_ch[3:0] 信号が使われ る こ と で、 パケ ッ ト 間ギ ャ ッ プが負のデ ィ スパ リ テ ィ 状態 で必ず始ま り ます。 イ ーサネ ッ ト フ レームの終わ り では、 イ ーサネ ッ ト フ レームのサ イ ズ と デー タ 内容に応 じ て、 ト ラ ン ス ミ ッ タ の現在のデ ィ スパ リ テ ィ 状態が正の場合 と 負の場合があ り ます。 ただ し 、 PCS の FPGA ソ フ ト ロ ジ ッ ク 側か ら は、 PCS ト ラ ン ス ミ ッ タ の現在のデ ィ スパ リ テ ィ 状態が不明で す。 correct_disp_ch[3:0] 信号 は こ の た め に 用 意 さ れ て い ま す。 パ ケ ッ ト 間 ギ ャ ッ プ の 開始 時 に correct_disp_ch[3:0] 信号が ク ロ ッ ク の 1 周期間アサー ト さ れ る と 、 現在のデ ィ ス パ リ テ ィ が正であ る 場合は、 PCS ト ラ ン ス ミ ッ タ に対 し て、 送信デー タ ス ト リ ームに IDLE1 オーダセ ッ ト が強制的に挿入 さ れます。 ただ し 、 現在のデ ィ スパ リ テ ィ が負の場合は、 送信デー タ ス ト リ ームに変更が加え ら れません。 PCS の FPGA ソ フ ト ロ ジ ッ ク 側か ら は、 パケ ッ ト 間ギ ャ ッ プは通常、 次の よ う な IDLE2 オーダセ ッ ト の連続 伝送にな り ます : tx_k_ch=1、 txdata= 0xBC tx_k_ch=0、 txdata=0x50 PCS チ ャ ネルでは、 IDLE2 は現在のデ ィ スパ リ テ ィ が保持 さ れ る こ と を表 し ます。 IDLE1 は、 現在のデ ィ ス パ リ テ ィ が反転 さ れ る べ き こ と を表 し ます。 し たが っ て、 パケ ッ ト 間ギ ャ ッ プが確実に負のデ ィ スパ リ テ ィ 状態で始ま る よ う にす る こ と がで き ます。パケ ッ ト 間ギ ャ ッ プ前のデ ィ ス パ リ テ ィ 状態が負の場合は、パケ ッ ト 間ギ ャ ッ プギ ャ ッ プの間、 IDLE2 の連続ス ト リ ームが送信 さ れます。 パケ ッ ト 間ギ ャ ッ プ前のデ ィ スパ リ テ ィ 状態が正の場合は、 IDLE1 が 1 つ送信 さ れてか ら 、 IDLE2 の連続ス ト リ ームが送信 さ れます。 PCS の FPGA ソ フ ト ロ ジ ッ ク 側では、 PCS へのパケ ッ ト 間ギ ャ ッ プは常に IDLE2 に ド ラ イ ブ さ れます。 パ ケ ッ ト 間ギ ャ ッ プの最初の開始時は、 correct_disp_ch[3:0] 信号が ク ロ ッ ク 1 周期分アサー ト さ れ、 k_cntrl=0、 data=0x50 と な り ます。 必要に応 じ て、 PCS は こ の IDLE2 を IDLE1 に変換 し ます。 残 り のパケ ッ ト 間ギ ャ ッ プでは、 PCS への IDLE2 が ド ラ イ ブ さ れ、 correct_disparity_chx 信号がネゲー ト さ れた ま ま にな る 必要があ り ます。 例えが、 512 バ イ ト の イ ーサネ ッ ト フ レームの連続ス ト リ ーム と 、 512 バ イ ト の /I/ が送信 さ れた場合は、 次 の よ う にな り ます。 • 最初のパケ ッ ト 間ギ ャ ッ プ中は、 全ての負のデ ィ ス パ リ テ ィ /I2/ と な る (K28.5(-) D16.2(+)) • 次のパケ ッ ト 間ギ ャ ッ プ中は、 周期が正のデ ィ ス パ リ テ ィ /I1/ で始ま り (K28.5 (+), D5.6 (+/-) が等 し い)、 残 り 全てのオーダセ ッ ト は負のデ ィ スパ リ テ ィ /I2/ と な る • 次のパケ ッ ト 間ギ ャ ッ プ中は、 全ての負のデ ィ ス パ リ テ ィ /I2/ と な る • 次のパケ ッ ト 間ギ ャ ッ プ中は、 周期が正のデ ィ ス パ リ テ ィ /I1/ で始ま り (K28.5 (+), D5.6 (+/-) が等 し い)、 残 り 全てのオーダセ ッ ト は負のデ ィ スパ リ テ ィ /I2/ と な る • エン コ ーダ ・ モジ ュ ール内で多 く のプ ロ グ ラ マブル ・ オプシ ョ ンがサポー ト さ れます。 次の も のがあ 8-42 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド • • • • り ます。 負ま たは正のデ ィ ス パ リ テ ィ を ワー ド 単位で強制す る 機能 FIFO ブ リ ッ ジか ら 外部マルチプ レ ク サにデー タ を直接入力す る 機能 ラ ン ニ ン グ ・ デ ィ ス パ リ テ ィ に応 じ て コ ー ド ワー ド を置換す る 機能 (100BASE-X 及び FC) ソ フ ト ウ ェ ア レ ジ ス タ で制御す る バ イ パス モー ド XAUI モー ド ラ テ ィ ス XAUI IP コ アでは、 XAUI モー ド の SERDES/PCS ブ ロ ッ ク が、 シ リ アル I/O か ら IEEE 802.3-2002 XAUI 規格の XGMII イ ン タ ーフ ェ イ ス ま で完全互換です。 XAUI モー ド は 10 ギガ ビ ッ ト ・ イ ーサネ ッ ト に対 応 し てい ます。 送信パス • シ リ ア ラ イザ • IEEE 802.3ae-2002 仕様に従い、 XGMII ア イ ド ルか ら ||A||、 ||K||、 ||R|| キ ャ ラ ク タ への変換を実行す る 送 信ス テー ト マシ ン • 8b10b エン コ ー ド 受信パス • デシ リ ア ラ イ ザ • IEEE 802.3-2002 で定義 さ れた ア ラ イ メ ン ト ・ キ ャ ラ ク タ に基づ く ワ ー ド ア ラ イ メ ン ト • 8b10b デ コ ー ド • XAUI リ ン ク ス テー ト マシ ンは、 1 つの例外を除いて IEEE 802.3ae-2002 の図 48-7 - PCS 同期状態図に準拠 し てい ます。 図 48-7 では、 LSM が 1 つの SYNC_ACQUIRED_{N} (N=2,3,4) か ら SYNC_ACQUIRED_{N-1} に 遷移す る ために、 4 つの連続 し た正 し い コ ー ド グループ を受信す る こ と が求め ら れてい ます。 それに対 し て、 実際の LSM 実装では遷移す る ために、 5 つの連続 し た正 し い コ ー ド グループが必要です。 • PCS 内の ク ロ ッ ク ト レ ラ ン ス補償 ロ ジ ッ ク は、 XAUI モー ド でデ ィ セーブル と な り ます。 MCA (マルチ チ ャ ネル ・ ア ラ イ メ ン ト ) 及び CTC は XAUI IP コ アで行われ ます。 • x4 マルチチ ャ ネル ・ ア ラ イ メ ン ト は FPGA コ ア ロ ジ ッ ク 内で行 う 必要があ り ます。 LatticeECP3 PCS の PCI Express リ ビ ジ ョ ン 1.1 (2.5Gpbs) モー ド PCI Express モー ド の SERDES/PCS ブ ロ ッ ク は、 x1、 x2、 及び x4 PCI Express アプ リ ケーシ ョ ンに対応 し てい ます。 送信パス • • • • シ リ ア ラ イザ 8b10b エン コ ー ド レ シーバ検出 電気的ア イ ド ル 受信パス • • • • デシ リ ア ラ イ ザ 同期 コ ー ド に基づ く ワー ド ア ラ イ メ ン ト 8b10b デ コ ー ド リ ン ク 同期ス テー ト マシ ンは、 IEEE 802.3ae-2002 10GBASE-X 仕様の PCS 同期ス テー ト マシ ン (図 48-7) で定義 さ れた動作を取 り 入れて機能 し ます。 • 1 つの PCS ク ワ ッ ド を PCI Express モー ド に設定 し て x2 ま たは x4 PCI Express 動作 • ク ロ ッ ク ド メ イ ンの差異に対処す る ク ロ ッ ク ト レ ラ ン ス補償 ロ ジ ッ ク 機能 8-43 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド • x2 ま たは x4 マルチチ ャ ネル ・ ア ラ イ メ ン ト は FPGA コ ア ロ ジ ッ ク 内で行 う 必要があ り ます。 表 8-18 に PCI Express モー ド 固有のポー ト を示 し ます。 表 8-18. PCI Express モー ド 固有のポー ト 信号 方向 ク ラス 記 述 pcie_done_ch[3:0]_s Out 1 = フ ァ ーエ ン ド ・ レ シーバ検出完了 チ ャ ネル 0 = フ ァ ーエ ン ド ・ レ シーバ検出未完了 pcie_con_ch[3:0]_s Out フ ァ ーエ ン ド ・ レ シーバ検出の結果 チ ャ ネル 1 = フ ァ ーエ ン ド ・ レ シーバ検出 0 = フ ァ ーエ ン ド ・ レ シーバ不検出 pcie_det_en_ch[3:0]_c In チ ャ ネル FPGA ロ ジ ッ ク (ユーザロ ジ ッ ク) が SERDES ブ ロ ッ ク に、 PCI Express レ シーバ検出動作の要求がある こ と を通知 1 = PCI Express レ シーバ検出を イ ネーブル 0 = 通常動作 pcie_ct_ch[3:0]_c In チ ャ ネル 1 = ト ラ ン ス ミ ッ タ に フ ァ ーエ ン ド ・ レ シーバ検出を要求 0 = 通常のデー タ 動作 rxstatus[2:0] チ ャ ネルご と の PCI Express レ シーバ ・ ス テー タ スポー ト 。 RxStatus# はレ チ ャ ネル シーバ ・ デー タ パスのエ ン コ ー ド 済みス テー タ スです。 16 ビ ッ ト ・ デー タ バスモー ド の場合は 2 ビ ッ ト 幅にな り ます。 Out ス テー タ ス信号 rxstatus はレ シーバ ・ デー タ パ ス のエン コ ー ド 済みス テー タ ス です。 次の よ う にエン コ ー ド さ れます。 表 8-19. rxstatus のエン コー ド rxstatus[2:0] 記 述 優先度 0 0 0 受信デー タ OK 8 0 0 1 CTC が 1 バイ ト 挿入 7 0 1 0 CTC が 1 バイ ト 削除 6 0 1 1 レ シーバ検出 (pcie_done, pcie_con) 1 1 0 0 8b10b デ コ ー ド エ ラ ー (コ ー ド 違反 ~ rx_cv_err) 2 1 0 1 CTC FIFO オーバー フ ロー (ctc_orun) 3 1 1 0 CTC FIFO ア ン ダー フ ロー (ctc_urun) 4 1 1 1 受信デ ィ スパ リ テ ィ ・ エ ラ ー (rx_disp_err) 5 PCI Express の終端 電気レベルにおいて、PCI Express は各レーンに対 し て 2 つの 2.5Gbps の単方向低電圧差動信号ペア を利用 し ます。 送信 と 受信は個別の差動ペア と な り 、 レーン ご と に合計 4 つのデー タ 線があ り ます。 イ コ ラ イ ザをプ ロ グ ラ ム可能な入力レ シーバ と 、 プ リ エン フ ァ シ ス をプ ロ グ ラ ム可能な出力 ト ラ ン ス ミ ッ タ に よ っ て、 リ ン ク を最適化で き ます。 PCI Express 仕様では、 差動 ラ イ ン を受信側で コ モンモー ド で終端す る こ と が求め ら れ て い ま す。 各 リ ン ク には、 フ ァ ーエ ン ド (レ シーバ側) に終端抵抗が必要です。 使用す る 抵抗の公称値は 100Ω です。 こ れは、 図 8-28 に示す よ う に、 CML 入力の組み込み終端機能を使用 し て実現 さ れ ます。 仕様 では、 リ ン ク の送信側に AC 結合 コ ンデンサ (CTX) が必要です。 こ の コ ンデンサに よ っ て、 送信デバ イ ス と 受信デバ イ ス の コ モンモー ド のバ イ ア ス不一致が解消 さ れます。 こ の コ ンデンサは、 ラ テ ィ ス CML 出力 に外付けす る 必要があ り ます。 PCI Express L2 ス テー ト PCI Express の L2 ス テー ト では、rx_pwrup_c 信号を ネゲー ト し て RX チ ャ ネルをパ ワーダ ウ ン し てはいけ ませ ん。 こ れを行 う と RX 終端がハ イ イ ン ピーダ ン ス と な り 、 フ ァ ーエン ド で レ シーバを検出で き な く な り ます。 rx_pcs_rst_c 信号を使用 し てチ ャ ネルを リ セ ッ ト 状態に保ち、 電力を節約す る よ う に し て く だ さ い。 8-44 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-28. PCI Express の イ ン タ ーフ ェ イ ス図 PCI Express Application LatticeECP3 CML Driver LatticeECP3 CML Receiver VCCIB = 1.2V VCCOB = 1.2V Zo = 50 50 50 75 to 200 nF 表 8-20. PCI Express の差動仕様 シ ンボル ZTX-DIFF-DC パラ メ ー タ DC 差動 TX イ ン ピーダ ン ス Min. 80 ZRX-DIFF-DC DC 差動入力イ ン ピーダ ン ス 80 CTX AC 結合 コ ンデン サ 75 Nom. 100 100 Max. 単位 コメント 位置 Ω TX DC 差動モー ド 低イ ン ピーダ ン ス。 ZTXDIFF-DC は、 DC 動作点で測定 さ れた ト ラ ン ス ミ ッ タ の小 さ な信号抵抗であ り 、 TX が論理 1 または論理 0 に静的に ド ラ イ ブ さ れている と き に、 D+ と D- に 100Ω 抵抗を接続 し た と きの値 と 同等です。 内部 120 Ω LTSSM の全ス テー ト 時の、 RX DC 差動モー ド イ ン ピーダ ン ス。 基本 リ セ ッ ト から 検出 (LTSSM の初期状態) に送信する場合、 ポー ト の全ての未構成レーン で レ シーバの終端値が満 た さ れる ま でに、 5ms の遷移時間が発生 し ま す。 内部 200 nF 全ての ト ラ ン ス ミ ッ タ を AC 結合する必要があ り ます。 媒体内または送信部品自体の内部で AC 結合する必要があ り ます。 外部 120 PCI Express 電気的ア イ ド ル送信 電気的ア イ ド ルは安定状態条件であ り 、 ト ラ ン ス ミ ッ タ の P 及び N 電圧が同 じ 値で一定に保たれます (電気 的ア イ ド ル差動ピー ク 出力電圧 VTX-IDLE-DIFFp が 0 ~ 20mV の間)。 電気的ア イ ド ルは、 節電及び非ア ク テ ィ ブ状態で主に使用 さ れます。 PCI Express 基本仕様では、 ト ラ ン ス ミ ッ タ は電気的ア イ ド ルにな る 前に、 必ず電気的ア イ ド ル ・ オーダセ ッ ト (EIOS)、 K28.5 (COM)、 及びそれに続いて 3 つの K28.5 (IDL) を送信す る 必要があ り ます。 電気的ア イ ド ル ・ オーダセ ッ ト の最後のシ ン ボル送信後、 ト ラ ン ス ミ ッ タ は TTX-IDLE-SET-TO-IDLE が 20UI 未満 と 規 定 さ れた、 有効な電気的ア イ ド ル ・ ス テー ト にな る 必要があ り ます。 そのため、 FPGA コ アか ら PCS への電気的ア イ ド ル ・ イ ネーブル (tx_idle_chx_c) が、 送信デー タ ご と に送信 さ れます。 こ の信号は PCS-SERDES 境界ま での全経路で同様にパ イ プ ラ イ ン化 さ れます。 全ての有効なデー タ で こ の信号は Low にな り ます。 電気的ア イ ド ルを開始す る には、 FPGA ロ ジ ッ ク が最後の K28.5 (IDL) シ ン ボル送信後の ク ロ ッ ク で こ の信号を High にプル し ます。 こ の信号は PCS-SERDES 境界ま でパ イ プ ラ イ ン 化 さ れ る ため、 送信デー タ と こ の信号 と の関係は、 FPGA-PCS 境界 と ま っ た く 同一にな り ます。 PCS-SERDES 境界での電気的ア イ ド ル ・ イ ネーブル信号の立ち上が り エ ッ ジか ら 14UI 後に、 最後の K28.3 (IDL) シ ン ボルの最後のビ ッ ト (ビ ッ ト 7) が送信 さ れます。 16UI (<20UI) 後、 送信差動バ ッ フ ァ は電気的 ア イ ド ル ・ ス テー ト にな り ます。 8-45 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-29. 電気的ア イ ド ルの送信 2 word clocks FPGA-PCS Boundary EOS TxData_chx 00 Data TxElecIdle_chx PCS-SERDES Boundary TxData_chx TX FIFOs and Pipeline Delay EOS 00 Data HDOUTP/N Bit 0 Bit 7 of last K28.3 character TTX-IDLE-SET-TO-IDLE < 20 UI T TX-IDLE-TO-DIIF-DATA-MIN < 20 UI FPGA コ ア ロ ジ ッ ク が、 ト ラ ン ス ミ ッ タ が電気的ア イ ド ル ・ ス テー ト を続け る 必要があ る と みな し てい る 間、 FPGA コ ア ロ ジ ッ ク は電気的ア イ ド ル ・ イ ネーブル (tx_idle_chx_c) 信号を ア ク テ ィ ブ (High) に し た状態で、 デー タ (で き ればオール 0) を ク ロ ッ ク と 同期す る 必要があ り ます。 ト ラ ン ス ミ ッ タ は最低 50UI (20ns) の 間 (TTX-IDLE-MIN)、 電気的ア イ ド ル ・ ス テー ト を続け る必要があ り ます。 PCI Express 電気的ア イ ド ル検出 ク ワ ッ ド の各チ ャ ネルには LOS (信号の喪失) 検出器があ り ます。 電気的ア イ ド ルは、 電気的ア イ ド ル ・ オー ダセ ッ ト (EOS) の 3 つの K28.3 (IDL) シ ン ボルの 2 つを受信す る と 検出 さ れます。 電気的ア イ ド ル ・ オー ダセ ッ ト の受信後、 レ シーバは最低 50ns (TTX-IDLE-MIN) 待っ てか ら 、電気的ア イ ド ル終了検出器を イ ネー ブルす る 必要があ り ます。 こ れ ら の信号 (チ ャ ネルご と に 1 つ、 ク ワ ッ ド ご と に 4 つ) は PCS 経由で送信す る 必要があ り 、 FPGA コ ア で利用で き る よ う にす る 必要があ り ます。 そ う す る こ と で、 電気的ア イ ド ルに対応す る ために必要な ス テー ト マシ ン を FPGA コ アで構成で き ます。 PCI Express レ シーバ検出 図 8-30 に レ シーバ検出シーケ ン ス を示 し ます。 レ シーバ検出テ ス ト は、 ク ワ ッ ド の各チ ャ ネルで独立 し て 実行で き ます。 レ シーバ検出テ ス ト を始め る 前に、tx_idle_ch#_c 入力を High に設定す る こ と で、 ト ラ ン ス ミ ッ タ を電気的ア イ ド ル ・ ス テー ト にす る 必要があ り ます。 レ シーバ検出テ ス ト は、 pci_det_en_ch#_c を High に ド ラ イ ブす る こ と で、 対応す る tx_elec_idle が High に設定 さ れた 120ns 後に開始 さ れます。 こ れは ド ラ イ バ終端 をハ イ イ ン ピーダ ン ス に設定 し 、 ま たハ イ イ ン ピーダ ン ス ・ ド ラ イ バ終端で差動の両出力を VCCOB にプル す る こ と に よ っ て、 対応す る SERDES 送信バ ッ フ ァ を レ シーバ検出モー ド に し ます。 SERDES 送信バ ッ フ ァ を レ シーバ検出 ス テー ト に設定す る には最大 120ns かか り ま す。 その後チ ャ ネルの pcie_ct_ch#_c 入力を 4 バ イ ト (ワー ド ) ク ロ ッ ク 周期の間 High に ド ラ イ ブす る こ と に よ っ て、 レ シーバ検出 テ ス ト を開始す る こ と がで き ます。 対応す る チ ャ ネルの pcie_done_ch#_s は非同期的に ク リ ア さ れます。 十分 な時間 (送信側の時定数で決ま る ) が経過 し て レ シーバ検出テ ス ト が終了後、 pcie_done_ch#_s レ シーバ検出 ス テー タ ス ポー ト は High にな り 、 pcie_con_ch#_s ポー ト で レ シーバ検出ス テー タ ス をモニ タ で き る よ う にな り ます。 その と き 、 pcie_con_ch#_s ポー ト が High であればレ シーバはそのチ ャ ネルで検出 さ れ、 Low であれ ばそのチ ャ ネルで レ シーバが検出 さ れません。 レ シーバ検出テ ス ト の完了後は、 tx_idle_ch#_c を ネゲー ト で き ます。 レ シーバ検出は次の よ う に行われます。 8-46 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 1. ユーザが pcie_det_en を High に ド ラ イ ブ し 、 対応す る TX ド ラ イ バを レ シーバ検出モー ド にす る 。 こ れで、 ド ラ イ バ終端がハ イ イ ン ピーダ ン ス (5kΩ) に設定 さ れ、 差動 ド ラ イ バの両方の出力がハ イ イ ン ピーダ ン ス の ド ラ イ バ終端を通 じ て コ モンモー ド にプル さ れます。 TX ド ラ イ バは短時間後に こ の状態にな り 、 pcie_det_en が最低 120ns の間 High に ド ラ イ ブ さ れてか ら 、 pcie_ ct がアサー ト さ れま す。 2. ユーザが 4 バ イ ト ・ ク ロ ッ ク の間 pcie_ct を High に ド ラ イ ブす る 3. SERDES が対応す る pcie_done を Low に ド ラ イ ブす る 4. SERDES が必要な長 さ (時定数に基づ く ) だけ内部信号 (pcie_ct に対応す る も の) を ド ラ イ ブ し 、 レ シーバを検出す る 5. SERDES が対応す る pcie_con 接続ス テー タ ス を ド ラ イ ブす る 6. SERDES が対応す る pcie_done を High に ド ラ イ ブす る 7. ユーザが、 こ のアサー ト 状態の pcie_done を使用 し て pcie_con ス テー タ ス をサンプ リ ン グ し 、 レ シー バ検出が成功 し たか ど う か を判定す る 図 8-30. PCI Express モー ド の レ シーバ検出シーケ ン ス tx_elec_idle tdets pcie_det_en[0:3] tdetw (4 byte clocks) tdeth pcie_ct[0:3] pcie_con[0:3] previous status invalid detected status pcie_done[0:3] tdone > 2us PCI Express パワーダウン ・ モー ド rx_pwrup_ch[3:0] 信号ではな く 、 rx_serdes_rst_ch[3:0] リ セ ッ ト 信号を使用す る 必要があ り ます。 そ う す る こ と で、 RX 終端が 50Ω で イ ネーブルの ま ま と ま り 、 フ ァ ーエン ド ・ ト ラ ン ス ミ ッ タ が レ シーバの接続を検出で き ます。 PCI Express ビーコ ンのサポー ト こ のセ ク シ ョ ン では、 LatticeECP3 PCS が ビー コ ン検出 と 送信に ど の よ う に対応で き る かについて詳 し く 説 明 し ます。 PCI Express のビー コ ン検出の要件は、 PCS に よ る ビー コ ン送信 と ビー コ ン検出への対応で与え ら れます。 ビー コ ン検出の要件 • L2 (P2) ス テー ト か ら 抜け る にはビー コ ンが必要です。 • ビー コ ンは周期的な任意デー タ の DC バ ラ ン ス が と れてい る 信号で、 2ns (500MHz) 以上 と 16us (30kHz) 未満のい く つかのパルス幅を含む必要があ り ます。 • パルス間の最大時間は 16us 未満にな っ てい る 必要があ り ます。 • DC バ ラ ン ス は 32us 未満で回復 さ れ る 必要があ り ます。 • 500 ns を超え る パルス幅に関 し ては、 出力ビー コ ン電圧レベルは VTX-DIFFp-p (800mV か ら 1200mV) よ り も 6dB 低 く な っ てい る 必要があ り ます。 • 500 ns 未満のパルス幅に関 し ては、 出力ビー コ ン電圧レベルは VTX-DIFFp-p 以下で、 VTX-DIFFp-p 8-47 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド よ り も 3.5dB 低い レベル以上にな っ てい る 必要があ り ます。 PCS のビー コ ン検出への対応 • 信号喪失 (LOS) 閾値検出回路は、 受信バ ッ フ ァ が指定 さ れた電圧レベルにな っ てい る か ど う か を検 知 し ます。 • こ れは rlos_lo_ch(0-3) 信号で示 さ れます。 • PCI Express 電気的ア イ ド ル検出 と (パ ワース テー ト P2 での) PCI Express ビー コ ン検出に、 こ の設定 を用い る こ と がで き ます。 • リ モー ト 送信デバ イ ス は VTX-DIFFpp か ら 6dB 低いビー コ ン出力電圧 (すなわち 201mV) を持つ こ と がで き ます。 こ の信号を検出で き た場合は、 ビー コ ンが検出 さ れた こ と にな り ます。 PCS のビー コ ン送信への対応 K28.5 (IDLE) キ ャ ラ ク タ (5 連続の 1 と 続 く 5 連続の 0) を送出す る と 、 2ns 間隔で幅 2ns の周期的なパル ス (1.0UI=400ps、 5 倍す る と 2 ns) が発生 し ます。 こ れで、 要件の下限が満た さ れます。 そ し て、 出力ビー コ ン電圧レベルは VTX-DIFFp-p にな り ます。 こ れは有効な ビー コ ン送信です。 SDI (SMPTE) モー ド SDI モー ド の LatticeECP3 SERDES/PCS ブ ロ ッ ク は、 SD-SDI、 HD-SDI、 3G-SDI と い う 3 つの SDI モー ド 全 てに対応 し ます。 送信パス • シ リ ア ラ イザ 受信パス • デシ リ ア ラ イ ザ • オプシ ョ ン で、 ユーザ定義のア ラ イ メ ン ト パ タ ーンへの ワー ド ア ラ イ メ ン ト ビデオ放送業界では、 次のデー タ レー ト が最 も 一般的です。 • SD-SDI (SMPTE259M): 270Mbps • HD-SDI (SMPTE292M): 1.485Gbps, 1.485Gbps/1.001 = 1.4835Gbps • 3G-SDI (SMPTE424M): 2.97Gbps, 2.97Gbps/1.001 = 2.967Gbps 多 く の設計者は、 こ れ ら 全ての レー ト に対応で き る よ う に し よ う と 考え てい ます。 その理由は、 放送ス タ ジ オや、 衛星中継局ま たはケーブル中継局では、 事前に受信デー タ レー ト が分か る と は限 ら ないか ら です。 異な る レー ト 間の切 り 替え時間は、 可能な限 り 短 く す る 必要があ り ます。 CDR の再 ロ ッ ク 時間は避け る こ と がで き ません。 LatticeECP3 SERDES では、 PLL を再 ロ ッ ク す る 必要があ り ません。 こ れは、 LatticeECP3 に は RX 及び TX ご と に分周器があ る こ と で可能にな り ま し た。 一般的に、 ビデオ リ ン ク は片方向性です (チ ャ ネルご と に レー ト が異な り 、 さ ら に重要な こ と に、 同一チ ャ ネルの RX と TX の レー ト が異な る こ と も あ り ます)。 ま た、 装置が配置 さ れ る 地域に よ っ ては、 ビデオ送信時に フル HD/3G-SDI レー ト ( ヨ ー ロ ッ パ / ア ジ ア) が 使用 さ れ る こ と も 、 フ ラ ク シ ョ ナルレー ト (北米 : NTSC) が使用 さ れ る こ と も あ り ます。 その結果、 ラ テ ィ ス では ク ワ ッ ド の使用率の高いマルチ レー ト SMPTE に対応す る 、 2 つの ソ リ ュ ーシ ョ ン例を開発 し ま し た。 3G/HD Full TX レー ト と フ ラ ク シ ョ ナル TX レー ト への同時対応は、 同一 SERDES ク ワ ッ ド 内では不可能な こ と に注意 し て く だ さ い。 一般的に上記の こ と があ る ため、 地理的な使い分けは制限事項 と し て許容 さ れま す。 8-48 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-31. 例 A : 3G/HD/SD フル RX/TX レー ト への対応 と 3G/HD フ ラ ク シ ョ ナル TX レー ト への対応 SERDES/PCS Quad External Clock 148.5 MHz Ch 3 Tx Ch 3 Rx 1.485 270 Gbps Mbps (DIV2) (DIV11) RX3 Core Clock Ch 2 Tx Ch 2 Rx AUX Ch 1 Tx Ch 1 Rx Ch 0 Tx Ch 0 Rx 2.97 1.485 Gbps Mbps (DIV1) (DIV2) PLL (x20) 270 2.97 Mbps Gbps (DIV11) (DIV1) 2.97 1.485 Gbps Gbps (DIV1) (DIV2) RX2 Core Clock (74.175 MHz) TX Core Clock RX1 Core Clock RX0 Core Clock FPGA Core 主要な用途の要件に対応す る ため、 RX 及び TX ご と に DIV が選択可能です。 LatticeECP3 には DIV11 が追加 さ れてい ます。マルチ レー ト 構成の可能性の 1 つ と し て、プ ラ イ マ リ ピ ンか ら TX PLL への 148.5MHz REFCLK の供給があ り ま す。 TX PLL は x20 モー ド にな り ま す。 得 ら れ る 出力 ク ロ ッ ク は 2.97GHz です。 そ し て、 1.485Gbps 用に DIV2、 270Mbps 用に DIV11 を使用す る と 、 PLL の再 ト レーニ ン グ及び ロ ッ ク な し で、 非常に 短時間の切 り 替えが可能にな り ます。 Serial RapidIO (SRIO) モー ド こ のセ ク シ ョ ンでは SERDES/PCS ブ ロ ッ ク の Serial RapidIO モー ド の動作について説明 し ます。 LatticeECP3 は、 1 つの PCS ク ワ ッ ド で 1x 及び 4x の Serial RapidIO 用途に対応 し てい ます。 SRIO1.0 は 3.125Gbps と 2.5Gbps、 1.25Gbps と い う 複数の周波数に対応 し てい る こ と が特長です。 こ れ ら の レー ト の比率は 2.5:2:1 で す。 同一 ク ワ ッ ド 内の整数分周器で こ れ ら 全ての レー ト に対応す る こ と は不可能ですが、 2.5 Gbps と 1.25 Gbps の比率は 2:1 (フルレー ト : ハーフ レー ト ) です。 送信パス • シ リ ア ラ イザ • 8b10b エン コ ー ド 受信パス • デシ リ ア ラ イ ザ • RapidIO 物理レ イ ヤ 1x/4x LP- シ リ アル仕様で規定 さ れた同期 コ ー ド グループに基づ く ワー ド ア ラ イ メント • 8b10b デ コ ー ド • ク ロ ッ ク ド メ イ ンの差異に対処す る ク ロ ッ ク ト レ ラ ン ス補償 ロ ジ ッ ク 機能 8-49 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド シ リ アル ・ デジ タ ルビデオ及び OOB (Out-Of-Band) 低速 SERDES 動作 LatticeECP3 SERDES/PCS は レ シーバ CDR 及び関連す る SERDES/PCS ロ ジ ッ ク を バ イ パ ス す る こ と で、 SERDES TX PLL 及び RX CDR がネ イ テ ィ ブ ・ サポー ト す る レー ト (<250Mbps : OOB 信号) よ り も 遅いあ ら ゆ る デー タ レー ト (100Mbps フ ァ ース ト ・ イ ーサネ ッ ト 、 143Mbps ま たは 177Mbps の SD-SDI な ど) に対応 し ます。 こ れ ら の OOB パ ス は主に低デー タ レー ト を使用 し ますが、 他の機能上の理由か ら 高レー ト も 使用 で き ます。 詳細については、 本 ド キ ュ メ ン ト のマルチ レー ト SMPTE 対応のセ ク シ ョ ン を参照 し て く だ さ い。 ま た SD-SDI では、 HD-SDI レー ト の差動 RX ペア と 同一のペアに、 こ れ ら の レー ト の共存が必要にな る こ と があ り ます (SD-SDI レー ト がア ク テ ィ ブにな っ てか ら 、 デー タ レー ト を HD-SDI レー ト に切 り 替え る こ と が あ り ます)。 こ の 2 つの レー ト の ど ち ら が有効にな る かは予測で き ないため、 高速 SERDES ( ク ワ ッ ド 内に存 在) と 低速 SERDES ( ク ワ ッ ド 外部に実装) の 2 つの SERDES に、 入力デー タ ス ト リ ーム をパ ラ レルに送信 す る 方法があ り ます。 可能な実装の 1 つを図 8-32 に示 し ます。 チ ャ ネルご と に、RX バ ッ フ ァ か ら FPGA コ アへの低デー タ レー ト ・シ ン グルエン ド 入力 と し て入力 RXD_LDR があ り ます。 コ アの低速 CDR (Clock Data Recovery) ブ ロ ッ ク ま たは DRU (Data Recovery Unit) は、 ソ フ ト ロ ジ ッ ク を使用 し て作成で き ます。 こ のデー タ パ ス は、 チ ャ ネル ・ レ ジ ス タ ビ ッ ト RXD_LDR_EN で イ ネーブ ルで き ます。 他の レ ジ ス タ ビ ッ ト で イ ネーブル さ れた場合は、 FPGA か ら の信号で も LatticeECP3 内の こ の デー タ パ ス を イ ネーブルで き ます。 送信方向では、 FPGA コ ア内のシ リ ア ラ イ ザの内蔵 ソ フ ト ロ ジ ッ ク を使用 し 、 TXD_LDR ピ ン を使用 し てデー タ を SERDES に送信す る こ と も で き ます。 通常の高速 SERDES パ ス が境界ス キ ャ ンパ ス で多重化 さ れ る 位置 に近い、 プ リ エン フ ァ シ ス ・ ロ ジ ッ ク の直前で送信デー タ が多重化 さ れ ます。 こ の概念を図 8-32 に示 し ま す。 低デー タ レー ト ・ パ ス は、 チ ャ ネル ・ レ ジ ス タ ビ ッ ト TX_LDR_EN を設定 し て選択で き ます。 ま たは、 出力側で高速 SERDES を使用 し て高速デー タ を送信 し た り 、 デシ メ ーシ ョ ン を使用 し て低速デー タ を送信 し ます (SERDES は高速で動作 し 続け ますが、 出力デー タ はデシ メ ーシ ョ ン係数 n ク ロ ッ ク ご と に変 化 し ます)。 図 8-32. シ リ アル ・ デジ タ ルビデオに対応す る実装例 SERDES/PCS Block Quad Top FPGA Core RXD_LDR_EN BSRPAD from JTAG config logic BSCAN Input Cell RXD_LDR BSTPAD from JTAG config logic RX power up HDINP HDINN EQ Input Data TX power up SERDES 0 HDOUTP 0 HDOUTN 1 Output Data BSCAN Output Cell 1 TXD_LDR TXD_LDR_EN 8-50 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド OBSAI (Open Base Station Architecture Initiative) OBSAI は携帯基地局のオープン な市場を対象 と し た、 オープン フ ォー ラ ム です。 LatticeECP3 SERDES/PCS は、 3.84Gbps レー ト を除 く ほ と ん ど の OBSAI 機能に対応 し てい ます。 送信パス • シ リ ア ラ イザ • 送信ス テー ト マシ ン を ギガ ビ ッ ト ・ イ ーサネ ッ ト モー ド に設定 • 8b10b エン コ ー ド 受信パス • デシ リ ア ラ イ ザ • IEEE 802.3-2002 1000 BASE-X で定義 さ れたア ラ イ メ ン ト ・ キ ャ ラ ク タ に基づ く ワー ド ア ラ イ メ ン ト • 8b10b デ コ ー ド BTS (Basestation Transceiver System) には 4 つの メ イ ン ・ コ ン ポーネ ン ト / モジ ュ ールがあ り 、 それ ら の間 に 3 つの主要 イ ン タ ーフ ェ イ ス と し て RP (Reference Point、 参照点) があ り ます。 • RP3 : 携帯デバ イ ス (端末) か ら の信号を RF モジ ュ ールが受信 し 、 それをデジ タ ルデー タ にダ ウ ン コ ンバー ト し ます。 • RP2 : エン コー ド 済みの信号をベース バン ド モジ ュ ールが受け取っ て処理 し 、 伝送モジ ュ ールに送 り ます。 伝送モジ ュ ールはそれを地域ネ ッ ト ワー ク に送出 し ます。 • RP1 : 制御モジ ュールが、 こ の 3 つの機能間の調整を行い ます。 現在の と こ ろ、 業界の最大の関心事は低周波 RF モジ ュ ール と パ ワーア ンプの提供であ る ため、 OBSAI の主 要な活動は RP3 (Reference Point 3) を規定す る こ と です。 実際、 重要な仕様は RRH (Remote Radio Head) を 対象 と し た RP3-01 です。 OBSAI RP3 電気仕様は XAUI 電気仕様に基づいた も のであ り 、 基地局 ト ラ ン シーバ ・ シ ス テ ムのニーズに合 わせて カ ス タ マ イ ズ さ れてい ます。 XAUI 電気 イ ン タ ーフ ェ イ スは IEEE 802.3ae-2002 の第 47 節で規定 さ れ てい ます。 RP3 バージ ョ ン 3.1 では 3.84Gbps、 3.072Gbps、 2.304Gbps、 1.536Gbps、 0.736Gbps と い う 電気的 レー ト が規定 さ れ、 その中の最後の 4 つに対応 し てい ます。 RP3 電気仕様ではレ シーバの コ ンプ ラ イ ア ン ス ・ マ ス ク が規定 さ れ、 ト ラ ン ス ミ ッ タ 出力マ ス ク のサンプル が提供 さ れます。 BER は 1 x 10-15 を上回 る 必要があ り 、 XAUI の要件であ る 1 x 10-12 よ り も 厳 し い も の と な っ てい ます。 RP3 電気仕様は、 UI の規定 も XAUI 仕様 と 異な っ てい ます。 XAUI では ±100ppm の差が許容 さ れます。 BTS は完全な同期シ ス テ ムであ る こ と か ら 、 こ の差は OBSAI シ ス テ ムに適用 さ れません。 BTS は同期シ ス テ ムであ る ため、 全てのバス間の遅延の測定 と 調整が不可欠です。 OBSAI で こ の こ と を よ く 検討 し た結果、 RP3 リ ン ク 間でマ ス タ フ レーム を同期す る 方法が考案 さ れ ま し た。 送受信モジ ュ ールでは、 処理、 バ ッ フ ァ 遅延、 及び リ ン ク 間の レ イ テ ン シな どのあ ら ゆ る 要因が遅延調整で考慮 さ れます。 デー タ リ ン ク ・ レ イ ヤでの も う 1 つの重要な点は、 ト ラ ン ス ミ ッ タ と レ シーバの同期です。 同期す る こ と で、 実際のデー タ が リ ン ク 上で正常にデ コ ー ド さ れ る よ う にな り ます。 エ ラ ーの頻度及び同期ス テー タ ス は、 継 続的にモニ タ さ れます。 RP3-01 ではそれを さ ら に推 し 進め、 768Mbps の整数倍で最高 3.84Gbps の ラ イ ン レー ト が規定 さ れ、 OBSAI 互換の ラ イ ン レー ト が検討 さ れてい ます。 多数の ラ イ ン レー ト を利用で き る ため、 リ モー ト RF ユニ ッ ト と ロ ーカルユニ ッ ト と の間の自動ネ ゴ シエーシ ョ ン が規定 さ れ ま し た。 こ の仕様の拡張には、 2 つの RP3-01 ノ ー ド 間の イ ーサネ ッ ト 伝送、RRH には物理 RP1 リ ン ク がない こ と に対す る RP1 情報の RP3 リ ン ク へのマ ッ ピ ン グ、 遅延測定、 RP3-01 ユニ ッ ト 間の同期、 RP3-01 リ ン ク 間のデー タ 多重化な ど があ り ます。 8-51 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド LatticeECP3 SERDES/PCS 内の各機能ブ ロ ッ ク の遅延については、 "CPRI" セ ク シ ョ ンで説明 し ます。 CPRI (Common Public Radio Interface) CPRI の目標は、 基地局 メ ーカ及び部品ベン ダが共通プ ロ ト コ ルを共有 し 、 あ る ユーザのプ ラ ッ ト フ ォーム を 別のユーザに簡単に適合で き る よ う にす る こ と です。 送信パス • シ リ ア ラ イザ • 送信ス テー ト マシ ン を ギガ ビ ッ ト ・ イ ーサネ ッ ト モー ド に設定 • 8b10b エン コ ー ド 受信パス • デシ リ ア ラ イ ザ • IEEE 802.3-2002 1000 BASE-X で定義 さ れたア ラ イ メ ン ト ・ キ ャ ラ ク タ に基づ く ワー ド ア ラ イ メ ン ト • 8b10b デ コ ー ド OBSAI と は異な り 、CPRI では機械的ま たは電気的 イ ン タ ーフ ェ イ ス要件が規定 さ れてい ません。範囲に関 し て、 CPRI は OBSAI よ り も 対象がは る かに狭 く 、 CPRI は RRH と ベースバン ド モジ ュ ール と の間の リ ン ク だ け を対象 と し てい ます。 CPRI の用語では、 こ れ ら のモジ ュールがそれぞれ RE (Radio Equipment) 及び REC (Radio Equipment Control) と 呼ばれます。 すなわち、 CPRI では OBSAI RP3 仕様 と 同 じ イ ン タ ーフ ェ イ ス が 規定 さ れ ます。 CPRI は、 主に イ ン タ ーフ ェ イ ス の物理及びデー タ リ ン ク ・ レ イ ヤ を対象 と し てい ます。 ま た、 ユーザプ レーン ・ デー タ 、 C&M (制御及び管理) プ レーン、 及び同期プ レーン ・ デー タ の転送方法 も 規 定 さ れます。 有力企業のバ ッ ク ア ッ プがあ る こ と 、 及び 1 つの イ ン タ ーフ ェ イ ス リ ン ク (RF モジ ュ ール と ベースバン ド モ ジ ュ ールの間) だけに注目 し 、 し か も 物理及デー タ リ ン ク ・ レ イ ヤに主に注目 し てい る と い う 2 つの理由か ら 、 CPRI は優れた " 牽引力 " を持っ てい ます。 CPRI には 614.4Mbps、 1.2288Gbps、 2.4576Gbps、 3.072Gbps と い う 4 つの ラ イ ン ・ ビ ッ ト レー ト ・ オプシ ョ ンがあ り 、 最低で も こ の 1 つの レー ト に対応す る 必要があ り ます。 高い ラ イ ン レー ト は、 そのすぐ下の レー ト と 常に比較 さ れます。 CPRI には必須の物理レ イ ヤプ ロ ト コ ルがあ り ませんが、使用す る プ ロ ト コ ルが 1 x 10-12 の BER 要件を満た し てい る 必要があ り ます (OBSAI ほ ど厳 し く あ り ません) 。 ク ロ ッ ク の安定性 と 位相 ノ イ ズ要件 も 規定 さ れ ます。 CPRI では、 HV (高電圧) と LV (低電圧) と い う 2 つの電気的バ リ エーシ ョ ン も 推奨 さ れてい ます。 HV は IEEE 802.3-2002 第 39 節の 1000Base-CX 仕様にガ イ ド があ り 、 イ ン ピーダ ン ス は 100Ω です。LV は XAUI に ガ イ ド があ り ます。 LV は全ての レー ト で推奨 さ れ、 こ のデバ イ ス の対象 と な り ます。 CPRI 及び OBSAI 仕様を取 り 扱 う と き は、 次の 2 つの リ ン ク レ イ ヤ要件を よ く 理解す る こ と が重要です。 • リ ン ク 遅延精度 と ケーブル遅延調整 • ス タ ー ト ア ッ プの同期 リ ン ク 遅延精度 と ケーブル遅延調整 以下の説明は CPRI 要件を大幅に利用 し た も のですが、 OBSAI の実装に も 同 じ 要件が適用 さ れます。 RE ま たは RRH は REC ま たは BTS に周波数 ロ ッ ク さ れます。 そのため、 こ の同期シ ス テ ムでは RRH と BTS と の間の全ての遅延を調整 し 、エア イ ン タ ーフ ェ イ ス の タ イ ミ ン グ要件に適合す る 必要があ り ます。イ ン タ ー フ ェ イ ス には、 リ ン ク のケーブル遅延 と 、 シ ン グルホ ッ プ ま たはマルチホ ッ プ接続の ラ ウ ン ド ト リ ッ プ遅延 を調整で き る よ う にす る 基本 メ カ ニズ ムが必要です。 特に、 遅延調整の参照点 と 、 RE (Radio Equipment) に 8-52 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド おけ る 入力信号 と 出力信号 と の関係が定義 さ れます。 全ての定義 と 要件は、 図 8-33 に示すシ ン グルホ ッ プ ・ シナ リ オの REC マ ス タ ポー ト と RE ス レーブポー ト の間の リ ン ク に対 し て記述 さ れます。 図 8-33. REC マ ス タ ポー ト と RE ス レーブポー ト 間の リ ン ク (シ ン グルホ ッ プ ・ シナ リ オ) Radio Antenna T12 R1 Radio Equipment Control (REC) R2 T14 Toffset R4 Radio Equipment (RE) R3 T34 参照点 R1-4 は、 REC の出力ポ イ ン ト (R1) と 入力ポ イ ン ト (R4)、 及び RE の入力ポ イ ン ト (R2) と 出力ポ イ ン ト (R3) に対応 し 、 その論理接続を終端 し ます。 参考のため、 ア ン テナは Ra で示 し て あ り ます。 • T12 は REC の出力ポ イ ン ト (R1) か ら RE の入力ポ イ ン ト (R2) ま でのダ ウ ン リ ン ク 信号の遅延、 特 にダ ウ ン リ ン ク ケーブルの遅延です。 • T34 は RE の出力ポ イ ン ト (R3) か ら REC の入力ポ イ ン ト (R4) ま でのア ッ プ リ ン ク 信号の遅延、 特 にア ッ プ リ ン ク ケーブルの遅延です。 • Toffset は R2 の入力信号 と R3 の出力信号の間の フ レームオ フ セ ッ ト です。 • T14 は R1 の出力信号 と R4 の入力信号の間の フ レーム タ イ ミ ン グ差 ( ラ ウ ン ド ト リ ッ プ遅延 RTT) で す。 遅延の測定はフ レーム タ イ ミ ン グ を使用 し て行われます。 CPRI には、 UMTS 無線フ レーム番号ま たは BFN (Node B Frame Number) に基づ く 10ms フ レームがあ り ます。各 UMTS 無線フ レームには 150 ハ イ パーフ レー ム (各ハ イ パーフ レームは 66.67us) と 、 それに対応す る ハ イ パーフ レーム番号 (HFN = 0<=Z<=149) があ り ます。 各ハ イ パーフ レームには 256 (0<=W<=255) の基本フ レームがあ り ます (各基本フ レームは 260.42ns = Tchip ま たは Tc)。 RE に よ っ て RE の出力信号 (ア ッ プ リ ン ク ) の フ レーム タ イ ミ ン グが決ま り 、 それが RE の入力信号 (ダ ウ ン リ ン ク ) の フ レーム タ イ ミ ン グに対す る 固定オ フ セ ッ ト (Toffset) にな り ます。 Toffset は、 0 以上で 256 Tc 未満の任意の値です (ハ イ パーフ レーム を超え る こ と はで き ません)。 RE ご と に Toffset の値が異な り ま す。 REC は各 RE の Toffset 値を事前に認識 し ます (事前設定 さ れた値、 ま たは上位レ イ ヤの メ ッ セージで RE が REC に通知)。 T14 を判定す る ため、 REC か ら RE へのダ ウ ン リ ン ク BFN 及び HFN が、 RE か ら REC へのア ッ プ リ ン ク で返 さ れます。 ア ッ プ リ ン ク でエ ラ ー状態が発生 し た場合、 REC はア ッ プ リ ン ク BFN 及び HFN を無効 と 見な し ます。 その結果、 T14 = T12 + Toffset + T34 と な り ます。 前述の と お り 、 シ ス テ ムは同期動作 し ます。 ま た、 ハ イ パーフ レームは固定長で、 RRH-BTS 内部接続 (ケー ブル長) は両方向で等 し く (T12 = T34 で、 両方の光フ ァ イ バを 1 つにバン ド ル)、 内部接続遅延は (T14 Toffset)/2 に変化す る と 見な さ れます。 T14 の判定方法については既に説明 し ま し た。 そのため、 遅延調整に 影響を与え る 主要な成分は Toffset です。 し たがっ て、 リ ン ク の両端で測定 し たハ イ パーフ レームの受信時間 と 送信時間の差が内部接続遅延にな り ます。 遅延調整要件は、 3GPP 及び UTRAN の要件、 特に 1 リ ン ク のケーブル遅延の ラ ウ ン ド ト リ ッ プ遅延測定の精 度が ±Tc/16 と 規定 さ れた、 CPRI 仕様の要件 R-21 (CPRI v3.0 20 ページ) で決ま り ます。 ま た、 要件 R-20 では、 伝送媒体 (ケーブル長以外) の ラ ウ ン ド ト リ ッ プ ・ グループ遅延を除いて、 イ ン タ ーフ ェ イ ス の ラ ウ ン ド ト リ ッ プ時間の絶対精度が同程度の要件 (T14 では ±Tc/16) に適合すべ き こ と が規定 さ れてい ます。前 8-53 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 述の説明を考慮す る と 、 ケーブル長を除 く 、 REC マ ス タ ポー ト と RE ス レーブポー ト と の間のダ ウ ン リ ン ク におけ る 絶対 リ ン ク 遅延精度は、 上記要件の半分 (±Tc/32 ま たは約 8ns (8.138ns)) と な り ます。 その結果、 T14 と Toffset にはど ち ら も 絶対精度 ±8ns が必要です。 次に、 各種レー ト において不確実ビ ッ ト の数がい く つま で許容 さ れ る か を決定す る こ と が重要です。 基本的 には、 様々な CPRI 及び OBSAI ビ ッ ト レー ト と 8.138ns を乗算す る こ と で、 不確定 / 不一致 と 見なすビ ッ ト 数を決定で き ます。 こ の こ と に よ る 影響は、 後述す る SERDES シ リ アル / パ ラ レル ・ デー タ パ ス の説明の中 で明確にな り ます。 多 く の SERDES は、 シ リ アル化及びパ ラ レル化で発生す る 一定レベルの不確実性を持っ てい ます。 し たがっ て、 16 ビ ッ ト バ ス ・ アーキ テ ク チ ャ の SERDES は、 8 ビ ッ ト ・ アーキ テ ク チ ャ の SERDES よ り も ワー ド あ た り の ビ ッ ト 数が 2 倍あ る ため、 遅延の不確定性が 2 倍にな り ます。 TX と RX のぞれぞれの遅延を表 8-23 に示 し ます。 こ の表には、 遅延のば ら つ き も 示 し て あ り ます。 こ のば ら つ き は、 既に説明 し た絶対遅延精度に直接影響を与え ます。 こ のば ら つ き は、 TX FPGA ブ リ ッ ジ FIFO、 RX FPGA ブ リ ッ ジ FIFO、 RX ク ロ ッ ク ト レ ラ ン ス補償 FIFO の 3 つに よ る も のです。 CPRI シ ス テ ムは同期 シ ス テ ムであ る ため、 RX CTC FIFO がバ イ パ ス さ れ、 RX 再生 ク ロ ッ ク が使用 さ れます。 遅延のば ら つ き の原因 と し て残 る のは FPGA ブ リ ッ ジ FIFO です。 FPGA への イ ン タ ーフ ェ イ ス が 8 ビ ッ ト バ ス ・ モー ド の場合は、 こ の FIFO をバ イ パ ス で き ます。 16 ビ ッ ト イ ン タ ーフ ェ イ ス ・ モー ド では、 FIFO で 2:1 ギ ア リ ン グが行われ る ため、 FPGA ブ リ ッ ジ FIFO をバ イ パ ス で き ません。 SONET/SDH SONET (Synchronous Optical Networking) 及び SDH (Synchronous Digital Hierarchy) は、 光フ ァ イ バ ま たは電 気 イ ン タ ーフ ェ イ ス を通 じ てデー タ を転送す る 、 標準化 さ れた多重化プ ロ ト コ ルです。 SONET の一般的基準 は、 "Telcordia Technologies Generic Requirements" ド キ ュ メ ン ト (GR-253-CORE) に詳 し く 記載 さ れてい ま す。 SONET 及びその他の伝送シ ス テ ム (非同期光フ ァ イ バシ ス テ ムやデジ タ ル無線シ ス テ ム) に適用 さ れ る 一般的基準は、 Telcordia の GR-499-CORE に記載 さ れてい ます。 SONET と SDH は元来、 様々な提供元に よ る 回線モー ド 通信 (T1、 T3 な ど) の伝送用に設計 さ れま し た。 SONET 以前は、 こ う し た各種回線の同期 ソ ー ス が異な る こ と が最大の障害にな っ てい ま し た。 すなわち、 各回線はそれぞれ少 し 異な る レー ト と 位相で動 作 し てい ま し た。 SONET では、 送信元が異な る 多数の異な る 回線を、 単一の フ レーム化プ ロ ト コ ルで同時伝 送で き ます。 LatticeECP3 SERDES/PCS が提供す る ト ラ ン シーバは、 STS-3/STM-1 (155.52 Mbps)、 STS-12/STM-4 (622.08 Mbps)、STS-48/STM-16(2.488 Gbps) と い う 3 つの SONET/SDH デー タ レー ト に対応 し てい ます。SONET/SDH 用途では 8 ビ ッ ト SERDES モー ド が使用 さ れます。 SONET/SDH 回線に準拠す る には、 LatticeECP3 に外付け部品が必要です。 SERDES の出力には外付け ラ イ ン ド ラ イ バが必要です。 入力デー タ ス ト リ ームか ら 高周波ジ ッ タ を排除す る には、 受信 し た ク ロ ッ ク にジ ッ タ ク リ ーナを適用 し てか ら 、 その ク ロ ッ ク を送信基準 ク ロ ッ ク と し て使用 し ます。 チ ッ プ間ま たはバ ッ ク プ レーン用途では、 外付け ラ イ ン ド ラ イ バ と ク ロ ッ ク ジ ッ タ ・ ク リ ーナが不要です。 図 8-34 に外付け部品を使用 し た回線側 ソ リ ュ ーシ ョ ン を示 し ます。 8-54 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-34. SONET/SDH 回線 イ ン ターフ ェ イ ス Line TX Clock Jitter Cleaner Client Recovered Clock Line Driver Line Interface Client Interface LatticeECP3 RX Reference Clock VCXO FPGA イ ン タ ーフ ェ イ ス ・ ク ロ ッ ク 図 8-35 に PCS コ アの後段ス テージ と FPGA ブ リ ッ ジ、 及び PCS と FPGA の境界を通過す る 主要 ク ロ ッ ク の 概念図を示 し ます。 図 8-35. ク ロ ッ ク ・ イ ン タ ーフ ェ イ ス の概念図 PCS RX REFCLK FPGA Recovered Clock CDR BYPASS rxdata_ch0 BYPASS RX FIFO DEC CTC FIFO rx_half_clk_ch0 /2 rx_full_clk_ch0 rxiclk_ch0 REFCLK ebrd_clk_ch0 AUX TX PLL txiclk_ch0 BYPASS SER 8b10b Encoder TX FIFO txdata_ch0 tx_full_clk_ch0 tx_half_clk_ch0 /2 TX 上記の図、 及び こ のセ ク シ ョ ンで後述す る ク ロ ッ ク 図では、 末尾の "i" が イ ンデ ッ ク ス [3:0] (チ ャ ネルご と に 1 つ) を表 し てい ます。 8-55 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド レ ジ ス タ ビ ッ ト への ラ イ ト に よ っ て、 ク ロ ッ ク を多重化す る セ レ ク タ のいずれかが変化 し た場合、 その多重 化 ク ロ ッ ク で ク ロ ッ ク さ れ る ロ ジ ッ ク を、 ソ フ ト ウ ェ ア ・ エージ ェ ン ト が リ セ ッ ト す る と い う 要件があ り ま す。 PCS は 16 本の ク ロ ッ ク を出力 し ます。 チ ャ ネルご と にそれぞれ 2 本の送信 ク ロ ッ ク と 2 本の受信 ク ロ ッ ク があ り ます。 2 本の送信 ク ロ ッ ク はフルレー ト と ハーフ レー ト の ク ロ ッ ク で、 全てが TX PLL か ら 得 ら れま す。 受信チ ャ ネルご と に も フル及びハーフ ク ロ ッ ク の 2 本があ り ます。 16 本の全 ク ロ ッ ク が、 必要に応 じ て FPGA の ロ ーカル (セカ ン ダ リ ) ま たはグ ロ ーバル (プ ラ イ マ リ ) ク ロ ッ ク と し て使用 さ れます。 tx_half_clks は ギ ア リ ン グ が 2:1 モ ー ド の と き に使用 さ れ ま す。 表 8-5 で 記述 さ れ て い る と お り 、 tx_full_clk_ch0 と tx_half_clk_ch0 はプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を直接 ド ラ イ ブで き ます。 他チ ャ ネルの ク ロ ッ ク も 全てプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を 直接 ド ラ イ ブ で き ま すが、 一般配線 を 経由 し ま す。 全 て の tx_full_clk_ch[3:0] と tx_half_clk_ch[3:0] は USE_SECONDARY 制約を用い る こ と でセカ ン ダ リ ・ ク ロ ッ ク ネ ッ ト を ド ラ イ ブで き ます が、 やは り 一般配線を経由 し ます。 送信 ク ロ ッ ク は TX FIFO (ま たは状況に応 じ て位相シ フ ト FIFO) の ラ イ ト ポー ト で使用 さ れます。 2 つの受 信 ク ロ ッ ク の 1 つは RX FIFO の リ ー ド ク ロ ッ ク に接続 さ れます。 その他の ク ロ ッ ク は CTC FIFO の リ ー ド ポー ト で使用 さ れ、 RX FIFO の ラ イ ト ポー ト で使用 さ れ る 可能性があ り ます (状況に よ り ます)。 CTC 及び TX FIFO がバ イ パ ス さ れ る か ど う か、 及び PCS が 8 ビ ッ ト /10 ビ ッ ト ・ イ ン タ ーフ ェ イ ス モー ド か、 16 ビ ッ ト /20 ビ ッ ト ・ イ ン タ ーフ ェ イ ス モー ド かに よ っ て、 4 つの使い方があ り ます。 ア ク テ ィ ブパ ス は実線で強 調 し て あ り ます。 必要な ク ロ ッ ク ツ リ ーの数 と 種類 も 示 し て あ り ます。 モー ド に よ っ ては、 ユーザが好んで よ く 使用す る モー ド があ り ます。 こ のセ ク シ ョ ンでは、 サポー ト す る 6 つのケース の動作について説明 し ます。 ケース の概要を表 8-21 に示 し ます。 表 8-21. ク ワ ッ ド と FPGA の間の 6 つの イ ン タ ーフ ェ イ ス ・ ケース RX 位相シ フ ト / ダウン TX 位相シ フ ト / ア ッ プ サン プル FIFO サン プル FIFO イ ン ターフ ェ イス デー タ 幅 RX CTC FIFO Case I-a2 8/10 ビ ッ ト Yes 2 Case I-b 8/10 ビ ッ ト バイパス Yes Yes Case I-c2 8/10 ビ ッ ト Yes バイパス バイパス Case I-d2 8/10 ビ ッ ト バイパス バイパス バイパス Case II-a1, 2 16/20 ビ ッ ト Yes Yes Yes Case II-b 16/20 ビ ッ ト バイパス Yes Yes 1, 2 Yes Yes 1 16/20 ビ ッ ト ・ デー タ パ ス幅で使用 し た場合は、 TX 位相シ フ ト (ア ッ プサンプル) FIFO と RX 位相シ フ ト FIFO (ダ ウ ン サンプル) が常に使用 さ れます。 こ れ ら をバ イ パ スす る こ と はで き ません。 RX と TX の両方の FPGA イ ン タ ーフ ェ イ ス の デー タ パ ス幅が、 同時に同 じ にな る 必要はあ り ません。 個別に制御可能です。 簡潔にす る ため、 同 じ 使い方の中では ま と めて示 し て あ り ます。 2 TX 位相シ フ ト (ア ッ プサンプル) FIFO と RX 位相シ フ ト FIFO (ダ ウ ンサンプル) を互いにバ イ パ スす る 必要はあ り ま せん。 個別に制御可能です。 こ ち ら も 簡潔にす る ため、 同 じ 使い方の中では こ こ に示 し て あ り ます。 2:1 ギア リ ング FPGA グ ロ ーバル ・ ク ロ ッ ク ツ リ ーの性能を保証す る には、 SERDES ラ イ ン レー ト が 2.5Gbps よ り も 高い場合 に、 16/20 ビ ッ ト 幅 イ ン タ ーフ ェ イ ス の使用を推奨 し ます。 こ の イ ン タ ーフ ェ イ ス では、 FPGA イ ン タ ーフ ェ イ ス ・ ク ロ ッ ク がバ イ ト ク ロ ッ ク 周波数の半分で動作 し ます。 バ イ ト ク ロ ッ ク 周波数の半分で動作す る 16/20 ビ ッ ト 幅 イ ン タ ーフ ェ イ ス は全ての SERDES ラ イ ン レー ト で 使用可能ですが、 SREDES の ラ イ ン レー ト が十分に低い (2.5Gbps 以下) 場合は、 FPGA コ ア内の IP の実装 効率が非常に高ま る ため、 8/10 ビ ッ ト 幅 イ ン タ ーフ ェ イ ス が適 し てい ます。 6 つの イ ン タ ーフ ェ イ ス ・ ケース の決定マ ト リ ク ス を表 8-22 に示 し ます。 8-56 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-22. 6 つの イ ン ターフ ェ イ ス ・ ケース の決定マ ト リ ク ス SERDES ラ イ ン レー ト デー タ パス幅 マルチチ ャ ネル ・ アラ イ メ ン トの 必要性 ? CTC の必要性 ? Yes 2.5 Gbps かそれ以下 3.2 Gbps かそれ以下 8/10 ビ ッ ト (1:1 ギア リ ン グ ) 16/20 ビ ッ ト (2:1 ギア リ ン グ ) な し 、 シ ングル チ ャ ネル ・ リ ン ク No RX FIFO の必要性 ? イ ン ターフ ェ イス ・ ケース Yes Case I_a1 No Case I_c1 Yes Case I_b2 No Case I_d2 あ り 、 マルチチ ャ ネル ・ リ ン ク バイパスが必要。 利用不可 Yes Case I_b3 No Case I_d3 な し 、 シ ングル チ ャ ネル ・ リ ン ク Yes Yes Case II_a4 No Yes Case II_b5 あ り 、 マルチチ ャ ネル ・ リ ン ク バイパスが必要。 利用不可 Yes Case II_b6 1. こ のケース は、 ク ワ ッ ド 内で ク ロ ッ ク ト レ ラ ン ス補償が必要 と な る 、 ラ イ ン レー ト 2.5Gbps 以下 (8/10 ビ ッ ト 幅 イ ン タ ー フ ェ イ ス) のシ ン グルチ ャ ネル ・ リ ン ク を目的 と し てい ます。 CTC が必要 と な る のは、 リ ン ク の両端が互いに ±300ppm 以内の異な る 基準 ク ロ ッ ク ソ ース を持つ場合です。 ケース I_a は、 コ ア内の IP に RX 位相シ フ ト FIFO が必要な場合に使 用 さ れます。 ケース I_b は、 IP に こ の FIFO が不要な場合に使用 さ れます。 2. こ のケース は、 ク ワ ッ ド 内で ク ロ ッ ク ト レ ラ ン ス補償が不要な、 ラ イ ン レー ト 2.5Gbps 以下 (8/10 ビ ッ ト 幅 イ ン タ ーフ ェ イ ス) のシ ン グルチ ャ ネル ・ リ ン ク を目的 と し てい ます。 リ ン ク の両端が同一の基準 ク ロ ッ ク ソ ース に接続 さ れてい る 場 合は CTC が不要です。 同一回路基板上のチ ッ プ間 リ ン ク に多いケース です。 基準 ク ロ ッ ク の差が完全に 0ppm であ る た め、 CTC は不要でバ イ パス で き ます。 こ の機能が コ ア内の IP で実行 さ れ る 場合 も 、 ク ワ ッ ド 内に CTC が不要です。 3. こ のケース は、 ラ イ ン レー ト が 2.5Gbps 以下 (8/10 ビ ッ ト 幅 イ ン タ ーフ ェ イ ス) のマルチチ ャ ネル ・ リ ン ク を目的 と し た も のです。 FPGA デザ イ ン内でマルチチ ャ ネル ・ ア ラ イ メ ン ト を行 う 必要があ り ます。 マルチチ ャ ネル ・ ア ラ イ メ ン ト は CTC よ り も 前に行われ る ため、 マルチチ ャ ネル ・ ア ラ イ メ ン ト が必要な場合は ク ワ ッ ド 内の CTC FIFO をバ イ パス し 、 マ ルチチ ャ ネル ・ ア ラ イ メ ン ト と CTC (必要な場合) の両方が FPGA デザ イ ンで行われ る 必要があ り ます。 4. こ のケース は、 ク ワ ッ ド と FPGA コ アの間 (16/20 ビ ッ ト 幅 イ ン タ ーフ ェ イ ス) に 2:1 ギ アボ ッ ク ス が必要な、 ラ イ ン レー ト 3.2Gbps 以下のシ ン グルチ ャ ネル ・ リ ン ク を目的 と し た も のです。 ク ロ ッ ク ト レ ラ ン ス補償は ク ワ ッ ド に含まれて い ます。 CTC が必要 と な る のは、 リ ン ク の両端が互いに ±300ppm 以内の異な る 基準 ク ロ ッ ク ソ ース を持つ場合です。 5. こ のケース は、 ク ワ ッ ド と FPGA コ アの間 (16/20 ビ ッ ト 幅 イ ン タ ーフ ェ イ ス) に 2:1 ギ アボ ッ ク ス が必要な、 ラ イ ン レー ト 3.2Gbps 以下のシ ン グルチ ャ ネル ・ リ ン ク を目的 と し た も のです。 ク ロ ッ ク ト レ ラ ン ス補償は ク ワ ッ ド に含まれて い ません。 リ ン ク の両端が同一の基準 ク ロ ッ ク ソ ース に接続 さ れてい る 場合は CTC が不要です。 同一回路基板上のチ ッ プ間 リ ン ク に多いケース です。 基準 ク ロ ッ ク の差が完全に 0ppm であ る ため、 CTC は不要でバ イ パス で き ます。 こ の機能 が FPGA デザ イ ン で実行 さ れ る 場合 も 、 ク ワ ッ ド 内に CTC が不要です。 6. こ のケース は、 ク ワ ッ ド と FPGA コ アの間 (16/20 ビ ッ ト 幅 イ ン タ ーフ ェ イ ス) に 2:1 ギ アボ ッ ク ス が必要な、 ラ イ ン レー ト 3.2Gbps 以下のマルチチ ャ ネル ・ リ ン ク を目的 と し た も のです。 FPGA デザ イ ンでマルチチ ャ ネル ・ ア ラ イ メ ン ト を行 う 必要があ り ます。 マルチチ ャ ネル ・ ア ラ イ メ ン ト は CTC よ り も 前に行われ る ため、 マルチチ ャ ネル ・ ア ラ イ メ ン ト が必要な場合は ク ワ ッ ド 内の CTC FIFO をバ イ パ ス し 、 マルチチ ャ ネル ・ ア ラ イ メ ン ト と CTC (必要な場合) の両方が FPGA デザ イ ンで行われ る 必要があ り ます。 8-57 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド ケース I_a : 8/10 ビ ッ ト 、 CTC FIFO 及び RX/TX FIFO バ イ パ スせず 図 8-36. 8/10 ビ ッ ト 、 CTC FIFO 及び RX/TX FIFO バ イ パスせず PCS RX REFCLK FPGA Recovered Clock CDR BYPASS rxdata_ch0 BYPASS DEC RX FIFO CTC FIFO /2 rx_half_clk_ch0 rx_full_clk_ch0 rxiclk_ch0 REFCLK ebrd_clk_ch0 AUX TX PLL txiclk_ch0 BYPASS SER 8b10b Encoder TX FIFO FPGA Clock Tree txdata_ch0 tx_full_clk_ch0 TX /2 tx_half_clk_ch0 1. こ の場合 TX FIFO は位相シ フ ト FIFO と し てのみ機能 し ます。 2. こ の場合 RX FIFO は位相シ フ ト FIFO と し てのみ機能 し ます。 3. TX PLL か ら の ク ワ ッ ド レベルの フルレー ト ・ ク ロ ッ ク (tx_full_clk) が、 FPGA セ ン タ ー ク ロ ッ ク ・ マルチプ レ ク サに直接ア ク セ ス で き ます。 こ れは比較的高性能なパ ス です。 セ ン タ ー ク ロ ッ ク ・ マ ルチプ レ ク サか ら のグ ロ ーバル ・ ク ロ ッ ク ツ リ ーは、 FPGA 内のユーザの イ ン タ ーフ ェ イ ス ・ ロ ジ ッ ク の ク ロ ッ ク に使用 さ れます。 ク ロ ッ ク ツ リ ーの一部の リ ーフ ノ ー ド は、 FPGA 送信入力 ク ロ ッ ク (txiclk)、 チ ャ ネルご と の CTC FIFO リ ー ド ク ロ ッ ク (ebrd_clk)、 FPGA 受信入力 ク ロ ッ ク (rxiclk) に接続 さ れます。 こ のケース は、 シ ン グルチ ャ ネルの最 も 一般的な使い方 と 考え ら れます。 FPGA ロ ジ ッ ク内の ク ロ ッ ク及びデー タ 信号イ ン タ ー フ ェ イ スの例 (ケース I_a) ト ッ プモジ ュ ール内に イ ン ス タ ン ス化 さ れた SERDES/PCS モジ ュ ールの一部を次に示 し ます。 ク ロ ッ ク 及び デー タ ポー ト が Verilog に ど の よ う にマ ッ プ さ れ る か を表 し てい ます。 .txiclk_ch0(txclk), .rxiclk_ch0(txclk), .rx_full_clk_ch0(), .tx_full_clk_ch0(txclk), .tx_half_clk_ch0(), .txdata_ch0(txdata_2_pcs), .rxdata_ch0(rxdata_from_pcs), .tx_k_ch0(txkcntl_2_pcs), .rx_k_ch0(rxkcntl_from_pcs), ebrd_clk_ch0 はケース に応 じ て ソ フ ト ウ ェ アに よ っ て自動的に配線 さ れます。 図 8-36 に示す と お り 、 tx_full_clk_ch0 は 'txclk' と い う 名前の ワ イ ヤ を使用 し 、 txi_clk_ch0 と rxi_clk_ch0 の両方 を送出 し ます。 8-58 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド ケース I_b : 8/10 ビ ッ ト 、 CTC FIFO バ イ パ ス 図 8-37. 8b/10 ビ ッ ト 、 CTC FIFO バ イ パス PCS RX REFCLK FPGA Recovered Clock BYPASS CDR rxdata_ch0 BYPASS DEC FPGA Clock Tree RX FIFO CTC FIFO /2 rx_half_clk_ch0 rx_full_clk_ch0 rxiclk_ch0 REFCLK ebrd_clk_ch0 AUX TX PLL txiclk_ch0 BYPASS SER 8b10b Encoder TX FIFO FPGA Clock Tree txdata_ch0 tx_full_clk_ch0 TX /2 tx_half_clk_ch0 1. こ の場合 TX FIFO は位相シ フ ト FIFO と し てのみ機能 し ます。 2. こ の場合 RX FIFO は位相シ フ ト FIFO と し てのみ機能 し ます。 3. TX FPGA チ ャ ネル入力 ク ロ ッ ク は前のケース と 同様に ク ロ ッ ク さ れ、 フルレー ト 送信 FPGA 出力 ク ロ ッ ク か ら FPGA セ ン タ ー ク ロ ッ ク ・ マルチプ レ ク サへの直接接続に よ っ て ド ラ イ ブ さ れ る ク ロ ッ ク ツ リ ーを使用 し ます。 CTC FIFO がバ イ パ ス さ れ る と 、 再生 ク ロ ッ ク で RX FIFO の ラ イ ト ポー ト を制御す る 必要があ り ます。 各チ ャ ネルの再生 ク ロ ッ ク に よ る 、 個別の ロ ーカルま たはグ ロ ーバ ル ・ ク ロ ッ ク ツ リ ーの ド ラ イ ブが必要にな る こ と があ り ます ( ク ワ ッ ド ご と に最大 4 つの ロ ーカル ま たはグ ロ ーバル ・ ク ロ ッ ク ツ リ ー)。 こ の ク ロ ッ ク ツ リ ーでは FPGA 受信 ク ロ ッ ク 入力が ド ラ イ ブ さ れ、 RX FIFO の リ ー ド ポー ト が制御 さ れます。 こ のケース で CTC FIFO をバ イ パ スす る 最大の理 由は、 FPGA コ アでマルチチ ャ ネル ・ ア ラ イ メ ン ト を行 う ためです。 エ ラ ス テ ィ ッ ク ・ バ ッ フ ァ を 使用 し た CTC が、 FPGA コ ア内で行われ る こ と にな り ます。 CTC FIFO は、 再生 ク ロ ッ ク ま たはマ ス タ 再生 ク ロ ッ ク に よ っ て ラ イ ト で き ます。 CTC FIFO の リ ー ド は、 TX ク ロ ッ ク を使用 し て TX ク ロ ッ ク ツ リ ーか ら 行われます。 8-59 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド ケース I_c : 8/10 ビ ッ ト 、 RX/TX FIFO バ イ パス 図 8-38. 8/10 ビ ッ ト 、 RX/TX FIFO バ イ パス RX PCS REFCLK FPGA Recovered Clock CDR BYPASS rxdata_ch0 BYPASS 8b10b Decoder RX FIFO CTC FIFO rx_half_clk_ch0 /2 rx_full_clk_ch0 rxiclk_ch0 REFCLK AUX ebrd_clk_ch0 TX PLL txiclk_ch0 BYPASS SER 8b10b Encoder TX FIFO txdata_ch0 FPGA Clock Tree tx_full_clk_ch0 tx_half_clk_ch0 TX /2 1. TX チ ャ ネルは前の 2 つのケース と 同様に ク ロ ッ ク さ れます。 RX チ ャ ネルでは FPGA 入力 ク ロ ッ ク が ebrd_clki と な り ます。 こ の ク ロ ッ ク は FPGA TX ク ロ ッ ク ツ リ ーで ド ラ イ ブ さ れます。 こ のケー ス では、 ebrd_clki が ソ フ ト ウ ェ アに よ っ て自動的に配線 さ れます。 8-60 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド ケース I_d : 8/10 ビ ッ ト 、 CTC FIFO 及び RX/TX FIFO バ イ パス 図 8-39. 8b/10 ビ ッ ト 、 CTC FIFO 及び RX/TX FIFO バ イ パス RX FPGA PCS REFCLK Recovered Clock CDR BYPASS BYPASS DEC rxdata_ch0 RX FIFO CTC FIFO /2 rx_half_clk_ch0 rx_full_clk_ch0 rxiclk_ch0 REFCLK ebrd_clk_ch0 AUX TX PLL txiclk_ch0 BYPASS SER 8b10b Encoder TX FIFO FPGA Clock Tree txdata_ch0 tx_full_clk_ch0 TX /2 tx_half_clk_ch0 1. FPGA ク ロ ッ ク ツ リ ーは、 こ のケース では ク ロ ッ ク ド メ イ ン と 考え て交換可能です。 TX チ ャ ネルは 前の 3 つのケース と 同様に ク ロ ッ ク さ れます。 RX チ ャ ネルでは、 再生チ ャ ネル RX ク ロ ッ ク が FPGA に送出 さ れます。 こ のケース はビデオ用途への対応に便利です。 8-61 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド ケース II_a : 16/20 ビ ッ ト 、 CTC FIFO 及び RX/TX FIFO バ イ パ スせず 図 8-40. 16/20 ビ ッ ト 、 CTC FIFO 及び RX/TX FIFO バ イ パスぜず PCS RX REFCLK FPGA Recovered Clock CDR BYPASS rxdata_ch0 BYPASS DEC FPGA Clock Tree RX FIFO CTC FIFO /2 rx_half_clk_ch0 rx_full_clk_ch0 rxiclk_ch0 REFCLK ebrd_clk_ch0 AUX TX PLL txiclk_ch0 BYPASS SER 8b10b Encoder TX FIFO FPGA Clock Tree txdata_ch0 tx_full_clk_ch0 tx_half_clk_ch0 TX /2 1. こ の場合 TX FIFO は位相シ フ ト FIFO と ア ッ プサンプル FIFO の両方 と し て機能 し ます。 2. こ の場合 RX FIFO は位相シ フ ト FIFO と ダ ウ ンサンプル FIFO の両方 と し て機能 し ます。 3. こ れは、 FPGA で フルバ イ ト 周波数を維持で き ない場合に非常に よ く あ る シ ン グルチ ャ ネルの使い 方です。 2 つの ク ロ ッ ク ツ リ ーが必要です。 こ れ ら の ク ロ ッ ク ツ リ ーは、 FPGA ク ロ ッ ク セ ン タ ー ・ マルチプ レ ク サへの送信フルレー ト ・ ク ロ ッ ク と 送信ハーフ レー ト ・ ク ロ ッ ク の直接ア ク セ ス で ド ラ イ ブ さ れます。 フルレー ト ・ ク ロ ッ ク ツ リ ーは、 CTC FIFO リ ー ド ポー ト と RX FIFO ラ イ ト ポー ト を ド ラ イ ブ し ます。 ハーフ レー ト ・ ク ロ ッ ク ツ リ ーは、 RX FIFO と FPGA ロ ジ ッ ク を ド ラ イ ブ し ます。 8-62 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド ケース II_b : 16/20 ビ ッ ト 、 CTC FIFO バ イ パ ス 図 8-41. 16/20 ビ ッ ト 、 CTC FIFO バ イ パス PCS RX REFCLK FPGA Recovered Clock CDR BYPASS rxdata_ch0 BYPASS DEC Case II_b RX FIFO CTC FIFO /2 FPGA Clock Tree rx_half_clk_ch0 rx_full_clk_ch0 rxiclk_ch0 REFCLK ebrd_clk_ch0 AUX TX PLL txiclk_ch0 BYPASS SER 8b10b Encoder TX FIFO FPGA Clock Tree txdata_ch0 tx_full_clk_ch0 TX /2 tx_half_clk_ch0 1. こ の場合 TX FIFO は位相シ フ ト FIFO と ア ッ プサンプル FIFO の両方 と し て機能 し ます。 2. こ の場合 RX FIFO は位相シ フ ト FIFO と ダ ウ ンサンプル FIFO の両方 と し て機能 し ます。 3. こ れは、 FPGA で フルバ イ ト 周波数を維持で き ない場合に非常に よ く あ る マルチチ ャ ネル ・ ア ラ イ メ ン ト の使い方です。 受信 ク ロ ッ ク ツ リ ー (最大 4 つ) は ロ ーカル と グ ロ ーバルの ど ち ら で も か ま い ません。 ハーフ レー ト ・ ク ロ ッ ク で動作 し ます。 送信 ク ロ ッ ク ツ リ ーは、 FPGA ク ロ ッ ク セ ン タ ー ・ マルチプ レ ク サへの送信ハーフ レー ト ・ ク ロ ッ ク の直接ア ク セ ス で ド ラ イ ブ さ れ ます。 8-63 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド SERDES/PCS ブ ロ ッ ク の処理遅延 表 8-23 に ト ラ ン ス ミ ッ タ 及びレ シーバ内の各機能ブ ロ ッ ク の処理遅延を示 し ます。処理遅延はパ ラ レル ・ ク ロ ッ ク サ イ ク ルで与え ら れます。 図 8-42 は各ブ ロ ッ ク の位置を示 し てい ます。 表 8-23. SERDES/PCS 処理遅延の内訳 項番 記 述 Min. 平均 . Max. 固定 バイパス 単位 FPGA ブ リ ッ ジ ~ 異な る ク ロ ッ ク によ る 1:1 ギア リ ング 1 3 5 — 1 word clk FPGA ブ リ ッ ジ ~ 同一ク ロ ッ ク によ る 1:1 ギア リ ン グ — — — 3 1 word clk 送信デー タ の処理遅延 1 T1 FPGA ブ リ ッ ジ ~ 2:1 ギア リ ング 1 3 5 — — word clk T2 8b10b エ ン コ ーダ — — — 2 1 word clk T3 SERDES ブ リ ッ ジ送信 — — — 2 1 word clk シ リ ア ラ イザ : 8 ビ ッ ト モー ド — — — 15 + 1 — UI + ps シ リ ア ラ イザ : 10 ビ ッ ト モー ド — — — 18 + 1 — UI + ps T4 T5 プ リ エ ン フ ァ シス ON — — — 1 + 2 — UI + ps プ リ エ ン フ ァ シス OFF — — — 0 + 3 — UI + ps イ コ ラ イザ ON — — — 1 — UI + ps イ コ ラ イザ OFF — — — 2 — UI + ps デシ リ ア ラ イザ : 8 ビ ッ ト モー ド — — — 10 + 3 — UI + ps 受信デー タ の処理遅延 R1 R2 2 デシ リ ア ラ イザ : 10 ビ ッ ト モー ド — — — 12 + 3 — UI + ps R3 SERDES ブ リ ッ ジ受信 — — — 2 1 word clk R4 ワー ド ア ラ イ メ ン ト 3.1 — 4 — — word clk R5 8b10b デ コ ーダ — — — 1 1 word clk R6 R7 3 ク ロ ッ ク ト レ ラ ン ス補償 7 15 23 1 1 word clk FPGA ブ リ ッ ジ ~ 異な る ク ロ ッ ク によ る 1:1 ギア リ ング 1 3 5 — 1 word clk FPGA ブ リ ッ ジ ~ 同一ク ロ ッ ク によ る 1:1 ギア リ ン グ — — — 3 1 word clk FPGA ブ リ ッ ジ ~ 2:1 ギア リ ング 1 3 5 — — word clk 1. 1 = -245ps, 2 = +88ps, 3 = +112ps. 2. 1 = +118ps, 2 = +132ps, 3 = +700ps. 3. 表 8-24 に ワ ー ド ア ラ イ メ ン ト ・ オ フ セ ッ ト ご と の ワー ド ア ラ イ ナ処理遅延を示 し ます。 実際のオ フ セ ッ ト はチ ャ ネル ・ ス テー タ ス レ ジ ス タ CH_22, bit [3:0] で確認で き ます。 8-64 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-24. ワー ド ア ラ イ ナ処理遅延 と オ フ セ ッ ト の関係 wa_offset[3:0] (CH_22[3:0]) 処理遅延 ( ワー ド ク ロ ッ ク数 ) 0 4.0 1 3.9 2 3.8 3 3.7 4 3.6 5 3.5 6 3.4 7 3.3 8 3.2 9 3.1 図 8-42. ト ラ ン ス ミ ッ タ と レ シーバの処理遅延ブ ロ ッ ク 図 SERDES SERDES Bridge PCS R1 R2 EQ Deserializer 1:8/1:10 CDR HDINN REFCLK R5 R6 R7 R3 WA DEC Polarity Adjust BYPASS Receiver FPGA Core FPGA EBRD Clock R4 HDINP FPGA Bridge Recovered Clock REFCLK CTC FIFO RX FIFO Receive Data BYPASS BYPASS BYPASS FPGA Receive Clock Transmit Clock TX PLL T2 T1 T3 T5 HDOUTP T4 Serializer 8:1/10:1 HDOUTN Transmitter Encoder Polarity Adjust TX FIFO Transmit Data BYPASS BYPASS BYPASS FPGA Transmit Clock SERDES ク ラ イ ア ン ト ・ イ ン タ ーフ ェ イ ス (SCI) SCI では コ ン フ ィ グ レーシ ョ ン ・ メ モ リ セルではな く 、 レ ジ ス タ に よ っ て SERDES/PCS ク ワ ッ ド を制御で き ます。 こ れは簡単な レ ジ ス タ ・ コ ン フ ィ グ レーシ ョ ン ・ イ ン タ ーフ ェ イ ス です。 FPGA コ ア内にあ る SCI の ブ ロ ッ ク 図を図 8-43 に示 し ます。 8-65 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-43. SCI イ ン タ ーフ ェ イ ス のブ ロ ッ ク 図 SCI CLK SCI_WRATA[7:0] SCI_ADDR[9:0] SCI SCI_WRN SCI_RD Address Decoder (Soft) Address Decoder (Soft) SCI_SEL_CH0 SCI_SEL_CH1 SCI_SEL_CH2 SCI_SEL_CH3 SCI_SEL_QUAD SCI_SEL_CH0 SCI_SEL_CH1 SCI_SEL_CH2 SCI_SEL_CH3 SCI_SEL_QUAD Quad SERDES/PCS (Hard) SC I_A D D R [5 :0 ] SC I_A D D R [5 :0 ] SCI_RDDATA[7:0] Quad SERDES/PCS (Hard) SCI_RDDATA[7:0] SCI_RDATA[7:0] SCI_INT SCI_INT FPGA 内にあ る イ ン タ ーフ ェ イ ス ・ ロ ジ ッ ク は、 イ ン タ ーフ ェ イ ス方式に合わせてユーザが開発す る 必要が あ り ます。 コ ー ド 例については、 ラ テ ィ ス のテ ク ニ カルサポー ト にお問い合わせ く だ さ い。 SCI_ADDR バ ス はブ ロ ッ ク 内で 6 ビ ッ ト 幅にな っ てい ます。 ブ ロ ッ ク 境界でのバス幅は 11 ビ ッ ト です。 上位 5 ビ ッ ト は、 ク ワ ッ ド ブ ロ ッ ク 選択及びチ ャ ネル選択に使用 さ れます。 表 8-25 に、 SERDES ク ワ ッ ド の SCI ア ド レ ス マ ッ プ を示 し ます。 SERDES/PCS の レ ジ ス タ ア ド レ ス と ビ ッ ト については、 付録 A 及び付録 B を参照 し て く だ さ い。 8-66 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-25. SCI 最大 4 つの SERDES/PCS ク ワ ッ ド 用の SCI ア ド レ ス マ ッ プ ア ド レスビ ッ ト 記 述 SCI_ADDR[5:0] レジス タ ・ ア ド レスビ ッ ト 000000 = レ ジス タ 0 選択 000001 = レ ジス タ 1 選択 ... 111110 = レ ジス タ 62 選択 111111 = レ ジス タ 63 選択 SCI_ADDR[8:6] チ ャ ネル ・ ア ド レ ス ビ ッ ト 000 = チ ャ ネル 0 選択 001 = チ ャ ネル 1 選択 010 = チ ャ ネル 2 選択 011 = チ ャ ネル 3 選択 100 = ク ワ ッ ド 選択 101 = 未使用 110 = 未使用 111 = 未使用 SCI_ADDR[10:9] クワ ッ ド ・ ア ド レスビ ッ ト 00 = ク ワ ッ ド A 選択 01 = ク ワ ッ ド B 選択 10 = ク ワ ッ ド C 選択 11 = ク ワ ッ ド D 選択 こ の イ ン タ ーフ ェ イ ス を通 じ た リ ー ド 及び ラ イ ト 動作は非同期で行われ ま す。 ラ イ ト サ イ ク ルでは ラ イ ト デー タ と ラ イ ト ア ド レ ス のセ ッ ト ア ッ プが必要で、 SCI_WR の立ち下が り エ ッ ジで保持 さ れ ます。 リ ー ド サ イ ク ルでは、 SCI_RD パルス で タ イ ミ ン グ を と る 必要があ り ます。 図 8-44 と 8-45 に、 ラ イ ト 及び リ ー ド サ イ ク ルを それぞれ示 し ます。 図 8-44. SCI WRITE サ イ ク ル、 重要な タ イ ミ ン グ SCI_WRN SCI_ADDR[9:0] SCI_SEL SCI_WRDATA[7:0] tsu1 th2 1. tsu is the setup time for address and write data prior to the falling edge of the write strobe. 2. th is the hold time for address and write data after the falling edge of the write strobe. Note: To avoid accidental writing to control registers, registers should be used at the SCI input ports to drive them low at power-up reset. 8-67 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-45. SCI READ サ イ ク ル、 重要な タ イ ミ ン グ SCI_ADDR[9:0] SCI_SEL_QUAD SCI_SEL_CH SCI_RD SCI_RDDATA[7:0] taddv trddv taddv trdde 表 8-26. タ イ ミ ン グパ ラ メ ー タ パラ メ ー タ Typical 値 単位 tsu, trddv, taddv 1.127 ns th, trdde 0.805 ns SCI インターフェイスはメモリのリード / ライトのようにシンプルです。擬似コードの例を示します。 ライ ト : • Cycle 1: Set sci_addr[5:0], sciw_data[7:0], sci_sel = 1’b1 • Cycle 2: Set sci_wrn from 0 1 • Cycle 3: Set sci_wrn from 1 0, sci_sel = 1’b0 リ ード : • Cycle 1: Set sci_addr[5:0], sci_sel = 1’b1 • Cycle 2: Set sci_rd from 0 1 • Cycle 3: Obtain reading data from sci_rddata[7:0] • Cycle 4: Set sci_rd from 1 0 割 り 込み と ス テー タ ス ス テー タ ス ビ ッ ト は 1 バ イ ト 幅の SCI か ら リ ー ド で き る ため、 8 つの割 り 込みス テー タ ス信号を同時に リ ー ド で き ます。 割 り 込み イ ベン ト が発生す る と 、 SCI_INT 信号が High にな る こ と で示 さ れます。 その場合は、 割 り 込み元が ク ワ ッ ド なのか、 いずれかのチ ャ ネルなのか を示す QIF ス テー タ ス レ ジ ス タ を、 ユーザが リ ー ド す る 必要があ り ます。 こ の レ ジ ス タ は リ ー ド し て も ク リ ア さ れません。 ク リ ア さ れ る のは、 ク ワ ッ ド ま た はチ ャ ネルか ら の全ての割 り 込み ソ ース が ク リ ア さ れた と き です。 割 り 込みの集約 ソ ース の判定後は、 対応 す る ク ワ ッ ド ま たはチ ャ ネルの レ ジ ス タ を リ ー ド し 、 割 り 込みの ソ ース を判定 し ます。 表 8-27 と 8-28 に、 割 り 込みの全ての ソ ース を示 し ます。 8-68 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-27. ク ワ ッ ド の割 り 込み ソ ース ク ワ ッ ド SCI_INT ソ ース 記 述 レジス タ名 int_qd_out ク ワ ッ ド 割 り 込み。 ク ワ ッ ド 内のど こ かで割 り 込みイ ベ ン ト が発生する と 、 こ のレ ジ ス タ ビ ッ ト がア ク テ ィ ブに PCS クワッド・ステータスレジスタ な り ます。 全ての割 り 込みイ ベ ン ト がク リ ア さ れる と 、 QD_20 こ のレ ジ ス タ ビ ッ ト が ク リ ア さ れます。 int_ch_out[0:3] チ ャ ネル割 り 込み。 対応する チ ャ ネル内のど こかで割 り 込みイ ベン ト が発生する と 、 こ のレ ジ ス タ ビ ッ ト がア ク PCS クワッド・ステータスレジスタ テ ィ ブにな り ます。 対応する チ ャ ネル内の全ての割 り 込 QD_20 みソ ースがク リ ア さ れる と 、 こ れらのレ ジス タ ビ ッ ト が ク リ ア さ れます。 ls_sync_statusn_[0:3]_int ls_sync_status_[0:3]_int ~PLOL, PLOL リ ン ク ス テー タ ス Low (同期外) チ ャ ネル割 り 込み。 リ ン ク ス テー タ ス High (同期中) チ ャ ネル割 り 込み PCS クワッド割り込みステータスレジ スタ QD_22 PLL ロ ッ ク はずれで生成 さ れる割 り 込み。 ~PLOL および SERDES クワッド・ステータスレジス PLOL タ QD_25 表 8-28. チ ャ ネルの割 り 込み ソ ース チ ャ ネル SCI_INT ソ ース fb_tx_fifo_error_int fb_rx_fifo_error_int cc_overrun_int cc_underrun_int pci_det_done_int rlos_lo_int ~rlos_lo_int rlol_int ~rlol_int 記 述 レジス タ名 FPGA ブ リ ッ ジ TX FIFO エ ラ ー割 り 込み FPGA ブ リ ッ ジ RX FIFO エ ラ ー割 り 込み CTC FIFO オーバー ラ ン及びア ン ダー ラ ン割 り 込み PCS チ ャ ネル一般割 り 込みス テー タ ス レ ジス CH_23 Ipci_det_done 用に生成 さ れた割 り 込み rlos_lo 用に生成 さ れた割 り 込み ~rlos_lo 用に生成 さ れた割 り 込み rlol 用に生成 さ れた割 り 込み rlol 用に生成 さ れた割 り 込み SERDES チ ャ ネル割 り 込みス テー タ ス レ ジス タ CH_2A SERDES ク ラ イ ア ン ト ・ イ ン タ ー フ ェ イ スの用途例 ラ テ ィ ス ORCAstra FPGA コ ン フ ィ グ レーシ ョ ン ・ ソ フ ト ウ ェ アは、 ユーザが FPGA レ ジ ス タ 内の制御ビ ッ ト を プ ロ グ ラ ムす る こ と で、 ラ テ ィ ス FPGA の動作モー ド を設定可能な PC ベース の GUI です。 SERDES/PCS ス テー タ ス情報が リ アル タ イ ムに画面表示 さ れ、 全ての コ ン フ ィ グ レーシ ョ ン を制御レ ジ ス タ に保存 し 、 さ ら な る テ ス ト が可能です。 GUI を使用 し て も 、 FPGA コ ア部分のプ ロ グ ラ ミ ン グの妨げにはな り ません。ORCAstra の詳細 と ダ ウ ン ロ ー ド 可能な フ ァ イ ルについては、 ラ テ ィ ス セ ミ コ ン ダ ク タ ー社の ウ ェ ブサ イ ト (www.latticesemi.com/products/designsoftware/orcastra.cfm) を参照 し て く だ さ い。 LatticeECP3 の ORCAstra イ ン タ ーフ ェ イ ス設計は、 全て IPexpress か ら 行え ます。 ORCAstra イ ン タ ーフ ェ イ ス が格納 さ れた HDL フ ァ イ ル以外に、 ORCAstra イ ン タ ーフ ェ イ ス を ラ ッ プす る "chip.v" (Verilog 用) と い う フ ァ イ ル も 用意 さ れてい ます。 SERDES/PCS ク ワ ッ ド の動的 コ ン フ ィ グ レーシ ョ ン SERDES/PCS ク ワ ッ ド は、 オプシ ョ ンの SERDES ク ラ イ ア ン ト ・ イ ン タ ーフ ェ イ ス か ら ア ク セ ス可能な レ ジ ス タ で制御で き ます。 コ ン フ ィ グ レーシ ョ ン ・ メ モ リ セルで制御す る 場合は、 SERDES/PCS ク ワ ッ ド が コ ン フ ィ グ レーシ ョ ン完了 後に、 それ以上のユーザに よ る 介入な し に機能状態にな る 必要があ り ます。 そのため、 SERDES/PCS ク ワ ッ ド の初期化に必要な特殊な リ セ ッ ト ・ シーケ ン ス は、 ハー ド ウ ェ アで自動的に処理す る 必要があ り ます。 す なわち、 SCI の使用はオプシ ョ ンにな り ます。 SERDES/PCS ク ワ ッ ド は、 FPGA コ ア内に ソ フ ト IP が存在す る こ と を前提 と し てい ません。 8-69 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド SERDES デバ ッ グ機能 PCS ループバ ッ ク モー ド LatticeECP3 フ ァ ミ リ には、 PCS/FPGA イ ン タ ーフ ェ イ ス の制御信号で制御す る 3 つのループバ ッ ク モー ド があ り 、 外部 SERDES/ ボー ド ・ イ ン タ ーフ ェ イ ス及び内部 PCS/FPGA ロ ジ ッ ク ・ イ ン タ ーフ ェ イ ス を テ ス ト し やす く な っ てい ます。 受信デー タ を送信デー タ パ ス にループす る 、 2 つのループバ ッ ク モー ド が用意 さ れてい ます。 こ のループバ ッ ク モー ド は、 高速シ リ アル SERDES パ ッ ケージの ピ ン接続、 及び組み込まれた SERDES や PCS ロ ジ ッ ク のチ ェ ッ ク に便利です。 RX-to-TX シ リ アル ・ ループバ ッ ク モー ド CDRま たはデシ リ ア ラ イ ザを通過す る こ と な く 、シ リ アル受信デー タ を送信バ ッ フ ァ にループバ ッ ク し ます。 IPexpress GUI で RX-to-TX シ リ ア ル ・ ルー プ バ ッ ク ・ オ プ シ ョ ン を 選択す る と 、 LB_CTL[1:0] が '10'、 TDRV_DAT_SEL[1:0] レ ジ ス タ ビ ッ ト が '11' に設定 さ れます (表 8-81 及び 8-84 参照)。 TX-to-RX シ リ アル ・ ループバ ッ ク モー ド こ のモー ド では、 シ リ アル送信デー タ が レ シーバの CDR ブ ロ ッ ク にループバ ッ ク さ れ ます。 IPexpress GUI で TX-to-RX シ リ アル ・ ループバ ッ ク ・ オプシ ョ ン を選択す る と 、LB_CTL[1:0] が '01' に設定 さ れます (表 881 参照)。 SERDES パラ レル ・ ループバ ッ ク モー ド PCS ロ ジ ッ ク を通過す る こ と な く 、 パ ラ レル受信デー タ を送信デー タ パ ス にループバ ッ ク し ます。 IPexpress GUI でデ ィ セーブル し た場合は、 パ ラ レル ・ ループバ ッ ク モー ド が FPGA コ ア制御信号 sb_felb_ch[3:0]_c と sb_felb_rst_ch[3:0]_c か ら 動的に制御 さ れます。 こ のループバ ッ ク モー ド の動的機能を使用 し ない場合は、 こ の 2 つの制御信号を グ ラ ン ド に接続す る 必要が あ り ます。 IPexpress GUI で こ のループバ ッ ク モー ド を イ ネーブルす る と 、 制御レ ジ ス タ ビ ッ ト sb_pfifo_lp(CH_03[5]) が設 定 さ れ、ループバ ッ ク モー ド が設定 さ れます。FPGA コ アか ら の制御信号 sb_felb_ch[3:0]_c と sb_felb_rst_ch[3:0]_c は、 PCS モジ ュ ール内で利用で き ません。 以上の説明については、 図 8-46 を参照 し て く だ さ い。 図 8-46. 3 つのループバ ッ ク モー ド SERDES REFCLK PCS Core SERDES Bridge FPGA Bridge (FB) CDR LB_CTL[3:0] PD/ Sampler Serial Loopback Tx to Rx hdoutn_ch0 WA DES CK 1:8/1:10 FIFO SERDES Parallel Loopback EQ hdinn_ch0 hdoutp_ch0 INV DATA hdinp_ch0 SLB_R2T_D SLB_EQ2T SLB_R2T_CK LB_CTL[1:0] Serial Loopback Rx to Tx DATA CK PLB_R2T SER 8:1/10:1 8b10b Decoder CTC FIFO RX FIFO rx_data_ch0[23:0] LSM 8b10b Encoder TX FIFO txdata_ch0[23:0] INV TDRV_DAT_SEL[1:0] SERDES PLB EN 8-70 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-47. ループバ ッ ク の イ ネーブル信号 sb_felb_ch[3:0]_c sb_pfifo_lp(CH_03[5]) SERDES Bridge Far End Parallel Loopback Enable LB_CTL[1:0](CH_11[5:4] = ‘10’) TDRV_DAT_SEL[1:0](CH_14[6:5] = ‘11’) RX-to-TX Serial Loopback Enable LB_CTL[1:0](CH_11[5:4] = ‘01’) TX-to-RX Serial Loopback Enable ORCAstra ラ テ ィ ス ORCAstra ソ フ ト ウ ェ アは、 プ ロ セ ス を大幅に再 コ ンパ イ ル し た り 、 基板に変更を加え る こ と な く 、 コ ン フ ィ グ レーシ ョ ン・オプシ ョ ン を手軽に推敲す る ため役立ち ます。GUI で作成 さ れた コ ン フ ィ グ レーシ ョ ンは、メ モ リ に保存 し 、後か ら 再 ロ ー ド し て使用で き ます。ORCAstra を使用す る には、IPexpress で ORCASTRA モジ ュ ールを作成 し 、 FPGA デザ イ ン で使用す る必要があ り ます。 マ ク ロ 機能 も あ り 、 ス ク リ プ ト ベース の コ ン フ ィ グ レーシ ョ ン と テ ス ト に対応で き ます。 こ の GUI は、 シ ス テ ムの ス テー タ ス情報の リ アル タ イ ム表示に も 使用で き ます。 ORCAstra ソ フ ト ウ ェ ア を使用 し て も 、 FPGA のプ ロ グ ラ ミ ン グが妨げ ら れ る こ と はあ り ません。 図 8-48 に、 ORCAstra GUI の ト ッ プ レベル ・ ウ ィ ン ド ウ を示 し ます。 ア ド レ ス セルでデー タ を リ ー ド 及び ラ イ ト す る こ と で、 各 PCS チ ャ ネル用のサブ ウ ィ ン ド ウ に移動す る こ と な く 、 こ の ウ ィ ン ド ウ で リ ー ド と ラ イ ト を行え ます。 起動す る と 、 ORCAstra は自動的にデバ イ ス タ イ プ を認識 し ます。 あ る いは、 デバ イ ス ・ プ ルダ ウ ン メ ニ ュ ーでデバ イ ス タ イ プ を選択す る こ と も で き ます。 図 8-48. ORCAstra ト ッ プ レベル ・ ス ク リ ーン シ ョ ッ ト デフ ォ ル ト では図 8-48 に示すデー タ ボ ッ ク ス が ビ ッ グエンデ ィ ア ン ・ バ イ ト オーダ (最上位ビ ッ ト が左) に な っ てい ます。 "Options" (オプシ ョ ン) タ ブにあ る "Display Data Reversed in Data Box" (デー タ ボ ッ ク ス の デー タ を反転表示) を選択 し 、 リ ト ルエンデ ィ ア ン ・ オーダにす る こ と も で き ます。 8-71 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド "Interface=None" ( イ ン タ ー フ ェ イ ス な し ) タ ブ を ク リ ッ ク し 、 ド ロ ッ プ ダ ウ ン リ ス ト か ら "1 ispVM JTAG Hub USB Interface" (1 ispVM JTAG ハブ USB イ ン タ ーフ ェ イ ス) を選択 し ます。 次に、 "Select Target JTAG Device" ( タ ーゲ ッ ト JTAG デバ イ ス の選択) ウ ィ ン ド ウ で "C2 0A 80 80" を選択 し ます。 図 8-49. JTAG デバ イ ス選択 そ し て、 ORCAstra のハブ I/O ウ ィ ン ド ウ で "OK" を ク リ ッ ク し ます。 図 8-50. ハブ ID 選択 こ の図ではチ ャ ネル 0 と チ ャ ネル 1 の活動が表示 さ れてい ます。 こ の例はデザ イ ン内で PCS SCI ア ド レ ス が ク ア ッ ド 0 にマ ッ プ さ れてい る こ と を前提 と し てい ます。 PCS0 ( ク ア ッ ド 0) ボ タ ン を ダブル ク リ ッ ク す る と 、 図 8-51 に示す メ イ ン ウ ィ ン ド ウ が表示 さ れます。 こ の標準ウ ィ ン ド ウ メ ニ ュ ーでは、デバ イ ス と イ ン タ ーフ ェ イ ス の選択が制御 さ れます。ま た、保存済みフ ァ イ ルに よ る コ ン フ ィ グ レーシ ョ ンのセ ッ ト ア ッ プ と 保存な ど、 様々な コ ン フ ィ グ レーシ ョ ン ・ オプシ ョ ン も あ り ます。 8-72 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-51. ORCAstra メ イ ン ウ ィ ン ド ウ 制御ボ ッ ク ス と ボ タ ン、 ス テー タ スボ ッ ク ス、 及びテキス ト ウ ィ ン ド ウ カー ソ ルを制御ボ ッ ク ス に合わせてマ ウ ス の左ボ タ ン を ク リ ッ ク す る と 、 制御ビ ッ ト が設定 さ れます。 選択 し たボ ッ ク ス の ビ ッ ト 位置 と 機能の両方がテ キ ス ト ウ ィ ン ド ウ に表示 さ れ、 LatticeECP3 フ ァ ミ リ ・ デー タ シー ト の レ ジ ス タ マ ッ プ ・ テーブル と 同 じ 表示にな り ます。 カー ソ ルを ビ ッ ト 名に合わせた場合は、 機能の みが表示 さ れます。 ス テー タ ス ボ ッ ク ス は制御ボ ッ ク ス と 似てい ますが、 LED が表示 さ れ、 背景に色が付 き ます。 図 8-52 に SERDES バ ッ フ ァ オプシ ョ ン ・ ウ ィ ン ド ウ を示 し ます。 コ ン フ ィ グ レーシ ョ ン ・ オプシ ョ ンは、 プ ルダ ウ ン メ ニ ュ ーか ら 選択で き ます。 8-73 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-52. SERDES バ ッ フ ァ オプシ ョ ン ・ ウ ィ ン ド ウ ORCAstra の詳細 と ダ ウ ン ロ ー ド 可能な フ ァ イ ルについては、 次のア ド レ ス の ラ テ ィ ス セ ミ コ ン ダ ク タ ーの ウ ェ ブサ イ ト を参照 し て く だ さ い : www.latticesemi.com/products/designsoftware/orcastra.cfm その他の設計上の注意事項 SERDES/PCS のシ ミ ュ レーシ ョ ン 表 8-29. シ ミ ュ レーシ ョ ン ・ モデルのフ ォ ルダ シ ミ ュ レー タ モデルのある フ ォルダ Active-HDL ispTOOLS\cae_library\simulation\blackbox\pcsc-aldec.zip ModelSim ispTOOLS\cae_library\simulation\blackbox\pcsd-mti_6.0-V1-1.zip NC-Verilog ispTOOLS\cae_library\simulation\blackbox\pcsd-ncv.zip VCS ispTOOLS\cae_library\simulation\blackbox\PCSD_sim.vp.zip 16/20 ビ ッ ト ・ ワ ー ド ア ラ イ メ ン ト PCS レ シーバは 16 ビ ッ ト の ワー ド 境界を認識で き ません。 ワー ド ア ラ イ ナが イ ネーブルの場合、 PCS はバ イ ト ア ラ イ メ ン ト のみを実行で き ます。 16 ビ ッ ト ・ ワー ド ア ラ イ メ ン ト は FPGA フ ァ ブ リ ッ ク で行 う 必要が あ り 、 それが最 も 単純な方法です。 シ ミ ュ レーシ ョ ン ・ モデル も 同様に動作 し ます。 ユーザが、 以下に述べ る よ う な ア ラ イ メ ン ト 方式を実装す る と 、 こ の動作を拡張で き ます。 例えば、 FPGA イ ン タ ーフ ェ イ ス の送信デー タ が次の よ う な も の と し ます。 YZABCDEFGHIJKLM... ( 各文字は 8 ビ ッ ト か 10 ビ ッ ト 幅のバ イ ト を示す ) デ コ ーダ以降、 rx_gearbox 以前の PCS の受信デー タ は次の よ う にな り ます。 YZABCDEFGHIJKLM... 以降では次の よ う にな り ます。 1. {ZY}{BA}{DC}{FE}{HG}{JI}{LK}.... ま たは 2. {AZ}{CB}{ED}{GF}{IH}{KJ}{ML}... 明 ら かに、 シーケ ン ス 2 はア ラ イ メ ン ト が と れてい ません。 1 バ イ ト のオ フ セ ッ ト があ り ますが、 16/20 ビ ッ ト ・ ア ラ イ メ ン ト が必要です。 例えば、 特殊文字 'A' を必ず下位バ イ ト に配置す る 必要があ る と し ます。 8-74 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 20ビ ッ ト デー タ を1つ、現在の16/20ビ ッ ト デー タ と 組み合わせ る と 、次に示す32/40ビ ッ ト デー タ にな り ます。 1. {DCBA}{HGFE}{LKJI}... ^ | ** A を下位 10 ビ ッ ト で検出、 オ フ セ ッ ト を ‘0’ に設定、 ア ラ イ ン さ れたデー タ ‘BA’ を送出 次の ク ロ ッ ク サ イ ク ルで : {FEDC}{JIHG}{NMLK}... ^ | **send out aligned data ‘DC’ etc. 16/20 ビ ッ ト ・ ア ラ イ メ ン ト 後の出力デー タ : {ZY}{BA}{DC}{FE}{HG}{JI}{LK}... 2. {CBAZ}{GFED}{KJIH}.... ^ | ** A A を上位 10 ビ ッ ト で検出、オ フ セ ッ ト を ‘10’ に設定、ア ラ イ ン さ れたデー タ ‘BA’ を送出 次の ク ロ ッ ク サ イ ク ル : {EDCB}{IHGF}{MLKJ}... ^ | ** ア ラ イ ン さ れたデー タ ‘DC’ を送出 etc. 20 ビ ッ ト ア ラ イ ン後の出力デー タ は : {ZY}{BA}{DC}{FE}{HG}{JI}{LK}... 注 : 8/10 ビ ッ ト バ イ ト ま たは 16/20 ビ ッ ト ワー ド の LSB が、 常に最初に送受信 さ れます。 未使用のク ワ ッ ド / チ ャ ネル と 電源 未使 用 の ク ワ ッ ド と チ ャ ネ ル に は、 VCCA を 供給 す る 必要 が あ り ま す。 VCCIB、 VCCOB、 HDINP/N、 HDOUTP/N、 REFCLKP/N はフ ロ ー ト 状態の ま ま にす る 必要があ り ます。 未使用チ ャ ネルの出力は ト ラ イ ス テ ー ト に な り 、 差動出力ペ ア 間 に 約 10KΩ の 内蔵抵抗 が 接続 さ れ ま す。 コ ン フ ィ グ レ ー シ ョ ン の 間、 HDOUTP/N は VCCOB にプルア ッ プ さ れます。 チ ャ ネルが送信のみのモー ド や受信のみのモー ド の場合で も 、そのチ ャ ネルの VCCOB お よ び VCCIB には電 源を供給す る 必要があ り ます。 未使用 SERDES は、 デフ ォ ル ト でパ ワーダ ウ ン ・ モー ド に設定 さ れます。 リ セ ッ ト と パワーダウ ンの制御 SERDES ク ワ ッ ド には図 8-53 に示す よ う にマ ク ロ 全体、及び各 ト ラ ン ス ミ ッ タ と レ シーバ用の リ セ ッ ト 及び パ ワーダ ウ ン制御があ り ます。 リ セ ッ ト 信号はア ク テ ィ ブ High で、 パ ワーダ ウ ンは pwrup 信号を Low に ド ラ イ ブす る こ と で行われます。 各種の リ セ ッ ト 及びパ ワーダ ウ ン制御の動作について、 以降のセ ク シ ョ ンで 説明 し ます。 注 : デバ イ ス がパ ワ ーア ッ プ さ れてチ ッ プ レベルの電源オ ン リ セ ッ ト が行われ る と 、 SERDES 制御ビ ッ ト (PCS 内) が ク リ ア さ れます (ま たはデフ ォ ル ト 値にな り ます)。 その結果、 SERDES ク ワ ッ ド がパ ワーダ ウ ン状態にな り ます。 8-75 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-53. SERDES/PCS ク ワ ッ ド の リ セ ッ ト 及びパ ワーダ ウ ン制御 SERDES/PCS Quad FPGA Core rx_pwrup_ch0 rx_serdes_rst_ch0 RX CH0 ------------------------------------------TX tx_pwrup_ch0 rx_pwrup_ch1 rx_serdes_rst_ch1 RX CH1 ------------------------------------------TX tx_pwrup_ch1 tx_serdes_rst AUX Channel serdes_rst_qd rx_pwrup_ch2 rx_serdes_rst_ch2 RX CH2 ------------------------------------------TX tx_pwrup_ch2 rx_pwrup_ch3 rx_serdes_rst_ch3 RX CH3 ------------------------------------------TX tx_pwrup_ch3 通常全ての リ セ ッ ト は電源オン リ セ ッ ト 及び各種の FPGA フ ァ ブ リ ッ ク ・ リ セ ッ ト か ら 行われます。 リ セ ッ ト ロ ジ ッ ク を図 8-54 及び表 8-30 に示 し ます。 図 8-54. SERDES/PCS リ セ ッ ト 図 ffc_quad_rst (default=0) tpwrup_ch[3:0] rpwrup_ch[3:0] (default=0) rrst_ch[3:0] trst (default=0) lane_tx_rst_ch[3:0] lane_rx_rst_ch[3:0] serdes_rst (default=0) quad_rst (default=0) Configuration Register Block resets all PCS logic TRI_ION resets the complete SERDES Quad serdes_rst_qd tx_pcs_rst_ch[3:0] 4RX and 4TX PCS channels digital logic rx_pcs_rst_ch[3:0] rx_serdes_rst_ch[3:0] tx_serdes_rst resets selected digital logic in the SERDES tx_pwrup_ch[3:0] sets selected channel to power down mode rx_pwrup_ch[3:0] 8-76 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-30. SERDES/PCS リ セ ッ ト 表 リ セ ッ ト 信号 制御レ ジ ス タ PCS1 TX tx_pcs_rst_ch[3:0]_c lane_tx_rst[3:0] X rx_pcs_rst_ch[3:0]_c lane_rx_rst[3:0] FPGA rst_qd_c quad_rst serdes_rst_qd_c serdes_rst rx_serdes_rst_ch[3:0]_c rrst[3:0]2 tx_serdes_rst_c trst PCS1 RX SERDES TX SERDES PCS CTRL RX Registers TX PLL CDR PLL X X X X X X X X X X X X X X3 TRI_ION (configuration) X X X X X 1. SB (SERDES ブ リ ッ ジ)、 PCS コ ア、 FB (FPGA ブ リ ッ ジ) サブブ ロ ッ ク を含みます。 2. 内部使用専用です。 CDR PLL を リ セ ッ ト す る 必要があ る 場合を除き 、 リ セ ッ ト は必ず '0' に固定 し ます。 3. tx_serdes_rst_c では TX PLL が リ セ ッ ト さ れません。 tx_pll_lol_qd_s が強制的に High にな る だけです。 表 8-31. リ セ ッ ト 制御の説明 1, 2, 3 リ セ ッ ト 信号 FPGA 制御レ ジ ス タ 記 述 rst_qd_c quad_rst ア ク テ ィ ブ High、 非同期入力。 補助チ ャ ネル及び PCS を含む SERDES 全チ ャ ネ ルを リ セ ッ ト し ます。 こ の リ セ ッ ト には serdes_rst、 txpll、 cdr、 lane_tx_rst、 lane_rx_rst な どがあ り ます。 serdes_rst_qd_c serdes_rst ア ク テ ィ ブ High、 SERDES ク ワ ッ ド への非同期入力。 ソ フ ト ウ ェ ア ・ レ ジ ス タ ビ ッ ト でゲー ト 処理 さ れます。 この リ セ ッ ト は SERDES ブ ロ ッ ク専用で、 TXPLL と CDRPLL が含まれます。 tx/rx_pcs_rst_ch[3:0]_c lane_tx/rx_rst[0:3] rx_serdes_rst_ch[3:0]_c rrst[0:3] tx_serdes_rst_c trst ア ク テ ィ ブ High、 非同期入力。 SB、 PCS コ ア、 及び FB ブ ロ ッ ク 内の TX/RX チ ャ ネルを個別に リ セ ッ ト し ます。 RLOL (Loss-of-Lock)、 LOS (Loss-of-Signal)、 及び調整回路を リ セ ッ ト し ます。 AUX PLL の Loss-of-Lock (PLOL) を リ セ ッ ト し ます。 1. フルデー タ レー ト ・ モー ド で動作す る ク ワ ッ ド 内の全てのチ ャ ネルで、 パ ラ レル側 ク ロ ッ ク は同相 と な る こ と が保証 さ れ ます。 2. ハーフデー タ レー ト ・ モー ド で動作す る ク ワ ッ ド 内の全てのチ ャ ネルは、 チ ャ ネルご と に個別に 1/2 分周回路を持ち ま す。 "serdes_rst" のネゲー ト 後に、 こ れ ら 1/2 分周回路が同相 と な る こ と を保証す る メ カ ニズ ムが ク ワ ッ ド 内に存在 し な いため、 PCS デザ イ ンでは分周器 (及びパ ラ レル側 ク ロ ッ ク ) が同相ではない こ と を前提にす る 必要があ り ます。 3. ハーフデー タ レー ト ・ モー ド では、 パ ラ レル側 ク ロ ッ ク が同相であ る こ と が保証 さ れないため、 マルチチ ャ ネル ・ リ ン ク の送信側 と 受信側の両方にチ ャ ネル間ス キ ュ ーが追加 さ れ る こ と があ り ます。 表 8-32. リ セ ッ ト パルス の仕様 パラ メ ー タ 記 述 Min. Typ. Max. 単位 tSERDES_RST_QD ク ワ ッ ド SERDES リ セ ッ ト High 期間 1 us tRX_PCS_RST チ ャ ネル RX PCS リ セ ッ ト High 期間 3 ns tTX_PCS_RST チ ャ ネル TX PCS リ セ ッ ト High 期間 3 ns tRX_SERDES_RST チ ャ ネル RX SERDES リ セ ッ ト High 期間 3 ns tTX_SERDES_RST ク ワ ッ ド TX SERDES リ セ ッ ト High 期間 3 ns パワーダウン制御について 各 RX 及び RX チ ャ ネルは、 ソ フ ト ウ ェ ア ・ レ ジ ス タ ビ ッ ト ま たは FPGA か ら の制御信号に よ っ て個別にパ ワーダ ウ ンで き ます。 チ ャ ネル別のパ ワーダ ウ ン制御ビ ッ ト は、SERDES マ ク ロ 内の選択 さ れたブ ロ ッ ク 、及 び高速 I/O バ ッ フ ァ のみをパ ワーダ ウ ン し ます。 8-77 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-33. パ ワーダ ウ ン制御の説明 信 号 FPGA レ ジス タ 記 述 SERDES ク ワ ッ ド へのア ク テ ィ ブ Low 非同期入力。 補助チ ャ ネルを含む全チ ャ ネル で有効。 Low に ド ラ イ ブ さ れる と 、 送信 PLL を含むマ ク ロ全体をパワーダウン し ま す。 全 ク ロ ッ クが停止 し 、 マ ク ロの消費電力が最小にな り ます。 解除後は、 TX と RX の両方の リ セ ッ ト ・ シーケ ン スに従 う 必要があ り ます。 serdes_pd tx_pwrup_ch[0:3]_c tpwrup[0:3] ア ク テ ィ ブ High の送信チ ャ ネル ・ パワーア ッ プ ~ シ リ ア ラ イザ と 出力 ド ラ イバを パワーア ッ プ。 解除後、 TX リ セ ッ ト ・ シーケ ン スに従 う こ と が必要です。 rx_pwrup_ch[0:3]_c rpwrup[0:3] ア ク テ ィ ブ High の受信チ ャ ネル ・ パワーア ッ プ ~ CDR、 入力バ ッ フ ァ (イ コ ラ イ ザ と 増幅器)、 及び LOS 検出器をパワーア ッ プ。 解除後は、 RX リ セ ッ ト ・ シーケ ン スに従 う 必要があ り ます。 表 8-34. パ ワーダ ウ ン / パ ワーア ッ プの タ イ ミ ン グ仕様 パラ メ ー タ 記 述 Min. Typ. Max. 単位 tPWRDN serdes_pd 後のパワーダウン時間 20 ns tPWRUP serdes_pd 後のパワーア ッ プ時間 20 ns SERDES/PCS リ セ ッ ト リ セ ッ ト ・ シーケ ン ス と リ セ ッ ト ス テー ト 図 パ ワーア ッ プ及び コ ン フ ィ グ レーシ ョ ン後は、 全ての SERDES リ セ ッ ト と FPGA リ セ ッ ト が適用 さ れます。 リ セ ッ ト ・ シーケ ン ス の生成 リ セ ッ ト ・ シーケ ン ス は、 IPexpress GUI (Diamond 1.1 以降のバージ ョ ンで利用可能) に含まれてい ます。 IPexpress の リ セ ッ ト ・ シーケ ン ス生成オプシ ョ ンは、 Control Setup (制御セ ッ ト ア ッ プ) タ ブセ ク シ ョ ンの 説明の よ う に選択す る こ と を推奨 し ます。 SERDES/PCS 用に生成 さ れた HDL フ ァ イ ルには、 Tx リ セ ッ ト ・ ス テー ト マシ ン と Rx リ セ ッ ト ・ ス テー ト マシ ンが含まれます。 ロ ッ ク ス テー タ ス信号の定義 tx_pll_lol_qd_s: : 1 = TX PLL ロ ッ ク はずれ : 0 = TX PLL ロ ッ ク TX PLL の ロ ッ ク 判定には 1,400,000 UI を要す る rx_cdr_lol_ch[3:0]_s : 1 = CDR ロ ッ ク はずれ : 0 = ロ ッ ク を維持 CDR PLL の ロ ッ ク 判定には 400,000 基準 ク ロ ッ ク サ イ ク ル (最悪ケース) を 要す る rx_los_low_ch[3:0]_s : 1 = 各チ ャ ネルの LOS (Loss of Signal) 検出信号 : 0 = 信号検出 rx_cdr_lol_ch[3:0]_s ス テー タ ス信号は、 上記の と お り CDR ロ ッ ク 状態の イ ン ジ ケー タ です。 ただ し 、 CDR ロ ッ ク 処理中に入力デー タ が存在 し なか っ た場合、 CDR PLL は基準 ク ロ ッ ク に ロ ッ ク し ます。 そ う す る こ と で、 入力デー タ が回復時に無視 さ れ る こ と を防止 し ます。 CDR ロ ッ ク 状態のチ ェ ッ ク 時に入力デー タ が確実に存在す る よ う にす る には、 rx_los_low_ch[3:0]_s 信号 を rx_cdr_lol_ch[3:0]_s 信号 と 組み合わせて使用す る こ と を推奨 し ます。 8-78 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド TX リ セ ッ ト ・ シーケ ン ス 1. QUAD_RESET: パ ワーア ッ プ時に rst_qd_c と tx_pcs_rst_ch[3:0]_c を アサー ト す る 2. WAIT_FOR_TIMER1: TIMER1 を開始す る 。 最低 20ns 待つ 3. CHECK_PLOL: rst_qd_c を解除す る 4. WAIT_FOR_TIMER2: TIMER2 を開始す る 。 TIMER2 が終了 し 、 TX PLL が ロ ッ ク さ れていない場合 は、 ス テ ッ プ 1 に進む 5. NORMAL: tx_pcs_rst_ch#_c を解除す る 。 通常動作中に tx_pll_lol_qd_s が High に遷移 し た場 合は、 ス テ ッ プ 1 に進む RX リ セ ッ ト ・ シーケ ン ス 1. WAIT_FOR_PLOL: TX PLL が ロ ッ ク し 、 受信デー タ が出現す る ま で待つ。 rx_los_low[3:0]_s はア サー ト さ れ る と High にな る ため、 rx_serdes_rst_ch[3:0]_c を 0 に設定す る 2. RX_SERDES_RESET: rx_serdes_rst_ch[3:0]_c と rx_pcs_rst_ch[3:0]_c を アサー ト す る 3. WAIT_FOR_TIMER1: 最低 3ns 待つ 4. CHECK_LOL_LOS: rx_serdes_rst_ch_c を解除す る 。 TIMER2 を リ セ ッ ト す る 5. WAIT_FOR_TIMER2: cdr_lol_ch[3:0]_s と rx_los_low_ch[3:0] が ど ち ら も Low にな る ま で待つ。 rx_lol_los (rx_cdr_lol_ch_s || rx_los_low_ch_s) が遷移 し た場合は、 ス テ ッ プ 4 に進む。 TIMER2 が終了 し 、 rx_lol_los = 1 と な っ た場合は、 ス テ ッ プ 1 に進む 6. NORMAL: rx_pcs_rst_ch_c を解除す る 。 rx_lol_los が High に遷移 し た場合は、 ス テ ッ プ 1 に 進む 注 : RX リ セ ッ ト ・ シーケ ン ス では、 通常動作中に入力デー タ ソ ース に割 り 込みがあ っ た場合に CDR 再 ロ ッ ク 機能が提供 さ れます。 RX リ セ ッ ト はチ ャ ネル単位で適用で き ます。 リ セ ッ ト ・ シーケ ン ス状態図を図 8-55 及び 8-56 に示 し ます。 リ セ ッ ト ・ シーケ ン ス のサンプル コ ー ド は ラ テ ィ ス の ウ ェ ブサ イ ト か ら 入手で き ます (注 1)。 1. 日本語版注:ラティスセミコンダクターでは、日本のお客様向けに別途 RTL を用意しております。ラ ティス代理店の技術サポートまでお問い合わせください。 8-79 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-55. TX リ セ ッ ト ス テー ト 図 Power Up Quad Reset tx_pcs_rst_ch[3:0]_c <= 1 rst_qd_c <= 1 Wait for TIMER1 tx_pcs_rst_ch[3:0]_c <= 1 rst_qd_c <= 1 TIMER1 Check PLOL tx_pll_lol_qd_s TIMER2 & tx_pll_lol_qd_s tx_pcs_rst_ch[3:0]_c <= 1 rst_qd_c <= 0 Wait for TIMER2 tx_pcs_rst_ch[3:0]_c <= 1 rst_qd_c <= 0 Normal tx_pcs_rst_ch[3:0]_c <= 0 rxt_qd_c <= 0 Notes: TIMER 1: rst_qd_c asserted for a minimum of 20 ns. TIMER 2: Time to declare TX PLL lock: 1,400,000 UI. 8-80 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 図 8-56. RX リ セ ッ ト ス テー ト 図 Power Up Wait for PLOL TIMER2 & rx_lol_los tx_pll_lol_qd_s || rx_los_low_ch[3:0]_s rx_pcs_rst_ch[3:0]_c <= 1 rx_serdes_rst_ch[3:0]_c <= 0 RX_SERDES_RESET rx_pcs_rst_ch[3:0]_c <= 1 rx_serdes_rst_ch[3:0]_c <= 1 Wait for TIMER1 rx_pcs_rst_ch[3:0]_c <= 1 rx_serdes_rst_ch[3:0]_c <= 1 rising edge (rx_lol_los) falling edge (rx_lol_los) TIMER1 Check LOL_LOS rx_pcs_rst_ch[3:0]_c <= 1 rx_serdes_rst_ch[3:0]_c <= 0 rx_lol_los Wait for TIMER2 rx_pcs_rst_ch[3:0]_c <= 1 rx_serdes_rst_ch[3:0]_c <= 0 TIMER2 & ~rx_lol_los Normal rx_pcs_rst_ch[3:0]_c <= 0 rx_serdes_rst_ch[3:0]_c <= 0 Notes: TIMER 1: rx_serdes_rst_ch[3:0]_c asserted for minimum 3 ns. TIMER 2: Time for rx_lol_los signal to stay low (400,000 reference clock cycles). Any FPGA clock can be used to satisfy the timer requirement. In the diagram above, rx_lol_los is defined as rx_cdr_lol_ch[3:0]_s || rx_los_low_ch[3:0]_s. The tx_pll_lol_qd_s input to the state diagram RTL code should be tied low in Rx Only mode or when the recovered clock is used as the Tx PLL reference clock, as in SDI applications. When multiple receiver channels rx_serdes_rst_ch[3:0]_c are to be asserted, it is recommended to activate the reset signals one channel at a time. Simultaneous resetting of multiple receiver SERDES channels may cause a current surge in the SERDES/PCS quad. The rx_los_low output from SERDES may be triggered for some input streams with continuous zeros, like the SDI pathological pattern. For such applications, the rx_los_low input to the reset state machine must be connected to the carrier detect output (must be inverted) of the cable equalizer if available. In general, CD=1 means carrier is present. So this signal must be inverted to replace rx_los_low. If a cable equalizer is not available, users may tie it to zero but in this case, the CDR can lock to a local reference clock when there is no input data present. 8-81 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 供給電源のシーケ ン ス要件 1.5V の VCCIB ま たは VCCOB で SERDES を使用す る と き は、1.2V 電源を供給 し ない状態で、SERDES に 1.5V 電源を定常的に供給す る べ き ではあ り ません。 通常は、 1.2V と 1.5V の両方の電源を SERDES に同時に供給 す る 必要があ り ます。 電源 と 電圧レ ギ ュ レー タ の通常の ramp_up 時間の差は問題にな り ません。 参考文献 • TN1033, High-Speed PCB Design Considerations • TN1114, Electrical Recommendations for Lattice SERDES • HB1009, LatticeECP3 Family Handbook • DS1021, LatticeECP3 Family Data Sheet テ ク ニ カルサポー ト 支援 ホ ッ ト ラ イ ン :1-800-LATTICE ( 北米 ) +1-503-268-8001 ( 北米以外 ) e-mail: [email protected] イ ン タ ーネ ッ ト :www.latticesemi.com 8-82 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 改版履歴 (日本語版、 v.1.8 以降) リ リ ース バージ ョ ン (新) 該当ページ 更新内容 2011 年 10 月 1.8 - 2011 年 11 月 1.9 8-82 表 8-82、 QD_02 デ フ ォル ト 値修正 2011 年 11 月 2012 年 5 月 2012 年 8 月 2.0 2.3 (英語版は 2-1 ~ 2.3 に相当) 2.4 日本語版新規作成 8-96 表 8-84、 CH_14、 tpwrup デ フ ォル ト 値修正 8-105 表 8-105、 int_all 中 RLOS_HINT, RLOS_HNINT ビ ッ ト 削除 8-12 表 8-5、 tx_full/_half_clk_xh[3:0] に制約指定の記述を追記 8-19 ”TX レーン間スキ ュ ー ” 節の日本語注を削除 (英語版が対応) 8-20 ” ワー ド ア ラ イ メ ン ト ” 節、 p.20 最下部 2 行、 記述更新 8-21 ” 外部ス テー ト マシ ンのオプ シ ョ ン ” 節、 記述追加 8-78 表 8-33 の日本語注を削除 (英語版が対応) 8-86 表 8-47 REFCK25X の記述更新 8-91 表 8-65 word_align_enable の記述更新 8-105 表 8-105 {CHn_C_ALIGN} の値、 更新 - ロ ゴ更新 8-4 表 8-2、 328 csBGA 追加 8-12 表 8-5、 refclk2fpga 記述更新 8-33 表 8-13、 脚注 3、 Rx I/O 終端、 HIGH 記述更新 8-37 表 8-16、 GUI Text 最後の行の タ イ ポ修正 8-37 ” 基準ク ロ ッ ク と リ セ ッ ト シーケ ン ス ” 節追加 8-40 Generic 8B10B モー ド 節の記述更新 8-56 第二パラ グ ラ フ に記述を追加 8-94 表 8-81、 [3:2] 記述追加 8-94 表 8-82、 [4:0]、 ビ ッ ト 4:3 更新 8-4, 8-29 8-12 表 8-11、 ECP3-17/328cssBGA のチ ャ ネルについて脚注追記 表 8-5、 脚注 3 追記 8-26 図 8-18 差 し 替え (ispLEVER --> Diamond) 8-75 未使用チ ャ ネル VCCOB/VCCIB への電源について追記 8-81 図 8-56、 Rx ス テー ト マシ ン図差 し 替え (図注追記含む) - ispLEVER --> Diamond、 或いは削除 8-83 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 付録 A. コ ン フ ィ グ レーシ ョ ン ・ レ ジ ス タ ク ワ ッ ド レ ジ ス タ の概要 表 8-35. ク ワ ッ ド の イ ン タ ーフ ェ イ ス ・ レ ジ ス タ マ ッ プ BA レ ジス タ 名 D7 D6 D5 D4 reg_sync_toggle force_int char_mode xge_mode high_mark[3] high_mark[2] high_mark[1] high_mark[0] D3 D2 D1 D0 low_mark[3] low_mark[2] low_mark[1] low_mark[0] pfifo_clr_sel internal use only internal use only ls_sync_statusn_2_int_ctl ls_sync_statusn_1_int_ctl ls_sync_statusn_0_int_ctl ク ワ ッ ド 単位の PCS 制御レ ジ ス タ 00 QD_00 01 QD_01 02 QD_02 03 QD_03 04 QD_04 internal use only 05 QD_05 internal use only 06 QD_06 internal use only 07 QD_07 internal use only 08 QD_08 internal use only 09 QD_09 ls_sync_status_3_int_ctl ( ラ テ ィ ス社用途) ls_sync_status_2_int_ctl ls_sync_status_1_int_ctl ls_sync_status_0_int_ctl ls_sync_statusn_3_int_ctl ク ワ ッ ド 単位の SERDES 制御レ ジ ス タ 0A QD_0A internal use only reserved tx_refck_sel refck_dcc_en refck_rterm refck_out_sel[1] refck_out_sel[0] 0B QD_0B refck25x bus8bit_sel reserved reserved reserved reserved refck_mode[1] refck_mode[0] 0C QD_0C reserved reserved reserved reserved reserved reserved cdr_lol_sel[1] cdr_lol_sel[0] 0D QD_0D internal use only internal use only internal use only pll_lol_sel[1] pll_lol_sel[0] tx_vco_ck_div[2] tx_vco_ck_div[1] tx_vco_ck_div[0] 0E QD_0E internal use only internal use only internal use only internal use only internal use only internal use only internal use only internal use only 0F QD_0F plol_int_ctl -plol_int_ctl reserved reserved reserved reserved reserved reserved ク ワ ッ ド 単位の ク ロ ッ ク リ セ ッ ト ・ レ ジ ス タ 10 QD_10 reserved reserved reserved reserved serdes_pd serdes_rst quad_rst trst 11 QD_11 reserved reserved reserved reserved reserved reserved reserved reserved ク ワ ッ ド 単位の PCS ス テー タ ス レ ジ ス タ 20 QD_20 int_qd_out int_ch[3] int_ch[2] int_ch[1] int_ch[0] 21 QD_21 ls_sync_status_3 ls_sync_status_2 ls_sync_status_1 ls_sync_status_0 ls_sync_statusn_3 ls_sync_statusn_2 ls_sync_statusn_1 ls_sync_statusn_0 22 QD_22 ls_sync_status_3_int ls_sync_status_2_int ls_sync_status_1_int ls_sync_status_0_int ls_sync_statusn_3_int ls_sync_statuns_2_int ls_sync_statusn_1_int ls_sync_statusn_0_int 23 QD_23 internal use only internal use only internal use only internal use only internal use only internal use only internal use only internal use only 24 QD_24 internal use only internal use only internal use only internal use only internal use only internal use only internal use only internal use only ク ワ ッ ド 単位の SERDES ス テー タ ス レ ジ ス タ 25 QD_25 plol -plol reserved reserved reserved reserved reserved reserved 26 QD_26 plol_int -plol_int reserved reserved reserved reserved reserved reserved 27 QD_27 reserved reserved reserved reserved reserved reserved reserved reserved 28 QD_28 reserved reserved reserved reserved reserved reserved reserved reserved ク ワ ッ ド 単位の PCS 制御レ ジ ス タ の詳細 表 8-36. PCS 制御レ ジ ス タ QD_00 ビッ ト 名称 記 述 タ イプ デ フ ォル ト 7 reg_sync_toggle 遷移 = 4 つの TX シ リ ア ラ イザを リ セ ッ ト し 、 TX レーン 間スキ ュ ーを最小にする レ ベル = TX シ リ ア ラ イザの通常動作 RW 0 6 force_int 1 = 強制的に割 り 込み信号を生成 0 = 通常動作 RW 0 5 char_mode 1 = SERDES キ ャ ラ ク タ ラ イ ズ ・ モー ド を イ ネーブル 0 = SERDES キ ャ ラ ク タ ラ イ ズ ・ モー ド をデ ィ セーブル RW 0 4 xge_mode 1 = 10Gb イ ーサネ ッ ト モー ド を選択 0 = (チ ャ ネルのモー ド 選択によ っ て異な る) RW 0 3:0 Reserved タ イプ デ フ ォル ト 表 8-37. PCS 制御レ ジ ス タ QD_01 ビッ ト 7:0 名称 記 述 Internal use only 8-84 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-38. PCS 制御レ ジ ス タ QD_02 ビッ ト 名称 記 述 タ イプ デ フ ォル ト RW 4’b1001 7:4 high_mark[3:0] ク ロ ッ ク補償 FIFO、 High ウ ォ ー タ ーマー ク 。 中央値 は 4’b1000 3:0 low_mark[3:0] ク ロ ッ ク補償 FIFO、 Low ウ ォ ー タ ーマー ク。 中央値 は 4’b1000 RW 4’b0111 記 述 タ イプ デ フ ォル ト 1 = pfifo_clr 信号またはチ ャ ネル ・ レ ジ ス タ ビ ッ ト で FIFO を ク リ ア 0 = pfifo_error 内部信号自体で FIFO を ク リ ア RW 0 記 述 タ イプ デ フ ォル ト 記 述 タ イプ デ フ ォル ト 記 述 タ イプ デ フ ォル ト 記 述 タ イプ デ フ ォル ト 記 述 タ イプ デ フ ォル ト 表 8-39. PCS 制御レ ジ ス タ QD_03 ビッ ト 7:3 名称 Reserved 2 pfifo_clr_sel 1 Internal use only 0 Internal use only 表 8-40. PCS 制御レ ジ ス タ QD_04 ビッ ト 7:0 名称 Internal use only 表 8-41. PCS 制御レ ジ ス タ QD_05 ビッ ト 7:0 名称 Internal use only 表 8-42. PCS 制御レ ジ ス タ QD_06 ビッ ト 7:0 名称 Internal use only 表 8-43. PCS 制御レ ジ ス タ QD_07 ビッ ト 7:0 名称 Internal use only 表 8-44. PCS 制御レ ジ ス タ QD_08 ビッ ト 7:0 名称 Internal use only 8-85 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-45. PCS 制御レ ジ ス タ QD_09 ビッ ト 名称 記 述 タ イプ デ フ ォル ト RW 0 7 ls_sync_status_3_int_ctl 1 = ls_sync_status_3 の割 り 込みを イ ネーブル (同期中) 0 = ls_sync_status_3 の割 り 込みをデ ィ セーブル (同期中) 6 ls_sync_status_2_int_ctl 1 = ls_sync_status_2 の割 り 込みを イ ネーブル (同期中) 0 = ls_sync_status_2 の割 り 込みをデ ィ セーブル (同期中) RW 0 5 ls_sync_status_1_int_ctl 1 = ls_sync_status_1 の割 り 込みを イ ネーブル (同期中) 0 = ls_sync_status_1 の割 り 込みをデ ィ セーブル (同期中) RW 0 4 ls_sync_status_0_int_ctl 1 = ls_sync_status_0 の割 り 込みを イ ネーブル (同期中) 0 = ls_sync_status_0 の割 り 込みをデ ィ セーブル (同期中) RW 0 ls_sync_statusn_3_int_ctl 1 = ls_sync_status_3 が Low に遷移する と き に割 り 込みを イ ネーブル (同期外) 0 = ls_sync_status_3 が Low に遷移する と き に割 り 込みを デ ィ セーブル (同期外) RW 0 ls_sync_statusn_2_int_ctl 1 = ls_sync_status_2 が Low に遷移する と き に割 り 込みを イ ネーブル (同期外) 0 = ls_sync_status_2 が Low に遷移する と き に割 り 込みを デ ィ セーブル (同期外) RW 0 ls_sync_statusn_1_int_ctl 1 = ls_sync_status_1 が Low に遷移する と き に割 り 込みを イ ネーブル (同期外) 0 = ls_sync_status_1 が Low に遷移する と き に割 り 込みを デ ィ セーブル (同期外) RW 0 ls_sync_statusn_0_int_ctl 1 = ls_sync_status_0 が Low に遷移する と き に割 り 込みを イ ネーブル (同期外) 0 = ls_sync_status_0 が Low に遷移する と き に割 り 込みを デ ィ セーブル (同期外) RW 0 タ イプ デ フ ォル ト 3 2 1 0 ク ワ ッ ド 単位の PCS 制御レ ジ ス タ の詳細 表 8-46. SERDES 制御レ ジ ス タ QD_0A ビッ ト 名称 7 Internal use only 6 Reserved 5 TX_REFCK_SEL 4 Reserved 3 REFCK_RTERM 2 Reserved 記 述 RW 0 TxPLL 基準 ク ロ ッ ク選択 0 = REFCLKP/N 1 = FPGA コ ア RW 0 基準 ク ロ ッ ク入力バ ッ フ ァ で終端 0 = ハイ イ ン ピーダ ン ス 1 = 50Ω RW 1 1 REFCLK_OUT_SEL[1] 0 = refclk2fpga 出力デ ィ セーブル 1 = refclk2fpga 出力イ ネーブル 0 REFCLK_OUT_SEL[0] 0 = tx_refck_local 出力イ ネーブル 1 = tx_refck_local 出力デ ィ セーブル RW 0 RW 0 RW 0 注 : 基準 ク ロ ッ ク 選択制御信号については図 8-9 を参照 し て く だ さ い 8-86 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-47. SERDES 制御レ ジ ス タ QD_0B ビッ ト 名称 記 述 タ イプ デ フ ォル ト RW 0 RW 0 7 REFCK25X 1 = 内部高速ビ ッ ト ク ロ ッ ク は 25x 0 = REFCK_MODE を参照 6 BUS8BIT_SEL 1 = 8 ビ ッ ト バス幅を選択 0 = 10 ビ ッ ト バス幅を選択 5 Reserved RW 0 4 Reserved RW 0 3 Reserved RW 0 2 Reserved RW 0 RW 00 タ イプ デ フ ォル ト RW 00 タ イプ デ フ ォル ト RW 0 RW 0 タ イプ デ フ ォル ト 1:0 REFCK_MODE[1:0] REFCK25X = 0 の場合 : 00 = 内部高速ビ ッ ト ク ロ ッ クは 20x 01 = 内部高速ビ ッ ト ク ロ ッ クは 10x 10 = 内部高速ビ ッ ト ク ロ ッ クは 16x 11 = 内部高速ビ ッ ト ク ロ ッ クは 8x REFCLK25X = 1 の場合 : xx = 内部高速ビ ッ ト ク ロ ッ ク は 25x 表 8-48. PCS 制御レ ジ ス タ QD_0C ビッ ト 7:2 1:0 名称 記 述 Reserved CDR_LOL_SET[1:0] CDR ロ ッ クはずれ設定 ロ ッ ク アンロ ッ ク 00 = +/-1000ppm x2 +/-1500ppm x2 01 = +/-2000ppm x2 +/-2500ppm x2 10 = +/-4000ppm +/-7000ppm 11 = +/-300ppm +/-450ppm 表 8-49. PCS 制御レ ジ ス タ QD_0D ビッ ト 名称 7:6 Internal use only 5 Internal use only 記 述 4:3 PLL_LOL_SET[1:0] 00 01 10 11 = = = = +/+/+/+/- 1350ppm x2 2400ppm x2 6800ppm 400ppm 2:0 TX_VCO_CK_DIV[2:0] VCO 出力周波数選択 00x = 1 で分周 100 = 4 で分周 110 = 16 で分周 01x = 2 で分周 101 = 8 で分周 111 = 32 で分周 表 8-50. PCS 制御レ ジ ス タ QD_0E ビッ ト 7:0 名称 記 述 Internal use only 8-87 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-51. PCS 制御レ ジ ス タ QD_0F ビッ ト 名称 記 述 タ イプ デ フ ォル ト RO CR 0 RO CR 0 7 PLOL_INT_CTL 1 = PLOL ロ ッ ク はずれに対する割 り 込みイ ネーブル 0 = PLOL ロ ッ ク はずれに対する割 り 込みデ ィ セーブル 6 -PLOL_INT_CTL 1 = PLOL ロ ッ ク 時の割 り 込みイ ネーブル 0 = PLOL ロ ッ ク 時の割 り 込みデ ィ セーブル 5:0 Reserved ク ワ ッ ド 単位の リ セ ッ ト 及び ク ロ ッ ク 制御レ ジ ス タ の詳細 表 8-52. PCS 制御レ ジ ス タ QD_10 ビッ ト 名称 記 述 タ イプ デ フ ォル ト RW 1 7:4 Reserved 3 serdes_pd 0 = SERDES パワーダウン を アサー ト 2 serdes_rst 1 = SERDES リ セ ッ ト を アサー ト RW 0 1 quad_rst 1 = ク ワ ッ ド リ セ ッ ト を アサー ト RW 0 0 trst 1 = TX リ セ ッ ト RW 0 記 述 タ イプ デ フ ォル ト 記 述 タ イプ デ フ ォル ト 表 8-53. PCS 制御レ ジ ス タ QD_11 ビッ ト 7:0 名称 Reserved ク ワ ッ ド 単位の PCS ス テー タ ス レ ジ ス タ の詳細 表 8-54. PCS ス テー タ ス レ ジ ス タ QD_20 ビッ ト 名称 7:6 Reserved 5 ion_delay 0 = tri_ion から の遅延 さ れたグローバル resetn RO No 4 int_qd_out 1 = ク ワ ッ ド 単位の割 り 込みス テー タ ス RO No int_ch_out[3:0] 1 = チ ャ ネル単位の割 り 込みス テー タ ス RO No 3:0 表 8-55. PCS ス テー タ ス レ ジ ス タ QD_21 ビッ ト 名称 記 述 タ イプ デ フ ォル ト RO Yes 7 ls_sync_status_3 1 = sync_status_3 でア ラ ームを生成 0 = sync_status_3 でア ラ ームを生成 し ない 6 ls_sync_status_2 1 = sync_status_2 でア ラ ームを生成 0 = sync_status_2 でア ラ ームを生成 し ない RO Yes 5 ls_sync_status_1 1 = sync_status_1 でア ラ ームを生成 0 = sync_status_1 でア ラ ームを生成 し ない RO Yes 4 ls_sync_status_0 1 = sync_status_0 でア ラ ームを生成 0 = sync_status_0 でア ラ ームを生成 し ない RO Yes 3 ls_sync_statusn_3 1 = sync_status_3 が Low に遷移時にア ラ ームを生成 (同期外) 0 = sync_status_3 が Low に遷移時にア ラ ームを生成 し ない (同期外) RO Yes 2 ls_sync_statusn_2 1 = sync_status_2 が Low に遷移時にア ラ ームを生成 (同期外) 0 = sync_status_2 が Low に遷移時にア ラ ームを生成 し ない (同期外) RO Yes 1 ls_sync_statusn_1 1 = sync_status_1 が Low に遷移時にア ラ ームを生成 (同期外) 0 = sync_status_1 が Low に遷移時にア ラ ームを生成 し ない (同期外) RO Yes 0 ls_sync_statusn_0 1 = sync_status_0 が Low に遷移時にア ラ ームを生成 (同期外) 0 = sync_status_0 が Low に遷移時にア ラ ームを生成 し ない (同期外) RO Yes 8-88 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-56. PCS 割 り 込みス テー タ ス レ ジ ス タ QD_22 ビッ ト 名称 記 述 タ イプ デ フ ォル ト RO CR Yes 7 ls_sync_status_3_int 1 = sync_status_3 で割 り 込みを生成 0 = sync_status_3 で割 り 込みを生成 し ない 6 ls_sync_status_2_int 1 = sync_status_2 で割 り 込みを生成 0 = sync_status_2 で割 り 込みを生成 し ない RO CR Yes 5 ls_sync_status_1_int 1 = sync_status_1 で割 り 込みを生成 0 = sync_status_1 で割 り 込みを生成 し ない RO CR Yes 4 ls_sync_status_0_int 1 = sync_status_0 で割 り 込みを生成 0 = sync_status_0 で割 り 込みを生成 し ない RO CR Yes 3 ls_sync_statusn_3_int 1 = sync_status_3 が Low に遷移時に割 り 込みを生成 (同期外) 0 = sync_status_3 が Low に遷移時に割 り 込みを生成 し ない (同期外) RO CR Yes 2 ls_sync_statusn_2_int 1 = sync_status_2 が Low に遷移時に割 り 込みを生成 (同期外) 0 = sync_status_2 が Low に遷移時に割 り 込みを生成 し ない (同期外) RO CR Yes 1 ls_sync_statusn_1_int 1 = sync_status_1 が Low に遷移時に割 り 込みを生成 (同期外) 0 = sync_status_1 が Low に遷移時に割 り 込みを生成 し ない (同期外) RO CR Yes 0 ls_sync_statusn_0_int 1 = sync_status_0 が Low に遷移時に割 り 込みを生成 (同期外) 0 = sync_status_0 が Low に遷移時に割 り 込みを生成 し ない (同期外) RO CR Yes 表 8-57. PCS ス テー タ ス レ ジ ス タ QD_23 ビッ ト 7:0 名称 記 述 タ イプ デ フ ォル ト 記 述 タ イプ デ フ ォル ト Internal use only 表 8-58. PCS ス テー タ ス レ ジ ス タ QD_24 ビッ ト 7:0 名称 Internal use only ク ワ ッ ド 単位の SERDES ス テー タ ス レ ジ ス タ の詳細 表 8-59. SERDES ス テー タ ス レ ジ ス タ QD_25 ビッ ト タ イプ デ フ ォル ト 7 PLOL 1 = PLL ロ ッ クはずれ RO Yes 6 -PLOL 1 = PLL ロ ッ ク獲得 RO Yes 5:0 名称 記 述 Reserved 表 8-60. SERDES 割 り 込みス テー タ ス レ ジ ス タ QD_26 ビッ ト 名称 記 述 7 PLOL_INT 1 = PLOL で割 り 込み生成 0 = PLOL で割 り 込み生成 し ない 6 -PLOL_INT 1 = -PLOL で割 り 込み生成 0 = -PLOL で割 り 込み生成 し ない 5:0 タ イプ デ フ ォル ト RO CR Y RO CR Y タ イプ デ フ ォル ト Reserved 表 8-61. SERDES ス テー タ ス レ ジ ス タ QD_27 ビッ ト 7:0 名称 記 述 Reserved 8-89 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-62. SERDES ス テー タ ス レ ジ ス タ QD_28 ビッ ト 7:0 名称 記 述 タ イプ デ フ ォル ト Reserved 8-90 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド チ ャ ネルレ ジ ス タ の概要 表 8-63. チ ャ ネルの イ ン タ ーフ ェ イ ス ・ レ ジ ス タ マ ッ プ BA レ ジス タ名 D7 D6 D5 D4 D3 D2 D1 D0 チ ャ ネル単位の一般制御レ ジ ス タ 00 CH_00 01 CH_01 word_align_enable internal use only internal use only ge_an_enable rio_mode pcie_mode fc_mode uc_mode internal use only invert_tx 02 CH_02 pfifo_clr pcie_ei_en pcs_det_time_sel[1] pcs_det_time_sel[0] invert_rx rx_gear_mode tx_gear_mode rx_ch 03 CH_03 sb_bypass sb_pfifo_lp tx_ch internal use only enc_bypass internal use only tx_gear_bypass fb_loopback 04 CH_04 lsm_sel ilsm_en 05 CH_05 min_ipg_cnt[1] min_ipg_cnt[0] rx_gear_bypass ctc_bypass dec_bypass wa_bypass rx_sb_bypass sb_loopback match_4_enable match_2_enable 06 CH_06 cc_match_1[7] cc_match_1[6] cc_match_1[5] 07 CH_07 cc_match_2[7] cc_match_2[6] cc_match_2[5] cc_match_1[4] cc_match_1[3] cc_match_1[2] cc_match_1[1] cc_match_1[0] cc_match_2[4] cc_match_2[3] cc_match_2[2] cc_match_2[1] 08 CH_08 cc_match_3[7] cc_match_3[6] cc_match_2[0] cc_match_3[5] cc_match_3[4] cc_match_3[3] cc_match_3[2] cc_match_3[1] 09 CH_09 cc_match_4[7] cc_match_3[0] cc_match_4[6] cc_match_4[5] cc_match_4[4] cc_match_4[3] cc_match_4[2] cc_match_4[1] 0A CH_0A cc_match_4[0] cc_match_4[9] cc_match_4[8] cc_match_3[9] cc_match_3[8] cc_match_2[9] cc_match_2[8] cc_match_1[9] 0B CH_0B cc_match_1[8] udf_comma_mask[7] udf_comma_mask[6] udf_comma_mask[5] udf_comma_mask[4] udf_comma_mask[3] udf_comma_mask[2] udf_comma_mask[1] udf_comma_mask[0] 0C CH_0C udf_comma_a[7] udf_comma_a[6] udf_comma_a[5] udf_comma_a[4] udf_comma_a[3] udf_comma_a[2] udf_comma_a[1] udf_comma_a[0] 0D CH_0D udf_comma_b[7] udf_comma_b[6] udf_comma_b[5] udf_comma_b[4] udf_comma_b[3] udf_comma_b[2] udf_comma_b[1] udf_comma_b[0] 0E CH_0E udf_comma_a[9] udf_comma_a[8] udf_comma_b[9] udf_comma_b[8] udf_comma_mask[9] udf_comma_mask[8] 0F CH_0F cc_underrun_int_ctl cc_overrun_int_ctl fb_rx_fifo_error_int_ctl fb_tx_fifo_error_int_ctl rx_dco_ck_div[0] チ ャ ネル単位の SERDES 制御レ ジ ス タ 10 CH_10 req_en req_lvl_set rcv_dcc_en rate_sel[1] rate_sel[0] rx_dco_ck_div[2] rx_dco_ck_div[1] 11 CH_11 internal use only internal use only lb_ctl[1] lb_ctl[0] internal use only internal use only rterm_rx[1] rterm_rx[0] 12 CH_12 tdrv_amp[2] tdrv_amp[1] tdrv_amp[0] tdrv_pre_set[4] tdrv_pre_set[3] tdrv_pre_set[2] tdrv_pre_set[1] tdrv_pre_set[0] 13 CH_13 ldr_core2tx_sel internal use only internal use only internal use only internal use only 14 CH_14 tx_div11_sel tdrv_dat_sel[1] tdrv_dat_sel[0] tdrv_ppre_en rterm_tx[1] rterm_tx[0] rate_mode_tx tpwrup 15 CH_15 internal use only internal use only internal use only internal use only ldr_rx2core_en rx_refck_sel rate_mode_rx rpwrup 16 CH_16 rx_div11_sel rlos_hset[2] rlos_hset[1] rlos_hset[0] rlos_lset[2] rlos_lset[1] rlos_lset[0] 17 CH_17 pci_det_done_int_ctl rlos_lo_int_ctl -rlos_lo_int_ctl rlos_hi_int_ctl -rlos_hi_int_ctl rlol_int_ctl rlol_int_ctl rrst lane_rx_rst lane_tx_rst tx_f_clk_dis tx_h_clk_en rx_f_clk_dis rx_h_clk_en sel_sd_rx_clk cc_underrun cc_overrun fb_rx_fifo_error fb_tx_fifo_error prbs_error_cnt[4] prbs_error_cnt[3] prbs_error_cnt[2] prbs_error_cnt[1] prbs_error_cnt[0] チ ャ ネル単位の ク ロ ッ ク リ セ ッ ト ・ レ ジ ス タ 18 CH_18 19 CH_19 internal use only internal use only チ ャ ネル単位の一般ス テー タ ス レ ジ ス タ 20 CH_20 21 CH_21 22 CH_22 23 CH_23 24 CH_24 25 CH_25 prbs_error_cnt[7] prbs_error_cnt[6] fb_tx_fifo_error_int fb_rx_fifo_error_int ffs_ls_sync_status prbs_error_cnt[5] fb_rxrst_o wa_offset[3] wa_offset[2] wa_offset[1] wa_offset[0] cc_underrun_int cc_overrun_int fb_rx_fifo_error_int fb_tx_fifo_error_int cc_re_o cc_we_o fb_txrst_o チ ャ ネル単位の SERDES ス テー タ ス レ ジ ス タ 26 CH_26 pcie_det_done rlos_lo -rlos_lo 27 CH_27 internal use only internal use only internal use only internal use only 28 CH_28 internal use only internal use only internal use only internal use only internal use only 29 CH_29 internal use only internal use only internal use only internal use only internal use only 2A CH_2A pci_det_done_int rlos_lo_int -rlos_lo_int rlos_hi_int 2B CH_2B 2C CH_2C 8-91 rlos_hi -rlos_hi rlol -rlol cdr_traine_done pci_connect internal use only internal use only internal use only internal use only internal use only internal use only -rlos_hi_int rlol_int -rlol_int tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド チ ャ ネル単位の PCS 制御レ ジ ス タ の詳細 表 8-64. PCS 制御レ ジ ス タ CH_00 ビッ ト 名称 記 述 タ イプ デ フ ォル ト 7:4 Reserved 3 rio_mode 1 = RapidIO モー ド 選択 0 = 他のモー ド 選択 (10GbE, 1GbE) RW 0 2 pcie_mode 1 = PCI Express モー ド 選択 0 = 他のモー ド 選択 (RapidIO, 10GbE, 1GbE) RW 0 1 fc_mode 1 = Fibre Channel モー ド 選択 0 = 他のモー ド 選択 (PCI Express, RapidIO, 10GbE, 1GbE) RW 0 0 uc_mode 1 = ユーザ構成モー ド 選択 (G8B10B, 8BSER only, 10BSER only 0 = 他のモー ド 選択 (Fibre Channel, PCI Express, RapidIO, 10GbE, 1GbE) RW 0 表 8-65. PCS 制御レ ジ ス タ CH_01 ビッ ト 名称 記 述 タ イプ デ フ ォル ト 1 = 連続カ ン マア ラ イ メ ン ト を イ ネーブル 0 = 連続カ ン マア ラ イ メ ン ト をデ ィ セーブル RW 0 1 = GbE 自動ネゴ シ エーシ ョ ン を イ ネーブル 0 = GbE 自動ネゴ シ エーシ ョ ン をデ ィ セーブル RW 0 7 word_align_enable 6 Internal use only 5 Internal use only 4 ge_an_enable 3 Reserved 2 Internal use only 1 invert_tx 1 = 送信デー タ を反転 0 = 送信デー タ を反転 し ない RW 0 0 invert_rx 1 = 受信デー タ を反転 0 = 受信デー タ を反転 し ない RW 0 表 8-66. PCS 制御レ ジ ス タ CH_02 ビッ ト 名称 記 述 タ イプ デ フ ォル ト RW 0 7 pfifo_clr 1 = ク ワ ッ ド ・ レ ジ ス タ ビ ッ ト pfifo_clr_sel が 1 に設定 さ れた場合に PFIFO を ク リ ア。 こ の信号はイ ン タ ー フ ェ イ ス信号 pfifo_clr と OR 接続 さ れる 0 = 通常動作 6 pcie_ei_en 1 = PCI Express 電気的ア イ ド ルを イ ネーブル 0 = 通常動作 RW 0 pcs_det_time_sel[1:0] PCS 接続検出時間 11 = 16us 10 = 4us 01 = 2us 00 = 8us RW 0 3 rx_gear_mode 1 = 選択 し たチ ャ ネルの受信パスで 2:1 ギア リ ング を イ ネーブル 0 = 選択 し たチ ャ ネルの受信パスで 2:1 ギア リ ング をデ ィ セーブル 2 tx_gear_mode 1 = 選択 し たチ ャ ネルの送信パスで 2:1 ギア リ ング を イ ネーブル 0 = 選択 し たチ ャ ネルの送信パスで 2:1 ギア リ ング をデ ィ セーブル RW 0 1 rx_ch 1 = 受信出力を テ ス ト ・ キ ャ ラ ク タ ラ イ ズ用ピ ン でモニ タ 可能。 テ ス ト ・ キ ャ ラ ク タ ラ イ ズ ・ モー ド (PCS 制御レ ジス タ QD_03 のビ ッ ト 6) を '1' に設定する必要がある RW 0 0 tx_ch 1 = 送信 PCS 入力を テ ス ト ・ キ ャ ラ ク タ ラ イ ズ用ピ ンから 供給。 テ ス ト ・ キ ャ ラ ク タ ラ イ ズ ・ モー ド を イ ネーブルにする必要がある RW 0 5:4 8-92 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-67. PCS 制御レ ジ ス タ CH_03 ビッ ト 名称 7 Reserved 6 sb_bypass 5 sb_pfifo_lp 4 internal use only 3 enc_bypass 2 internal use only 1 tx_gear_bypass 0 internal use only 記 述 タ イプ デ フ ォル ト 1 = TX SERDES ブ リ ッ ジ をバイパス 0 = 通常動作 RW 0 1 = パラ レル FIFO を経由 し た RX か ら TX へのパラ レルルー プバ ッ ク を イ ネーブル 0 = 通常動作 RW 0 RW 0 1 = 8b10b エ ン コ ーダ をバイパス 0 = 通常動作 1 = PCS TX ギア をバイパス 0 = 通常動作 表 8-68. PCS 制御レ ジ ス タ CH_04 ビッ ト 名称 記 述 タ イプ デ フ ォル ト RW 0 7 lsm_sel 1 = 外部 RX リ ン ク ス テー ト マシ ン選択 0 = 内部 RX リ ン ク ス テー ト マシ ン選択 6 ilsm_en 1 = リ ン ク ス テー ト マシ ン を強制的に イ ネーブル 0 = リ ン ク ス テー ト マシ ン を強制的にデ ィ セーブル RW 0 5 rx_gear_bypass 1 = PCS RX ギア をバイパス 0 = 通常動作 RW 0 4 ctc_bypass 1 = ク ロ ッ ク ト レ ラ ン ス補償をバイパス 0 = 通常デー タ を選択 RW 0 3 dec_bypass 1 = 8b10b デ コ ーダ をバイパス 0 = 通常動作 2 wa_bypass 1 = ワー ド ア ラ イ メ ン ト をバイパス 0 = 通常動作 RW 0 1 rx_sb_bypass 1 = RX SERDES ブ リ ッ ジ をバイパス 0 = 通常動作 RW 0 0 sb_loopback 1 = ブ リ ッ ジ内で TX から RX へ PCS のループバ ッ ク を イ ネーブル 0 = 通常動作 RW 0 表 8-69. PCS 制御レ ジ ス タ CH_05 ビッ ト 7:6 名称 記 述 タ イプ デ フ ォル ト min_ipg_cnt[1:0] 強制する最小 IPG RW 11 5 match_4_enable 1 = 4 キ ャ ラ ク タ ・ スキ ッ プ マ ッ チ ング を イ ネーブル (4, 3, 2, 1 マ ッ チ を使用) RW 0 4 match_2_enable 1 = 2 キ ャ ラ ク タ ・ スキ ッ プ マ ッ チ ング を イ ネーブル (4, 3 マ ッ チ を使用) RW 1 3:0 Reserved 表 8-70. PCS 制御レ ジ ス タ CH_06 ビッ ト 7:0 名称 cc_match_1[7:0] 記 述 ユーザ定義 ク ロ ッ ク補償スキ ッ プパ タ ーン 1 の下位ビ ッ ト 8-93 タ イプ デ フ ォル ト RW 8’h00 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-71. PCS 制御レ ジ ス タ CH_07 ビッ ト 7:0 名称 記 述 cc_match_2[7:0] ユーザ定義の ク ロ ッ ク補償スキ ッ プパ タ ーン 2 の下位ビ ッ ト タ イプ デ フ ォル ト RW 8’h00 表 8-72. PCS 制御レ ジ ス タ CH_08 ビッ ト 7:0 名称 記 述 cc_match_3[7:0] ユーザ定義の ク ロ ッ ク補償スキ ッ プパ タ ーン 3 の下位ビ ッ ト タ イプ デ フ ォル ト RW 8’hBC タ イプ デ フ ォル ト RW 8’h50 表 8-73. PCS 制御レ ジ ス タ CH_09 ビッ ト 7:0 名称 記 述 cc_match_4[7:0] ユーザ定義の ク ロ ッ ク補償スキ ッ プパ タ ーン 4 の下位ビ ッ ト 表 8-74. PCS 制御レ ジ ス タ CH_0A ビッ ト 名称 記 述 タ イプ デ フ ォル ト RW 2’b01 7:6 cc_match_4[9:8] ユーザ定義の ク ロ ッ ク補償スキ ッ プパ タ ーン 4 の上位ビ ッ ト [9] = デ ィ スパ リ テ ィ ・ エ ラ ー [8] = K コ ン ト ロール 5:4 cc_match_3[9:8] ユーザ定義の ク ロ ッ ク補償スキ ッ プパ タ ーン 3 の上位ビ ッ ト [9] = デ ィ スパ リ テ ィ ・ エ ラ ー [8] = K コ ン ト ロール RW 2’b01 3:2 cc_match_2[9:8] ユーザ定義の ク ロ ッ ク補償スキ ッ プパ タ ーン 2 の上位ビ ッ ト [9] = デ ィ スパ リ テ ィ ・ エ ラ ー [8] = K コ ン ト ロール RW 2’b00 1:0 cc_match_1[9:8] ユーザ定義の ク ロ ッ ク補償スキ ッ プパ タ ーン 1 の上位ビ ッ ト [9] = デ ィ スパ リ テ ィ ・ エ ラ ー [8] = K コ ン ト ロール RW 2’b00 表 8-75. PCS 制御レ ジ ス タ CH_0B ビッ ト 7:0 名称 udf_comma_mask[7:0] 記 述 ユーザ定義カ ン ママス クの下位ビ ッ ト タ イプ デ フ ォル ト RW 8’hFF タ イプ デ フ ォル ト RW 8’h83 タ イプ デ フ ォル ト RW 8’h7C 表 8-76. PCS 制御レ ジ ス タ CH_0C ビッ ト 7:0 名称 udf_comma_a[7:0] 記 述 ユーザ定義カ ン マキ ャ ラ ク タ ‘a’ の下位ビ ッ ト 表 8-77. PCS 制御レ ジ ス タ CH_0D ビッ ト 7:0 名称 udf_comma_b[7:0] 記 述 ユーザ定義カ ン マキ ャ ラ ク タ ‘b’ の下位ビ ッ ト 8-94 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-78. PCS 制御レ ジ ス タ CH_0E ビッ ト タ イプ デ フ ォル ト 7:6 udf_comma_a[9:8] 名称 ユーザ定義カ ン マキ ャ ラ ク タ ‘a’ の上位ビ ッ ト 記 述 RW 2’b10 5:4 udf_comma_b[9:8] ユーザ定義カ ン マキ ャ ラ ク タ ‘b’ の上位ビ ッ ト RW 2’b01 3:2 udf_comma_mask[9:8] ユーザ定義カ ン ママス クの上位ビ ッ ト RW 2’b111 1:0 Reserved 1. 多 く の用途ではカ ン マキ ャ ラ ク タ と し て K28.5 が使用 さ れます。 マ ス ク のデフ ォ ル ト 値は 1111111111 です。 G8B10B モー ド では任意のカ ン マ を使用で き 、 マ ス ク を 1111111100 にす る と 3 つのカ ン マキ ャ ラ ク タ K28.1、 28.5、 28.7 を全て検出で き ます。 表 8-79. PCS 割 り 込み制御レ ジ ス タ CH_0F ビッ ト 7:4 名称 記 述 タ イプ デ フ ォル ト Reserved 3 cc__underrun_int_ctl 1 = cc_underrun 割 り 込みを イ ネーブル 0 = cc_underrun 割 り 込みをデ ィ セーブル RW 0 2 cc_overrun_int_ctl 1 = cc_overrun 割 り 込みを イ ネーブル 0 = cc_overrun 割 り 込みをデ ィ セーブル RW 0 1 fb_rx_fifo_error_int_ctl 1 = 受信 FPGA ブ リ ッ ジ FIFO のエ ン プ テ ィ / フル条 件での割 り 込みを イ ネーブル RW 0 0 fb_tx_fifo_error_int_ctl 1 = 送信 FPGA ブ リ ッ ジ FIFO のエ ン プ テ ィ / フル条 件での割 り 込みを イ ネーブル RW 0 チ ャ ネル単位の SERDES 制御レ ジ ス タ の詳細 特に明記 し ない限 り 、 SERDES 制御レ ジ ス タ への ラ イ ト 後は、 全チ ャ ネルを リ セ ッ ト す る 必要があ り ます。 表 8-80. SERDES 制御レ ジ ス タ CH_10 ビッ ト 名称 記 述 タ イプ デ フ ォル ト RW 0 7 REQ_EN 1= 受信イ コ ラ イザを イ ネーブル 0 = 受信イ コ ラ イザをデ ィ セーブル 6 REQ_LVL_SET イ コ ラ イザのレ ベル設定 1 = ロ ング リ ーチ用イ コ ラ イザ 0 = 中距離ルー ト 用のイ コ ラ イザ RW 0 5 RCV_DCC_EN 1 = レ シーバ DC 結合を イ ネーブル 0 = レ シーバ AC 結合を イ ネーブル RW 0 4:3 RATE_SEL[1:0] イ コ ラ イザの極配置選択 : 00 = 高域周波数レ ン ジ 01 = 中域周波数レ ン ジ 10 = 低域周波数レ ン ジ 11 = 予約済み RW 00 2:0 RX_DCO_CK_DIV[2:0] VCO 出力周波数選択 : 00x = 1 で分周 01x = 2 分周 100 = 4 分周 101 = 8 分周 110 = 16 分周 111 = 32 分周 RW 000 8-95 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-81. SERDES 制御レ ジ ス タ CH_11 ビッ ト 名称 7:4 LB_CTL[3:0] 3:2 Reserved 1:0 RTERM_RX[1:0] 記 述 タ イプ デ フ ォル ト ループバ ッ ク制御 : [3] = internal use only [2] = internal use only [1] = slb_eq2t_en、 イ コ ラ イザから ド ラ イバへのシ リ アル ・ ループバ ッ ク を イ ネーブル [0] = slb_t2r_en、 TX から RX へのシ リ アル ・ ループバ ッ ク を イ ネーブル R/W 4'h0 00 = HiZ, 01 = 50 Ohm, 10 = 60 Ohm, 11 = 75 Ohm R/W 2'b01 表 8-82. SERDES 制御レ ジ ス タ CH_12 ビッ ト 7:5 4:0 名称 タ イプ デ フ ォル ト TDRV_AMP[2:0] CML ド ラ イバの振幅設定 : 000 = 0% 001 = +8% 010 = +11% 011 = +20% 100 = -17% 101 = -12% 110 = -10% 111 = -6% 記 述 RW 000 TDRV_PRE_SET[4:0] [2:0] TX ド ラ イバ ・ プ リ エ ン フ ァ シス ・ レ ベル設定 000 = 0% 001 = 5% 010 = 12% 011 = 18% 100 = 25% 101 = 33% 110 = 40% 111 = 48% [4:3] 微調整 (上記 3 ビ ッ ト の値に加え ら れる) 00 = 0% 01 = 2% 10 = 3% 11 = 5% RW 5’b00000 表 8-83. SERDES 制御レ ジ ス タ CH_13 ビッ ト タ イプ デ フ ォル ト 7 ldr_core2tx_sel 1 = コ アから の低速シ リ アルデー タ を選択 RW 0 6 pden_sel 予約済み RW 0 5:4 Reserved TDRV_AMP_BOOST TX ド ラ イ ブ振幅ブース ト 0 = 0% 1 = -25% RW 0 TDRV_DRVCUR_SET[2:0] 000 010 100 110 RW 100 3 2:0 名称 記 述 = = = = 48% 001 = 30% 60% 011 = 50% 0% 101 = -7% 19% 111 = 8% 8-96 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-84. SERDES 制御レ ジ ス タ CH_14 ビッ ト 名称 記 述 タ イ プ デ フ ォル ト TX_DIV11_SEL 0 = 送信に フ ルレー ト を選択 (SMPTE、 HD) 1 = 送信に 11 分周を選択 (SMPTE、 SD) RW 0 TDRV_DAT_SEL [1:0] ド ラ イバ出力選択 : 00 = シ リ ア ラ イザから ド ラ イバへの多重化 さ れたデー タ (通常動作) 11 = slb_eq2t_en= '1' の場合に、 イ コ ラ イザから ド ラ イバへのシ リ アル ・ ループバ ッ ク RW 00 4 TDRV_PRE_EN 1 = TX ド ラ イバ ・ プ リ エ ン フ ァ シス を イ ネーブル 0 = TX ド ラ イバ ・ プ リ エ ン フ ァ シス をデ ィ セーブル RW 0 3:2 RTERM_TX[1:0] TX 終端抵抗の選択。 PCI Express モー ド 選択の場合はデ ィ セーブル 0x = 5K Ω 10 = 50 Ω 11 = 75 Ω RW 10 1 RATE_MODE_TX 0 = 送信に フ ルレー ト を選択 1 = 送信にハー フ レー ト を選択 RW 0 0 tpwrup 0 = 送信チ ャ ネルをパワーダウン 1 = 送信チ ャ ネルをパワーア ッ プ RW 0 7 6:5 表 8-85. SERDES 制御レ ジ ス タ CH_15 ビッ ト 名称 記 述 タ イプ デ フ ォル ト 7 Internal use only 6 Internal use only 5 Internal use only 4 Internal use only 3 ldr_rx2core_en 1 = 高速受信入力から FPGA 内の低速 SERDES への配線用にバウ ン ダ リ スキ ャ ン入力パス を イ ネーブル (OOB 用途) RW 0 2 rx_refck_sel RX CDR 基準ク ロ ッ ク 選択 0 = REFCLKP/N 1 = FPGA コ ア RW 0 1 RATE_MODE_RX 0 = 受信に フ ルレー ト を選択 1 = 受信にハー フ レー ト を選択 RW 0 0 rpwrup 0 = 受信チ ャ ネルをパワーダウン 1 = 受信チ ャ ネルをパワーア ッ プ RW 0 タ イプ デ フ ォル ト 表 8-86. SERDES 制御レ ジ ス タ CH_16 ビッ ト 名称 記 述 7 RX_DIV11_SEL 0 = 受信に フ ルレー ト を選択 (SMPTE、 HD) 1 = 受信に 11 分周を選択 (SMPTE、 SD) RW 0 6 rlos_sel 1 = rlos_hi を選択 0 = rlos_lo を選択 RW 0 RW 000 RW 010 5:3 2:0 Reserved RLOS_LSET[2:0] 小振幅に対する LOS 検出基準電流調整 000 = デ フ ォル ト 010 = +15% 011 = +25% 8-97 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-87. SERDES 割 り 込み制御レ ジ ス タ CH_17 ビッ ト 名称 記 述 タ イプ デ フ ォル ト pci_det_done_int_ctl 1 = PCI Express フ ァ ーエ ン ド ・ レ シーバ検出割 り 込みを イ ネーブ ル RW 0 5 rlos_lo_int_ctl 1 = 入力レ ベルがプ ログ ラ ム さ れた LOW 閾値 (rlos_set を使用) を下回 っ た場合に RX LOS 割 り 込みを イ ネーブル RW 0 4 -rlos_lo_int_ctl 1 = 入力レ ベルがプ ログ ラ ム さ れた LOW 閾値 と 等 し いか上回っ た 場合に RX LOS 割 り 込みを イ ネーブ RW 0 3 Reserved RW 0 2 Reserved RW 0 1 rlol_int_ctl 1 = レ シーバ LOL 割 り 込みを イ ネーブル RW 0 0 -rlol_int_ctl 1 = レ シーバが LOL から復帰 し た と き に割 り 込みを イ ネーブル RW 0 7 Reserved 6 チ ャ ネル単位の リ セ ッ ト 及び ク ロ ッ ク 制御レ ジ ス タ の詳細 表 8-88. リ セ ッ ト 及び ク ロ ッ ク 制御レ ジ ス タ CH_18 ビッ ト 名称 7 Internal use only 6 Internal use only 5:3 記 述 タ イプ デ フ ォル ト Reserved 2 rrst 1 = RX リ セ ッ ト RW 0 1 lane_rx_rst 1 = 受信ロ ジ ッ ク に リ セ ッ ト 信号を アサー ト RW 0 0 lane_tx_rst 1 = 送信ロ ジ ッ ク に リ セ ッ ト 信号を アサー ト RW 0 タ イプ デ フ ォル ト 表 8-89. リ セ ッ ト 及び ク ロ ッ ク 制御レ ジ ス タ CH_19 ビッ ト 名称 記 述 7:5 Reserved 4 tx_f_clk_dis 1 = tx_f_clk デ ィ セーブル RW 0 3 tx_h_clk_en 1 = tx_h_clk イ ネーブル RW 0 2 rx_f_clk_dis 1 = rx_f_clk デ ィ セーブル RW 0 1 rx_h_clk_en 1 = rx_h_clk イ ネーブル RW 0 0 sel_sd_rx_clk 1 = sd_rx_clk を選択 RW 0 チ ャ ネル単位の PCS ス テー タ ス レ ジ ス タ の詳細 表 8-90. PCS ス テー タ ス レ ジ ス タ CH_20 ビッ ト 名称 記 述 タ イプ デ フ ォル ト 7:5 Reserved 4 pfifo_error 1 = パラ レル FIFO エ ラ ー、 0 = パラ レル FIFO エ ラ ーな し RO Yes 3 cc_underrun 1 = CTC FIFO ア ン ダー ラ ン 0 = CTC FIFO ア ン ダー ラ ン な し RO Yes 2 cc_overrun 1 = CTC FIFO オーバー ラ ン 0 = CTC FIFO オーバー ラ ン な し RO Yes 1 fb_rx_fifo_error 1 = FPGA ブ リ ッ ジ (FB) RX FIFO オーバー ラ ン 0 = FB RX FIFO オーバー ラ ン な し RO Yes 0 fb_tx_fifo_error 1 = FPGA ブ リ ッ ジ (FB) TX FIFO オーバー ラ ン 0 = FB TX FIFO オーバー ラ ン な し RO Yes 8-98 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-91. PCS ス テー タ ス レ ジ ス タ CH_21 ビッ ト 7:0 名称 記 述 PRBS エ ラ ーのカ ウン ト 数。 リ ー ド する と ク リ ア さ れる。 フ リ ッ プ フ ロ ッ プ で保持 さ れる prbs_errors1 タ イプ デ フ ォル ト RO CR No タ イプ デ フ ォル ト RO No タ イプ デ フ ォル ト 1. 組み込み PRBS 生成器及びチ ェ ッ カは ラ テ ィ ス社内用途です 表 8-92. PCS ス テー タ ス レ ジ ス タ CH_22 ビッ ト 名称 7:4 Reserved 3:0 wa_offset[3:0] 記 述 ワー ド ア ラ イ ナのオ フ セ ッ ト 表 8-93. PCS 割 り 込みス テー タ ス レ ジ ス タ CH_23 ビッ ト 7:4 名称 記 述 Reserved 3 cc_underrun_int 1 = cc_underrun 割 り 込みを生成 0 = cc_underrun 割 り 込みを生成 し ない RO CR Yes 2 cc_overrun_int 1= cc_overrun 割 り 込みを生成 0 = cc_overrun 割 り 込みを生成 し ない RO CR Yes 1 fb_rx_fifo_error_int 1 = fb_rx_fifo_error 割 り 込みを生成 0 = fb_rx_fifo_error 割 り 込みを生成 し ない RO CR Yes 0 fb_tx_fifo_error_int 1 = fb_tx_fifo_error 割 り 込みを生成 0 = fb_tx_fifo_error 割 り 込みを生成 し ない RO CR Yes タ イプ デ フ ォル ト 表 8-94. PCS ス テー タ ス レ ジ ス タ CH_24 ビッ ト 名称 記 述 7 Reserved 6 ffs_ls_sync_status 1 = リ ン ク ス テー ト マシ ン LSM は同期 し ている 0 = LSM は同期外 し ていない RO No 5 fb_rxrst_o 1 = FPGA ブ リ ッ ジ RX 通常動作 0 = FPGA ブ リ ッ ジ RX リ セ ッ ト RO No 4 fb_txrst_o 1 = FPGA ブ リ ッ ジ TX 通常動作 0 = FPGA ブ リ ッ ジ TX リ セ ッ ト RO No 3 Reserved 2 Reserved 1 cc_re_o 1 = CTC FIFO リ ー ド イ ネーブル 0 = CTC FIFO リ ー ド デ ィ セーブル RO No 0 cc_we_o 1 = CTC FIFO ラ イ ト イ ネーブル 0 = CTC FIFO ラ イ ト デ ィ セーブル RO No タ イプ デ フ ォル ト 表 8-95. PCS ス テー タ ス レ ジ ス タ CH_25 ビッ ト 7 名称 記 述 Reserved 8-99 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド チ ャ ネル単位の SERDES ス テー タ ス レ ジ ス タ の詳細 表 8-96. SERDES ス テー タ ス レ ジ ス タ CH_26 ビッ ト 名称 記 述 タ イプ デ フ ォル ト 7 Reserved 6 pci_det_done 1 = ト ラ ン ス ミ ッ タ がレ シーバ検出プ ロ セス を未完了 0 = ト ラ ン ス ミ ッ タ がレ シーバ検出プ ロ セス を完了 RO CR Yes 5 rlos_lo 1 = レ シーバで検出 し た入力信号がプ ログ ラ ム さ れた LOW 閾値よ り も小 さ い こ と を示す RO CR Yes 4 -rlos_lo 1 = レ シーバで検出 し た入力信号がプ ログ ラ ム さ れた LOW 閾値 と 等 し いか大き い こ と を示す RO CR Yes 3 Reserved RO CR Yes 2 Reserved RO CR Yes 1 rlol 1 = がデー タ にロ ッ ク し ていない こ と を示す。 CDR は基準ク ロ ッ ク に ロ ッ ク し てい る RO Yes 0 -rlol 1 = がデー タ にロ ッ ク し ている こ と を示す RO Yes 表 8-97. SERDES ス テー タ ス レ ジ ス タ CH_27 ビッ ト 名称 記 述 7 Internal use only 6 Internal use only 5 Internal use only 4 Internal use only 3:2 1 0 タ イプ デ フ ォル ト Reserved cdr_trained 1 = CDR ト レーニ ン グが完了 し た こ と を示す RO No pci_connect 1 = ト ラ ン ス ミ ッ タ がレ シーバを検出 し た 0 = ト ラ ン ス ミ ッ タ がレ シーバを検出 し ていない RO No 記 述 タ イプ デ フ ォル ト 記 述 タ イプ デ フ ォル ト 表 8-98. SERDES ス テー タ ス レ ジ ス タ CH_28 ビッ ト 7:0 名称 Internal use only 表 8-99. SERDES ス テー タ ス レ ジ ス タ CH_29 ビッ ト 7:0 名称 Internal use only 8-100 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-100. SERDES 割 り 込みス テー タ ス レ ジ ス タ CH_2A ビッ ト 名称 記 述 タ イプ デ フ ォル ト 7 Reserved 6 pci_det_done_int 1 = pci_det_done で生成 さ れた割 り 込み RO CR Yes 5 rlos_lo_int 1 = rlos_lo で生成 さ れた割 り 込み RO CR Yes 4 -rlos_lo_int 1 = -rlos_lo で生成 さ れた割 り 込み 3 Reserved 2 Reserved 1 rlol_int 1 = rlol で生成 さ れた割 り 込み 0 -rlol_int 1 = -rlol で生成 さ れた割 り 込み RO CR Yes RO CR Yes RO CR Yes RO CR Yes RO CR Yes 記 述 タ イプ デ フ ォル ト 記 述 タ イプ デ フ ォル ト 表 8-101. PCS ス テー タ ス レ ジ ス タ CH_2B ビッ ト 7 名称 Reserved 表 8-102. PCS ス テー タ ス レ ジ ス タ CH_2C ビッ ト 7 名称 Reserved 8-101 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 付録 B. 各種規格用の レ ジ ス タ 設定 各種規格用チ ャ ネル単位の レ ジ ス タ 設定 表 8-103. 各種規格用のチ ャ ネル単位の レ ジ ス タ 設定 キャ ラ ク タ 1GbE 10GbE K23.7 (F7) Carrier extend K27.7 (FB) SOP K28.0 (1C) 1GFC PCI-Ex RapidIO PAD ST Start TLP A (align) SKIP R SKIP SC K28.1 (3C) FTS K28.2 (5C) SoS Start DLP K28.3 (7C) ALIGN A IDLE PD COMMA (used for alignment) K K28.4 (9C) SEQ +D5.6 or D16.2 = IDLE SYNC K K29.7 (FD) EOP T END K30.7 (FE) ERR ERR END BAD K28.5 (BC) +D21.4+D21.5 +D21.5 = IDLE K28.6 (DC) K28.7 (FC) R (skip) 各種規格用 ク ワ ッ ド 単位の レ ジ ス タ 設定 表 8-104. 各種規格用の ク ワ ッ ド 単位の レ ジ ス タ 設定 レジス タ 1GbE 10GbE 1G, 2G FC PCI-Ex 1x PCI-Ex 4x RapidIO 1x RapidIO 4x comma_a_lo hex 03 hex 03 hex 03 hex 03 hex 03 hex 03 hex 03 comma_b_lo hex FC hex FC hex FC hex FC hex FC hex FC hex FC comma_mask_lo hex 7F hex 7F hex 7F hex 7F hex 7F hex 7F hex 7F 8-102 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 付録 C. 属性の ク ロ ス リ フ ァ レ ン ス一覧表 表 8-105. 付録 C. 属性の ク ロ ス リ フ ァ レ ン ス一覧表 独立属性名 QUAD_MODE 依存する属性名 {Qn_REFCK_NQ_EN}8 CHn_PROTOCOL {10G_MODE, CHn_PROT_MODE, CHn_RX_DET, CHn_GE_AN_EN} {QD_00[4], GIGE :{0, CH_00[3:0], 0000,00,1} FC :{0,0010,00,0} CH_02[5:4], XAUI :{1,0000,00,0} CH_01[4]} SRIO :{0,1000,00,0} PCIE :{0,0100,00,0} SDI :{0,0001,00,0} G8B10B :{0,0001,00,0} 10BSER :{0,0001,00,0} 8BSER :{0,0001,00,0} CPRI :{0,0001,00,0} OBSAI :{0,0001,00,0} CHn_MODE {CHn_TXPWDNB, CHn_RXPWDNB} RXTX RXONLY TXONLY DISABLED :{11} :{01} :{10} :{00} {CH_14[0], CH_15[0]} TX_DATARATE_RANGE {PLL_DIV} LOWLOW LOW MEDLOW MED MEDHIGH HIGH :{110} :{101} :{100} :{010} :{010} :{000} {QD_0D[2:0]} CHn_RX_DATARATE_ RANGE {CHn_CDR_DIV} LOWLOW LOW MEDLOW MED MEDHIGH HIGH :{110} :{101} :{100} :{010} :{000} :{000} {CH_10[2:0]} REFCK_MULT {REFCK25X, REFCK_MODE} 8X :{0,11} 10X:{0,01} 16X:{0,10} 20X:{0,00} 25X:{1,00} {QD_0b[7], QD_0b[1:0]} CHn_RX_DATA_RATE {CHn_RX_RATE_MODE, CHn_RX_DIV11} FULL :{00} DIV2 :{10} DIV11:{01} {CH_15[1], CH_16[7]} CHn_TX_DATA_RATE {CHn_TX_RATE_MODE, CHn_TX_DIV11} FULL :{00} DIV2 :{10} DIV11:{01} {CH_14[1], CH_14[7]} CHn_TX_DATA_WIDTH {CHn_TXCLKF, CHn_TXCLKH, CHn_TX_GEAR} 8 :{0,1,0} 10:{0,1,0} 16:{0,1,1} 20:{0,1,1} {CH_19[4], CH_19[3], CH_02[2]} CHn_RX_DATA_WIDTH {CHn_RXCLKF, CHn_RXCLKH, CHn_RX_GEAR} 8 :{0,0,0} 10:{0,0,0} 16:{1,1,1} 20:{1,1,1} {CH_19[2], CH_19[1], CH_02[3]} CHn_TX_FIFO DISABLED:{1} ENABLED :{0} {CH_03[1]} CHn_RX_FIFO DISABLED:{1} ENABLED :{0} {CH_04[5]} SINGLE MASTER SLAVE SLAVE_END 8-103 属性値 :{0} :{1} :{1} :{0} レ ジス タ マ ッ プ {QD_0b[2]} tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-105. 付録 C. 属性の ク ロ ス リ フ ァ レ ン ス一覧表 (Continued) 独立属性名 依存する属性名 {TXREFCK_NQ_SEL, TXREFCK_SEL} 属性値 REFCLK_EXT :{0,0} REFCLK_CORE:{0,1} REFCLK_NQ :{1,0}8 レ ジス タ マ ッ プ {QD_0B[3], QD_0A[5]} CHn_CDR_SRC {RXREFCK_NQ_SEL, CHn_RXREFCK_SEL, CHn_TRAIN_EN, CHn_TRAIN_DIV } REFCLK_EXT :{0,0,0,0} REFCLK_CORE:{0,1,0,0} REFCLK_NQ :{1,0,0,0}8 TRAIN_DIV4 :{0,0,1,0}8 TRAIN_DIV8 :{0,0,1,1}8 {QD_0B[4], CH_15[2], CH_15[7], CH_15[6]} CHn_TDRV7 {CHn_TDRV_AMP, CHn_TDRV_DRVCUR_SET, CHn_TDRV_AMP_BOOST} -4: -3: -2: -1: 0: 1: 2: 3: 4: {CH_12[7:5], CH_13[2:0], CH_13[3]} PLL_SRC {110,100,1} {100,101,0} {100,100,0} {101,100,0} {000,100,0} {001,100,0} {011,100,0} {100,000,0} {000,000,0} {CHn_TDRV_AMP, CHn_TDRV_DRVCUR_SET, (for PCI Express Protocol only) CHn_TDRV_AMP_BOOST, CHn_TDRV_PRE_EN, CHn_TDRV_PRE_SET} 2: {100,000,0,1,00101} {CH_12[7:5], CH_13[2:0], CH_13[3], CH_14[4], CH_12[4:0]} CHn_TX_PRE DISABLED:{0,00000} 0:{1,00000} 1:{1,00001} 2:{1,00010} 3:{1,00011} 4:{1,00100} 5:{1,00101} 6:{1,00110} 7:{1,00111} {CH_14[4], CH_12[4:0]} 50:{10} 75:{11} 5K:{0X} {CH_14[3:2]} CHn_TDRV {CHn_TDRV_PRE_EN, CHn_TDRV_PRE_SET} CHn_RTERM_TX CHn_RX_EQ {CHn_REQ_EN, CHn_REQ_LVL_SET, CHn_RATE_SEL} DISABLED :{0,0,00} MID_LOW :{1,0,10} MID_MED :{1,0,01} MID_HIGH :{1,0,00} LONG_LOW :{1,1,10} LONG_MED :{1,1,01} LONG_HIGH:{1,1,00} {CH_10[7], CH_10[6], CH_10[4:3]} CHn_RTERM_RX {CHn_RX_RTERM} 50 :{01} 60 :{10} 75 :{11} HIGH:{00} {CH_11[1:0]} AC:{0} DC:{1} {CH_10[5]} 0:{0000} 1:{0001} 2:{0010} 3:{0011} 4:{0100} 5:{0101} 6:{0110} 7:{0111} {mc1_ser_ctl_chN[75], CH_16[2:0]} 50:{1} 2K:{0} {QD_0A[3]} CHn_RX_DCC CHn_LOS_THRESHOLD_LO1 PLL_TERM {CHn_RLOS_E} 8-104 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-105. 付録 C. 属性の ク ロ ス リ フ ァ レ ン ス一覧表 (Continued) 独立属性名 依存する属性名 属性値 レ ジス タ マ ッ プ {QD_0A[4]} PLL_DCC AC:{0} DC:{1} PLL_LOL_SET 0:{00} 1:{01} 2:{10} 3:{11} {QD_0D[4:3]} CHn_TX_SB {CHn_TXPOL, CHn_TXSBBYP} DISABLED:{0,0} ENABLED :{1,0} {CH_01[1], CH_03[6]} CHn_RX_SB {CHn_RXPOL, CHn_RXSBBYP} DISABLED:{0,0} ENABLED :{1,0} {CH_01[0], CH_04[1]} CHn_TX_8B10B ENABLED :{0} DISABLED:{1} {CH_03[3]} CHn_RX_8B10B ENABLED :{0} DISABLED:{1} {CH_04[3]} CHn_COMMA_A Note 2 {QD_0C[0:7], QD_0E[6:7]} CHn_COMMA_B Note 2 {QD_0D[0:7], QD_0E[4:5]} CHn_COMMA_M Note 2 {QD_0B[0:7], QD_0E[2:3]} CHn_RXWA DISABLED:{1} ENABLED :{0} {CH_04[2]} CHn_ILSM DISABLED:{1} ENABLED :{0} {CH_04[7]} ENABLED :{0,0} DISABLED{1,1} {CH_19[0] , CH_04[4]} CHn_CC_MATCH1 Note 2 {QD_0A[1:0], CH_06[7:0]} CHn_CC_MATCH2 Note 2 {QD_0A[3:2], CH_07[7:0]} CHn_CC_MATCH3 Note 2 {QD_0A[5:4], CH_08[7:0]} CHn_CC_MATCH4 Note 2 {QD_0A[7:6], QD_09[7:0]} 1:{0,0} 2:{1,0} 4:{0,1} {CH_05[4], CH_05[5]} 0:{00} 1:{01} 2:{10} 3:{11} {CH_05[7:6]} CHn_CTC CHn_CC_MATCH_MODE CHn_CC_MIN_IPG {CHn_RXRECCLK} {CHn_MATCH_2_EN, CHn_MATCH_4_EN} 8-105 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-105. 付録 C. 属性の ク ロ ス リ フ ァ レ ン ス一覧表 (Continued) 独立属性名 依存する属性名 属性値 レ ジス タ マ ッ プ {QD_02[7:4]} CCHMARK 0 :{0000} 1 :{0001} 2 :{0010} 3 :{0011} 4 :{0100} 5 :{0101} 6 :{0110} 7 :{0111} 8 :{1000} 9 :{1001} 10:{1010} 11:{1011} 12:{1100} 13:{1101} 14:{1110} 15:{1111} CCLMARK 0 :{0000} 1 :{0001} 2 :{0010} 3 :{0011} 4 :{0100} 5 :{0101} 6 :{0110} 7 :{0111} 8 :{1000} 9 :{1001} 10:{1010} 11:{1011} 12:{1100} 13:{1101} 14:{1110} 15:{1111} {QD_02[3:0]} CHn_SSLB DISABLED :{0000, 00} ENABLED_EQ2T:{0010, 11} ENABLED_T2R :{0001, 00} {CH_11[7:4], CH_14[6:5]} DISABLED:{0,0,0} ENABLED :{1,1,1} {QD_03[2], CH_03[5], CH_04[0]} DISABLED:{0} ENABLED :{1} {QD_0a[1]} CHn_SPLBPORTS4 {PFIFO_CLR_SEL, CHn_SB_PFIFO_LP, CHn_SB_LOOPBACK} QD_REFCK2CORE INT_ALL {PLOLINT, PLOLNINT, CHn_PCIDETINT, CHn_RLOSLINT, CHn_RLOSLNINT, CHn_RLOLINT, CHn_RLOLNINT, CHn_LSSYNCINT, CHn_LSSYNCNINT, CHn_TXFIFOINT, CHn_RXFIFOINT, CHn_CCORUNINT, CHn_CCURUNINT} {QD_0F[7], DISABLED:{ 0,0,0,0,0,0,0,0,0,0000,0 QD_0F[6], CH_17[6], 000,0,0,0,0} CH_17[5], ENABLED:{ 1,1,1,1,1,1,1,1,1,1111,1 CH_17[4], CH_17[1], 111,1,1,1,1} CH_17[0], QD_09[7:4], QD_09[3:0], CH_0F[0], CH_0F[1], CH_0F[2], CH_0F[3]} CHn_LDR {CHn_LDR_RX_EN, CHn_LDR_TX_SEL} DISABLED:{0,0} RXTX :{1,1} RXONLY :{1,0} TXONLY :{0,1} {CH_15[3], CH_13[7]} 注5 {QD_0A[0]} {PLL_SRC, CHn_CDR_SRC} {REFCKLOCAL} 8-106 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-105. 付録 C. 属性の ク ロ ス リ フ ァ レ ン ス一覧表 (Continued) 独立属性名 {CHn_TX_8B10B, CHn_RX_8B10B} 依存する属性名 {BUS8BIT_SEL} 属性値 レ ジス タ マ ッ プ {QD_0B[6]} {CHn_RXWA, CHn_ILSM} {CHn_SIG_DET} {DISABLED, X}3 {0} {ENABLED, DISABLED}{0} {ENABLED, ENABLED} {1} {CH_04[6]} {CHn_RXWA, CHn_ILSM} {CHn_C_ALIGN} {DISABLED, X}23 {0} {ENABLED, DISABLED}{0} {ENABLED, ENABLED}{0} {CH_01[7]} 注6 1. rx_los_low は、 デー タ レー ト が 1 Gbps よ り も 大 き く 、 最小 CID (Consecutive Identical Digits、 即ち 8b10b か ら 送信 さ れ る 入力 信号が遷移 し ない連続ビ ッ ト 数の最小) が 7 ビ ッ ト の信号が検出 さ れた こ と のみを示す よ う にな り ま し た。 rx_los_low は、 PCI Express 及び SDI を除 く 全プ ロ ト コ ルでのデフ ォ ル ト 設定 rlos_lset[2:0] = 2 の場合のみに対応 し てい ます。 PCI Express に 対 し ては、 2 と 3 に対応 し てい ます。 SDI モー ド では、 外部 SDI ケーブル イ コ ラ イ ザか ら のキ ャ リ ア検出出力信号 (/CD) の使用を推奨 し ます。 rlox_hset には対応 し てい ません。 2. デフ ォ ル ト ま たは、 "PCS Advanced Setup" (PCS 詳細設定) 構成 GUI でユーザが指定 し た 10 ビ ッ ト ・ シ ン ボル コ ー ド 。 GUI では 10 ビ ッ ト ・ シ ン ボル コ ー ド が LSB か ら MSB の順で表現 さ れ、 ソ フ ト ウ ェ アが使用す る テーブルではビ ッ ト 表現が適切 に入れ替え ら れます。 3. X = 無視。 4. いずれかのチ ャ ネルが イ ネーブル さ れ る と 、 ク ワ ッ ド ビ ッ ト が 1 に設定 さ れます。 5. PLL_SRC 及び、 イ ネーブル さ れた全ての CHn_CDR_SRC が REFCLK_CORE に設定 さ れた場合、 こ のビ ッ ト は 1 と な り 、 それ 以外の場合は 0 と な る 必要があ り ます。 6. イ ネーブル さ れたチ ャ ネル CHn_TX_8B10B ま たは CHn_RX_8B10B のいずれかが DISABLED と な っ た場合、 こ の ビ ッ ト は 1 と な り 、 それ以外の場合は 0 と な る 必要があ り ます。 7. TDRV_AMP 属性は TDRV に置き 換え ら れま し た。 .lpc フ ァ イ ルを開 く と 、 ソ フ ト ウ ェ アが自動的に TDRV_AMP を TDRV に 置換 し ます。 ユーザが PCS モジ ュ ールを再生成す る こ と な く 再 コ ンパ イ ル し よ う と す る と 、 ソ フ ト ウ ェ アに よ っ て automake.log フ ァ イ ルにエ ラ ーが生成 さ れます。 .txt フ ァ イ ルを編集する か、 IPexpress を使用 し て PCS モジ ュ ールを再生成 す る 必要があ り ます。 8. refclk_to/from_nq 信号は ラ テ ィ ス社用途 (internal Use Only) です。 表 8-106. プ ロ ト コ ル固有の SERDES 設定オプシ ョ ン プロ ト コル DATARATE DATARATE 範囲 REFCK 乗数 デー タ 幅 GbE 1.25 MED 10x, 20x, 25x 8, 16 SGMII 1.25 MED 10x, 20x, 25x 8 PCI Express 2.5 HIGH 25x, 20x 8, 16 3.125 HIGH 20x, 10X 16 10x, 20x, 25x 8, 16 XAUI G8B8B 8-Bit SERDES Only 10-Bit SERDES Only USER_DEF ANY_VALUE LOWLOW, LOW MEDLOW, MED, MEDHIGH, HIGH 8x, 16x 8, 16 10x, 20x, 25x 10, 20 8x, 10x, 16x, 20x, 25x 8, 10, 16, 20 受信イ コ ラ イザ 設定 DISABLE, MID_MED, LONG_MED MID_LOW, DISABLE, MID_HIGH LONG_HIGH DISABLE, MID_LOW, MID_MED, MID_HIGH, LONG_LOW, LONG_MED, LONG_HIGH 1. MID : 長 さ 約 20 イ ン チ LONG : 長 さ 約 40 イ ン チ LOW : 1.2Gbps 未満 MED : 1.2Gbps から 2Gbps HIGH : 2 Gbps 以上 8-107 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 付録 D. Lattice Diamond の概要 こ の付録では LatticeECP2M SERDES/PCS モジ ュ ールを含んだ設計プ ロ ジ ェ ク ト に対す る 、 Lattice Diamond ソ フ ト ウ ェ アの使い方について説明 し ます。 Lattice Diamond の一般的な使い方については、 "Lattice Diamond User Guide" (ユーザガ イ ド ) を参照 し て く だ さ い (日本語注 : 日本語版オ リ ジナルマニ ュ アルが ウ ェ ブか ら ダ ウ ン ロ ー ド 可能です)。 FPGA 設計プ ロ ジ ェ ク ト で ispLEVER ソ フ ト ウ ェ ア を使用 し た経験があ る場合、Lattice Diamond は大 き く 違っ て見え る か も し れません。 し か し 、 Lattice Diamond は ispLEVER と 同 じ ツールセ ッ ト と ワー ク フ ロ ーに基づ いてい る ため、 よ く 見 る と 類似点が多数見つか り ます。 こ の よ う な変更を行っ た目的は、 統合 さ れた ツール 群 と 、 さ ら に拡張 さ れたユーザ イ ン タ ーフ ェ イ ス を提供す る ためです。 ispLEVER プ ロ ジ ェ ク ト の Lattice Diamond への変換 ispLEVER で作成 さ れた設計プ ロ ジ ェ ク ト は、 容易に Lattice Diamond に イ ン ポー ト で き ます。 ispLEVER のプ ロ セ ス プ ロ パテ ィ (Diamond の ス ト ラ テジ設定に似てい ます) と PCS モジ ュ ールを除いて、 こ のプ ロ セ ス は 自動的に行われます。 プ ロ ジ ェ ク ト の イ ン ポー ト 後は、 その ス ト ラ テジ を設定 し 、 全ての PCS モジ ュ ールを 生成す る 必要があ り ます (” ス ト ラ テジ ” についてはマニ ュ アルを参照)。 ispLEVER 設計プ ロ ジ ェ ク ト の イ ン ポー ト ispLEVER プ ロ ジ ェ ク ト のバ ッ ク ア ッ プ コ ピーを作成す る か、Diamond プ ロ ジ ェ ク ト にす る 新 し いプ ロ ジ ェ ク ト を作成 し ます。 1. Diamond で File > Open > Import ispLEVER Project (プ ロ ジ ェ ク ト の イ ン ポー ト ) と 辿 る 2. ispLEVER プ ロ ジ ェ ク ト ・ ダ イ ア ロ グ ボ ッ ク ス で、 プ ロ ジ ェ ク ト の .syn フ ァ イ ルを参照 し て開 く 3. 必要に応 じ て Diamond プ ロ ジ ェ ク ト の基本フ ァ イ ル名や場所を変更す る。 場所を変更す る と 、 新 し い Diamond の フ ァ イ ルは新 し い場所に格納 さ れ る が、 元の ソ ース フ ァ イ ルは移動 も コ ピー も さ れな い。 Diamond プ ロ ジ ェ ク ト は元の場所にあ る ソ ース フ ァ イ ルを参照す る 。 プ ロ ジ ェ ク ト フ ァ イ ルは、 デフ ォ ル ト の ス ト ラ テジ設定を持つ Diamond フ ォーマ ッ ト に変換 さ れます。 PCS モジ ュ ールの調整 IPexpress で作成 さ れた PCS モジ ュ ールは特殊な フ ァ イ ル構造を持ち、ispLEVER か ら プ ロ ジ ェ ク ト を イ ン ポー ト す る と き に調整が必要です。 こ の調整方法は 2 通 り あ り 、 望ま し い方法は Diamond でモジ ュ ールを再生成 す る こ と です。 と こ ろが、 こ の方法ではモジ ュ ールが最新バージ ョ ンにア ッ プグ レー ド さ れます。 一般的に ア ッ プグ レー ド は好ま し い こ と ですが、何 ら かの理由に よ っ て PCS モジ ュ ールを ア ッ プグ レー ド し た く ない 場合は、 モジ ュ ールの .txt フ ァ イ ルを実装フ ォ ルダに コ ピー し て手動で調整す る 方法 も あ り ます。 こ の方法 を使用す る 場合は、 .txt フ ァ イ ルを将来の全ての実装フ ォ ルダに忘れずに コ ピー し て く だ さ い。 PCS モジ ュ ールの再生成 1. File List (フ ァ イ ル リ ス ト ) ビ ュ ーの Input Files (入力フ ァ イ ル) フ ォ ルダで、 PCS モジ ュールを探 す。 モジ ュ ールは .lpc、 .v、 ま たは .vhd フ ァ イ ル。 2. File List (フ ァ イ ル リ ス ト ) ビ ュ ーでモジ ュ ールが Verilog ま たは VHDL フ ァ イ ル と し て表示 さ れ、 モジ ュ ールを再生成す る 場合は、 そのモジ ュ ールの .lpc フ ァ イ ルを イ ン ポー ト す る 。 a. File List ビ ュ ーで実装フ ォ ルダ ( ) を右 ク リ ッ ク し 、 Add > Existing File を選択 b. モジ ュ ールの .lpc フ ァ イ ル <module_name>.lpc を参照 し て選択 c. Add を ク リ ッ ク 。 .lpc フ ァ イ ルが File List ビ ュ ーに追加 さ れ る d. モジ ュ ールの Verilog ま たは VHDL フ ァ イ ルを右 ク リ ッ ク し 、 Remove (削除) を選択 8-108 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 3. File List でモジ ュ ールの .lpc フ ァ イ ルを ダブル ク リ ッ ク す る 。 そのモジ ュ ールの IPexpress ダ イ ア ロ グボ ッ ク ス が表示 さ れ る 4. ダ イ ア ロ グ ボ ッ ク ス下部の Generate (生成) を ク リ ッ ク 。 Generate Log (生成 ロ グ) タ ブが表示 さ れた ら 、 エ ラ ーがないか調べて閉 じ る File List の .lpc フ ァ イ ルが .ipx に置 き 換え ら れます。 IPexpress のマニ フ ェ ス ト フ ァ イ ル (.ipx) は Diamond で 新 し く 導入 さ れま し た。 .ipx フ ァ イ ルでは、 複合モジ ュ ールに必要な フ ァ イ ルが常に追跡 さ れます。 Lattice Diamond での IPexpress の使用 Lattice Diamond での IPexpress の使い方は、 基本的に ispLEVER と 同 じ です。 図 8-57 に示す Generation Options (生成オプシ ョ ン) タ ブを除いて、 構成 GUI タ ブは全て同 じ です。 図 8-57. Generation Options (生成オプシ ョ ン) タ ブ 8-109 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド 表 8-107. SERDES_PCS GUI 属性 ~ Generation Options (生成オプシ ョ ン) タ ブ GUI テキス ト 記 述 Automatic (自動) 必要に応 じ て HDL 及び構成 (.txt) フ ァ イルを自動的に生成する。 変更内容に よ っ ては、 ど ち らのフ ァ イルも再生成が不要な場合がある。 Force Module and Settings Generation (モジ ュ ール と 設定フ ァ イ ルの生成を強制) HDL フ ァ イル と 自動構成フ ァ イルの両方を生成する。 Force Settings Generation Only (設定フ ァ イ ルの生成のみ強制) 属性フ ァ イルのみを生成する。 HDL フ ァ イルも生成が必要な場合はエ ラ ー メ ッ セージが表示 さ れる。 Force Place & Route Process Reset (配置配線プ ロ セスの リ セ ッ ト を強制) 配置配線設計プ ロ セス を リ セ ッ ト し 、 新たに生成 し た PCS モ ジ ュ ールで強制的 に再実行する。 Force Place & Route Trace Process Reset 配置配線 と ト レース ( タ イ ミ ング解析) プ ロ セス を リ セ ッ ト し 、 新たに生成 し (配置配線 と ト レース ・ プ ロ セスの リ セ ッ ト た PCS モ ジ ュ ールで強制的に再実行する。 を強制) 注: Automatic はデフ ォ ル ト オプシ ョ ン と し て設定 さ れます。 Automatic ま たは Force Settings Generation Only が選択 さ れ、 サブオ プシ ョ ン Process Reset Options (プ ロ セ ス の リ セ ッ ト ・ オプシ ョ ン) が全てオ フ で、 HDL モジ ュ ールが生成 さ れなか っ た場 合、 リ セ ッ ト ポ イ ン タ は自動的に Bitstream generation (ビ ッ ト ス ト リ ーム生成) に設定 さ れます。 生成終了後、 それに応 じ てプ ロ セ ス ウ ィ ン ド ウ の リ セ ッ ト マー ク が リ セ ッ ト さ れます。 8-110 tn1176J_02.4 LatticeECP3 SERDES/PCS 使用ガ イ ド シ ミ ュ レーシ ョ ン ・ ウ ィ ザー ド を使用 し た新規シ ミ ュ レーシ ョ ン ・ プ ロ ジ ェ ク ト の作成 こ のセ ク シ ョ ン では、 シ ミ ュ レ ーシ ョ ン ・ ウ ィ ザー ド を使用 し て シ ミ ュ レ ーシ ョ ン ・ プ ロ ジ ェ ク ト (.spf) フ ァ イ ルを作成 し 、 それを ス タ ン ド ア ロ ン ・ シ ミ ュ レー タ に イ ン ポー ト で き る よ う にす る 方法について説明 し ます。 1. プ ロ ジ ェ ク ト ナビ ゲー タ で、 Tools > Simulation Wizard (シ ミ ュ レーシ ョ ン ・ ウ ィ ザー ド ) を ク リ ッ ク し ます。 シ ミ ュ レーシ ョ ン ・ ウ ィ ザー ド が表示 さ れます。 2. Preparing the Simulator Interface (シ ミ ュ レー タ ・ イ ン タ ーフ ェ イ ス の準備) ページで Next を ク リ ッ ク し ます。 3. Simulator Project Name (シ ミ ュ レー タ ・ プ ロ ジ ェ ク ト 名) ページで Project Name (プ ロ ジ ェ ク ト 名) テ キ ス ト ボ ッ ク ス にプ ロ ジ ェ ク ト 名を入力 し 、 Project Location (プ ロ ジ ェ ク ト の場所) テ キ ス ト ボ ッ ク ス と Browse (参照) ボ タ ン を使用 し て、 シ ミ ュ レーシ ョ ン ・ プ ロ ジ ェ ク ト の格納先フ ァ イ ル パ ス に移動 し ます。 4. こ の ウ ィ ザー ド ページでプ ロ ジ ェ ク ト 名を指定す る と 、 選択 し た フ ァ イ ルパ ス に対応す る フ ォ ルダ が作成 さ れます。 新 し い フ ォ ルダ を作成す る か ど う か を確認す る ポ ッ プア ッ プダ イ ア ロ グで Yes を ク リ ッ ク し ます。 5. Active-HDL® ま たは ModelSim® シ ミ ュ レー タ の ど ち ら かのチ ェ ッ ク ボ ッ ク ス を ク リ ッ ク し 、 Next を ク リ ッ ク し ます。 6. Process Stage (プ ロ セ ス ・ ス テージ) ページで、 作成す る シ ミ ュ レーシ ョ ン ・ プ ロ ジ ェ ク ト のプ ロ セ ス ・ ス テージの タ イ プ を選択 し ます。 有効な タ イ プは、 RTL、 Post-Synthesis Gate-Level、 PostMap Gate-Level、 Post-Route Gate-level+Timing です。 選択可能なプ ロ セ ス ・ ス テージのみがア ク テ ィ ブ表示 さ れます。 7. プ ロ ジ ェ ク ト 内に複数の ス ト ラ テジ を定義 し た場合は、 現在の ス ト ラ テジに対 し て新 し い選択を行 う こ と がで き ます。 8. こ の ソ フ ト ウ ェ アはプ ロ ジ ェ ク ト 実装ご と に複数の ス ト ラ テジに対応 し てい る ため、 ソ ース フ ァ イ ルの共通セ ッ ト を異な る 最適化オプシ ョ ンで実験で き ます。 各ス ト ラ テジは異な る ス テージに処理 さ れてい る こ と があ る ため、 こ のダ イ ア ロ グでは ロ ー ド す る ス テージ を指定で き ます。 9. Add Source ( ソ ース の追加) ページで、 Source Files ( ソ ース フ ァ イ ル) リ ス ト ボ ッ ク ス に表示 さ れ た ソ ース フ ァ イ ルを選択す る か、 右の参照ボ タ ン を使用 し て目的の ソ ース フ ァ イ ルを選択 し ます。 作成 し た ロ ーカル ・ シ ミ ュ レーシ ョ ン ・ プ ロ ジ ェ ク ト ・ デ ィ レ ク ト リ の ソ ース フ ァ イ ルを残 し てお く 場合は、 Copy Source to Simulation Directory ( ソ ース を シ ミ ュ レーシ ョ ン ・ デ ィ レ ク ト リ に コ ピー す る ) オプシ ョ ン を オ ンに し ます。 10.Next を ク リ ッ ク し て Summary ページ を表示 し 、 選択 し たプ ロ ジ ェ ク ト に関す る シ ミ ュ レーシ ョ ン ・ ラ イ ブ ラ リ な どの情報を指定 し ます。 デフ ォ ル ト では Run Simulator (シ ミ ュ レー タ の実行) チ ェ ッ ク ボ ッ ク ス がオンにな っ ていて、 ウ ィ ザー ド の Simulator Project Name (シ ミ ュ レー タ ・ プ ロ ジ ェ ク ト 名) ページで選択 し たシ ミ ュ レーシ ョ ン ・ ツールが起動 さ れます。 11.Finish を ク リ ッ ク ウ ィ ザー ド の実行後、 シ ミ ュ レーシ ョ ン ・ ウ ィ ザー ド ・ プ ロ ジ ェ ク ト (.spf) フ ァ イ ル と 、 シ ミ ュ レーシ ョ ン ・ ス ク リ プ ト の DO フ ァ イ ルが生成 さ れます。 必要に応 じ て、 DO フ ァ イ ルは現在のプ ロ ジ ェ ク ト に イ ン ポー ト で き ます。 Active-HDL を使用 し た場合は ウ ィ ザー ド で .ado フ ァ イ ルが生成 さ れ、 ModelSim を使用 し た場合は .mdo フ ァ イ ルが作成 さ れます。 注 : ス テ ッ プ 6 で SERDES/PCS 構成フ ァ イ ル (.txt) を追加する必要があ り ます。 8-111 tn1176J_02.4
© Copyright 2024 Paperzz