コンテンツにスキップ

EDAとは

EDA(Electronic Design Automation)とは、半導体と電子回路を自動的に設計するための計算機支援のプロセスです。 EDAはこの目的のために設計された専用のツール(ハードウェアとソフトウェア)も指します1。

数十億個のトランジスタの配置と配線は人手が追いつかない量で、計算機が探します。EDAが扱える範囲が、設計できる製品の範囲を決めます。

素子の数が倍々で増え、人手の配置と配線が追いつかなくなった

Section titled “素子の数が倍々で増え、人手の配置と配線が追いつかなくなった”

ムーアの法則は、大規模集積回路のトランジスタ数がおよそ18か月ごとに倍になるという経験則です2。倍々で増えるのは作れる素子の数で、設計する側の人数ははるかに緩やかな速度で増えます。この差が広がると、どこかで人手が追いつかなくなります。数十億個のトランジスタについて1つずつ配置を決め、1本ずつ配線を引く量は、計算機の速度でこなす仕事です。

EDAは、この作業を計算機へ渡します。人が与えるのは、何を作るかという記述と、目標の性能、許せる面積、消費電力の上限、製造上の規則という守るべき条件です。これらを満たす配置と配線の組み合わせを、計算機が探します。

増える速度が異なる2つ
時間素子の数設計する人の数この差が、人手で扱える限界を超えました人が与えるもの何を作るかの記述性能・面積・消費電力・製造上の規則計算機が探すものどの回路をどこへ配置するかどう結べば条件を満たすか
素子の数は倍々で増えますが、設計する人の数ははるかに緩やかな速度で増えます。人は何を作るかと条件を与え、それを満たす配置と配線を計算機が探します。

設計は抽象度を1段ずつ降り、RTLから下はほとんどEDAが実行する

Section titled “設計は抽象度を1段ずつ降り、RTLから下はほとんどEDAが実行する”

集積回路の設計工程は、抽象的なCレベル言語での表現から、RTL(Register Transfer Level)、ゲートレベル、Trレベル、レイアウトレベルへとトップダウン的に具体化されます3。最初にあるのは動作を書いた文章に近いもので、最後に出てくるのはシリコンへ焼き付ける図形です。EDAの仕事は、この2つの間を1段ずつ降りることです。

RTLは、回路をレジスタとレジスタの間の動きとして書いた記述です。ゲートレベルは、NANDやNORといった基本ゲートとその結線の一覧(ネットリスト)です。Trレベルはトランジスタの組み合わせ、レイアウトレベルは層ごとの図形です。RTL以下の設計工程のほとんどは、EDAというコンピュータのソフトウェアプログラムで実行されています。何を作るかという判断は人の側へ残り、それをシリコンの図形へ降ろす作業が計算機の側へ来ます。

IC設計工程は、論理設計、論理合成、回路設計、レイアウト設計、配置・配線、機能動作シミュレーション、マスクデータ変換出力という順で進み4、これらの自動化作業に必要な設計ソフトウエアをEDAツールと呼びます。工程ごとに使うEDA技術は5、機能設計ではハードウェア記述言語(HDL)と機能レベルシミュレーションです。論理回路設計では論理合成、論理シミュレーション、故障シミュレーション、テスト容易化設計を使います。レイアウト設計では自動配置配線、物理合成、シグナルインテグリティ対応、セルコンパイラ、そしてDRC(Design Rule Check)を使います。レイアウト設計は、ゲート回路をICとしてシリコン上に実現するために、個々の素子を配置し、素子間を配線で結んだ回路パターンを作成する工程です。

抽象度を1段ずつ降りる
設計データEDAが行う変換その段で検証するもの動作の記述(C言語・HDL)動作合成機能シミュレータで検証RTL(レジスタ間の動き)論理合成論理シミュレータとSTAゲートレベルのネットリスト自動配置配線RC抽出でタイミングと電力レイアウト(層ごとの図形)DRC(設計ルール検証)製造の寸法条件に合うかマスクデータRTLから下の工程は、ほとんどがEDAで実行されます
EDAは、動作の記述からマスクデータまで、抽象度を1段ずつ降ろす変換の連なりです。段ごとに、変換するツールと、出てきたものを測る手立てが対になります。

各段で速さ・面積・電力を測り、レイアウトで工場の規則が入る

Section titled “各段で速さ・面積・電力を測り、レイアウトで工場の規則が入る”

変換のたびに、出てきたものが条件を満たすかを、速さ、面積、電力の3つで測ります。論理設計の段では、RTLを論理合成ツールでゲートレベルのネットリストへ変換し、このとき性能、面積、消費電力のトレードオフを行います3。結果はスタティックタイミング解析ツール(STA)や論理シミュレータで検証します。速くしようとすれば面積と消費電力が増え、面積を詰めれば速さが落ちます。人が与える条件とは、この3つのどこを取るかという指示です。

レイアウト設計の段では、レイアウト結果からRC抽出を行い、タイミング、パワー、DR基準を検証します。RC抽出は、出来上がった配線が持つ抵抗(R)と容量(C)を図形から拾い上げる作業です。配線が長いほど信号は遅れるため、最終の速さが確からしくなるのは、実際の図形が出たあとです。

DR(デザインルール)の検証では、ゲートや配線が製造条件から決められる設計ルール通りに配置されているかを確かめたうえで、マスク作成用のデータ(マスクデータ)に変換します5。設計ルールを定めるのは製造の側で、その通りかを測るのが設計の側です。この検査をDRCと呼びます。RTLの段階は実現する半導体のデザインルールとは独立で、上流は工場から独立しています。レイアウトへ降りたところで、工場の寸法条件が入ってきます。

作ったあとの検査に使う回路も、設計の段で組み込む

Section titled “作ったあとの検査に使う回路も、設計の段で組み込む”

レイアウト設計工程で製造欠陥を自動検出する回路上の仕組みを設計することを、テスト設計と呼びます3。ロジックの0/1縮退を検出するスキャン回路や、メモリのビット誤りを検出するBIST(Built In Self Test)回路がその例で、ATPG(Auto Test Pattern Generator)で製造欠陥を検出するテストパターンを生成します。

机上で行う検証と、出来上がったチップをテスタにかける検査は、別の作業です。EDAは前者を実行し、後者のための回路とテストパターンを設計の段で用意します。

誤りがシリコンに残ると、マスクのセットごと作り直しになる

Section titled “誤りがシリコンに残ると、マスクのセットごと作り直しになる”

すべての工程で検証作業やシミュレーションを行うのは、シリコンに回路を焼き付けてしまった後にミスがあると、IC全てが不良品となり作り直しになるからです4。ソフトウェアの誤りは配り直せば直りますが、チップの誤りは焼き付けた物そのものへ刻まれます。設計をやり直し、フォトマスクを作り直し、もう一度ウェーハを流す。この繰り返しをリスピンと呼びます。

やり直しの規模は、マスクの枚数で見当がつきます。ICのソース-ドレイン層や配線層ごとに1枚のマスクを使うため、通常、一つのICを作るのに10〜30枚程度のマスクが必要になります6。層ごとに1枚という数え方なので、作り直しはセット単位になります。製造マスクセットの価格は急激に高くなってきているので、EDA技術の進歩によるリスピン回避は必須な状況にあります3。

時間の側も同じです。一連の設計作業には2〜3年かかることが多く4、やり直しは、その2〜3年のうちの一部をもう一度使うことを意味します。だから、設計期間を短く、設計品質を向上させるには、設計のできるだけ早い段階(上流段階)で検証を行い、設計の繰り返し(イタレーション)を少なくすることが重要です5。

道具が扱える範囲が、設計できる製品の範囲を決める

Section titled “道具が扱える範囲が、設計できる製品の範囲を決める”

EDAは、設計を助ける脇役に映ります。実際には、作れるものの範囲そのものを決めています。EDAが扱える規模の回路だけが、設計として成り立ちます。工場で作れるようになった構造も、それを扱えるEDAが揃って初めて設計へ落とせます。新しいデバイス構造が実用化されるとき、それを扱えるEDAが揃っていることが前提条件になります。

製造と設計の両方が揃って、製品になります
製造と設計は別の条件です製造の範囲内製造の範囲外設計の範囲内設計の範囲外製品になります両方が揃いました製造の目処が要ります製造できても設計する道具が要ります両方の目処が要ります道具が扱える規模の内側だけが設計として成り立ちます道具が知っている構造も同じです新しい構造が実用化されるときそれを扱えるEDAが揃うことが前提条件になります
製造できることと、設計に落とせることは別の条件です。道具が扱える規模と知っている構造の内側でだけ設計が成り立つため、両方が揃ってはじめて製品になります。

GAAのような新しいトランジスタ構造でも、先進パッケージングのような複数チップの構成でも同じです。微細化が進むほど、工場の事情が設計の道具の中へ入ってきます。最近の超微細化技術に伴って考慮すべき製造上の課題を、設計段階でカバーする設計技術(DFM: Design For Manufacturability)を取り込む必要が出てきています3。

EDAはCADの一種で、PDKや半導体IPとは出どころが異なる

Section titled “EDAはCADの一種で、PDKや半導体IPとは出どころが異なる”

EDAは、CAD(Computer Aided Design)の一種で、コンピュータ上で設計・検証できるソフトウェアです5。CADは計算機で設計する道具の総称で、EDAはそのうち電子回路と半導体へ向けたものです。

EDAツールとPDKと半導体IPは、3つとも設計の現場に並びますが、出どころと中身が異なります。EDAツールは、変換と検証を行うソフトウェアです。PDKは、ファウンドリから設計側へ渡る設計情報ファイル一式で、その工場の設計ルールやデバイスモデルが入っています。半導体IPは、CPUやメモリといった機能ブロックの設計情報そのものです。道具と、工場の条件と、部品。この3つが揃って設計が動きます。

ツール1本と設計環境も別物です。集積回路の設計環境は、各設計工程に必要な各種設計・検証・解析・最適化ツール、ライブラリ情報、回路の結線情報、及び各工程で生成される各種設計情報などを一元管理する設計データベースなどから構成されます3。工程ごとのツールに加えて、ライブラリと設計データベースが揃ってはじめて、設計環境と呼べるものになります。

製造の条件は、設計の早い段階ですり合わせる

Section titled “製造の条件は、設計の早い段階ですり合わせる”

Design Inは、最適な半導体製品の設計を確実にするためのメーカーとユーザーの早期の協力です1。設計が固まってから製造の都合を知ると、やり直しになります。逆に、製造できる範囲を知らずに設計すれば、工場で作れる形から外れた回路が出来上がります。

ASICのように顧客の要求へ合わせて作る製品では、この行き違いが直接の損失になります。早い段階から双方が条件を出し合う進め方が、結果として速く安く仕上がります。

EDAとは何ですか?

半導体と電子回路を自動的に設計するための計算機支援のプロセスです。この目的のために設計された専用のツール(ハードウェアとソフトウェア)も指します。

なぜ自動化が要るのですか?

1つのチップに載る素子の数が人手の限界を超えたためです。数十億個のトランジスタの配置と配線は、計算機が探します。

何を自動化するのですか?

動作の記述から実際の配置と配線へ落とす過程です。どの回路をどこへ置き、どう結ぶか。性能・面積・消費電力・製造上の規則という条件を満たす組み合わせを計算機が探します。

人は何をするのですか?

何を作るかの決定と、条件の設定です。目標の性能、許せる面積と消費電力、守るべき製造上の規則。これらを与えたうえで、出てきた配置と配線を測り、条件を調整します。

設計の道具が製品の範囲を定めるのですか?

定めます。EDAが扱える規模と構造の内側だけが、設計に落とせる範囲です。新しいデバイス構造が実用化されるとき、それを扱えるEDAが揃っていることが前提条件になります。

早い段階でのすり合わせは要りますか?

Design Inと呼ばれるすり合わせがあります。最適な半導体製品の設計を確実にするための、メーカーとユーザーの早期の協力です。

自動化はどの段からかかるのですか?

RTL以下の設計工程のほとんどが、EDAというコンピュータのソフトウェアプログラムで実行されています。何を作るかという判断は人の側へ残り、それをシリコンの図形へ降ろす作業が計算機の側へ来ます。

何を測りながら設計を進めるのですか?

論理合成のときに性能、面積、消費電力のトレードオフを行い、結果をスタティックタイミング解析ツール(STA)や論理シミュレータで検証します。レイアウトの後はRC抽出を行い、タイミング、パワー、デザインルール基準を検証します。

設計にはどれくらい時間がかかりますか?

論理設計からマスクデータ変換出力までの一連の設計作業に、2〜3年かかることが多いとされています。

設計のミスが最後まで残るとどうなりますか?

シリコンに回路を焼き付けてしまった後にミスがあると、IC全てが不良品となり作り直しになります。やり直しの起点は設計で、マスクを作り直してウェーハを流し直す繰り返しをリスピンと呼びます。

EDAとCADは同じものですか?

EDAはCAD(Computer Aided Design)の一種で、コンピュータ上で設計・検証できるソフトウェアです。CADは計算機で設計する道具の総称で、EDAはそのうち電子回路と半導体へ向けたものです。

EDAツールとPDKと半導体IPは、どこが異なりますか?

出どころと中身が異なります。EDAツールは変換と検証を行うソフトウェア、PDKはファウンドリから設計側へ渡る設計情報ファイル一式、半導体IPはCPUやメモリといった機能ブロックの設計情報そのものです。

  • ASICとは── 顧客の要求へ合わせて作る側
6件を表示
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6