アダルト・ヴァイオリン May the force be with you..

2005年8月30日

たかがスペース(FPGA CPU動作顛末記)

Filed under: 組込みシステム — @ 3:34 AM


グランドの弱いH社のFPGAボード(A社のFPGA搭載)をあきらめ、
X社のFPGAボードにプラットホームを変更して、サンプル回路を実装中であるが、
これがまた全く思ったように動作せず、ずっと対策を検討していた。
A社は無償ツールのCDROM掲載の返事が遅く、結局CDROMには収録をしないことにしたので、
私としてはAでもXでもどちらでもかまわなくなったのである(笑)

X社の無償ツールはA社のと異なり、細かな情報が見えないので
なぜ動かないのかが不明なまま、アドホックに論理を変更しては
試すという作業を昨日から散々していた。

FPGA合成ツールでコンパイルして、ボードにダウンロードして試す作業を
何回やったか分からないが、全く動く気配がない。

CPUを回路から削り、シンプルにしたバージョンを別のディレクトリに作成し、
そちらで試すと思ったように動いている。
う~ん、このCPU記述がX社のつぼにはまったか?などと考えながら、
問題点を推定しようと考えるのであるが、合成メッセージをいくら眺めても
おかしそうなところは見当たらない。
CPUのシミュレーションだけでは、問題点が見つからないのかと、
実装用の周辺回路まで含んだシミュレーション環境を新たに作成し、
検証するけれど、どう考えてもシミュレーション上は思ったように動いている。

行き詰って、ベッドで横になっているうちに、いつの間にか寝ていた。

夜中におきて、コーヒーを飲んで、再度トライしていたが変わらず、
ふと、合成ツールのファイル一覧を見ると、「あれ?ピン配置ファイルが読まれていない!」
ことに気が付く。
ピン配置を自動にしたら、プリント基板上の配線とは全く関係なく
信号ピンがアサインされるから、これは動くわけがない。

Makefileのワークディレクトリへの転送指示にもれがあったので、
それを修正し、再度合成。

う~ん、やっぱりピン配置ファイルが読み込まれない?

動いている別ディレクトリのバージョンとつき合わせて考えると、
プロジェクトファイルの中でピン配置を指定する行の上に
スペース行が一行入っている以外の違いはない。

普段のプログラム言語等の感覚だとスペース行は無視するのが普通なのだが、
これはもしかして、と考えてスペース行を削除。

再度、ワークディレクトリをすべて削除した後、コンパイル・ダウンロード

な~んだ、ちゃんと動くじゃないか~

ということで、めでたしなのであるが、本日中に記事を作成しなくては・・

実は、動いたばかりで、LEDにはデバッグ用にCPUの命令アドレスを
出しているだけなので、これから記事用に微調整が必要である。

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress