実数型変数の語長推定支援環境に関する研究

尾辻 崇 (9951026)


近年、半導体製造技術の進歩によりLSIの大規模・高度化が進んだこと で、設計効率の向上のため、高級言語を利用したハードウェア設計法の要求が高 まっている。そこでこれまで整数のみを用いたCによるハードウェアの記述から RTレベルのハードウェアを生成する手法の研究が行われてきた。その中で、整数 型変数の語長を最適化することが、生成されるハードウェアの性能に大きな影響 を与えるという結果が得られている。しかし、信号処理等の応用では整数に加え て浮動小数点演算が用いられることも多く、浮動小数点数への対応が要求されて いた。

そこで本発表では、C言語の実数型変数について、必要な語長を推定する 手法について考察し、推定のための支援環境について報告する。支援環境は、 Cソースプログラムから生成したコントロール/データフローグラフの静的・ 動的な解析を行った後、推定した語長、推定前後におけるプログラム中の関数 の出力結果の差、変数の丸め誤差を設計者に示すものである。

また、この手法に従う C言語からの自動合成で要求される実数演算器 について、sin, cos, tan-1 などの初等関数を統一的に計算できるCORDIC法 に基づく回路を設計したので、これも合わせて報告する。本回路は正規化され た固定小数点部分に対して演算を行う回路で、高速化のため冗長二進演算方式を 採用している。CORDIC法に基づく回路は、東京大学 VDEC のROHM 4.5 um チッ プで実際に LSI として試作し、動作を確認している。