« MITOUJTAG BASIC 3.41とMITOUJTAG Light 3.41をリリース | トップページ | 原因不明で回路が壊れる、回路が動かない時に取った選択 »

2019.02.24

MITOUJTAGでDDR2/3メモリのテスト

MITOUJTAG Proには、C言語を使ってバウンダリスキャンの動作を記述する機能があります。この機能をつかって、DDR2メモリやDDR3メモリを操作してみました。

使ったボードは、特電Artix-7評価ボードと、Spartan-6評価ボード

Art7Sp6_3

まず、MITOUJTAG Proを起動したら、論理合成のときに使ったピン定義ファイル(XDCファイルや、UCFファイル)を記述します。

そして、ピン定義ファイルというファイルを自動生成します。これは、何番目のJTAGデバイスのどのピンに、どんな名前の信号がつながっているかを記述したシンプルなファイルです。

Pindef_2

それから、DDR2やDDR3メモリを操作するサンプルが用意されているので、それを見てピン定義ファイルに記述した「信号名」をC++のクラスのメンバ変数に代入していきます。

Jscr1

・・・

プログラムのコア部分はこんな感じです。

Jscr2

 

プログラムが書き終わったら実行してみます。

このような表示が出て、正常にメモリテストが終わったことが示されます。

Ddrtest1_2

このテストでは何をしていたかというのを波形で表示してみると、まず、DDR3メモリのデータバスの1本1本をHにして読み書きし、全データピンの結線を調べています。

次に、同様にデータバスの1本1本をLにして全データピンの決戦を調べます。

Ddrtest2_2

次にアドレスバスの1本1本をHにして、アドレスピンが切れていないか、ショートしていないかなどを調べます。

Ddrtest3_2

バウンダリスキャンは大変遅いので、1回のテストに秒単位の時間がかかります。

SDRAMはリフレッシュが停止するとデータは消えるとされていて、検査時間はリフレッシュ時間よりもはるかに長いのですが、数秒程度ならば消えないようです。

そのため、MITOUJTAGのバウンダリスキャンを使ってDDR2/3メモリのテストができるのです。

|

« MITOUJTAG BASIC 3.41とMITOUJTAG Light 3.41をリリース | トップページ | 原因不明で回路が壊れる、回路が動かない時に取った選択 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« MITOUJTAG BASIC 3.41とMITOUJTAG Light 3.41をリリース | トップページ | 原因不明で回路が壊れる、回路が動かない時に取った選択 »