FC2カウンター FPGAの部屋 2009年12月04日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

DE0を使ってみました

DE0を使ってみる機会ができたので、使ってみた。
おもむろに電源ONすると、7セグLEDが1.1.1.1~F,F.F.Fまで順番に表示して、LEDが順番に点灯し続けた。
DE0_1_091203.jpg

ディスプレイをつなぐと画面が出力された。
DE0_2_091203.jpg

Sim's blogさんで話題のDVDに入っているDE0_ControlPanelを動作させてみた。USBケーブルを差して、DE0_ControlPanel.exeを起動すると、スイッチの設定を見たり、LEDを制御できたり、いろんなことができる。
最初のタブはチェックしたLEDを点灯させることができる。
DE0_CTRLP_1_091203.jpg

7セグLEDの状況も設定できる。
DE0_CTRLP_2_091203.jpg

上の設定をしたDE0がこれ、LEDが2個、7セグLEDは1234を表示している。
DE0_3_091203.jpg

次のタブはスイッチ、スライドスイッチを操作したり、押しボタンスイッチを押したりすると画面に反映される。
DE0_CTRLP_3_091203.jpg

SDRAMへの書き込み、読み出しテスト、多分FLASHへの読み書きもできる。
DE0_CTRLP_4_091203.jpg

PS2のキーボードのテスト。キーボードをつなぐと文字が表示される。
DE0_CTRLP_5_091203.jpg

最後にVGAテスト、表示させるパターンを選ぶとVGA信号をつないだディスプレイに表示される。
DE0_CTRLP_6_091203.jpg

DE0_4_091203.jpg

これは、DE0_ControlPanelでDE0_ControlPanel.sofという回路をDE0にコンフィグしているようだ。DE0のユーザーズマニュアルを見ると下の図が載っている。(転載します)
DE0_5_091203.png

Nios2が入っていて、JTAGでパソコンと通信している。この辺はSimさんのブログの”Altera DE0のJTAG通信?”に詳しく書かれているが、私もちょっと調べてみたい。とおるすがりさんご紹介のFPGA BBSのスレッドに詳しく書かれているようだ。
DLLやアプリを解析するソフトのDependency Walkerで解析してみた。(Dependency Walkerの本家はここ日本語パッチはここから入手した。使い方はこの辺。)
DE0_ControlPanelをDependency Walkerで開いてみる。
DE0_6_091203.png

これだけでは、TERASIC_JTAG.dllとかが出てこないが、プロファイリングを行うと、ツリーに出てくる。余り書くとリバースエンジニアリングになってしまうので、書かないが、TERASIC_JTAG.dllからTERASIC_JTAG_DRIVE.dllが呼ばれている感じ。コンフィグすると実際には、もう2つくらいアプリが起動する。でも、コンフィグはタイムアウトで成功しなかった。
メーカーが仕様を公開してくれないとやはりまずいので、この辺でリバースエンジニアリングはやめることにした。
でも、パソコンから簡単にUSB-JTAG経由でやり取りできると実験のプロセッサ用ボードとして非常に都合がよい。アバロンバスにNios2をつながないで、JTGA UARTと独自プロセッサをつないで、パソコンの独自アプリとJTGA UART間で通信して、そのデータをアバロンバス経由で独自プロセッサに渡せれば良いんだけど。。。その可能性を探ってみようと思う。
  1. 2009年12月04日 05:54 |
  2. Altera DE0ボード
  3. | トラックバック:0
  4. | コメント:2