EDAとは? チップを設計するソフトは、各段階で何をしている?
EDAは電子設計自動化(electronic design automation)の略で、チップを設計するためのコンピューターのソフトウェア一式のことです。EDAツール、半導体の設計ツールとも呼ばれます。チップは工場に入る前に、コンピューターで設計して何度もチェックします。回路のすることを書くところから、フォトマスクをつくるために渡すところまで、どの段階にもそれぞれのソフトがあります。プリント基板の設計にもEDAを使いますが、ここではチップの話だけをします。
設計の流れそのものは「チップはどうやって設計する?」に書きました。ここでは、各段階でどんな種類のソフトを使い、それが人の代わりに何をしているのかを見ていきます。
なぜ手で描けないのか
ずっと昔、チップのトランジスタは数千個で、図は本当に人が手で描いていました。1970年代ごろ、トランジスタが多くなって描ききれなくなり、コンピューターで自動的に配置や配線をするソフトが現れました。
いまのスマートフォンのチップには、100億個以上のトランジスタがあります。仮に100億個として、1秒に1個、寝ず食べずで描いても、300年以上かかります。描いたあとには、線どうしが近すぎないか、信号が間に合うかのチェックも必要で、人の手ではとてもチェックしきれません。
ソフトが自分でチップを設計するの?
いいえ。チップに何をさせるか、どれだけ速く、どれだけ省電力にするかは、人が決めます。エンジニアがソフトに目標を伝えます。たとえば「1拍にかけてよい時間はここまで」(チップの回路は、クロックという一定のリズムに合わせて動きます)。ソフトはその制約の中でやり方を探し、レポートを返します。通らないところがあれば、エンジニアが理由を読み取って直し、もう一度流します。
計算がとても得意な助手のようなものです。速くて疲れませんが、そのチップが何に使われるのかは知りません。
設計の各段階では、どんなソフトを使う?
最初の図の1番目の仕様は、人が決めます。ここでは動きを書くところから数え、「チェック」を2つに分け、最後にマスクをつくる前の補正を加えます。
第1段階:動きを書く(ハードウェア記述言語)
エンジニアは、回路のすることをハードウェア記述言語(HDL)で文字にします。文字で書くのは、「1拍ごとにこの2つの数を足す」なら1行で済むのに、トランジスタで描くとかなりの広さになるからです。書き間違えると、あとのソフトはその間違いのとおりにつくってしまうので、次の段階で検証します。
第2段階:シミュレーションと検証(シミュレーター)
シミュレーターは、回路がもうできているものとしてコンピューター上で動かし、いろいろな入力を与えて、出力が仕様どおりかを見ます。コンピューターなら1行直してすぐ試せますが、本当にチップをつくるには何か月もかかります。間違いがテープアウトまで残ると、設計を直してマスクをつくり直すことになります(「チップの検証とは?」へ)。
第3段階:論理ゲートに合成する(論理合成ツール)
論理合成ツールは、書かれた動きを、論理ゲートをつないだ回路に翻訳します(「論理ゲートとは?」へ)。使うのは標準セルライブラリで、そのプロセス用にあらかじめつくった部品の集まりです。論理ゲートのほか、0か1を覚えておく小さな回路(フリップフロップなど)もあります。部品ごとの速さや消費電力は、回路シミュレーションで前もって計算し、表にしてあります。同じことをするつなぎ方はたくさんあるので、ソフトは表を引いて比べ、速さ、面積、電力のバランスが目標に合うものを選びます。手でつなぐのでは、つなぎきれず、どれがよいかも比べられません。
第4段階:配置配線(配置配線ツール)
このソフトは、論理ゲートをチップの上に並べ、クロックをチップのすみずみまで届け、何層もの配線層の中に線を通して、層ごとの図形をつくります。これをレイアウトと呼びます。並べ方は大事で、線が長いほど信号は遅くなり、電力も多く使います。うまく並べないと、線が通りきらなかったり信号が間に合わなかったりして、やり直しになります。
第5段階:タイミングと電力のチェック(タイミング解析、電力解析)
まずレイアウトから、1本1本の線の抵抗と容量を計算します。次にタイミング解析で、すべての経路のいちばん遅い場合を確かめます。1拍ごとに、信号は次の拍までに着かなければならないからです。入力を1つずつ与える必要はなく、すべての経路をまとめて計算し、速め・遅めのコーナーや、温度の高い・低いなど、条件ごとにもう一度計算します。電力解析では、チップがどれだけ電力を使うか、電源の線で電圧が下がりすぎないかを計算します。下がりすぎると、回路が遅くなったり、間違えたりします。
第6段階:つくれるか、描き間違いはないか(ルールチェック、LVS)
ルールチェックのソフトは、レイアウトのすべての図形を、工場の設計ルールと1つずつ照らし合わせます。たとえば2本の線をどこまで近づけてよいか。もう1つのソフトはレイアウトから回路を読み取り、元の回路と比べます(LVS)。図形は人が見きれる数ではなく、チップ全体を照らし合わせられるのはソフトだけです。ルールを破るとショートや断線のもとになり、つなぎ間違いが1か所あれば、チップは設計どおりに動きません。
第7段階:テープアウト(レイアウトのデータを渡す)
すべて通ったら、各層の図形をデータにして工場に渡します。これがテープアウトです(「テープアウトとは?」へ)。マスク工場がこのデータからマスクをつくるので、テープアウトのあとで設計を変えるには、マスクのつくり直しが必要です。
第8段階:マスクをつくる前の補正(OPC)
データがマスクをつくる側に渡ると、別の種類のソフトで、いちばん細かい層の図形をわざと描き変えます。これが光近接効果補正です(「OPC(光近接効果補正)とは?」へ)。チップの線は、露光に使う光の波長より細いので、元の図のまま焼きつけると、角が丸くなり、線の端が縮みます。補正しないと、焼きつけた線がつながらないことがあります。
実際には、1つの段階を直すと、そのあとのチェックをやり直すことになり、何度も行き来します。
工場のルールは、どうやって設計ソフトに入る?
設計ソフトは、ある工場のあるプロセスがどこまで細かくつくれるかを、それだけでは知りません。工場がそれをファイル一式にまとめて、設計する人に渡します。PDK(プロセス・デザイン・キット)と呼ばれ、ソフトのための説明書のようなものです。
- 設計ルールと、チェック用のルールファイル:第6段階のルールチェックのソフトが使います。
- トランジスタのモデル:電圧をかけるとどれだけ電流が流れるかを表す数式で、シミュレーターが使います。ふつう中央の値と、速め・遅めのコーナーがいくつか入っています。
- 層のデータ:配線層が何層あり、それぞれどれだけ厚いか。配置配線と、抵抗や容量の計算に使います。
- 標準セルライブラリ:入っていることもあれば、別の誰かがそのプロセス用につくることもあります。
モデルは、工場が実際につくったテスト用の構造を測り、数式を合わせ込んでつくります。モデルがずれていれば、ソフトがどれだけ丁寧に計算しても、できたチップは計算と合いません。
なぜたくさんのコンピューターが必要?
- ものが多い:トランジスタは100億個以上。線の1本1本まで計算に入れます。
- 条件が多い:速め・遅め、高温・低温、電圧の高い・低い。組み合わせごとに計算します。
- 1つ直すと計算し直し:1か所変えると、タイミングやルールのチェックをやり直すことがよくあります。
だからチップを設計するところには、こうしたソフトを動かすためのコンピューターがたくさんあり、1つの仕事を何台にも分けて計算します。トランジスタ1つ1つまで計算する回路シミュレーションは、いちばん正確で、いちばん遅いので、主に小さな回路に使います。チップ全体は、表を引くやり方で計算しないと終わりません。
アナログ回路もソフトが自動で描く?
多くはそうではありません。デジタル回路は高さのそろった部品に分けて、ソフトに並べさせられます。アナログ回路は、音や電圧のように連続して変わる信号を扱い(「アナログ半導体とデジタル半導体は何が違う?」へ)、トランジスタ1つ1つの大きさや置き場所が結果に響きます。
そのためアナログ回路では、主に図を描くタイプのソフトを使います。エンジニアが回路図を描き、回路シミュレーションで何度も調整します。レイアウトも、図形を1つずつ手で描くことが多いです。描いたあとは、やはりルールチェックとLVSを通します。自動で描くツールも進歩していますが、まだ経験に頼るところが大きい分野です。
fab24hrでは
ゲームでは、チップを設計する人として遊ぶことはできません。メインストーリー「チップの一生」は、テープアウトのあとから始まります。プロローグ「テープアウト」で、補聴器用チップ「Glowmere」の設計が半導体工場に渡り、フォトマスク一式になります。
第1章「12枚をどう分ける」では、あなたは開発ラインの開発インテグレーションエンジニアです。ソフトが計算するところは、ゲームには出てきません。この章では、最初の12枚のうちどれをわざと速め・遅めにつくるかを決めます。設計のときモデルで計算したコーナーを本当につくって、設計が持ちこたえるかを見ます。第10章「待機電流」は後工程工場が舞台です。テストプログラムの上限は、設計のシミュレーションで決めた第1版で、ウェーハの外周のリングのチップが、ちょうど上限のあたりにかかっています。計算と、本当にできたものは、いつも同じとは限りません。
ゲームの会社、チップ、人物、数字は架空のものです。EDAが何をしているかは、公開されている一般的な資料をもとに書いていて、やり方は会社ごとに違います。ほかの用語は「半導体工場の業界用語を、やさしく解説」へ。
ゲームのどこで出会うかゲームに設計ソフトは出てきません。メインストーリー「チップの一生」第1章「12枚をどう分ける」では、開発ラインで、最初の12枚のうちどれをわざと速め・遅めにつくるか(コーナー)を決め、設計が持ちこたえるかを見ます。第10章「待機電流」では、テストプログラムの上限が、設計のシミュレーションで決めた第1版です。
fab24hrのメインストーリー「チップの一生」では、設計はもうコンピューターで計算され、テープアウトしています。あなたは開発ラインで、本当にできたチップが持ちこたえるかを確かめます。
第1章から:設計で計算したコーナーを、本当につくる先生へ:この記事は「授業でfab24hrを遊ぶ」と組み合わせて授業で使えます。
この記事を引用する「EDAとは? チップを設計するソフトは、各段階で何をしている?」fab24hr、更新。https://fab24hr.com/ja/blog/what-is-eda/
授業や非営利の目的なら無料で使えます。投影、プリントへの掲載、生徒への配布もかまいません。fab24hrと明記してください。販売することや、自分の作品として使うことはできません。 誤りを見つけたら報告
ほかの記事
チップの検証とは? テープアウトの前に、設計が正しいとどう確かめる?
テープアウトとは? チップの設計を渡したあと、何が起きるのか
裏面電源供給とは? チップの電源配線を、なぜウェーハの裏側に移すのか
メモリの壁とは? チップの計算は速いのに、データが追いつかない理由
このサイトのほかのページ
- fab24hrとは?:2つの遊び方、4つのシフト、よくある質問、参考にした資料
- チップの一生:1個のチップの一生:テープアウト、試作、量産、ウェーハテスト、パッケージ、出荷、それぞれの段階でしていること
- 半導体工場エンジニアの一日:PE・EE・PIE・製造部の役割分担と、一日のタイムライン
- 半導体工場には誰がいる:技術員、製造部、プロセス、装置、ファシリティ、インテグレーション、品質保証、生産管理、マスク、開発、課長、メーカー、後工程のテストと組立:それぞれの一日
- 半導体工場の業界用語を、やさしく解説:MO、ホールド、Qタイム、OCAPなどの業界用語を、ひとことでやさしく
- 半導体入門講座:チップの一生をたどる:半導体入門講座:チップの一生をたどる図解ノート、スライド、必読記事、3D装置、考える問い。独学にも授業にも
- 半導体工場の装置を、分解して見る:31種類の半導体製造装置(エッチング、露光装置、CMP、拡散炉、後工程…)が何をしているか。どれも3Dモデルで分解して見られます
- 授業でfab24hrを遊ぶ:半導体の授業・教材:20/40分の流れ、1章1コマと1エリア1コマ(3D装置・ゲーム・記事)、話し合いのテーマ、ワークシート、よくある質問
- 紹介とメディア素材:プロモーション動画、ゲーム画面、紹介文と基本情報