2016年7月27日水曜日

第7回〜テストの実際(その1、導入編)

半導体は、写真製版技術を使って、シリコンウエハ上に全く同じチップを数百個から千個分、繰り返し回路を焼き付けて作ります。そして、製造途中での良否は外観検査でしか判定できず、良品か不良品化の判定は、全ての工程が終わって、実際に回路を動かしてみないとできません。

この判定をすることをテストと読んでいます。「テスト」という単語はとても一般的な単語ですが、半導体設計製造の世界で「テスト」というと、主としてこのことを指します。

良品・不良品の判定をするということは、ここで不良を見逃すと、お客様のところに不良品が出荷されてしまうということから、とてもシビアな業務であると言えます。

判定のスペックを決めるための色々な業務として以下のようなものがあります。

  • 試作品評価による動作検証
  • 各種特性取得(DC特性、AC特性)
  • 取得したデータの処理とデータの吟味
  • 特性が設計目標値を満足しているかどうかの認定
  • 判定スペック決定
  • スペックを入れ込んだ量産テストプログラムの作成
  • お客様への製品納入時の選別条件のお約束をする納入仕様書作成
  • 量産工程への公式な製造仕様ドキュメントとして設計部が発行する製造図面の作成

これら、帳票類の整備などの様々な業務も含めた業務をテスティング業務と考えて、これらの業務全般がテスト担当者のミッションとなります。

さらに、大規模なLSIのテストを効率的に実施するための、様々な仕掛けを製品の中に入れ込んでおくテスト容易化設計のための様々なアドバイスを製品設計者に対して行うこともあります。

このテスト容易化設計は、大規模な製品を少ない時間で効率的にテストをするために必須の考え方で、この検討が行われていないと、量産工程の能力を不必要に落としてしまったり、最悪テストが出来ない、ということになりかねません。
業務範囲に関しては、会社によって異なるようです。上記は私が所属していた会社での例です。とある会社ではLSI設計者は一切テストにはタッチせず、試作着工後に設計ドキュメントとデータを以てテスト担当部署に業務移管する、という話も聞いたことがあります。
これから何回かに分けて、このテストに関する話をご紹介したいと思います。

何を測るの?


LSIのテスト、良品・不良品の判定と言っても、何のことやら?半導体は電気で動くから、何か電気に関するものを測るんだよね?、なんていう話もあると思いますので、まずは私が過去に担当していた製品の出荷選別テストがどんなものだったのかをご紹介いたします。製品によって何をどう測るかは違いますので、これから書くのはあくまでも一例です。

低電圧スクリーニング
コンタクトホール(多層配線の導通を取るために、配線と配線にサンドイッチされた層に穴を開けて上と下の配線をつなぐのですが、この穴のことを言います)の半断線を検出するための機能試験。製造開始後最初の通電。高電圧印加で半断線が導通してしまわないように、試験の最初に実施。

高電圧スクリーニング
高電圧を印加してストレスをかけ、切れかかっている配線など壊れかかっている回路を破壊させる。テストベクタを走らせるだけで、期待値比較は行わない。

DCパルススクリーニング
ラッチアップが発生しないかどうか確認するための試験で、端子に高電圧のパルスを印加します。ラッチアップについての説明は、こちらがわかりやすいです。
クロックサーチ
マイコン系の製品では、ACタイミングスペックの基準点が、デバイスのクロック出力となっているものが多く、基準点であるクロック出力をLSIテスターのテスト周期の先頭と合わせる必要があります。具体的には、クロック入力のタイミングを動かして、クロック出力のたとえば立ち上がりエッジがLSIテスターのテスト周期の始まりに来るように調整します。これをクロックサーチと言います。
VOH/VOL
出力電圧の測定です。ASICではHレベル、Lレベルそれぞれ出力している箇所をテストパターンから探し出して、その状態でクロック停止、静的状態で測定します。そのために、テストベクタがの波形がすべてNRZ波形(パルス型ではなくデータ型の波形)で表現されるようにテストベクタを引き延ばしたり、測定ステップを探すようなEDAの仕掛けが用意されていました。

入力リーク H印加/L印加
入力専用ピンのリーク電流を測定。電源を投入して、Hレベル、Lレベルそれぞれを印加したときのリーク(漏れ)電流を測定します。CMOS回路では、構造上入力側には電流が流れません。ここに電流が流れる場合、LSIが破壊している可能性があります。

双方向リーク H印か/L印加
双方向ピン、トライステートピンのリーク電流を測定します。状態設定のためのテストベクタを走らせて、測定箇所でベクタを停止させて測定。測定する理由は入力リークと同じです。

入力プルアップ電流
入力プルダウン電流
本来ならプルアップ/プルダウン抵抗を測定したいところですが、電流で測定します。社外スペックも電流で規定しています。プルアップ電流はLレベル、プルダウン電流はHレベルを端子に印加し、端子に流れる電流を測定します。

双方向プルアップ電流
双方向プルダウン電流
プルアップ/プルダウン抵抗付き双方向ピンのプルアップ/プルダウン電流測定です。端子が入力状態になるように状態設定のためのテストベクタを走らせて、テストベクタを停止して測定します。

入力レベル+ファンクションテスト Vcc min/max
入力ピン、双方向ピンの入力側の入力レベル電圧は、機能試験で測定します。ただ、テストを安定させるために、全てのテストベクタではなく、入力レベル電圧測定はテストベクタをピックアップして実施することもあります。

ファンクションテスト Vcc min/max
機能試験のテストベクタを使って、機能試験を行います。動作電源電圧範囲を保証するために、高電圧側と低電圧側の両方の電源電圧で試験します。ACタイミングの試験をする場合は、このテストで行います。

スタンバイ電流測定
CMOS素子は原理的に回路静止状態では電流が流れないことになっています。この原理を利用して、素子破壊を検出するために、回路静止状態での電源からGNDに流れる電流を測定します。これで電流が多く流れる場合は、どこかに素子破壊が発生していると考えます。 
ただし、微細化プロセスでは短チャンネル効果等により、MOSトランジスタがカットオフしていてもソース・ドレイン間にリーク電流が流れてしまい、、取り扱いが難しいテストになっています。

消費電流測定
消費電流の測定をします。ただし、LSIテスター上では限られた動作のテストベクタを使用した測定となり、実動作状態とは測定条件が異なる事が多いので、あくまでも不良品選別のためのテストと考えるべきです。

シュミットテスト
シュミット入力のヒステリシス特性を測定します。この測定を行うためには、入力端子から出力端子までの間に順序回路が入らない特別なテスト回路をデバイスの中に設ける必要があります。

ROMテスト
ROMを搭載している場合、ROMの機能テストを行います。ROMデータ変更という製品展開は割に良くあるので、その際にはROMテストの期待値のみを差し替える、ということを行います。

RAMテスト
RAMを搭載している場合、RAMの機能テストを行います。

RAMリテンションテスト
RAMを搭載している場合、リテンションテストを行います。RAMにデータを書き込み、電源電圧を1V程度まで下げて一定時間経過してからまた電源電圧を通常電圧に上げてから読み出しを行い、データが保持できていることをテストします。SRAMなので、DRAMのような電荷のリークによるデータ消失は起こりませんが、ビット間干渉の検出は出来るようです。経験上、RAMのファンクションテストがパスしていて、リテンションテストがNGという試作サンプルに出会ったことはありませんが、数を沢山作ると、そのような不良も発生するかもしれません。

水晶発振テスト
水晶発振回路を搭載している場合、外付けの水晶振動子を接続して、水晶が発振するかどうかテストします。

アナログテスト
アナログモジュールを搭載している場合、そのテストを実施します。ADコンバーター、DAコンバーターの変換精度などのテストです。

次回以降で、これらのテストについて、苦労話も含めて詳しく説明していきたいと思います。


0 件のコメント:

コメントを投稿