研究実績の概要 |
前年度までに研究開発した手法をさらに発展させ、旧設計と新仕様の差異を任意の論理関数を表現できるLUT(Look up Table)の集合で表現し、新仕様に対する合成では、それらLUTの論理関数を決定する問題に帰着する手法を提案・評価し、非常に少数のテストパタンに対して、仕様と等価となる解が求められることを示すと共に、ハードウェア論理設計デバッグ問題への応用に関しては、企業から入手した実設計に適用し、効率よく設計バグを自動修正できることを示した。 さらに、設計者の意図をより反映させた自動修正や自動設計を可能とするため、差異部分を一般のLUTで表現するだけでなく、与えられた回路やプログラムを部分回路や部分プログラムに分け、それらに対して許される変換を数学的に定義し、それらの変換の集合で設計を自動修正・自動合成する手法も提案・評価した。これにより、修正範囲や合成範囲をより的確に設計者が指示できるようになっている。また、本手法における回路変換を回路に発生し得る故障であるとも解釈できることを利用して、回路中に任意の個所が多重に故障する多重故障モデルに対するテストパタン自動生成手法に応用できることを示した。そして、それを多重縮退故障に対するテストパタン生成に適用し、10,000ゲート規模の回路まで多重故障に対する完全なテストパタン生成が可能であることを世界で初めて示した。従来は数十ゲート規模の回路に対する多重故障テストパタン生成しかできておらず、大きなブレークスルーであると言える。 また、ソフトウェアに対しては、2つのプログラムの差異をCDFG(Control Data Flow Graph)レベルで自動抽出する新規技術を研究開発した。これは記述に差異があるとする定義をユーザが独自に行うことができるため、2つのプログラムをどのように変換すれば、同等となるかの解析に応用することもできる。
|