DDR SDRAM メモリ・インターフェイス アジェンダ • なぜDDRなのか? • DDR対SDR • DDR SDRAMを理解 – バス・タイミング • CoolRunner-IIとDDR SDRAMのデモ・ボード • CoolRunner-IIのDDR SDRAMデザイン なぜDDRなのか? • DDRとはDouble Data Rate • 各クロック・サイクル毎に2個の情報を読み出しあ るいは書き込む機能 • クロック・スピードを上げず、バス幅を広げず、デ バイスのバンド幅を2倍にする DDR対SDRの機能比較 • DDRとSDRのメモリ・コアは同じ – – – – アドレス方法 コマンド制御インターフェイス メモリ・バンクのアレイ構造 リフレッシュ動作の必要性 • 主な差異はデータ・インターフェイスにある: – SDRは完全に同期型(clkのposedge) – DDRは真のソース同期型で、クロック・サイクル毎に データを2度取り込み、このとき双方向データ・ストローブ (DQS)を使用 ストローブ・ベースのデータ・バス • より高速なデータ・レートを得るために、データ・ ストローブ信号がDDRデバイスに追加 – DDRデータ・ストローブ(DQS)は非自由走行信号で、 データ信号をドライブしているデバイスによりドライ ブされる • WRITE(書き込み)時は、コントローラがDQSをドライブする • READ(読み出し)時は、DDR SDRAMがDQSをドライブする DDRの強化 • DDRはシステム・クロック(CLKとCLK#)に差動ペアを利用 • クロックの立上り/立下がりの両エッジでデータを転送 • DDRデバイスは、オンチップのディレイ・ロックド・ループ(DLL) を利用 • データ取り込みの信頼性を改善するためにデータ・ストローブ を追加 • SSTL_2信号方式を使用 • DDRは2n-プリフェッチ・アーキテクチャを採用 – 内部データバスは、外部データバス・サイズの2倍 SDR対DDRの要約 パラメータ DQM DM (Data Mask) DQS (Data Strobe) CK# (System Clock) Vref VDD and VDDQ 信号インターフェイス データレート アーキテクチャ SDR Yes No No No No 3.3V LVTTL 1x Clock DDR No Yes Yes Yes Yes 2.5V SSTL_2 2x Clock 同期 ソース同期 CoolRunner-II DDR SDRAM 評価用ボード CR-II / DDRデモ・ボード 2.5V/1.8V レギュレータ LP3964 LP3964 2.5 V 1.8 V VTT & VREF 生成 Micro Linear ML6554 バス・ターミネータ VREF Out VTT Out CR-II & DDR SDRAM Xilinx CR-II XC2C256 CLK Micron 128 Mb DDR MT46V16M8 SSTL_2終端処理 VTT VTT RT RT RS RS ZO = 50 Ohm VREF + - VTT RT RS ZO = 50 Ohm VREF + - CR-II / DDR終端処理 VTT VTT ZO = 50 Ohm VTT ZO = 50 Ohm VREF 128 Mb DDR SDRAM CPLDデザイン • DDR SDRAMコントローラ・デザインを一個の XC2C256で実現 (DDRに対する使用率は~50%) • 次のものを含む: – – – – – 初期化用ステート・マシーン DDRコントローラ リフレッシュ回路 テスト用読み/書きロジック(LFSR) ボード・インターフェイス CPLDブロック図 8-ビット LFSR リフレッシュ ロジック ddr_a 2 ddr_ba 8 rfsh_flag int_cmd 初期化 / テストロジック ステートマシン 12 int_data int_addr DDR コントローラ・ ステートマシン ddr_dq ddr_dqs ddr_cke ddr_cs ddr_ras ddr_cas ddr_we ddr_clk ボード・ロジック ddr_clkn DDRコマンド NOP LOAD MODE REGISTER ACTIVE DDR SDRAMの解除。新しいコマンドは 実行されない SDRAMの動作モードを定義 READ アクセスのために指定されたバンクの 行をオープン バースト・リード(読み出し)動作を開始 WRITE バースト・ライト(書き込み)動作を開始 BURST TERMINATE バースト・リード(読み出し)動作を終了 PRECHARGE 指定バンクのオープンされた行を 非アクティブにする SDRAMのデータを保持 AUTO REFRESH SDRAMのアドレッシング バンク・ アドレス 行アドレス 列アドレス 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ロードモード登録データ • 23ビットのシステム・アドレス・バス = 128 MBメモリ • SDRAMデータはバンクに割り振られる • 各ビットの位置は行アドレスと列アドレスで指定される 初期化シーケンス 電源の安定とクロック 入力を待つ 200クロック・ サイクル分待機 NOP 全てのアドレスを プリチャージ 全てのアドレスを プリチャージ 二つの自動リフレッシュ・ コマンドを実行 拡張モード・レジスタの 書き込み(DLLのイネーブル) モード・レジスタの 書き込み(DLLのリセット) モード・レジスタの 書き込み(CASをセットし、 バーストを行う) コントローラ・ステート・マシーン cmd = AUTO_REFRESH cmd = PRECHARGE PRECHARGE AUTO_RFS IDLE cmd = READ or WRITE cmd = LOAD MR LOAD_MR ACTIVE WRITE READ BRST_TERM cnt < CAS_LAT CAS_LAT WR_DATA cmd = BURST_TERM RD_DATA cnt < BURST_LEN cnt < BURST_LEN DDRのクロック要件 DDRのクロック生成 Vcc T ddr_clk Q sys_clk OBUF 3.3V IN GCK 2.5V OUT RST Vcc T ddr_clkn Q sys_clk OBUF 3.3V IN GCK PRE 2.5V OUT DDRのクロック・タイミング T = 7.5 ns sys_clk tCO = 5 ns ddr_clk ddr_clkn T = 15 ns 7.5 ns (133 MHz) DDR Clock Period 15 ns (66.67 MHz) DDRのクロック生成(Tco) sys_clk ddr_clk ddr_clkn DDRのクロック生成(VMP) sys_clk ddr_clk ddr_clkn バンク/行をアクティブにする • 読み/書き動作の前に指定した バンク/行をアクティブにする 必要がある 典型的なライト(書き込み)バースト • CPLDで生成されるDQS • DQSはDQの中央に揃える必要がある 典型的なリード(読み出し)バースト • DQSのエッジはDQのエッジと揃える • リード(読み出し)はBURST TERMINATEコマンドで割り込み中断される データ・バリッド・リード・ウィンドウ sys_clk ddr_clk ddr_clkn ddr_dq D0 D1 DVW DVW ddr_dqs CPLD captures data DVW = tCK/2 - tAC(max) + tAC(min) = 7.5 ns - (0.75 ns) + (-0.75 ns) = 6 ns データ・バリッド・ウィンドウ ddr_dqs ddr_dq(0) ddr_dq(1) ddr_dq(2) リードとライト(バースト2) ddr_clk ddr_dqs ddr_dq(0) ddr_dq(1) リードとライト(バースト4) ddr_clkn ddr_clk ddr_dqs ddr_dq(0) リードとライト(バースト8) ddr_clkn ddr_clk ddr_dqs ddr_dq(0) プリチャージ動作 • プリチャージは、する特定バンク 又は全てのバンクのオープン行 を非アクティブにする • プリチャージの後は、使用前に ACTIVEコマンドを使って特定の行 アドレスをアクティブにしなければ ならない • 自動PRECHARGE:現在の READ/WRITE動作後A10が プリチャージを指定する • セルフPRECHARGE:別のコマンド を使用(tRPだけ待つ必要あり) リフレッシュ動作の必要性 • 15.625μs間隔でリフレッシュが必要 – リフレッシュ・コマンドは一度だけでよい • 140.6μs毎に最大8個のリフレッシュ・コマンドを出すオプション DDR SDRAMのベンダ • DDR SDRAMを供給しているメモリ・ベンダは: – – – – – – Micron Infineon Cypress Samsung 日立 富士通 – Hyundai – IDT – 三菱 – SiberCore – 東芝 結 論 • 評価ボードのDDR SDRAMは最大100 MHzで動作 • このDDRデザインはSDR SDRAMアプリケーション用 に変更可能 • DDRとCoolRunner-IIのレファレンスデザインに関する アプリケーション・ノート、XAPP384に詳細記述有り デモ・スライド デモ Test Control Logic Burst = 2 8-bit LFSR 8 8 int_data[15:0] Upper Byte Lower Byte DDR Control Logic ddr_dq[7:0] デモ DDRに書き込まれるデータ MSB … LSB DDRから読み出されるデータ MSB … LSB 付録 SDRAMコア DQM (SDR only) 内部データバス Col0 (DDR only) SDRインターフェイス DDRインターフェイス Col0 SSTL_2信号方式 DDR書き込み回路 8-bit LFSR lfsr_clk (TEST SM Logic) D Q int_data (TEST SM Logic) T ddr_dq[7:0] Q ddr_clk DualEdge DDR SM Logic D Q ddr_clk ddr_dqs_t T Q ddr_clk DualEdge ddr_write_en ddr_dqs DDR読み出し回路 DDR SM Logic T Q ddr_read_en ddr_clk DualEdge ddr_dq[7:0] ddr_dqs D CE Q int_data_rd[15:8] sys_clk ddr_dqs ddr_dq[7:0] D sys_clk CE Q int_data_rd[7:0] LED Board Logic CLK/CLK#生成
© Copyright 2024 ExpyDoc