DDR2 SDRAMの動作確認
先日発見した問題により、Spartan-6ボードのDDR2 SDRAMの動作確認ができない状態が続いておりましたが、今日、バウンダリスキャンを使ってFPGAとDDR2 SDRAM間の結線を確認する方法が確立できました。
① A0~A13までの14本のアドレス線とBA0,BA1のうち、1つのビットに'1'を立てます。これが、Rowアドレスとなります。そして、RAS=0にしてバンクと行をアクティブにします。
② 次にアドレス線を0にしてCAS=0、WEN=0にします。そのRowアドレスで指定された行の、カラムアドレス=0の番地に、8ワードの乱数を書き込んでいきます。
③ こうして、17種類の異なるRowアドレスの番地に異なる乱数を書きます。
④ そして、今度はそれを読み出します。
こうして、書き込んだデータと読み出したデータが一致すれば、データバスとアドレスバス、BA0,1、RAS,CASなどの制御線、それからDQS、CLKなどのクロックなどの結線が正しくつながっていることがわかるというものです。
アドレスバスに1を1ビットづつ立てていくのがミソです。
結果の表示はこんな感じでした。
---------------------------------------------------
Advanced JTAG Function Generator Version 0.9
(C)Copyright 2007-2008 特殊電子回路株式会社
---------------------------------------------------
サーバのセットアップ成功
MITOUJTAGサーバからパラメータを受け取りました
-------スクリプト実行開始-------
Write data
00000000:82 E6 42 88 CD BB 0F A4
00000400:96 2C DE F3 5F 3C 50 24
00000800:61 BF D7 EF D1 16 A1 EE
00001000:75 2C CB BB 68 B1 C3 4B
00002000:29 96 FE 8B EB C9 DC 39
00004000:18 32 D8 04 27 EE F4 E7
00008000:9F CB 64 C3 6C 04 7A 3B
00010000:62 3E D1 D5 0F C2 BD 4E
00020000:C6 FD F3 3E E9 35 75 ED
00040000:76 8D C1 74 D4 3C 3A 18
00080000:E0 0A D6 E3 33 0C 0A 84
00100000:B7 A0 F3 69 69 AB C5 1B
00200000:70 12 79 D9 5F 77 B3 78
00400000:C7 35 F1 7A 01 9E FA 6E
00800000:3A 74 86 87 BF A6 2A 80
01000000:8B 4C 87 AF 0E E4 B4 68
02000000:40 CF E8 95 E6 07 6C 93
Read data
02000000:40 CF E8 95 E6 07 6C 93
01000000:8B 4C 87 AF 0E E4 B4 68
00800000:3A 74 86 87 BF A6 2A 80
00400000:C7 35 F1 7A 01 9E FA 6E
00200000:70 12 79 D9 5F 77 B3 78
00100000:B7 A0 F3 69 69 AB C5 1B
00080000:E0 0A D6 E3 33 0C 0A 84
00040000:76 8D C1 74 D4 3C 3A 18
00020000:C6 FD F3 3E E9 35 75 ED
00010000:62 3E D1 D5 0F C2 BD 4E
00008000:9F CB 64 C3 6C 04 7A 3B
00004000:18 32 D8 04 27 EE F4 E7
00002000:29 96 FE 8B EB C9 DC 39
00001000:75 2C CB BB 68 B1 C3 4B
00000800:61 BF D7 EF D1 16 A1 EE
00000400:96 2C DE F3 5F 3C 50 24
00000000:82 E6 42 88 CD BB 0F A42009/09/19 22:16:57 クライアントが終了しました
2009/09/19 22:16:57 AJFG Server:Connection closed.
このような感じで、書き込んだデータと読み出したデータが一致すれば、OKというわけです。
Embedded SmartJTAG経由なので、一連の操作に18秒もかかっています。この間、SDRAMのリフレッシュは停止しているはずですが、データは消えずに残っています。意外と丈夫なようです。
何はともあれ結線の確認ができたので、本日、Spartan-6ボードの量産にGoを出しました。
あとは、ISEがバージョンアップ(11.4か11.5)されたら、DDR2 SDRAMのコントローラが完全に動くようになるでしょう。
| 固定リンク
コメント