プレイする

← fab24hrブログ

チップの基本約8分

チップの検証とは? テープアウトの前に、設計が正しいとどう確かめる?

チップの検証(設計検証、機能検証、論理検証とも呼びます)は、チップをつくる前に、設計が仕様どおりに動くかを確かめることです。設計者が回路を書いたら、検証の担当者がコンピューター上でたくさん問題を出し、答えが合っているかを見ます。すべて確かめてからテープアウトして、半導体工場に渡します。見ているのは「設計そのもの」が正しいかで、つくった1個のチップがうまくできたかではありません。

設計全体の流れは「チップはどうやって設計する?」へ。ここでは、その中の「検証」を順番に見ていきます。

なぜ、つくる前に検証するの?

チップは、一度つくると回路を変えられないからです。設計を渡したあと、まずフォトマスクを一式つくり(フォトマスクとは?)、ウェーハ投入して、工場で何か月もかけて加工します。

そこで設計の誤りが見つかれば、設計を直し、マスクをつくり直し、ウェーハを投入し直すことになります。お金と何か月もの時間を、いっしょに失います(半導体チップは、なぜこんなに高いのか)。しかも設計の誤りは、できたチップの1個1個に、同じように入っています。

だから、コンピューター上で誤りを探すのに時間をかけたほうがいいのです。一般には、検証は設計の仕事の大きな部分を占めることが多いと言われます。

半導体設計(IC設計)の流れの図:デジタルチップは、仕様、ハードウェア記述言語で動きを書く、検証、論理合成、配置配線、チェックを経てテープアウトし、マスクがつくられます。実際には何度も前の段階に戻ってやり直します。
チップはコンピューターで設計し、何度もチェックしてからテープアウトし、マスクをつくりに出します。テープアウトまでは何度も戻ってやり直し、そのあとで変えるにはマスクのつくり直しになります。

検証はどう進める? 順番に見る

ステップ1:仕様から、試すことを書き出す

検証の担当者は、まず仕様を読み、チップがするべきことを1つずつリストにします。どんな機能があるか、どんな場面でどう反応するべきか。問題は仕様から出します。設計者が書いた回路から出すと、書き間違えたところまで「正しい」と扱われてしまうからです。このリストがないと、「検証は終わったのか」に答えられません。

ステップ2:シミュレーション:入力を与えて、出力を確かめる

シミュレーションは、コンピューターにそのチップのふりをさせ、1拍ずつ、どの線が0でどの線が1かを計算させることです。検証の担当者はその周りに「試験会場」をつくります。入力を送り込み、出力を正解とくらべます。正解は、別に書いた簡単な版で計算することがよくあります。チップは結局、たくさんの論理ゲートが入力から出力を決めているもの(論理ゲートとは?)。コンピューター上ならすべての線が見えるので、どこで間違えたかをすぐたどれます。

自分たちで考えた問題のほかに、決めたルールの中でコンピューターにランダムな問題をたくさんつくらせ、人が思いつかない組み合わせも試します。設計を1回直すたびに、それまでの問題をすべて流し直し、ここを直してあそこを壊していないかを確かめます。このステップを飛ばすと、設計の誤りはチップが工場から戻ってきてはじめて見つかり、直すにはマスクのつくり直しが必要になります。

ステップ3:カバレッジ:まだ試していない場面は?

試しているあいだ、コンピューターは回路のどこが動いたか、リストのどの場面が出てきたかを記録します。これをカバレッジと言います。答えが全部合っていても、回路が正しいとはかぎりません。間違っているところを、まだ試していないだけかもしれません。カバレッジで足りない問題がわかれば、それを足します。「全部合格」だけを見て渡すと、試していなかったところが、あとで問題になりがちです。

ステップ4:形式検証:必ずそうなると数学で証明する

いくらシミュレーションしても、試せる問題の数にはかぎりがあります。たとえば32ビットの数(それぞれ0か1を32個並べて書いた数)を2つ足すとき、入力の組み合わせは2の64乗通り。1秒に10億通り試せても、500年以上かかります。

形式検証(フォーマル検証)は問題を出しません。数学ですべての可能性をまとめて考え、あることが必ず成り立つと証明します。たとえば「この2つの信号が同時にオンになることはない」、あるいは「書いた動きと、論理合成でできた論理ゲートの回路が、まったく同じことをする」。これがないと、めったに起きず、シミュレーションでは届かない組み合わせが、設計の中に隠れたままになりかねません。弱点は、回路が大きいと考える可能性が多すぎて計算しきれないこと。だから、1つ目の例のような証明は、小さめで特に大事な部分に使い、シミュレーションと組み合わせることが多いです。

ステップ5:書き換えられるハードウェアで、速く動かす

ソフトウェアのシミュレーションは1拍ずつ計算するので、大きなチップ全体だと、とても遅くなります。そこで、回路を書き換えられるチップ(FPGA)や、チップをまねるための大型の専用装置に設計を入れ、回路を実際に動かします。ずっと速くなります。このチップで動かす予定のソフトウェアを先に動かして、両方がうまくかみ合うかを見られるほどです。そうしないと、ソフトウェアを試すのはチップが戻ってきてから。さらに何か月も待つことになります。

ステップ6:間に合う? 電気は足りる? つくれる?

ここまでは「するべきことをするか」を見てきました。回路を1層ずつの図形(レイアウト)に並べたあと、さらに確かめます。信号が1拍のうちに次の場所まで届くか。工場でトランジスタが速め・遅めにできる何通りかのコーナーでも、すべて間に合う必要があります。外から送る電気が、チップの各所に届くまでに電圧が下がりすぎないか、電気を使いすぎないか。図形が工場のデザインルールを守っているか。機能が完全に正しい回路でも、信号が少し遅れたり電圧が少し低かったりすれば、計算を間違えます。ルールを破れば、つくれません。こうしたチェックの多くは設計ソフトで行います(EDAとは?)。

ステップ7:サインオフ、テープアウト

すべてのチェックを確かめ終えたこの関門を、サインオフと呼ぶことがよくあります。そして最終の設計データを工場に渡します。これがテープアウトです(テープアウトとは?)。そのあと変えるにはマスクのつくり直しが必要なので、「ここまで」というはっきりした線が要ります。

ステップ8:チップが戻ってきたら、実物で確かめる

最初に戻ってきたチップは、専用のボードに載せて電気を通し、実際に動かします。機能は正しいか、電圧や温度が変わっても安定しているか、ソフトウェアとかみ合うか。これをポストシリコン検証と呼びます。コンピューター上のモデルがどれだけ丁寧でも、モデルはモデルです。本物のチップが十分速く、十分長く動いてはじめて出てくる問題もあれば、それまでに見逃していた問題もあります。難しいのは、チップの中の線はほとんど見えず、外に出てくる結果しか見られないこと。原因を探すのは、コンピューター上よりずっと大変です。設計の誤りが見つかれば、設計を直して、もう一度テープアウトします。

検証と、工場の計測やテストは何が違う?

3つとも「正しいか」を確かめますが、見ているものが違います。

チップの検証計測と検査チップのテスト
何を見る設計が正しいか重要な工程がうまくいったか(膜の厚さ、線幅など)できたこのチップが壊れていないか
いつテープアウトの前、ほとんどコンピューター上工場で、加工の途中ふつうはウェーハができたあとと、パッケージのあとに1回ずつ、全数
間違っていたらすべてのチップが同じように間違うこのロット、この何枚かに問題が出る悪い1個をはじく

家を建てるのにたとえると、検証は着工前に設計図を確かめること、計測は建てている途中で壁がまっすぐかを測ること、テストは引き渡し前に1軒ずつ水道と電気を試すことです。設計図が間違っていれば、どの家も間違った図面で建ちます。設計図が正しくても、どこか1軒がうまく建たないことはあります。2つのやり方は「半導体工場は、工程がうまくいったかをどう確かめる?」と「チップはどうテストする?」へ。

半導体工場や後工程工場には、新しい製品ができたあとの信頼性試験など、ほかにも「確かめる」仕事があります。ここで話しているのは、設計の検証です。

fab24hrでは

ゲームでは、チップを設計したり検証したりする人として遊ぶことはできません。メインストーリー「チップの一生」は、テープアウトのあとから始まります。はじめて遊ぶと、まずプロローグ「テープアウト」。補聴器用チップ「Glowmere」の設計ができあがってチェックを終え、半導体工場に渡ってフォトマスク一式になります。

第1章「12枚をどう分ける」はウェーハ投入の前日で、あなたは開発ラインの開発インテグレーションエンジニアです。同じ設計図でも、工場でつくると必ずばらつきが出ます。だから第1ロットの12枚のうち何枚かを、わざと速め・遅めにつくり、本物のウェーハで設計が持ちこたえるかを見ます。第10章「待機電流」は後工程工場で、シニアテストエンジニアのジェンが、テストプログラムの上限は設計のシミュレーションで決めた第1版だと話します。本物のチップが戻ってくると、外周のリングがちょうど上限のあたりにかかっています。

ゲームの会社、チップ、人物は架空のものです。検証のやり方は公開されている一般的な資料をもとに書いていて、実際のやり方は会社によって違います。ほかの用語は「半導体工場の業界用語を、やさしく解説」へ。

ゲームのどこで出会うかメインストーリー「チップの一生」をはじめて遊ぶと、まずプロローグ「テープアウト」。補聴器用チップ「Glowmere」の設計ができあがってチェックを終え、半導体工場に渡ってフォトマスクになります。第1章「12枚をどう分ける」では、開発ラインで第1ロットの12枚の分け方を決め、何枚かをわざと速め・遅めにつくって、本物のウェーハで設計が持ちこたえるかを見ます。

fab24hrのメインストーリー「チップの一生」では、設計はもうチェックを終えてテープアウトしています。あなたは開発ラインで、はじめて本当に形になったそれが持ちこたえるかを見届けます。

第1章から:最初のウェーハで、設計は持ちこたえる?

先生へ:この記事は「授業でfab24hrを遊ぶ」と組み合わせて授業で使えます。

この記事を引用する「チップの検証とは? テープアウトの前に、設計が正しいとどう確かめる?」fab24hr、更新。https://fab24hr.com/ja/blog/chip-verification/
授業や非営利の目的なら無料で使えます。投影、プリントへの掲載、生徒への配布もかまいません。fab24hrと明記してください。販売することや、自分の作品として使うことはできません。 誤りを見つけたら報告

ほかの記事

このサイトのほかのページ