研究概要 |
三角関数や対数関数などの数学関数を計算する数値計算回路の自動合成および設計検証システムの開発を目的とし,平成18年度は,以下を行った. 1.最適な多項式の次数の解析:与えられた数学関数を区分多項式で近似し,その多項式をメモリ,乗算器,加算器で実現する.メモリ量と回路サイズのトレードオフを考慮した近似多項式の最適な次数を求めるために,1次から5次までの近似多項式に基づく数値計算回路の自動合成ツールを開発し,多数の数値計算回路をFPGAに実装した.そして,それらの実装結果から,最適な次数は,FPGA内のハードウェアリソースの使用状況によって変化し,一意に定まらないことがわかった.そこでFPGA使用率という尺度を新たに定義し,FPGAの使用状況に応じた最適な次数を求めた.求めた次数を回路設計に用いることによって,FPGAの使用状況に合わせて最もコンパクトな数値計算回路を生成できることがわかった.また,実験により,次数とは無関係に本数値計算回路で大きな面積を占める部分(区間指定回路)が明らかになり,その部分の改良(EVBDDを用いた設計)により,さらに高性能な数値計算回路の設計に成功した. 2.数値計算回路の設計検証システムの開発:数学関数のグラフ表現を用いた形式的検証法を確立するために,数学関数のコンパクトなグラフ表現法について研究を行った.標準的な数学関数は,多項式に展開できることに着目し,多項式をコンパクトに表現できる決定グラフBMD(Binary Moment Diagram)を数学関数の表現法に用いた.BMDのサイズの上界を求め,BMDがコンパクトであることを理論的に解析した.また多くの数学関数を用いた実験により,BMDが他の決定グラフよりコンパクトであることを実験的にも示した.
|