FPGAが論理合成しなくても動く
先日のIPAXで発表した、新製品について、少しづつ書いていこうと思います。
IPAXの前日に特許出願を行ったこの新製品は、
「FPGAが論理合成しなくても動く」というものです。
普通、FPGAを動かすには、ソースコードをVHDLやVerilogで書いて論理合成にかけ、
特定のアーキテクチャにフィットさせなければなりません。
誰もがごくあたりまえのようにこの過程が行っているわけなのですが、
4つの大きな難関があるのです。
①VHDLやVerilogは、C言語などのソフトウェア言語に比べて難しいこと。
②FPGAを動かすには、個々のFPGAのアーキテクチャに対する知識が必要なこと。
③デバイスに合った論理合成ツールを使わなければならないこと。
④最後に、論理合成にはべらぼうな時間がかかることです。
こんな面倒なことをやらないと、FPGAは全く動いてくれないのです。
あたりまえのようなことなのですが、ソフトで作るときに比べると、けた違いに面倒です。
例えば、FPGAの動作はステップ実行やブレークができません。
作ったら作ったとおりに、ハードウェアの速度で走り出します。
たとえば、「FPGAに液晶ディスプレイをつなぎ、I2Cのメモリから読み出した文字列を表示させる」というアプリケーションを作ろうとしたとき、どのくらいでできるでしょうか?
どんなに慣れた人でも、液晶ディスプレイやI2Cのメモリとの正しいインタフェース方法をみつけるために、何度も何度も論理合成を繰り返すのではないでしょうか?
そのうえ最近のFPGAでは、論理合成に掛かる時間はどんどん長くなっています。
ちょこっとソースを修正して論理合成を行うたびに、毎回何十分もかかってしまうようでは、効率が悪くなってしまいます。
特殊電子回路はこれらの問題を解決する新しいツールを開発しました。
それはFPGAが論理合成しなくても動くというものです。
C言語で書いたソースのとおりに、FPGAの端子が動きます。
論理合成が必要ないので、ソースを変更した5秒後には新しいデザインでどんなFPGAでも動きます。
詳細はすこしづつ説明していきたいと思います。
どうぞご期待ください。
| 固定リンク


コメント
内藤さん、こんにちは。 新製品の件とても興味深いです。「C言語で書いたソース通りにFPGAの端子が動く」というのが、論理合成した時と同じ速度で動くのならズバリ使えるツールになるように思いますが、単純にJTAG経由でFPGAにデータを流し込んでラッチにキャプチャさせるだけのものなら辛いかもしれませんね。 興味深い題材なので続きのお話しを楽しみにしています。では、失礼します。
投稿: takekun | 2007.07.28 21:39
少し違います。論理合成した時と同じ速度とはいきませんが、そのようなツールを必要とする業界もあるのです。
投稿: なひたふ | 2007.07.29 07:09