説明

ルックアップテーブルカスケード回路、ルックアップテーブルカスケードアレイ回路及びそのパイプライン制御方法

【課題】汎用的なメモリ回路に構成された複数のLUTを柔軟な入出力構造でカスケード接続し、構成と制御が簡素なルックアップテーブルカスケード回路等を提供する。
【解決手段】所望の論理関数を実現するN個のLUT(ルックアップテーブル)がカスケード接続され、各段の単位LUT回路は、メモリセルアレイからなるLUT10と、入力変数に基づきLUT10の読み出し対象の各メモリセルを選択する入力選択回路(メインロウデコーダ11、サブデコーダ12、カラムデコーダ13)と、入力選択回路により選択されたデータを入出力経路と選択的に接続して出力変数Yとして出力する出力回路(出力スイッチ回路15、出力ラッチ回路16)と、外部入力変数EIと前段の出力変数Yとを入力し、外部出力変数EOと後段の入力変数の全部又は一部とを、予め設定された接続情報に応じて選択的に分配出力する接続回路(セレクタ回路14)とを備えて構成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所望の論理関数を実現する複数のルックアップテーブルがカスケード接続されたルックアップテーブルカスケード回路に関し、特に、汎用的なメモリ回路を用いて構成されたルックアップテーブルカスケード回路、及びそれをアレイ状に配置したルックアップテーブルカスケードアレイ回路に関するものである。
【背景技術】
【0002】
近年、LSIに多様な論理機能を持たせるために、所望の論理関数を実現するルックアップテーブル(LUT:Look-Up Table)をメモリ上に構成する構成が提案されている(例えば、非特許文献1参照)。非特許文献1においては、複雑な論理機能を実現するため、メモリ回路に構成された複数のLUTを多段にカスケード接続したLUTカスケード回路の構成が提案されている。このようなLUTカスケード回路を採用すれば、入出力数が多い大規模の論理関数を比較的規模が小さい複数の論理関数に分解してLUTを構成することができるので、LUTのデータ量を抑えるとともにチップ面積を小さくすることができる。
【0003】
非特許文献1によれば、上記LUTカスケード回路のアーキテクチャとして、順序回路方式と組合せ回路方式の2つが知られている。順序回路方式は、複数のLUTをまとめて1つのメモリで実現し、シーケンサによりカスケードの段数分だけメモリに繰り返しアクセスする手法である。例えば、特許文献1に開示された構成が提案されている。一方、組合せ回路方式は、多数のLUTを直列多段に接続して順番に信号を伝送し、最終段から目的の信号を取り出すものである。順序回路方式は柔軟な制御が可能であるが、シーケンサを用いているので高速化が難しいという問題がある。よって、高速化が必要とされる場合は、組合せ回路方式によるLUTカスケード回路の採用が望ましい。
【0004】
上記組合せ回路方式に基づくLUTカスケード回路を用いる場合、隣接するLUT間を結ぶ信号線数を柔軟に可変できる構造が望ましい。そのため、非特許文献1において、LUTを直列多段に接続し、隣接するLUT間に配置した接続回路により、前段の出力と外部入力を合わせた信号線数のうち、後段に伝送する信号線数と外部出力する信号線数を自在に切り替え可能な構成が開示されている。これにより、LUT間で自在に信号を受け渡すことができ、かつ演算途中の信号を自由に外部に引き出すことができ、LUTカスケード回路の自由度の高い構造を実現可能となる。
【非特許文献1】「LUTカスケード・アーキテクチャについて」、井口幸洋、笹尾勤(平成15年電気学会電子・情報・システム部門大会)
【特許文献1】特開2004−258799号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記従来の組合せ回路方式に基づくLUTカスケード回路を実際に構成する場合、カスケード接続される各々のLUTは、汎用的な入出力インターフェースに対応していないため、上述の入出力構造を有する専用のメモリ回路を構築する必要がある。また、上述の接続回路を用いて自由度の高い構造を実現するには、多数の入出力信号を切り替え可能に接続するための構成及び制御が複雑になる。さらに、LUTカスケード回路を構成する各々のLUTの読み出し動作を前提とした構成であるため、所望のデータの書き込み動作によりLUTを書き換えることは容易でない。特に、LUTカスケード回路の段数が多くなる場合、多数のLUTと多数の接続回路から構成される全体回路の規模の増加と制御の複雑化を招くことが問題となる。
【0006】
一方、より多機能のLSIにおいては、1系統のLUTカスケード回路を配置するだけでなく、複数系統のLUTカスケード回路を並列配置させて多様な論理機能を実現可能とすることが望ましい。しかし、上記従来の組合せ回路方式では、外部との間の信号線や制御信号を共用する場合、異なるLUTカスケード回路を同時に動作させることは困難である。従って、複数系統のLUTカスケード回路を配置する場合、動作速度の面でメリットがあるパイプライン制御を採用することは困難である。
【0007】
そこで、本発明はこれらの問題を解決するためになされたものであり、組合せ回路方式に基づくLUTカスケード回路を構成する場合、汎用的なメモリ回路に構成された複数のLUTを柔軟な入出力構造を持たせてカスケード接続し、回路構成と制御をともに簡素化でき、自在に書き込み可能な利便性の高いLUTカスケード回路を提供するとともに、LUTカスケードアレイ回路をパイプライン制御により並列動作させ、高速処理が可能なLUTカスケードアレイ回路を提供することを目的としている。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のルックアップテーブルカスケード回路は、所望の論理関数を実現するN個のルックアップテーブルがカスケード接続されたルックアップテーブルカスケード回路であって、複数のワード線と複数のビット線の交点に形成された複数のメモリセルに前記ルックアップテーブルのデータを記憶保持するN個のメモリセルアレイと、前記ルックアップテーブルの入力変数に基づいて、前記メモリセルアレイの読み出し対象の各メモリセルが属する前記ワード線及び前記ビット線を選択するN個の入力選択回路と、前記入力選択回路により選択された各メモリセルの所定ビット数のデータを入出力経路と選択的に接続し、前記ルックアップテーブルの出力変数として出力するN個の出力回路と、前記カスケード接続された各段のうち前段の前記出力回路と後段の前記入力選択回路の間に配置され、外部入力変数と前記前段の出力回路から出力される前記出力変数とを入力し、外部出力変数と前記後段の入力選択回路に供給すべき前記入力変数の全部又は一部とを、予め設定された接続情報に応じて選択的に分配出力するN−1個の接続回路と、を備えて構成される。
【0009】
このような構成において、ルックアップテーブルカスケード回路の各段では、入力選択回路と、メモリセルアレイと、出力回路とによりルックアップテーブルを構成し、各段の間に配置された接続回路により、外部の入出力信号と内部の入力変数の選択的な分配が行われる。これにより、汎用的なメモリ回路の構成要素を基本として若干の回路を付加することで、自由度の高い入出力構造を持つ組合せ回路方式に基づくルックアップテーブルカスケード回路を構成することができる。この場合、接続回路に付与される接続情報を適切に設定することで、所定位置のルックアップテーブルの出力変数のうち、外部出力するデータと後段に伝送するデータを柔軟に調整することができる。特に、ルックアップテーブルの段数が多くなる場合は、複雑な論理演算を小さい回路規模で高速に処理可能な構成を実現する場合に適している。
【0010】
本発明において、各々の前記接続回路は、入力された前記外部入力変数及び前記出力変数を保持する入力レジスタと、前記入力レジスタに保持されるデータを、前記接続情報に含まれるシフト量だけシフトするシフタ回路と、前記シフタ回路によりシフトされたデータを保持して前記外部出力変数及び前記入力変数を出力する出力レジスタとを含む構成としてもよい。
【0011】
本発明において、各々の前記入力選択回路は、前記複数のワード線を選択的に活性化するロウデコーダと、前記読み出し対象の各メモリセルが属する所定数のビット線を選択するカラムデコーダとを含む構成としてもよい。
【0012】
本発明において、前記メモリセルアレイに、複数のメインワード線と複数のサブワード線とからなるワード線階層構造を形成し、前記ロウデコーダは、前記複数のメインワード線を選択的に活性化するメインロウデコーダと、前記複数のサブワード線を選択的に活性化するサブデコーダを含む構成としてもよい。
【0013】
本発明において、前記接続回路から前記カラムデコーダに入力される第1の入力変数と、前記接続回路から前記サブデコーダに入力される第2の入力変数と、外部から前記メインロウデコーダに入力される第3の入力変数とからなる前記入力変数を用いてもよい。
【0014】
本発明において、各々の前記メモリセルアレイのワード線延伸方向の両端部に2つの前記サブデコーダを略対称的に配置し、それぞれの前記サブデコーダに前記複数のサブワード線を互い違いに接続してもよい。
【0015】
本発明において、前記出力回路は、前記入力選択回路により選択された所定数のビット線を前記入出力経路に選択的に接続する出力スイッチ回路と、前記入出力経路を経由して前記出力変数を保持する出力ラッチ回路とを含む構成としてもよい。
【0016】
本発明において、前記メモリセルアレイに対し、前記入出力経路を経由して前記出力ラッチ回路とは異なる経路でデータを入出力可能に構成してもよい。
【0017】
本発明において、前記メモリセルアレイの入出力ビット構成は、前記入出力経路のビット幅の範囲内で変更可能に構成してもよい。
【0018】
本発明において、前記N個のルックアップテーブルは、N個のDRAM回路を用いて構成してもよい。
【0019】
一方、本発明のルックアップテーブルカスケードアレイ回路は、上述のN個のルックアップテーブルカスケード回路がワード線延伸方向にM系統アレイ状に並べて配置され、異なる前記ルックアップテーブルカスケード回路の同位置のM個の前記メモリセルアレイにおいて、前記外部入力変数が共通の経路を介して伝送され、前記外部出力変数が共通の経路を介して伝送されるように構成される。
【0020】
また、本発明のルックアップテーブルカスケードアレイ回路は、上述のN個のルックアップテーブルカスケード回路がワード線延伸方向にM系統アレイ状に並べて配置され、異なる前記ルックアップテーブルカスケード回路の同位置のM個の前記メモリセルアレイにおいて、前記複数のメインワード線が共有され、外部から入力される共通の前記入力変数に応じて選択されたメインワード線が活性化されるように構成される。
【0021】
本発明のパイプライン制御方法は、上述のルックアップテーブルカスケードアレイ回路に対し、所定の順に従ってパイプライン制御を実行するものであり、前記所定の順のうち連続する2系統の前記ルックアップテーブルカスケード回路における同位置の2つの前記ルックアップテーブルに対し、第1のタイミングで、第1のルックアップテーブルを選択して前記入力選択回路を動作させ、前記第1のタイミングから所定の遅延時間の経過後に前記出力回路から前記出力変数を出力して後段に伝送する第1の動作を実行し、前記所定の遅延時間が経過する前の第2のタイミングで、第2のルックアップテーブルを選択して前記入力選択回路を動作させ、前記第2のタイミングから所定の遅延時間の経過後に前記出力回路から前記出力変数を出力して後段に伝送する第2の動作を実行し、全ての前記ルックアップテーブルに関し、同様の手順で先行するルックアップテーブルに対し前記第1の動作を実行し、後続のルックアップテーブルに対し前記第2の動作を実行する。
【0022】
この場合、前記M個のルックアップテーブルカスケード回路の各々における前記第1の動作及び前記第2の動作を、所定の周期を有するクロック信号に同期して制御し、前記第1のタイミングと前記第2のタイミングの時間差を前記クロック信号の1周期分に相当するようにしてもよい。
【発明の効果】
【0023】
本発明によれば、一般的なメモリ回路及びその付加回路を用い、メモリセルアレイ、入力選択回路、出力回路、接続回路をそれぞれ複数配置して組合せ回路方式に基づくルックアップテーブルカスケード回路が構成される。各々のメモリセルの読み出し対象のデータは、前段の出力変数と外部入力変数に応じて接続回路により分配出力された入力変数に基づき、ビット線とワード線が選択される。この場合、ルックアップテーブルの各段は入出力構造が柔軟であり、接続回路への接続情報の設定に応じて自在に可変できる。従って、回路構成及び制御を複雑にすることなく、効率的かつ高集積なルックアップテーブルカスケード回路を構成することができるとともに、接続回路と異なるメモリ回路の入出力経路を利用することで、ルックアップテーブルへの書き込み動作も自在に行うことができる。
【0024】
また、本発明のルックアップテーブルカスケード回路をアレイ状に配置することで、多様な論理機能を並列に実行可能なルックアップテーブルカスケードアレイ回路を実現することができる。この場合、異なるカスケード接続の同位置に配置された各ルックアップテーブルは、互いにワード線や信号線の経路を共有することができ、これによりパイプライン制御による動作を実現することができる。従って、異なるルックアップテーブルカスケード回路を並列に動作させることができ、実効的な演算速度の向上が可能となる。
【発明を実施するための最良の形態】
【0025】
以下、本発明の実施形態について図面を参照しながら説明する。ここでは、複数のルックアップテーブル(以下、LUTと呼ぶ)を多段に接続してLUTカスケード回路をDRAM等のメモリ回路を用いて構成する場合の2つの実施形態を説明する。
【0026】
(第1実施形態)
第1実施形態では、複数のLUTを多段に接続した1つのLUTカスケード回路を構成する場合の一形態を説明する。図1は、第1実施形態のLUTカスケード回路に含まれる単位LUT回路の基本構成を示すブロック図である。図1に示す単位LUT回路は、例えば、一般的なDRAMの構成要素に、LUTの機能に必要な回路を付加して構成される。
【0027】
図1に示すように、メモリセルアレイに構成されたLUT10と、メインロウデコーダ11と、2つのサブデコーダ12と、カラムデコーダ13と、セレクタ回路14と、出力スイッチ回路15と、出力ラッチ回路16とを含んで単位LUT回路が構成されている。また、単位LUT回路の周辺には、接続情報を保持する接続メモリ20と、LUT構成情報を保持するLUT構成メモリ21が配置されている。
【0028】
図1の単位LUT回路は所定の論理関数として機能する。LUTカスケード回路の前段から伝送された16ビットの出力変数は、セレクタ回路14の入力信号Iとして入力されるとともに、外部から9ビットの外部入力変数EIがセレクタ回路14に入力される。セレクタ回路14では入力された25ビットは、後述するように、16ビットの外部出力変数EOと6ビットの入力変数X1(第1の入力変数)と3ビットの入力変数X2(第2の入力変数)に分配出力される。また、外部から5ビットの外部入力変数EX(第3の入力変数)がメインロウデコーダ11に入力される。これらの入力変数X1、X2及び外部入力変数EXは、一体的にLUT10に供給される14ビットの入力変数となる。一方、出力ラッチ回路16からは、16ビットの出力変数YがLUTカスケード回路の後段に出力される。
【0029】
LUT10が構成されるメモリセルアレイは、複数のビット線とこれに直交する複数のワード線の交点に形成された多数のメモリセルからなる。各々のメモリセルには、論理関数に応じたLUTデータの1ビット分が記憶保持されている。LUT10内におけるアクセス対象のワード線は、ワード線階層構造に基づいてメインロウデコーダ11及び2つのサブデコーダ12により選択される。また、LUT10内におけるアクセス対象のビット線は、カラムデコーダ13により選択される。これらのメインロウデコーダ11、サブデコーダ12、カラムデコーダ13は一体的に本発明の入力選択回路として機能する。なお、メモリセルアレイ及び各デコーダの具体的な構成及び動作については後述する。
【0030】
本発明の接続回路として機能するセレクタ回路14は、上述の入力信号I及び外部入力変数EIを合わせた25ビットを入力し、接続メモリ20から供給される接続情報に基づき所定のシフト量だけシフトした後のデータを選択的に分配出力する。シフト後のデータのうち、16ビットの外部出力変数EOが外部に出力され、6ビットの入力変数X1がカラムデコーダ13に出力され、3ビットの入力変数X2が2つのサブデコーダ12に出力される。
【0031】
出力スイッチ回路15は、LUT10におけるアクセス対象の16ビット分のデータの入出力経路をLUT構成メモリ21から供給されるLUT構成情報に基づきスイッチ制御し、16ビットの入出力バスと選択的に接続する回路である。また、出力ラッチ回路16は、出力スイッチ回路15から入出力バスに出力された16ビットのデータをラッチし、後段の回路に出力する回路である。なお、第1実施形態においては、メモリセルアレイのアクセス時の入出力ビット構成(データ幅)を4ビット構成、8ビット構成、16ビット構成の中から選択的に設定可能であり、後述の制御に従って設定された入出力ビット構成で後段のLUT10にデータが出力される。これらの出力スイッチ回路15及び出力ラッチ回路16は、一体的に本発明の出力回路として機能する。
【0032】
ここで、図1には示していないが、出力スイッチ回路15から出力ラッチ回路16を経由して後段に伝送される経路とは別に、入出力バスを経由して出力スイッチ15と接続される経路を設けることができる。このような経路を用いて外部からの書き込みデータを入出力バスから出力スイッチ15を経由して、メモリセルアレイに書き込むことができる。これにより、各々のLUT10の内容を自在に書き換えることができる。
【0033】
図1に示す単位LUT回路により、14入力16出力の論理関数を実現することができる。この論理関数の14ビットの入力変数には、6ビットの入力変数X1、3ビットの入力変数X2、5ビットの外部入力変数EXが含まれる。このうち、入力変数X1、X2の9ビット分については、セレクタ回路14により前段の出力変数Yと外部入力変数EIが任意のビット数で分配される。また、この論理関数の16ビットの出力変数は、出力ラッチ回路16から出力される出力変数Yに対応し、このうち任意のビット数を後段のセレクタ回路14から外部出力変数EOとして取り出すことができる。
【0034】
次に、LUT10の入力側のセレクタ回路14の構成及び動作について図2及び図3を参照して説明する。図2に示すセレクタ回路14は、シフタ回路30と、シフタ回路30の入力側の第1入力レジスタ31及び第2入力レジスタ32と、シフタ回路30の出力側の第1出力レジスタ33及び第2出力レジスタ34とにより構成される。第1入力レジスタ31は、前段から入力される16ビットの入力信号Iを保持する16ビットのレジスタであり、第2入力レジスタ32は、外部から入力される9ビットの外部入力変数EIを保持する9ビットのレジスタである。
【0035】
シフタ回路30は、第1入力レジスタ31に保持される16ビットと第2入力レジスタ32に保持される9ビットを合わせた25ビットを入力し、接続メモリ20からの接続情報としてのシフト量に応じて、入力された25ビットを所定のタイミングで図2の下部方向にシフトする。シフタ回路30によるシフト動作が行われると、シフト後の25ビットのうちの16ビットが第1出力レジスタ33に出力され、9ビットが第2出力レジスタ34に出力される。第1出力レジスタ33の16ビットは外部出力変数EOとして外部出力される。一方、第2出力レジスタ34の9ビットは、6ビットが入力変数X1としてカラムデコーダ13に出力され、3ビットが入力変数X2として2つのサブデコーダ12に共通に出力される。
【0036】
ここで、シフタ回路30によるシフト動作の例について図3を用いて説明する。図3は、シフト量が4ビットに設定される場合の例を示している。なお、シフト量が0に設定されている場合は、シフタ回路30を介して、第1入力レジスタ31の保持データがそのまま第1出力レジスタ33に送られ、第2入力レジスタ32の保持データがそのまま第2出力レジスタ34に送られることになる。図3に示すように、入力信号Iが16ビットのA0〜A15により構成され、外部入力変数EIが9ビットのB0〜B8により構成されるものとする。この場合、シフタ回路30で4ビットのシフト動作が行われると、第1出力レジスタ33では、下位12ビットに入力信号Iの上位12ビットA4〜A15が保持され、上位4ビットはドントケアとなる。また、第2出力レジスタ34では、上位4ビットに入力信号Iの下位4ビットA0〜A3が保持され、下位5ビットに外部入力変数EIの上位5ビットB4〜B8が保持されるが、外部入力変数EIの下位4ビットB0〜B3については、シフタ回路30のシフト動作により消失する。
【0037】
次に、LUT10の構成例について図4を参照して説明する。図4の例では、一般的なDRAMのメモリセルアレイ10Mと、メモリセルアレイ10Mの両側に配置されるセンスアンプ列10L、10Rの具体的な構成を示している。メモリセルアレイ10Mは、複数のワード線WLとそれに直交する複数のビット線BLが配置され、ワード線WLとビット線BLの交点には多数のメモリセルMCが形成されている。ビット線BLは2本1組となってビット線ペアBPを構成する。図4の例では、各ビット線ペアBPと1本のワード線WLの2つの交点のうち、いずれかの交点にのみ1つのメモリセルMCが形成される。なお、図4のメモリセルMCの各交点への配置パターンは一例であり、同様のデータを記憶保持し得る多様な配置パターンを採用することができる。
【0038】
図4のビット線ペアBPに番号を付して示すように、256組のビット線ペアBP0〜BP255が両側のセンスアンプ列10L、10Rの各センスアンプSAと互い違いに接続されている。すなわち、偶数番号の128組のビット線ペアBPが左側のセンスアンプ列10LのセンスアンプSAに接続され、奇数番号の128組のビット線ペアBPが右側のセンスアンプ列10RのセンスアンプSAに接続される。各々のセンスアンプSAは、2つの入力端子がビット線ペアBPの2本のビット線BLの間に接続され、メモリセルMCの電荷により生じるビット線ペアBPの微小電位を増幅してメモリセルMCに再書き込みするように動作する。
【0039】
メモリセルアレイ10Mのワード線延伸方向の両端部には、上述の2つのサブデコーダ12が対称的に配置されている。ワード線WLに番号を付して示すように、256本のワード線WLが両側のサブデコーダ12と互い違いに接続されている。すなわち、偶数番号の128本のワード線WLが上側のサブデコーダ12に接続され、奇数番号の128本のワード線WLが下側のサブデコーダ12に接続される。上側及び下側の2つのサブデコーダ12では、後述するように、32本のメインワード線MWL(図9参照)が接続され、上記の入力変数X2に応じて8本ごとのワード線(サブワード線)WLのいずれかを選択的にメインワード線MWLと接続するように動作する。
【0040】
また、図4の例ではDRAMを用いたLUT10を想定しているが、他のメモリ回路を用いたLUT10を構成してもよい。図5は、図4に対応するLUT10の変形例であり、図4のセンスアンプSAが設けられないメモリ回路を用いたメモリセルアレイ10の構成を示している。図5のメモリセルアレイ10Mにおいては、ビット線BLの両側のセンスアンプSAが設けられない点を除き、ワード線WL、ビット線BL、ビット線ペアBP、メモリセルMCのそれぞれの配置が図4と同様である。上述したように図4の構成は、例えばDRAMを用いる場合を想定しているのに対し、図5の構成は、例えばSRAMを用いる場合を想定したものである。SRAMのメモリセルMCを読み出す場合、ビット線BLを介して出力ラッチ回路16を直接駆動するのに十分な信号を供給できるので、センスアンプSAを設ける必要がない。
【0041】
次に、LUT10の出力側の出力スイッチ回路15の構成及び動作について、カラムデコーダ13及び出力ラッチ回路16との関係を含め、図6及び図7を参照して説明する。図6は、出力スイッチ回路15の概略構成を示す図であり、図7は、カラムデコーダ13の選択動作を示す図である。図6に示すように、出力スイッチ回路15は、番号を付して示される256本のビット線BL(BL0〜BL255と表記する)のうちの連続する4本ごとに接続される64個のスイッチSW(SW0〜SW63と表記する)を含んでいる。ここで、256本のビット線BL0〜BL255は、LUT10が図4に示す構成を有する場合、256組のビット線ペアBP0〜BP255の各相補対のいずれか一方のビット線BLに対応する。なお、256組のビット線ペアBPの各相補対の双方のビット線BLが接続される構成については後述する。
【0042】
256本のビット線BL0〜BL255は配置順に連続する16本が1組となって、16本の配線群からなる16ビットの入出力バスBに接続される関係にある。一方、入出力バスBの16本の配線群は、順に16ビットの出力ラッチ回路16と接続される。従って、出力ラッチ回路16には、スイッチSW0〜SW63のうちの連続する4個を経由する16本のビット線BLのデータを取り込むことができる。
【0043】
図6において、64個のスイッチSW0〜SW63は、それぞれ異なる64個の選択信号YS(YS0〜YS63と表記する)に応じてオン・オフが切り替え制御される。カラムデコーダ13は、セレクタ回路14から出力される入力変数X1に基づいて64個の選択信号YSを選択的に活性化する。上述したように、図1の単位LUT回路においては、LUT構成メモリ21から供給されるLUT構成情報に基づき、3通りの入出力ビット幅(4ビット構成、8ビット構成、16ビット構成)の中から選択的に設定することができる。よって、カラムデコーダ13では、設定された入出力ビット幅に対応して異なる選択動作が実行される。
【0044】
図7は、入出力ビット幅の3通りの設定に対応するカラムデコーダ13の選択動作を示している。4ビット構成の設定時は、カラムアドレスとしての入力変数X1の全6ビットに基づき1つの選択信号YSが活性化される。8ビット構成の設定時は、入力変数X1の最下位ビットを除く上位5ビットに基づき連続する2つの選択信号YSが活性化される。16ビット構成の設定時は、入力変数X1の下位2ビットを除く上位4ビットに基づき連続する4つの選択信号YSが活性化される。これにより、活性化された選択信号YSと同数のスイッチSWがオンに制御され、その4倍の連続する最大16本のビット線BLを入出力バスBの16本の配線群に接続することができる。
【0045】
さらに、カラムデコーダ13は、選択信号YSに加えて、入力変数X1の下位2ビットに基づき4つのセット選択信号SS0〜SS3を生成して選択的に活性化する。このセット選択信号SS0〜SS3は、出力ラッチ回路16を4ビットごとに区分し、ビット線BLの配置順に各4ビットをセットS0、S1、S2、S3により表し、いずれのセットS0〜S3を選択すべきかを通知する信号である。図7に示すように、入力変数X1の下位2ビットのパターンが00、01、10、11の順に、セット選択信号S0、S1、S2、S3が活性化され、この4パターンが繰り返される。
【0046】
図6の出力ラッチ回路16の例では、下側から順に番号が付記され、セットS0(0〜3)、セットS1(4〜7)、セットS2(8〜11)、セットS3(12〜15)と区分されている。まず、4ビット構成の設定時は、活性化されたセット選択信号S0〜S3の1つに対応するセットS0〜S4の1つにより、アクセス対象の4本のビット線BLのデータが出力される。8ビット構成の設定時は、セット選択信号SS0、SS1のいずれかが活性化されたときは2つのセットS0、S1により、セット選択信号SS2、SS3のいずれかが活性化されたときは2つのセットS2、S3により、それぞれアクセス対象の8本のビット線BLのデータが出力される。16ビット構成の設定時は、セット選択信号S0〜S3の活性化に関わらず、4つのセットS0〜S3全てにより、アクセス対象の16本のビット線BLのデータが出力される。従って、出力ラッチ回路16から出力されるデータを取り込む場合、4ビット又は8ビット構成の設定時はセット選択信号SS0〜SS3に基づきデータを選択する付加回路が必要であるが、16ビット構成の設定時は付加回路が不要となる。なお、第1実施形態においては、主に16ビット構成が設定される場合を説明するものとする。
【0047】
図8は、図6の出力スイッチ回路15の具体的な構成例を示している。図8の構成例では、出力スイッチ回路15の下側の2つのスイッチSW0、SW1に対応する回路部分のみを示している。図8に示すように、ビット線ペアBPの相補対をなす2本のビット線BPの双方にスイッチトランジスタSWTが接続されている。例えば、最初のビット線ペアBPに対応して1本置きに配置されたT(ツルー)側のビット線BP0(T)とB(バー)側のビット線BP0(B)のそれぞれにスイッチトランジスタSWTが接続されている。他のビット線ペアBPについても同様の関係で配置され、スイッチSW0、SW1の各々は8個のスイッチトランジスタSWTにより構成されている。スイッチSW0の各スイッチトランジスタSWのゲートには選択信号YS0が印加され、スイッチSW1の各スイッチトランジスタSWのゲートには選択信号YS1が印加されている。一方、入出力バスBについても相補対をなすビット線ペアBPに対応して、図6の2倍の32本の配線群からなる。ただし、入出力バスBにおいて実際に伝送されるデータは16ビットであり、最終的には相補対の一方側の16ビットのみを取り込めばよい。一方、この構成を用いると、入出力バスBを直接経由して論理関数のデータとは異なる経路でメモリセルアレイ10Mの読み出し又は書き込みを実行できるので、汎用DRAMと同様にメモリセルアレイ10Mにアクセスすることが可能である。
【0048】
次に、LUT10に付随する2つのサブデコーダ12の回路構成について図9を参照して説明する。図9に示すように、上側のサブデコーダ12は、偶数番号の128本のワード線WLに接続された128個の選択トランジスタSTから構成され、下側のサブデコーダ12は、奇数番号の128本のワード線WLが接続された128個の選択トランジスタSTから構成される。図9では、各サブデコーダ12の一部の回路のみを示しているが、4個の選択トランジスタSTが1組をなし、各選択トランジスタSTが異なるワード線WLと共通のメインワード線MWL0の間に接続されて導通制御される。図9の例においては、2つのサブデコーダ12により、共通のメインワード線MWL0と8本のワード線WL0〜WL7の間の接続を導通制御することができる。各サブデコーダ12の全体で、同様の配置が繰り返され、全部で32本のメインワード線MWLをそれぞれ4本ずつ計256本のワード線WLと接続可能に構成されている。
【0049】
2つのサブデコーダ12の端部には、2つのプリデコーダPDが配置されている。これらのプリデコーダPDは、セレクタ回路14から出力される3ビットの入力変数X2に基づき、8本のデコード信号D0〜D7を選択的に活性化する。デコード信号D0〜D3の各々は、下側のサブデコーダ12の各組の異なる1個の選択トランジスタSTのゲートに接続され、それぞれ32個の選択トランジスタSTの導通制御に用いられる。同様に、デコード信号D4〜D7の各々は、上側のサブデコーダ12の各組の異なる1個の選択トランジスタSTのゲートに接続され、それぞれ32個の選択トランジスタSTの導通制御に用いられる。
【0050】
2つのサブデコーダ12において、入力変数X2のうち1ビットが上側と下側のサブデコーダ12の選択に用いられ、残りの2ビットが各配置中の4個の選択トランジスタSTの選択に用いられる。よって、所定の入力変数X2に対応して8本のデコード信号D0〜D7の1本のみが活性化される。この場合、1本のメインワード線MWLがメインロウデコーダ11により選択されるので、2つのサブデコーダ12により、選択されたメインワード線MWLに対応する1本のワード線WLが選択されることになる。なお、2つのサブデコーダ12をワード線延伸方向の一端のみに集約することもできるが、ワード線WLのピッチに対して回路配置を緩和するためには、図9の構成が有利となる。
【0051】
次に、第1実施形態の単位LUT回路が多段にカスケード接続されたLUTカスケード回路について説明する。図10は、N個の単位LUT回路を順番に接続して構成されるLUTカスケード回路の構成例を示している。LUTカスケード回路の任意の単位LUT回路には、それぞれ外部から9ビットの外部入力変数EIがセレクタ回路14に入力され、5ビットの外部入力変数EXがメインロウデコーダ11に入力される。また、2段目以降の単位LUT回路のセレクタ回路14は、前段の出力ラッチ回路16からの16ビットの出力変数Yを順次入力し、16ビットの外部出力変数EOを外部出力する。最終段の単位LUT10から、16ビットの出力変数Yを取り出すことができる。
【0052】
図10においては、図示されない接続メモリ20から各々の単位LUT回路に接続情報が供給される。各単位LUT回路に対しては、接続情報に含まれるシフト量を独自に設定可能であり、各セレクタ回路14の動作により論理関数の所望の接続形態を自在に実現することができる。例えば、セレクタ回路14のシフト量が16に設定される場合、前段の単位LUT回路から出力される16ビットのデータのうち上位9ビットを後段の単位LUT回路に伝送することができる。逆に、セレクタ回路14のシフト量が0に設定される場合は、前段の単位LUT回路から後段の単位LUT回路にデータが伝送されず、カスケード接続が途切れ、その段で論理関数が完結することを表す。
【0053】
次に、第1実施形態のLUTカスケード回路を用いて論理機能を実現する半導体装置にについて説明する。図11は、このような半導体装置の一例としてのプログラマブルロジックLSIの全体構成を示すブロック図である。図11に示すプログラマブルロジックLSIは、それぞれが所定の論理機能を担う複数の論理ブロック1と、これらの論理ブロック1に入出力されるデータの接続経路を切り替える複数の接続回路2と、半導体装置の内部と外部の間でデータを入出力する2つの入出力回路3を備えている。また、各論理ブロック1と接続回路2の間を接続する入出力バス4と、各接続回路2同士又は各接続回路2と入出力回路3の間を接続する接続バス5が配線されている。図11の構成のうち、論理ブロック1と接続回路2の構成を図12及び図13に示している。
【0054】
論理ブロック1は、第1実施形態のLUTカスケード回路により実現される論理関数を用いて所定の論理機能を実現する回路である。図12に示すように、論理ブロック1は、複数の単位LUT回路からなるLUTカスケード回路6と、所定の論理演算を実行する論理回路7から構成される。LUTカスケード回路6は、例えば図10のように構成される。論理ブロック1においては、論理回路7がLUTカスケード回路6を制御して所望の論理関数の演算を実行する。また、論理ブロック1は入出力線4を介して外部との間で、所定ビット数の入出力データを伝送可能に構成されている。なお、図12では、入出力線4に8本の配線が含まれる例を示しているが、実際のビット幅は回路構成に応じて変わる。
【0055】
図13に示すように、接続回路2は、コンフィギュレーションデータを記憶するコンフィギュレーションメモリ8と、マトリクス状に配置された多数のスイッチからなるスイッチングマトリクス9から構成される。コンフィギュレーションメモリ8に記憶されるコンフィギュレーションデータに基づいて、スイッチングマトリクス9における接続状態が指定される。スイッチングマトリクス9では、指定された接続状態に応じて多数のスイッチを水平接続バス5h又は垂直接続バス5vと選択的に接続することができる。それぞれ、水平接続バス5hは水平方向に延伸される配線群であり、垂直接続バス5vは垂直方向に延伸される配線群である。この場合、コンフィギュレーションメモリ8のコンフィギュレーションデータを書き換えることにより、スイッチングマトリクス9の接続状態を自在に変更することができる。
【0056】
図11に戻って、20個の接続回路2のうち、10個は水平方向に隣接する論理ブロック1と入出力線4を介して接続され、残りの10個は、水平方向又は垂直方向に隣接する接続回路2又は入出力回路3と接続バス5を介して接続される。このような接続により、任意の論理ブロック1から、複数の接続回路2及び入出力回路3を経由して外部との間でデータを入出力することができる。
【0057】
なお、図11のプログラマブルロジックLSIの例は、8個の論理ブロック1と、20個の接続回路2が含まれるが、論理ブロック1の個数と接続回路2の個数は自在に選択することができる。また、論理ブロック1、接続回路2、入出力回路3の配置と接続形態についても、図11に限られることなく多様な選択が可能である。
【0058】
以上説明した第1実施形態のLUTカスケード回路を用いることにより、DRAM等の汎用的なメモリ回路が有する仕組みを利用して、各々のLUT10に所望の入力変数を与え、かつ所望の出力変数を取り出すことができる。入力変数はメインロウデコーダ11、サブデコーダ12、カラムデコーダ13にそれぞれ振り分けられ、選択されたメモリセルMCから読み出された出力変数は出力スイッチ回路15と出力ラッチ回路16を経由して選択的に取り出すことができ、既存のメモリ回路に小規模の回路を付加して構成可能である。また、隣接する単位LUT間にセレクタ回路14を配置したので、シフタ回路30のシフト量に応じて、内部の信号の受け渡しと外部入出力の関係を柔軟に切り替え制御することができる。例えば、一般的なDRAMを用いて単位LUT回路を構成する場合、大容量・高集積度のLUTが多段に接続されたLUTカスケード回路を小面積で実現することができる。また、LUTカスケード回路内では最短のパスで信号が伝送されるので、レイテンシを短縮することができる。さらに、出力スイッチ回路15に接続される入出力バスBを用いて、論理関数のデータとは異なる経路でメモリセルアレイ10Mへの書き込みを実行できるので、LUTの内容を迅速かつ簡単に変更することができる。
【0059】
(第2実施形態)
第2実施形態では、複数のLUTを多段に接続したLUTカスケード回路を複数系統配置し、パイプライン制御を実行する場合の一形態を説明する。第2実施形態においては、単位LUT回路の基本的な形態の多くは第1実施形態と共通であり、図1〜図8については同様の構成及び動作となるので、説明を省略する。一方、第2実施形態の単位LUT回路においては、LUT10に付随する2つのサブデコーダ12の周辺の回路構成が第1実施形態とは異なる。
【0060】
図14は、第2実施形態の2つのサブデコーダ12とその周辺の回路構成を示す図である。2つのサブデコーダ12そのものの回路構成と2つのプリデコーダPDの機能については、第1実施形態と同様である。一方、図14においては、2つのサブデコーダ12に隣接する2つのリセット回路17が設けられている。各々のリセット回路17は、共通接続されたゲートにリセット信号RSTが印加された複数のリセット用トランジスタRTから構成されている。リセット信号RSTは、単位LUT回路の図示しない制御回路から供給される。2つのリセット回路17において、リセット用トランジスタRSTは選択トランジスタと同数の256個が並列に配置されている。各々のリセットトランジスタRTは、互いに異なるワード線WLとグランドの間に接続され、リセット信号RSTに応じて導通制御される。
【0061】
リセット信号RSTがローのときは、各リセット用トランジスタRTがオフとなり、各ワード線WLの状態に影響を与えない。リセット信号RSTがハイのときは、各リセット用トランジスタRTがオンとなり、各ワード線WLが強制的にローになる。このようにリセット回路17の役割は、1本のメインワード線MWLに対応する1本のワード線WLが活性化された状態にあるとき、パイプライン制御に基づく所定のタイミングで、活性化されているワード線WLをリセットすることである。これにより、複数のワード線WLを順次活性化する場合の制御を迅速に実行可能となる。
【0062】
次に、第2実施形態の単位LUT回路が多段にカスケード接続されたLUTカスケード回路をアレイ状に配置したLUTカスケードアレイ回路について説明する。図15は、N個の単位LUT回路を順番に接続したLUTカスケード回路を2系統アレイ状に配置したLUTカスケードアレイ回路の構成例を示している。第2実施形態ではパイプライン制御を実行するため、異なる論理機能を担う複数系統のLUTカスケード回路を配置することが前提となる。図15の2つのLUTカスケード回路C0、C1には、初段の単位LUT回路にそれぞれカスケード選択信号SC0、SC1が供給され、LUTカスケード回路C0、C1のいずれかをカスケード選択信号SC0、SC1に応じて選択することができる。なお、実際には、M系統のLUTカスケード回路を配置することができるが、簡単のためM=2の場合を説明する。
【0063】
図15の構成では、各々の単位LUT回路に入力される外部入力変数EIと外部入力変数EXを保持する入力信号レジスタ41と、2段目以降の単位LUT回路から出力される外部出力変数EO及び最終段の単位LUT回路から出力される出力変数Yを保持する出力信号レジスタ42が設けられている。図15の縦方向の2つの単位LUT回路では、共通の経路を介して上記の外部入力変数EI及び外部入力変数EXが伝送されるとともに、共通の経路を介して上記の外部出力変数EO及び最終段の出力変数Yが伝送される。よって、縦方向の2つの単位LUT回路は異なるタイミングで入出力を制御する必要がある。
【0064】
また、図15の横方向に配置されたN個のLUT10は、共通のLUTカスケード回路C0又はC1に属する構成要素であり、図10と同様の接続関係となる。一方、図15の縦方向の同位置に配置された2つのLUT10は、互いが属するLUTカスケード回路C0、C1は異なるが、1つのメインロウデコーダ11を共有し、複数のメインワード線MWLが共通に配置されている。よって、各々のメインワード線MWLは、上側のLUT10の8本のワード線WLと、下側のLUT10の8本のワード線WLに選択的に接続することができる。ただし、上下のLUTカスケード回路に付与する外部入力変数EIと外部入力変数EXは異なるので、縦方向の2つのLUT10に対して同時にアクセスすることはできない。このように、図15の構成は、2つのLUTカスケード回路C0、C1を異なる制御タイミングで動作させるようなパイプライン制御に適している。
【0065】
次に、図15の2つのLUTカスケード回路C0、C1に対するパイプライン制御について説明する。図16は、図15において縦方向に隣接する2つのLUT10に対する読み出し動作を例にとり、パイプライン制御に対応する動作波形図を示している。第2実施形態のパイプライン制御は、所定の周期T0を有するクロック信号CKに同期して行われる。時刻t=0において、LUTカスケード回路C0の側のLUT10に対する読み出し動作の実行が開始されるものとする。
【0066】
時刻t=0では、外部入力変数EXに応じた所定のメインワード線MWLが活性化されるとともに、セレクタ回路14からのアドレス信号に応じた所定のデコード信号Dが活性化される。これにより、LUT10のアクセス対象のワード線WLが活性化される。このとき、リセット回路17に供給されるリセット信号RSTがローに変化し、ワード線WLのリセット状態が解除される。そして、時刻t=0.5T0において、メインワード線MWLとデコード信号Dがローに変化するが、この時点のワード線WLのレベルは寄生容量により保持される。
【0067】
その後、所定のタイミングで各センスアンプSAによるメモリセルMCの増幅動作が完了し、アクセス対象のメモリセルMCから読み出される16ビットのデータが確定し、続いて所定の時間が経過した後に、出力スイッチ回路15に供給される所定の選択信号YSがハイに変化し、連続する4個のスイッチSWがオンに制御される。これにより、アクセス対象の16本のビット線BLが入出力バスBに接続され、16ビットの出力変数Yとして後段に伝送される。時刻t=3T0において、LUT10に対する次の読み出し動作のためにリセット信号RSTがハイに変化してワード線Wがリセットされ、選択信号YSが非活性状態に戻る。
【0068】
一方、LUTカスケード回路C0の読み出し動作から1サイクル遅れた時刻t=T0において、LUTカスケード回路C1の側のLUT10に対する読み出し動作の実行が開始される。LUTカスケード回路C1の各信号波形は、LUTカスケード回路C0から1サイクル遅れるだけであり、同様のパターンで変化する。図16からわかるように、時刻t=T0において、LUTカスケード回路C0の側では、LUT10の読み出し動作が終了していないが、メインワード線MWL及びデコード信号Dが非活性状態に戻っている。よって、2つのLUTカスケード回路C0、C1の各LUT10では、互いの動作を1サイクルずらせば、互いに異なるワード線WLを選択することができる。入出力バスBについても、互いの動作を1サイクルずらせば、異なるデータを伝送することができる。
【0069】
図16では、2つのLUTカスケード回路C0、C1に対するパイプライン制御を示しているが、さらに多数のLUTカスケード回路を配置する場合であっても同様に考えることができる。すなわち、縦方向の同位置のLUT10に対する読み出し動作は、順番に1サイクルずつ遅延させながら読み出し動作を実行すればよい。このようなパイプライン制御を導入することにより、単独のLUTカスケード回路のみを動作させる場合に比べ、LUT10に対する実質的な読み出し速度を高くし、スループットの向上が可能となる。
【0070】
次に、パイプライン制御を実行する場合、複数系統のLUTカスケード回路を構成する各単位LUT回路に対する読み出し動作の時間的推移について、図17〜図19を参照して説明する。以下では、4系統のLUTカスケード回路のそれぞれに4つの単位LUT回路が含まれ、全部で16個のLUT10を読み出す場合を例にとって説明する。図17〜図19では簡単のため、4系統のLUTカスケード回路C0、C1、C2、C3が縦方向に並列配置され、各々のLUTカスケード回路C0〜C3には、横方向に配置された4つのLUTL0、L1、L2、L3が含まれる構成をマトリクス状に表している。また、時刻t=0から開始して、周期T0ごとに増加する各時刻における8段階の制御状態を表している。
【0071】
図17は、比較のためにパイプライン制御を行わない場合の制御状態の推移を示している。t=0では、LUTカスケード回路C0の先頭のLUTL0がアクセスされる。これ以降、t=T0、2T0、3T0と経過するごとに、LUTカスケード回路C0のLUTL1、L2、L3の順でアクセスされ、最終段のLUTL3の出力変数Yが確定する。一方、LUTカスケード回路C1は、t=0〜3T0の範囲内ではアクセスされることなく、LUTカスケード回路C0の読み出し完了後のt=4T0で先頭のLUTL0がアクセスされる。よって、時刻t=4T0〜7T0の範囲内ではLUTカスケード回路C1のアクセスのみ実行される。これ以降の制御も同様であり、同時に2つのLUTカスケード回路がアクセスされることはなく、4つのLUTカスケード回路C0〜C3のアクセスが完了するのは時刻t=16T0となる。
【0072】
図18は、パイプライン制御を行ってLUTカスケード回路C0〜C3を1回ずつ動作させる場合の制御状態の推移を示している。t=0では、図17と同様、LUTカスケード回路C0の先頭のLUTL0がアクセスされる。一方、t=T0では、LUTカスケード回路C0の2段目のLUTL1と、LUTカスケード回路C1の先頭のLUTL0の2つが同時にアクセスされる。同様に、t=2T0では、3つのLUTカスケード回路C0、C1、C2の位置が異なる3つのLUT10が同時にアクセスされ、t=3T0では、4つのLUTカスケード回路C0〜C3の位置が異なる4つのLUT10が同時にアクセスされる。これ以降、t=4T0〜7T0の範囲内ではLUTカスケード回路C0、C1、C2、C3の順番に動作が完了し、同時にアクセスされるLUTの数は3個、2個、1個と減少し、t=7T0では全体のアクセスが終了している。
【0073】
図19は、パイプライン制御を行ってLUTカスケード回路C0〜C3を繰り返し動作させる場合の制御状態の推移を示している。この場合、t=0〜3T0の範囲内では、図18と同様の推移になる。一方、t=4T0では、t=3T0で1回目の動作が完了したLUTカスケード回路C0の2回目の動作が開始され、先頭のLUTL0がアクセスされる。これ以降、LUTカスケード回路C1、C2、C3についても、1回目の動作が完了した次のタイミングで、2回目の動作が順次開始される。よって、t=3T0以降においては、常に4つのLUTカスケード回路の4つのLUT10がアクセスされる状態となる。図19の制御は、所定のコマンド等により強制的に動作を終了させるまで繰り返される。
【0074】
図18及び図19のパイプライン制御を図17と比較すると、LUTカスケード回路C0〜C3の各々の動作には4サイクル要する点では共通であるが、4つのLUTカスケード回路C0〜C4を全て動作させる場合のサイクル数を十分に短縮することができる。すなわち、各タイミングでは、4つのLUTカスケード回路C0〜C3の互いに位置が異なる4つのLUTL0〜L3に対して並列アクセスが可能となるため、平均のサイクル数は4分の1に収斂していく。特に、それぞれN個のLUT10を含むLUTカスケード回路をM系統配置する場合、規模が大きくなるほど、パイプライン制御の導入が有利になる。なお、LUTカスケード回路をM系統配置しパイプライン制御を行う場合には、前述の入力信号レジスタ41及び出力信号レジスタ42も、これに合せてM系統配置することが、制御の容易性の点から望ましい。
【0075】
以上説明した第2実施形態のLUTカスケードアレイ回路を用いることにより、第1実施形態のLUTカスケード回路を複数系統配置し、並列に動作させるパイプライン制御を実現することができる。この場合、各々のLUTカスケード回路の同位置の単位LUT回路同士は、ワード線階層構造により1つのメインロウデコーダ11を配置し、メインワード線MWLを共有することができ、効率的な回路を小面積で実現することができる。また、各々のLUTカスケード回路をパイプライン制御に従って並列動作させることにより、論理演算の実効的な処理速度を向上させることができる。
【0076】
以上、上記2つの実施形態に基づいて本発明の内容を具体的に説明したが、本発明は上述の2つの実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の変更を施すことができる。上記の各実施形態では、メモリ回路としてのDRAM回路を用いて本発明を適用する場合を説明したが、DRAM回路に限られず、SRAM回路や不揮発RAM回路を用いて広く本発明を適用することができる。また、本発明の構成を備える回路は、用途及び機能が多様な各種半導体装置において実現することができる。
【図面の簡単な説明】
【0077】
【図1】第1実施形態のLUTカスケード回路に含まれる単位LUT回路の基本構成を示すブロック図である。
【図2】単位LUT回路のセレクタ回路の構成を示す図である。
【図3】セレクタ回路におけるシフタ回路のシフト動作の例を説明する図である。
【図4】LUTの構成例を示す図である。
【図5】図5のLUTの変形例を示す図である。
【図6】出力スイッチ回路の概略構成を示す図である。
【図7】カラムデコーダの選択動作を示す図である。
【図8】図6の出力スイッチ回路の具体的な構成例を示す図である。
【図9】サブデコーダの回路構成について示す図である。
【図10】N個の単位LUT回路を順番に接続して構成されるLUTカスケード回路の構成例を示す図である。
【図11】第1実施形態の半導体装置の一例としてのプログラマブルロジックLSIの全体構成を示すブロック図である。
【図12】図11の論理ブロックの構成を示すブロック図である。
【図13】図11の接続回路の構成を示すブロック図である。
【図14】第2実施形態のサブデコーダの回路構成について示す図である。
【図15】第2実施形態において、N個の単位LUT回路を順番に接続して構成されるLUTカスケード回路を2系統アレイ状に配置したLUTカスケードアレイ回路の構成例を示す図である。
【図16】図15において縦方向に隣接する2つのLUTに対する読み出し動作を例にとり、パイプライン制御に対応する動作波形図を示す図である。
【図17】第2実施形態の複数系統のLUTカスケード回路を構成する各単位LUT回路に対する読み出し動作の時間的推移について、パイプライン制御を行わない場合の制御状態を表す図である。
【図18】第2実施形態の複数系統のLUTカスケード回路を構成する各単位LUT回路に対する読み出し動作の時間的推移について、パイプライン制御を行って各カスケード回路を1回ずつ動作させる場合の制御状態の推移を表す図である。
【図19】第2実施形態の複数系統のLUTカスケード回路を構成する各単位LUT回路に対する読み出し動作の時間的推移について、パイプライン制御を行って各カスケード回路を繰り返し動作させる場合の制御状態の推移を表す図である。
【符号の説明】
【0078】
1…論理ブロック
2…接続回路
3…入出力回路
4…入出力線
5…接続バス
6…LUTカスケード回路
7…論理回路
8…コンフィギュレーションメモリ
9…スイッチングマトリクス
10…LUT
10M…メモリセルアレイ
10L、10R…センスアンプ列
11…メインロウデコーダ
12…サブデコーダ
13…カラムデコーダ
14…セレクタ回路
15…出力スイッチ回路
16…出力ラッチ回路
17…リセット回路
20…接続メモリ
21…LUT構成メモリ
30…シフタ回路
31…第1入力レジスタ
32…第2入力レジスタ
33…第1出力レジスタ
34…第2出力レジスタ
41…入力信号レジスタ
42…出力信号レジスタ
X1、X2…入力変数
Y…出力変数
EX、EI…外部入力変数
EO…外部出力変数
I…(セレクタ回路の)入力信号
WL…ワード線
BL…ビット線
BP…ビット線ペア
MC…メモリセル
SA…センスアンプ
S1、S2、S3、S4…セット
B…入出力バス
PD…プリデコーダ
ST…選択トランジスタ
SW…スイッチ
SWT…スイッチトランジスタ
D0、D1、D2、D3…デコード信号
YS…選択信号
SS0、SS1、SS2、SS3…セット選択信号
C0、C1、C2、C3…LUTカスケード回路
L0、L1、L2、L3…LUT
SC0、SC1…カスケード選択信号

【特許請求の範囲】
【請求項1】
所望の論理関数を実現するN個のルックアップテーブルがカスケード接続されたルックアップテーブルカスケード回路であって、
複数のワード線と複数のビット線の交点に形成された複数のメモリセルに前記ルックアップテーブルのデータを記憶保持するN個のメモリセルアレイと、
前記ルックアップテーブルの入力変数に基づいて、前記メモリセルアレイの読み出し対象の各メモリセルが属する前記ワード線及び前記ビット線を選択するN個の入力選択回路と、
前記入力選択回路により選択された各メモリセルの所定ビット数のデータを入出力経路と選択的に接続し、前記ルックアップテーブルの出力変数として出力するN個の出力回路と、
前記カスケード接続された各段のうち前段の前記出力回路と後段の前記入力選択回路の間に配置され、外部入力変数と前記前段の出力回路から出力される前記出力変数とを入力し、外部出力変数と前記後段の入力選択回路に供給すべき前記入力変数の全部又は一部とを、予め設定された接続情報に応じて選択的に分配出力するN−1個の接続回路と、
を備えることを特徴とするルックアップテーブルカスケード回路。
【請求項2】
各々の前記接続回路は、
入力された前記外部入力変数及び前記出力変数を保持する入力レジスタと、
前記入力レジスタに保持されるデータを、前記接続情報に含まれるシフト量だけシフトするシフタ回路と、
前記シフタ回路によりシフトされたデータを保持して前記外部出力変数及び前記入力変数を出力する出力レジスタと、
を含むことを特徴とする請求項1に記載のルックアップテーブルカスケード回路。
【請求項3】
各々の前記入力選択回路は、
前記複数のワード線を選択的に活性化するロウデコーダと、
前記読み出し対象の各メモリセルが属する所定数のビット線を選択するカラムデコーダと、
を含むことを特徴とする請求項1に記載のルックアップテーブルカスケード回路。
【請求項4】
前記メモリセルアレイには、複数のメインワード線と複数のサブワード線とからなるワード線階層構造が形成され、
前記ロウデコーダは、前記複数のメインワード線を選択的に活性化するメインロウデコーダと、前記複数のサブワード線を選択的に活性化するサブデコーダを含むことを特徴とする請求項3に記載のルックアップテーブルカスケード回路。
【請求項5】
前記入力変数は、前記接続回路から前記カラムデコーダに入力される第1の入力変数と、前記接続回路から前記サブデコーダに入力される第2の入力変数と、外部から前記メインロウデコーダに入力される第3の入力変数とからなることを特徴とする請求項4に記載のルックアップテーブルカスケード回路。
【請求項6】
各々の前記メモリセルアレイのワード線延伸方向の両端部に2つの前記サブデコーダが略対称的に配置され、それぞれの前記サブデコーダに前記複数のサブワード線が互い違いに接続されることを特徴とする請求項4に記載のルックアップテーブルカスケード回路。
【請求項7】
前記出力回路は、前記入力選択回路により選択された所定数のビット線を前記入出力経路に選択的に接続する出力スイッチ回路と、前記入出力経路を経由して前記出力変数を保持する出力ラッチ回路とを含むことを特徴とする請求項1に記載のルックアップテーブルカスケード回路。
【請求項8】
前記メモリセルアレイに対し、前記入出力経路を経由して前記出力ラッチ回路とは異なる経路でデータの入出力が可能であることを特徴とする請求項7に記載のルックアップテーブルカスケード回路。
【請求項9】
前記メモリセルアレイの入出力ビット構成は、前記入出力経路のビット幅の範囲内で変更可能であることを特徴とする請求項7に記載のルックアップテーブルカスケード回路。
【請求項10】
前記N個のルックアップテーブルは、N個のDRAM回路を用いて構成されることを特徴とする請求項1に記載のルックアップテーブルカスケード回路。
【請求項11】
請求項1に記載のN個のルックアップテーブルカスケード回路をワード線延伸方向にM系統アレイ状に並べて配置したルックアップテーブルカスケードアレイ回路であって、
異なる前記ルックアップテーブルカスケード回路の同位置のM個の前記メモリセルアレイにおいては、前記外部入力変数が共通の経路を介して伝送され、前記外部出力変数が共通の経路を介して伝送されることを特徴とするルックアップテーブルカスケードアレイ回路。
【請求項12】
請求項4に記載のN個のルックアップテーブルカスケード回路をワード線延伸方向にM系統アレイ状に並べて配置したルックアップテーブルカスケードアレイ回路であって、
異なる前記ルックアップテーブルカスケード回路の同位置のM個の前記メモリセルアレイにおいては、前記複数のメインワード線が共有され、外部から入力される共通の前記入力変数に応じて選択されたメインワード線が活性化されることを特徴とするルックアップテーブルカスケードアレイ回路。
【請求項13】
請求項11又は12に記載のルックアップテーブルカスケードアレイ回路に対し、所定の順に従ってパイプライン制御を実行するパイプライン制御方法であって、
前記所定の順のうち連続する2系統の前記ルックアップテーブルカスケード回路における同位置の2つの前記ルックアップテーブルに対し、
第1のタイミングで、第1のルックアップテーブルを選択して前記入力選択回路を動作させ、前記第1のタイミングから所定の遅延時間の経過後に前記出力回路から前記出力変数を出力して後段に伝送する第1の動作を実行し、
前記所定の遅延時間が経過する前の第2のタイミングで、第2のルックアップテーブルを選択して前記入力選択回路を動作させ、前記第2のタイミングから所定の遅延時間の経過後に前記出力回路から前記出力変数を出力して後段に伝送する第2の動作を実行し、
全ての前記ルックアップテーブルに関し、同様の手順で先行するルックアップテーブルに対し前記第1の動作を実行し、後続のルックアップテーブルに対し前記第2の動作を実行することを特徴とするルックアップテーブルカスケードアレイ回路のパイプライン制御方法。
【請求項14】
前記M個のルックアップテーブルカスケード回路の各々における前記第1の動作及び前記第2の動作は、所定の周期を有するクロック信号に同期して制御され、前記第1のタイミングと前記第2のタイミングの時間差は前記クロック信号の1周期分に相当することを特徴とする請求項13に記載のルックアップテーブルカスケードアレイ回路のパイプライン制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2008−129824(P2008−129824A)
【公開日】平成20年6月5日(2008.6.5)
【国際特許分類】
【出願番号】特願2006−313637(P2006−313637)
【出願日】平成18年11月20日(2006.11.20)
【出願人】(500174247)エルピーダメモリ株式会社 (2,599)