MachXO2 デバイ スにおける高速 イ ン タ ー フ ェ イ スの実装 2014 年 1 月 テ ク ニ カル ノ ー ト TN1203 は じ めに 広帯域デー タ 転送に対す る ニーズの高ま り に応 じ て、 業界は従来のシ ン グルデー タ レー ト (SDR) か ら 、 ダ ブルデー タ レー ト (DDR) アーキ テ ク チ ャ へ移行 し ま し た。 SDR は ク ロ ッ ク 信号の立ち上が り エ ッ ジ、 ま た は立ち下が り エ ッ ジのいずれかにデー タ を合わせて転送 し ます。一方 DDR は ク ロ ッ ク 信号の両エ ッ ジ を利用 し てデー タ を転送 し ます。 DDR の場合、 ク ロ ッ ク 一周期につ き デー タ が 2 回転送 さ れ る ため、 同 じ ク ロ ッ ク 周波数の場合、本質的にデー タ 転送速度が SDR の 2 倍にな り ます。DDR ク ロ ッ キ ン グ技法は DDR SDRAM な ど の メ モ リ イ ン タ ーフ ェ イ ス で幅広 く 採用 さ れてい ます。 その結果、 DDR SDRAM メ モ リ はシ ス テ ムの信号 波形の品質要件を厳 し く す る こ と な く 、 SDR SDRAM メ モ リ に比べて 2 倍の帯域を得 る こ と がで き ます。 Lattice MachXO2 ™ PLD フ ァ ミ リ は、 プ ロ グ ラ マブル I/O (PIO) に作 り 込み ロ ジ ッ ク を通 じ て、 DDR と SDR の両アプ リ ケーシ ョ ンに対 し て高速 イ ン タ ーフ ェ イ ス をサポー ト し ます。 ま た MachXO2 デバ イ ス は DDR や DDR2、 及び LPDDR SDRAM メ モ リ イ ン タ ーフ ェ イ ス をサポー ト す る 専用回路を備え てい ます。 こ の ド キ ュ メ ン ト は、 MachXO2 デバ イ ス におけ る 高速汎用 DDR イ ン タ ーフ ェ イ ス と 、 DDR / DDR2 及び LPDDR メ モ リ イ ン タ ーフ ェ イ ス の実装に焦点を当ててい ます。 ま た MachXO2 デバ イ ス の組み込み機能を利用 し て、 高速 イ ン タ ーフ ェ イ ス において最良の性能を得 る ためのガ イ ド ラ イ ン も 提供 し ます。 高速 イ ン タ ーフ ェ イ ス ・ アーキ テ ク チ ャ ギア リ ング ロ ジ ッ ク 高速汎用 DDR (Generic DDR、 GDDR) イ ン タ ーフ ェ イ ス は、 プ ロ グ ラ マブル I/O (PIO) セルに組み込まれ たギ ア リ ン グ ロ ジ ッ ク (Mux / DeMux) で対応 し ます。 こ のギ ア リ ン グは、 FPGA フ ァ ブ リ ッ ク に対す る 性 能要件を抑えつつ高速 I/O に対応す る ために必要です。 MachXO2 デバ イ ス では、 I/O バン ク の位置 と 論理規模に応 じ て 4 種類のギア リ ン グ比を設定で き ます。 x1 ギ ア リ ン グ比は全てのデバ イ ス規模の全バン ク で使用で き ます。 x2 と x4、 及び 7:1 ギ ア リ ン グ比は MachXO2640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の上辺 と 下辺バン ク で使用で き ます。 7:1 ギ ア リ ン グ比は主に ビデオデ ィ ス プ レ イ ・ アプ リ ケーシ ョ ンに使用 し ます。 x2 / x4 ギ ア リ ン グ回路は、 受信側 と 送信 側の両方を 7:1 回路 と 共有 し てい ます。 MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の右辺バン ク は、 DDR メ モ リ イ ン タ ーフ ェ イ ス をサポー ト し てい ます。 DDR メ モ リ は メ モ リ PIO セルに組 み込まれた専用の x1 ギ ア リ ン グ ロ ジ ッ ク を利用 し ます。 表 11-1. MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス のギア リ ン グ ロ ジ ッ ク 定義 ギア リ ング比 左辺 右辺 下辺 上辺 DDR x11 ギア リ ン グロ ジ ッ ク GDDR 1:2 又は 2:1 Yes Yes Yes Yes Input DDR x2 GDDR 1:4 — — Yes — Input DDR x4 GDDR 1:8 — — Yes — Input DDR 7:1 GDDR 1:7 — — Yes — Output DDR x2 GDDR 4:1 — — — Yes Output DDR x4 GDDR 8:1 — — — Yes Output DDR 7:1 GDDR 7:1 — — — Yes メ モ リ DDR 1:2 又は 2:1 — Yes — — mem DDR x1 1. DDRx1 は全ての規模の MachXO2 デバ イ ス で利用可能 © 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 11-1 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 表 11-1 は様々な I/O バン ク が対応す る ギ ア リ ン グ ロ ジ ッ ク の詳細を示 し た も のです。 PIO セルの詳細につ いては MachXO2 フ ァ ミ リ デー タ シー ト を参照 し て く だ さ い。 様々な タ イ プの I/O ロ ジ ッ ク セル 様々なギ ア リ ン グ比に対応す る ために、 MachXO2 デバ イ ス には 3 種類の PIO ロ ジ ッ ク セルがあ り ます。 こ れ ら は基本 (basic) PIO セル と メ モ リ PIO セル、 そ し て ビデオ PIO セルです。 図 11-1. x1 ギア リ ン グ比に対応する基本 PIO セル INCK INDD D Programmable Delay Cell Q1 D D Q Q Q0 Q1 D/L Q D Q Q0 SCLK Input Path Q Q0 D/L Q D0 D1 D Q D Q Q1 SCLK TD Output Path D/L Q TQ Tri-state Path 基本 PIO セルは従来型の SDR レ ジ ス タ と DDR x1 レ ジ ス タ を含みます。 こ れは MachXO2 デバ イ ス の全ての 辺 ・ バン ク で利用で き ます。 メ モ リ PIO セルは DDR メ モ リ アプ リ ケーシ ョ ンに対応 し 、 MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の右辺で利用で き ます。 ビデオ PIO セルは、 x2 / x4 お よ び 7:1 ギ ア リ ン グ用途に対応 し 、 MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス で利用で き 、 下辺が受信 イ ン タ ーフ ェ イ ス用、 上辺が送信 イ ン タ ーフ ェ イ ス用です。 各 タ イ プの PIO セルに関す る 入 出力構造の詳細については MachXO2 フ ァ ミ リ デー タ シー ト を参照 し て く だ さ い。 参考 と し て PIO セルのブ ロ ッ ク 図を下に示 し ます。 11-2 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-2. DDR メ モ リ アプ リ ケーシ ョ ンに対応する メ モ リ PIO セル INCK INDD Programmable Delay Cell D Q1 D Q D Q S1 D Q Q0 D Q S0 D Q D Q D/L Q D Q1 Q0 Q DQSR90 DDRCLKPOL SCLK Input Path D/L Q D0 D1 D Q D Q Q Q0 Q1 SCLK DQSW90 Output Register Path T0 TD D/L Q D Q TQ Tri-state Register Path 11-3 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-3. x2 / x4 と 7:1 アプ リ ケーシ ョ ン用のビデオ PIO セル Q21 Q43 D Q D Q Q0_ Q10 D Q CE Q32 D Q CE S0 D Q S2 Q21 D Q T0 T2 Q0 Q2 IDDRx2_C Q65 Q43 D Q Q54 cdn Programmable Delay Cell D Q CE S4 D Q T4 Q4 cdn Q65 S6 D Q Q_6 D Q CE D Q T6 Q6 D 4-bit rx_data from x2 gearing Q_6 D Q Q_6 D Q CE Q54 D Q Q65 D Q CE S7 T7 8-bit rx_data from x4 gearing Q7 D Q Not used in 1:7 de-serialization S5 D T5 Q5 T3 Q3 T1 Q1 IDDRx2_A Q54 D Q Q32 Q43 Q32 D Q S3 CE Q10 D Q Q21 D Q CE S1 D D IDDRx2_C ECLK0/1 SCLK SEL0 UPDATE Receive Path 11-4 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 D6 D Q D4 D Q T6 T4 D Q CE D Q CE S6 S7 0 1 GND 0 1 Q67 S4 S5 0 1 S3 0 1 D Q 0 1 D Q 0 1 D Q Q67 Q45 ODDRx2_C D Q D2 T2 D Q CE Q45 S2 Q23 CDN QC D Q T0 D0 D Q CE S0 S1 0 1 Q23 0 1 Q01 D Q Q/QA D1 D Q T1 T3 D Q D3 D Q CE S1 0 1 D Q 0 1 D Q 0 1 D Q S4 0 1 GND 0 1 D Q S6 0 1 S0 D Q S3 CE Q12 S2 0 1 0 1 Q34 Q10 4-Bit tx_data from x2 Gearing 8-Bit tx_data from x4 Gearing Q32 ODDRx2_A Q D D5 Q D D7 T5 T7 D Q CE D Q CE Q56 S5 S7 Q54 Q76 ODDRx2_C SCLK SEL /0 UPDATE Not used in 7:1 Serialization ECLK0/1 Transmit Path PIO セルの ク ロ ッ ク ド メ イ ン転送 MachXO2 のギ ア リ ン グ ロ ジ ッ ク は、 PIO セル内で高速デー タ のシ リ アル化及びパ ラ レル化を実行 し ます。 高 速エ ッ ジ ク ロ ッ ク (ECLK) か ら 低速シ ス テ ム ク ロ ッ ク (SCLK) へのデー タ の ク ロ ッ ク ド メ イ ン転送は、 2 本の内部信号であ る UPDATE と SEL に よ っ て、 デバ イ ス設計 と し て確実に動作す る よ う にな っ てい ます。 SEL 信号は 7:1 ギ ア リ ン グの場合、 デー タ の 3 ビ ッ ト 分 と 4 ビ ッ ト 分を一度にサンプルす る ために Low と High に ト グル し ます。 x2 / x4 ギ ア リ ン グの場合、 SEL 信号は ト グル し ません。 UPDATE 信号は全てのギ ア リ ン グ時に同 じ 動作を し 、 正 し いデー タ バ イ ト 数で レ ジ ス タ を更新 し ます。 その後、 こ れ ら デー タ は次段で の処理のために SCLK で ク ロ ッ キ ン グ さ れます。 図 11-3 に x2 / x4 入力ギ ア リ ン グ ロ ジ ッ ク のアーキ テ ク チ ャ を示 し ます。 MachXO2 デバ イ ス には、 最小限の FPGA リ ソ ース で ワー ド ア ラ イ メ ン ト がで き る ロ ジ ッ ク があ り ます。 ワー ド ア ラ イ メ ン ト の結果、 UPDATE と SEL、 及び SCLK 信号がシ フ ト し ます。 ワー ド ア ラ イ メ ン ト は、 高速 イ ン タ ーフ ェ イ ス ・ コ ン ポーネ ン ト の ALIGNWD ポー ト に、 ア ラ イ メ ン ト 要求信号を与え る こ と でア ク テ ィ ブ に さ れます。 ALIGNWD は ECLK ド メ イ ン と 非同期にで き ますが、 少な く と も 2 ECLK 周期幅が必要です。 7:1 ギ ア リ ン グの場合、 最大で 7 通 り の ワー ド オーダの組み合わせをループす る ため、 ALIGNWD は 7 回パル 11-5 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 ス入力 さ れ る 必要があ り ます。 x2 / x4 ギ ア リ ン グの場合は、 最大で 8 通 り の ワー ド オーダの組み合わせを ループす る ため、 ALIGNWD は 8 回パルス入力 さ れ る 必要があ り ます。 図 11-4 と 11-5 は、 異な る ギ ア リ ン グ要件におけ る UPDATE と SEL、 ECLK、 及び SCLK 信号の タ イ ミ ン グ 関係を示 し た も のです。 図 11-6 と 11-7 は、 様々なギ ア リ ン グ比におけ る ワー ド ア ラ イ メ ン ト 処理を示 し た も のです。 ギ ア リ ン グ ロ ジ ッ ク についての こ の説明は、 高速 イ ン タ ーフ ェ イ ス の受信側 と 送信側の両方に当 ては ま り ます。 7:1 ギ ア リ ン グ機能を利用 し た ワ ー ド ア ラ イ メ ン ト の実装の詳細については、 参照デザ イ ン "RD1093 - MachXO2 Display Interface (MachXO2 デ ィ ス プ レ イ ・ イ ン タ ーフ ェ イ ス) " を参照 し て く だ さ い。 DDR メ モ リ イ ン タ ーフ ェ イ ス の ク ロ ッ ク ド メ イ ン転送は、 メ モ リ リ ー ド / ラ イ ト 動作用にデバ イ ス に組み込 まれた 90° 位相シ フ ト ・ ク ロ ッ ク ツ リ ーを使用 し て実行 さ れます。DLL 及び DQS 検出 ロ ジ ッ ク に よ り 、DDR メ モ リ に対す る デー タ の正 し い リ ー ド と ラ イ ト が確保 さ れます。 図 11-4. 7:1 デシ リ ア ラ イ ザの タ イ ミ ン グ D c4 c5 c6 d0 d1 d2 d3 d4 d5 d6 e0 e1 e2 e3 e4 e5 e6 e7 f0 f1 f2 f3 f4 f5 f6 g0 g1 g2 ECLK UPDATE SEL SCLK Q(6:0) “a6a5a4a3a2a1a0” “c6c5c4c3c2c1c0” “d6d5d4d3d2d1d0” “e6e5e4e3e2e1e0” 図 11-5. x2 / x4 デシ リ ア ラ イ ザの タ イ ミ ン グ D c5 c6 c7 d0 d1 d2 d3 d4 d5 d6 d7 e0 e1 e2 e3 e4 e5 e6 e7 f0 f2 f3 f4 f5 f6 f7 g0 g1 ECLK UPDATE SEL SCLK Q(6:0) “b7b6b5b4b3b2b1b0” “c7c6c5c4c3c2c1c0” 11-6 “d7d6d5d4d3d2d1d0” “e7e6e5e4e3e2” TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-6. ALIGNWD に応答する 7:1 デシ リ ア ラ イ ザの タ イ ミ ン グ ‘ALIGNWD’ Action D b2 b3 b4 b5 b6 c0 c1 c2 c3 c4 c5 c6 d0 d1 d2 d3 d4 d5 d6 e0 e1 e2 e3 e4 e5 e6 f0 f1 ECLK UPDATE SEL SCLK Q(6:0) “a4a3a2a1a0k6k5” “b4b3b2b1b0a6a5” “c4c3c2c1c0b6b5” “d6d5d4d3d2d1d0” 図 11-7. ALIGNWD に応答する x2 / x4 デシ リ ア ラ イ ザの タ イ ミ ン グ ‘ALIGNWD’ Action D c3 c4 c5 c6 c7 d0 d1 d2 d3 d4 d5 d6 d7 e0 e1 e2 e3 e4 e5 e6 e7 f0 f1 f2 f3 f4 1 0 ECLK UPDATE SEL SCLK Q(6:0) “b6b5b4b3b2b1b0a7” “c6c5c4c3c2c1c0b7” “d7d6d5d4d3d2d1d0” “e7e6e5e4...” 外部高速 イ ン タ ーフ ェ イ ス の説明 MachXO2 デバ イ ス に対 し て使用で き る 外部高速 イ ン タ ーフ ェ イ ス の定義 と し て、 " セ ン タ ー " と " ア ラ イ ン " の 2 種類があ り ます。 セ ン タ ー外部 イ ン タ ーフ ェ イ ス の場合、 デバ イ ス ピ ンで ク ロ ッ ク エ ッ ジがデー タ の 中央にあ り ます。ア ラ イ ン外部 イ ン タ ーフ ェ イ ス の場合、デバ イ ス ピ ンで ク ロ ッ ク エ ッ ジ と デー タ 遷移が揃っ てい ます。 こ れは " エ ッ ジオンエ ッ ジ (edge-on-edge) " と 呼ばれ る こ と も あ り ます。 図 11-8 は SDR と DDR におけ る外部 イ ン タ ーフ ェ イ ス波形を示 し ます。 ア ラ イ ン ・ イ ン タ ーフ ェ イ ス では、 キ ャ プチ ャ ・ フ リ ッ プ フ ロ ッ プのセ ッ ト ア ッ プ タ イ ム と ホール ド タ イ ム を満足す る ため、 ク ロ ッ ク エ ッ ジが デー タ の中央に位置す る よ う に、 受信側で ク ロ ッ ク 遅延調整が必要です。 同様にセ ン タ ー ・ イ ン タ ーフ ェ イ ス では、 ク ロ ッ ク エ ッ ジがデー タ の中央に位置 し て送信す る よ う に、 送信側で ク ロ ッ ク の遅延調整をす る 必 要があ り ます。 特定のバ ス イ ン タ ーフ ェ イ ス では、 セ ン タ ー と ア ラ イ ン ・ イ ン タ ーフ ェ イ ス の両方が使用 さ れ る か も し れま せん。 例えば DDR SDRAM メ モ リ の場合、 リ ー ド 時の ク ロ ッ ク と デー タ の関係はア ラ イ ン ・ イ ン タ ーフ ェ イ ス ですが、 ラ イ ト 時の ク ロ ッ ク と デー タ の関係はセ ン タ ー ・ イ ン タ ーフ ェ イ ス です。 11-7 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-8. 外部 イ ン タ ーフ ェ イ ス の定義 SDR Aligned SDR Centered Clock at pin Data at pin DDR Aligned DDR Centered Clock at pin Data at pin 高速 イ ン タ ーフ ェ イ ス を構成す る ブ ロ ッ ク MachXO2 デバ イ ス は、 高速 イ ン タ ーフ ェ イ ス を構成す る 専用の論理ブ ロ ッ ク を備え、 各ブ ロ ッ ク は独自の機 能を実行 し ます。 様々なブ ロ ッ ク を組み合わせ る こ と に よ り 、 特定 イ ン タ ーフ ェ イ ス について究極の性能を 実現で き ます。 こ のセ ク シ ョ ンでは、 デバ イ ス のハー ド ウ ェ ア ・ コ ン ポーネ ン ト について説明 し ます。 ”DDR ソ フ ト ウ ェ アのプ リ ミ テ ィ ブ と ア ト リ ビ ュ ー ト ” セ ク シ ョ ンで、 こ れ ら コ ン ポーネ ン ト の ラ イ ブ ラ リ ・ エ レ メ ン ト を説明 し ます。 ク ロ ッ キ ン グ と PLL アーキ テ ク チ ャ の詳細については TN1199 ”MachXO2 sysCLOCK PLL Design and Usage Guide (MachXO2 sysCLOCK PLL の設計 と 使用ガ イ ド ) ” を参照 し て く だ さ い。 ECLK エ ッ ジ ク ロ ッ ク ECLK は高速で低ス キ ュ ーの I/O 専用 ク ロ ッ ク です。 MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模のデバ イ ス では、 上下辺のそれぞれに 2 本のエ ッ ジ ク ロ ッ ク があ り ます。 プ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト PCLK は、 ECLK と 直接接続す る こ と がで き ます。 ま た下辺の PCLK ピ ンは、 ビデオアプ リ ケーシ ョ ン用な どのために、 PLL に対 し て最短配線にな っ てい ます。 ECLKSYNC こ れは ECLK 同期ブ ロ ッ ク です。 各 ECLK にはそれぞれ こ の ECLKCYNC コ ン ポーネ ン ト があ り 、 ク ロ ッ ク ド メ イ ン転送でデー タ を同期化 し ます。 ま た こ の コ ン ポーネ ン ト は、 エ ッ ジ ク ロ ッ ク を動的にデ ィ セーブル す る こ と に よ り 、 動作時の省電力化のために使用で き ます。 SCLK SCLK はデザ イ ン でのシ ス テ ム ク ロ ッ ク です。 高速 イ ン タ ーフ ェ イ ス を実現す る ためには、 SCLK はプ ラ イ マ リ ・ ク ロ ッ ク ピ ンやプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を使用す る必要があ り ます。 MachXO2 デバ イ ス あ た り 8 本 のプ ラ イ マ リ ・ ク ロ ッ ク ピ ン (PCLK) と 、 8 本のプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト があ り ます。 CLKDIV ク ロ ッ ク 分周器 CLKDIV は、 高速エ ッ ジ ク ロ ッ ク か ら 低速シ ス テ ム ク ロ ッ ク を生成す る ために使用 し ます。 MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模のデバ イ ス には、 上辺 と 下辺のそれぞれに 2 個の CLKDIV があ り ます。本 コ ン ポーネ ン ト を介 し て、ECLK 周波数は 2、3.5、ま たは 4 分周す る こ と がで き ます。 PLL MachXO2 デバ イ ス には最大 2 つの PLL があ り 、 その数は論理規模に よ り 異な り ます。 MachXO2-640U と MachXO2-1200/U、 及び MachXO2-2000 には 1 つ、 MachXO2-2000U と MachXO2-4000、 及び MachXO2-7000 には、 2 つの PLL があ り ます。 ま た、 あ ら か じ め割 り 当て済みのデ ュ アルフ ァ ン ク シ ョ ン I/O ピ ンがあ り 、 基準 ク ロ ッ ク 入力 と し て PLL に供給 し ます。 11-8 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 DQSDLL MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス には、 最大 2 つの DQSDLL があ り ます。 右上の DQSDLL は上辺 と 右辺のバン ク を制御 し 、左下の DQSDLL は下辺 と 左辺のバン ク で利用で き ます。本 コ ン ポーネ ン ト は、 DDR メ モ リ と 汎用高速 イ ン タ ーフ ェ イ ス の両方で使用で き、 ク ロ ッ ク ス レーブ遅延セル (DLLDEL) と と も に、 ア ラ イ ン ・ イ ン タ ーフ ェ イ ス で レ シーバでの 90° ク ロ ッ ク 位相シ フ ト / 遅延に用い ら れます。 入力 DDR (IDDR) 汎用入力 DDR コ ン ポーネ ン ト は、 PIO セルの受信側で x1 と x2、 x4、 及び 7:1 ギ ア リ ン グ ( こ の場合シ リ パ ラ 変換) 比に対応 し ます。 x1 ギ ア リ ン グ比は IDDRX、 すなわち基本 PIO セルに よ り サポー ト さ れます。 こ の場合 1 ビ ッ ト DDR デー タ を受信 し 、 SCLK と 同期 し た 2 ビ ッ ト 幅のパ ラ レルデー タ を出力 し ます。 x1 ギア リ ン グには ク ロ ッ ク ド メ イ ン転送はあ り ません。 x2 ギ ア リ ン グは IDDRX2 に よ り サポー ト さ れ、 ECLK に同 期 し た 1 ビ ッ ト DDR デー タ を受信 し 、 SCLK に同期 し た 4 ビ ッ ト のパ ラ レルデー タ を出力 し ます。 IDDRX4 に も 同 じ 機能が適用 さ れ、 ECLK に同期 し た 1 ビ ッ ト DDR デー タ を受信 し 、 SCLK に同期 し た 8 ビ ッ ト のパ ラ レルデー タ を出力 し ます。 7:1 ギ ア リ ン グは、 x4 ギア リ ン グ と 同一構造を共有 し てい ますが、 8 ビ ッ ト で はな く 、 7 ビ ッ ト のパ ラ レルデー タ を出力 し ます。 汎用高速 イ ン タ ーフ ェ イ ス のギ ア リ ン グは、 ビデオ PIO セルに よ り サポー ト さ れます。 出力 DDR (ODDR) 汎用出力 DDR コ ン ポーネ ン ト は、 PIO セルの送信側で x1 と x2、 x4、 及び 7:1 ギ ア リ ン グ ( こ の場合パ ラ シ リ 変換) 比に対応 し ます。 x1 ギ ア リ ン グは ODDRX、 すなわち基本 PIO セルに よ り サポー ト さ れます。 こ の 場合 SCLK を基準に 2 ビ ッ ト デー タ を シ リ ア ラ イ ズ し ます。 x1 ギ ア リ ン グには ク ロ ッ ク ド メ イ ン転送はあ り ません。 x2 ギ ア リ ン グは ODDRX2 に よ り サポー ト さ れ、 4 ビ ッ ト のパ ラ レルデー タ が、 SCLK に よ り ク ロ ッ キ ン グ さ れ、 ECLK を基準にシ リ ア ラ イ ズ さ れます。 x4 ギ ア リ ン グは、 ODDRX4 に よ り サポー ト さ れ、 8 ビ ッ ト のパ ラ レルデー タ が SCLK に よ り ク ロ ッ キ ン グ さ れ、 ECLK を基準にシ リ ア ラ イ ズ さ れます。 7:1 ギ ア リ ン グは x4 ギ ア リ ン グ と 同一構造を共有 し てお り 、7 ビ ッ ト のパ ラ レルデー タ が ECLK を基準にシ リ ア ラ イ ズ さ れます。 汎用高速 イ ン タ ーフ ェ イ ス のギ ア リ ン グは、 ビデオ PIO セルに よ り サポー ト さ れます。 遅延 高速 イ ン タ ーフ ェ イ ス では 2 種類の遅延が利用可能です。 1 番目の タ イ プは I/O ロ ジ ッ ク 遅延で、 入力デー タ パ ス に適用 さ れます。 32 タ ッ プの I/O ロ ジ ッ ク 遅延は、 静的 (固定) ま たは動的のいずれ も 可能ですが、 デー タ パ ス の動的遅延をサポー ト す る のは MachXO2-640U と MachXO2-1200/U、及び こ れ よ り 大規模デバ イ ス の下辺のみです。 Lattice 設計 ソ フ ト ウ ェ アで イ ン タ ーフ ェ イ ス をパ ラ メ ー タ 設定す る 場合、 I/O ロ ジ ッ ク 遅延 (DELAYE) にはデフ ォ ル ト と し て固定値が使用 さ れ ます。 ソ フ ト ウ ェ アが使用す る イ ン タ ーフ ェ イ ス に応 じ た固定遅延値を適用 し ます。 下辺の入力デー タ パス の動的遅延 (DELAYD) は、 動的遅延値ま たはユー ザ指定の遅延値が与え ら れます。 動的遅延の場合、 モジ ュ ールにはユーザ ロ ジ ッ ク と 接続 し て遅延を制御す る ためのポー ト が必要にな り ます。 I/O ロ ジ ッ ク 遅延を利用す る こ と で、 SDR のゼ ロ ・ ホール ド タ イ ムや、 x1 ギ ア リ ン グ用のプ ラ イ マ リ ク ロ ッ ク 注入遅延 ( イ ン ジ ェ ク シ ョ ン ・ デ ィ レ イ ) 補償、 x2 / x4 ギ ア リ ン グ 用のエ ッ ジ ク ロ ッ ク 注入遅延補償を実現で き ます。 2 番目の タ イ プは ク ロ ッ ク ス レーブ遅延セル (DLLDEL) で、入力 ク ロ ッ ク を 90° 位相遅延 し 、 ク ロ ッ ク エ ッ ジ をデー タ の中央に合わせます。 こ のブ ロ ッ ク は、 7 ビ ッ ト 制御 コー ド を介 し て DQSDLL に よ り デジ タ ル的 に制御 さ れます。 プ ラ イ マ リ ・ ク ロ ッ ク ピ ン 1 本ご と に ク ロ ッ ク ス レーブ遅延セルが一つあ り ます。 その入 力はプ ラ イ マ リ ・ ク ロ ッ ク ピ ンか ら 得 ら れ、 出力は x1 ア ラ イ ン ・ イ ン タ ーフ ェ イ ス に対 し てプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を ド ラ イ ブす る か、 x2 /x4 ア ラ イ ン ・ イ ン タ ーフ ェ イ ス に対 し て ECLK を ド ラ イ ブ し ます。 DQSBUF こ の コ ン ポーネ ン ト は DDR メ モ リ 専用の DQS 回路です。 メ モ リ リ ー ド 動作では DQS 入力信号を 90° 位相 シ フ ト し 、 メ モ リ ラ イ ト 動作では SCLK を 90° 位相シ フ ト し ます。 こ のブ ロ ッ ク か ら は ク ロ ッ ク 極性検出 (DDRCLKPOL) 、 バース ト 検出 (BURSTDET) 、 及びデー タ 有効 (DATAVALID) の各信号が生成 さ れます。 DQSBUF は MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模なデバ イ ス の右辺バン ク にあ り ます。 11-9 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 IDDRDQS こ れは DDR メ モ リ の入力バ ッ フ ァ で、 DQS か ら SCLK への ク ロ ッ ク ド メ イ ン転送をサポー ト し ます。 こ れ ら の PIO セルは DDR メ モ リ イ ン タ ーフ ェ イ ス専用で、 DDR メ モ リ の リ ー ド 動作で使用 さ れます。 IDDRDQS は MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模なデバ イ ス の右辺バン ク にあ り ます。 ODDRDQS こ れは DDR メ モ リ の出力バ ッ フ ァ で、 SCLK か ら DQS への ク ロ ッ ク ド メ イ ン転送をサポー ト し ます。 こ れ ら の PIO セルは DDR メ モ リ イ ン タ ーフ ェ イ ス専用で、DDR メ モ リ の ラ イ ト 動作で使用 さ れます。ODDRDQS は MachXO2-1200 及び こ れ よ り 大規模なデバ イ ス の右辺バン ク にあ り ます。 汎用高速 DDR イ ン タ ーフ ェ イ ス 汎用高速 イ ン タ ーフ ェ イ ス、 或いは汎用 DDR (GDDR : Generic DDR ) は、 MachXO2 においては専用の ロ ジ ッ ク ブ ロ ッ ク でサポー ト さ れます。 こ のセ ク シ ョ ンでは GDDR の タ イ プや イ ン タ ーフ ェ イ ス ・ ロ ジ ッ ク 、 及びシ リ コ ンで GDDR 機能をサポー ト す る ソ フ ト ウ ェ アについて説明 し ます。 高速 GDDR イ ン タ ーフ ェ イ ス の タ イ プ MachXO2 デバ イ ス フ ァ ミ リ がサポー ト す る GDDR イ ン タ ーフ ェ イ ス は、 ソ フ ト ウ ェ アで事前に定義 さ れ、 キ ャ ラ ク タ ラ イ ズ さ れてい ます。 表 11-2 に対応す る 全 イ ン タ ーフ ェ イ ス と 、 各 イ ン タ ーフ ェ イ ス の簡単な 説明を示 し ます。 以下は表 11-2 で用い ら れてい る イ ン タ ーフ ェ イ ス の略称の説明です。 • G ~ 汎用 • IREG ~ SDR 入力 I/O レ ジ ス タ • OREG ~ SDR 出力 I/O レ ジ ス タ • DDRX1 ~ DDR x1 I/O レ ジ ス タ • DDRX2 ~ DDR x2 I/O レ ジ ス タ • DDRX4 ~ DDR x4 I/O レ ジ ス タ • DDR71 ~ DDR 7:1 I/O レ ジ ス タ • _RX ~ 受信 イ ン タ ーフ ェ イ ス • _TX ~ 送信 イ ン タ ーフ ェ イ ス • ECLK ~ GDDR イ ン タ ーフ ェ イ ス で ECLK (エ ッ ジ ク ロ ッ ク ) リ ソ ース を使用 • SCLK ~ GDDR イ ン タ ーフ ェ イ ス で SCLK (プ ラ イ マ リ ク ロ ッ ク ) リ ソ ース を使用 • Centered (セ ン タ ー) ~ デバ イ ス入力端で ク ロ ッ ク エ ッ ジがデー タ の中央にあ る • Aligned (ア ラ イ ン) ~ デバ イ ス入力端で ク ロ ッ ク エ ッ ジ と デー タ エ ッ ジが揃っ てい る 11-10 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 表 11-2. 汎用高速 I/O DDR イ ン タ ーフ ェ イ ス モー ド イ ン タ ー フ ェ イ ス名 説 明 サポー ト するデバイ ス と 辺 RX SDR GIREG_RX.SCLK SCLK を用い る SDR 入力 RX GDDRx1 Aligned GDDRX1_RX.SCLK.Aligned SCLK を用い る DDRx1 入力、 デー タ は 640U と 1200/U こ れ以上の 入力 ク ロ ッ ク のエ ッ ジ と 揃っ てい る デバ イ ス、 全辺 全デバ イ ス、 全辺 RX GDDRx1 Centered GDDRX1_RX.SCLK.Centered SCLK を用い る DDRx1 入力、 入力 ク ロ ッ ク エ ッ ジはデー タ の中央にあ る RX GDDRx2 Aligned GDDRX2_RX.ECLK.Aligned ECLK を用い る DDRx2 入力、 デー タ は 640U と 1200/U こ れ以上の 入力 ク ロ ッ ク のエ ッ ジ と 揃っ てい る デバ イ ス、 下辺 RX GDDRx2 Centered GDDRX2_RX.ECLK.Centered ECLK を用い る DDRx2 入力、 入力 ク ロ ッ ク エ ッ ジはデー タ の中央にあ る RX GDDRx4 Aligned GDDRX4_RX.ECLK.Aligned ECLK を用い る DDRx4 入力、 デー タ は 640U と 1200/U こ れ以上の 入力 ク ロ ッ ク のエ ッ ジ と 揃っ てい る デバ イ ス、 下辺 RX GDDRx4 Centered GDDRX4_RX.ECLK.Centered ECLK を用い る DDRx4 入力、 入力 ク ロ ッ ク エ ッ ジはデー タ の中央にあ る 640U と 1200/U こ れ以上の デバ イ ス、 下辺 RX GDDR71 GDDR71_RX.ECLK.7:1 ECLK を用い る GDDR 7:1 入力 640U と 1200/U こ れ以上の デバ イ ス、 下辺 TX SDR GOREG_TX.SCLK SCLK を用い る SDR 出力 全デバ イ ス、 全辺 TX GDDRx1 Aligned GDDRX1_TX.SCLK.Aligned SCLK を用い る DDRx1 出力、 デー タ は 全デバ イ ス、 全辺 出力 ク ロ ッ ク のエ ッ ジ と 揃っ てい る TX GDDRx1 Centered GDDRX1_TX.SCLK.Centered SCLK を用い る DDRx1 出力、 出力 ク ロ ッ ク エ ッ ジはデー タ の中央にあ る TX GDDRx2 Aligned GDDRX2_TX.ECLK.Aligned ECLK を用い る DDRx2 出力、 デー タ は 640U と 1200/U こ れ以上の 出力 ク ロ ッ ク のエ ッ ジ と 揃っ てい る デバ イ ス、 上辺 TX GDDRx2 Centered GDDRX2_TX.ECLK.Centered ECLK を用い る DDRx2 出力、 出力 ク ロ ッ ク エ ッ ジはデー タ の中央にあ る TX GDDRx4 Aligned GDDRX4_TX.ECLK.Aligned ECLK を用い る DDRx4 出力、 デー タ は 640U と 1200/U こ れ以上の 出力 ク ロ ッ ク のエ ッ ジ と 揃っ てい る デバ イ ス、 上辺 TX GDDRx4 Centered GDDRX4_TX.ECLK.Centered ECLK を用い る DDRx4 出力、 出力 ク ロ ッ ク エ ッ ジはデー タ の中央にあ る 640U と 1200/U こ れ以上の デバ イ ス、 上辺 TX GDDR71 GDDR71_TX.ECLK.7:1 ECLK を用い る GDDR 7:1 出力 640U と 1200/U こ れ以上の デバ イ ス、 上辺 全デバ イ ス、 全辺 640U と 1200/U こ れ以上の デバ イ ス、 下辺 640U と 1200/U こ れ以上の デバ イ ス、 全辺 640U と 1200/U こ れ以上の デバ イ ス、 上辺 高速 GDDR イ ン タ ーフ ェ イ ス の詳細 本セ ク シ ョ ンでは、 使用 さ れ る ク ロ ッ キ ン グ も 含めて各汎用高速 イ ン タ ーフ ェ イ ス について詳細に説明 し ま す。 MachXO2 の ク ロ ッ キ ン グ構造の詳細については、 TN1199 ”MachXO2 sysCLOCK PLL Design and Usage Guide” を参照 し て く だ さ い。 表 11-2 に示す よ う に、 各 イ ン タ ーフ ェ イ ス は MachXO2 デバ イ ス の特定バン ク で対応 し ます。 こ れ ら の イ ン タ ーフ ェ イ ス を問題な く 構築す る ためには、 それぞれの イ ン タ ーフ ェ イ ス に関 す る アーキ テ ク チ ャ な ら びに イ ン タ ーフ ェ イ ス の規則、 さ ら に設計制約に従 う こ と が重要です。 本 ド キ ュ メ ン ト の "DDR ソ フ ト ウ ェ アのプ リ ミ テ ィ ブ と ア ト リ ビ ュ ー ト " に、 各 コ ン ポーネ ン ト について説明 さ れてい ます。 受信イ ン タ ー フ ェ イ ス Lattice IPexpress ™ ソ フ ト ウ ェ アでは、 8 種の定義済み受信 イ ン タ ーフ ェ イ ス がサポー ト さ れてい ます。 GIREG_RX.SCLK こ れはシ ン グルデー タ レー ト (SDR) のための汎用 イ ン タ ーフ ェ イ ス です。 実装には基本 PIO セル (図 111) 内の標準 I/O レ ジ ス タ が使用 さ れます。 オプシ ョ ンの イ ンバー タ を使用 し て、 ク ロ ッ ク 信号を入力デー タ の中央に合わせ る こ と も で き ます。 或いは PLL ま たは DLL を利用 し て、 ク ロ ッ ク 注入遅延を補償す る こ と や、 セ ッ ト ア ッ プ タ イ ム と ホール ド タ イ ム を調整す る こ と も で き ます。 アーキ テ ク チ ャ 的に DLL 数が限 ら れてい る ため、場合に よ っ ては こ れ ら を高速 イ ン タ ーフ ェ イ ス用に確保 し てお く 必要があ り ます。本 イ ン タ ー フ ェ イ ス は IPexpress で生成後に I/O レ ジ ス タ エ レ メ ン ト を イ ン ス タ ン スす る か、 論理合成ツールに推論 さ せ る こ と で構築で き ます。 11-11 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-9. GIREG_RX イ ン タ ーフ ェ イ ス Din Din DELAYE IREG IREG Clk Clk Sclk Sclk 入力デー タ パ ス の遅延セルは イ ン タ ーフ ェ イ ス の Din パス に使用で き ます。 DELAYE エ レ メ ン ト は固定遅延 を与え る こ と で、 SCLK の注入遅延に合わせます。 こ の イ ン タ ーフ ェ イ ス では動的入力遅延の DELAYD を使 用で き ません。 図 11-9 に本 イ ン タ ーフ ェ イ ス であ り 得 る 実装例を示 し ます。 イ ン タ ーフ ェ イ ス規則 : • ク ロ ッ ク ソ ース と し て必ず専用の ク ロ ッ ク ピ ン PCLK を使用す る こ と GDDRX1_RX.SCLK.Aligned 本 DDR イ ン タ ーフ ェ イ ス では、 DQSDLL を用いて ク ロ ッ ク を 90° 位相シ フ ト さ せ、 IDDRXE の SCLK ポー ト で ク ロ ッ ク エ ッ ジ をデー タ の中央に合わせます。 あ る いは、 DQSDLL の代わ り に PLL を使用 し て同 じ ク ロ ッ ク シ フ ト 機能を行 う こ と も で き ます。 DELAYE エ レ メ ン ト で、 SCLK の ク ロ ッ ク 注入時間にデー タ 遅延 を調整 し ます。 x1 イ ン タ ーフ ェ イ ス で DELAYD は使用で き ません。 図 11-10. DQSDLL を使用 し た GDDRX1_RX.SCLK.Aligned イ ン タ ーフ ェ イ ス datain D DELAYE IDDRXE q 2 SCLK clk DLLDELC DQSDLLC イ ン タ ーフ ェ イ ス規則 : • DLLDELC の ク ロ ッ ク ソ ース と し て、 必ず専用の ク ロ ッ ク ピ ン PCLK を使用す る こ と • 本 イ ン タ ーフ ェ イ ス で PLL を使用す る 場合、 専用のデ ュ アルフ ァ ン ク シ ョ ン PLL ク ロ ッ ク ピ ン を使用す る こ と も 可能 • DLL ま たは PLL 出力を SCLK ポー ト に接続す る 場合、 必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を使用す る こ と • 最良の タ イ ミ ン グ を得 る ために、 DELAYE 値を SCLK_ALIGNED に設定す る こ と • DQSDLLC や PLL はデバ イ ス あ た り 最大 2 つのため、 イ ン タ ーフ ェ イ ス の ク ロ ッ ク 周波数 も デバ イ ス あ た り 最大 2 つに制限 さ れ る GDDRX1_RX.SCLK.Centered 本 DDR イ ン タ ーフ ェ イ ス では、 DELAYE を用いて、 IDDRXE ポー ト で SCLK 遅延に整合 さ せます。 x1 イ ン タ ーフ ェ イ ス で DELAYD は使用で き ません。 セ ン タ ー ・ イ ン タ ーフ ェ イ ス では ク ロ ッ ク エ ッ ジが既にデー タ の中央に合わせ ら れてい ますので、 ク ロ ッ ク を位相シ フ ト す る ための ロ ジ ッ ク は不要です。 11-12 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-11. GDDRX1_RX.SCLK.Centered datain IDDRXE D DELAYE q 2 SCLK clk イ ン タ ーフ ェ イ ス規則 : • ク ロ ッ ク ソ ース と し て必ず専用の ク ロ ッ ク ピ ン PCLK を使用す る こ と • 最良の タ イ ミ ン グ を得 る ために、 DELAYE 値を SCLK_CENTERED に設定す る こ と • SCLK の接続は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を使用す る こ と GDDRX2_RX.ECLK.Aligned 本 DDR x2 イ ン タ ーフ ェ イ ス では、 DQSDLL を用いて ク ロ ッ ク を 90° 位相シ フ ト さ せ、 IDDRX2E の SCLK ポー ト で ク ロ ッ ク エ ッ ジ をデー タ の中央に合わせます。DELAYE を使用 し てデー タ を遅延 さ せ る こ と で ECLK の注入遅延に整合 さ せ ま すが、 DELAYD を使用 し て遅延を動的に制御す る こ と も で き ま す。 こ の イ ン タ ー フ ェ イ ス は、 IDDRX2E エ レ メ ン ト に よ る x2 ギア リ ン グ を利用 し てい る ため、 CLKDIVC を使用 し て周波数が ECLK の半分の SCLK を生成す る 必要があ り ます。 ECLKSYNCA エ レ メ ン ト は ECLK に関連づけ ら れてい る ブ ロ ッ ク で、 ECLK を ド ラ イ ブす る ために必ず使用す る 必要があ り ます。 イ ン タ ーフ ェ イ ス での ワー ド ア ラ イ メ ン ト 用に ALIGNWD ポー ト が使用で き ます。 図 11-12. GDDRX2_RX.ECLK.Aligned イ ン タ ーフ ェ イ ス Dynamic Delay Port (Optional) datain ECLK DELAYE or DELAYD IDDRX2E D q ALIGNWD 4 ALIGNWD ECLK SCLK ECLKSCYNA clk DLLDELC CDIVX CLKDIVC DQSDLLC イ ン タ ーフ ェ イ ス規則 : • DLLDELC の ク ロ ッ ク ソ ース と し て必ず専用の ク ロ ッ ク ピ ン PCLK を使用す る こ と • SCLK の接続は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を使用す る こ と • DQSDLLC はデバ イ ス当た り 最大 2 つのため、 ク ロ ッ ク 周波数 も デバ イ ス あ た り 最大で 2 つに制限 さ れ る • DELAYE は ECLK_ALIGNED に設定す る こ と • DELAYD を使用す る 場合、 バ ス全体で 1 つの動的遅延ポー ト のみが必要 11-13 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 • 本 イ ン タ ーフ ェ イ ス は MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の下辺でのみ サポー ト GDDRX2_RX.ECLK.Centered 本 DDR x2 イ ン タ ーフ ェ イ ス では、 DELAYE ま たは DELAYD を用いてデー タ を遅延 さ せ、 IDDRX2E ポー ト で ECLK の遅延に整合 さ せます。 こ の イ ン タ ーフ ェ イ ス はエ ッ ジ ク ロ ッ ク ・ ネ ッ ト ワー ク を用い る ため、 デバ イ ス の 一辺全体 に わ た る 広 い デー タ バ ス 幅 に 対応す る よ う に 拡張 で き ま す。 本 イ ン タ ー フ ェ イ ス は、 IDDRX2D エ レ メ ン ト に よ る x2 ギ ア リ ン グ を用い る ため、CLKDIVC で周波数が ECLK の半分の SCLK を生成 す る 必要があ り ます。 イ ン タ ーフ ェ イ ス での ワー ド ア ラ イ メ ン ト 用に ALIGNWD ポー ト が使用で き ます。 図 11-13. GDDRX2_RX.ECLK.Centered イ ン タ ーフ ェ イ ス Dynamic Delay Port (Optional) datain ECLK DELAYE or DELAYD IDDRX2E D q ALIGNWD ECLK clk 4 ALIGNWD SCLK ECLKSCYNA CDIVX CLKDIVC イ ン タ ーフ ェ イ ス規則 : • ECLKSYNCA の ク ロ ッ ク ソ ース と し て、 必ず専用の ク ロ ッ ク ピ ン PCLK を使用す る こ と • SCLK の接続は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を使用す る こ と • DELAYE は ECLK_CENTERED に設定す る こ と • DELAYD を使用す る 場合、 バ ス全体で 1 つの動的遅延ポー ト のみが必要 • 本 イ ン タ ーフ ェ イ ス は MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の下辺でのみ サポー ト 11-14 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 GDDRX4_RX.ECLK.Aligned 本 DDR x4 イ ン タ ーフ ェ イ ス は、 DQSDLL を用いて ク ロ ッ ク を 90° 位相シ フ ト さ せ、 IDDRX4B ポー ト で ECLK エ ッ ジ をデー タ の中央に合わせます。 DELAYE でデー タ を遅延 さ せ、 ECLK の注入遅延に整合 さ せま すが、DELAYD を用いて遅延を動的に制御す る こ と も で き ます。 こ の イ ン タ ーフ ェ イ ス ではエ ッ ジ ク ロ ッ ク ・ ネ ッ ト ワー ク を使用す る ため、 デバ イ ス の一辺全体にわた る 広いデー タ バ ス幅に対応す る よ う に拡張で き ま す。 本 イ ン タ ーフ ェ イ ス では IDDRX4B エ レ メ ン ト に よ る x4 ギ ア リ ン グ を用い る ため、 CLKDIVC で周波数 が ECLK の 1/4 の SCLK を生成す る 必要があ り ます。 ECLKSYNCA エ レ メ ン ト は ECLK に関連づけ ら れてい る ブ ロ ッ ク で、 ECLK を ド ラ イ ブす る ために必ず使用す る 必要があ り ます。 イ ン タ ーフ ェ イ ス での ワ ー ド ア ラ イ メ ン ト 用に ALIGNWD ポー ト が使用で き ます。 図 11-14. GDDRX4_RX.ECLK.Aligned イ ン タ ーフ ェ イ ス Dynamic Delay Port (Optional) datain ECLK DELAYE or DELAYD IDDRX2E D q ALIGNWD 8 ALIGNWD ECLK SCLK ECLKSCYNA clk DLLDELC CDIVX CLKDIVC DQSDLLC イ ン タ ーフ ェ イ ス規則 : • DLLDELC の ク ロ ッ ク ソ ース と し て必ず専用の ク ロ ッ ク ピ ン PCLK を使用す る こ と • SCLK の接続は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を使用す る こ と • DQSDLLC はデバ イ ス あ た り 最大で 2 つのため、 ク ロ ッ ク 周波数 も デバ イ ス あ た り 最大で 2 つに制限 さ れ る • x4 ギ ア リ ン グには、 デー タ 入力に必ず I/O ロ ジ ッ ク セルの A/B ペア を使用す る こ と • DELAYE は ECLK_ALIGNED に設定す る こ と • DELAYD を使用す る 場合、 バ ス全体で 1 つの動的遅延ポー ト のみが必要 • 本 イ ン タ ーフ ェ イ ス は MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の下辺でのみ サポー ト 11-15 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 GDDRX4_RX.ECLK.Centered 本 DDR x4 イ ン タ ーフ ェ イ ス は、 DELAYE ま たは DELAYD を用いてデー タ を遅延 さ せ、 IDDRX4B ポー ト で ECLK の遅延に整合 さ せます。 こ の イ ン タ ーフ ェ イ スはエ ッ ジ ク ロ ッ ク ・ ネ ッ ト ワー ク を使用 し てい る ため、 デバ イ ス の一辺全体にわ た る 広いデー タ バ ス 幅に対応す る よ う に拡張で き ま す。 本 イ ン タ ー フ ェ イ ス は、 IDDRX4B エ レ メ ン ト に よ る x4 ギ ア リ ン グ を用い る ため、CLKDIVC で周波数が ECLK の 1/4 の SCLK を生成 す る 必要があ り ます。 イ ン タ ーフ ェ イ ス での ワー ド ア ラ イ メ ン ト 用に ALIGNWD ポー ト が使用で き ます。 図 11-15. GDDRX4_RX.ECLK.Centered イ ン タ ーフ ェ イ ス Dynamic Delay Port (Optional) datain ECLK DELAYE or DELAYD IDDRX2E D q ALIGNWD ECLK clk 8 ALIGNWD SCLK ECLKSCYNA CDIVX CLKDIVC イ ン タ ーフ ェ イ ス規則 : • ECLKSYNCA の ク ロ ッ ク ソ ース と し て、 必ず専用の ク ロ ッ ク ピ ン PCLK を使用す る こ と • SCLK の接続は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を使用す る こ と • x4 ギ ア リ ン グには、 デー タ 入力は必ず I/O ロ ジ ッ ク セルの A/B ペア を使用す る こ と • DELAYE は ECLK_CENTERED に設定す る こ と • DELAYD を使用す る 場合、 バ ス全体で 1 つの動的遅延ポー ト のみが必要 • 本 イ ン タ ーフ ェ イ ス は MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の下辺でのみ サポー ト 11-16 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 GDDR71_RX.ECLK.7:1 GDDR 7:1 受信 イ ン タ ーフ ェ イ ス は、 サポー ト す る 高速 DDR イ ン タ ーフ ェ イ ス の中で も 特異です。 こ こ では ビ ッ ト ア ラ イ メ ン ト 処理において、 PLL を用いてデー タ ポジシ ョ ンに対 し て最良の ク ロ ッ ク エ ッ ジ をサーチ し ます。 PLL には 16 通 り の位相ス テ ッ プが設定で き ますので DDR の場合デー タ 当た り 8 点のサンプ リ ン グ ポ イ ン ト を提供 し ます。 本 イ ン タ ーフ ェ イ ス では、 デー タ パ ス遅延は使用 し ません。 1:7 デシ リ ア ラ イ ズ要 件に従い、 CLKDIVC を使用 し て ECLK を 3.5 分周 し ます。 即ち SCLK は、 入力デー タ レー ト に対 し て 7 分の 一で動作す る と い う こ と です。 ECLKSYNCA エ レ メ ン ト は ECLK に関連す る ブ ロ ッ ク で、 ECLK の ド ラ イ ブ に必ず使用 し なければな り ません。 完全な 7:1 LVDS ビデオデ ィ ス プ レ イ ・ アプ リ ケーシ ョ ン を実現す る た めには、 ハー ド マ ク ロ で組み込み済みの I/O ギ ア リ ン グ と ア ラ イ メ ン ト ・ ロ ジ ッ ク に加え、 FPGA リ ソ ース で ビ ッ ト ア ラ イ メ ン ト と ワ ー ド ア ラ イ メ ン ト を構築す る 必要が あ り ま す。 そのために CLK_PHASE 信号が FPGA 側に転送 さ れます。 図 11-16. GDDR71_RX.ECLK.7:1 イ ン タ ーフ ェ イ ス ECLK datain IDDRX71A D q ALIGNWD ECLK ALIGNWD 7 SCLK ECLKSCYNA CDIVX clk PLL CLKDIVC ECLK SCLK 7 D ALIGNWD IDDRX71A CLK_PHASE イ ン タ ーフ ェ イ ス規則 : • PLL の ク ロ ッ ク ソ ース と し て、 必ず下辺の専用 ク ロ ッ ク ピ ン PCLK を使用す る こ と • SCLK の接続は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を使用す る こ と • PLL はデバ イ ス あ た り 最大で 2 つのため、 ク ロ ッ ク 周波数 も デバ イ ス あ た り 最大で 2 系統に制限 さ れ る • 7:1 ギ ア リ ン グには、 デー タ 入力は必ず I/O ロ ジ ッ ク セルの A/B ペア を使用す る こ と • 本 イ ン タ ーフ ェ イ ス は MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の下辺でのみ サポー ト 11-17 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 送信イ ン タ ー フ ェ イ ス Lattice IPexpress ソ フ ト ウ ェ アに よ り 、 8 種の送信 イ ン タ ーフ ェ イ ス があ ら か じ め規定 さ れ、 サポー ト さ れて い ます。 GOREG_TX.SCLK こ れは SDR デー タ と フ ォ ワー ド ク ロ ッ ク のための汎用 イ ン タ ーフ ェ イ ス です。基本 PIO セル内の標準レ ジ ス タ を使用 し て、 こ の イ ン タ ーフ ェ イ ス を実装 し ます。 ク ロ ッ ク 出力に ODDRXE を使用 し て、 ク ロ ッ ク パ ス と デー タ パ ス を整合 さ せます。 ま た ODDRXE か ら の ク ロ ッ ク 出力 と し て、PLL を使用 し て位相シ フ ト し た ク ロ ッ ク 信号を用い る こ と で、 デー タ 出力に対 し て正確な ク ロ ッ ク 位相 と す る こ と も で き ます。 各デバ イ ス搭 載の PLL 数が限 ら れ る ため、 場合に よ っ ては こ れ ら を高速 イ ン タ ーフ ェ イ ス用に確保 し てお く 必要があ り ま す。 本 イ ン タ ーフ ェ イ ス は、 IPexpress に よ る 生成か、 I/O レ ジ ス タ ・ エ レ メ ン ト の イ ン ス タ ン ス化、 あ る い は論理合成ツールに よ る 推論に よ っ て構築す る こ と がで き ます。 図 11-17. GOREG_TX.SCLK イ ン タ ーフ ェ イ ス dataout d OREG clk 0 SCLK clkout ODDRXE 1 イ ン タ ーフ ェ イ ス規則 : • SCLK の接続は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を用い る こ と GDDRX1_TX.SCLK.Aligned こ の出力 DDR イ ン タ ーフ ェ イ ス は、 1 本の SCLK を使用 し てエ ッ ジ ア ラ イ ン さ れた ク ロ ッ ク 信号 と デー タ 出 力です。 ク ロ ッ ク 出力用に ODDRXE を使用 し て、 ク ロ ッ ク パ ス と デー タ パ ス と を整合 さ せます。 図 11-18. GDDRX1_TX.SCLK.Aligned イ ン タ ーフ ェ イ ス 1 clk D0 SCLK 0 clkout D1 ODDRXE d0 D0 d1 D1 dataout ODDRXE SCLK イ ン タ ーフ ェ イ ス規則 : • SCLK の接続は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を用い る こ と 11-18 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 GDDRX1_TX.SCLK.Centered こ の出力 DDR イ ン タ ーフ ェ イ ス は、 デー タ の中央に ク ロ ッ ク エ ッ ジがあ る ク ロ ッ ク と デー タ の出力です。 PLL は clkop と clkos ポー ト を使用 し て、デー タ と ク ロ ッ ク 間に 90° の位相差を与え ます。出力デー タ の I/O セル と 出力 ク ロ ッ ク の I/O セルを ド ラ イ ブす る ためには、 2 本の SCLK リ ソ ース が必要です。 図 11-19. GDDRX1_TX.SCLK.Centered イ ン タ ーフ ェ イ ス 0 clkop clk PLL D1 SCLK clkos 1 clkout D0 ODDRXE d0 D0 d1 D1 dataout ODDRXE SCLK イ ン タ ーフ ェ イ ス規則 : • SCLK と 90° 位相シ フ ト し た SCLK は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を用い る こ と GDDRX2_TX.ECLK.Aligned こ の出力 DDR x2 イ ン タ ーフ ェ イ ス は、 エ ッ ジ ア ラ イ ン さ れた ク ロ ッ ク 信号 と デー タ を出力 し ます。 CLKDIV を使用 し て周波数が ECLK の半分の SCLK を生成 し ます。 ま た ECLK パス に対 し て ECLKSYNC エ レ メ ン ト を使用 し 、 デー タ 同期を実行 し ます。 図 11-20. GDDRX2_TX.ECLK.Aligned イ ン タ ーフ ェ イ ス 1 D0 0 D1 1 D2 0 D3 d0 D0 d1 D1 d2 D2 d3 D3 ODDRX2E SCLK ECLK ODDRX2E SCLK clkout dataout ECLK CLKDIV clk ECLKSYNCA イ ン タ ーフ ェ イ ス規則 : • ECLK の接続は必ずエ ッ ジ ク ロ ッ ク ・ ネ ッ ト ワー ク を使用す る こ と • SCLK の接続は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を使用す る こ と • 本 イ ン タ ーフ ェ イ ス は MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の上辺でのみ サポー ト 11-19 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 GDDRX2_TX.ECLK.Centered こ の出力 DDR x2 イ ン タ ーフ ェ イ ス は、 デー タ 開口の中央にエ ッ ジがあ る ク ロ ッ ク と デー タ を出力 し ます。 PLL の clkop と clkos ポー ト を使用 し てデー タ と ク ロ ッ ク 間に 90° の位相差を与え、2 本の ECLK 配線 リ ソ ー ス を使用 し て出力デー タ と 出力 ク ロ ッ ク を ド ラ イ ブ し ます。 ま た CLKDIV を使用 し て周波数が ECLK の半分 の SCLK を生成 し ます。 図 11-21. GDDRX2_TX.ECLK.Centered イ ン タ ーフ ェ イ ス d0 D0 d1 D1 d2 D2 d3 D3 SCLK ECLK 1 D0 SCLK ECLK 0 D1 1 D2 0 D3 ODDRX2E dataout CLKDIV clk clkop PLL eclk ECLKSYNCA clkos eclk 90° ECLKSYNCA ODDRX2E clkout イ ン タ ーフ ェ イ ス規則 : • ECLK の接続は必ずエ ッ ジ ク ロ ッ ク ・ ネ ッ ト ワー ク を使用す る こ と • 本 イ ン タ ーフ ェ イ ス は 2 本の ECLK を使用す る ため、 一度に実装で き る のは 1 つのバス のみ • SCLK の接続は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を使用す る こ と • 本 イ ン タ ーフ ェ イ ス は MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の上辺でのみ サポー ト 11-20 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 GDDRX4_TX.ECLK.Aligned こ の出力 DDR x4 イ ン タ ーフ ェ イ ス は、 エ ッ ジ ア ラ イ ン さ れた ク ロ ッ ク 信号 と デー タ を出力 し ます。 CLKDIV を使用 し て周波数が ECLK の 1/4 の SCLK を生成 し ます。 ま た ECLK パ ス に対 し て ECLKSYNC エ レ メ ン ト を使用 し 、 デー タ 同期を実行 し ます。 図 11-22. GDDRX4_TX.ECLK.Aligned イ ン タ ーフ ェ イ ス 1 0 1 0 1 0 1 0 D0 D1 D2 D3 D4 D5 D6 D7 ODDRX4B d0 d1 d2 d3 d4 d5 d6 d7 D0 D1 D2 D3 D4 D5 D6 D7 ODDRX4B clkout SCLK ECLK dataout SCLK ECLK CLKDIV clk ECLKSYNCA イ ン タ ーフ ェ イ ス規則 : • ECLK の接続は必ずエ ッ ジ ク ロ ッ ク ・ ネ ッ ト ワー ク を使用す る こ と • SCLK の接続は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を使用す る こ と • x4 ギ ア リ ン グには、 デー タ 出力に必ず I/O ロ ジ ッ ク セルの A/B ペア を使用す る こ と • 本 イ ン タ ーフ ェ イ ス は MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の上辺でのみ サポー ト 11-21 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 GDDRX4_TX.ECLK.Centered こ の出力 DDR x4 イ ン タ ーフ ェ イ ス は、 デー タ 開口の中央にエ ッ ジがあ る ク ロ ッ ク と デー タ を出力 し ます。 PLL の clkop と clkos ポー ト を使用 し て、 デー タ と ク ロ ッ ク 間に 90° の位相差を与え、 2 本の ECLK 配線 リ ソ ース を使用 し て出力デー タ と 出力 ク ロ ッ ク を ド ラ イ ブ し ます。 ま た CLKDIV を使用 し て周波数が ECLK の 1/4 の SCLK を生成 し ます。 図 11-23. GDDRX4_TX.ECLK.Centered イ ン タ ーフ ェ イ ス d0 d1 d2 d3 d4 d5 d6 d7 D0 D1 D2 D3 D4 D5 D6 D7 dataout ODDRX4B SCLK ECLK SCLK ECLK CLKDIV clkop clk PLL eclk ECLKSYNCA clkos eclk 90° ECLKSYNCA 1 0 1 0 1 0 1 0 D0 D1 D2 D3 D4 D5 D6 D7 ODDRX4B clkout イ ン タ ーフ ェ イ ス規則 : • ECLK の接続は必ずエ ッ ジ ク ロ ッ ク ・ ネ ッ ト ワー ク を使用す る こ と • 本 イ ン タ ーフ ェ イ ス は 2 本の ECLK を使用す る ため、 一度に実装で き る のは 1 つのバス のみ • SCLK の接続は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を使用す る こ と • x4 ギ ア リ ン グには、 デー タ 出力に必ず I/O ロ ジ ッ ク の A/B ペア を使用す る こ と • 本 イ ン タ ーフ ェ イ ス は MachXO2-640U、 MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の上辺でのみサ ポー ト 11-22 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 GDDR71_TX.ECLK.7:1 GDDR 7:1 送信 イ ン タ ーフ ェ イ ス は、 サポー ト さ れてい る 高速 DDR イ ン タ ーフ ェ イ ス の中で も 特異です。 こ の イ ン タ ー フ ェ イ ス は特定パ タ ー ン を 使用 し 、 ピ ク セ ル ク ロ ッ ク と 呼ぶ出力 ク ロ ッ ク を 生成 し ま す。 CLKDIVC を使用 し て、 7:1 シ リ ア ラ イ ズ要件に基づいて ECLK を 3.5 分周 し ます。 即ち SCLK は送信デー タ レー ト よ り 7 分の一の周波数で動作す る と い う こ と です。 ECLKSYNCA エ レ メ ン ト は ECLK に関連す る ブ ロ ッ ク で、 ECLK を ド ラ イ ブす る ために必ず使用 し なければな り ません。 図 11-24. GDDR71_TX.ECLK.7:1 イ ン タ ーフ ェ イ ス 1 1 0 0 D0 D1 D2 D3 D4 D5 D6 0 1 1 clkout ODDRX71A SCLK d0 d1 d2 d3 D0 D1 D2 D3 d4 d5 d6 D4 D5 D6 ECLK dataout ODDRX71A SCLK ECLK CLKDIV clk ECLKSYNCA イ ン タ ーフ ェ イ ス規則 : • ECLK の接続は必ずエ ッ ジ ク ロ ッ ク ・ ネ ッ ト ワー ク を使用す る こ と • SCLK の接続は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト を使用す る こ と • 7:1 ギ ア リ ン グには、 デー タ 出力に必ず I/O ロ ジ ッ ク の A/B ペア を使用す る こ と • 本 イ ン タ ーフ ェ イ ス は MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の上辺でのみ サポー ト IPexpress を使用 し た汎用高速 DDR イ ン タ ーフ ェ イ ス の構築 上記の汎用高速 イ ン タ ーフ ェ イ ス は全て、Lattice 設計 ソ フ ト ウ ェ アの IPexpress ツールを使用 し て、パ ラ メ ー タ 設定な ら びに生成をお こ ない ま す。 IPexpress は各 イ ン タ ーフ ェ イ ス の ク ロ ッ キ ン グ要件を含む HDL モ ジ ュ ール一式を生成 し ます。IPexpress の GUI では全ての DDR モジ ュ ールが Architecture Modules > IO に配置 さ れてい ます。 こ のセ ク シ ョ ンでは、 IPexpress の SDR と DDR_GENERIC、 及び GDDR_71 イ ン タ ーフ ェ イ ス について説明 し ます。 表 11-3 は IPexpress モジ ュ ールで使用 さ れ る 信号名を示 し ます。 各信号は全ての イ ン タ ーフ ェ イ ス、 あ る い は特定の イ ン タ ーフ ェ イ ス で用い ら れます。 信号は GDDR 受信 イ ン タ ーフ ェ イ ス と 送信 イ ン タ ーフ ェ イ ス で 別々に リ ス ト さ れてい ます。 11-23 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 表 11-3. IPexpress モジ ュールで使用 さ れ る信号名 信号名 方向 記述 サポー ト する イ ン タ ーフ ェ イ ス 受信 イ ン タ ーフ ェ イ ス clk 入力 ソ ース シ ン ク ロ ナ ス ・ ク ロ ッ ク 全て reset 入力 イ ン タ ーフ ェ イ スへの非同期 リ セ ッ ト 、 High ア ク テ ィ ブ 全て datain 入力 Rx イ ン タ ーフ ェ イ ス でのシ リ アルデー タ 入力 全て uddcntln 入力 遅延 コ ー ド のホール ド / ア ッ プデー ト 制御、 Low ア ク テ ィ ブ (DQSDLLC の DQSDEL 出力は、 UDDCNTLN が Low の時に PTV バ ラ つ き に依存 し て ア ッ プデー ト さ れ る ) x1, x2, x4 ア ラ イ ン freeze 入力 DLL を フ リ ーズ、 ま たは リ リ ース。 High ア ク テ ィ ブ (High の時、 遅 延値が維持 さ れてい る 間は DLL を フ リ ーズ し て電力消費を節約す る 。 x1, x2, x4 ア ラ イ ン Low の時は DLL が動作を再開す る よ う に解放す る ) alignwd 入力 ワ ー ド ア ラ イ メ ン ト 制御信号、 High ア ク テ ィ ブ (ALIGNWD は ECLK ド メ イ ンに対 し て非同期で も 可。 最低 ECLK の 2 x2, x4, 7:1 サ イ ク ル分以上の幅であ る 必要があ る ) dqsdll_reset 入力 非同期 DQSDLL リ セ ッ ト 、 High ア ク テ ィ ブ x2, x4 ア ラ イ ン clk_s1 入力 リ セ ッ ト 同期用の低速 ク ロ ッ ク ( こ の ク ロ ッ ク は ECLK よ り も 低速であ る こ と ) x2, x4, 7:1 init 入力 リ セ ッ ト 同期を初期化、 High ア ク テ ィ ブ x2, x4, 7:1 phase_dir 入力 ダ イ ナ ミ ッ ク 位相調整の方向 (位相シ フ ト は Low の時は 1 ス テ ッ プ 遅 ら せ ら れ、 High の時は 1 ス テ ッ プ進ませ ら れ る ) 7:1 phase_step 入力 ダ イ ナ ミ ッ ク 位相調整の ス テ ッ プ (ス テ ッ プご と に 45 度シ フ ト 。 ア ク テ ィ ブ Low) 7:1 sclk 出力 FPGA フ ァ ブ リ ッ ク へのシ ス テ ム ク ロ ッ ク 全て q 出力 Rx イ ン タ ーフ ェ イ ス のパ ラ レルデー タ 出力 全て lock 出力 DLL / PLL ロ ッ ク x2, x4, 7:1 eclk 出力 入力 ク ロ ッ ク か ら 生成 さ れたエ ッ ジ ク ロ ッ ク x2, x4 ア ラ イ ン , 7:1 rx_ready 出力 リ セ ッ ト 同期完了を示す x2, x4, 7:1 clk_phase 出力 入力 ク ロ ッ ク 位相の 7 ビ ッ ト 表記 (ビ ッ ト ア ラ イ メ ン ト 用論理回路のために用い ら れ る ) 7:1 送信 イ ン タ ーフ ェ イ ス clk 入力 Tx イ ン タ ーフ ェ イ スへの主入力 ク ロ ッ ク 全て reset 入力 イ ン タ ーフ ェ イ スへの非同期 リ セ ッ ト 、 High ア ク テ ィ ブ 全て dataout 入力 Tx イ ン タ ーフ ェ イ スへのパ ラ レル入力デー タ 全て clk_s1 入力 リ セ ッ ト 同期用の低速 ク ロ ッ ク ( こ の ク ロ ッ ク は ECLK よ り も 低速であ る こ と ) x2, x4, 7:1 sclk 出力 FPGA フ ァ ブ リ ッ ク へのシ ス テ ム ク ロ ッ ク 全て dout 出力 Tx イ ン タ ーフ ェ イ スへのシ リ アル出力デー タ 全て clkout 出力 ソ ース シ ン ク ロ ナ ス ・ ク ロ ッ ク 全て tx_ready 出力 リ セ ッ ト 同期の完了を示す x2, x4, 7:1 1. リ セ ッ ト 同期処理用の clk_s はど の よ う な低速 ク ロ ッ ク で も 可。 eclk よ り 低速であ る こ と SDR イ ン タ ーフ ェ イ ス の構築 図 11-25 に示す よ う に、 イ ン タ ーフ ェ イ ス タ イ プ と し て SDR を選択 し 、 モジ ュ ール名を入力 し て Customize を ク リ ッ ク す る と 、 Configuration タ ブが開 き ます。 11-24 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-25. IPexpress メ イ ン ウ イ ン ド ウ におけ る SDR イ ン タ ーフ ェ イ ス の選択 図 11-26 は IPexpress におけ る SDR モジ ュ ールの Configuration タ ブを示 し てい ます。表 11-4 は SDR モジ ュ ー ルで利用で き る 様々な コ ン フ ィ グ レーシ ョ ン ・ パ ラ メ ー タ を示 し てい ます。 11-25 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-26. SDR イ ン タ ーフ ェ イ ス の Configuration タ ブ 表 11-4. SDR イ ン タ ーフ ェ イ ス の GUI オプシ ョ ン GUI オプ シ ョ ン Interface Type 説明 値 ・ 範囲 イ ン タ ーフ ェ イ ス タ イ プ I/O Standard for this interface 本 イ ン タ ーフ ェ イ ス の I/O 規格 Bus Width for this Interface デ フ ォル ト 値 Transmit, Receive Receive 選択 し た タ イ プご と に、 全 ての I/O をサポー ト LVCMOS25 イ ン タ ーフ ェ イ ス のバ ス幅 1 ~ 128 16 Clock Frequency for this Interface イ ン タ ーフ ェ イ ス の動作速度 1 ~ 378MHz (HP 品) 1 ~ 210MHz (LP 品) 166MHz Interface Bandwidth (calculated) 入力 さ れた ク ロ ッ ク 周波数か ら 算出 ( 算出 ) ( 算出 ) Interface それま での入力に基づいて選択 さ れた Transmit: GOREG_TX.SCLK イ ン タ ーフ ェ イ ス Receive: GIREG_RX.SCLK GIREG_RX.SCLK Clock Inversion I/O レ ジ ス タ に対 し て ク ロ ッ ク 入力を DISABLED, ENABLED 反転 さ せ る オプシ ョ ン DISABLED Data Path Delay デー タ 入力を DELAY ブ ロ ッ ク を用い て任意に遅延 Bypass FDEL for User Defined 上記で User Defined が選択 さ れた遅延 タ イ プの場合、 こ のパ ラ メ ー タ で遅延 Delay0 ~ Delay31 値を入力可能 11-26 Bypass, SCLK_ZEROHOLD, User Defined Delay0 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 汎用 DDR (DDR Generic) イ ン タ ーフ ェ イ ス の構築 図 11-27, に示す よ う に、イ ン タ ーフ ェ イ ス タ イ プ DDR_Generic を選択 し 、モジ ュ ール名を入力 し て Customize を ク リ ッ ク す る と 、 Configuration タ ブが開 き ます。 図 11-27. IPexpress メ イ ン ウ イ ン ド ウ におけ る DDR_Generic イ ン タ ーフ ェ イ ス の選択 DDR_Generic イ ン タ ーフ ェ イ ス には Pre-Configuration タ ブ と Configuration タ ブがあ り ます。Pre-Configuration タ ブで構築す る イ ン タ ーフ ェ イ ス タ イ プに関す る 情報を入力で き ま す。 その入力に基づいて、 Configuration タ ブには最適な イ ン タ ーフ ェ イ ス が自動的に選択 さ れます。 必要であればパ ラ メ ー タ を書 き 換え て、 設計要 件に応 じ て イ ン タ ーフ ェ イ ス を カ ス タ マ イ ズで き ます。図 11-28 は IPexpress におけ る DDR_Generic モジ ュ ー ルの 2 つの タ ブ を示 し てい ます。 表 11-5 と 11-6 は、 DDR_Generic モジ ュ ールで利用可能な様々な コ ン フ ィ グ レーシ ョ ン ・ パ ラ メ ー タ を示 し ます。 11-27 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-28. DDR_Generic イ ン タ ーフ ェ イ ス の Pre-Configuration タ ブ 表 11-5. DDR_Generic モジ ュール、 Pre-Configuration タ ブの GUI オプシ ョ ン GUI オプ シ ョ ン 説明 範囲 デ フ ォル ト 値 Interface Type イ ン タ ーフ ェ イ ス タ イ プ Transmit, Receive 注1 I/O Standard for this interface こ の イ ン タ ーフ ェ イ ス の I/O 規格 選択 し た タ イ プご と に、 全て の I/O タ イ プ をサポー ト LVCMOS25 Clock Frequency for this Interface イ ン タ ーフ ェ イ ス の動作速度 1 ~ 378MHz (HP 品) 1 ~ 210MHz (LP 品) 注1 Bus Width for this Interface イ ン タ ーフ ェ イ ス のバ ス幅 選択 し た イ ン タ ーフ ェ イ ス に 注1 応 じ て種々 Number of this Interface サポー ト さ れ る 最大バ ス数 ( 算出 ) ( 算出 ) 入力 さ れた ク ロ ッ ク 周波数 と バス幅 Interface Bandwidth (calculated) ( 算出 ) か ら 算出 ( 算出 ) Clock to Data Relationship at the 外部 イ ン タ ーフ ェ イ ス の タ イ プ を選 Edge-to-Edge, Centered Pins 択 注1 1. Pre-Configuration タ ブの全フ ィ ール ド は、 デフ ォ ル ト では空白 11-28 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-29. DDR_Generic モジ ュールの Configuration タ ブ Pre-Configuration タ ブの選択内容に基づいて、 Configuration タ ブは図 11-30 で示す よ う に各フ ィ ール ド 内が 自動的に埋め ら れます。こ の タ ブの一番上のチ ェ ッ ク ボ ッ ク ス は、こ の イ ン タ ーフ ェ イ ス が Pre-Configuration タ ブの入力に基づいて選択 さ れてい る こ と を示 し てい ます。 ユーザは こ の入力を無効に し て値を変更で き ま す。 IPexpress は Pre-Configuration タ ブで選択 さ れた入力に基づいて、 最適な イ ン タ ーフ ェ イ ス を選択 し てい る こ と に留意 し て く だ さ い。 11-29 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 表 11-6. DDR_Generic モジ ュール、 Configuration タ ブの GUI オプシ ョ ン GUI オプ シ ョ ン 説明 範囲 デ フ ォル ト 値 Interface Selection based on preconfiguration Pre-configuration タ ブの選択に基づいて イ ン タ ーフ ェ イ ス が選択 さ れた こ と を示す。 ENABLED, こ のチ ェ ッ ク ボ ッ ク ス を無効にす る こ と DISABLED で、 ユーザはギ ア リ ン グ比や遅延 タ イ プな ど を選択で き る ENABLED Interface Type イ ン タ ーフ ェ イ ス の タ イ プ Transmit, Receive Receive I/O Standard こ の イ ン タ ーフ ェ イ ス の I/O 規格 選択 し た タ イ プに応 じ た全ての I/O タ イ プ LVCMOS25 Clock Frequency イ ン タ ーフ ェ イ ス の動作速度 1 ~ 378 MHz (HP 品) 1 ~ 266 MHz (LP 品) 200MHz 100MHz x1 Gearing Ratio イ ン タ ーフ ェ イ ス のギ ア リ ン グ比を選択 x1, x2, x4 Alignment 外部 イ ン タ ーフ ェ イ ス の タ イ プ を決定 Edge-to-Edge, Centered Edge-to-Edge Bus Width イ ン タ ーフ ェ イ ス のバ ス幅 1 ~ 128 4 Number of Interfaces サポー ト さ れ る 最大バ ス数 1~8 (算出) Interface サポー ト さ れ る GDDR イ ン タ ーフ ェ イ ス のリス ト 選択 し たギ ア リ ン グ比 と ア ラ イ メ ン ト に依存 GDDRX1_RX.SCLK.Aligned する Data Path Delay1 DELAY ブ ロ ッ ク を用いてデー タ 入力を任 意に遅延可能 Bypass, Predefined, User Predefined defined, Dynamic Generate PLL with this こ のモジ ュ ールで PLL を生成す る か し な Module2 いかのオプシ ョ ン Enabled, Disabled Enabled 1. User Defined が選択 さ れ る と 、 遅延値フ ィ ール ド が イ ネーブルにな り 、 ユーザは遅延値を 0 か ら 31 の範囲で選択で き る 。 Dynamic が選択 さ れ る と 、 モジ ュ ールに 5 ビ ッ ト のポー ト が追加 さ れ る 。 Dynamic が使用で き る のは x2 と x4 受信 イ ン タ ーフ ェ イ ス のみ 2. 本オプシ ョ ンは PLL を用い る イ ン タ ーフ ェ イ ス のみで、 GDDRX1_RX.SCLK.Aligned や GDDRX1_TX.SCLK.Centered、 GDDRX2_TX.ECLK.Centered、 及び GDDRX4_TX.ECLK.Centered が含まれ る Pre-Configuration タ ブが使用 さ れ る と 、 イ ン タ ーフ ェ イ ス のギ ア リ ン グ比は イ ン タ ーフ ェ イ ス の速度に よ り 決定 さ れます。 表 11-7 にギア リ ン グ比が どの よ う に選択 さ れ る か を示 し ます。 表 11-7. ソ フ ト ウ ェ アに よ る ギア リ ン グ比の選択 デバイ ス タ イ プ 高性能 ( HP) デバ イ ス 低消費電力 ( LP) デバ イ ス イ ン タ ー フ ェ イ ス速度 ギア リ ング比 =< 166MHz x1 > 166MHz かつ =< 266MHz x2 > 266MHz x4 =< 70MHz x1 >70MHz かつ =< 133MHz x2 >133MHz x4 汎用 DDR 7:1 イ ン タ ーフ ェ イ ス の構築 図 11-30, に示す よ う に、 イ ン タ ーフ ェ イ ス タ イ プ GDDR_71 を選択 し 、 モジ ュ ール名を入力 し て Customize を ク リ ッ ク す る と 、 Configuration タ ブが開 き ます。 こ のセ ク シ ョ ン では Configuration タ ブの GUI ユーザパ ラ メ ー タ を説明 し ます。 DDR 7:1 イ ン タ ーフ ェ イ ス は、 特有のアプ リ ケーシ ョ ン なので、 GUI オプシ ョ ンは比 較的シ ンプルです。 必要な ロ ジ ッ ク のほ と ん どが ソ フ ト ウ ェ アに組み込まれ、 使いやす く な っ てい ます。 11-30 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-30. IPexpress メ イ ン ウ イ ン ド ウ におけ る GDDR_71 イ ン タ ーフ ェ イ ス の選択 図 11-31. GDDR_71 の Configuration タ ブ 11-31 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 表 11-8. GDDR_71、 Configuration" タ ブの GUI オプシ ョ ン GUI オプ シ ョ ン 説明 Interface Type ン タ ーフ ェ イ ス の タ イ プ Data Width 入力 さ れ る チ ャ ネル数 7:1 LVDS イ ン タ ーフ ェ イ ス の ピ ク セル ・ High Speed Clock Frequency (Pixel Clock) ク ロ ッ ク 周波数 範囲 デ フ ォル ト 値 Transmit, Receive Receive 1 ~ 16 4 10 ~ 108 108 汎用高速 DDR の設計ガ イ ド ラ イ ン I/O ロ ジ ッ ク セル と ギ ア リ ン グ ロ ジ ッ ク それぞれのプログラマブル IO セル(PIC)には、4 つのプログラマブル I/O(PIO)があり、2 組の I/O バッ ファペアを形成します。各 PIO 自体は x1 ギアリング比に対応します。A/B や C/D の PIO ペアはいずれも x2ギアリング比に対応できます。x4か7:1ギアリング比のサポートにはPICブロック1つの4 PIOすべてが必 要です。パッケージに A/B ペアのピンが C/D ピンと独立して用意されているときのみ、x4 と 7:1 ギアリン グ比に対応することができます。特定のパッケージで利用できる x2 インターフェイスの総数は、A/B ペア と C/D ペアの総数によって決定されます。特定のパッケージで利用できる x4 や 7:1 インターフェイスの総 数は、A/B ペアの総数によって決定されます。 表 11-9. I/O ロ ジ ッ ク セルの ミ ク ス ト モー ド でサポー ト さ れ る ギア リ ン グ ロ ジ ッ ク I/O ロ ジ ッ ク A x2 ギ ア リ ン グ (A/B IDDRX2 又は ODDRX2 ペア ) I/O ロ ジ ッ ク B I/O ロ ジ ッ ク C I/O ロ ジ ッ ク D 基本 I/O レ ジ ス タ 又は 基本 I/O レ ジ ス タ 又は x1 ギ ア リ ン グ x1 ギ ア リ ン グ 非該当 x2 ギ ア リ ン グ (C/D ペア ) 基本 I/O レ ジ ス タ 又は x1 基本 I/O レ ジ ス タ 又は IDDRX2 又は ODDRX2 非該当 ギア リ ング x1 ギ ア リ ン グ x4 ギ ア リ ン グ IDDRX4 又は ODDRX4 非該当 基本 I/O レ ジ ス タ 又は 基本 I/O レ ジ ス タ 又は x1 ギ ア リ ン グ x1 ギ ア リ ン グ 7:1 ギ ア リ ン グ IDDRX71 又は ODDRX71 非該当 基本 I/O レ ジ ス タ 又は 基本 I/O レ ジ ス タ 又は x1 ギ ア リ ン グ x1 ギ ア リ ン グ 高速 ECLK ブ リ ッ ジ 高速 ECLK ブ リ ッ ジは、MachXO2 デバ イ ス内の ECLK 通信を拡張す る ために用い ら れ、主に高速ビデオ用途 で利用 さ れます。 こ れは MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス で使用可能で す。こ のブ リ ッ ジ を使用す る と 、ク ロ ッ ク ソ ース がデバ イ ス の上辺 と 下辺にあ る エ ッ ジ ク ロ ッ ク を低ス キ ュ ー で ド ラ イ ブで き る よ う にな り ます。 こ のブ リ ッ ジへの入力信号には、 上辺 と 下辺のプ ラ イ マ リ ・ ク ロ ッ ク ピ ン入力 と 、 両辺か ら の PLL 出力、 及び ク ロ ッ ク ツ リ ー配線が含まれます。 ECLK ブ リ ッ ジには、 デバ イ ス上下辺の ECLK に 1 つずつ、 計 2 つのブ リ ッ ジ ・ マルチプ レ ク サがあ り ます。 こ れ ら のマルチプ レ ク サは、 2 本のエ ッ ジ ク ロ ッ ク 間で動的に切 り 替えで き ます。 ECLK ブ リ ッ ジの接続性 の詳細については、 TN1199 ”MachXO2 sysCLOCK PLL Design and Usage Guide (MachXO2 sysCLOCK PLL 設 計 と 使用ガ イ ド ) ” を参照 し て く だ さ い。 ECLK ブ リ ッ ジは、高速 x2 / x4 受信 イ ン タ ーフ ェ イ ス を除 く 全ての汎用高速 イ ン タ ーフ ェ イ ス でサポー ト し ます。 ブ リ ッ ジ機能の使用や配線用途に使用す る ためには、 デザ イ ン内で ECLK ブ リ ッ ジ ・ コ ン ポーネ ン ト を イ ン ス タ ン スす る 必要があ り ます。 リ セ ッ ト 同期化要件 汎用 DDR イ ン タ ーフ ェ イ ス は、高速アプ リ ケーシ ョ ン用に最適化 さ れた複数の専用回路で構築 さ れます。 し たが っ て、 ECLK と SCLK 間の ク ロ ッ ク ド メ イ ン転送におけ る マージ ン を確保 し 、 リ セ ッ ト パルス の様々な 遅延に起因す る バ ス の ビ ッ ト 順が乱れ る こ と を回避す る ために、CLKDIV や IDDR / ODDR な ど の全 コ ン ポー ネ ン ト を、 同一の高速エ ッ ジ ク ロ ッ ク サ イ ク ルでの動作開始を確実にす る 必要があ り ます。 11-32 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 x2やx4、及び7:1ギ ア リ ン グ を使用 し た イ ン タ ーフ ェ イ ス のシ ス テ ム実装を成功 さ せ る ためには、ECLKSYNCA コ ン ポーネ ン ト と 特定の リ セ ッ ト シーケ ン ス が必要にな り ます。 図 11-32 と 11-33 は受信 イ ン タ ーフ ェ イ ス と 送信 イ ン タ ーフ ェ イ ス の タ イ ミ ン グ要件を示 し てい ます。図中のRX_STOPやTX_STOP信号は、ECLKSYNCA コ ン ポーネ ン ト の STOP ポー ト です。 RX_RST と TX_RST 信号は、 ODDR/IDDR や CLKDIV コ ン ポーネ ン ト の リ セ ッ ト ポー ト です。 図中 RX_ECLK お よ び TX_ECLK は ECLKSYNCA コ ン ポーネ ン ト の出力です。 図に示す と お り 、 RX_RST か ら RX_STOP ま では最低で も ECLK の 2 サ イ ク ル分以上あ け る 必要があ り ます。 受信 イ ン タ ーフ ェ イ ス の リ セ ッ ト プ ロ セ ス は、 ループバ ッ ク 実装で、 送信 イ ン タ ーフ ェ イ ス の リ セ ッ ト プ ロ セ ス が完 了す る ま で開始 さ れ る べ き ではあ り ません。最小 2 サ イ ク ルの ECLK 遅延を作 り 出すための ク ロ ッ ク 信号は、 ECLK よ り 遅い周波数であれば任意の ク ロ ッ ク を使用で き ます。 図 11-32. 受信 イ ン タ ーフ ェ イ ス の リ セ ッ ト 同期 INIT LOCK for RX PLL or DLL RX_ECLK RX_STOP RX_RST Minimum 2 ECLK cycles RX_READY 図 11-33. 送信 イ ン タ ーフ ェ イ ス の リ セ ッ ト 同期 TX_ECLK TX_STOP TX_RST Minimum 2 ECLK cycles TX_READY こ れ ら の タ イ ミ ン グ要件は、 IPexpress で生成 さ れ る際に汎用 DDR x2 / x4 / 7:1 モジ ュ ールに組み込まれま す。 こ の場合 RX_STOP / TX_STOP / RX_RST / TX_RST / RX_ECLK / TX_ECLK は内部信号にな り ます。 汎用 DDR イ ン タ ーフ ェ イ ス を IPexpress 以外で構築す る 場合は、 リ セ ッ ト タ イ ミ ン グ要件に従っ て、 かつ RTL を 記述 し て実装す る 必要があ り ます。 高速 GDDR インターフェイスのタイミング解析 それぞれの高速 イ ン タ ーフ ェ イ ス では、 ユーザが STA (静的 タ イ ミ ン グ解析) を実行す る こ と をお勧め し ま す。 本セ ク シ ョ ンは、 各 イ ン タ ーフ ェ イ ス ・ タ イ プに用い る タ イ ミ ン グ制約 と 、 期待 さ れ る Trace (= タ イ ミ ン グ解析) 結果について記述 し ます。 プ リ フ ァ レ ン ス (preference、 設計制約) は、 プ リ フ ァ レ ン ス ・ フ ァ イ ル (.lpf) に直接記述す る か、 ス プ レ ッ ド シー ト ・ ビ ュ ー (Spreadsheet View) GUI を通 し て入力す る こ と が で き ます。 本セ ク シ ョ ン と 共に、MachXO2 フ ァ ミ リ デー タ シー ト の外部ス イ ッ チン グ特性セ ク シ ョ ン を参照 し て く だ さ い。 デー タ シー ト では、 それぞれの イ ン タ ーフ ェ イ ス に対す る こ れ ら 制約の実際の値について規定 し てい ま す。 周波数制約 デザ イ ン内の全入力 ク ロ ッ ク に対 し て、 ユーザが明示的に FREQUENCY (ま たは PERIOD) PORT 制約を指 定す る こ と が必要です。 ただ し 、 ク ロ ッ ク が PLL か DLL か ら 生成 さ れ る か、 ま たは ク ロ ッ ク が PLL か DLL 11-33 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 に入力 さ れ る 場合は、 必ず し も こ の制約は必要ではあ り ません。 すべての ク ロ ッ ク ピ ン と ク ロ ッ ク 配線要件 については、 本 ド キ ュ メ ン ト の " 高速 GDDR イ ン タ ーフ ェ イ ス の詳細 " セ ク シ ョ ン を参照 し て く だ さ い。 セ ッ ト ア ッ プ と ホール ド タ イム制約 すべての受信 イ ン タ ーフ ェ イ ス では、 セ ッ ト ア ッ プ と ホール ド 時間に制約を与え る こ と がで き ます。 受信セ ン タ ー ・ イ ン タ ーフ ェ イ ス : 図 11-34 は受信セ ン タ ー イ ン タ ーフ ェ イ ス でのデー タ と ク ロ ッ ク の関係 を示 し ます。 ク ロ ッ ク エ ッ ジがデー タ の中央にあ る ため、 こ れはデバ イ ス ・ イ ン タ フ ェース点で し ば し ば十 分なセ ッ ト ア ッ プ と ホール ド タ イ ム を提供 し ます。 図 11-34. RX.CLK.Centered レ シーバ波形 RX CLK Input RX Data Input RX.Centered tSU tHO tSU tHO ユーザはセ ッ ト ア ッ プ と ホール ド タ イ ムの許容 さ れ る 値について、 ソ フ ト ウ ェ ア ・ プ リ フ ァ レ ン ス と し て規 定 し なければな り ません。 こ れ ら のパ ラ メ ー タ は tSU (セ ッ ト ア ッ プ時間) と tHO (ホール ド タ イ ム) と し て 図示 さ れてい ます。 以下に示す よ う に INPUT_SETUP と HOLD プ リ フ ァ レ ン ス を用い る こ と で , 直接それ ら を与え る こ と がで き ます。 INPUT_SETUP PORT “Data” <tSU> ns HOLD <tHO> ns CLKPORT “CLK”; こ こ で、 Data = デー タ 入力ポー ト ; CLK= ク ロ ッ ク 入力ポー ト MachXO2 フ ァ ミ リ デー タ シー ト の外部ス イ ッ チン グ特性セ ク シ ョ ンでは、最速周波数で動作す る 各高速 イ ン タ ーフ ェ イ ス で必要 と な る 、 最小セ ッ ト ア ッ プ / ホール ド タ イ ムについて規定 し てい ます。 最速周波数で動 作 し ないデザ イ ンにおいては、セ ッ ト ア ッ プ と ホール ド タ イ ム値を計算す る ために ソ フ ト ウ ェ アの STA ツー ルを用い る こ と がで き ます。 例えば 250MHz で動作す る GDDRX2_RX.ECLK.Centered イ ン タ ーフ ェ イ ス を用い る 場合、 制約は次の よ う に 設定で き ます。 ソ フ ト ウ ェ アは本 イ ン タ ーフ ェ イ ス に最小 tSU と tHO 値を与え ます。 INPUT_SETUP PORT Data 0.500000 ns HOLD 0.500000 ns CLKPORT "CLK"; 受信ア ラ イ ン イ ン タ ーフ ェ イ ス : 図 11-35 は受信ア ラ イ ン ・ イ ン タ ーフ ェ イ ス におけ る デー タ と ク ロ ッ ク の 関係を示 し ます。 ク ロ ッ ク と デー タ はそれ ら のエ ッ ジが揃っ て (ア ラ イ ン さ れて) い ます。 DDR メ モ リ では、 リ ー ド 動作時に同 じ タ イ ミ ン グの関係にな り ます。 図 11-35. RX.CLK.Aligned お よ び MEM DDR レ シーバ入力波形 RX CLK Input or DQS Input RX Data Input or DQ Input RX.Aligned tDVA or tDVADQ tDVE or tDVEDQ 最悪ケース では、デー タ が ク ロ ッ ク エ ッ ジの後に到来す る か も し れず、し たが っ てデバ イ ス入力時に負のセ ッ ト ア ッ プ時間を持つ こ と にな り ます。 こ の イ ン タ ーフ ェ イ ス では、 最悪ケース のセ ッ ト ア ッ プ時間は tDVA に よ っ て規定 さ れ、 こ れは ク ロ ッ ク エ ッ ジ後にデー タ 有効に な る 時間です。 最悪ケー ス の ホール ド タ イ ム は 11-34 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 tDVE で規定 さ れ、 こ れは ク ロ ッ ク エ ッ ジ後のデー タ 保持期間です。 本 イ ン タ ーフ ェ イ ス のセ ッ ト ア ッ プ / ホール ド タ イ ムについては、 以下の よ う に規定す る こ と がで き ます。 INPUT_SETUP PORT Data <-tDVA > ns HOLD < tDVE> ns CLKPORT “CLK”; こ こ で、 Data = デー タ 入力ポー ト ; CLK= ク ロ ッ ク 入力ポー ト SETUP タ イ ムには負数が用い ら れてい ますが、 こ の場合デー タ が ク ロ ッ ク エ ッ ジの後に現れます。 MachXO2 フ ァ ミ リ デー タ シー ト の外部ス イ ッ チン グ特性セ ク シ ョ ンでは、 最速周波数で動作す る 各高速 イ ン タ ーフ ェ イ ス で必要 と な る 、 最大 tDVA と 最小 tDVE について規定 し てい ます。 デー タ シー ト で こ の制約の規定は単位 が UI (Unit Intervals) と し て記載 さ れてい ます。 1UI は ク ロ ッ ク 半周期に等 し く な り ます。 し たがっ て、 実 際の数値は用い ら れ る ク ロ ッ ク の周期か ら 計算す る 必要があ り ます。 250MHz (UI=2.0ns) で動作す る GDDRX2_RX.ECLK.Aligned イ ン タ ーフ ェ イ ス では、 tDVA = 0.32UI = 0.64ns, tDVE = 0.70UI = 1.4ns こ の場合の制約は以下の通 り です。 INPUT_SETUP PORT Data -0.640000 ns HOLD 1.400000 ns CLKPORT "CLK"; 7:1 LVDS 受信 イ ン タ ーフ ェ イ ス : 7:1 LVDS イ ン タ ーフ ェ イ ス は特異な GDDR イ ン タ ーフ ェ イ ス で、 こ れは ピ ク セル ク ロ ッ ク 一周期を用いて 7 ビ ッ ト デー タ を受信 し ます。 図 11-36 は こ の イ ン タ ーフ ェ イ ス の タ イ ミ ン グ を示 し ますが、 tRPBi が ビ ッ ト "i" の入力ス ト ロ ーブ位置です。 こ の イ ン タ ーフ ェ イ ス と し て、 bit0 の最 大セ ッ ト ア ッ プ タ イ ムは tRPB0 min に よ っ て規定 さ れ、最小ホール ド タ イ ムが tRPB0 max と し て規定 さ れます。 本 イ ン タ ーフ ェ イ ス ではbit i用の入力ス ト ロ ーブ位置がtRPBi min と tRPBi max内に制限 さ れます。値はMachXO2 フ ァ ミ リ デー タ シー ト の外部ス イ ッ チン グ特性セ ク シ ョ ンに記載 さ れてい ます。 図 11-36. GDDR71_RX. レ シーバ波形 7:1 イ ン タ ーフ ェ イ ス の実装には、 参照デザ イ ン RD1093 ”MachXO2 デ ィ ス プ レ イ ・ イ ン タ ーフ ェ イ ス ” を用 い る こ と をお勧め し ます。 受信ダ イ ナ ミ ッ ク ・ イ ン タ ーフ ェ イ ス : 実動作時に ク ロ ッ ク かデー タ 遅延の ど ち ら かが動的に更新 さ れ る 場 合は、 STA がダ イ ナ ミ ッ ク ・ イ ン タ ーフ ェ イ ス全ケース について タ イ ミ ン グ を解析す る こ と はあ り ません。 11-35 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 Clock-to-Out (ク ロ ッ クから 出力) 制約 すべての送信 (Tx) イ ン タ ーフ ェ イ ス では、 デバ イ ス端での ク ロ ッ ク と デー タ 出力 と の関係を検出す る ため に clock-to-out ( ク ロ ッ ク 対出力) 制約を与え る こ と がで き ます。 図 11-37 は ソ フ ト ウ ェ アで clock-to-out が ど の よ う に制約 さ れ る か を示 し ます。 最小 tCO は、 ク ロ ッ ク エ ッ ジ遷移後にデー タ が変化 し ない最小時間です。 し たが っ て、 いかな る デー タ 遷移 も tCO の最小値 と 最大値の 間で起 こ ら なければな り ません。 図 11-37. tCO の最小 と 最大 タ イ ミ ン グ解析 CLK DATA tCOMin tCO Max tCO Min = Data cannot transition BEFORE Min tCO Max = Data cannot transition AFTER Max 送信センター・インターフェイス:デバイスから出力されるとき、送信クロックエッジはデータの中央にあ ることが期待されています。 図 11-38 は送信センター・インターフェイスのタイミングを示します。DDR メ モリへのライト出力時には、送信センター・インターフェイスと同じタイミングの振舞いになります。 図 11-38. TX.CLK.Centered お よ び MEM DDR ト ラ ン ス ミ ッ タ の出力波形 TX CLK Output or DQS Output tU TX Data Output or DQ Output TX.Centered tDVB or tDQVBS tDVA or tDQVAS tDVB or tDQVBS tDVA or tDQVAS 図 11-38 で tU はデー タ 遷移期間です。 tDVB は ク ロ ッ ク エ ッ ジの前にデー タ が有効であ る べ き 期間の最大値 が -tDVB で あ る こ と を示 し ま す。 ま た、 ク ロ ッ ク エ ッ ジ後のデー タ 有効デー タ (ホール ド タ イ ム) 最小値 tDVA です。 MachXO2 フ ァ ミ リ デー タ シー ト は、 最速周波数におけ る tDVB と tDVA 値について規定 し てい ます。 し か し 、 こ こ では tU 値が不明なため、 以下の数式を用い る こ と で最小 tCO について計算す る こ と がで き ます。 tCO Min. = -(tDVB + tU) ½T = tDVA + tDVB + tU -(tDVB + tU) = tDVA - ½T tCO Min. = tDVA - ½T ソ フ ト ウ ェ アでの clock-to-out 時間は以下の よ う に規定す る こ と がで き ます。 CLOCK_TO_OUT PORT “Data” MAX <-tDVB> MIN <tDVA-1/2 Clock Period> CLKPORT “CLK” CLKOUT PORT “Clock”; こ こ で、Data = デー タ 出力ポー ト ; Clock = フ ォーワー ド ク ロ ッ ク 出力ポー ト ; CLK = ク ロ ッ ク 入力ポー ト 最速時の tDVB と tDVA 値は、MachXO2 フ ァ ミ リ デー タ シー ト の外部ス イ ッ チン グ特性セ ク シ ョ ンに記載 さ れ てい ます。 11-36 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 250MHz で動作す る GDDRX2_TX.SCLK.Centered イ ン タ ーフ ェ イ ス では、 制約は以下にな り ます。 CLOCK_TO_OUT PORT "Data" MAX -0.670000 ns MIN -1.330000 ns CLKPORT "CLK" CLKOUT PORT "Clock"; 送信ア ラ イ ン ・ イ ン タ ーフ ェ イ ス : こ の場合、デバ イ ス か ら 出力 さ れ る と き ク ロ ッ ク と デー タ はエ ッ ジが揃っ てい ます。 図 11-39 は本 イ ン タ ーフ ェ イ ス の タ イ ミ ン グ図を示 し ます。 図 11-39. TX.CLK.Aligned ト ラ ン ス ミ ッ タ 波形 TX CLK Output TX Data Output TX.Aligned tDIB tDIA tDIB tDIA 図 11-39 で、 tDIA は ク ロ ッ ク エ ッ ジ後のデー タ が遷移期間の最大値を示 し ます。 デー タ が遷移す る 最小値は -tDIB ですが、 こ れは ク ロ ッ ク の前でデー タ が無効にな る値です。 負数が最小値に用い ら れてい ますが、 こ れ は最小の条件が ク ロ ッ ク エ ッ ジの前に出現す る ためです。 ソ フ ト ウ ェ アの clock-to-out 時間は以下の よ う に規定す る こ と がで き ます。 CLOCK_TO_OUT PORT “Data” MAX <tDIA> MIN <-tDIB> CLKPORT “CLK” CLKOUT PORT “Clock”; こ こ で、Data = デー タ 出力ポー ト ; Clock = フ ォーワー ド ク ロ ッ ク 出力ポー ト ; CLK = ク ロ ッ ク 入力ポー ト 最速動作時の tDIA と tDIB 値は、 MachXO2 フ ァ ミ リ デー タ シー ト の外部ス イ ッ チン グ特性セ ク シ ョ ンに規定 さ れてい ます。 250MHz で動作す る GDDRX2_TX.Aligned イ ン タ ーフ ェ イ ス では、 tDIA = tDIB = 0.215ns です。 制約は以下の通 り です。 CLOCK_TO_OUT PORT "Data" MAX 0.215000 ns MIN -0.215000 ns CLKPORT "CLK" CLKOUT PORT "Clock”; 11-37 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 送信 7:1 LVDS イ ン タ ーフ ェ イ ス : 7:1 LVDS イ ン タ ーフ ェ イ ス は特異な GDDR イ ン タ ーフ ェ イ ス で、 こ れは ピ ク セル ク ロ ッ ク の一周期を用いて 7 ビ ッ ト デー タ を送信 し ます。 図 11-40 は本 イ ン タ ーフ ェ イ ス の タ イ ミ ン グ を示 し ます。 本 イ ン タ ーフ ェ イ ス では、 bit0 の送信出力パルス位置は、 tTPB0 min と tTPB0 max 内に制限 さ れます。 tTPBi 値は、 MachXO2 フ ァ ミ リ デー タ シー ト の外部ス イ ッ チン グ特性セ ク シ ョ ンに記載 さ れてい ます。 図 11-40. GDDR71_TX. ト ラ ン ス ミ ッ タ 波形 ク ロ ッ ク ド メ イ ン転送の タ イ ミ ング ・ ルールチ ェ ッ ク こ れ ら のエ レ メ ン ト が設計で用い ら れてい る と き 、 IDDR と ODDR モジ ュ ール内の ク ロ ッ ク ド メ イ ン転送は Trace ( タ イ ミ ン グ解析) に よ っ て自動的にチ ェ ッ ク さ れ ま す。 ク ロ ッ ク ド メ イ ン転送は、 高速 と 低速の ク ロ ッ ク 入力があ る GDDR X2、 X4、 お よ び 7:1 モジ ュ ールで起 こ り ます。 ソ フ ト ウ ェ アで こ の ク ロ ッ ク ド メ イ ン転送のチ ェ ッ ク を実行す る ために、ど の よ う な特別な制約 も 不要です。 ク ロ ッ ク ド メ イ ン 転送の確認は ソ フ ト ウ ェ ア で自動的に行われ、 Trace ( タ イ ミ ン グ解析) レ ポー ト 内の ”Timing Rule Check ( タ イ ミ ン グ ・ ルールチ ェ ッ ク ) ” セ ク シ ョ ンで報告 さ れます。 レ ポー ト では、 ク ロ ッ ク ド メ イ ン転送が起 こ る 入出力 GDDR ブ ロ ッ ク 両方での タ イ ミ ン グ を リ ス ト ア ッ プ し ます。 11-38 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 DDR/DDR2/LPDDR SDRAM イ ン タ ーフ ェ イ ス概要 DDR SDRAM イ ン タ ーフ ェ イ ス は、 ク ロ ッ ク の立ち上が り エ ッ ジ と 立ち下が り エ ッ ジの両方でデー タ を転送 し ます。 DDR2 は第 2 世代の DDR SRDRAM メ モ リ ですが、 LPDDR は電池駆動アプ リ ケーシ ョ ンに特化 し た 低消費電力 イ ン タ ーフ ェ イ ス です。 DDR と DDR2、 及び LPDDR SDRAM イ ン タ ーフ ェ イ ス は、 高速動作を実現す る ためにデー タ ス ト ロ ーブ信号 であ る DQS を使用 し てい ます。 DDR と LPDDR SDRAM イ ン タ ーフ ェ イ ス は、 シ ン グルエン ド DQS ス ト ロ ー ブ信号を使用 し 、 DDR2 イ ン タ ーフ ェ イ ス には差動 DQS ス ト ロ ーブ信号を使用す る オプシ ョ ンがあ り ます。 以降の図は標準的な DDR や DDR2、及び LPDDR SDRAM イ ン タ ーフ ェ イ ス信号を示 し ます。SDRAM イ ン タ ー フ ェ イ ス は、 通常 DQS 当た り DQ デー タ 8 ビ ッ ト で実装 さ れます。 例えば x16 イ ン タ ーフ ェ イ ス は 2 本の DQS 信号線を使用 し 、 各 DQS 信号は各 8 ビ ッ ト の DQ デー タ に関連づけ ら れます。 DQ 及び DQS は と も に 双方向ポー ト で、 DDR メ モ リ デバ イ ス と の リ ー ド / ラ イ ト に使用 さ れます。 外部 メ モ リ か ら デー タ を読み出す場合、デバ イ ス に入力 さ れ る デー タ は DQS 信号に対 し てエ ッ ジが揃っ てい ます (ア ラ イ ン)。 こ の DQS ス ト ロ ーブ信号は、 90° 位相シ フ ト し て FPGA ロ ジ ッ ク が リ ー ド デー タ を取 り 込め る で き る よ う にす る 必要があ り ます。 DDR / DDR2 / LPDDR SDRAM に ラ イ ト す る 場合、 メ モ リ コ ン ト ロ ー ラ (FPGA) は DQS を 90° 位相シ フ ト し て出力 し 、 エ ッ ジ をデー タ 信号 (DQ) の中央に合わせ る 必要 があ り ま す。 ま た ク ロ ッ ク 信号は メ モ リ に も 出力 さ れ ま すが、 こ れは差動 ク ロ ッ ク と し て提供 さ れ (CLKP と CLKN)、 デ ュ ーテ ィ 比のバ ラ つ き を最小限に し ます。 メ モ リ は こ れ ら の ク ロ ッ ク 信号を使用 し 、 メ モ リ 内 部の DLL を介 し て リ ー ド 時の DQS 信号を生成 し ます。 LPDDR デバ イ ス には、 標準的な DDR デバ イ ス で使 用 さ れ る DLL は省電力化のために存在 し ません。 次ページの図は、 リ ー ド / ラ イ ト サ イ ク ルにおけ る DQ と DQS の タ イ ミ ン グ関係を示 し ます。 リ ー ド 実行時、 DQS 信号は ト ラ イ ス テー ト か ら 抜けた後 し ば ら く は Low です。 こ の ス テー ト を " プ リ ア ンブ ル (Preamble) " と 呼びます。 ま た ト ラ イ ス テー ト に戻 る 前の DQS Low 期間を " ポ ス ト ア ンブル (Postamble) " ス テー ト と 呼びます。 こ れは最後の有効デー タ 遷移後の ス テー ト です。 ま た DDR SDRAM では、 ラ イ ト サ イ ク ル中にデー タ ビ ッ ト を マ ス ク す る ためのデー タ マ ス ク (DM) 信号が 必要です。 DQS と デー タ ビ ッ ト と の比は、 メ モ リ 全体の幅 と は独立な こ と に留意 し て く だ さ い。 8 ビ ッ ト イ ン タ ーフ ェ イ ス は、 1 本の ス ト ロ ーブ信号を持ち ます。 DDR SDRAM イ ン タ ーフ ェ イ ス は、 I/O 規格 と し て SSTL25 Class I/II を採用 し 、 DDR2 SDRAM イ ン タ ーフ ェ イ ス は SSTL18 Class I/II 規格を、 そ し て LPDDR SDRAM イ ン タ ーフ ェ イ ス は LVCMOS18 規格を採用 し てい ます。 DDR2 はシ ン グルエン ド ま たは差動 DQS のいずれか を使用で き ます。 以下の表 と 図は、 DDR メ モ リ の仕様 と 標準的 イ ン タ ーフ ェ イ ス、 及びピ ン レベルの DQ と DQS の関係を示 し た も のです。 表 11-10. MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の DDR / DDR2 及び LPDDR 仕様 DDR DDR2 LPDDR 190M ~ 300Mbps 266M ~ 300 Mbps 0 ~ 300Mbps シ ン グルエ ン ド シ ン グルエ ン ド / 差動 シ ン グルエ ン ド イ ン タ ーフ ェ イ ス SSTL25 SSTL18 LVCMOS18 終端 外付け オ ンチ ッ プ なし デー タ レー ト DQS 11-39 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-41. 典型的な DDR SDRAM イ ン タ ーフ ェ イ ス FPGA (DDR Memory Controller) DQ<7:0> DQS DDR Memory DQ<7:0> COMMAND CONTROL CLK/CLKN DQ<7:0> DQS DQS DM DM ADDRESS 8 MD ADDRESS X COMMAND Y CONTROL Z ADDRESS COMMAND CLKP/CLKN CONTROL CLK/CLKN 図 11-42. 典型的な DDR2 SDRAM イ ン タ ーフ ェ イ ス DDR Memory FPGA (DDR Memory Controller) DQ<7:0> DQS, DQS# DM ADDRESS COMMAND CONTROL CLK/CLKN DQ<7:0> 8 DQ<7:0> DQS, DQS# DQS, DQS# DM MD ADDRESS X COMMAND Y CONTROL Z ADDRESS COMMAND CLKP/CLKN CONTROL CLK/CLKN 図 11-43. 典型的な LPDDR SDRAM イ ン タ ーフ ェ イ ス FPGA (LPDDR Memory Controller) DQ<7:0> DQS DM ADDRESS COMMAND CONTROL CLK/CLKN LPDDR Memory DQ<7:0> 8 DQ<7:0> DQS DQS DM DM ADDRESS X COMMAND Y CONTROL Z ADDRESS COMMAND CLKP/CLKN 11-40 CONTROL CLK/CLKN TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-44. リ ー ド 時の DQ と DQS の関係 DQS (at Pin) Preamble Postamble DQ (at Pin) DQS (at Register) DQ (at Register) DQS 90° Phase Shift 図 11-45. ラ イ ト 時の DQ と DQS の関係 DQS (at Pin) DQ (at Pin) DDR/DDR2/LPDDR SDRAM イ ン タ ーフ ェ イ ス の実装 DDR メ モ リ の概要セ ク シ ョ ンで説明 し た よ う に、 全ての DDR SDRAM イ ン タ ーフ ェ イ ス は、 高速動作を実現 す る ためにデー タ ス ト ロ ーブ信号であ る DQS を使用 し てい ます。外部 メ モ リ デバ イ ス か ら デー タ を読み出す と き 、MachXO2 デバ イ ス に入力 さ れ る デー タ は DQS 信号に対 し てエ ッ ジが揃っ てい ます。MachXO2 は、DQS を 90° 位相シ フ ト し て リ ー ド デー タ の取 り 込みを可能に し ます。 メ モ リ コ ン ト ロ ー ラ か ら DDR SDRAM に デー タ を ラ イ ト す る と き 、 MachXO2 デバ イ ス はデー タ 信号 DQ の中央にエ ッ ジ を持つ DQS 信号を生成す る 必要があ り ます。こ れは、DQ デー タ に対 し て DQS ス ト ロ ーブ信号を 90° 位相シ フ ト す る こ と で実現 し ます。 MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス は、 DQS を適切に位相シ フ ト さ せ る 専用 の DQS サポー ト 回路を備え てい ます。 こ の回路は汎用 DDR 回路 と は別で、 デバ イ ス の右辺でのみ使用可能 です。 こ の回路は メ モ リ イ ン タ ーフ ェ イ ス用に x1 ギ ア リ ン グ を利用 し 、 結果 と し て コ ア性能に対 し て 2 倍の 周波数で メ モ リ イ ン タ ーフ ェ イ ス を動作 さ せます。 DDR2 及び LPDDR と も に、 XO2 は対デバ イ ス接続 と な る 実装を意図 し てお り 、 従っ て DQ / DQS の フ ァ ン ア ウ ト を 1 つにす る必要があ り 、 ま た CLKP / CLKN と ア ド レ ス / コ マン ド の フ ァ ン ア ウ ト は 2 つで も 可能 でし ょ う 。 DQS 位相 シ フ ト 回路は専用の各 DQS ピ ン に関連す る 遅延制御信号 を 生成す る た め に周波数基準 DLL (Frequency Referenced DLL) を使用 し 、 PVT (プ ロ セ ス / 電圧 / 温度) バ ラ つ き を補正す る よ う に設計 さ れ てい ます。 周波数基準は PCLK グ ロ ーバル ・ ク ロ ッ ク ピ ンの 1 本を介 し て与え ら れます。 ま た専用の DDR サ ポー ト 回路は、 デー タ サンプ リ ン グ ・ ウ イ ン ド ウ に対 し て適度で一定のマージ ン を与え る よ う に設計 さ れて い ます。 本セ ク シ ョ ン では、 DDR メ モ リ イ ン タ ーフ ェ イ ス の リ ー ド と ラ イ ト セ ク シ ョ ンの実装方法について 説明 し ます。 11-41 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 DQS グルーピ ン グ 1 つの DQS グループは、 通常 8 本の DQ ピ ン と 1 本の DM ピ ン、 1 本の DQS ピ ン ま たは 2 組の DQS / DQSN ペア、 及び 1 本の Vref ピ ンか ら 構成 さ れます。 DQS グループは DDR / DDR2、 ま たは LPDDR SDRAM イ ン タ ーフ ェ イ ス一式を実装す る ために、 少な く と も 11 個の I/O ロ ジ ッ ク セルを必要 と し ます。 MachXO2-640U と MachXO2-1200/U、及び こ れ よ り 大規模のデバ イ ス では、DQS 信号が DQS / DQSN 用の 2 個 と 12 個の I/O セルの スパン を カバーで き る よ う に DQS-14 グループ をサポー ト し ます。 デバ イ ス の右辺でサポー ト さ れ る メ モ リ 回路は、 最大で DDR / DDR2 / LPDDR バ ス の 16 ビ ッ ト 幅実装を可能に し ます。 こ れは 2 つの DQS グ ループ を一緒に使用す る 必要があ り ます。 各 DQS 信号は 14 I/O の スパン を カバー し ます。 シ ン グルエン ド DQS を使用す る 場合、 最大 13 本の I/O ス パンに対 し て、 8 ビ ッ ト の DDR メ モ リ イ ン タ ーフ ェ イ ス を実装で き ます。 ユーザは DQS-14 グループ内の任 意の 8 個の I/O パ ッ ド を、DQ デー タ ピ ンに割 り 当て る こ と がで き ます。DQSN を使用 し ない場合、その DQS グループに対 し て DQ ま たは DM と し て使用で き ます。 MachXO2 デバ イ ス フ ァ ミ リ は、 任意の I/O ピ ン を Vref ピ ン と し て使用で き ます。 こ の結果、 DQS-14 グループ構造 と 相ま っ て DDR メ モ リ イ ン タ ーフ ェ イ ス に 対す る ピ ン配置の柔軟性が高ま り ます。 DQS 及び DQS-14 グループの配置の詳細については MachXO2 フ ァ ミ リ デー タ シー ト を参照 し て く だ さ い。 DQS 回路 DQS 回路 (DQSBUF) は DDR メ モ リ イ ン タ ーフ ェ イ ス の実装を簡素化す る よ う に設計 さ れてい ます。 こ の 回路は以下を含むい く つかの機能を統合 し てい ます。 • DQS プ リ ア ンブル / ポ ス ト ア ンブル管理 • DLL 補正 さ れた DQS の遅延 • 有効デー タ 及びデー タ バース ト の検出 DQS プ リ ア ン ブル / ポス ト ア ン ブル管理 DDR / DDR2 / LPDDR SDRAM メ モ リ イ ン タ ーフ ェ イ ス は、 リ ー ド / ラ イ ト バース ト の前後にプ リ ア ンブル と ポ ス ト ア ンブル ・ ス テー ト が必要です。 プ リ ア ンブル と ポ ス ト ア ンブル管理回路は、 MachXO2 デバ イ ス に 組み込まれてい ます。 こ れはデバ イ ス内部の ク リ ーン な DQS パルス を確実に し 、 プ リ ア ンブル期間に内部 ロ ジ ッ ク に対 し て DQS を起動 し 、 信号の最後の立ち下が り エ ッ ジ後に DQS をオ フ に し ます。 デバ イ ス内部へ の ク リ ーン な DQS で、 下流の ロ ジ ッ ク 回路が ク ロ ッ ク 極性検出 (DDRCLKPOL) を確実に行え る よ う に し ま す。 こ の信号を使用 し て、 同期レ ジ ス タ に対す る ク ロ ッ ク 極性を制御 し ます。 DLL 補正 さ れた遅延ロ ジ ッ ク マ ス タ DLL (DQSDLL) は必要な 90° 位相シ フ ト をす る ために DQSBUF 内の遅延 ロ ジ ッ ク と と も に動作 し ます。 DQSBUF はチ ッ プ右辺の DQSDLL か ら 7 ビ ッ ト 遅延制御 コ ー ド を受け と り ます。 こ の制御信号は 2 つ の DQSBUF 内 ク ロ ッ ク ス レーブ遅延 ラ イ ンで使用 さ れます。 一方は リ ー ド 動作時の ク ロ ッ ク 90° 位相シ フ ト に使用 さ れ、 他方は ラ イ ト 動作時のデー タ 90° 位相シ フ ト に使用 さ れます。 DQS 回路 (DQSBUF) は ECLK を 90° 位相シ フ ト し て DQSR90 を生成 し ます。 DQSR90 信号は、 続いてチ ッ プ右辺にあ る 全 DDR メ モ リ I/O ロ ジ ッ ク セルに送 ら れ、メ モ リ の リ ー ド 動作で入力デー タ を取 り 込む ク ロ ッ ク にな り ます。 DQSW90 も ま た DQSBUF に よ っ て生成 さ れ、 メ モ リ ラ イ ト 動作に使用 さ れます。 DQSW90 は SCLK 信号を 90° 位相シ フ ト し た も ので、 DDR デー タ 出力に使用 さ れます。 こ れは ラ イ ト 動作時に DQ デー タ の中央に DQS エ ッ ジ を合わせ る と い う 要件を満た し ます。 デー タ 有効信号 と デー タ バース ト 検出 11-42 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 DQSBUF は有効なデー タ が入力 DDR レ ジ ス タ か ら FPGA コ アに転送 さ れた こ と を FPGA に通知す る 、 デー タ 有効 (Data Valid) 信号の生成に も 責任を負い ます。 デー タ 有効信号はレベルセ ン シテ ィ ブで、 FPGA コ ア と の境界でデー タ と 整合 し ます。 DQSBUF のデー タ バース ト 検出は、DDR リ ー ド 動作時に READ パルス を最適な位置に合わせ る ために用い ら れます。 ト レーニ ン グプ ロ セ ス で十分なバース ト 長 (BL) が用い ら れ る こ と が重要です。 MachXO2 の DDR メ モ リ 実装では、 デバ イ ス が正 し い READ パルス位置を検出で き る よ う に、 少な く と も 連続 し た 2 つの BL2 (BL=2)、 ま たは 1 つの BL4 (BL=4)、 或いは こ れ ら バース ト 長を複数回 ト レーニ ン グプ ロ セ ス で使用す る こ と が必要です。 I/O ロ ジ ッ ク ・ デー タ パス DDR メ モ リ の I/O ロ ジ ッ ク 、 或いは メ モ リ PIO セルは本 ド キ ュ メ ン ト の始めに図 11-2 で示 し ま し た。 DDR メ モ リ 入力パ ス で、 第 1 段 DDR レ ジ ス タ 組を用いて、 位相シ フ ト し た DQS 信号の立ち上が り と 立ち下が り エ ッ ジ で、 DDR デー タ を 多重分離 し ま す。 次に、 第 2 段の組 を 使用 し て それ ら デー タ を DQS ド メ イ ン (DQSR90) か ら SCLK ド メ イ ンに転送 し ます。 そ し て レ ジ ス タ の最終組を使用 し て、 DDRCLKPOL に基づ く SCLK に よ っ て再度入力デー タ を ク ロ ッ キ ン グ し ます。 出力側で DQS と DQ は同 じ 論理を共有 し ます。 パ ラ レルデー タ は ラ イ ト ク ロ ッ ク DQSW90 に よ り 多重化 さ れ、 DQS 出力パルス は SCLK に よ り 制御 さ れます。 DDR メ モ リ の ビルデ ィ ン グブ ロ ッ ク の詳細については、 "DDR ソ フ ト ウ ェ アのプ リ ミ テ ィ ブ と ア ト リ ビ ュ ー ト " を参照 し て く だ さ い。 DDR / DDR2 / LPDDR メ モ リ リ ー ド の実装 MachXO2-640U と MachXO2-1200/U、及び こ れ よ り 大規模デバ イ ス では、IPexpress ツールで生成 さ れた DDR メ モ リ モジ ュ ールに よ っ て、DDR / DDR2 / LPDDR メ モ リ イ ン タ ーフ ェ イ ス機能をサポー ト し ます。IPexpress を使用す る こ と に よ り 、 設計者は DDR / DDR2 / LPDDR メ モ リ か ら 入力 さ れたデー タ の リ ー ド に必要な、 様々なモジ ュ ールを生成で き ます。 DDR / DDR2 / LPDDR の リ ー ド 側は、 次の 3 つの ソ フ ト ウ ェ ア ・ エ レ メ ン ト に よ り 実装 さ れます。 DQSDLL は較正に使用す る DLL です。 IDDRDQS は入力 DDR レ ジ ス タ を実装 し ます。 DQSBUF は DQS 遅延ブ ロ ッ ク と ク ロ ッ ク 極性制御 ロ ジ ッ ク 、 そ し てデー タ 有効モジ ュ ールです。 DQSR90 は専用 ク ロ ッ ク ツ リ ーを介 し て 各 IDDRDQS セルに分配 さ れます。 SCLK の配線は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト の 1 本を使用す る 必要が あ り ます。 11-43 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-46. DDR / DDR2 / LPDDR リ ー ド の実装 DQ0 DQSDLLC LOCK CLK RST UDDCNTLN FREEZE IDDRDQSX1A DQSDEL D DQSR90 DDRCLKPOL SCLK RST Datain0 Datain8 Q0 Q1 Datain7 Datain15 . . . . DQSBUFH DQSI READ READCLKSEL1 READCLKSEL0 SCLK RST DQSDEL Q0 Q1 DDRCLKPOL DQSR90 DQSW90 DATAVALID BURSTDET IDDRDQSX1A DQ7 D DQSR90 DDRCLKPOL SCLK RST DDR / DDR2 / LPDDR メ モ リ ラ イ ト の実装 DDR メ モ リ イ ン タ ーフ ェ イ ス の ラ イ ト 部分を実装す る には、 シ ン グルデー タ レー ト (SDR) の 2 本のデー タ ス ト リ ーム を、 ク ロ ッ ク の両エ ッ ジ遷移時に合わせて多重化す る 必要があ り ます。 さ ら に、 DQS は メ モ リ ピ ンに入力 さ れ る と き 、 デー タ (DQ) の中央にエ ッ ジがあ り 、 かつ差動出力 ク ロ ッ ク (CLKP / CLKN) のエ ッ ジに揃っ てい る 必要があ り ま す。 こ れ ら の信号に加え、 ア ド レ ス / コ マ ン ド 及びデー タ マ ス ク (DM) 信号 を生成す る 必要があ り ます。 こ の イ ン タ ーフ ェ イ ス の生成には IPexpress を使用す る 必要があ り ます。 DQSW90 は、 専用 ク ロ ッ ク ツ リ ーを介 し て各 ODDRDQS セルに分配 さ れます。 SCLK の配線は必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト の 1 本を使用す る 必要があ り ます。 DDR / DDR2 / LPDDR のラ イ ト デー タ (DQ) と ス ト ローブ (DQS) の生成 図 11-47 は ラ イ ト 動作での DQ / DQS 信号の生成を示 し ます。 DQS90 は SCLK を 90° 位相シ フ ト し た信号 です。 前述の よ う に、 DQS ではな く DQSW90 を使用 し て DQ を 90° 位相シ フ ト し ます。 DQ と DM の生成 には DQSW90 を使用 し 、 DQS の生成には SCLK を使用 し ます。 こ れに よ り DQS のエ ッ ジが DQ と DM の中 央に合わ さ れます。 DQS は DDR と LPDDR ではシ ン グルエン ド ですが、 DDR2 では差動にな り ます。 11-44 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-47. DDR/DDR2/LPDDR ラ イ ト の実装 DQSDLLC CLK RST UDDCNTLN FREEZE LOCK DQSDEL ODDRDQSX1A DQSBUFH DQSI READ READCLKSEL1 READCLKSEL0 SCLK RST DQSDEL DQ DQSW90 SCLK D0 D1 RST DDRCLKPOL TDDRA DQSR90 DQSW90 DATAVALID BURSTDET Q X X DQSW90 SCLK TD RST TQ ODDRDQSX1A Datatri DQSW90 SCLK D0 D1 RST DMout0 DMout1 DM Q ODDRDQSX1A dqsout DQSW90 SCLK D0 D1 RST 1’b0 Q DQS TDDRA DQSW90 SCLK TD RST dqstri 11-45 TQ TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 DDR / DDR2 / LPDDR のラ イ ト ク ロ ッ ク 、 ア ド レ ス、 及び コ マ ン ド 生成 メ モ リ の ラ イ ト 動作は、 コ ン ト ロ ー ラ が SDRAM メ モ リ に対 し て差動 ク ロ ッ ク と ア ド レ ス、 及び コ マ ン ド を 生成す る 必要があ り ます。 ク ロ ッ ク は ODDRX (x1) プ リ ミ テ ィ ブ を使用 し て生成 さ れ、 その 2 入力を Low と High に固定す る こ と で出力 ク ロ ッ ク を生成 し ま す。 DDR SDRAM メ モ リ と イ ン タ ーフ ェ イ ス す る 場合、 CLKP を SSTL25D I/O で接続す る 必要があ り ます。DDR2 メ モ リ と イ ン タ ーフ ェ イ スす る 場合は SSTL18D I/O で接続 し 、 差動 ク ロ ッ ク 出力を生成す る 必要があ り ます。 LPDDR SDRAM メ モ リ と イ ン タ ーフ ェ イ スす る 場 合は、 CLKP を LVCMOS18 I/O で接続す る 必要があ り ます。 同様に CLKN を生成す る こ と で 2 信号間の ス キ ュ ーを防止で き ます。 DDR / DDR2 / LPDDR SDRAM イ ン タ ーフ ェ イ ス のア ド レ ス と コ マ ン ド 信号は、 通常の出力レ ジ ス タ OREG に よ り 生成 さ れます。 DQ / DQS と ク ロ ッ ク / ア ド レ ス、 及び コ マ ン ド 生成には、 同一の SCLK が使用 さ れ ます。 SCLK の配線は、 必ずプ ラ イ マ リ ・ ク ロ ッ ク ネ ッ ト の 1 本を使用す る 必要があ り ます。 図 11-48. CLK と ア ド レ ス、 及びコ マン ド 制御ピ ンの生成 ODDRXE 1’b0 1’b1 Address SCLK Command D0 D1 SCLK RST Q OREG D Q CLKp CLKn Address, Bank Address CLK OREG D Q RASN, CASN, WEN CLK Control OREG D Q CSN, CKE, ODT CLK IPexpress を使用 し た DDR メ モ リ イ ン タ ーフ ェ イ ス の生成 上記の全ての DDR / DDR2 / LPDDR イ ン タ ーフ ェ イ ス のパ ラ メ ー タ 設定 と 生成には、 IPexpress ツールを使 用す る 必要があ り ます。 IPexpress の GUI では、 全 DDR メ モ リ モジ ュ ール Architecture Modules > IO に配置 さ れてい ます。 図 11-49 に示す よ う に、 DDR_MEM を使用 し て DDR メ モ リ イ ン タ ーフ ェ イ ス を生成 し ます。 11-46 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-49. IPexpress の メ イ ン ウ イ ン ド ウ DDR_MEM モジ ュ ールには、 2 つの タ ブがあ り ます。 図 11-50 に示す Configuration タ ブ を使用 し て、 DDR や DDR2、 及び LPDDR と それ ら に対応す る パ ラ メ ー タ を選択 し ます。 図 11-50. DDR_MEM の Configuration タ ブ 11-47 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 表 11-11 に DDR_MEM の Configuration タ ブの GUI オプシ ョ ンの詳細を示 し ます。 表 11-11. DDR_MEM モジ ュール、 Configuration タ ブのオプシ ョ ン オプ シ ョ ン 説明 値 ・ 範囲 デ フ ォル ト 値 Interface Type イ ン タ ーフ ェ イ ス の タ イ プ DDR, DDR2, LPDDR DDR I/O Buffer Configuration 各 イ ン タ ーフ ェ イ ス タ イ プの I/O 規格。 選択 し た イ ン タ ーフ ェ イ ス に対応 し て自動的に設定 さ れ る SSTL25_I, SSTL18_I, LVCMOS18 SSTL25_I DDR Frequency DDR メ モ リ イ ン タ ーフ ェ イ ス の動作速度 DDR = 83-100MHz DDR = 100 MHz DDR2 = 125 - 150MHz DDR2 = 150 MHz LPDDR = 0-133MHz LPDDR = 133 MHz Number of DQS 利用可能な DQS グループ数 1, 2 2 Number of DQ for DQS Group1 and DQS Group 2 DQS グループのデー タ 幅 1~8 8 DQS Buffer Configuration for DDR2 DQS バ ッ フ ァ タ イ プ シ ン グルエン ド 、 差 動 Single-ended Data Width (calculated) イ ン タ ーフ ェ イ ス のデー タ 幅 1-16 ( 算出 ) Clock/Address/Command 本オプシ ョ ンがチ ェ ッ ク さ れ る と ク ロ ッ ク / ア ド レ ス / コ マ ン ド ・ イ ン タ ーフ ェ イ ス が生成 さ れ る Enabled, Disabled Disabled Data Mask 本オプシ ョ ンがチ ェ ッ ク さ れ る と 、 デー タ マ ス ク 信号が生成 さ れ る Enabled, Disabled Disabled Lock/Jitter Sensitivity DQSDLL の ロ ッ ク 感度ア ト リ ビ ュ ー ト 。 Low は ジ ッ タ に対す る 感度が低い こ と を意味す る High, Low Low ユーザが IPexpress を使用 し て ク ロ ッ ク / ア ド レ ス / コ マ ン ド 信号の生成を選択 し た場合、 Clock / Address / Command タ ブの設定が有効にな り 、 必要に応 じ てセ ッ ト ア ッ プで き ます。 図 11-51. DDR_MEM の Clock/Address/Command タ ブ 11-48 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 表 11-12. DDR_MEM モジ ュール、 Configuration タ ブのオプシ ョ ン GUI オプ シ ョ ン 値 ・ 範囲 デフ ォル ト 値 Number of Clocks DDR/DDR2: 1, 2LPDDR: 1 1 Number of Clock Enables DDR/DDR2: 1, 2 LPDDR: 1 1 Address Width DDR: 12 – 14 DDR2: 13 – 16 LPDDR: 12 -14 DDR: 13DDR2: 14LPDDR: 13 Bank Address Width DDR: 2 DDR2: 2, 3 LPDDR: 2 DDR: 2 DDR2: 2 LPDDR: 2 Number of ODT DDR: blank DDR2: 1, 2 LPDDR: blank DDR: Blank DDR2: 1 LPDDR: Blank Number of Chip Selects DDR / DDR2: 1, 2 LPDDR: 1 DDR/DDR2: 1 LPDDR: 1 DDR メ モ リ の DQ / DQS の設計規則 と ガ イ ド ラ イ ン 以下に示すのは MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス におけ る 、 DDR メ モ リ イ ン タ ーフ ェ イ ス実装に関す る い く つかの規則 と ガ イ ド ラ イ ンです。 • DDR メ モ リ の I/O ロ ジ ッ ク と DQS 回路は、 デバ イ ス の右辺バン ク で使用可能。 即ち DDR メ モ リ イ ン タ ーフ ェ イ ス は、 デバ イ ス の右辺バン ク でのみ実装が可能 • デバ イ ス には 2 つの DQSDLL があ り 、 一方は左辺 と 下辺バン ク 用で、 他方は右辺 と 上辺バン ク 用。 DDR メ モ リ イ ン タ ーフ ェ イ ス の実装には、 右辺 と 上辺バン ク 用のみが使用で き る • DQSDLL に よ り 生成 さ れ る 遅延制御 コー ド は、 右辺バン ク の全 DDR メ モ リ 用 I/O ロ ジ ッ ク に適用 さ れ る • DDR1 SDRAM イ ン タ ーフ ェ イ ス を実装す る 場合、 全ての イ ン タ ーフ ェ イ ス信号は SSTL25 I/O で接続す る • DDR2 SDRAM イ ン タ ーフ ェ イ ス の場合、 信号を SSTL18 I/O で接続す る • LPDDR SDRAM イ ン タ ーフ ェ イ ス の場合、 信号を LVCMOS18 で接続す る • DDR メ モ リ イ ン タ ーフ ェ イ ス は全て差動 ク ロ ッ ク 信号が必要で、 メ モ リ イ ン タ ーフ ェ イ ス で指定 さ れた 差動 I/O で接続す る • DDR2 に対す る 差動 DQS の使用はオプシ ョ ン。 差動の場合は SSTLD18 I/O で接続す る DDR/DDR2/LPDDR の ピ ン配置ガ イ ド ラ イ ン • DQS と DQ の関連にかんす る 規則に必ず従 う こ と – DQS に関連す る 全ての DQ (8 ま たは 4 本) は同一の DQS-14 グループ内になければな ら ない • デー タ マ ス ク (DM) は対応す る DQS-14 グループ内の一部であ る こ と が必要 – 例えば DM[0] は DQ[7:0] と DQS[0] のあ る DQS-14 グループ内にあ る こ と • DQS は専用の DQS パ ッ ド に割 り 当てなければな ら ない – 差動 DQS を選択す る 場合 DQSN パ ッ ド が使用 さ れ る • SSTL18D を DQS パ ッ ド に適用す る 場合 DQSN パ ッ ド には信号を割 り 当てない こ と – ソ フ ト ウ ェ アが自動的に DQS# を配置す る • 出力生成に使用す る PLL への ク ロ ッ ク は正 し い専用 PLL ピ ンの入力に割 り 当てなければな ら ない • DQS-14 グループに加え、 DDR メ モ リ イ ン タ ーフ ェ イ ス は通常、 メ モ リ 規模に応 じ て CLK / CLKN やア ド レ ス、 コ マン ド ピ ン な ど、 こ れ以外に 20 ~ 24 ピ ンが必要。 デバ イ ス の右辺バン ク 以外の ピ ン を こ れ ら の 信号に使用で き る • MachXO2 デバ イ ス フ ァ ミ リ は任意の I/O を Vref ピ ン と し て使用で き る 。 し か し DDR / DDR2 用の Vref は DQS-14 グループの一部でなければな ら ない。 Vref ピ ンの割当て規則については、 TN1202 ”MachXO2 sysIO Usage Guide (MachXO2 sysIO 使用ガ イ ド ) ” を参照の こ と 11-49 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 DDR ソ フ ト ウ ェ ア ・ プ リ ミ テ ィ ブ と ア ト リ ビ ュ ー ト こ のセ ク シ ョ ンでは、 全ての汎用 DDR イ ン タ ーフ ェ イ ス と DDR メ モ リ イ ン タ ーフ ェ イ ス の実装に使用す る ソ フ ト ウ ェ ア ・ プ リ ミ テ ィ ブについて説明 し ます。 プ リ ミ テ ィ ブは、 その使用法に従っ て分割 さ れます。 一 部は汎用 DDR イ ン タ ーフ ェ イ ス のみに使用 さ れ、 一部は DDR メ モ リ の DQS ロ ジ ッ ク に使用 さ れ、 ま たその 他は汎用 と メ モ リ イ ン タ ーフ ェ イ ス が制御機能を共有 し ます。最初に DDR 入力のプ リ ミ テ ィ ブについて説明 し 、 続いて DDR 出力のプ リ ミ テ ィ ブ を、 そ し て DDR 制御 ロ ジ ッ ク のプ リ ミ テ ィ ブについて説明 し ます。 表 11-13. MachXO2 DDR ソ フ ト ウ ェ ア ・ プ リ ミ テ ィ ブ タ イプ プリ ミティブ IDDRXE Data Input Data Output 使用法 汎用 DDR x1 IDDRX2E 汎用 DDR x2 IDDRX4B 汎用 DDR x4 IDDR71A 汎用 DDR 7:1 IDDRDQSX1A DDR メ モ リ ODDRXE 汎用 DDR x1 ODDRX2E 汎用 DDR x2 ODDRX4B 汎用 DDR x4 ODDR71A 汎用 DDR 7:1 ODDRDQSX1A DDR メ モ リ DQS Tristate TDDRA DDR メ モ リ DQSBUF Logic DQSBUFH DDR メ モ リ DLL DQSDLLC 汎用 x2、 x4、 及び DDR メ モ リ 用のマ ス タ DLL DELAYD 汎用 x2、 x4 用の動的制御を備え る 遅延ブ ロ ッ ク DELAYE 汎用 DDR x1、 x2、 x4 用の固定遅延を備え る 遅延ブ ロ ッ ク DLLDELC 汎用 DDR x2、 x4 用の ク ロ ッ ク ス レーブ遅延セル Input Delay 入力 DDR プ リ ミ テ ィ ブ 入力 DDR プ リ ミ テ ィ ブは、 メ モ リ イ ン タ ーフ ェ イ ス か ら 入力 さ れ る GDDR デー タ と DDR デー タ の両方を捕 捉す る ために使用す る モジ ュ ールです。 GDDR イ ン タ ーフ ェ イ ス に対 し て様々なギ ア リ ン グ を実装す る DDR 入力レ ジ ス タ には、 い く つかのモー ド があ り ます。 メ モ リ DDR は、 GDDR プ リ ミ テ ィ ブ と は異な る プ リ ミ テ ィ ブ を使用 し ます。 入力プ リ ミ テ ィ ブの全デー タ ポー ト で受信 さ れ る 最初のビ ッ ト は、 パ ラ レルデー タ の Q0 です。 IDDRXE こ のプ リ ミ テ ィ ブは入力レ ジ ス タ ブ ロ ッ ク を x1 ギ ア リ ン グモー ド で実装 し 、 MachXO2 デバ イ ス の全辺で使 用可能な、 汎用 DDR x1 イ ン タ ーフ ェ イ ス (ギ ア リ ン グ比 1:2) に対 し てのみ使用 さ れます。 こ のプ リ ミ テ ィ ブでは全体で 1 本の ク ロ ッ ク ソ ース SCLK を使用す る ため、 ク ロ ッ ク ド メ イ ン転送はあ り ません。 図 11-52. IDDRXE シ ンボル IDDRXE Q0 Q1 D SCLK RST こ のプ リ ミ テ ィ ブの内部レ ジ ス タ 構造は、 図 11-1 で示す基本 PIO セルに基づいてい ます。 初段の組は SCLK の両エ ッ ジでデー タ を捕捉す る DDR レ ジ ス タ です。 次段の組は捕捉 し たデー タ を FPGA コ アに転送す る 同 期レ ジ ス タ です。 IDDRX2E 11-50 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 こ のプ リ ミ テ ィ ブは入力レ ジ ス タ ブ ロ ッ ク を x2 ギ ア リ ン グモー ド で実装 し 、 MachXO2-640U と MachXO21200/U、 及び こ れ よ り 大規模デバ イ ス の下辺の汎用 DDR x2 イ ン タ ーフ ェ イ ス (ギ ア リ ン グ比 1:4) に対 し てのみ使用 し ます。 こ の レ ジ ス タ は GDDR イ ン タ ーフ ェ イ ス でエ ッ ジ ク ロ ッ ク 配線を、 FPGA コ アでシ ス テ ム ク ロ ッ ク を使用す る よ う に設計 さ れてい ます。 エ ッ ジ ク ロ ッ ク は ECLK ポー ト に接続 さ れ、 シ ス テ ム ク ロ ッ ク は SCLK ポー ト に接続 さ れます。 本プ リ ミ テ ィ ブはデバ イ ス下辺の I/O セルの、 A/B ま たは C/D ペア の両方に使用で き ます。 図 11-53. IDDRX2E シ ン ボル IDDRX2E D ECLK SCLK RST ALIGNWD Q0 Q1 Q2 Q3 こ のプ リ ミ テ ィ ブの内部レ ジ ス タ 構造は、 図 11-3 の受信パ ス で示す よ う な ビデオ PIO セルに基づいてい ま す。 初段の組は ECLK の両エ ッ ジでデー タ を捕捉す る DDR レ ジ ス タ です。 次段の組は ク ロ ッ ク ド メ イ ン転 送のためにデー タ を保持す る 同期レ ジ ス タ です。 第 3 段の組は ECLK か ら SCLK への ク ロ ッ ク ド メ イ ン転送 を行い ます。 IDDRX4B こ のプ リ ミ テ ィ ブは入力レ ジ ス タ ブ ロ ッ ク を x4 ギ ア リ ン グモー ド で実装 し 、 MachXO2-640U と MachXO21200/U、 及び こ れ よ り 大規模デバ イ ス の下辺の汎用 DDR x4 イ ン タ ーフ ェ イ ス (ギ ア リ ン グ比 1:8) に対 し てのみ使用 し ます。 こ の レ ジ ス タ は GDDR イ ン タ ーフ ェ イ ス でエ ッ ジ ク ロ ッ ク 配線を、 FPGA コ アでシ ス テ ム ク ロ ッ ク を使用す る よ う に設計 さ れてい ます。 エ ッ ジ ク ロ ッ ク は ECLK ポー ト に接続 さ れ、 シ ス テ ム ク ロ ッ ク は SCLK ポー ト に接続 さ れます。 こ のプ リ ミ テ ィ ブはデバ イ ス下辺の I/O セルの A/B ペアだけに使用 で き ます。 図 11-54. IDDRX4B シ ン ボル IDDRX4B D ECLK SCLK RST ALIGNWD Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 IDDRX4B の 1:8 ギ ア リ ン グは 2 つの 1:4 ギア リ ン グ を使用 し 、 IDDRX2E と 基本アーキ テ ク チ ャ を共有 し てい ます。 こ のプ リ ミ テ ィ ブの内部レ ジ ス タ 構造は、 図 1c の受信パ ス で示すビデオ PIO セルに基づいてい ます。 初段の組は ECLK の両エ ッ ジでデー タ を捕捉す る DDR レ ジ ス タ です。 次段の組は ク ロ ッ ク ド メ イ ン転送の ためにデー タ を保持す る 同期レ ジ ス タ です。 第 3 段の組は ECLK か ら SCLK への ク ロ ッ ク ド メ イ ン転送を行 い ます。 IDDRX71A こ のプ リ ミ テ ィ ブは入力レ ジ ス タ ブ ロ ッ ク を 7:1 ギ ア リ ン グモー ド で実装 し 、 MachXO2-640U と MachXO21200/U、 及び こ れ よ り 大規模デバ イ ス下辺の、 汎用 DDR71 イ ン タ ーフ ェ イ ス (ギ ア リ ン グ比 1:7) に対 し て のみ使用 し ます。 こ の レ ジ ス タ は GDDR イ ン タ ーフ ェ イ ス でエ ッ ジ ク ロ ッ ク 配線を、 FPGA コ アでシ ス テ ム ク ロ ッ ク を使用す る よ う に設計 さ れてい ます。 エ ッ ジ ク ロ ッ ク は ECLK ポー ト に接続 さ れ、 シ ス テ ム ク ロ ッ ク は SCLK ポー ト に接続 さ れます。 こ のプ リ ミ テ ィ ブは入力 x4 ギ ア リ ン グのプ リ ミ テ ィ ブ と 同様に、 デバ イ ス下辺の PIO セルの A/B ペアだけに使用で き ます。 11-51 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-55. IDDRX71A シ ン ボル IDDRX71A D ECLK SCLK RST ALIGNWD Q0 Q1 Q2 Q3 Q4 Q5 Q6 IDDRX71A の 1:7 ギ ア リ ン グは、 IDDRX4B プ リ ミ テ ィ ブの 1:8 ギ ア リ ン グ と 同 じ アーキ テ ク チ ャ を共有 し ま す。一度に選択す る のが 3 ビ ッ ト デー タ か 4 ビ ッ ト デー タ かは、内部制御信号に依存 し ます。 こ のプ リ ミ テ ィ ブの内部レ ジ ス タ 構造は、 図 11-3 の受信パ ス で示すビデオ PIO セルに基づいてい ます。 初段の組は ECLK の両エ ッ ジでデー タ を捕捉す る DDR レ ジ ス タ です。次段の組は ク ロ ッ ク ド メ イ ン転送のためにデー タ を保持 す る 同期レ ジ ス タ です。 第 3 段の組は ECLK か ら SCLK への ク ロ ッ ク ド メ イ ン転送を行い ます。 IDDRDQSX1A こ のプ リ ミ テ ィ ブは DDR メ モ リ の入力バ ッ フ ァ で、 MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大 規模デバ イ ス の右辺の、 DQ ま たは DQS 入力ピ ンに対 し てのみ使用で き ます。 こ のプ リ ミ テ ィ ブは 3 段の レ ジ ス タ か ら 構成 さ れてお り 、 DDR レ ジ ス タ の初段は、 DQS 回路 (DQSBUF) で生成す る DQS ス ト ロ ーブ を 90° 位相シ フ ト し た DQSR90 信号の、 立ち上が り と 立ち下が り エ ッ ジで入力デー タ を捕捉 し ます。 捕捉 さ れ た デ ー タ は そ の 後、 や は り DQSBUF で 生 成 さ れ て ク ロ ッ ク ド メ イ ン 転 送 を 保証 す る 役割 を 果 た す DDRPOLCLK 信号の極性に対応 し て、 SCLK の立ち上が り エ ッ ジ ま たは立ち下が り エ ッ ジで次段の レ ジ ス タ に転送 さ れます。。 信号は最終段の レ ジ ス タ で SCLK の立ち上が り エ ッ ジで再びサンプル さ れ、 フル ク ロ ッ ク 周期の転送を コ アに提供 し ます。 図 11-56. IDDRXQSX1A シ ン ボル IDDRDQSX1A D DQSR90 DDRCLKPOL SCLK RST Q0 Q1 こ のプ リ ミ テ ィ ブの内部レ ジ ス タ 構造は、図 11-2で示す よ う に メ モ リ PIOセルの入力パス に基づいてい ます。 出力 DDR プ リ ミ テ ィ ブ 出力 DDR プ リ ミ テ ィ ブは、 2 本のデー タ ス ト リ ーム を GDDR イ ン タ ーフ ェ イ ス ま たは DDR メ モ リ デバ イ ス に出力す る ために多重化す る 、 出力 DDR モジ ュ ールです。 GDDR イ ン タ ーフ ェ イ ス に対 し て様々なギ ア リ ン グ を実装す る DDR 出力レ ジ ス タ には、幾つかのモー ド があ り ます。 メ モ リ DDR 出力は、GDDR イ ン タ ーフ ェ イ ス と は異な る プ リ ミ テ ィ ブ を使用 し ます。 出力プ リ ミ テ ィ ブの全デー タ ポー ト で送信 さ れ る 最初のビ ッ ト は、 パ ラ レルデー タ の D0 です。 ODDRXE こ のプ リ ミ テ ィ ブは出力レ ジ ス タ ブ ロ ッ ク を x1 ギ ア リ ン グモー ド で実装 し 、 MachXO2 デバ イ ス の全辺で使 用で き ます。こ のプ リ ミ テ ィ ブでは FPGA コ アか ら の 1 本のプ ラ イ マ リ ・ ク ロ ッ ク ソ ース SCLK を使用 し ます。 図 11-57. ODDRXE シ ン ボル ODDRXE Q D0 D1 SCLK RST 11-52 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 こ のプ リ ミ テ ィ ブの内部レ ジ ス タ 構造は、 図 11-1 で示す基本 PIO セルに基づいてい ます。 SCLK を使用 し 、 2 ビ ッ ト ・ パ ラ レルデー タ を多重化 し てシ リ アル ・ デー タ ス ト リ ーム を生成 し ます。 ODDRX2E こ のプ リ ミ テ ィ ブは出力レ ジ ス タ ブ ロ ッ ク を x2 ギ ア リ ン グモー ド で実装 し 、 MachXO2-640U と MachXO21200/U、 及び こ れ よ り 大規模デバ イ ス上辺の、 汎用 DDR x2 イ ン タ ーフ ェ イ ス (ギ ア リ ン グ比 4:1) に対 し てのみ使用 さ れます。 こ の レ ジ ス タ は FPGA でシ ス テ ム ク ロ ッ ク を使用 し 、 DDR イ ン タ ーフ ェ イ ス でエ ッ ジ ク ロ ッ ク を使用す る よ う に設計 さ れてい ます。 エ ッ ジ ク ロ ッ ク は ECLK ポー ト に接続 さ れ、 シ ス テ ム ク ロ ッ ク は SCLK ポー ト に接続 さ れます。 こ のプ リ ミ テ ィ ブはデバ イ ス上辺の PIO セルの、A/B と C/D ペアの両方 で使用で き ます。 図 11-58. ODDRX2E シ ン ボル ODDRX2E D0 Q D1 D2 D3 ECLK SCLK RST こ のプ リ ミ テ ィ ブの内部レ ジ ス タ 構造は、 図 11-3 の送信パ ス で示すビデオ PIO セルに基づいてい ます。 パ ラ レルデー タ はレ ジ ス タ 初段の組で SCLK に よ っ て取 り 込まれます。 各ア ッ プデー ト 時に、 パ ラ レルデー タ が SCLK に よ り ク ロ ッ キ ン グ さ れ、 次段レ ジ ス タ の組で保持 さ れます。 第 3 段レ ジ ス タ 組の出力デー タ は ECLK に よ り 多重化 さ れシ リ アルデー タ と し て出力 さ れます。 ODDRX4B こ のプ リ ミ テ ィ ブは出力レ ジ ス タ ブ ロ ッ ク を x4 ギ ア リ ン グモー ド で実装 し 、 MachXO2-640U と MachXO21200/U、 及び こ れ よ り 大規模デバ イ ス上辺の、 汎用 DDR x4 イ ン タ ーフ ェ イ ス (ギ ア リ ン グ比 8:1) に対 し てのみ使用 さ れます。 こ の レ ジ ス タ は FPGA でシ ス テ ム ク ロ ッ ク を使用 し 、 GDDR イ ン タ ーフ ェ イ ス でエ ッ ジ ク ロ ッ ク を使用す る よ う に設計 さ れてい ます。 エ ッ ジ ク ロ ッ ク は ECLK ポー ト に接続 さ れ、 シ ス テ ム ク ロ ッ ク は SCLK ポー ト に接続 さ れます。 こ のプ リ ミ テ ィ ブは、 デバ イ ス上辺の I/O セルの A/B ペアでのみ使 用で き ます。 図 11-59. ODDRX4B シ ン ボル ODDRX4B D0 D1 D2 D3 D4 D5 D6 D7 ECLK SCLK RST Q こ のプ リ ミ テ ィ ブの内部レ ジ ス タ 構造は、 図 11-3 の送信パ ス で示すビデオ PIO セルに基づいてい ます。 パ ラ レ ルデー タ は レ ジ ス タ 初段の組で SCLK に よ り 取 り 込ま れ ま す。 各ア ッ プデー ト 時にパ ラ レ ルデー タ が SCLK に よ り 取 り 込まれ、 次段レ ジ ス タ の組で保持 さ れます。 第 3 段レ ジ ス タ の組のデー タ は、 ECLK に よ り 多重化 さ れシ リ アルデー タ と し て出力 さ れます。 ODDRX71A こ のプ リ ミ テ ィ ブは、出力レ ジ ス タ ブ ロ ッ ク を 7:1 ギア リ ン グモー ド で実装 し 、MachXO2-640U と MachXO21200/U、 及び こ れ よ り 大規模デバ イ ス上辺の、 汎用 DDR71 イ ン タ ーフ ェ イ ス (ギ ア リ ン グ比 7:1) に対 し て 11-53 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 のみ使用 さ れます。 こ の レ ジ ス タ は FPGA でシ ス テ ム ク ロ ッ ク を使用 し 、 GDDR イ ン タ ーフ ェ イ ス でエ ッ ジ ク ロ ッ ク 配線を使用す る よ う に設計 さ れてい ます。 エ ッ ジ ク ロ ッ ク は ECLK ポー ト に接続 さ れ、 シ ス テ ム ク ロ ッ ク は SCLK ポー ト に接続 さ れます。 こ のプ リ ミ テ ィ ブは、 デバ イ ス上辺の I/O セルの A/B ペアでのみ使 用で き ます。 図 11-60. ODDRX71A シ ン ボル ODDRX71A D0 D1 D2 D3 D4 D5 D6 ECLK SCLK RST Q ODDRX71A の 7:1 ギ ア リ ン グは、 ODDRX4B プ リ ミ テ ィ ブの 8:1 ギ ア リ ン グ と 同 じ アーキ テ ク チ ャ を共有 し てい ます。 送信のために一度に選択す る のが 3 ビ ッ ト デー タ か 4 ビ ッ ト デー タ かは、 内部制御信号に依存 し ます。 こ のプ リ ミ テ ィ ブの内部レ ジ ス タ 構造は、 図 11-3 の送信パ ス で示すビデオ PIO セルに基づいてい ま す。 パ ラ レルデー タ は、 SCLK で初段レ ジ ス タ の組に取 り 込まれます。 各ア ッ プデー ト 時、 パ ラ レルデー タ が SCLK で次段レ ジ ス タ の組で保持 さ れます。 第 3 段レ ジ ス タ の組のデー タ は、 ECLK に よ り 多重化 さ れシ リ アルデー タ と し て出力 さ れます。 ODDRDQSX1A こ のプ リ ミ テ ィ ブは DDR メ モ リ の出力バ ッ フ ァ で、 MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大 規模デバ イ ス右辺の DQ ま たは DQS 出力ピ ンに対 し てのみ使用で き ます。 DQ 出力デー タ の場合、 パ ラ レル デー タ はシ ス テ ム ク ロ ッ ク SCLK で こ のプ リ ミ テ ィ ブに取 り 込まれます。捕捉 さ れたデー タ は、SCLK を DQS 回路 (DQSBUF) で 90° 位相シ フ ト し た DQSW90 信号に よ り 多重化 さ れ、 ピ ンに出力 さ れます。 DQS 出力 の場合 も 同 じ 出力バ ッ フ ァ ・ アーキ テ ク チ ャ を共有 し ますが、 DQ と は異な り ク ロ ッ ク は SCLK に よ り 制御 さ れ、 DQS は 90° 位相シ フ ト し ません。 こ れに よ り 送信時に DQS が DQ の中央にア ラ イ ン さ れます。 図 11-61. ODDRDQSX1A シ ン ボル ODDRDQSX1A Q DQSW90 SCLK D0 D1 RST こ のプ リ ミ テ ィ ブの内部レ ジ ス タ 構造は、 図 11-2 で示す メ モ リ PIO セルの出力パス に基づ き ます。 TDDRA こ れは MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の右辺で DQ ま たは DQS ピ ンに 対 し て使用 さ れ る 、 特別な ト ラ イ ス テー ト ・ プ リ ミ テ ィ ブです。 こ の レ ジ ス タ 構造は、 図 11-2 の メ モ リ PIO セルの ト ラ イ ス テー ト ・ レ ジ ス タ ブ ロ ッ ク に示 さ れてい ます。 図 11-62. TDDRA シ ン ボル TDDRA TQ DQSW90 SCLK TD RST 11-54 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 こ の コ ン ポーネ ン ト を DQ ピ ンに対 し て使用す る 場合、 DQSW90 ポー ト は DQSBUF コ ン ポーネ ン ト か ら の DQSW90 信号で ド ラ イ ブ さ れ る 必要があ り ます。 DQS に対 し て使用す る 場合は、 DQSW90 ポー ト は SCLK で ド ラ イ ブ さ れ る 必要があ り ます。 こ のプ リ ミ テ ィ ブは、 表に記載 さ れてい る ア ト リ ビ ュ ー ト (属性) があ り 、 DDR の メ モ リ ラ イ ト 時に DQS を DQ デー タ の中央に確実にア ラ イ ン さ せます。 表 11-14. TDDRA ア ト リ ビ ュー ト ア ト リ ビ ュー ト DQSW90_INVERT 説明 DQS ピ ンに対す る TDDRA の ク ロ ッ ク 極性を選択 す る 。 DDR ラ イ ト 時に DQS に対 し てのみ使用 値 ソ フ ト ウェア ・ デ フ ォル ト ENABLED, DISABLED DISABLED (和訳版注 : 英語オ リ ジナルでは本表 と 異な る が こ れは誤 り 。 次改訂版では本表の よ う に更新予定) DDR 制御 ロ ジ ッ ク ・ プ リ ミ テ ィ ブ 以下に説明す る DDR プ リ ミ テ ィ ブには DLL と DQS 回路、 及び遅延エ レ メ ン ト が含まれます。 DLL は GDDR と DDR メ モ リ で共有 し てい ます。 DQS 回路は DDR メ モ リ に対 し てのみ使用 さ れ、 遅延エ レ メ ン ト はデー タ パ ス ま たは ク ロ ッ ク ス レーブ遅延パ ス用です。 DQSBUFH こ のプ リ ミ テ ィ ブは DDR メ モ リ イ ン タ ーフ ェ イ ス で使用す る DQS 回路です。DDR メ モ リ の リ ー ド / ラ イ ト 動作のために DQS を位相シ フ ト し ます。 こ のプ リ ミ テ ィ ブはプ リ ア ンブル及びポ ス ト ア ンブル検出、 デー タ 有効 (Data Valid) 検出、 及び DDR メ モ リ イ ン タ ーフ ェ イ ス のアプ リ ケーシ ョ ンに必要な多 く の機能を提供 し ます。 図 11-63. DQSBUFH シ ン ボル DQSBUFH DQSI READ READCLKSEL1 READCLKSEL0 SCLK RST DQSDEL DDRCLKPOL DQSR90 DQSW90 DATAVALID BURSTDET 表 11-15. DQSBUFH 信号 信号 I/O 説明 DQSI I ピ ンか ら の DQS 信号 READ I FPGA ロ ジ ッ ク か ら の DDR リ ー ド モー ド 信号 READCLKSEL1, READCLKSEL0 I READ パル ス の位置制御に関す る READ ク ロ ッ ク ソ ース と 極性制御を T/4 精度で選択す る 。 4 つの位置 と は、 SCLK ま たは DQSW90 のそれぞれ立ち上が り / 立ち下が り エ ッ ジ。 信号は FPGA ロ ジ ッ ク か ら 入力 さ れ る SCLK I システム ク ロ ッ ク RST I こ のブ ロ ッ ク の リ セ ッ ト 信号 DQSDEL I DQSDLLC か ら の DQS ス レーブ遅延制御 DDRCLKPOL O SCLK の極性制御 DQSR90 O 90° 位相シ フ ト し た DQS 出力 DQSW90 O 90° 位相シ フ ト し た SCLK 出力 DATAVALID O リ ー ド モー ド のデー タ 有効信号 BURSTDET O バース ト 検出信号 図 11-64 は DQSBUFH プ リ ミ テ ィ ブ内の機能ブ ロ ッ ク 概要です。 11-55 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-64. DQSBUFH ブ ロ ッ ク 図 DQS_Clean DQSI Pre-amble and Post-amble Management READ POL Signal DDRCLKPOL READ_CLK_SEL[1:0] READ Phase Shift DQSR90 DQSW90 DQS Pulse Counter BURSTDET Data Valid Logic DATAVALID Write Phase Shift DQSW90 DQSR90 SCLK DLLDEL DQSBUFH DQS_Clean はデジ タ ル的に生成 さ れた DQS 信号で、 下流 ロ ジ ッ ク 用にグ リ ッ チを除去 し た DQSI 信号です。 READCLKSEL 信号はユーザ ロ ジ ッ ク に よ り ド ラ イ ブ さ れ る 、DDR メ モ リ コ ン ト ロ ー ラ IP の一部です。SCLK と DQSW90 信号間の 4 つの位相の 1 つを選択 し 、 リ ー ド プ ロ セ ス を開始 し ます。 DDR ク ロ ッ ク 極性 (DDRCLKPOL) 信号は、 最初の DQS 遷移時に SCLK の位相に基づいて生成 さ れます。 SCLK が High の と き に DQS 遷移が発生す る と 、 DDRCLKPOL が High にな り 、 SCLK の立ち上が り エ ッ ジで デー タ を FPGA コ アに出力 し ます。 その他の場合は DDRCLKPOL は Low にな り 、 SCLK の立ち下が り エ ッ ジ でデー タ を FPGA コ アに出力 し ます。 DQSR90 は、 DQSDLL か ら の DQSDEL 遅延制御 コ ー ド に基づ き 、 DQS_Clean 信号を 90° 位相シ フ ト し た信 号です。 こ の信号は DQSR90 ツ リ ーに分配 さ れて DDR メ モ リ に入力す る 全 DQ デー タ で使用 さ れ、 リ ー ド 動作時に入力デー タ を取 り 込む ク ロ ッ ク と な り ます。 DQSW90 は SCLK 信号を 90° 位相シ フ ト し た信号で す。 こ れは選択信号 と し て使用 さ れ、 ラ イ ト 動作時に出力デー タ を シ リ ア ラ イ ズ し ま す。 ラ イ ト 動作時に DQS バ ッ フ ァ は DQ デー タ と 90° の位相差があ り ます。 DDR メ モ リ の リ ー ド 動作では、BURSTDET を使用 し て リ ー ド プ ロ セ ス の開始時に READ パルス の位置を最適 化 し ます。 ト レーニ ン グプ ロ セ ス では、 起動時に少な く と も 4 バース ト 長 (BL) が必要です。 こ れを実現す る のは、 2 連続の BL2 (BL=2) か偶数個の BL2、 任意個の BL4 (BL=4)、 ま たは こ れ よ り 長いです。 ま た リ ー ド 動作中には、BURSTDET 信号を用いて READ パルス位置を定期的にキ ャ リ ブ レーシ ョ ン し ます。DDR メ モ リ コ ン ト ロ ー ラ IP は、 必要な ス テ ッ プで BURSTDET 信号を モニ タ リ ン グ し 、 最適な READ パルス の位置を 検出 し ます。 DQSBUF ブ ロ ッ ク への READ 信号は、DDR メ モ リ コ ン ト ロ ー ラ IP か ら 生成 さ れます。READ コ マ ン ド は DDRSDRAM を制御 し た後 High にな り ます。こ れは通常 1 サ イ ク ルだけ DQS プ リ ア ンブルに先行す る 必要があ り ますが、前回の リ ー ド サ イ ク ルの ト レー リ ン グ ビ ッ ト に重な る こ と も あ り ます。READ 信号を使用 し て、図 1165 のグ レー部分で内部信号の DQS_ena を ア ク テ ィ ブに し ます。す る と BURSTDET が High にな り 、DQS_Clean 信号がア ク テ ィ ブにな り ます。 READ 信号はバース ト 長期間を維持す る 必要があ り ます。 11-56 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 図 11-65. READ パルス位置の最適化 DQS (amalog) DQSI (digital) READ DQS_ena DQS_Clean BURSTDET DQSDLLC DQSDLLC はオンチ ッ プ DLL で、DQS 信号に必要な 90° 位相シ フ ト を生成 し ます。DDR 実装には DQSDLLC を 1 つだけ使用 し ます。 こ の DLL に対す る 入力 ク ロ ッ ク は DDR イ ン タ ーフ ェ イ ス と 同 じ 周波数にす る 必要 があ り ます。 DQSDLLC は こ の ク ロ ッ ク 周波数に基づ き 遅延を生成 し 、 こ のブ ロ ッ ク への制御入力を ア ッ プ デー ト し ます。 こ のア ッ プデー ト 制御 (UDDCNTLN) 入力がアサー ト さ れ る と 、 DQSDLLC は DQS 遅延ブ ロ ッ ク に対す る 動的遅延制御 コ ー ド (DQSDEL) を ア ッ プデー ト し ます。 こ れ以外の場合ア ッ プデー ト はホー ル ド 状態です。 UDDCNTLN に対す る Low ア ク テ ィ ブ信号が、 DQS 位相ア ラ イ メ ン ト を ア ッ プデー ト し ます。 図 11-66. DQSDLLC シ ン ボル DQSDLLC LOCK DQSDEL CLK RST UDDCNTLN FREEZE 表 11-16. DQSDLLC 信号 信号 I/O 説明 CLK I DLL への入力 ク ロ ッ ク 、 DDR イ ン タ ーフ ェ イ ス と 同 じ 周波数 RST I DLL リ セ ッ ト 制御 UDDCNTLN I 調整に先立つ遅延 コ ー ド の制御を ア ッ プデー ト か維持す る 。 Low ア ク テ ィ ブ信号で遅延 コ ー ド を ア ッ プデー ト す る FREEZE I DLL の入力 CLK を フ リ ーズ ま たは リ リ ースす る LOCK O DLL ロ ッ ク 信号 DQSDEL O ス レーブ遅延セルへの DLL 遅延制御 コ ー ド 。 DQSBUFH エ レ メ ン ト の DQSDEL に接続す る DQS の遅延は、UDDCNTLN 入力を使用す る こ と で PVT バ ラ つ き に対 し て ア ッ プデー ト で き ます。UDDCNTLN を Low にす る こ と で、 バ ラ つ き が予測 さ れ る と き DQSDEL を ア ッ プデー ト で き ます。 DDR メ モ リ の リ ー ド ま たは ラ イ ト 動作中以外はいつで も ア ッ プデー ト で き ます。 こ の コ ン ポーネ ン ト の FREEZE 入力ポー ト を使用 し て、 DLL を フ リ ーズ ま たは リ リ ース し ます。 FREEZE が High にな る と デバ イ ス は DLL を フ リ ーズ し て、 遅延 コ ー ド が保持 さ れ る 間の節電を し ます。 FREEZE が Low にな る と DLL を解放 し て動作を再開 し ます。 ク ロ ッ ク を停止す る 前に、 DQSDLLC に必ず FREEZE を与え な ければな り ません。 11-57 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 DLL への入力基準 ク ロ ッ ク の周波数に基づいて、 DLL はデフ ォ ル ト では DQS ス ト ロ ーブの 90° 位相シ フ ト 信号を生成 し ます。 ユーザは LOCK_SENSITIVITY ア ト リ ビ ュ ー ト を用い る こ と で、 ジ ッ タ に対す る 感度を制 御で き ます。 Lock_sensitivity の HIGH はジ ッ タ に対す る 感度が高い こ と を意味 し ますが、 LOW にプ ロ グ ラ ム す る こ と を推奨 し ます。 DQSDLLC は最大 400MHz ま での幅広い周波数に対応 し ます。 こ のプ リ ミ テ ィ ブに関す る FIN ア ト リ ビ ュ ー ト に よ り 、 ユーザは DLL 周波数を設定で き ます。 周波数が非常に低い場合、 DLL ロ ッ ク プ ロ セ ス をバ イ パ ス で き 、 その目的のためにア ト リ ビ ュ ー ト の FORCE_MAX_DELAY を使用で き ます。 セ ッ ト さ れた場合、 DLL は ロ ッ ク プ ロ セ ス に入 る こ と な く 、最大遅延 (maximum delay) ス テ ッ プに ロ ッ ク し ます。FORCE_MAX_DELAY ア ト リ ビ ュ ー ト の効果は、 シ ミ ュ レーシ ョ ンモデルには反映 さ れていな く 、常に 90° 位相シ フ ト 動作 し ます ので留意 し て く だ さ い。 FORCE_MAX_DELAY が有効な周波数範囲については MachXO2 フ ァ ミ リ デー タ シー ト を参照 し て く だ さ い。 表 11-17. DQSDLLC のア ト リ ビ ュー ト ア ト リ ビ ュー ト 説明 値 ソフ ト ウェア ・ デフ ォ ル ト 100 MHz LOCK_SENSITIVITY ジ ッ タ 感度 HIGH, LOW FIN DLL の入力 ク ロ ッ ク 周波数 DLL がサポー ト す る 範囲 FORCE_MAX_DELAY 低周波数での DLL ロ ッ ク 手順をバ イ パ ス し 、 最大遅延設定値を セ ッ ト す る YES, NO LOW NO DELAYE DDR レ ジ ス タ への入力デー タ は、 遅延ブ ロ ッ ク DELAYE に よ り オプシ ョ ン的に遅延で き ます。 32 タ ッ プの DELAYE ブ ロ ッ ク は、 ク ロ ッ ク 注入遅延時間を補正す る ために用い ら れ ま す。 遅延量はア ト リ ビ ュ ー ト の DEL_MODE に よ っ て、 実装す る イ ン タ ーフ ェ イ ス ・ タ イ プに基づいて ソ フ ト ウ ェ アが決定 し ま す。 ユーザ は、 ブ ロ ッ ク に対 し て USER_DEFINED モー ド を選択す る こ と で遅延値を設定で き ます。 こ のモー ド ではユー ザが手動で遅延ス テ ッ プ を セ ッ ト す る 必要があ り ます。 各ス テ ッ プご と の遅延は約 105ps です。 全ての汎用 DDR イ ン タ ーフ ェ イ ス に対 し ては PREDEFINED モー ド を使用す る こ と を推奨 し ます。何 ら かの イ ン タ ーフ ェ イ ス に対 し て正 し く ないア ト リ ビ ュ ー ト 値を設定す る と 、 DELAYE 設定値が不正にな り 、 DDR イ ン タ ーフ ェ イ ス の性能が最適にな り ません。 DELAYE ブ ロ ッ ク は DDR イ ン タ ーフ ェ イ ス の受信モー ド に適用 さ れます。 MachXO2 デバ イ ス全辺の全ての入力レ ジ ス タ パ ス で利用で き ます。 図 11-67. DELAYE シ ン ボル DELAYE A Z 表 11-18. DELAYE 信号 信号 I/O 説明 A I sys I/O バ ッ フ ァ か ら の DDR 入力 Z O 遅延を と も な う 出力 表 11-19. DELAYE ア ト リ ビ ュー ト ア ト リ ビ ュー ト 説明 値 ソフ ト ウェア ・ デフ ォ ル ト DEL_MODE SCLK_ZEROHOLD ECLK_ALIGNED イ ン タ ーフ ェ イ ス及びユーザ指定の遅延値に依存 ECLK_CENTERED す る 固定値 SCLK_ALIGNED SCLK_CENTERED USER_DEFINED USER_DEFINED DEL_VALUE ユーザ定義の値 DELAY0 DELAY0…DELAY31 11-58 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 表 11-20. GDDR イ ン タ ーフ ェ イ ス に対応する DEL_MODE 値 イ ン タ ー フ ェ イ ス名 DEL_MODE 値 GIREG_RX.SCLK SCLK_ZERHOLD GDDRX1_RX.SCLK.Aligned SCLK_ALIGNED GDDRX1_RX.SCLK.Centered SCLK_CENTERED GDDRX2_RX.ECLK.Aligned ECLK_ALIGNED GDDRX2_RX.ECLK.Centered ECLK_CENTERED GDDRX4_RX.ECLK.Aligned ECLK_ALIGNED GDDRX4_RX.ECLK.Centered ECLK_CENTERED GDDRX71_RX.ECLK.71 Bypass GOREG_TX.SCLK N/A GDDRX1_TX.SCLK.Centered N/A GDDRX1_TX.SCLK.Aligned N/A GDDRX2_TX.ECLK.Aligned N/A GDDRX2_TX.ECLK.Centered N/A GDDRX4_TX.ECLK.ALIGNED N/A GDDRX4_TX.ECLK.CENTERED N/A GDDRX_TX.ECLK.7:1 N/A DELAYD MachXO2-640U と MachXO2-1200/U、 及び こ れ よ り 大規模デバ イ ス の下辺で、 DDR レ ジ ス タ への入力デー タ は DELAYD ブ ロ ッ ク に よ っ て 遅延す る こ と も で き ま す。 デバ イ ス が動作す る 時に遅延値が決定 さ れ る DELAYE ブ ロ ッ ク と 異な り 、DELAYD ブ ロ ッ ク はユーザがデバ イ ス動作中で も デー タ 遅延量を制御で き ます。 こ のブ ロ ッ ク は 5 ビ ッ ト (32 タ ッ プ) 遅延制御を受け と り 、 ユーザ ロ ジ ッ ク が遅延ポー ト を介 し て動的に制 御 し ます。 各ス テ ッ プご と の遅延は約 105ps です。 図 11-68. DELAYD シ ン ボル DELAYD Z A DEL4 DEL3 DEL2 DEL1 DEL0 表 11-21. DELAYD 信号 信号 I/O 説明 A I I/O バ ッ フ ァ か ら のデー タ 入力 DEL4, DEL3, DEL2, DEL1, DEL0 I FPGA ロ ジ ッ ク か ら の動的遅延入力ポー ト Z O 遅延を と も な う 出力 11-59 TN1203_01.7 MachXO2 デバイスにおける 高速イ ン タ ー フ ェ イ スの実装 DLLDELC こ れは ク ロ ッ ク ス レーブ遅延セルで、全ての受信ア ラ イ ン ・ イ ン タ ーフ ェ イ ス において 90° 遅延信号を生成 し 、 遅延は DQSDLLC エ レ メ ン ト の入力 ク ロ ッ ク に基づいて算出 さ れます。 必要な遅延量は、 DQSDLLC に よ っ て生成 さ れ る 遅延制御 コ ー ド DQSDEL に基づ き ます。 図 11-69. DLLDELC シ ン ボル DLLDELC CLKO CLKI DQSDEL 表 11-22. DLLDELC 信号 信号 I/O 説明 CLKI I I/O バ ッ フ ァ か ら のデー タ 入力 DQSDEL I DQSDLLC か ら の動的遅延入力 CLKO O 遅延を と も な う 出力 テ ク ニ カルサポー ト 支援 e-mail: [email protected] イ ン タ ーネ ッ ト : www.latticesemi.com 日本語版改訂履歴 日付 バージ ョ ン 該当新ページ 改訂内容 2010 年 11 月 01.0 - 初版 2011 年 1 月 01.1 - 超多ピ ン (ultra-high, “U”) デバ イ ス を更新 2011 年 4 月 01.2 - IPexpress モジ ュ ールの信号名 と タ イ ミ ン グ情報を追記 2011 年 8 月 01.3 - [1] 図 11-44 差 し 替え [2] 英語オ リ ジナルでは 1200-R1 デバ イ ス に関す る 注記が追加 さ れ てい る が、 日本語版では省略 し た 2013 年 4 月 01.5 - (EN:ver.1.4) 会社 ロ ゴ更新、 ス テー タ ス更新 (Preliminary-> 正規) 11-61 11-61, 63 2014 年 1 月 1.7 11-24 11-28, 30 11-33 表 11-17、 FORCE_MAX_DELAY の記述を追加 DELAYE, DELAYD 節、 遅延 タ ッ プ 105ps の追記 表 11-3 複数の信号について記述を追記 表 11-5、 表 11-6、 ク ロ ッ ク 周波数範囲の値を更新 リ セ ッ ト 同期化要件の節、 第二パ ラ グ ラ フ記述を更新 11-60 TN1203_01.7
© Copyright 2024 Paperzz