働きを形にする:チップの設計の流れ

公開日:

このページの目次
  1. 非常に多くのトランジスタを、どう設計するか
  2. 何をするチップかを決める
  3. 働きを、言葉で書く
  4. 論理ゲートの組み合わせに直す
  5. 置き場所と、つなぎ方を決める
  6. 確かめることが、設計の大きな部分を占める
  7. 製造に使う図面のデータへ
  8. 設計の部品を使う
  9. このページのまとめ
  10. 関係する工程と用語
  11. 次に読む
  12. 理解度チェック

チップが、どんな働きをするかを決める段階から、論理ゲートの組み合わせに直し、配置と配線を決めて、製造に使う図面のデータにするまでの設計の流れを説明する。設計を確かめる作業の重さと、設計の道具や設計の部品の役割を扱う。

チップの設計の流れ(模式図)

  1. 仕様を決める働きを言葉で書く論理ゲートに直す配置と配線図面のデータ各段階で確かめる設計の流れ大まかな働きから、細かい形へと進む
  2. 配置と配線つながりの多い部品は、近くに置く
図:左は、設計の流れ。仕様を決め、働きを専用の言葉で書き、設計の道具で論理ゲートの組み合わせに直し、配置と配線を決めて、製造に使う図面のデータにする。各段階で、正しく動くか、決まりを守っているかを確かめる(点線)。右は、配置と配線のイメージ。論理ゲートの部品(四角)を置き、その間を配線(線)でつなぐ。模式図、本サイトで作成

非常に多くのトランジスタを、どう設計するか

前のページまでで、トランジスタから論理ゲート、論理ゲートからプロセッサーへと、回路が組み上がる仕組みを学んだ。今のチップには、非常に多くのトランジスタが入っている。それを、人が一つずつ手で並べて設計することはできない。

そこで、チップの設計は、大まかな働きを決める段階から、細かい形を決める段階へと、何段階にも分けて進める。各段階では、設計を自動で行い、確かめるソフトウェアの道具(EDA)が使われる。このページでは、その流れを見ていく。

何をするチップかを決める

最初に、チップが何をするのかを決める。どんな計算をするか、どれくらいの速さで動くか、どれくらいの電力に抑えるか、どれくらいの大きさにするか、といった目標である。これを「仕様」と呼ぶ。

次に、仕様を満たすために、チップをどのような部分に分けるかを考える。計算の部分、記憶の部分、外とやり取りする部分などをどう組み合わせ、どうつなぐかを決める。建物でいえば、どんな部屋をいくつ作り、どう並べるかを決める段階である。

働きを、言葉で書く

各部分の働きは、回路の働きを書き表すための専用の言葉(ハードウェアを記述する言語)で書く。プログラムを書くのと似ているが、書く内容は、信号がどの順番で、どう変わるかという回路の動きである。

たとえば、「クロックが切り替わるたびに、この値とこの値を足して、結果をここに覚える」といった動きを書く。この段階では、まだトランジスタや論理ゲートは出てこない。

論理ゲートの組み合わせに直す

言葉で書いた回路の働きを、論理ゲートと記憶の回路の組み合わせに直す。この作業は、設計の道具が自動で行う。働きを満たしながら、速さ、電力、面積の目標に合うような組み合わせを、道具が探す。

このとき使う論理ゲートや記憶の回路は、製造の技術ごとに、あらかじめ形と性質を決めて用意された部品の中から選ばれる。この部品の集まりを、部品の一覧(セルの一覧)として、製造を受け持つ側が用意することが多い。

置き場所と、つなぎ方を決める

次に、選んだ論理ゲートの部品を、チップの上のどこに置くかを決める。これを「配置」と呼ぶ。つながりの多い部品どうしは近くに置き、信号が遠くまで行かなくて済むようにする。

部品を置いたら、それらをつなぐ配線の道筋を、何層もの配線の層を使って決める。これを「配線」と呼ぶ。配置と配線も、設計の道具が自動で行うが、非常に多くの部品と配線を扱うので、計算に長い時間がかかることもある。

配置と配線が決まると、信号が配線を通るのにかかる時間が分かる。クロックの間隔のうちに信号が届くか、電力が多くなりすぎないか、熱がこもる場所がないかを確かめ、問題があれば、配置や配線をやり直す。

確かめることが、設計の大きな部分を占める

チップは、一度作ってしまうと、中の回路を直せない。作り直すには、時間も費用も大きくかかる。そのため、製造の前に、設計が正しいかを徹底して確かめる。

まず、言葉で書いた段階で、回路が正しく動くかを、計算機の上で動かして確かめる。入力の組み合わせは非常に多く、すべてを試すことはできないので、大事な動きや、間違いが起きやすい場面を重点的に試す。数学的な方法で、二つの設計が同じ働きをすることを確かめる方法もある。

配置と配線の後には、図面が製造の決まり(線の幅や間隔の決まり)を守っているか、図面から取り出した回路が、もとの論理ゲートの組み合わせと一致しているかを確かめる。

こうした確かめる作業は、設計の作業の中で大きな部分を占める。

製造に使う図面のデータへ

すべての確認が終わると、各層の形を表す図面のデータができあがる。このデータは、製造の側に渡され、リソグラフィで使うフォトマスクを作るのに使われる。設計のデータを製造の側に渡すことを、設計の区切りとして特別な言葉で呼ぶこともある。

フォトマスクを作るときには、光で写したときに形がくずれることを見越して、図面の形をあらかじめ補正する作業も行われる。

設計の部品を使う

一つのチップのすべてを、一から設計するわけではない。よく使う回路のまとまり(プロセッサーのコア、外とやり取りする回路、メモリの回路など)は、それを専門に設計する会社から、設計の部品として買って使うことも多い。分野「業界の構造と企業」で学んだ「設計の部品」である。

設計の部品と、自社で設計した部分を組み合わせることで、設計にかかる時間を短くし、自社の得意な部分に力を注げる。

このページのまとめ

チップの設計は、仕様を決め、部分に分け、各部分の働きを専用の言葉で書くところから始まる。設計の道具が、それを論理ゲートの組み合わせに直し、配置と配線を決める。設計の各段階で、正しく動くか、製造の決まりを守っているかを徹底して確かめる。できあがった図面のデータは、フォトマスクを作るのに使われる。よく使う回路は、設計の部品として買って使うことも多い。

理解度チェック

本文の内容から答えられる問いです。答えを選ぶと、正しいかどうかと解説が出ます。

問1

選んだ論理ゲートの部品を、チップの上のどこに置くかを決める作業を何と呼ぶか。

答えと解説を見る

答え:1. 配置

部品をチップの上のどこに置くかを決める作業を配置と呼ぶ。その後、部品どうしをつなぐ配線の道筋を決める。

問2

チップの設計で、製造の前に設計が正しいかを徹底して確かめる理由として、正しいものはどれか。

答えと解説を見る

答え:1. チップは一度作ると中の回路を直せず、作り直すには時間も費用も大きくかかるから

作ってしまったチップの回路は直せない。作り直しには大きな時間と費用がかかるので、計算機の上で動かしたり、図面を決まりと照らし合わせたりして、製造の前に確かめる。

問3

設計の最後にできあがる、各層の形を表す図面のデータは、何に使われるか。

答えと解説を見る

答え:1. リソグラフィで使うフォトマスクを作るのに使われる

図面のデータは製造の側に渡され、リソグラフィで回路の形を写すためのフォトマスクを作るのに使われる。