FPGA講座② FPGAで論理回路を実現する

FPGAで論理回路を実現するには…

FPGAで論理回路を実現する方式として、プロダクトターム方式とルックアップテーブル方式があります。
このプロダクトターム方式とルックアップテーブル方式について、実際の回路で説明します。図1の論理回路は、入力Aと入力Bがそれぞれ”1”のとき、入力Aが”0”で入力Cが”1”のときに”1”を出力する回路です。この論理回路をプロダクトターム方式とルックアップテーブル方式で実現してみます。

図1 論理回路の一例

プロダクトターム方式

図2 プロダクトターム方式の構造(※1)

プロダクトターム方式は、図2のようにANDアレイとORアレイが接続されています。入力信号には正論理の他に負論理で入力できるようにインバータが用意されています。この入力信号とANDアレイの入力は格子状に配線されており、交差する部分にスイッチが用意されています。このスイッチによって、入力信号とANDアレイの入力を接続することができます。同じく、ANDアレイの出力とORアレイの入力も格子状に配線されており、交差する部分にスイッチが用意されています。このスイッチにより、ANDアレイの出力とORアレイの入力を接続することができます。
図1の論理回路をプロダクトターム方式で実現すると、図2のようになります。黒丸の部分はスイッチがオンしている状態を表しています。入力Aと入力Bがそれぞれ”1”のとき、入力Aが”0”で入力Cが”1”のときに”1”を出力するため、黒色の部分のスイッチをオンします。そして、各々のANDアレイの出力にあるスイッチをオンしてORアレイに接続することにより、図1の論理回路を実現できます。

ルックアップテーブル(LUT)方式

図3 ルックアップテーブル方式の構造(※1)

ルックアップテーブルとは、図3のように通常1ワード・1ビットのメモリテーブルです。このワード数はアドレスのビット数で決定されます。ルックアップテーブルはメモリであるSRAMセルの他に、マルチプレクスから構成されます。図3のように3入力の場合、23である8ビットのSRAMセルが必要になります。
図1の論理回路をルックアップテーブル方式で実現すると、図3のようになります。入力Aと入力Bがそれぞれ”1”のときは、入力Cの値に関係なく”1”が選択されます。入力Aが”0”で入力Cが”1”のときは、入力Bの値に関係なく”1”が選択されます。このように図1の論理回路を実現できます。

【参考文献】(※1)FPGAの原理と構成 48ページ オーム社(2016年)