CPLD/FPGAは,開発期間の短縮や固定コストの削減が要求されるシステム開発において,とても重要な役割を果たすデバイスであり,ユーザーが自分でLSIに機能を書き込めるという大きな特徴をもつ.本章では,CPLD/FPGAについて,どのような種類があるのか,得意な回路/不得意な回路があるのか,開発手順はどうなるかといった疑問に答えるべく,ていねいに解説を行う. (編集部)
1 CPLD/FPGAの基礎
はじめに

 FPGA(Field Programmable Gate Array)とCPLD(Complex Programmable Logic Device)は,ユーザーが設計した任意のロジック回路を1個のLSI上に実現できるデバイスです.しかも,ゲートアレイやセルベースICのようにメーカーに発注して作ってもらうのではなく,ユーザープログラマブル(ユーザー自身が手元でLSIに機能を書き込める)という大きな特徴をもっています.

 ゲートアレイやセルベースICなどのセミカスタムICの場合,

(1)論理設計が終わってからデバイスが手元に届くまでのTAT(Turn Around Time)が長い
(2)開発の固定コストが高い
(3)単品種を大量に発注しなければならない

などの問題があります.開発期間の短縮や固定コスト削減が常に求められているシステム設計者にとって,FPGAやCPLDは欠かすことのできない重要な存在です.

 1985年に,最初のFPGA製品が登場したとき,集積度は2000ゲート足らずでした.セミカスタムLSIに比べて集積度は1桁低く,FPGAやCPLDの便利さは認められても実際の用途は限定されてしまいました.

 しかしその後,集積度は急速に増大し,現在では1000万ゲートにおよぶ大規模な製品も発表されています.さらに,メモリやPCI,LVDSなどの高速I/Oもチップ上に搭載され,プログラマブルデバイス上でシステムを構築するSoPC(System on a Programmable Chip)という言葉も使われるようになりました.

 このようなユーザープログラマブルなロジックLSIは,全体としてPLD(Programmable Logic Device)と呼ばれます(図1).FPGAとCPLDは,PLDの中ではもっとも集積度が高く,大規模ロジックに適していることから,現在のPLDの主流になっています.

〔図1〕PLDとカスタムIC

 一方,PALやGALなど,FPGAやCPLDが登場するより前から使われてきた小規模で単純な構造をもつPLDもあります.このような小規模なPLDは,現在では総称してSPLD(Simple PLD)と呼ばれています.

 FPGAとCPLDは,もともとはアーキテクチャに明らかな違いがありましたが,最近ではその違いもあいまいになっています.

 FPGAはその名のとおり,ゲートアレイと類似したデバイスで,ユーザープログラマブルなものを作ることを目標にSPLDとは違った発想で作られた大規模PLDです.基本ゲートやFFのようなごく小規模な論理セルを単位として,多数の論理セルを自由に接続することによって任意のロジック回路を実現します.

 一方,CPLDは,SPLDから発展してきた大規模PLDです.複数のSPLDを1パッケージに収めたような構造をしているので,複合(Complex)PLDと呼ばれます.SPLD相当の論理ブロックで中程度の規模のロジックを実現し,さらにそれを組み合わせて任意のロジック回路を実現します.

 しかし,1990年代中頃以降,セミカスタムICの主流はゲートアレイではなく,よりシステムLSIに適したセルベースICに移行しています.それを追いかけるように,FPGAやCPLDもそれぞれアーキテクチャを拡張し,ハイエンド製品を中心にシステム指向の構造に変わってきています.


Prologue システム設計のアプローチ
 ハードウェア/ソフトウェア設計からシステム設計へ
 システム規模の巨大化...
 異なる二つの方法でディジタル時計を実現...

1 システム開発における必須知識 CPLD/FPGAの基礎
  はじめに
  FPGA,CPLDの構造と特徴


11月号特集トップページへ戻る


Copyright 2001 宮崎 仁