このページの本文へ

ロードマップでわかる!当世プロセッサー事情 第229回

SoC技術論 ICをカスタマイズするメリットとリスク

2013年11月18日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/

  • この記事をはてなブックマークに追加
  • 本文印刷

特定用途向けの専用IC
ASIC(Application Specific IC)

 さて、話を専用品に絞る。この専用品は通常ASIC(Application Specific IC:特定用途向けIC)と称されるが、このASICはいくつかに分類される。まず大分類にあたるのが、ASSP/USIC/PLDの3つである。ここで以下のようになる。

  • ASSP(Application Specific Standard Product:特定用途向け標準製品)
  • USIC(User Specific IC:ユーザー用途向けIC)
  • PLD(Programmable Logic Device)

 まずASSP、「『特定用途』向けの『標準製品』」ってなんだ? と疑問が出そうだが、例えば3G携帯電話向けモデムのように汎用品ではない、つまり特定の処理に特化しているが、すでに一般化していて差別の対象にならないものである。

 似たようなものにはBD-ROMの読み取り装置や光モデム向けのトランシーバーなど、要するに「普通に装備されていて当然」「そこで差別化云々の話は出ない」機能を実現するためのICである。

 こうしたものは通常ICメーカーが独自に企画・設計・製造を行なって販売する。代表例は、Broadcomが販売する携帯電話向けのWi-Fi/Bluetooth用の無線チップや、Qualcommが販売する3/3.5/4G向けモデムチップなどである。機器メーカーはここで差別化するというよりも、これを組み込むことで「あるべき機能は当然搭載しています」と言えるようになるわけだ。

 1つ飛ばして次がPLD。これはハードウェアの回路そのものをソフトウェア的に定義できるというものである。メリットは、前回説明したSoCの開発行程の中で、物理設計以降が全部不要になることだ。つまり最初に論理設計をした後、その論理設計が終わったデータをPLDの中に流し込むことで、そのまま回路が動作するようになる。

 もちろん新規に回路を起こすというケースでは、物理設計を省いてもせいぜい1年減るだけであるが、ある程度IPを使って論理設計の大きな部分が終わっている段階では、PLDを使うことで開発期間を劇的に短縮できる。また物理製造以降が全部必要ないというのは、マスクのコストも要らないわけで、これは開発コスト低減にも効果的である。

ASICの分類

 ちなみにPLDに属するものとして、小規模なPLDがある。PAL(Programmable Array Logic)あるいはGAL(Generic Array Logic)と呼ばれるものだが、このGALに関しては一時期AMDが大手サプライヤーの1社だった。その後AMDはこの部門を売却、最終的にLattice Semiconductorが買収したというのはあまり知られていない話である。

 このPALとGALは、せいぜい20ゲート程度の小規模なものである。これをもう少し大きくしたのがCPLD(Complex Programmable Logic Device)と呼ばれるもので、回路は数千~1万ゲート程度まで増えている。

 これをさらに拡張して数百万ゲートの規模まできているのがFPGA(Field-Programmable Gate Array)である。このあたりの話をし始めると激しく脱線するので、今回は割愛する。

USICをセミカスタムする方式のひとつ
Gate array

 ASSPでもFPGAでもないものが、狭義のASICである。これはUSIC(User Specific IC)という用語があるが、あまり一般的ではない。名前の通り、ユーザー(この場合はIC設計者)の意図した独自の製品を指す。

 このUSICも、セミカスタムとフルカスタムの2種類がある。セミカスタムはGate array、Cell base、Analog Master sliceといったものがあるが、これらは用途別というよりは構成別である。

 まず最初にGate arrayの話をしておこう。これは複数の論理部品になれる塊(Gate)をアレイ状に並べ、間を配線でつなぐという方式だ。

Gate arrayの仕組み

 部品の塊というのは基本的な論理部品に加えて、カウンターだったりラッチだったりデコーダだったり、さらにもっと複雑な部品が用意されている場合もある。このあたりはそのASICサービスを提供するファウンダリーによって変わってくる。

 Gateはあくまで複数ある部品の「どれか1つ」になれるので、例え2つのカウンターが必要な場合はGate 1とGate 2にそれぞれカウンターを割りあてることになる。このゲート同士はそれぞれ配線で接続されており、その配線を有効にする/しないを個別に設定できる。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン