Time-stamp: <02/09/21 03:43:28 kawasan>
ATMEL PROM のマイコンからの書き込み検証 (Xilinx向け)
概略
ATMEL
の
FPGA Configuration Memory
(以下、PROMと表記)
は、ALTERAやXilinx等のFPGA(RAM型)にも使用することが
可能なFPGAプログラムを格納するFLASHメモリ型のPROMです。フラッシュ
なので何回でも書き込みが出来ます。電源系も+3.3V/+5Vの兼用なので
どちらのシステムでも動作OKです。便利ですねー。でも、一般では
入手出来ないかも。(^^;
通常はWindowsな環境からパラレルポート
経由で書き込み装置(製品版もありますが手作り可能)を
使って書き込みます。
書き込みアプリケーションは無料で
ダウンロード(CPSINSTALL.EXE)
可能です。デバイスさえ
手に入れられれば結構使えるかもしれません。
Windows以外にもマイコンからも書き込みが可能です。
ATMELではマイコンからPROMに書き込むC言語
ソース(AT17C8515.ZIP)
を公開してある。そこで実際のマイコン動作を
おこなう前に予備実験としてLinuxからの書き込みが可能かの
検証をおこなう。これは、その検証レポートです。
準備
Linuxから書き込みをおこなうので、CPSにて使用するパラレルポート接続の
書き込み治具を使用する。
また、公開されているC言語ソースも取得する。
今回は、SPRTAN(XC30)をターゲットとしています。また、PROMの設定としては、
RESETは負論理となります。
使用したPROMは、AT17LV010 で、1M品です。対象になるFPGA向けの必要
サイズより大きいですが使えます。パッケージ形状は、8pin-SOPの親戚みたいな
8pin-LAPとかいうものでリフロー処理でしか半田付け出来そうに無いものです。
今回は無理矢理ICソケット(8pin-DIP)経由でジャンパー結線しました。(^^;
写真の中央やや右寄りの黒い物がPROMです。
結果
ちょこちょこといじっ(備考1)て完成。動作もしました。WAIT処理を入れて
いるので全体の終了までの時間が結構かかってしまっています。
なので、速度優先にしたいなら外して動作させましょう。多分OKなはずです。
PCカードの実装部品として検討中の模様です。
今回は、基板からジャンパーで一旦8pin-DIPのICソケット経由してATMEL PROMに
繋いでいます。右下のは手作りの書き込み装置です。(^^;
Windows(CPS)からのPROMへの書き込み波形(最初のところのタイミング)
DBITは意味無しです。
LinuxからのPROMへの書き込み波形(最初のところのタイミング)
DBITは意味無しです。
実現方法
ソース
を取得し、解凍したら、
し、rootにて
としてツールの準備をします。(iopermを使用している為)
実際の書き込み動作は以下の様にします。入力ファイル名、出力ファイル名は固定です。
入力ファイル名 xilinx.bst ← これはCPS(備考2)にてMCSファイル(備考3)からコンバートして得たファイルです。
出力ファイル名 xilinx.bit ← マイコンとかで利用する時の為に使えるバイナリデータファイルです。
LinuxからのATMEL_PROM書き込みの総時間は、2分8秒(手計測)でした。
備考
- なぜか、ProgramResetPolarity.cとVerifyResetPolarity.cにて0x20000を指定するばずが、0x00002を指定していた。修正して対処。
- MCSファイルは、Xilinxで使用するFPGAプログラムのファイル形式の一つです。
- CPSは、Windowsな環境で使用している書き込みアプリケーションのことです。