入り切らなくなってきた。入れるために回路を削ったりしてたんだけど、だんだん面倒になってきた。大きな規模のFPGAが欲しいんだけど、なかなか良い物がない。Xilinxのキットもあるけど、高いし、何よりいろいろ部品が載りすぎて、大き過ぎる。ちいさな物はないかな〜と思い始めた。特電のSpartan-6_FPGA評価ボードが小さいし、なんか良さそう。SDRAMなので、SRAMほど気楽に使えなさそう。SDRAMは多少コントロールが必要そうなので、面倒かもEzUSBなので、今までのCOMポートコントロールソフトが使えないかも。不安はあるのだけど、他に良いものが無いので、買ってみることにした。2種類があるけど、とりあえず容量が約3倍という45の方にしてみた。[top]さっそく使ってみよう小さいとは思っていたけど、思っていた以上にやっぱり小さい。秋月のCタイプと同じかも、と思ったけど、それよりはちょっと大きい。下側にヘッダを立てて、下においた基板に、この評価ボードを載せるようにした方が良さそうだ。最新のISE12.2をインストールしてみることにした。XilinxのダウンロードページからISE12.2をダウンロードして、インストール。Managerから、何度かライセンスファイルの取得を試みたんだけど、うまく行かない。ライセンスファイルの取得のリンクから、やったりして出来た。いうか、いろいろやってるうちに出来たので、どうやったら出来たのか正確には良く分らないんだけど。ISE12.2を起動する。LicensesタブのXILINXD_LICENSE_FILEのテキストボックスにライセンスファイルを記述して、Setすれば良い。パッチをあてる12.2はパッチをあてないとダメらしい。ターゲットとしている場合は、スピードファイルのパッチを必ずインストールしてください。ツールと同じ場所に解凍します。結局、ISEというディレクトリに上書きすれば良いみたい。デバイスドライバのインストールこの評価ボードは、EzUSB経由で書き込むので、EzUSBのドライバのインストールが必要。特電のデバイスドライバのインストール方法を見ながら、ダウンロードページの、デバイスドライバとファームウェアをインストールしておく。ダウンロードページからダウンロードして、適当なディレクトリに保存しておく。Simulatorを使えと言うことらしい。ここからダウンロードしてみる。6.5cは使えるようになった。ライセンス発行も、101210までらしい。これからは、ISimが標準ということらしいので、そっちの使い方を覚えた方が良いんだろうなぁ。Project...ボタンを押して、プロジェクト名をセット。ProjectSettingsで、デバイスとかセットする。valuesNextボタンで、内容を確認してFinishで終わり。空っぽの新規プロジェクトが出来る。Pre-Synthesisで、ピンを設定してみた。これなら、直接UCFファイルを手書きした方が、全然簡単だ。特電のダウンロードページに、UCFファイルがある。上記以外のSDRAMとかの接続も、ちゃんと書いてある。これをそのまま使えばいいや。"A7";プッシュボタンとLEDだけ切り取って、UCFファイルを作る。名は、これに合わせることにする。Source...を選択。Fileをダブルクリックして、Verilogをコンパイルする。Designで、FPGAにマッピングされるこれでErrorがなければ、bitファイルが生成される。普通のJTAGケーブルを使う場合は、iMPACTを起動して書き込むが、この評価ボードの場合は、EzUSB経由で書き込むので、bitファイルを作るところまで。ビットファイル名でもエラーが出た。見つかりませんうーん。指定したビットファイル名と違う。これは、SPI書込み用のプログラム名らしい。spiオプションを付けると、まずSPI通信するための回路をFPGAに読み込み、これを使って、SPI経由でフラッシュROMにデータを書き込むようになっているらしい。これは、特電のJTAGひろばで確認したら、spi_xc6slx45.bitファイルが抜けていたらしい。ダウンロードページの最新のドライバとファームウェアには、ちゃんと入っている。最新のドライバ・ファームウェアをダウンロードして、OK!フラッシュROMからの起動を速くするSPI経由で起動する場合、ROMを読み込むのに5秒ぐらい時間が掛かる。16に比べて、45は容量が大きい分、起動に時間が掛かるらしい。それなら、16の方が良かったかな〜と思っていたら、特電の内藤さんがコンフィグレーションを速くする方法を教えてくれた。UpにしておくSPIのクロックが、2→26になるので10倍以上速くなる。起動は0.5秒も掛からないので、十分だ。Spartan6評価ボードが認識されないで、久々に使ってみようと、USBケーブルでPCに繋いでみました。ところが、全く認識されなくなってしまった。SW2のPROGボタンを押すと、PC本体が再起動してしまった。初めは、たまたま落ちたのかと思ったけど、3回再起動したので再現性があるUSBハブ経由で接続に変えたら、再起動はしなくなった。USBケーブルの先がどうであろうと、再起動するのはちょっと困る。Ez-USBのデバイスドライバの問題かなぁ。これはWindowsXPの問題と言った方が良いか。SW2を押すと、ポピと鳴って、離すとピポと鳴る。それでデバイスマネージャで見ると、SW2を押している時だけ、「特殊電子回路Spartan-6評価ボード」が認識される。特電のJTAGひろばで確認したら、未使用ピンがPull-Downに設定されていると、Spartan6ボード上の、Ez-USBチップがリセットされたままになってしまって、USB接続できない状態になるらしい。Upにしたはずなんだけど、いろいろ設定を変えて試したような気もする。前だから、全然覚えて無いんだけど。Down設定しちゃったんだろうな〜。以前動いていたという思い込みがあったので、あまり考えていなかった。未使用ピンをPull-Downnに設定して、SPI-ROMに書き込んでしまった場合の対処法も教えて頂いた。ROMから読み出しできないようにして電源をONにする。ROMを消去する2はタイミング的に難しそうと思ったんだけど、以下のようにしたらうまく行った。Windows」を起動する。最初は、ボードが認識できないので?になっている。PROGボタンを押し続けながら、Connectすると、ボードの写真が表示される。PROGボタンを離さず、Progressバーが表示され終わって、SPI-ROMコマンドが使えるようになるまで待つProgボタンを離したら、素早くERASEボタンを押す。これでSPI-ROMが消去される。Pinsの設定がPull-Upになっていることを確認して、書き直したら問題なしでした。1設定しないと、どうなるんだろうと試してみたくなるんだよね。最後に試して基板単体では動いたから、気が付かなかったんだろうな〜。