技術情報

技術情報

開発者コラム

図研エルミックのエンジニアが開発にまつわるコラムを書いています。


 

2009年 news66号

2009/08/03

最近のFPGA

製品開発第四部二課 Y.S

早いもので、ハードウェア開発エンジニアとして10数年経ちました。
今回は、私が業務でよく使うFPGAの話をしましょう。

さて、このFPGA、正式名称は「Field Programmable Gate Array」と言いまして、自由に書き換え可能なASIC(LSI)です。20~30年くらい前から細々と存在していましたが、ここ10年くらいで性能が大幅に向上しASICの代替品として急速に普及してきました。

一昔前までFPGAは、購入単価が高く量産開発には向かないデバイスという認識でした。FPGAの性能向上とともに、少数しか開発しない製品には徐々に使用されるようになり、1990年代後半あたりから携帯やPHSの基地局や制御装置で使用され始めるとともに単価が安くなってきました。2000年代になると家電製品にも使用され始め、今ではTVやHDDレコーダー、DSCなどASICからFPGAに置き換えて開発を行う製品は非常に増えてきています。

最近のFPGAは、10Mbit以上のメモリや、10個以上のPLL、CPUハードマクロを内蔵し、10GbE/1GbEやPCIExpress、DDR2/3など対応していて・・・とFPGAだけで高性能なSoCチップができてしまうほど、高性能になっています。キーワードだけ見ていくと、なんでもできる魔法のデバイスのように思えてきます。FPGAが25MHzクロックで動けば超高速と言われた時代もありましたが、今や200MHz以上でも動作させることが可能になりました。つい4~5年前はSDRAMを繋げるだけで苦労していましたが、最近はDDR3に繋げることが可能になってきました。(それはそれでタイミング調整で苦労しそうですが。。。)10年ひと昔と言いますが、ひと昔前を思い出すと技術の進歩はすごい!と感じてしまいます。

しかしながら、FPGAを使って設計するには、当然ですが正しくFPGAを理解しておく必要があります。PLLは内蔵しているが、適応周波数範囲が数MHz~200MHz程度だったり、端子の括り(バンクと言います)ごとに信号レベル/種別を同一にしなければならなかったりします。また、FPGA内部のクロックの最大引き回し本数がエリアごとに決まっているので、クロックの使用数をあらかじめ決めておかなくてはならなかったり、という若干の制約事項があります。
経験を積んでいけばなんてことはないですが、初めて使うにはわかりずらい制約(ワナ?)がいくつかあります。なんでもできるように見えて、使う前にきちんと仕様検討をしないとやりたいことができないといったことになってしまいます。

「なんでもできる」って、使う人間に拠るってことですね。。

 
(c) 2009 ZUKEN ELMIC,INC. All rights reserved.

バックナンバー

↑ ページTOPへ