FrontPage

2009/04/26からのアクセス回数 21440

はじめに

ディジタル・デザイン・テクノロジにLattice XP2が付録として付いてきました。

1.jpg

残念ながら、

ためUrJtagを使ってプログラムを書き込むことにしました。

JTAGケーブルの選定

UrJtagは、 様々なJTAGケーブル をサポートしています。

しかし、

そこで、USB-Blasterの互換ケーブルを使うことにしました。 私は試していませんが、 世の中にはUSB-Blasterもどきというのもあるみたいです。

UrJtagのインストール

MacPortを使って、UrJtagをインストールします。 ターミナルから以下のコマンドを入力します。

$ sudo port install urjtag

これだけで、urjtagのインストールは完了です。ターミナルから使用する場合には、/opt/local/binがPATHにセットする必要があります。ホームディレクトリの.profileに以下の1行を追加してください。

export PATH=/opt/local/bin:/opt/local/sbin:$PATH

UrJtagの動作確認

urjtagが正常にインストールできたかどうか確認します。USB-Blasterは、接続直後は不安定なので、USBに接続してしばらく待ちます。

UrJtagの使い方

urjtagの基本的な使い方を、トラ技2006年4月号の付録、ALTERAのCPLD Max II で調べてみます。

scan.jpg

接続しているチップを調べるコマンドがdetectです。 UrJtagのdetectを実行します。

jtag> detect
IR length: 10
Chain length: 1
Device Id: 00000010000010100001000011011101 (0x00000000020A10DD)
  Manufacturer: Altera
  Unknown part!
chain.c(133) Part 0 without active instruction
chain.c(184) Part 0 without active instruction
chain.c(133) Part 0 without active instruction
jtag> 

メーカーがAlteraであることは認識しているようですが、チップはUnknown part!と 出力されます。

これは、UrJtagのデーターベースにMAX IIが登録されていないためです。

BSDLファイルからJTAG情報を抽出

今回のチップは、Altera EPM240T100です。

Googleで、EPM240T100 BSDLで検索して、EPM240T100のBSDLファイルをダウンロードします。 私は、ここからEPM240T100 のBSDLファイルをダウンロードしました。

BSDLファイルには、EPM240T100のチップ情報が定義されています。

次に、ダウンロードしたEPM240T100.BSDをsbdlコマンドを使ってJTAG情報に変換します。

$ jtag
jtag> bsdl dump EPM240T100.BSD.txt
 signal GND(1)
 signal GND(2)
 signal GND(3)
 signal GND(4)
 signal GND(5)
途中省略
 bit 236 O ? IO27 235 1 Z
 bit 237 I ? IO26
 bit 238 C 1 *
 bit 239 O ? IO26 238 1 Z
jtag> 

dumpコマンドの結果をコピーし、epm240ファイルに保存します。

JTAG情報のセット

UrJtagのJTAG情報は、インストール先のxxxx/share/urjtag/以下に保存されています。 MacPortでインストールしたUrJtagの場合、/opt/local/share/urjtagになります。

JTAG情報は、製造会社名/型名/品番名のような階層構造になっており、MAX IIの情報は

/opt/local/share/urjtag/altera/epm240/epm240

に置くことにします。

このディレクトリは管理者権限でないとアクセスできないので、

$ sudo mkdir -p /opt/local/share/urjtag/altera/epm240/
$ sudo cp -p epm240 /opt/local/share/urjtag/altera/epm240/

次に、/opt/local/share/urjtag/altera/のPART情報にepm240の型情報をセットします。

BSDLに

attribute IDCODE_REGISTER of EPM240T100 : entity is
  "0000"&               --4-bit Version
  "0010000010100001"&   --16-bit Part Number (hex 20A1)
  "00001101110"&        --11-bit Manufacturer's Identity
  "1";                  --Mandatory LSB

と定義されていますので、0010000010100001がパート番号になります。

PARTSに以下の1行を追加します。

0010000010100001        epm240                  EPM240

次に、/opt/local/share/urjtag/altera/STEPPINGSにバージョン番号を登録します。

0000    epm240          0

これで、EPM240が正しく認識できるか調べてみましょう。

$ jtag

jtag > cable UsbBlaster
Connected to libftdi driver.
jtag> detect
IR length: 10
Chain length: 1
Device Id: 00000010000010100001000011011101 (0x00000000020A10DD)
  Manufacturer: Altera
  Part(0):         EPM240
  Stepping:     0
  Filename:     /opt/local/share/urjtag/altera/epm240/epm240
jtag> 

今度は、EPM240として認識されました。これで完了です!

コメント

この記事は、

選択肢 投票
おもしろかった 0  
そうでもない 0  
わかりずらい 0  

皆様のご意見、ご希望をお待ちしております。


(Input image string)

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
SmartDoc