Digital-circuits-programmable-logic-devices

提供:Dev Guides
移動先:案内検索

プログラマブルロジックデバイス

プログラマブルロジックデバイス*(PLD)*は集積回路です。 これらには、ANDゲートの配列とORゲートの別の配列が含まれています。 プログラム可能な機能を備えたアレイのタイプに基づいて、3種類のPLDがあります。

  • プログラム可能な読み取り専用メモリ
  • プログラマブルアレイロジック
  • プログラマブルロジックアレイ

これらのデバイスに情報を入力するプロセスは、「プログラミング」と呼ばれます。 基本的に、ユーザーはこれらのデバイスまたはICを電気的にプログラムして、要件に基づいてブール関数を実装できます。 ここで、プログラミングという用語はハードウェアプログラミングを指しますが、ソフトウェアプログラミングは指しません。

プログラマブル読み取り専用メモリ(PROM)

読み取り専用メモリ(ROM)は、バイナリ情報を永続的に保存するメモリデバイスです。 つまり、後で保存した情報を変更することはできません。 ROMにプログラム可能な機能がある場合、* Programmable ROM(PROM)*と呼ばれます。 ユーザーは、PROMプログラマーを使用して、バイナリ情報を一度電気的にプログラムする柔軟性があります。

PROMは、固定ANDアレイとプログラマブルORアレイを備えたプログラマブルロジックデバイスです。 PROMの*ブロック図*を次の図に示します。

PROM

ここでは、ANDゲートの入力はプログラム可能なタイプではありません。 したがって、それぞれn個の入力を持つ2 ^ n ^ ANDゲートを使用して2 ^ n ^積項を生成する必要があります。 nx2 ^ n ^デコーダーを使用して、これらの積項を実装できます。 そのため、このデコーダーは「n」* min個の用語*を生成します。

ここで、ORゲートの入力はプログラム可能です。 つまり、ANDゲートのすべての出力が各ORゲートへの入力として適用されるため、必要な積項をいくつでもプログラムできます。 したがって、PROMの出力は sum of min terms の形式になります。

PROMを使用して、次の*ブール関数*を実装しましょう。

A(X、Y、Z)= \ sum m \ left(5,6,7 \ right)

B(X、Y、Z)= \ sum m \ left(3,5,6,7 \ right)

指定された2つの関数は最小項の合計形式であり、各関数には3つの変数X、Y&Zがあります。 したがって、これら2つの機能を生成するには、3〜8デコーダーと2つのプログラマブルORゲートが必要です。 対応する PROM を次の図に示します。

プロムの例

ここでは、3〜8デコーダーが8つの最小タームを生成します。 2つのプログラム可能なORゲートは、これらすべての最小条件にアクセスできます。 ただし、各ORゲートでそれぞれのブール関数を生成するために、必要な最小項のみがプログラムされています。 シンボル「X」は、プログラム可能な接続に使用されます。

プログラマブルアレイロジック(PAL)

PALは、プログラマブルANDアレイと固定ORアレイを備えたプログラマブルロジックデバイスです。 PALの利点は、プログラマブルANDゲートを使用してすべての最小項を生成する代わりに、ブール関数の必要な積項のみを生成できることです。 PALの*ブロック図*を次の図に示します。

PAL

ここでは、ANDゲートの入力はプログラム可能です。 つまり、各ANDゲートには、変数の通常入力と補完入力の両方があります。 そのため、要件に基づいて、これらの入力をプログラムできます。 したがって、これらのANDゲートを使用して、必要な*製品条件*のみを生成できます。

ここでは、ORゲートの入力はプログラム可能なタイプではありません。 そのため、各ORゲートへの入力数は固定タイプになります。 したがって、これらの必要な積項を入力として各ORゲートに適用します。 したがって、PALの出力は sum of products form の形式になります。

PALを使用して次の*ブール関数*を実装しましょう。

A = XY + X \ {Z} '

A = X \ {Y} '+ Y \ {Z}'

指定された2つの関数は、製品の合計形式です。 各ブール関数には2つの積項があります。 したがって、これら2つの機能を生成するには、4つのプログラム可能なANDゲートと2つの固定ORゲートが必要です。 対応する PAL を次の図に示します。

Palの例

  • プログラマブルANDゲート*は、変数の通常入力と補完入力の両方にアクセスできます。 上の図では、入力X、$ \ {X} '$、Y、$ \ {Y}' $、Zおよび$ \ {Z} '$が各ANDゲートの入力で使用できます。 したがって、各ANDゲートで1つの積項を生成するには、必要なリテラルのみをプログラムします。 シンボル「X」は、プログラム可能な接続に使用されます。

ここで、ORゲートの入力は固定タイプです。 したがって、必要な積項は各* ORゲート*の入力に接続されます。 ORゲートがそれぞれのブール関数を生成するように。 記号「。」は固定接続に使用されます。

プログラマブルロジックアレイ(PLA)

PLAは、プログラマブルANDアレイとプログラマブルORアレイの両方を備えたプログラマブルロジックデバイスです。 したがって、これは最も柔軟なPLDです。 PLAの*ブロック図*を次の図に示します。

PLA

ここでは、ANDゲートの入力はプログラム可能です。 つまり、各ANDゲートには、変数の通常入力と補完入力の両方があります。 そのため、要件に基づいて、これらの入力をプログラムできます。 したがって、これらのANDゲートを使用して、必要な*製品条件*のみを生成できます。

ここでは、ORゲートの入力もプログラム可能です。 したがって、ANDゲートのすべての出力が各ORゲートへの入力として適用されるため、必要な積項をいくつでもプログラムできます。 したがって、PALの出力は sum of products form の形式になります。

PLAを使用して、次の*ブール関数*を実装しましょう。

A = XY + X \ {Z} '

B = X \ {Y} '+ YZ + X \ {Z}'

指定された2つの関数は、製品の合計形式です。 指定されたブール関数AおよびBに存在する積項の数は、それぞれ2および3です。 1つの製品用語$ \ {Z} 'X $は、各関数で共通です。

したがって、これら2つの機能を生成するには、4つのプログラム可能なANDゲートと2つのプログラム可能なORゲートが必要です。 対応する PLA を次の図に示します。

PLA回路図

  • プログラマブルANDゲート*は、変数の通常入力と補完入力の両方にアクセスできます。 上の図では、入力X、$ \ {X} '$、Y、$ \ {Y}' $、Zおよび$ \ {Z} '$が各ANDゲートの入力で使用できます。 したがって、各ANDゲートで1つの積項を生成するには、必要なリテラルのみをプログラムします。

これらのすべての製品用語は、各*プログラマブルORゲート*の入力で利用できます。 ただし、各ORゲートでそれぞれのブール関数を生成するために、必要な積項のみをプログラムしてください。 シンボル「X」は、プログラム可能な接続に使用されます。