近年,携帯電話や情報端末など電子機器の小型化・高性能化に伴い,システムLSI設計は高度化・複雑化している.そのため,今日では,設計抽象度を引き上げることで,設計対象である部品数を減少させ設計するシステムレベル設計と呼ばれる設計手法が確立されてきている.システムレベル設計とは,まず,システムの設計仕様から段階的に抽象レベルを下げていき,システム仕様をハードウェアとソフトウェアに分割する.そして,分割したハードウェアとソフトウェアを並行して詳細化し,最終的に一つのシステムとして統合するシステム設計手法である.このシステムレベル設計を実現させるプログラム言語の一つにC言語をハードウェア記述言語に拡張させたSpecC言語がある.本研究では,このSpecC言語を用いた設計方法論に従い,システムレベル設計について議論している.
システムレベル設計では,所望の設計の機能,性能,消費電力,コスト等の厳しい制約条件が設計手順を複雑化しており,特に,段階的に抽象レベルを下げていくモデル変換手順は,現状では体系化されていないという問題がある.そのため,この変換作業は設計者の経験や技術により手作業で行う必要があり,設計者ごとに設計効率に差が生じてしまう.
この問題を解決するためにリファクタリングという技術を応用する.リファクタリングとは,ソフトウェア工学で提案されたモデル変換手法であり,挙動を変更せずにソフトウェアの内部構造を再構成することである.これには,コードの再利用・保守を目的とした様々な変換規則が定義されている.また,SpecC方法論における段階的詳細化のモデル変換過程では,元の仕様の動作は変更せず,最終的な実装モデルへとモデル (コード) 変換を行っている.この二つはどちらも,変換前後で実質的な挙動を保っているため,リファクタリングを用いてシステムレベル設計,特に,SpecC方法論におけるモデル変換規則を体系化することができる.
そこで本研究では,システムレベル設計において,現状では体系化されていない段階的詳細化におけるモデル変換規則を抽出し,その適用手順・方法をリファクタリングカタログとして網羅した.また,実際の適用例として,SpecC言語による変換手順も掲載した.