Field Programmable Gate Array (FPGA)は製造後に回路の論理が変更可能な集積回路である。FPGAの回路規模は急速に大規模化しており、これに伴って、回路合成や配置配線が長期化していることが問題となっている。本研究では、この問題を解決する一つの方法として、既に設計されたFPGA回路が仕様変更やバグ修正などのために変更が必要となったとき、配置配線を行わずに、FPGAの持つ論理の変更可能性を利用して、回路の変更・修正を行うことを目的としている。 平成29年度は、設計済みの回路を変更する際に、回路のどの部分を変更すれば良いのかを求める手法と、その場所をどのように変更すれば良いかを求める手法の2点を合わせた評価を行った。FPGA回路中の全てのLUT (Look-up Table)の論理関数を求めることは現実的な時間で行うことができなかったが、まず、変更すべき箇所を求めることによって、論理関数を求める必要のあるLUTの個数を減少し、回路再合成の時間を短縮することができる。評価は、OpenRISCプロセッサの算術論理ユニットを対象にして行い、論理回路レベルにおける論理ゲートの削除、および、論理ゲート種類の変更については、全てのケースで変更後の回路を求めることが可能であることを示した。また、論理ゲート間の接続関係の変更や論理ゲートの追加についても、変更後の回路を求めることができるケースがあることを示した。 研究期間全体としては、高位合成されたFPGA回路における高位設計の変更によって生じるLUTネットワークの変化、FPGA回路で実現する論理が変化した際に回路のどの部分を変更すれば良いかを求める手法、回路の変更が必要な点の論理関数の入力を推定する手法のそれぞれについて評価を行い、最終的に、例題回路において変更後のFPGA回路を求めることができることを示した。
|