書換え可能な半導体デバイスであるFPGAを対象として、C言語などにより書かれた逐次プログラムからレジスタ転送レベルの回路を自動生成する動作合成技術の研究を行った。 FPGAは、マルチプレクサの遅延が相対的に大きくなるため、回路のクリティカルパス中に挿入されるマルチプレクサの数を減らすことが重要である。まず、レジスタを積極的に非共有化することにより、レジスタの直前に挿入されるマルチプレクサを削減する手法を開発し、その成果を国際会議SASIMIで発表した。次に、本手法を発展させ、レジスタと演算器のアロケーションとバインディングを同時に行う手法を開発した。本手法は整数線形計画法に基づいており、クリティカルパス長の制約下で、データパスの面積を最小化する。しかし、回路規模が大きくなると、整数線形計画法により厳密解を求めるのは現実的でない。そこで、高速に解を求めるヒューリスティクスも開発した。従来手法と比較して10%程度の高速化を達成した。本研究の成果は国内の研究会で発表し、現在、国際会議に投稿中である。 最近のFPGAが有する部分的動的再構成機能を効率よく活用する設計技術も開発した。リアルタイムシステムにおいては、高い優先度の処理が到着した場合、現在実行中の処理を中断し、到着した高優先度の処理を実行する「プリエンプション」を行う必要がある。FPGA上でプリエンプションを高速に行うハードウェア機構と、その設計手法を開発した。本研究の成果を国際会議FPLで発表した。 本研究を含め、現在までの一連の研究を通して得られた知見や成果をまとめ、国際会議ISOCCで招待講演を行った。
|