組み込み機器・ハードウェアの設計開発から装置製作まで社内一貫対応!

組み込み機器・ハードウェア設計製作.com
組み込み機器・ハードウェア設計製作.com

produced by株式会社アイディアイ

技術情報・技術コラム

CPLDとは?CPLD入門、メリット・デメリットについて解説!

組み込みハードウェア1

本記事ではCPLDとは何かについて、わかりやすく解説します!
FPGAとの違いについてや、メリットデメリットについて詳しく解説します!

CPLDとは?何ができるのか

CPLD(Complex Programmable Logic Device)とは、FPGA同様に、製品の購入後にユーザーによるプログラムの書き換えが可能なICのことです。
CPLDはPLD(Programmable Logic Device)の一つです。

PLD(Programmable Logic Device)とは、直訳通り、ユーザー自身がプログラムの書き換えができるデバイスのことを言います。
PLDは開発のどの段階においても外部からプログラムの書き込みや消去が可能なため、開発途中での仕様変更やカスタマイズにも臨機応変に即時に対応できます。
PLDには、FPGACPLD、DSP、MPUなど様々な種類のICがあります。

どちらもPLDである、CPLDとFPGAですが、両者は何が違うのでしょうか。
詳しく解説致します。

CPLDとFPGAの違い

まず、FPGAについて解説します。
FPGA とは、「Field Programmable Gate Array」の表記通り、設計者が現場(Field)で論理回路の構成をプログラムできる(Programmable)論理回路(Gate)を集積したデバイスのことです。製造後は回路構成を変更できないLSI(集積回路)と違い、プログラムによりシステムの処理内容を書き換えられることからProgrammable(装置やソフトウェア、システムなどの動作を利用者が必要に応じて変更・自動化できること)と呼ばれます。
繰り返しになりますが、FPGAもCPLDと同様、PLD(Programmable Logic Device)の一つです。
FPGAについては、以下の記事で詳しく解説しております。こちらの記事も合わせてご覧くださいませ。

>>FPGAとは?メリット・デメリットについて解説!

では、両者の違いですが、大きく2つあります。

①ゲートの規模
②プログラミング素子

①ゲートの規模

CPLDとFPGAとの大きな違いの一つに「ゲートの規模」があります。
CPLDは数千ゲートほどの集積度になります。一方で、FPGAは数万ゲート以上もの巨大な規模を持つPLDです。
そのため、構成したい回路の集積度に応じて、CPLDとFPGAのどちらを用いるか検討します。

②プログラミング素子

もう一つのCPLDとFPGAとの大きな違いの一つに「プログラミング素子」があります。
CPLDはプログラミング素子に不揮発性メモリを使用しますが、FPGAはSRAM等の揮発性メモリを使用するという違いがあります。(※FPGAの中にも不揮発性メモリを用いる製品があります。)CPLDはチップ上の不揮発性のメモリでコンフィグレーション(設定)されています。そのため、電源をオフにしても、コンフィグレーションが失われることはありません。一方、FPGAは、揮発性メモリを使用しているため、電源オフのたびにデータが失われます。ですので、電源オンのたびに、外部のROMからデータをダウンロード(コンフィグレーション)する必要があります

一般的なFPGAは極めて柔軟性が高く、自由なデザイン設計を行えます。そのため複雑なデジタル回路設計に適しています。CPLDもFPGAには劣るものの、高度なプログラミングができ、FPGAと比べて低価格というメリットがあります。そのため回路規模等、使用条件に応じて、CPLDとFPGAのどちらを用いるべきかが変わってきます。

CPLDのメリット・デメリット

CPLDのメリット

・設計時間を大幅に短縮し、迅速な市場投入が可能です。
・不揮発性メモリを使用しているため、CPLD自体に直接データの書き込みができます。
・価格が比較的安価で、個人用途での使用も可能です。

CPLDのデメリット

・FPGAに比べ搭載できる回路規模が小さく複雑な論理回路の搭載には不向きです。

CPLDの使用例

CPLDは、開発途中での仕様変更やカスタマイズが可能であるため、開発がストップすることなく、スピーディーにかつ開発リスクを最小限に抑えながら製品開発ができます。また、消費電力の大幅な抑制やデバイスの小型化の実現が可能なため、多くのポータブル製品において用いられています。

また、数百ゲートを搭載したPAL(Programmable Array Logic)やGAL(Generic Array Logic)の代替品としても良く用いられます。

CPLDのメーカー

CPLDのメーカーには、Intel(旧Altera)、Lattice Semiconductor、MICROCHIPなどがあります。

Alteraは、世界で初めてPLDを販売した会社であり、現在もFPGAで最大手とされているベンダーです。
2015年にIntelは当時世界最大のFPGAメーカーであったAlteraを167億ドル(約1兆8000億円)で買収しております。

まとめ

いかがでしたでしょうか。
CPLDについてご理解いただけましたでしょうか。

組み込み機器・ハードウェア 設計製作.comを運営する株式会社アイディ・アイでは、CPLDを用いた組み込み機器の設計開発代行を得意としております。CPLDを用いた組み込み機器の開発及び、PALやGALなどからCPLDへの代替等のご相談はぜひ当社までお気軽にお申し付けくださいませ。
弊社担当よりお返事させて頂きます。

技術情報・技術コラム一覧に戻る

技術情報・技術コラム

ASICとFPGAの違いについて解説! | 組み込み機器・ハードウェア設計製作.com
  • 組み込みボード

ASICとFPGAの違いについて解説!

ASIC(エーシック)とは、ある特定の用途や分野のために使われる電子機器やシステムに搭載される、「大規模集積回路」の総称で、FPGA とは、Field Programmable Gate Arrayの文字通り、設計者がフィールド(現場)で論理回路の構成をプログラムできるゲート(論理回路)を集積したデバイスのことを指します。

当記事では ASICとFPGAについて、それぞれの違いも含めて詳しく説明しています。

組み込み機器とは?組み込み機器の例、構成、設計事例、IoTとの関係について解説! | 組み込み機器・ハードウェア設計製作.com
  • 組み込み機器

組み込み機器とは?組み込み機器の例、構成、設計事例、IoTとの関係について解説!

組み込み機器とは、コンピュータを埋め込み、ある特定の機能を実現したシステムを用いて作られた機器のことを言います。当記事では、組み込み機器とは?組み込み機器の例・構成・設計事例・IoTとの関係について詳しく解説します。組み込み機器の基礎知識を知りたい方に是非読んでいただきたい記事です!ぜひご覧下さいませ。

組み込みソフトウェアとは?搭載機器や開発の流れ、開発言語について解説! | 組み込み機器・ハードウェア設計製作.com
  • 組み込み機器
  • 組み込みボード

組み込みソフトウェアとは?搭載機器や開発の流れ、開発言語について解説!

組み込みソフトウェアとは、ある特定の機能を実現したシステムを用いて作られた機器に搭載され動作を制御するプログラムのことです。
この記事では、組み込みソフトウェアを搭載している機器の具体例、開発の流れ、そのプログラミング言語を解説しています。組み込みソフトウェアの基礎知識を知りたい方にぜひ読んでいただきたい記事です!ぜひご覧下さいませ。

 

組み込みハードウェアとは?組み込みハードウェアの種類・設計要素・設計のポイントを解説! | 組み込み機器・ハードウェア設計製作.com
  • 組み込みハードウェア

組み込みハードウェアとは?組み込みハードウェアの種類・設計要素・設計のポイントを解説!

組み込みハードウェアとは、「組み込み機器に使用される、特定用途に限定されたハードウェア」のことです。当記事では、組み込みハードウェアとは?組み込みハードウェアの種類・設計要素・設計のポイントについて詳しく解説します。組み込みハードウェアの基礎知識を知りたい方に是非読んでいただきたい記事です!ぜひご覧下さいませ。

お問い合わせ

組み込み機器・ハードウェア 設計製作.comを運営する株式会社アイディアイは、組み込み機器・ハードウェアの設計開発代行サービスを提供しています。
試験装置や制御機器、組み込みボードなど、設計・開発委託先をお探しの皆様、お気軽に当社に御相談ください。

技術資料のダウンロードはこちらから 技術資料ダウンロ―ド メールフォームでのお問い合わせはこちらから ご相談お問合せ