.svg/500px-Programmable_logic_array_(schematic_drawing_example).svg.png)
プログラマブルロジック アレイ( PLA ) は、組み合わせ論理回路を実装するために使用されるプログラマブル ロジック デバイスの一種です。PLA には、プログラマブルAND ゲートプレーンのセットがあり、これがプログラマブルOR ゲートプレーンのセットにリンクされ、条件に応じて補完されて出力が生成されます。N 個の入力変数に対して 2 N個の AND ゲートがあり、PLA からの M 個の出力に対して、すべての AND ゲートからのプログラマブル入力を持つ M 個の OR ゲートが必要です。このレイアウトにより、多くの論理関数を積和標準形式で合成できます。
PLA は、AND ゲートプレーンと OR ゲートプレーンの両方がプログラム可能であるという点で、プログラマブルアレイロジックデバイス ( PALおよびGAL )とは異なります。PAL にはプログラム可能な AND ゲートがありますが、OR ゲートは固定されています[説明が必要]
歴史
1970年、テキサス・インスツルメンツはIBMの読み取り専用連想メモリ(ROAM)をベースにしたマスクプログラマブルICを開発した。このデバイス、TMS2000は、ICの製造中に金属層を変更することでプログラムされた。TMS2000は、メモリ用に8つのJKフリップフロップを備え、最大17の入力と18の出力を持っていた。TIはこのデバイスをプログラマブル・ロジック・アレイと名付けた。 [1]
実施手順
- SOP(積和)形式での準備。
- 最小限の SOP フォームを取得して、積項の数を最小限に抑えます。
- 必要な積項を生成するための AND マトリックスの入力接続を決定します。
- 次に、OR マトリックスの入力接続を決定して、合計項を生成します。
- 逆行列の接続を決定します。
- PLA をプログラムします。
PLA ブロック図:
読み取り専用メモリに対する利点
入力の各組み合わせに対する望ましい出力は、読み取り専用メモリにプログラムすることができ、入力はアドレス バスによって駆動され、出力はデータとして読み出される。しかし、それには、発生するはずのない組み合わせを含む、入力のあらゆる可能な組み合わせに対して別々のメモリ位置が必要となり、また、「don't care」条件に対してもデータの複製が必要となる (たとえば、「入力 A が 1 の場合、出力 X に関しては、入力 B が何であるかは関係ない」というロジック: ROM では、これは B の可能な値ごとに 1 回ずつ、2 回書き込む必要があり、「don't care」入力が追加されるにつれて、複製は指数関数的に増加する)。したがって、プログラマブル ロジック アレイは、読み取り専用メモリの同等のものよりも少ないトランジスタを使用してロジックを実装できることが多い。これは、トランジスタが不足している処理チップの一部である場合に特に有用である (たとえば、オリジナルの6502チップには、プロセッサのさまざまな操作を指示する PLA が含まれていた[2] )。
アプリケーション
PLA の 1 つの用途は、データパスの制御を実装することです。PLA は命令セット内のさまざまな状態を定義し、次の状態を生成します (条件分岐によって)。[たとえば、マシンが状態 2 にあり、命令に即値フィールドが含まれている場合は状態 4 に移行します。この場合、PLA は状態 2 での制御の動作を定義し、命令に即値フィールドが含まれている場合は次の状態を 4 に設定し、状態 4 での制御の動作を定義します。] プログラマブル ロジック アレイは、システムの 状態図に対応している必要があります。
1982年(1983年初頭)に発売された最初のコモドール64ホームコンピュータでは、当初はプログラムされたSignetics 82S100 PLAが使用されていましたが、需要の増加に伴い、MOSテクノロジー/コモドールセミコンダクターグループは、部品番号906114-01のマスクプログラムされたPLAの生産を開始しました。[3]
参照
参考文献
- ^ Andres, Kent (1970 年 10 月)。Texas Instruments アプリケーション レポート: MOS プログラマブル ロジック アレイ。Texas Instruments。Bulletin CA-158。
- ^ MOS 6502 不正オペコードの実際の動作
- ^ arcadecomponents.com - コモドール 906114-01 64 PLA IC
