プレイする

← fab24hrブログ

チップの基本約8分

チップはどうやって設計する? 半導体設計(LSI設計)の流れ

ひとことで言うと、チップは、コンピューターで設計して何度もチェックしてから、半導体工場でつくられます。半導体設計(IC設計、LSI設計とも呼びます)は、その前半の仕事です。チップに何をさせるかを決め、回路を書き、正しく動くか確かめ、1層ずつの図形に並べて、フォトマスクをつくるために渡します。ICは集積回路(integrated circuit)の略で、チップの正式な名前です。

設計の仕事と工場の仕事がどう違うかは「VLSI設計と半導体工場の仕事はどう違う?」に書きました。ここでは設計そのものを、順番に見ていきます。

チップの設計には、どんな段階がある?

家を建てるのに似ています。必要なものを決め、図面を描き、チェックして、審査が通ってから工事を始めます。デジタルチップの設計は、だいたい次のとおりです。

  1. 仕様:何をするか、どれだけ速く、どれだけ省電力か。
  2. 動きを書く:ハードウェア記述言語で、回路のすることを書く。
  3. 検証:仕様どおりに動くか確かめる。
  4. 論理合成:論理ゲートに変える。
  5. 配置配線:ゲートをどこに置き、どうつなぐかを決める。
  6. チェック:つくれるか、タイミングは間に合うか。
  7. テープアウト:工場に渡して、マスクをつくる。

実際には、何度も前の段階に戻ってやり直します。

仕様では何を決める?

仕様はチップの「注文書」です。何をするか、どれだけ速く動くか、電力はどこまで使ってよいか、面積はどれくらいか。面積は値段に響きます。チップが大きいほど1枚のウェーハに並ぶ数が減り、1個あたりが高くなります。

これらはよく引っぱり合います。速くするには回路を増やし、電力も多く使いがちです。省電力にすると、少し遅くなるかもしれません。小さな電池1つで長く動かしたい製品なら、省電力がいちばんです。

回路はどうやって「書く」?

スマートフォンのチップには100億個以上のトランジスタがあり(トランジスタとは?)、1個ずつ描くことはできません。そこでデジタル回路は、ふつうハードウェア記述言語(HDL)で、回路の動きを文字で書きます。

書き方はプログラムに少し似ています。違うのは、プログラムは1行ずつ順番に実行されるのに対し、ハードウェア記述言語が書くのは回路なので、多くの部分が同時に動くことです。

デジタル回路の多くは、クロックという一定のリズムに合わせて動きます。メトロノームのようなものです。よくある書き方は、1拍ごとに、データがどこから来て、どんな計算をして、どこにしまわれるかをはっきり書くもので、RTLと呼ばれます。

検証には、なぜそんなに手間がかかる?

検証は、書いた回路が仕様どおりに動くかを確かめることです。一般には、設計の仕事の大きな部分を占めることが多いと言われます。理由は3つです。

  • 試しきれない:入力の組み合わせに、回路が覚えている状態が加わり、1つずつ試せる数ではありません。
  • バグはまれな場面に隠れる:ふだんは正しいのに、2つのことがちょうど同時に起きたときだけ間違えます。
  • 見逃すと高くつく:テープアウトのあとで見つかると、設計を直してマスクをつくり直すことになります。

よく使う方法は3つあります。

  • シミュレーション:コンピューター上で回路にいろいろな入力を与え、出力が正しいかを見ます。たくさんの試験問題を出すようなものです。
  • 形式検証:問題を出すのではなく、数学で「必ずこうなる」と証明します。たとえば「この2つの信号が同時にオンになることはない」。
  • 動かしてみる:回路を書き換えられるチップ(FPGA)に設計を入れて、実際に動かします。

書いた動きは、どうやって回路になる?

この段階が論理合成です。設計ソフトが書かれた動きを読み、論理ゲートをつないだ回路に翻訳します。論理ゲートは数個のトランジスタでできた小さな回路で、たとえば「両方が1のときだけ1を出す」ものです(メモリとプロセッサは何が違う?)。

翻訳には標準セルライブラリを使います。あらかじめ設計して確かめておいた小さな部品の集まりで、いろいろな論理ゲートや、0か1を1つ覚えておく小さな回路があります。どれも高さがそろっていて幅が違うので、積み木のように一列ずつ並べられます。同じゲートでも、プロセスの世代が違えば大きさも速さも変わります。だからライブラリは、ある工場のあるプロセスに合わせてつくられます。

何をどこに置き、どう配線する?

論理合成でできるのは「どれとどれがつながるか」のリストで、まだ位置がありません。配置配線が、それを本物の図形にします。

  1. フロアプラン:大きなブロックをどこに置き、電源をどこから入れるか。
  2. 配置:ゲートを並べます。よくつながるものは近くに。
  3. クロック配線:リズムを、チップのどこにもほぼ同時に届けます。
  4. 配線:何層もの配線層が立体交差の道路のように重なっていて、その中を線が通ります。

できあがると、層ごとに1枚の図形ができます。これをレイアウトと呼び、のちに層ごとに少なくとも1枚のマスクがつくられます。

渡す前に、何をチェックする?

全部に通らないと渡せません。この関門は、よくサインオフと呼ばれます。

  • つくれるか:工場には設計ルールがあります。たとえば線をどこまで細くできるか、2本の線をどこまで近づけられるか。設計ソフトがレイアウトを1つずつ照らし合わせます。これがDRC(設計ルールチェック)です。
  • 描いたものと書いたものは同じ回路か:レイアウトから回路を逆に読み取り、元の回路と比べます。これがLVSです。
  • タイミングは間に合うか:1拍ごとに、信号は次の拍までに次の場所へ着かなければなりません。いちばん遅い経路が、チップの速さを決めます。工場でつくったトランジスタは少し速めや遅めになり、そのずれ方をコーナーと呼びます。遅いときにも間に合い、速いときにも誤動作しないことが必要です。
  • あとでテストできるか:テスト用の回路をあらかじめ入れておき、できあがったチップの中を、テスターで1個ずつ調べられるようにします(チップはどうテストする?)。

テープアウトとは?

すべて通ったら、最終の設計データを工場に渡します。これがテープアウトです。昔は最終データを紙テープ、のちに磁気テープに入れて渡していたので、その名前が残った、とよく説明されます。

テープアウトのあとで設計を変えるには、マスクをつくり直すことになります。お金もかかり、何か月も余計に待ちます。テープアウトで終わりでもありません。できたチップをテストして、本当に仕様どおりに動くか確かめ、問題があれば設計を直して、もう一度テープアウトします。テープアウトとウェーハ投入の違いは「ウェーハ投入とは?」へ。

アナログ回路も同じように設計する?

そうとは限りません。アナログ回路は、音、電圧、電波のように連続して変わる信号を扱います(アナログ半導体とデジタル半導体は何が違う?)。その設計は、手作業に頼る部分が多くなりがちです。

  • トランジスタ1つ1つの大きさやつなぎ方を、エンジニアが自分で決め、回路シミュレーションで何度も調整することがよくあります。
  • レイアウトも手で描くことが多いです。アナログ回路は置き方に敏感で、そろっていなければならない2つのトランジスタは、対称に、近くに置きます。隣にノイズの多い回路があると、影響を受けやすくなります。

自動化のツールも進歩していますが、まだ経験に頼るところが大きい分野です。

設計する側と工場は、どう協力する?

設計は工場がつくれる範囲に合わせなければならないので、両者は最初からつながっています。

  • 設計の前:工場が設計用のファイル一式を出します。PDK(プロセス・デザイン・キット)と呼ばれ、設計ルール、トランジスタのモデル(ふつう中央の値といくつかのコーナー)、チェック用のルールファイルが入っています。標準セルライブラリが入っていることもあれば、別の誰かがそのプロセス用につくることもあります。
  • テープアウトのあと:マスクをつくり、ウェーハ投入をします。新しいチップの最初の数ロットは試作です。設計する人はテスト結果を見て、工場の人はどの工程の問題かを探します。

設計と製造は、別の会社が受け持つことがよくあります(ニュースのファブレス、ファウンドリ、IDMは何が違う?)。自分で設計して自分でつくる会社でも、同じようなルールに沿って進めます。

fab24hrでは

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

第1章「12枚をどう分ける」はウェーハ投入の前日で、あなたは開発ラインの開発インテグレーションエンジニアです。同じ設計図でも、工場でつくると必ずばらつきが出ます。だから第1ロットの12枚のうち何枚かを、わざと速め・遅めにつくり、設計が持ちこたえられるかを見ます(開発インテグレーションエンジニアは何をする?)。第3章「不良の形」では、次のマスクが来週確定します。チップの中に自分たちのTEGの場所を残すかを決めますが、面積はお客さんのものです。

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

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

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

第1章から:テープアウトのあとの最初のウェーハ

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

ほかの記事

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