ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
Main Menu
Tweet
Facebook
Line
:-?
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
webadm
投稿日時: 2006-5-21 20:15
Webmaster
登録日: 2004-11-7
居住地:
投稿: 3094
Jam STAPL Player他
JTAGをいろいろ試すには最低限JTAGケーブルがあればソフトウェアでTCK,TMS,TDIを操ってTDOを読み出すのが一般的である。

JTAGケーブルはALTERAやXILINX、LATTICEなどがそれぞれ独自の仕様のものを売っていたり仕様をある程度公開しているので買うか自作することが簡単にできる。

しかしソフトウェアになるとちょっとゼロから作るのは誰にとってもハードルが高い。何が正しいのかわからないし、ケーブルやターゲットの回路の相性とかでうまく読み出せない時にはなおさら出口の見えない泥沼に入ることになる(既に経験済み)

そこで誰か最初にそういうソフトウェアを書いた人がいればそれを公開してくれればだいぶ敷居が低くなると誰しも考えるはず。

実はそういうのが世の中にはいくつかある。中でも信用がおけるのがALTERAがJTAGの基本的な操作がプログラムできるJam STAPL PlayerというBASIC風の言語(STAPL)インタプリターをソースコード付きで公開してくれている。サポートしているJTAGケーブルはALTERAのパラレルケーブル(ByteBlaster系)とシリアルケーブル(BitBlaster)、XILINXやLATTICEのJTAGケーブルなどと気が利いている。どれかひとつもっていればよいことになる。

Jam STAPL PlayerはSTAPLで書かれたテキストソースかあらかじめコンパイルされたバイトコードのどちらでも実行できる。STAPLのコンパイラも別途提供されていてALTERAのサイトからダウンロードすることができる。

それとSTAPLで書かれたサンプルソースもあるので、実際に実行して試してみることができる。今回はIDCODEというデバイスIDを読み出すプログラムを実行してみた。これは新しく作ったFPGA/CPLDボードでJTAGが正しく機能するかテストするのに有用である。というのも最新のデザインツールとかはJTAGの操作が失敗しても詳しいトラブル解析のための情報はほとんど表示してくれないので、試作したボードの設計がまずかった時にはお先真っ暗になる(既に経験済み)

実際に今回自作したFLEX10KボードでIDCODEを試してみた結果は以下の通り。

引用:

F:\altera\jp_25\exe\32bit>jam -aread_idcode IDCODE\idcode.jam
Jam STAPL Player Version 2.5 (20040526)
Copyright (C) 1997-2004 Altera Corporation

CRC mismatch: expected BAD6, actual 8DCB
******************************************************************************
* Altera Chain Interrogation Version 4.0 *
* Copyright (c) 1999-2005 Altera Corporation. All Rights Reserved. *
******************************************************************************
Chain Continuity Checker
Chain Continuity during IR is not stuck at zero or one
******************************************************************************
Chain Length -- Load IR of all ones then count DR length
Number of Devices is 1
******************************************************************************
IR Length Calculator
Instruction Register Length is 10
******************************************************************************
IDCODE Reader
---------- | ---- ------------------- ------------- - |
TDO -> TDI | Rev Device Mfgr 1 |
---------- | ---- ------------------- ------------- - |
Device #1 | 0000 0001 0000 0001 0000 0000 1101 110 1 |
---------- | ---- ------------------- ------------- - |
******************************************************************************
Device Identifier -- Search for device name from list of device IDCODE values
---------- | ------------------- ------------- |
TDO -> TDI | Device Mfgr |
---------- | ------------------- ------------- |
Device #1 | EPF10K10/A Altera |
---------- | ------------------- ------------- - |
******************************************************************************
Exit code = 0... Success

F:\altera\jp_25\exe\32bit>


インチキケーブルやインチキボードで同じことを実行すると以下のようにエラーに遭遇しその原因が表示される。

引用:

F:\altera\jp_25\exe\32bit>jam -aread_idcode IDCODE\idcode.jam
Jam STAPL Player Version 2.5 (20040526)
Copyright (C) 1997-2004 Altera Corporation

CRC mismatch: expected BAD6, actual 8DCB
******************************************************************************
* Altera Chain Interrogation Version 4.0 *
* Copyright (c) 1999-2005 Altera Corporation. All Rights Reserved. *
******************************************************************************
Chain Continuity Checker
****************************************************************************
*** Chain Continuity Failure (2) -- IR is returning with TDO all zeros ***
*** Check Board Power; Check Cable Power; Check Signal Integrity ***
****************************************************************************
Exit code = 1... Checking chain failure

F:\altera\jp_25\exe\32bit>


もちろんJam STAPL PlayerはIDCODE以外にもほとんどすべての標準のJTAG命令を利用したバウンダリースキャンテストをプログラムすることができる。なのでJTAGが誤動作する原因を探る場合には利用することができる。

今回のテーマではハードウェアで同様のことをやってしまおうという無謀な計画である。実際にどうJTAGを操作すればよいかはこのJam STAPL Playerをお手本にしてやってみることにする。

ALTERAからこのソフト以外は得に役立つドキュメントとかは提供されていないが、XILINXからはJTAGの基本的な動作やそれを使ったJTAGのトラブルシューティングに関する解説ドキュメント(JTAG Programmer Guid)が提供されている。それにはXILINXのJTAGケーブルの回路図も含まれている。それらも併せて読むとよりJTAGについて理解が深まると思われる。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   ウォーミングアップ後のテーマはJTAG Waveform emulator(中止) webadm 2006-5-18 16:01
     まずはJTAGの標準規格書を入手することから webadm 2006-5-19 22:04
       とりあえずざっと読み終えた webadm 2006-5-20 3:59
       » Jam STAPL Player他 webadm 2006-5-21 20:15
           「バウンダリスキャン講座」発見 webadm 2006-6-5 3:14
             読書中 webadm 2006-6-10 1:56
               読書完了 webadm 2006-6-11 23:39
                 HDL記述の自由度 webadm 2006-6-12 20:44
                   なんだか webadm 2006-6-24 2:39

投稿するにはまず登録を
 
ページ変換(Google Translation)
サイト内検索