Cベース設計教育の カリキュラム構築から運用まで
●教育カリキュラムを立ち上げた三つの動機
本教育カリキュラムを立ち上げようと考えたのは,次のような現実と不安があったからです.
1)ツールも設計フローもあるのに,普及が遅い
そのころ,社内には,研究部門が開発したC言語入力のビヘイビア合成ツールや,ASSPを設計している部門がみずからの開発業務のために作成したC++シミュレータなどがあり,数年前からポツポツと使われていました.これらのツールと市販のコデザイン・ツールを合わせてCベース設計のフローらしきものができ上がりつつありました(図4).また,これらの一部を使った実設計への適用も進んでいました(表1).
一度,このフローを適用したプロジェクトに参加した技術者からは「この手法なしでは設計できない」という声も上がっていました.しかし,その一方で,Cベース設計に興味は示すものの「新しい設計手法にチャレンジできるほど時間の余裕がない」という技術者がほとんどでした.市販の適当なツールがなく,自社ツール中心のフローであったことも普及の遅れに拍車をかけていました.
2)普及したらサポート体制がパンクする
ビヘイビア合成ツールにしろ,C++シミュレータにしろ,従来のツールと違い,適用初期には手厚いサポートが必要です.5~6名のプロジェクトに2~3名のサポート要員が必要になるときもあります.ということは,普及が進めばサポートに手を取られ,ツールの開発・改良どころではなくなってしまうことになります.
3)世間の普及スピードに対する不安
EDAベンダのセールス・トークでは,レイアウト設計とともに,システム・レベル設計の重要性がつねに強調されます.EDAベンダが標準的なツールを提供するようになったら,Cベース設計は世の中にあっという間に普及してしまうのではないかという不安がありました.
そんなとき,会社のトップから,システムLSIを本業とするためにCベース設計手法を普及させるよう,指示が出ました.そして,2001年3月に教育体制の構築が始まりました.
〔図4〕 Cベース設計フロー
従来のフローでは,一部のエキスパートが頭で考え,ドキュメントを起こし,これに基づいて手作りでRTLのハードウェア設計が行われている.Cベース設計では,仕様やアルゴリズムの段階からツールを使い,C言語プログラムを記述していく.C言語で書かれた仕様やアルゴリズムは,C++シミュレータで検証することができ,ビヘイビア合成ツールを使って自動的にRTLを生成できる.
〔表1〕 社内での適用状況
社内では,Cベース設計を適用して効果を上げた例が多くある.ここでは,設計効率の向上,品質向上,コスト低減の各項目に分類している.残念ながら実際のアプリケーションは公表できない.
1 |
効 果
|
設計効率の向上 | 総工費 1/5 |
総設計生産性 5倍 | |
仕様書作成からFPGAへの実装まで 6時間 | |
品質向上 | 3万パターンものテストを客先で実施 |
テスト前のバグ検出 11件 | |
RTL一発完全動作 (Cベース設計による高速検証,Cレベルのコード・カバレッジ, 機能単位のシステム検証) | |
コスト低減 | ゲート削減 1/3(機能仕様レベルから見直した結果 ) |