動作合成
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2014/03/16 22:53 UTC 版)
論理合成ツールはRTL記述から、ゲート回路(ネットリスト)を合成するツールである。動作合成は、その一階層上流の工程を自動化するツールである。すなわち、C言語等でかかれたアルゴリズム記述(動作記述)から、RTL記述を合成するツールである。動作記述とは、通常のソフトウェアのプログラムのように、処理順序どおりに動作を記述したものである。一方、(合成対象となる)RTL記述は、ハードウェアの並列動作を記述したものであり、すべての文が一クロック内に全部実行されると考えてよい。つまり、RTLはブロック図にほぼ一対一に対応可能であるため、構造を表現しており、「構造記述」とも呼ばれる。 動作合成は、C記述などの動作記述から、データフローグラフを作成し、演算子(+、*)や、配列アクセス、入出力等をスケジューリングする。合成結果は、FSM(有限状態機械)とデータパスの組み合わせとなるツールが多い。 近年(2007年)では市販ツールもあり(米国CadenceのCtoSilicon Compiler, NECのCyberWorkBench, 米国MentorのCatapultC、米国Forte社のCynthesizer等)、携帯電話やプリンタ等身の回りの製品にも、動作合成が利用されている。 設計者の生産性向上を目的として、ハードウェア記述言語(HDL)を使った動作レベル記述による回路合成の研究が数多く行われた。動作合成(Behavioral Synthesis)とは、動作に関するHDL記述をレジスタ転送レベル(RTL)の記述に変換することであり、RTL は論理ゲートレベルの論理合成の入力となる。動作最適化は、必要となるハードウェア部品数や状態数などに基づくコスト関数により行われる。コスト関数は、その設計の実装に必要な回路量の大まかな予測を提供する。動作レベルの記述や動作合成とレジスタ転送レベルの記述による論理合成は、最近では明確に区別される傾向がある。 タスクのスケジューリング、リソース割り当て、共有などにより、RTL記述のデータパスと有限オートマトン(FSM)が生成される。スケジューリングは時系列での操作割り当てであり、リソース割り当ては操作や変数へのハードウェアリソースの割り当てである。スケジュールが与えられると、リソース割り当てにより必要なハードウェアの量が最適化される。
※この「動作合成」の解説は、「論理合成」の解説の一部です。
「動作合成」を含む「論理合成」の記事については、「論理合成」の概要を参照ください。
- 動作合成のページへのリンク