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

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

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

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

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

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

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

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

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


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

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

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