« Spartan-6ボードのSPIメモリ | トップページ | MITOUJTAG BASIC 特別版の発送開始 »

2010.02.15

SPI ROMプログラマの最初のリリース

特電Spartan-6ボードで動作するSPI ROMプログラマの最初のリリースを行いました。

USB-SPI書き込みアプリケーションで、DOSプロンプトから
spiwr.exe -w ファイル名
で書き込めるというものです。

Spi2

Spartan-6用のBitStreamを書くのに要する時間は10秒程度でした。

SPI ROMへの書き込みのほか、ベリファイ、リード、チップ消去、メモリダンプ、IDCODE読み出し、ステータスレジスタ読み出し、セキュリティコード読み出しなどの機能をつけました。
Spi3

読み出しやベリファイは1秒程度です。やはり書き込みは、消去を伴っているので時間がかかります。

このツールを使ってbitファイルをSPIメモリに直接書き込めば、FPGAが起動します。
MCSに変換しなくてもよいので、i●PACTを使って書き込むよりも、はるかに手軽です。

また、上で述べたセキュリティコードというのは、SPIメモリに格納された128バイトのワンタイムROM領域で、後半の64バイトは、ベンダーによってあらかじめ重複しない何かが書き込まれています。前半の64バイトはユーザが1回だけ自由に書き込めます。(上の画面のキャプチャーを参照)
何かに使えそうですね。

ただし、今回作った回路は、SPI読み出し部分が完璧ではないようで、かなりの確率でビットが化けます。どうやら書き込みには問題なく、読み出しの場合のみのエラーのようなので、ベリファイエラーとなった場合は複数回ベリファイを行ってみてください。
この問題は、SPIのMISOをFPGA内に取り込む際のタイミングの問題ではないかなと思うので、近いうちに精査します。

FPGAに書き込むBitファイルと、アプリケーションプログラムとソースコード一式を入れて、こちらにアップロードしました。
ご興味のある方はどうぞお試しください。

|

« Spartan-6ボードのSPIメモリ | トップページ | MITOUJTAG BASIC 特別版の発送開始 »

コメント

コメントを書く



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




« Spartan-6ボードのSPIメモリ | トップページ | MITOUJTAG BASIC 特別版の発送開始 »