PR
講演する尾崎靖氏 スライドはNECエレのデータ。
講演する尾崎靖氏 スライドはNECエレのデータ。
[画像のクリックで拡大表示]

 NECエレクトロニクスは,大規模論理の機能検証を手際よく進めるための手法について講演した。この講演は,2008年9月12日に東京で開催の「Verify2008」(主催:サン・マイクロシステムズ)で行なわれた。

 登壇したのは,LSIの機能検証チームを率いる,NECエレの尾崎靖氏(第二SoC事業本部チームマネージャ)である。同氏が講演の中で採り上げたように,検証品質の向上や検証期間の短縮には,「検証と設計を異なるエンジニアが担当するのが良い」と言われている。尾崎氏は「これはこれで正しいが,それだけでは,大規模な検証を首尾よく進めることは難しい」と述べ,同氏が検証チームのマネージャとして実践してきた手法を紹介した。

 例えば,設計チームと検証チームを分けるだけではなく,検証チームをさらに細分化する。シミュレーションのパターンを作成する人,シミュレーションを実行する人,デバグをする人といった具合である。「同じ人がパターンを作ってデバグもすると,デバグに妙に凝るようになりやすい」(同氏)。これは「設計と検証を分けた方が良い」という考えに通じるものがある。

 尾崎氏は,別のエンジニアが担当した方が良い作業をほかにも紹介した。例えば,機能仕様書からテストベンチ(テスト・パターン作成)を作る作業である。この作業は,(1)機能仕様書からテストベンチの内容(つまり,どういうシミュレーションを実行する)を決める作業と,(2)テストベンチの内容を検証言語で記述する作業に分けられる。

 (2)が目に見えやすいためか,「全体の作業を,C言語の使いこなしが上手な人に任せることが多い」(同氏)。しかし,「(1)と(2)の作業の両方を上手くできる人は稀で,それぞれが得意な人でペアを組むのが良い」(同氏)。特に,制約付きランダム発生技術を使う場合には,(1)が首尾よくできる人を見いだすことが重要だとした。

 さらに同氏は,検証作業全体をスムーズに進めるために,検証全体の状況を把握している人(トレーサ)を置くことや,その状況をチーム全体に知らせるための電子掲示板を設けることなどを勧めた。

個々の作業を最適なメンバーに割り当てる

 尾崎氏は講演の前半で,上述したような,検証作業の分類や分割について説明した。後半は,その分割した作業を,検証チームの各メンバーに割り振る方法である。同氏はチームには,さまざまな資質や性格の人がおり,それらに合った作業を担当してもらうことで,検証全体がスムーズに,短時間で行えるようになるとした。

 例えば,「何事にも器用」と言われている人は,検証の立ち上げや初期に大量のパターンを作成する作業に向くという。こうした人は,「カバレッジで60~70%程度まで,検証作業を進めるのが上手い」という。一方で,こうした人は,検証作業のツメ(100%にまで持っていく作業)が苦手なことが多いという。

 この詰めの作業には,「熟考が好きな人」が向くという。「こうした人は,理解できないと前に進めないケースが多い半面,検証の詰めのような緻密な作業に向いている」(同氏)。器用な人は検証作業の前半で,熟考が好きな人は後半で活躍できそうだ。

 さらに同氏は「ある確率でトレースが好きな人がいて,その人は設計レビューや進捗の管理に向いている」と述べたり,「Excelが好きな人」,「まめな人」など,検証作業の割り当ての際に着目する点を説明した。最後は全体をまとめるのに向く人だったが,同氏によれば,「世話好きな人」である。するどい。