• 検索結果がありません。

第 2 章 設計プロセスにおける問題と先行研究

2.2 設計プロセスの概念

2.2.4 半導体

  半導体の設計プロセスは唯一な手順として明確に規定されてはいない。設計環境の事情 によってそのプロセスが代わる余地があるからである。従って、設計プロセスの手順につ いてシステム LSIの標準的な例を提示している鈴木(2003)の設計プロセス、すなわち図 2.5 で概観してみる。本研究で用いた経験的データや事例の多くは、特定顧客の要求仕様に基 づいて設計したカスタムLSIであるからである。

設計プロセスは、四つの段階を経て製造プロセスに移行する。製造プロセスはアートワ ークという工程から始まる。設計プロセスの第一段階から第四段階までの手順を以下に示 す。

Identification of Customer Needs

Concept Generation

& Selection

Concept Testing

Planning System-

Level Design

Production Ramp-Up Detail Design,

Testing, and Refinement Concept Development

技術主導製品

設計プロセス

顧客主導製品

工業製品の性格別

図2.4  設計プロセスと工業製品の性格(Ulrich & Eppinger, 2004:加筆)

仕様/基本設計 RTL記述 RTL記述品質チェック

機能検証

論理合成 設計規則チェック

テスト回路付加 テストパターン生成

仮負荷タイミング検証

レイアウト 論理等価性検証

図2.5  半導体の設計プロセス(鈴木, 2003:加筆)

実負荷タイミング検証

試作(ES) 量産立ち上げ

量産 アートワーク

テスティング RTL記述

テクノロジ ライブラリ 合成スクリプト

テスト回路付加 ネットリスト ネットリスト

ネットリスト

SDF

論理等価性検証

NG

NG

first sign off

second sign off (tape out) OK

Phase 1

Phase 3

Phase 4 Phase 2

Phase 5

Phase 6

役割の明確化概念設計実体設計詳細設計量産プロセス

第一段階

ステップ(1)  仕様と基本設計

  システム LSI 全体の外部仕様、つまり機能面の仕様を明確にし、またその機能を実現 するため処理方式を決定する。処理方式の主要事項を以下に示す。

i) データ転送方式:一相一サイクル転送にするか、又は複数サイクル転送にするかの 意思決定を行う。

ii) クロック方式:クロック系統の数及び低消費電力化のためのクロック制御方式の意 思決定を行う。

iii) ソフトウエアとハードウエアの切り分け:処理速度や全ゲート数などを考慮して最

適な分割作業を実施する。

iv) アーキテクチャ:パイプライン(pipeline)方式か、又はスーパースケーラー(superscaler) 方式かの意思決定を行う。

v) 端子の割り当て:ASIC (Application Specific Integrated Circuits)ではプリント基板 (Printed Wiring Board)が先に設計されているのが一般的である。プリント基板上に乗 る他の部品との位置関係から信号や電源、そして GND(グランド:電位がゼロ)の位 置がほぼ決定してしまっている。この状況から信号の同時変化ノイズを考慮しなが ら端子を割り当てる。

vi) モ ジ ュ ー ル の 割 り 出 し : こ の モ ジ ュ ー ル は ハ ー ド ウ エ ア 記 述 言 語(Hardware Description Language)で表現された機能の単位を意味する。モジュールの階層構造を 割り出し、各モジュールの入出力信号と処理を明確にする。モジュールの中にはレ ジスタ類も含まれ、どのクロック・サイクルでどの様な処理がなされるのか明確に 規定する。つまりこの設計工程の段階でサイクル・アキュレート(cycle accurate)な状 態となる。

ステップ(2)  RTL (Register Transfer Level)設計

  ハードウエア記述言語を用いて、モジュール毎の機能の記述を行う。この機能記述を RTL記述と呼ぶ。この時点でRTLの記述ファイルを作成する。

ステップ(3)  RTL記述品質チェック

  RTL 記述ファイルを読み込み、記述された内容に関して文法上、あるいは設計するに あたって予め取り決めしておいた記述規則に、違反しているか否かを検証する。

ステップ(4)  機能検証

  RTL 記述ファイルを読み込み、論理シミュレータを用いて仕様と基本設計のステップ

で決めた仕様通りの機能が、ハードウエア記述言語で表現されているのか否かを検証す る。次に機能検証(Functional Verification)において、論理を動作させる信号系列は最上 にテストベンチ(Test Bench)として作成する。そしてコードカバレッジ(Code Coverage)等を 用いてテストベンチの品質を検証する。

第二段階

ステップ(1)論理合成

  モジュール単位に与えた入出力信号のタイミング制約などを記述した合成スクリプト (script)、配線負荷モデル(wire loaded model)並びにセル(cell)の内部情報を持つテクノロ ジ・ライブラリ(technology library)、そしてRTL記述ファイルを読み込む。そして論理合 成(logic synthesis)ツールを用い手ゲートレベル(gate level)の設計情報、すなわちネットリ スト(netlist)を作成する。

ステップ(2)設計規則チェック

  作成されたゲートレベルの設計情報が、半導体ベンダー独自の論理構造規則に違反し ていないか検証する。

ステップ(3)テスト回路付加とテストパターン生成

  ネットリストに対して、テスタを用いた製造不良テストを容易にするテスト専用回路 を付加する。これはDFT (Design For Testability)のツールを用いる。そしてこのテスト専用 回路に対して印可する故障検出用のテストパターンを ATPG (Automatic Test Pattern Generation System)を用いて生成する。

ステップ(4)論理等価性検証

  テスト回路が付加される前後のネットリストを比較して論理的に等価であるか否かを 検証する。テスト回路付加ツールが完全であるならば本作業は不要である。しかし論理 合成ツールと同一メーカのテスト回路付加ツールを使うとは限らず、慎重を期するため にこの作業は行われる。

ステップ(5)仮負荷タイミング検証

  テスト回路が付加されたネットリストと配線負荷モデルを使い、静的タイミング解析 (Static Timing Analyzer)を行う。ここで検証結果が満足できない場合には、論理合成の手順 まで戻り、論理合成制約を変更するなどしてタイミングを合わせ込む。

第三段階

ステップ(1)レイアウト

  テスト回路が付加されたネットリストに基づいてセルの配置を行う。続いてあらかじ め規定されたスキュー(skew)値に収まる様に、バッファ(buffer)を挿入しながらクロックの 配線経路を決定する。次に一般信号の配線を行う。スキャンチェーン(scan chain)に関して は配線経路が複雑にならない様に、接続するDualフリップ・フロップ(Flip Flop)の順序を 入れ替えるリオーダリング(re-ordering)処理を行う。

ステップ(2)論理等価性検証

  レイアウト情報から逆にゲートレベルの全てのネットリストを抽出し、レイアウトで 用いたテスト回路が付加されたネットリストと比較する。この比較作業は論理等価性検 証である。

ステップ(3)実負荷タイミング検証

  レイアウト情報から抽出した配線の抵抗R及び容量 C から配線の遅延とセルの遅延を 計算し、SDF (Standard Delay File)を生成する。この遅延情報と論理等価性検証のステップ で抽出したネットリストに基づいて、静的タイミング解析ツールでタイミング検証を行 う。ここで検証結果が満足できない場合には、レイアウトのステップまで戻り、セル駆 動能力の変更、バッファの挿入、あるいはセル配置の変更などを行う。この作業を実施 してもタイミングの改善ができない場合は、論理合成のステップまで戻り、論理合成制 約を変更するなどしてタイミングを合わせ込む。

この様に、半導体における設計プロセスを第一段階から第四段階に分類するなら、機 械設計で規定している一連の設計過程と類似していることが認識できる。

ドキュメント内 製品開発における設計負荷とその低減 (ページ 33-37)