書換え可能な半導体デバイスであるFPGAを対象として、C言語により書かれた逐次プログラムからレジスタ転送レベルの回路を自動生成する動作合成技術について研究した。FPGAはマルチプレクサの遅延が相対的に大きいため、高性能な回路を合成するためには、クリティカルパス中に挿入されるマルチプレクサの段数を減らすことが重要である。そこで、クリティカルパス上のマルチプレクサの段数を抑制する動作合成手法を開発した。本手法は、レジスタと演算器のアロケーションとバインディングを同時に行う。本手法は整数線形計画法に基づいており、クリティカルパス長の制約下で、データパスの面積を最小化する。しかし、回路規模が大きくなると、整数線形計画法により厳密解を求めるのは現実的でない。そこで、高速に解を求める発見的アルゴリズムも開発し、プログラムとして実装した。従来手法と比較して10%程度の高速化を達成した。本研究の成果は、LSI設計自動化の分野で最も権威ある国際会議の一つであるASP-DACで発表した。 最近のFPGAが有する部分的動的再構成機能を効率よく活用する設計技術も開発した。リアルタイムシステムにおいては、高い優先度の処理が到着した場合、現在実行中の処理を中断し、到着した高優先度の処理を実行する「プリエンプション」を行う必要がある。FPGA上でプリエンプションを高速に行うハードウェア機構、その設計手法、および、ソフトウェア技術を開発した。本成果については、国際会議で2件の発表を行った他、本分野で最も権威ある論文誌の一つであるIEEE ESLへの採録が決定している。 更に、最近開発されたPPC(Partially Programable Circuit)と呼ばれる回路を対象とし、製造歩留まりを改善する動作合成技術を開発した。本研究についても国際会議で発表した。
|