
プログラマブルロジックデバイス(PLD)は、再構成可能なデジタル回路を構築するために使用される電子部品です。固定機能を持つ個別のロジックゲートを使用して構築されたデジタルロジックとは異なり、PLDの機能は製造時には未定義です。PLDを回路で使用する前に、目的の機能を実装するようにプログラムする必要があります。[1]固定ロジックデバイスと比較して、プログラマブルロジックデバイスは複雑なロジックの設計を簡素化し、優れたパフォーマンスを提供できます。[2]マイクロプロセッサとは異なり、PLDをプログラミングすると、デバイス内のゲート間の接続が変更されます。
PLD は、複雑さの順に、プログラマブル アレイ ロジック、プログラマブル ロジック アレイ、汎用アレイ ロジックで構成されるシンプル プログラマブル ロジック デバイス (SPLD)、複雑なプログラマブル ロジック デバイス (CPLD)、およびフィールド プログラマブル ゲート アレイ (FPGA)に大まかに分類できます。
歴史
1969年、モトローラは12個のゲートと30個の未使用入出力ピンを備えたマスクプログラムゲートアレイXC157を発売した。[3]
1970年、テキサス・インスツルメンツはIBMの読み取り専用連想メモリ(ROAM)をベースにしたマスクプログラマブルICを開発した。このデバイス、TMS2000は、ICの製造中に金属層を変更することでプログラムされた。TMS2000は、メモリ用に8つのJKフリップフロップを備え、最大17の入力と18の出力を持っていた。TIはこのデバイスをプログラマブルロジックアレイ(PLA)と名付けた。 [4]
1971年、ゼネラル・エレクトリック社(GE)は、新しいプログラマブル読み取り専用メモリ(PROM)技術に基づくプログラマブルロジックデバイスを開発していました。この実験的なデバイスは、マルチレベルロジックを可能にすることでIBMのROAMを改良しました。インテルはちょうどフローティングゲートUV EPROMを発表したばかりだったので、GEの研究者はその技術を取り入れました。GEデバイスは、アルテラEPLDより10年以上も前に開発された、史上初の消去可能なPLDでした。GEは、プログラマブルロジックデバイスに関するいくつかの初期の特許を取得しました。[5] [6] [7]
1973年、ナショナル セミコンダクターは、メモリ レジスタのない 14 入力 8 出力のマスク プログラマブル PLA デバイス (DM7575) を発表しました。これは TI の製品よりも人気がありましたが、金属マスクの製造コストが使用を制限していました。このデバイスは、 1975 年にSigneticsが製造したフィールド プログラマブル ロジック アレイ82S100 のベースとなったため、重要な製品です ( Intersil はSignetics に先んじて市場に投入しましたが、歩留まりが悪かったため、この製品は失敗に終わりました)。[8] [9]
1974年、GEはモノリシック・メモリーズ(MMI)と契約を結び、GEの技術革新を組み込んだマスクプログラマブルロジックデバイスを開発しました。このデバイスはプログラマブル連想ロジックアレイ(PALA)と名付けられました。MMI 5760は1976年に完成し、100ゲートを超えるマルチレベルまたはシーケンシャル回路を実装できました。このデバイスはGEの設計環境によってサポートされており、ブール方程式がデバイスを構成するためのマスクパターンに変換されました。この部品は市場には出ませんでした。[10]
人民解放軍
1970年、テキサス・インスツルメンツはIBMの読み取り専用連想メモリ(ROAM)をベースにしたマスクプログラマブルICを開発した。このデバイス、TMS2000は、ICの製造中に金属層を変更することでプログラムされた。TMS2000は、メモリ用に8つのJKフリップフロップを備え、最大17の入力と18の出力を持っていた。TIはこのデバイスをプログラマブルロジックアレイと名付けた。 [4]
プログラマブル ロジック アレイ (PLA) には、プログラマブル AND ゲート アレイがあり、これがプログラマブル OR ゲート アレイにリンクされ、条件に応じて補完されて出力が生成されます。PLA は ROM の概念に似ていますが、PLA では変数の完全なデコードは提供されず、ROM のように すべての最小項は生成されません。
パル
PAL デバイスには、「固定 OR、プログラム可能な AND」平面に配置されたトランジスタ セルのアレイがあり、入力と出力からの同期または非同期のフィードバックに基づいて、各出力の「積和」バイナリ ロジック方程式を実装するために使用されます。
MMI は 1978 年に画期的なデバイス、プログラマブル アレイ ロジック(PAL) を発表しました。このアーキテクチャは、プログラマブル OR アレイを省略したため、Signetics の FPLA よりも単純でした。これにより、部品はより高速で、より小型で、より安価になりました。これらは 20 ピン 300 ミル DIP パッケージで提供され、FPLA は 28 ピン 600 ミル パッケージで提供されました。PAL ハンドブックは、設計プロセスをわかりやすく説明しました。PALASM 設計ソフトウェア (PAL アセンブラ) は、エンジニアのブール方程式を部品のプログラムに必要なヒューズ パターンに変換しました。PAL デバイスは、すぐにNational Semiconductor、Texas Instruments、および AMD によって二次ソース化されました。
MMI が 20 ピン PAL 部品で成功した後、AMD は追加機能を備えた 24 ピン 22V10 PAL を導入しました。MMI を買収した後 (1987 年)、AMD は統合事業をVantisとして分離し、その事業は1999 年にLattice Semiconductorに買収されました。
GALs

PAL の改良版として、1985 年にLattice Semiconductor 社が発明した汎用アレイ ロジック デバイス (GAL) があります。このデバイスは PAL と同じ論理特性を持っていますが、消去して再プログラムすることができます。GAL は、設計の試作段階で、ロジックのバグを再プログラムすることで修正できるため、非常に便利です。GAL は、PAL プログラマーを使用してプログラムおよび再プログラムされますが、PAL プログラマーをサポートするチップの場合は、インサーキット プログラミング技術を使用してプログラムおよび再プログラムされます。
Lattice GAL は、CMOSと電気的に消去可能な (E 2 ) フローティング ゲート技術を組み合わせた、高速で低電力のロジック デバイスです。PEEL (プログラム可能な電気的に消去可能なロジック) と呼ばれる同様のデバイスが、International CMOS Technology (ICT) 社によって導入されました。
GAL チップは、以下の複雑なプログラマブル ロジック デバイス (CPLD) に類似した、シンプル プログラマブル ロジック デバイス (SPLD) と呼ばれることもあります。
CPLD
PAL と GAL は、数百の論理ゲートに相当する小さなサイズでのみ使用できます。より大きな論理回路には、複雑な PLD またはCPLD を使用できます。これらには、プログラム可能な相互接続によってリンクされた複数の PAL に相当するものがすべて 1 つの集積回路に含まれています。CPLD は、数千、または数十万の論理ゲートを置き換えることができます。
一部の CPLD は PAL プログラマを使用してプログラムされますが、この方法は数百のピンを持つデバイスでは不便です。2 つ目のプログラミング方法は、デバイスをプリント基板に半田付けし、パーソナル コンピュータからシリアル データ ストリームをデバイスに供給することです。CPLD には、データ ストリームをデコードし、指定されたロジック機能を実行するように CPLD を構成する回路が含まれています。AlteraやAtmel (現在の Microchip)などの一部のメーカーは、JTAG を使用して.JAMファイル から回路内で CPLD をプログラムします。
FPGA
PAL が GAL や CPLD (すべて上記で説明) に開発される一方で、別の開発の流れも進行していました。このタイプのデバイスはゲート アレイテクノロジに基づいており、フィールド プログラマブル ゲート アレイ(FPGA)と呼ばれています。FPGA の初期の例としては、1970 年代後半に Signetics が発表した 82S100 アレイと 82S105 シーケンサーがあります。82S100 は AND 項のアレイでした。82S105 にはフリップフロップ機能もありました。
(注: Signetics の 82S100 および同様の IC は、PLA 構造 (AND プレーン + OR プレーン) を備えています。)
FPGAはロジックゲートのグリッドを使用し、通常のゲートアレイと同様に、一度保存されたデータは変更されません。フィールドプログラマブルという用語は、デバイスが製造元ではなく顧客によってプログラムされることを意味します。FPGAとゲートアレイは似ていますが、ゲートアレイは製造時に工場でのみ構成できます。[11] [12] [13]
FPGAは通常、より大型のCPLDと同様に、回路基板にはんだ付けされた後にプログラムされます。ほとんどの大型FPGAでは、構成は揮発性であり、電源が投入されるか、異なる機能が必要になるたびにデバイスに再ロードする必要があります。構成は通常、構成PROM、EEPROM、またはフラッシュメモリに保存されます。[14] EEPROMバージョンは、システム内でプログラム可能です(通常はJTAG経由)。
FPGA と CPLD の違いは、FPGA は内部的にルックアップ テーブル(LUT) に基づいているのに対し、CPLD はシー オブ ゲート (積和など)を使用してロジック機能を形成することです。CPLD はより単純な設計向けであり、FPGA はより複雑な設計向けです。一般に、CPLD は幅広い組み合わせロジックアプリケーションに適していますが、FPGA はマイクロプロセッサなどの大規模なステート マシンに適しています。
EPLD

EPLDはEPROMと同じ技術を使用しており、パッケージ内に石英窓があり、紫外線にさらされると消去することができます。[15] [16]
EEPROMと同じ技術を使用して、EEPLDは電気的に消去することができます。[15] [16]
消去可能プログラマブルロジックデバイス( EPLD ) は、事前に接続されていない PLD の配列で構成される集積回路です。接続はユーザーによって電気的にプログラムされます。ほとんどの GAL デバイスと FPGA デバイスは EPLD の例です。[引用が必要]
その他のバリエーション
これらは、いくつかの固定機能と、プロセッサ上で実行されるコードによって変更できるその他の機能を備えたマイクロプロセッサ回路です。自己変更システムを設計するには、エンジニアが新しい方法を習得し、新しいソフトウェア ツールを開発する必要があります。
現在販売されている PLD には、固定機能のマイクロプロセッサ (いわゆるコア) とそれを囲むプログラマブル ロジックが含まれています。これらのデバイスを使用すると、設計者はマイクロプロセッサの動作を気にすることなく、設計に新しい機能を追加することに集中できます。また、固定機能のマイクロプロセッサは、同じプロセッサを実装するプログラマブル ゲート アレイの一部よりもチップ上のスペースが少なくて済むため、プログラマブル ゲート アレイに設計者の専用回路を組み込むスペースが多く残ります。
PLDが構成を保持する方法
PLD は、ロジック デバイスとメモリデバイスを組み合わせたものです。メモリは、プログラミング中にチップに与えられたパターンを保存するために使用されます。集積回路にデータを保存する方法のほとんどは、PLD で使用できるように適応されています。これには次のものが含まれます。
シリコン アンチヒューズは、チップ内のシリコンの改変された領域に電圧を印加することによって作成される接続です。電流によって切断されるまで接続として機能し始める通常のヒューズとは逆の動作をするため、アンチヒューズと呼ばれます。
SRAM (スタティック RAM) は揮発性メモリの一種で、電源を切るたびに内容が失われます。したがって、SRAM ベースの PLD は回路の電源を入れるたびにプログラムする必要があります。これは通常、回路の別の部分によって自動的に行われます。
EPROM メモリセルは、ゲート電極に電荷を永久に閉じ込めることでオンにできるMOSFET (金属酸化膜半導体電界効果トランジスタ、または MOS トランジスタ) です。これは PAL プログラマによって行われます。電荷は何年も残り、 EPROM イレーサーと呼ばれるデバイスで チップを強力な紫外線にさらすことによってのみ除去できます。
フラッシュ メモリは不揮発性で、電源を切っても内容が保持されます。フローティング ゲート MOSFETメモリ セルに保存され、必要に応じて消去したり再プログラムしたりできます。このため、プロトタイプで使用される PLD など、頻繁に再プログラムされる可能性のある PLD で役立ちます。フラッシュ メモリは、EPROM と同様に捕捉された電荷を使用して情報を保持する EEPROM の一種です。したがって、フラッシュ メモリは何年も情報を保持できますが、EPROM ほど長くは保持できない可能性があります。
2005 年現在、ほとんどの CPLD は電気的にプログラムおよび消去可能で、不揮発性です。これは、CPLD が小さすぎて起動のたびに内部 SRAM セルをプログラムする手間がかからず、EPROM セルは石英ウィンドウ付きのセラミック パッケージのため高価であるためです。
PLDプログラミング言語
多くのPALプログラミングデバイスは、一般的に「 JEDECファイル」と呼ばれる標準ファイル形式で入力を受け入れます。これらはソフトウェア コンパイラに類似しています。ロジックコンパイラのソースコードとして使用される言語は、ハードウェア記述言語(HDL)と呼ばれます。[1]
PALASM、ABEL、CUPL は複雑度の低いデバイスでよく使用されますが、VerilogとVHDL はより複雑なデバイス向けの高レベル記述言語としてよく使用されます。より制限の多い ABEL は歴史的な理由からよく使用されますが、新しい設計では、複雑度の低い設計であっても VHDL の方が人気があります。
最新の PLD プログラミング言語、設計フロー、およびツールについては、「FPGAおよび再構成可能なコンピューティング」を参照してください。
PLDプログラミングデバイス
デバイス プログラマは、ブールロジック パターンをプログラマブル デバイスに転送するために使用されます。プログラマブル ロジックの初期には、すべての PLD メーカーが、自社のロジック デバイス ファミリ専用のデバイス プログラマも製造していました。その後、さまざまなメーカーの複数のロジック デバイス ファミリをサポートするユニバーサル デバイス プログラマが市場に登場しました。今日のデバイス プログラマは通常、既存のすべてのメーカーの一般的な PLD (主に PAL/GAL 相当) をプログラムできます。ブール ロジック パターン (ヒューズ) を格納するために使用される一般的なファイル形式は、JEDEC、Altera POF (プログラマブル オブジェクト ファイル)、または Xilinx BITstream です。[17]
参照
- 複合プログラマブルロジックデバイス(CPLD)
- フィールドプログラマブルゲートアレイ(FPGA)
- マクロセルアレイ
- プログラマブルアレイロジック(PAL)
参考文献
- ^ ab ホロウィッツ、ポール; ヒル、ウィンフィールド (2015)。ホロウィッツ P.、ヒル W. - エレクトロニクスの芸術。ニューヨーク。p. 764。ISBN 978-0-521-80926-9。
{{cite book}}: CS1 maint: location missing publisher (link) - ^ Holdsworth, B.; Woods, RC (2003). デジタルロジックデザイン (第4版). エルゼビア. ISBN 978-0-7506-4582-9。
- ^ Motorola 半導体データブック、第 4 版。Motorola Inc. 1969 年。p. IC-73。
- ^ ab Andres, Kent (1970 年 10 月)。Texas Instruments アプリケーション レポート: MOS プログラマブル ロジック アレイ。Texas Instruments。Bulletin CA-158。このレポートでは、マスク プログラマブル PLA の TMS2000 および TMS2200 シリーズを紹介します。
- ^ Greer, David L.電気的にプログラム可能なロジック回路米国特許 3,818,452。譲受人: General Electric、出願日: 1972 年 4 月 28 日、付与日: 1974 年 6 月 18 日
- ^ グリーア、デビッド L.多重レベル連想論理回路米国特許 3,816,725。譲受人: ゼネラル・エレクトリック、出願日: 1972 年 4 月 28 日、付与日: 1974 年 6 月 11 日
- ^ Greer, David L.セグメント化連想論理回路米国特許 3,849,638。譲受人: General Electric、出願日: 1973 年 7 月 18 日、付与日: 1974 年 11 月 19 日
- ^ 「半導体と IC : FPLA」EDN . 20 (13) ボストン、マサチューセッツ州: Cahners Publishing: 66. 1975 年 7 月 20 日。Intersil IM5200 フィールド プログラマブル ロジック アレイに関するプレス リリース。14 個の入力ピンと 48 個の積項。アバランシェ誘導マイグレーション プログラミング。単価は 37.50 ドルでした。
- ^ 「FPLA は迅速なカスタム ロジックを提供します」。EDN . 20 (13)。ボストン、マサチューセッツ州: Cahners Publishing: 61。1975 年 7 月 20 日。Signetics 82S100 および 82S101 フィールド プログラマブル ロジック アレイに関するプレス リリース。14 個の入力ピン、8 個の出力ピン、48 個の積項。NiCr ヒューズ リンク プログラミング。
- ^ ペレリン、デイビッド、マイケル・ホーリー (1991)。プログラマブルロジックを使用した実用的な設計。プレンティス・ホール。p. 15。ISBN 0-13-723834-7。
- ^ Dorf, Richard C. (2018年10月3日)。エレクトロニクス、パワーエレクトロニクス、オプトエレクトロニクス、マイクロ波、電磁気学、レーダー。CRC Press。ISBN 978-1-4200-0315-4。
- ^ Vahid, Frank; Givargis, Tony D. (2001 年 10 月 17 日)。組み込みシステム設計: ハードウェアとソフトウェアの統合入門。John Wiley & Sons。ISBN 978-0-471-38678-0。
- ^ チェン・ワイカイ(2018年10月3日)。VLSIハンドブック。CRC Press。ISBN 978-1-4200-0596-7。
- ^ 「フラッシュメモリを使用した FPGA の構成」(PDF) . Altera . 2024 年 8 月 21 日閲覧。
- ^ ab Tertulien Ndjountche. 「デジタルエレクトロニクス 2: シーケンシャルおよび算術論理回路」 2016 年、p. 224。
- ^ ab Clive Maxfield. 「FPGA の設計戦士ガイド」 2004 年、p. 20
- ^ PLD ファイル形式
外部リンク
- 「PLD ツールによる SVF、JAM、STAPL およびその他の形式の作成」。JTAG / 境界スキャン。Corelis。2010 年 12 月 1 日。2012 年 3 月 18 日時点のオリジナルからアーカイブ。2011年7 月 18 日閲覧。
- 「FPGA と CPLD」。Lattice Semiconductor。
