DATE 2015会場の「Alpes Congres」 日経テクノロジーオンラインが撮影。
DATE 2015会場の「Alpes Congres」 日経テクノロジーオンラインが撮影。
[画像のクリックで拡大表示]

 FPGAにはグローバルクロックなどと呼ばれるクロック専用線が備わっている。クロック専用線は、FPGAの全体に対してきわめてスキュー(すべてのFFに到着するクロックの時刻差)が小さく設計されていて、グローバルクロックをクロックとして利用する限り、クロック設計や、クロックのスキューに関するタイミングの調整などに関して頭を悩ます必要はない。

 しかし、FPGAのグローバルクロックの数には限りがある。小さいFPGAでは8本程度、最大でも32本といったところだ。さらに、一部のグローバルクロックはFPGAのある特定の領域にしかクロックを分配できないなど、本当に使えるグローバルクロックの数はそれほど多くないと考えたほうがよい。

 一方で、最近の設計では、1つのFPGAに実装する機能の種類が大幅に増え、それに伴って実装しなければならないクロックの数も劇的に増えた。ASICであればクロックの数が多少増えても費用と設計を頑張ればなんとかなるが、FPGAの場合は上述したようにグローバルクロックの制約によって、使えるクロック数には上限がある。

 現在、フランス・グルノーブルで開催中の「DATE(Design, Automation, and Test in Europe) 2015」(2015年3月9日~13日)では、FPGAのグローバルクロック数よりも、使いたいクロック数が多い場合に、実行時間への影響を最小にするための手法の講演があった。タイトルは「Online Binding of Applications to Multiple Clock Domains in Shared FPGA-based Systems」(講演番号2.3.1)で、発表者は独Karlsruhe Institute of Technologyから登壇した。