トップ セミナー情報 バックナンバー 媒体概要 無料読者登録 お問い合わせ 技術調査会
トップ > バックナンバー > DDRメモリデバッグ-DDRメモリの動作、きちんと評価できていますか?-

メーカー潮流

DDRメモリデバッグ 
-DDRメモリの動作、きちんと評価できていますか?-


アジレント・テクノロジー株式会社

電子計測本部 アプリケーション・エンジニアリング部
デジタル・ソリューショングループ2課
菊地 秀

近年、デジタルシステムにおいてDDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)メモリの採用が増えています。PCやサーバではDDR3(1067)、デジタルTVやレコーダの中ではDDR2 (667/800)が主流となっており、次世代カーナビやデジタルカメラなどではより低消費電力なDDR3を採用するケースが増えております。アプリケーションごとにメモリを選択できるようになり、ユーザーは価格、用途に合わせての選択の幅は広がってきています。
 一方組み込みシステムにおいてはDDR(333)、DDR2(400)などの利用が増えており、PCやサーバだけではなく、様々な分野でDDRメモリが使用されています。
 しかしながらDDRメモリを使用する際には、DDRメモリ特有の難しさがあります。たとえば各種ベンダから基板設計、コントローラ設計のポイントが提供されていますが、考慮して設計したシステムが仕様通りに動作せず、「速度を落とせば動作するのに目標の速度だと動作しない」、「測定器を使用したいけれどBGA(Ball Grid Array)パッケージなので測定したい信号にプロービングできない」、「推奨パターンで基板設計をしたら実ターゲットでデバッグできない」、「全ての信号を観測しようとすると限られたサイズでは設計が困難である」、「表層に信号を引き出すとスタブになり信号に影響を与えるなどの問題が発生するため基板に手を加えたくない」、などの様々な問題があります。
 このような場合にDDR2(図1)およびDDR3(図2)BGAプローブを使用すると今までのDDRメモリを用いた設計で問題となっていたオシロスコープおよびロジックアナライザとの接続の問題が解消されます。そこで、DDR2およびDDR3向けBGAプローブを用いた最新のDDRメモリデバッグ手法を紹介していきます。


図1:DDR2 BGAプローブ

図2:DDR3 BGAプローブ


1.BGAプローブ
  DDR2/DDR3では全てがBGAパッケージのため、あらかじめ基板上にプロービングポイントを設けておくか、あらかじめBGAを貫通ビアにして基板の裏にプロービング可能なポイントを準備しておかないといけません。そうしないと、ボードはできたけれど、オシロスコープやロジックアナライザに接続することができため、結局実際のボードでデバッグできないままボードに修正をかけなければならないという事態にまで発展してしまいます。このため最近の基板設計ではあらかじめプロービングポイントも考慮して設計されるケースが増えています。
  しかし、チップベンダから提供される推奨パターンを変更せずに、デバイスの配置、配線をしたいという要求は強く、ユーザーとしては、「デバッグを考慮せずに推奨通りのパターンで設計をするか?」、「独自のパターンで実際の信号を観測できるように設計をして評価を行うか?」という選択をせざるをえません。またDDR2からDDR3になると電圧が1.8Vから1.5Vになり、データ転送速度もより高速になるため、独自のプロービングポイントを置くことによる回路への影響はさらに大きくなります。
  W2630AシリーズDDR2 BGAプローブ・アダプタを使用すると、DDR2メモリのクロック信号、ストローブ信号、データ信号、アドレス信号そして、コマンド信号のプロービングが、オシロスコープ、ロジックアナライザともに容易になります。プロービングポイントは左右のウイングに存在します(図3)。このウイングは曲げることができるため、周辺にデバイスがある場合にも対応可能です。
  W2635AおよびW2636A DDR3 BGAプローブ・アダプタはオシロスコープ専用です。各信号が基板の左右でプローブ接続可能となっています。(図4)
  BGAプローブは基板とDRAMの間に挟んで図3のように実装します。通常、配線に分岐などをさせてスタブを生成してしまうと反射が発生し、回路に悪影響を与えてしまうのですが、オシロスコープのプローブ技術をBGAプローブ内部に用いることによってBGAプローブ実装時にもターゲットに与える影響が最小(図5)となるように設計されています。BGAプローブを実装するだけで、今までの設計に変更を加えることなくBGA端で信号測定を行うことが可能になります。もうプロービングポイントを用意するためにわざわざ設計変更をする必要はなくなります。
  既存の基板にBGAプローブを実装するために必要となる作業は一度DDRメモリを基板から外し、BGAプローブを基板に取り付けてからDDRメモリを再実装します。このリワーク作業のみでオシロスコープ、ロジックアナライザのプロービングポイントが用意できます。

 

図3:DR2 BGAプローブ実装

図4:DDR3プローブ接続


 

図5:BGAプローブによる観察結果


2.オシロスコープによるDDR信号の観測
  BGAプローブのオシロスコープ用のBGAプローブのオシロスコープ用のプロービングポイントはアジレントのInfiniiMaxプローブ(図6)に最適化されています。JEDECの仕様DDR2(JESD79-2C)及びDDR3(JESD79-3A)に対して最適な評価を行うことためには、BGAボール端でのプロービングが重要です。今までのようにビアやプロービングポイントを設けての測定は必ずしもよい波形品質は保証されません。間違った場所でのプロービングでは波形の反射が見えてしまいますし、エッジは単調でなくなります。特にDDR3のような低電圧、高速メモリでは、その影響は顕著になります。その結果、たとえばスルーレートの測定やセットアップ・ホールドの測定において正確でない値を得てしまう可能性があります。BGAプローブを使用して測定することにより、プロービング位置による測定結果への影響を最小にすることが可能です。
  Infiniiumシリーズのオシロスコープ(図7)にはDDR/DDR2/DDR3それぞれの自動評価ソフト・オプションがあります。N5413A DDR2自動コンプライアンス・テスト・ソフトはJEDECの規格であるJESD79-2C DDR2 SDRAM、U7231AはJESD79-3A DDR3 SDRAMに準拠した自動テストソフトウェアです。自動評価ソフトを用いるとDDR2/DDR3のPass/Fail判定を数分で行いレポート化することが可能で、評価及びデバッグが容易になります。各種パラメータをマニュアルで測定することに比べ評価の大幅な時間短縮が可能になり、その分デバッグに時間をかけることが可能です。基板、コントローラの電気的特性の評価を行うときに、DDR2/DDR3自動評価ソフトを使用するユーザーは年々増加傾向にあります。

 
図6:InfiniiMaxプローブ

 

図7:DSO90000Aオシロスコープ

N5414A InfiniiScan波形・イベント検索ソフトウェアを使用すると、簡単にDDRのデータ信号のREADサイクルとWRITEサイクルを切り分けることが可能です。DDRでは同一の双方向データバス上に90度位相の異なる信号が混在します。切り分けを行わないと各種パラメータの解析が非常に困難です。今までは、コントローラを無理やり変更したり、別途外付けのトリガ回路を用意したりする必要がありました。InfiniiScanのZoneQualify機能を使用するとオシロスコープの画面上にマウスで四角くゾーンを設定し、観測したい波形がそのゾーンを通る、または通らないの指定をする(図8)ことができるので、一瞬でREADサイクルかWRITEサイクルの切り分けが可能です。
E2681A Infiniiumオシロスコープ用EZJITジッタ解析ソフトウェアを使用するとクロックのジッタのジッタトレンド・ジッタスペクトラム・ジッタ分布のリアルタイム解析が可能(図9)になります。DDR2(667/800)、DDR3になるとクロックのジッタがトラブルの原因となるケースが増加します。JESD79-2Cでもクロックのジッタが細かく規定されています。規定以上のクロックジッタをデバッグする際にはEZJITでクロックのジッタ成分がどのように変動しているか(トレンド)、どんなジッタ変調周波数成分があるのか(スペクトラム)を解析することによりジッタ原因の特定を強力にサポートします。

 

図8:InfiniiScan

 

図9:EZJITによるジッタ解析

3.ロジックアナライザによるDDRアドレス、コマンド、データ信号の確認
  DDRのデバッグにおいてロジックアナライザ(図10)を使用すると、コマンドシーケンスの確認、タイミングの検証などを簡単に行うことができます。しかしながら今までは基板にロジックアナライザ用のプロービングポイントを多数の設けることが困難でした。
  DDR2 BGAプローブおよびE5384A
46チャネル・シングルエンドZIF プローブ(図11)を使用すれば基板の設計を変更することなくロジックアナライザでDDRアドレス、コマンド、データ信号を簡単に解析することが可能です。また、ロジックアナライザの設定ファイルもあらかじめ用意されているため、ユーザーはセットアップを読み出すだけですぐに測定を開始することができます。
  ロジックアナライザのステート測定を使用すると、DDRのクロックに同期した測定が可能です。「仕様通りコントローラが動作しているか、トラブル時にコントローラ、DDRの間で何が起きているか、クロックベースで正確に測定することにより問題の箇所を絞り込むことができます。また、現在のロジックアナライザに搭載されているTimingZoom機能を使用すると、ステート測定をしながら4Ghzサンプリングのタイミング測定の波形を同時に表示することが可能です。今までは、細かなタイミングのチェックをするためには、ロジックアナライザの設定をステートモードからタイミングモードに切り替えてトリガ条件も再度設定し直す必要がありました。TimingZoom機能を使用すると簡単にステートとタイミングの同時測定ができます。たとえば、特定のアドレスにデータをWriteしてReadするとデータが化けてしまう…そのようなときに、「正確にWriteが出来ているか?」、「Readのときにおかしいのか?」「クロックベースのステート測定でアドレス、コマンド、データの観測を行い、もしどちらかで1bit化けているというのが判明した場合、そのタイミングがどうなっているのか?」を同一画面で250psecの分解能で簡単に測定が可能です。
  B4621A DDR2/3バスデコードを使用するとDRAMアクセスのメモリトランザクションをわかりやすく解析することが可能です。(図12)今までは波形やリスト画面で各信号遷移のトレースデータを、Command、Bank Address、Column Address、Read or Write Dataなどのわかりやすいトランザクション表示にデコードしますので、メモリバス解析の負担を軽減することができます。通常動作時の確認だけではなく、コマンドの初期化シーケンス時のモードレジストセットのタイミングおよび設定内容が簡単に確認でき、システムの検証に役立ちます。

 


図10:16900シリーズロジック・アナライザ


 

図11:E5384A ZIF プローブ



図12:メモリトランザクション解析

4.まとめ
  以上の通り、DDR2およびDDR3用BGA プローブをすれば設計変更をすることなくオシロスコープおよびロジックアナライザでのDDR2/DDR3メモリのデバッグへの準備が簡単になります。また既に設計が完了した基板にもリワークすることによりBGAプローブを実装可能なため、いま困っているプロジェクトにもすぐに対応可能です。
  今まで難しかったJEDECの仕様に準拠したオシロスコープでの測定、ロジックアナライザでの測定を行うことにより、メモリトラブルのデバッグを効率的に行うことができます。BGAプローブを使用して、より正確にDDRの波形、コントローラの動作をチェックしてみてはいかがですか?