JP2014032723A - プログラマブル一致判定機能を備えた回路、それを備えたlut回路、それを備えたmux回路、それを備えたfpga装置、およびデータ書込方法 - Google Patents

プログラマブル一致判定機能を備えた回路、それを備えたlut回路、それを備えたmux回路、それを備えたfpga装置、およびデータ書込方法 Download PDF

Info

Publication number
JP2014032723A
JP2014032723A JP2012172854A JP2012172854A JP2014032723A JP 2014032723 A JP2014032723 A JP 2014032723A JP 2012172854 A JP2012172854 A JP 2012172854A JP 2012172854 A JP2012172854 A JP 2012172854A JP 2014032723 A JP2014032723 A JP 2014032723A
Authority
JP
Japan
Prior art keywords
line
switch transistor
transistor
data
drain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2012172854A
Other languages
English (en)
Inventor
Kosuke Tatsumura
光介 辰村
Masato Oda
聖翔 小田
Atsuhiro Kinoshita
敦寛 木下
Koichiro Zaitsu
光一郎 財津
Mari Matsumoto
麻里 松本
Shinichi Yasuda
心一 安田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012172854A priority Critical patent/JP2014032723A/ja
Priority to US13/613,701 priority patent/US8908408B2/en
Publication of JP2014032723A publication Critical patent/JP2014032723A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • G11C15/046Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using non-volatile storage elements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • H03K19/17708Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns using an AND matrix followed by an OR matrix, i.e. programmable logic arrays
    • H03K19/17712Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns using an AND matrix followed by an OR matrix, i.e. programmable logic arrays one of the matrices at least being reprogrammable

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】占有面積や回路遅延を改善する。
【解決手段】実施形態による回路は、2つ以上の1ビット比較器の一致判定端子を接続したマッチラインを有するビット列比較器と、2つ以上のサーチラインと反転サーチラインを含むペア配線と、共通マッチラインと、1つのプリチャージトランジスタと、出力インバータと、を備え、前記1ビット比較器は、少なくとも第1および第2の入力端子と、第1および第2の一致判定端子と、データと反転データとのペアを格納するメモリと、を有し、前記1ビット比較器の前記第1の入力端子は前記サーチラインに接続され、前記1ビット比較器の前記第2の入力端子は前記反転サーチラインに接続され、前記ビット列比較器の前記マッチラインは前記共通マッチラインに接続され、前記プリチャージトランジスタのソースは電源電圧線に接続され、前記プリチャージトランジスタのドレインは前記共通マッチラインに接続され、前記共通マッチラインは前記出力インバータの入力に接続されていることを特徴とする。
【選択図】図1

Description

本発明の実施形態は、プログラマブル一致判定機能を備えた回路、それを備えたLUT回路、それを備えたMUX回路、それを備えたFPGA装置、およびデータ書込方法に関する。
フィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FGPA)に代表される再構成可能な論理回路(Reconfigurable Logic Circuit)は、コンフィグレーションメモリ(Configuration Memory)に記憶されたデータに基づき、所定の論理(回路構成)を実現する。
FPGAの主な構成回路としては、任意の真理値表を実現するLUT(Look-up-Table)と、複数の入力信号から所定の1つを選択的に出力するMUX(Multiplexer)とがある。
通常のLUTは、コンフィグレーションメモリ部と選択回路部とから構成される。LUTは、入力信号に応じて選択回路によって選択される1つのコンフィグレーションメモリに格納されているデータを出力する。
通常のMUXは、コンフィグレーションメモリ部と選択回路部とから構成される。MUXは、複数の入力信号の内、コンフィグレーションメモリ部に格納されているデータに応じて選択回路によって選択される1つの入力信号を出力する。
このように、通常のLUTおよびMUXは、それぞれコンフィグレーションメモリ部と選択回路部とから構成されるため、比較的大きな回路規模を有する。そのため、従来のLUTおよびMUXは、チップの占有面積が大きい、または、信号の伝達遅延が大きい、という問題を有していた。
米国特許第4,642,487号明細書 米国特許第4,870,302号明細書 米国特許第6,961,741号明細書
以下で例示する実施形態は、プログラマブル一致判定機能を備えた回路、それを備えたLUT回路、それを備えたMUX回路、それを備えたFPGA装置、およびデータ書込方法を提供する。
実施形態による回路は、2つ以上の1ビット比較器の一致判定端子を接続したマッチラインを有するビット列比較器と、2つ以上のサーチラインと反転サーチラインを含むペア配線と、共通マッチラインと、1つのプリチャージトランジスタと、出力インバータと、を備え、前記1ビット比較器は、少なくとも第1および第2の入力端子と、第1および第2の一致判定端子と、データと反転データとのペアを格納するメモリと、を有し、前記1ビット比較器の前記第1の入力端子は前記サーチラインに接続され、前記1ビット比較器の前記第2の入力端子は前記反転サーチラインに接続され、前記ビット列比較器の前記マッチラインは前記共通マッチラインに接続され、前記プリチャージトランジスタのソースは電源電圧線に接続され、前記プリチャージトランジスタのドレインは前記共通マッチラインに接続され、前記共通マッチラインは前記出力インバータの入力に接続されていることを特徴とする。
図1は、第1の実施形態にかかるLUT回路の概略構成を示す回路図。 図2は、図1に示す1ビット比較器の一例を示す回路図。 図3は、図2の1ビット比較器に与える検索データの電圧値と不揮発メモリトランジスタに格納されている格納データの電圧値(閾値)との関係を示す図。 図4は、各サーチライン対に与える検索データの組み合わせ例を示す図。 図5は、不揮発メモリトランジスタに格納されている格納データの組み合わせ例を示す図。 図6は、検索データと格納データとに応じた不揮発メモリトランジスタの状態を示す図。 図7は、4入力1出力の真理値表の一例とそれをLUT回路に格納する方法を示す図。 図8は、図7に示す真理値表を図1に示すLUT回路に登録した状態を示す図。 図9は、図1に示すLUT回路の動作を示すタイミング図。 図10は、4入力1出力の真理値表の一例と、それをLUT回路に格納する縮小表現を用いた方法とを示す図。 図11は、図10の真理値表を、図式的に表した図(ハミング図)。 図12は、4入力1出力の真理値表の一例を示す図。 図13は、図12の真理値表を、図式的に表した図(ハミング図)。 図14は、図2の1ビット比較器を用いて構成されたLUT回路の一例を示す回路図。 図15は、LUT回路への格納データの書込み手順を説明するための図。 図16は、第2の実施形態にかかるLUT回路の概略構成を示す回路図。 図17は、図16に示す1ビット比較器の一例を示す回路図。 図18は、図17の1ビット比較器に与える検索データの電圧値と不揮発メモリトランジスタに格納されている格納データの電圧値(閾値)との関係を示す図。 図19は、各サーチライン対に与える検索データの組み合わせ例を示す図。 図20は、不揮発メモリトランジスタに格納されている格納データの組み合わせ例を示す図。 図21は、検索データと格納データに応じた不揮発メモリトランジスタの状態を示す図。 図22は、4入力1出力の真理値表の一例とそれをLUT回路に格納する方法とを示す図。 図23は、図22に示す真理値表を図16に示すLUT回路に登録した状態を示す図。 図24は、図16に示すLUT回路の動作を示すタイミング図。 図25は、図17の1ビット比較器を用いて構成されたLUT回路の一例を示す回路図。 図26は、LUT回路への格納データの書込み手順を説明するための図。 図27は、SRAMセルの基本構成を示す回路図。 図28は、図27に示すSRAMセルの簡略図。 図29は、第3の実施形態にかかる1ビット比較器の第1例を示す回路図。 図30は、第3の実施形態にかかる1ビット比較器の第2例を示す回路図。 図31は、第3の実施形態にかかる1ビット比較器の第3例を示す回路図。 図32は、第3の実施形態にかかる1ビット比較器の第4例を示す回路図。 図33は、第4の実施形態にかかるMUX回路の概略構成を示す回路図。 図34は、図33に示すMUX回路の動作を示すタイミング図。 図35は、第4の実施形態にかかるN入力M出力のMUX回路の概略構成を示す回路図。 図36は、第5の実施形態にかかるMUX回路の概略構成を示す回路図。 図37は、図36に示すMUX回路の動作を示す図。 図38は、第6の実施形態にかかる1ビット比較器の第1例を示す回路図。 図39は、第6の実施形態にかかる1ビット比較器の第2例を示す回路図。 図40は、第6の実施形態にかかる1ビット比較器の第3例を示す回路図。 図41は、複数の不揮発メモリトランジスタがNAND型に接続されたストリング構造のマルチコンテキストメモリの一例を示す回路図。 図42は、図41に示すマルチコンテキストメモリの動作を示す図。 図43は、複数の不揮発メモリトランジスタがNOR型に接続された構造のマルチコンテキストメモリの一例を示す回路図。 図44は、図43に示すマルチコンテキストメモリの動作を示す図。 図45は、第6の実施形態にかかる1ビット比較器の第4例を示す回路図。 図46は、第6の実施形態にかかる1ビット比較器の第5例を示す回路図。 図47は、第6の実施形態にかかる1ビット比較器の第6例を示す回路図。 図48は、第6の実施形態にかかる1ビット比較器の第7例を示す回路図。
(第1の実施形態)
まず、第1の実施形態にかかるLUT回路について、図面を参照して詳細に説明する。第1の実施形態では、入力データに対する一致判定機能を備えたLUT回路が例示される。図1は、第1の実施形態にかかるLUT回路の概略構成を示す回路図である。
図1に示すように、LUT回路100は、ビット列比較器110−x(xは整数1〜8のいずれか)と、複数のサーチライン対SLx(xは整数1〜4のいずれか)と、共通マッチラインMLと、プリチャージトランジスタT10と、出力インバータIV10と、検索データ駆動回路101とを備える。第1の実施形態において、ビット列比較器110−xは、複数であってよい。
検索データ駆動回路101には、たとえば入力データの各ビットINx(xは整数1〜4のいずれか)が並列に入力される。図1には、入力データが4ビットである場合が示されている。また、検索データ駆動回路101には、入力データのビット数に応じたペア数のサーチライン対SLxが並列に接続されている。各サーチライン対SLxは、互いに平行なサーチラインSx(xは整数1〜4のいずれか)と、反転サーチライン/Sx(xは整数1〜4のいずれか)とよりなる。なお、本説明では、図面中のアッパーライン付き文字は、その文字の前に‘/’を付して記す。
検索データ駆動回路101は、各入力ビットに対応するサーチライン対SLxのサーチラインSxに、対応するビット値に応じた電圧を検索データとして印加する。説明の明確化のため、この検索データの符号を“S”とする。また、検索データ駆動回路101は、各サーチライン対SLxの反転サーチライン/Sxに、対応するビット値の反転値に応じた電圧を検索データとして印加する。説明の明確化のため、この検索データの符号を“/S”とする。なお、検索データ駆動回路101は、一致判定を行わないビットに対応するサーチライン対SLxのサーチラインSxおよび反転サーチライン/Sxに、共通のマスクビットMASKを印加してもよい。
各ビット列比較器110−xは、入力ビット数に応じた数の1ビット比較器111−x(xは整数1〜4のいずれか)と、各1ビット比較器111−xに共通に接続されたマッチラインMLx(xは整数1〜8のいずれか)と、マッチラインMLxからの電流流出を導通/遮断するスイッチングトランジスタTx(xは整数1〜8のいずれか)とを有する。スイッチングトランジスタTxのゲートには、たとえばマッチラインMLxからの電流流出を制御するための制御電圧Cntrlが印加される。
各1ビット比較器111−xは、少なくとも第1および第2の入力端子と、第1および第2の一致判定端子と、データを格納するメモリとを有する。第1および第2の一致判定端子は、マッチラインMLxに接続される。以下の説明では、サーチライン対SLxに印加される検索データと区別するために、メモリに格納されたデータを格納データという。
各ビット列比較器110−xのマッチラインMLxは、共通マッチラインMLに共通に接続される。共通マッチラインMLは、電源電圧Vddのラインからの電流流入を導通/遮断するプリチャージトランジスタT10に接続される。プリチャージトランジスタT10のゲートには、たとえば電源電圧Vddのラインからの電流流入を制御するための制御電圧Cntrlが印加される。共通マッチラインMLの一致判定データは、出力インバータIV10を介して出力OUTより出力される。なお、共通マッチラインMLの一致判定データは、電荷の有無として表現される。
図2に、図1に示す1ビット比較器111−xの一例を示す。図2には、NAND型の1ビット比較器111−xが示されている。図2に示すように、1ビット比較器111−xは、2つの不揮発メモリトランジスタM1およびM2がマッチラインMLx上に直列に接続された構成を備える。不揮発メモリトランジスタM1のソース端子は、第1の一致判定端子に接続されている。不揮発メモリトランジスタM2のドレイン端子は、第2の一致判定端子に接続されている。不揮発メモリトランジスタM1のドレイン端子と不揮発メモリトランジスタM2のソース端子とは互いに接続されている。
不揮発メモリトランジスタM1は、格納データDの反転値(反転格納データ/D)を保持し、そのゲート端子は、サーチラインSxに接続された第1の入力端子に接続される。一方、不揮発メモリトランジスタM2は、格納データDを保持し、そのゲート端子は、反転サーチライン/Sxに接続された第2の入力端子に接続される。
ここで、図2に示す1ビット比較器111−xの動作を説明する。図3は、図2の1ビット比較器111−xに与える検索データSおよび/Sの電圧値と、不揮発メモリトランジスタM1およびM2に格納されている格納データDおよび/Dの電圧値(閾値)との関係を示す。図4は、各サーチライン対SLxに与える検索データSおよび/Sの組み合わせ例を示す。図5は、不揮発メモリトランジスタM1およびM2に格納されている格納データDおよび/Dの組み合わせ例を示す。図6は、検索データと格納データに応じた不揮発メモリトランジスタM1およびM2の状態を示す。
図3に示すように、不揮発メモリトランジスタの消去状態の閾値電圧Vth(格納データに相当)を第1閾値電圧Vth_LOW、書込状態の閾値電圧Vth(格納データに相当)を第2閾値電圧Vth_HIGH、第1閾値電圧Vth_LOWより大きく第2閾値電圧Vth_HIGHよりも小さい電圧を読出電位V_read、第2閾値電圧Vth_HIGHよりも高い電圧を転送電位V_passとする。不揮発メモリトランジスタは、格納する格納データの電圧値(閾値)よりも高い電圧値の検索データを入力としてゲートに与えられた場合、導通状態(ON)となる。
ここで、図2に示すNAND型の1ビット比較器111−xに対しては、サーチライン対SLxに与える検索データSおよび/Sの組み合わせを図4に示される組み合わせとし、不揮発メモリトランジスタM2およびM1に格納する格納データDおよび/Dの組み合わせを図5に示される組み合わせとする。
具体的には、まず、図4に示すように、サーチラインSxおよび反転サーチライン/Sxの印加電圧(検索データSおよび/Sに相当)をそれぞれ、検索データ(入力ビット値)が‘0’の場合は読出電位V_readおよび転送電位V_passとし、検索データ(入力ビット値)が‘1’の場合は転送電位V_passおよび読出電位V_readとする。また、検索データ(入力ビット値)がマスクビットMASKの場合は、サーチラインSxおよび反転サーチライン/Sxの印加電圧をともに転送電位V_passとする。
また、図5に示すように、1ビット比較器111−xに格納する格納データDおよび/Dをそれぞれ、格納データが‘0’の場合は第2閾値電圧Vth_HIGHおよび第1閾値電圧Vth_LOWとし、格納データが‘1’の場合は第1閾値電圧Vth_LOWおよび第2閾値電圧Vth_HIGHとする。また、格納データがドントケアビットX(don’t care)の場合は、1ビット比較器111−xに格納する格納データDおよび/Dをともに第1閾値電圧Vth_LOWとする。
以上により、図6に示すように、検索データと格納データの組み合わせに応じた1ビット比較器111−xの動作を実現することができる。すなわち、検索データおよび格納データの組み合わせが‘0’および‘1’、もしくは、‘1’および‘0’の場合、不揮発メモリトランジスタM1およびM2のうちいずれかが遮断状態(OFF)となる。この結果、第1および第2の一致判定端子は互いに分離される。この状態が、一致判定における不一致状態(MISS)である。一方、それ以外の場合は、第1および第2の不揮発メモリトランジスタM1およびM2のいずれも導通状態(ON)となる。この結果、第1および第2の一致判定端子は短絡される。この状態が、一致判定における一致状態(MATCH)である。
なお、図4において、マスクビットMASKとは、入力データのうち一致判定を行わないビットに関してサーチライン対SLxに出力される検索データSおよび/Sである。検索データとしてマスクビットMASKが与えられたサーチライン対SLxに接続されている1ビット比較器111−xは、図6の‘MASK’に示すように、全ての組み合わせで一致状態と判定する。また、図5において、ドントケアビットX(don’t care)とは、一致判定を行わない1ビット比較器111−xに格納する格納データDおよび/Dである。格納データとしてドントケアビットXが格納された1ビット比較器111−xは、図6の‘X’に示すように、全ての組み合わせで一致状態と判定する。
つぎに、図1に示すLUT回路100の動作を、図面を用いて詳細に説明する。図7は、4入力1出力の真理値表の一例とそれをLUT回路に格納する方法とを示す図である。図8は、図7に示す真理値表を図1に示すLUT回路100に登録した状態を示す。図9は、図1に示すLUT回路の動作を示すタイミング図を示す。
図7に示すように、4入力1出力の真理値表では、入力される4つのビットIN1〜IN4の組み合わせ(入力ビット列)CASE#が16通りあり、そのすべての組み合わせについて任意の出力ビット値(OUT)が設定されている。本実施形態では、これらのうち論理‘1’を出力する入力ビット列を図1のLUT回路100に格納する。即ち、CASE#2,#5,#6,#9,#10,#11,#12および#15の入力ビットIN1〜IN4を、図8に示すように、ビット列比較器110−xの各1ビット比較器111−xに格納する。なお、論理‘1’を出力する入力ビット列の代わりに、論理‘0’を出力する入力ビット列を図1のLUT回路100に格納しても良い。この場合、反転出力/OUTが得られる。
図9に示すように、期間P1では、プリチャージトランジスタT10のゲートに入力される制御電圧Cntrlが電圧Vssである。そのため、pチャネルFET(電界効果トランジスタ)で構成されるプリチャージトランジスタT10が導通状態(ON)となり、電源電圧Vddのラインと共通マッチラインMLとが短絡する。その結果、共通マッチラインMLがhigh状態にプリチャージされる。図8に図示されるように、LUT回路100の動作中は、各ビット列比較器110−xのマッチラインMLxの一方の端子は、スイッチングトランジスタTxを介して接地線に接続される。ここで、各ビット列比較器110−xにおけるスイッチングトランジスタTxのゲートにも、制御電圧Cntrlが入力される。この構成は、共通マッチラインMLのプリチャージをより確実に行うためのものである。ただし、スイッチングトランジスタTxは必ずしも必須の構成ではない。
期間P2では、制御電圧Cntrlが電源電圧Vddとなり、プリチャージトランジスタT10が遮断状態(OFF)となる。その結果、電源電圧Vddのラインと共通マッチラインMLとが電気的に分離される。ここで、期間P2では、図7の真理値表において出力が論理‘1’となる入力ビット列がLUT回路100に入力されたとする。このとき、入力ビット列と格納データとが一致したビット列比較器110−xは一致状態となり、そのマッチラインMLxが導通する。その結果、共通マッチラインMLは接地線と短絡され、共通マッチラインMLに蓄積された電荷は放電される。これにより、共通マッチラインMLがlow状態になる。出力インバータIV10は、入力端子にlow電位が入力されるため、high電位(論理‘1’)を出力する。
期間P3では、再度、制御電圧Cntrlが電圧Vssとなり、共通マッチラインMLがプリチャージされる。その後、期間P4では、制御電圧Cntrlが電源電圧Vddとなり、これにより、プリチャージトランジスタT10がOFFし、電源電圧Vddのラインと共通マッチラインMLとが電気的に分離される。ここで、期間P4では、図7の真理値表において出力が論理‘0’となる入力ビット列がLUT回路100に入力されたとする。このとき、全てのビット列比較器110−xが不一致状態となる。その結果、共通マッチラインMLは接地線から電気的に分離されるため、共通マッチラインMLの電位はhigh状態を維持する。出力インバータIV10は、入力端子にhigh電位が入力されるため、low電位(論理‘0’)を出力する。
このように、図8に示すLUT回路100は、図7の真理値表を実現する。即ち、図8に示すLUT回路100は、図7の真理値表において論理‘1’に対応する入力ビット列が入力された場合に論理‘1’を出力し、論理‘0’に対応する入力ビット列が入力された場合に論理‘0’を出力する。
つづいて、第1の実施形態においてLUT回路100に真理値表データを格納する際に用いる縮小表現法について説明する。縮小表現法を用いることで必要なビット列比較器110−xの数を減らすことができる。
縮小表現法では、N入力1出力の任意の真理値表において出力が論理‘1’となる入力ビット列のうちハミング距離が1のペアは、両者の不一致ビットをドントケアビットXに変更した1つの縮小表現ビット列によって表現される。そして、この縮小表現ビット列をビット列比較器110−xの各1ビット比較器111−xに格納する。
ここでハミング距離とは、2つのビット列における不一致ビットの数の和を言う。例えば、‘0001’と‘0000’とは、4ビット目が不一致であり、そのハミング距離は‘1’である。例えば、‘0010’と‘0001’とは、3ビット目と4ビット目が不一致であり、そのハミング距離は‘2’である。
以降の説明では、N入力1出力の真理値表における入力ビット数をNinとする。その場合、入力ビット列のパターン数(Ninput)は、2Ninとなる。入力ビット列のうち出力が論理‘1’となる入力ビット列の数をNout1、出力が論理‘0’となる入力ビット列の数をNout0とする。
図10は、4入力1出力の真理値表の一例と、それをLUT回路に格納する縮小表現を用いた方法とを示す図である。図10に示す入力ビット数Ninが4である真理値表では、入力ビット列のパターン数Ninputは16であり、出力が論理‘1’となる入力ビット列の数Nout1は8である。この場合、縮小表現法を使用しなければ、少なくとも8つのビット列比較器110−xが必要となる。
図11は、図10の真理値表を、図式的に表した図(ハミング図)である。図11において、入力ビット列は立方体の頂点で表現されており、そのうち出力が論理‘1’となる入力ビット列が白丸で表示されている。各入力ビット列間のハミング距離は、各入力ビット列が割り当てられた頂点を最短で結ぶ辺の合計数で表すことができる。
縮小表現法を用いた場合、出力が論理‘1’となる入力ビット列のうち、‘0100’と‘0101’はハミング距離が‘1’であるため、‘010X’によって表現できる。同様に、‘1000’と‘1001’は‘100X’で、‘1010’と‘1011’は‘101X’で、それぞれ表現できる。さらに、‘100X’と‘101X’は、‘10XX’によって表現できる。従って、縮小表現法を用いた場合、ビット列比較器110−xに登録すべき入力ビット列は、ビット列‘0001’、‘010X’、‘10XX’および‘1110’の4つとなる。その結果、必要なビット列比較器110−xの数は4つとなる。このように、縮小表現法を用いることで必要なビット列比較器110−xの数を減らすことができる。
つづいて、図1のLUT回路100におけるビット列比較器110−xの数(Ncomp)の必要最小数(Ncomp min)について述べる。上述したように、N入力1出力の真理値表では、入力ビット列のパターン数(Ninput)は2Ninとなる。従って、縮小表現法を使用しなかった場合、図1のLUT回路100は、少なくとも2Nin個のビット列比較器110−xを備える必要がある。これは、必要最小数Ncomp minが2Ninであることを意味する。一方、縮小表現法を用いた場合、必要最小数Ncomp minは2Nin×(1/2)になる。
入力ビット数がNinである真理値表では、ハミング距離が互いに2以上になる入力ビット列の集合の最大要素数は2Nin×(1/2)となる。これらの出力がすべて論理‘1’である場合、必要最小数Ncomp minは2Nin×(1/2)となる。
ここで、仮に出力が論理‘1’となる入力ビット列が増加したとしても、この入力ビット列に対してハミング距離が1となる入力ビット列が必ず存在する。そこで、縮小表現法を使用すれば、互いにハミング距離が1の入力ビット列のペアをドントケアビットXを用いた1つの入力ビット列として表現することが可能となる。従って、必要最小数Ncompは変化しない。このように、縮小表現法を使用することで、必要最小数Ncomp minを2Nin×(1/2)に維持することができる。
この例を、図12に示す。図12は、入力ビット数Ninが4である真理値表の一例を示す。図13は、図12の真理値表を、図式的に表した図(ハミング図)である。入力ビット列のパターン数2Ninは16である。これらのうち、出力が論理‘1’となる入力ビット列は、‘0000’、‘0011’、‘0101’、‘0110’、‘1001’、‘1010’、‘1100’および‘1111’、であり、出力が論理‘1’となる入力ビット列の数Nout1は8である。図13を見れば明らかなように、これらの入力ビット列は、ハミング距離が互いに2以上である。その場合、縮小表現は使用出来ないから、必要最小数Ncomp minは8となる。
ここで、仮に出力1の入力ビット列が増加した場合、図13から明らかなように、必ずハミング距離が‘1’の入力ビット列のペアが存在する。そのため、縮小表現法を使用することで、必要最小数Ncomp minを8に維持することができる。
図14は、図2の1ビット比較器111−xを用いて構成されたLUT回路100Aの一例を示す。図14に示すように、LUT回路100Aは、図1に示すLUT100と同様の構成に加え、書込/消去回路102を備える。また、検索データ駆動回路101は、たとえば、各サーチラインSxおよび各反転サーチライン/Sxにそれぞれ設けられたカットオフトランジスタT01〜T08と、各反転サーチライン/Sxに入力するビットINxを反転するインバータIVx(xは整数1〜4のいずれか)とを備える。
LUT回路100Aでは、ビット列比較器110−xが、ビット列比較器110A−x(xは整数1〜8のいずれか)に置き換えられる。ビット列比較器110A−xは、ビット列比較器110−xと同様の構成に加え、マッチラインMLxと共通マッチラインMLとの間に設けられたカットオフトランジスタTsx(xは整数1〜8のいずれか)を備える。
つづいて、図14に示すLUT回路100Aへの格納データの書込み手順を説明する。図15は、LUT回路100Aへの格納データの書込み手順を説明するための図である。図15に示すように、LUT回路100Aへの格納データの書込み手順では、まず、カットオフトランジスタTsxのゲートに閾値電圧Vth以下の電圧(たとえば0V)を印加して、これをOFF状態とする。つぎに、書込対象の不揮発メモリトランジスタM1またはM2(以下、選択メモリトランジスタM1またはM2という)のゲートが接続されているサーチラインSxもしくは反転サーチライン/Sx(以下、これらを選択サーチラインSxまたは/Sxという)に書込用のゲート電圧を印加するとともに、この選択メモリトランジスタM1またはM2のドレインが接続されているマッチラインMLx(以下、これらを選択マッチラインMLxという)に書込用のドレイン電圧を印加する。一方、選択メモリトランジスタM1またはM2が接続されていないサーチラインSxもしくは反転サーチライン/Sx(以下、これらを非選択サーチラインSxまたは/Sxという)に、書込用のゲート電圧よりも低い、非書込用のゲート電圧を印加するとともに、選択メモリトランジスタM1またはM2が接続されていないマッチラインMLx(以下、これらを非選択マッチラインMLxという)に書込阻止用のドレイン電圧を印加する。ここで、非書込ゲート電圧は書込用のゲート電圧よりも低く、かつ、書込阻止用のドレイン電圧は非書込用のゲート電圧よりも低い。また、書込用のドレイン電圧は、書込阻止用のドレイン電圧よりも低い。
たとえば、選択サーチラインSxもしくは/Sxに書込用のゲート電圧としてゲート書込電圧Vg_prg(例えば+18V)を印加し、非選択サーチラインSxもしくは/Sxに非書込用のゲート電圧として転送電位V_pass(例えば+10V)を印加する。また、選択マッチラインMLxには、書込用のドレイン電圧として0Vを印加する。これにより、選択メモリトランジスタM1またはM2に、FN(Fowler−Nordheim)トンネル電流によって格納データが書き込まれる。その結果、選択メモリトランジスタM1またはM2の閾値電圧Vthが上昇する。一方、非選択マッチラインMLxには書込阻止用の電圧として阻止電圧Vinhibit(たとえば+6V)が印加される。これにより、非選択メモリトランジスタM1またはM2への格納データの書込が阻止される。
なお、選択メモリトランジスタM1またはM2への書込の際にマッチラインMLxを共有マッチラインMLから電気的に分離するためには、セレクトゲートとして機能するカットオフトランジスタTsxが必要となる。このカットオフトランジスタTsxのゲートには、書込のタイミングに合わせてカットオフ用の電圧SG1(例えば0V)が印加される。また、図15に示す例では、サーチラインSxおよび反転サーチライン/Sxにセレクトゲートとして機能するカットオフトランジスタT01〜T08が設けられている。これらカットオフトランジスタT01〜T08のゲートには、書込のタイミングに合わせて必要に応じてカットオフ用の電圧SG2(例えば0V)が印加される。これにより、検索データ駆動回路101に接続された入力線に繋がる外部回路をサーチラインSxおよび反転サーチライン/Sxから電気的に分離し、外部回路がゲート書込電位Vg_prgまたは転送電位V_passにより破壊されることを防ぐことができる。ただし、カットオフトランジスタT01〜T08は必須の構成ではない。たとえば入力線に繋がる外部回路が高耐圧トランジスタで構成されている場合、カットオフトランジスタT01〜T08を省略することもできる。
以上のように、第1の実施形態にかかるLUT回路100によれば、1ビット比較器111−xが、コンフィグレーションメモリと選択回路との両方の役割を兼ねることができる。その結果、コンフィグレーションメモリ部と選択回路部とが必要となる従来のLUT回路と比較して、回路の占有面積を小さくすることが可能となる。
また、第1の実施形態にかかるLUT回路100では、検索データの入力から出力の確定までに信号が通過するトランジスタの数を小さくすることができる。それにより、信号の伝達遅延を小さくすることが可能である。
さらに、たとえば1ビット比較器111−xに不揮発メモリトランジスタM1およびM2を用いた場合(図14に示すLUT回路100A参照)、コンフィグレーションデータが不揮発メモリトランジスタM1またはM2に格納される。そのため、待機時に電源を遮断する技術(パワーゲーティング)を適応することが可能となり、その結果、低消費電力化が可能なLUT回路100Aを実現することが可能となる。
(第2の実施形態)
つぎに、第2の実施形態にかかるLUT回路について、図面を参照して説明する。第1の実施形態では、NAND型の1ビット比較器111−xを用いてビット列比較器110−xを構成した場合を例示したが、第2の実施形態では、NOR型の1ビット比較器を用いてビット列比較器を構成した場合を例示する。図16は、第2の実施形態にかかるLUT回路の概略構成を示す回路図である。なお、以下の説明において、上述した実施形態と同様の構成については、同一の符号を付し、その重複する説明を省略する。
図16に示すように、LUT回路200は、図1に示すLUT回路100と同様の構成において、ビット列比較器110−x(xは整数1〜8のいずれか)がビット列比較器210−xに置き換えられた構成を備える。ビット列比較器210−xは、NAND型の1ビット比較器111−xの代わりに、NOR型の1ビット比較器211−x(xは整数1〜4のいずれか)を備える。1ビット比較器211−xは、1ビット比較器111−xと同様、第1および第2の入力端子と、第1および第2の一致判定端子とを備える。
また、ビット列比較器210−xは、マッチラインMLxにドレインを接続されるp型のプリチャージトランジスタTpx(xは整数1〜8のいずれか)を備える。プリチャージトランジスタTpxのゲートには、たとえば電源電圧Vddのラインからの電流流入を制御するための制御電圧Cntrl1が印加される。さらに、ビット列比較器210−xは、マッチラインMLxと共有マッチラインMLとの間に設けられたn型のトランジスタTax(xは整数1〜8のいずれか)と、このトランジスタTaxのソースと接地線との間に設けられたn型のトランジスタTbx(xは整数1〜8のいずれか)とを備える。各マッチラインMLxは、対応するトランジスタTaxのゲートに接続される。トランジスタTaxのドレインは、共通マッチラインMLに接続される。トランジスタTbxのゲートは、制御電圧Cntrl2が印加される。その他の構成は、図1または図15に示すLUT回路100または100Aと同様であってよい。
つぎに、図17に、図16に示す1ビット比較器211−xの一例を示す。図17には、NOR型の1ビット比較器211−xが示されている。図17に示すように、1ビット比較器211−xは、2つの不揮発メモリトランジスタM1およびM2が、マッチラインMLxと接地線との間に並列に接続された構成を備える。不揮発メモリトランジスタM1のゲートは、第1の入力端子に接続され、不揮発メモリトランジスタM2のゲートは、第2の入力端子に接続される。また、不揮発メモリトランジスタM1およびM2のドレインは、マッチラインMLxに接続され、不揮発メモリトランジスタM1およびM2のソースは、接地線に接続される。
ここで、図17に示す1ビット比較器211−xの動作を説明する。図18は、図17の1ビット比較器211−xに与える検索データSおよび/Sの電圧値と、不揮発メモリトランジスタM2およびM1に格納されている格納データDおよび/Dの電圧値(閾値)との関係を示す。図19は、各サーチライン対SLxに与える検索データSおよび/Sの組み合わせ例を示す。図20は、不揮発メモリトランジスタM2およびM1に格納されている格納データDおよび/Dの組み合わせ例を示す。図21は、検索データと格納データに応じた不揮発メモリトランジスタM1およびM2の状態を示す。
図18に示すように、不揮発メモリトランジスタの消去状態の閾値電圧Vth(格納データに相当)を第1閾値電圧Vth_LOW、書込み状態の閾値電圧Vth(格納データに相当)を第2閾値電圧Vth_HIGH、第1閾値電圧Vth_LOWよりも低い電圧をオフ電位V_off、第1閾値電圧Vth_LOWより大きく第2閾値電圧Vth_HIGHよりも小さい電圧を読出電位V_readとする。不揮発メモリトランジスタは、格納する格納データの電圧値(閾値)よりも高い電圧値の検索データを入力としてゲートに与えられた場合、導通状態(ON)となる。
ここで、図17に示すNOR型の1ビット比較器211−xに対しては、サーチライン対SLxに与える検索データSおよび/Sの組み合わせを図19に示される組み合わせとし、不揮発メモリトランジスタM2およびM1に格納する格納データDおよび/Dの組み合わせを図20に示される組み合わせとする。
具体的には、まず、図19に示すように、サーチラインSxおよび反転サーチライン/Sxの印加電圧(検索データSおよび/Sに相当)をそれぞれ、検索データ(入力ビット値)が‘0’の場合は読出電位V_readおよびオフ電位V_offとし、検索データ(入力ビット値)が‘1’の場合はオフ電位V_offおよび読出電位V_readとする。また、検索データ(入力ビット値)がマスクビットMASKの場合は、サーチラインSxおよび反転サーチライン/Sxの印加電圧をともにオフ電位V_offとする。
また、図20に示すように、1ビット比較器211−xに格納する格納データDおよび/Dをそれぞれ、格納データが‘0’の場合は第1閾値電圧Vth_LOWおよび第2閾値電圧Vth_HIGHとし、格納データが‘1’の場合は第2閾値電圧Vth_HIGHおよび第1閾値電圧Vth_LOWとする。また、格納データがドントケアビットX(don’t care)の場合は、1ビット比較器211−xに格納する格納データDおよび/Dをともに第2閾値電圧Vth_HIGHとする。
以上により、図21に示すように、検索データと格納データの組み合わせに応じた1ビット比較器211−xの動作を実現することができる。すなわち、検索データおよび格納データの組み合わせが‘0’および‘1’、もしくは、‘1’および‘0’の場合、不揮発メモリトランジスタM1およびM2のうちいずれかが導通状態(ON)となる。この結果、マッチラインMLxが接地線と短絡する。この状態が、一致判定における不一致状態である。一方、それ以外の場合は、第1および第2の不揮発メモリトランジスタM1およびM2のいずれも遮断状態(OFF)となる。この結果、マッチラインMLxと接地線とは電気的に分離される。この状態が、一致判定における一致状態である。
なお、検索データとしてマスクビットMASKが与えられたサーチライン対SLxに接続されている1ビット比較器211−xは、図21の‘MASK’に示すように、全ての組み合わせで一致状態と判定する。また、格納データとしてドントケアビットXが格納された1ビット比較器211−xは、図21の‘X’に示すように、全ての組み合わせで一致状態と判定する。
つぎに、図16に示すLUT回路200の動作を、図面を用いて詳細に説明する。図22は、4入力1出力の真理値表の一例とそれをLUT回路に格納する方法を示す図である。図23は、図22に示す真理値表を図16に示すLUT回路200に登録した状態を示す。図24は、図23に示すLUT回路の動作を示すタイミング図を示す。
図22に示すように、4入力1出力の真理値表では、入力される4つのビットIN1〜IN4の組み合わせ(入力ビット列)CASE#が16通りあり、そのすべての組み合わせについて任意の出力ビット値(OUT)が設定される。本実施例では、これらのうち論理‘1’を出力する入力ビット列を図16のLUT回路200に格納する。即ち、CASE#2,#5,#6,#9,#10,#11,#12および#15のビットIN1〜IN4を、図23に示すように、ビット列比較器210−xの各1ビット比較器211−xに格納する。なお、論理‘1’を出力する入力ビット列の代わりに、論理‘0’を出力する入力ビット列を図16のLUT回路200に格納しても良い。この場合、反転出力/OUTが得られる。
図24に示すように、期間P1では、制御電圧Cntrl1が電圧Vssである。そのため、pチャネルFETで構成されるプリチャージトランジスタTpxが導通状態(ON)となり、電源電圧VddのラインとマッチラインMLxとが短絡する。その結果、マッチラインMLxはhigh状態にプリチャージされる。なお、図23では、各マッチラインMLxに接続されたスイッチングトランジスタTxのゲートに、LUT回路200の動作中常に、電圧Vssが印加されているが、この構成はマッチラインMLxのプリチャージをより確実に行うためのものであり、必ずしも必須の構成ではない。
また、期間P1では、制御電圧Cntrl2は電圧Vssである。そのため、pチャネルFETで構成されるプリチャージトランジスタT10は導通状態(ON)となり、nチャネルFETで構成されるトランジスタTbxは遮断状態(OFF)となる。その結果、共通マッチラインMLがhigh状態にプリチャージされる。
期間P2では、制御電圧Cntrl1が電源電圧Vddとなり、プリチャージトランジスタTpxが遮断状態(OFF)となる。これにより、電源電圧VddのラインとマッチラインMLxとが電気的に分離される。ここで、期間P2では、図22の真理値表において出力が論理‘1’となる入力ビット列がLUT回路200に入力されたとする。このとき、入力ビット列と格納データとが一致したビット列比較器210−xは一致状態となり、そのマッチラインMLxのhigh状態は維持される。一方、入力ビット列と格納データとが一致しなかったビット列比較器210−xのマッチラインMLxは不一致状態となり、これにより、マッチラインMLxに蓄積された電荷は放電される。この結果、不一致状態のマッチラインMLがlow状態になる。
期間P3では、制御電圧Cntrl2が電源電圧Vddとなり、プリチャージトランジスタT10が遮断状態(OFF)となる。その結果、電源電圧Vddのラインと共通マッチラインMLとが電気的に分離される。また、制御電圧Cntrl2が電源電圧Vddとなることで、トランジスタTbxが導通状態(ON)となる。期間P3において、一致状態のビット列比較器210−xのトランジスタTaxは導通状態(ON)である。従って、共通マッチラインMLと接地線とが短絡され、共通マッチラインMLに蓄積された電荷は放電される。これにより、共通マッチラインMLがlow状態になる。出力インバータIV10は、入力端子にlow電位が入力されるため、high電位(論理‘1’)を出力する。
期間P4およびT5では、再度、制御電圧Cntrl1およびCntrl2が電圧Vssとなり、マッチラインMLxおよび共通マッチラインMLがプリチャージされる。
期間P6では、制御電圧Cntrl1は電源電圧Vddとなり、プリチャージトランジスタTpxが遮断状態(OFF)となる。その結果、電源電圧VddのラインとマッチラインMLxとが電気的に分離される。ここで、期間P6では、図22の真理値表において出力が論理‘0’となる入力ビット列がLUT回路200に入力されたとする。このとき、入力ビット列と格納データとが一致しなかったビット列比較器210−xのマッチラインMLxは不一致状態となり、これにより、マッチラインMLxに蓄積された電荷は放電される。この結果、不一致状態のマッチラインMLxがlow状態になる。期間P6では、全てのビット列比較器210−xが不一致状態となり、全てのマッチラインMLxはlow状態となる。
期間P7では、制御電圧Cntrl2が電源電圧Vddとなり、プリチャージトランジスタT10が遮断状態(OFF)となる。これにより、電源電圧Vddのラインと共通マッチラインMLとが電気的に分離される。また、制御電圧Cntrl2が電源電圧Vddとなることで、トランジスタTbxが導通状態(ON)となる。期間P7においては、全てのマッチラインMLxがlow状態であるから、トランジスタTaxは遮断状態(OFF)である。従って、共通マッチラインMLと接地線とが電気的に分離され、共通マッチラインMLはhigh状態を維持する。出力インバータIV10は、入力端子にhigh電位が入力されるため、low電位(論理‘0’)を出力する。
このように、図23に示すLUT回路200は、図22の真理値表を実現する。すなわち、図23に示すLUT回路200は、図22の真理値表において論理‘1’に対応する入力ビット列が入力された場合に論理‘1’を出力し、論理‘0’に対応する入力ビット列が入力された場合に論理‘0’を出力する。
図25は、図17の1ビット比較器211−xを用いて構成されたLUT回路200Aの一例を示す。図25に示すように、LUT回路200Aは、図16に示すLUT200と同様の構成に加え、書込/消去回路102を備える。
LUT回路200Aでは、ビット列比較器210−xが、ビット列比較器210A−x(xは整数1〜8のいずれか)に置き換えられる。各ビット列比較器210A−xは、ビット列比較器210−xと同様の構成に加え、各マッチラインMLxと共通マッチラインMLとの間にそれぞれ設けられたカットオフトランジスタTsxを備える。
つづいて、図25に示すLUT回路200Aへの格納データの書込み手順を説明する。図26は、LUT回路200Aへの格納データの書込み手順を説明するための図である。図26に示すように、LUT回路200Aへの格納データの書込み手順では、まず、カットオフトランジスタTsxに閾値電圧Vth以下の電圧(たとえば0V)を印加して、これをOFF状態とする。つぎに、選択メモリトランジスタM1またはM2のゲートが接続される選択サーチラインSxまたは/Sxに書込用のゲート電圧を印加するとともに、この選択メモリトランジスタM1またはM2のドレインが接続される選択マッチラインMLxに書込用のドレイン電圧を印加する。一方、選択メモリトランジスタM1またはM2が接続されていない非選択サーチラインSxまたは/Sxに、書込用のゲート電圧よりも低い、非書込用のゲート電圧を印加するとともに、選択メモリトランジスタM1またはM2が接続されていない非選択マッチラインMLxに、書込用のドレイン電圧よりも低い、非書込用のドレイン電圧を印加する。
たとえば、選択サーチラインSxもしくは/Sxに書込用のゲート電圧としてゲート書込電圧Vg_prg(例えば+10V)を印加し、非選択サーチラインSxもしくは/Sxに非書込用のゲート電圧として0Vを印加する。選択メモリトランジスタM1またはM2が接続される選択マッチラインMLxには、書込用のドレイン電圧としてドレイン書込電圧Vd_prg(例えば+3V)を印加する。非選択マッチラインMLxには、非書込用のドレイン電圧として0Vを印加する。選択メモリトランジスタM1またはM2には、CHE(Channel Hot Electron)注入によって格納データが書き込まれる。これにより、選択メモリトランジスタM1またはM2の閾値電圧Vthが上昇する。
図26に示す例では、カットオフトランジスタTsxがマッチラインMLxに挿入されている。カットオフトランジスタTsxは、書込動作中にドレイン書込電圧Vd_prgを遮断し、トランジスタTaxおよびプリチャージトランジスタTpxを保護する。ただし、カットオフトランジスタTsxは必須の構成ではない。たとえばトランジスタTaxおよびプリチャージトランジスタTpxを高耐圧トランジスタで構成した場合、カットオフトランジスタTsxを省略することができる。
以上のように、第2の実施形態にかかるLUT回路200および200Aによれば、第1の実施形態と同様の効果を得ることができる。
(第3の実施形態)
つぎに、第3の実施形態にかかるLUT回路について、図面を参照して説明する。第3の実施形態では、上述のLUT回路100、100A、200または200Aと同様の構成において、1ビット比較器111−xまたは211−xの他の形態を、いくつか例を挙げて説明する。
なお、以下の説明において、図27に示す構成を備えるSRAMセルSRを、図28に示すような簡略化された構成で示す。図27は、一般的なSRAMセルの構成を示す回路図である。図28では、図27における回路構成のうち、トランスファーゲートTG1およびTG2、データ線BLおよび/BL、ならびに制御線WLの記載が省略されている。
・第1例(NOR型のマッチラインおよびSRAMを備えるTernaryの1ビット比較器)
図29は、第3の実施形態にかかる1ビット比較器の第1例を示す回路図である。図29に示す1ビット比較器311−x(xは整数1〜4のいずれか)は、NOR型のマッチラインとSRAM(Static Random Access Memory)とから構成される、3値(Ternary)の1ビット比較器である。3値の1ビット比較器とは、論理‘0’、‘1’および‘X’の3つの値を格納可能な比較器である。
1ビット比較器311−xは、上述の1ビット比較器111−xまたは211−xと同様、サーチラインSxに接続された第1の入力端子および反転サーチライン/Sxに接続された第2の入力端子と、それぞれマッチラインMLxに接続された第1および第2の一致判定端子とを備える。
この1ビット比較器311−xは、図29に示すように、フリップフロップ回路を含むSRAMセルSR1およびSR2と、4つのスイッチングトランジスタQ1〜Q4と、第1の一致判定端子と第2の一致判定端子とを接続する内部信号線とを備える。スイッチングトランジスタQ1のゲートはSRAMセルSR1のデータ端子に接続され、ドレインは内部信号線に接続され、そして、ソースはスイッチングトランジスタQ2のドレインに接続される。スイッチングトランジスタQ2のゲートは第1の入力端子に接続され、ソースは接地線に接続される。
同様に、スイッチングトランジスタQ3のゲートはSRAMセルSR2のデータ端子に接続され、ドレインは内部信号線に接続され、ソースはスイッチングトランジスタQ4のドレインに接続される。スイッチングトランジスタQ4のゲートは第2の入力端子に接続され、ソースは接地線に接続される。
・第2例(NOR型のマッチラインおよびSRAMを備えるBinaryの1ビット比較器)
図30は、第3の実施形態にかかる1ビット比較器の第2例を示す回路図である。図30に示す1ビット比較器411−x(xは整数1〜4のいずれか)は、NOR型のマッチラインとSRAMとから構成される、2値(Binary)の1ビット比較器である。2値の1ビット比較器とは、論理‘0’および‘1’の2つの値を格納可能な比較器である。
1ビット比較器411−xは、上述の1ビット比較器111−x、211−xまたは311−xと同様、サーチラインSxに接続された第1の入力端子および反転サーチライン/Sxに接続された第2の入力端子と、それぞれマッチラインMLxに接続された第1および第2の一致判定端子とを備える。
この1ビット比較器411−xは、図30に示すように、SRAMセルSR1と、スイッチングトランジスタQ1〜Q4と、第1の一致判定端子と第2の一致判定端子とを接続する内部信号線とを備える。スイッチングトランジスタQ1のゲートはSRAMセルSR1の反転データ端子に接続され、ドレインは内部信号線に接続され、ソースはスイッチングトランジスタQ2のドレインに接続される。スイッチングトランジスタQ2のゲートは第1の入力端子に接続され、ソースは接地線に接続される。
同様に、スイッチングトランジスタQ3のゲートはSRAMセルSR1のデータ端子に接続され、ドレインは内部信号線に接続され、ソースはスイッチングトランジスタQ4のドレインに接続される。スイッチングトランジスタQ4のゲートは第2の入力端子に接続され、ソースは接地線に接続される。
以上のようなNOR型のマッチラインMLxおよびSRAMセルSR1(およびSR2)を有する1ビット比較器311−xおよび411−xは、図16に示すLUT回路200に適用することができる。1ビット比較器311−xおよび411−xは、MOS(Metal−Oxiside−Silicon)型のトランジスタにより構成される。MOS型トランジスタは、一般的に不揮発メモリトランジスタよりもスイッチングスピードが速い。そのため、1ビット比較器311−xおよび411−xを用いることで、より高速なLUT回路を実現することが可能となる。
・第3例(NAND型のマッチラインおよびSRAMを備えるTernaryの1ビット比較器)
図31は、第3の実施形態にかかる1ビット比較器の第3例を示す回路図である。図31に示す1ビット比較器511−x(xは整数1〜4のいずれか)は、NAND型のマッチラインとSRAMとから構成される3値の1ビット比較器である。
1ビット比較器511−xは、上述の1ビット比較器111−x、211−x、311−xまたは411−xと同様、サーチラインSxに接続された第1の入力端子および反転サーチライン/Sxに接続された第2の入力端子と、それぞれマッチラインMLxに接続された第1および第2の一致判定端子とを備える。
この1ビット比較器511−xは、図31に示すように、SRAMセルSR1およびSR2と、スイッチングトランジスタQ1〜Q4と、スイッチングトランジスタQ1のドレインとスイッチングトランジスタQ2のソースとを接続する内部信号線と、を備える。スイッチングトランジスタQ1のゲートはSRAMセルSR1の反転データ端子に接続され、ソースは第1の入力端子に接続される。スイッチングトランジスタQ2のゲートはSRAMセルSR1のデータ端子に接続され、ドレインは第2の入力端子に接続される。スイッチングトランジスタQ3のゲートは内部信号線に接続され、ソースは第1の一致判定端子に接続され、スイッチングトランジスタQ3のドレインは第2の一致判定端子に接続される。スイッチングトランジスタQ4のゲートはSRAMセルSR2のデータ端子に接続され、スイッチングトランジスタQ4のソースは第1の一致判定端子に接続され、スイッチングトランジスタQ4のドレインは第2の一致判定端子に接続される。
・第4例(NAND型のマッチラインおよびSRAMを備えるBinaryの1ビット比較器)
図32は、第3の実施形態にかかる1ビット比較器の第4例を示す回路図である。図32に示す1ビット比較器611−x(xは整数1〜4のいずれか)は、NAND型のマッチラインとSRAMとから構成される、2値の1ビット比較器である。
1ビット比較器611−xは、上述の1ビット比較器111−x、211−x、311−x、411−xまたは511−xと同様、サーチラインSxに接続された第1の入力端子および反転サーチライン/Sxに接続された第2の入力端子と、それぞれマッチラインMLxに接続された第1および第2の一致判定端子とを備える。
この1ビット比較器611−xは、図32に示すように、SRAMセルSR1と、スイッチングトランジスタQ1〜Q3と、スイッチングトランジスタQ1のドレインとスイッチングトランジスタQ2のソースとを接続する内部信号線とを備える。スイッチングトランジスタQ1のゲートはSRAMセルSR1の反転データ端子に接続され、スイッチングトランジスタQ1のソースは第1の入力端子に接続される。スイッチングトランジスタQ2のゲートはSRAMセルSR1のデータ端子に接続され、スイッチングトランジスタQ2のドレインは第2の入力端子に接続される。スイッチングトランジスタQ3のゲートは内部信号線に接続され、スイッチングトランジスタQ3のソースは第1の一致判定端子に接続され、スイッチングトランジスタQ3のドレインは第2の一致判定端子に接続される。
以上のようなNAND型のマッチラインMLxおよびSRAMセルSR1(およびSR2)を有する1ビット比較器511−xおよび611−xは、図1に示すLUT回路100に適応することができる。これにより、より高速なLUT回路を実現することが可能となる。
(第4の実施形態)
つぎに、第4の実施形態にかかるMUX回路について、図面を参照して説明する。第4の実施形態では、NOR型のマッチラインを有するセルで構成されたMUX回路が例示される。図33は、第4の実施形態にかかる4入力1出力のMUX回路の概略構成を示す回路図である。なお、以下の説明において、上述した実施形態と同様の構成については、同一の符号を付し、その重複する説明を省略する。
図33に示すように、MUX回路700は、ビット列比較器110と同様の構成となるビット列比較器710と、複数のサーチライン対SLx(xは整数1〜4のいずれか)と、共通マッチラインMLと、プリチャージトランジスタT10と、出力インバータIV10とを備える。また、MUX回路700は、検索データ駆動回路101にサーチライン対SLxを介して接続されている。
ビット列比較器710は、入力ビット数に応じた数の1ビット比較器711−x(xは整数1〜4のいずれか)と、NOR型のマッチラインML1と、マッチラインML1からの電流流出を導通/遮断するスイッチングトランジスタT1とを有する。1ビット比較器711−xは、図17および図29に示す211−x、311−xなどのNOR型のマッチラインを有する3値の1ビット比較器で構成する。
図33のMUX回路700は、サーチライン対SL1に対応する入力信号線(ビットIN1)が選択され、この入力信号線に入力されたビットIN1が出力されるようにプログラムされている例を示す。ビットIN1を出力するには、選択された入力信号線に対応するサーチライン対SL1が接続される1ビット比較器711−1に論理‘0’を格納し、残りの1ビット比較器711−2〜711−4に論理‘X’を格納する。
図34は、図33に示すMUX回路700の動作を示すタイミング図である。図34に示すように、期間P1では、制御電圧Cntrlが電圧Vssである。そのため、pチャネルFETで構成されるプリチャージトランジスタT10が導通状態(ON)となり、電源電圧VddのラインとマッチラインML1とが短絡される。その結果、マッチラインML1はhigh状態にプリチャージされる。なお、MUX回路700の動作中は常に、マッチラインML1に接続されるトランジスタT1のゲートに電圧Vssが入力されている。したがって、MUX回路700の動作中は常にトランジスタT1が遮断状態(OFF)となる。
期間P2では、制御電圧Cntrlが電源電圧Vddとなり、プリチャージトランジスタT10が遮断状態(OFF)となる。これにより、電源電圧VddのラインとマッチラインML1が電気的に分離される。ここで、期間P2中、選択された入力信号線(ビットIN1)に対応するサーチライン対SL1には論理‘1’が入力されるものとする。その場合、サーチライン対SL1が接続される1ビット比較器711−1は不一致状態となるため、マッチラインML1が接地線と短絡されて、マッチラインML1に蓄積された電荷は放電される。この結果、マッチラインML1はlow状態になる。出力インバータIV10は、入力端子にlow電位が入力されるため、high電位(論理‘1’)を出力する。
期間P3では、再度、制御電圧Cntrlが電圧Vssとなり、マッチラインML1がプリチャージされる。
期間P4では、制御電圧Cntrlが電源電圧Vddとなり、プリチャージトランジスタT10が遮断状態(OFF)となる。その結果、電源電圧VddのラインとマッチラインML1とが電気的に分離される。ここで、期間P4中では、サーチライン対SL1には論理‘0’が入力されるものとする。その場合、サーチライン対SL1が接続される1ビット比較器711−1は一致状態となる。また、サーチライン対SL2〜SL4が接続される1ビット比較器711−2〜711−4は、ドントケアビットXを格納しているため、サーチライン対SL2〜SL4の入力に関わらず常に一致状態となる。その結果、マッチラインML1が接地線から電気的に分離され、マッチラインML1はhigh状態に維持される。出力インバータIV10は、入力端子にhigh電位が入力されるため、low電位(論理‘0’)を出力する。
このように、図33に示すMUX回路700は、多数の入力のうち予めプログラムされた所定の入力を選択して出力するMUXの機能を実現することができる。
つぎに、図33に示すMUX回路700をM(Mは2以上の整数)個並列配置した、N入力M出力のMUX回路を説明する。図35は、第4の実施形態にかかるN入力M出力のMUX回路の概略構成を示す回路図である。
図35に示すように、N入力M出力のMUX回路700Aは、図33に示すMUX回路700と同様のMUX回路700−x(xは整数1〜3のいずれか)を複数備える。これら複数のMUX回路700−xは、サーチライン対SLxを共有している。
図35は、MUX回路700−1、MUX回路700−2およびMUX回路700−3がそれぞれ、入力されたビットIN1、IN2またはIN3を出力するようにプログラムされる例を示す。具体的には、MUX回路700−1は、ビットIN1が入力される入力信号線が接続される1ビット比較器711−1に論理‘0’を格納し、残りの1ビット比較器711−2〜711〜4器に論理‘X’を格納する。MUX回路700−2は、ビットIN2が入力される入力信号線が接続される1ビット比較器711−2に論理‘0’を格納し、残りの1ビット比較器711−1、711−3および711−4に論理‘X’を格納する。MUX回路700−3は、ビットIN3が入力される入力信号線が接続される1ビット比較器711−3に論理‘0’を格納し、残りの1ビット比較器711−1、711−2および711−4に論理‘X’を格納する。
このように、第4の実施形態によれば、NOR型のマッチラインを有する多入力1出力のMUX回路および多入力多出力のMUX回路を実現できる。第4の実施形態にかかるMUX回路によれば、1ビット比較器711が、コンフィグレーションメモリと選択回路との両方の役割を兼ねることができる。その結果、コンフィグレーションメモリ部と選択回路部とが必要となる従来のMUX回路と比較して、回路の占有面積を小さくすること、ならびに、信号の伝達遅延を小さくすること、が可能となる。1ビット比較器711として、図17に示す不揮発メモリトランジスタを備える1ビット比較器211を使用すれば、不揮発プログラマブルMUX回路を実現できる。また、第4の実施形態にかかる多入力多出力のMUX回路によれば、サーチライン対SLxを共有することができるから、回路の占有面積の利用効率を向上することもできる。
(第5の実施形態)
つぎに、第5の実施形態にかかるMUXについて、図面を参照して詳細に説明する。第4の実施形態では、NOR型のビット列比較器710を用いてMUX回路700を構成した場合を例示したが、第5の実施形態では、NAND型のビット列比較器を用いてMUX回路を構成した場合を例示する。図36は、第5の実施形態にかかるMUX回路の概略構成を示す回路図である。なお、以下の説明において、上述した実施形態と同様の構成については、同一の符号を付し、その重複する説明を省略する。
図36に示すように、MUX回路800は、図33に示すMUX回路700と同様の構成において、ビット列比較器710がビット列比較器810に置き換えられた構成を備える。また、MUX回路800は、検索データ駆動回路101にサーチライン対SLxを介して接続されている。
ビット列比較器810は、入力ビット数に応じた数の1ビット比較器811−x(xは整数1〜4のいずれか)と、NAND型のマッチラインML1と、マッチラインML1からの電流流出を導通/遮断するスイッチングトランジスタT1とを有する。1ビット比較器811−xは、図2および図31に示す111−x、511−xなどのNAND型のマッチラインを有する3値の1ビット比較器で構成する。
図36のMUX回路800は、サーチライン対SL1に対応する入力信号線(ビットIN1)が選択され、この入力信号線に入力されたビットIN1が出力されるようにプログラムされている例を示す。ビットIN1を出力するには、選択された入力信号線に対応するサーチライン対SL1が接続される1ビット比較器811−1に論理‘1’を格納し、残りの1ビット比較器811−2〜811−4に論理‘X’を格納する。
図37は、図36に示すMUX回路800の動作を示すタイミング図である。図37に示すように、期間P1では、制御電圧Cntrlが電圧Vssである。そのため、pチャネルFETで構成されるプリチャージトランジスタT10が導通状態(ON)となり、電源電圧VddのラインとマッチラインML1とが短絡される。その結果、マッチラインML1はhigh状態にプリチャージされる。なお、MUX回路800の動作中は、マッチラインML1におけるプリチャージトランジスタT10と反対側が接地線に接続される。ここで、ビット列比較器810におけるスイッチングトランジスタTxのゲートには、制御電圧Cntrlが入力されているが、この構成はマッチラインML1のプリチャージをより確実に行うためのものであり、必ずしも必須の構成ではない。
期間P2では、制御電圧Cntrlは電源電圧Vddとなり、プリチャージトランジスタT10が遮断状態(OFF)となる。その結果、電源電圧VddのラインとマッチラインML1とが電気的に分離される。ここで、期間P2中、選択された入力信号線(ビットIN1)に対応するサーチライン対SL1に論理‘1’が入力されるものとする。その場合、サーチライン対SL1が接続される1ビット比較器811−1は一致状態となる。また、サーチライン対SL2〜SL4が接続される1ビット比較器811−2〜811−4は、ドントケアビットXを格納しているため、サーチライン対SL2〜SL4の入力に関わらず常に一致状態となる。それにより、マッチラインML1が接地線と短絡し、マッチラインML1に蓄積された電荷が放電される。この結果、マッチラインML1はlow状態になる。出力インバータIV10は、入力端子にlow電位が入力されるため、high電位(論理‘1’)を出力する。
期間P3では、再度、制御電圧Cntrlが電圧Vssとなり、マッチラインML1がプリチャージされる。
期間P4では、制御電圧Cntrlが電源電圧Vddとなり、プリチャージトランジスタT10が遮断状態(OFF)となる。その結果、電源電圧VddのラインとマッチラインML1とが電気的に分離される。ここで、期間P4中、サーチライン対SL1に論理‘0’が入力されるものとする。その場合、サーチライン対SL1が接続される1ビット比較器811−1は不一致状態となり、第1および第2の一致判定端子が電気的に分離される。これにより、マッチラインML1が接地線から分離されるため、マッチラインML1はhigh状態に維持される。出力インバータIV10は、入力端子にhigh電位が入力されるため、low電位(論理‘0’)を出力する。
このように、図36に示すMUX回路800は、多数の入力のうち予めプログラムされた所定の入力を選択して出力するMUXの機能を実現することができる。
なお、第5の実施形態でも、上述した第4の実施形態と同様に、図36に示すMUX回路800をM個並列配置することによって、多入力多出力のMUX回路が実現できる。その他の構成及び効果は、第4の実施形態と同様であってよい。
(第6の実施形態)
再構成可能な論理回路において、1つの論理を実現するためのコンフィグレーションデータは、コンテキストと呼ばれる。近年では、システムの多様化に伴い、複数のコンテキストを格納可能で、かつ、複数の論理のうちの1つを選択的に実現できるマルチコンテキスト再構成可能な論理回路が提案されている。マルチコンテキスト再構成可能な論理回路のコンフィグレーションメモリ(マルチコンテキストメモリ)は、複数のメモリを備え、コンテキスト切り替え信号に従い、複数のメモリの内1つの格納データをデータ出力端子より出力する。第6の実施形態では、マルチコンテキストメモリを備えた1ビット比較器の形態を、いくつか例を上げて説明する。上述の実施形態における1ビット比較器を、以下で説明するマルチコンテキスト再構成可能な1ビット比較器で置き換えることで、マルチコンテキスト再構成可能なLUT回路およびMUX回路を実現できる。
・第1例(NOR型のマッチラインとマルチコンテキストメモリを備えるTernaryの1ビット比較器)
図38は、第6の実施形態にかかる1ビット比較器の第1例を示す回路図である。図38に示す1ビット比較器911は、上述の実施形態における1ビット比較器と同様に、サーチラインSxに接続された第1の入力端子および反転サーチライン/Sxに接続された第2の入力端子と、それぞれマッチラインMLxに接続された第1および第2の一致判定端子とを備える。
図38に示すように、1ビット比較器911は、マルチコンテキストメモリMM1およびMM2と、スイッチングトランジスタQ1〜Q4と、第1の一致判定端子と第2の一致判定端子を接続する内部信号線とを備える。スイッチングトランジスタQ1のゲートはマルチコンテキストメモリMM1のデータ出力端子に接続され、ドレインは内部信号線に接続され、ソースはスイッチングトランジスタQ2のドレインに接続される。スイッチングトランジスタQ2のゲートは第1の入力端子に接続され、ソースは接地線に接続される。
同様に、スイッチングトランジスタQ3のゲートはマルチコンテキストメモリMM2のデータ出力端子に接続され、ドレインは内部信号線に接続され、ソースはスイッチングトランジスタQ4のドレインに接続される。スイッチングトランジスタQ4のゲートは第2の入力端子に接続され、ソースは接地線に接続される。
・第2例(NAND型のマッチラインとマルチコンテキストメモリを備えるTernaryの1ビット比較器)
図39は、第6の実施形態にかかる1ビット比較器の第2例を示す回路図である。図39に示す1ビット比較器1011も、上述の実施形態における1ビット比較器と同様、サーチラインSxに接続された第1の入力端子および反転サーチライン/Sxに接続された第2の入力端子と、それぞれマッチラインMLxに接続された第1および第2の一致判定端子とを備える。
図39に示すように、1ビット比較器1011は、マルチコンテキストメモリMM1、MM2およびMM3と、スイッチングトランジスタQ1〜Q4と、スイッチングトランジスタQ1のドレインとスイッチングトランジスタQ2のソースとを接続する内部信号線とを備える。スイッチングトランジスタQ1のゲートはマルチコンテキストメモリMM1のデータ出力端子に接続され、ソースは第1の入力端子に接続される。スイッチングトランジスタQ2のゲートはマルチコンテキストメモリMM2のデータ出力端子に接続され、ドレインは第2の入力端子に接続される。スイッチングトランジスタQ3のゲートは内部信号線に接続され、ソースは第1の一致判定端子に接続され、ドレインは第2の一致判定端子に接続される。スイッチングトランジスタQ4のゲートはマルチコンテキストメモリMM3のデータ出力端子に接続され、ソースは第1の一致判定端子に接続され、ドレインは第2の一致判定端子に接続される。なお、スイッチングトランジスタQ2のゲートには、マルチコンテキストメモリMM1の出力をインバータを介して入力しても良い。この場合、マルチコンテキストメモリMM2は不要となる。
・第3例(NAND型のマッチラインとマルチコンテキストメモリを備えるBinaryの1ビット比較器)
図40は、第6の実施形態にかかる1ビット比較器の第3例を示す回路図である。図40に示す1ビット比較器1111も、上述の実施形態における1ビット比較器と同様、サーチラインSxに接続された第1の入力端子および反転サーチライン/Sxに接続された第2の入力端子と、それぞれマッチラインMLxに接続された第1および第2の一致判定端子とを備える。
図40に示すように、1ビット比較器1111は、マルチコンテキストメモリMM1およびMM2と、スイッチングトランジスタQ1〜Q3と、スイッチングトランジスタQ1のドレインとスイッチングトランジスタQ2のソースとを接続する内部信号線とを備える。スイッチングトランジスタQ1のゲートはマルチコンテキストメモリMM1のデータ出力端子に接続され、ソースは第1の入力端子に接続される。スイッチングトランジスタQ2のゲートはマルチコンテキストメモリMM2のデータ出力端子に接続され、ドレインは第2の入力端子に接続される。スイッチングトランジスタQ3のゲートは内部信号線に接続され、ソースは第1の一致判定端子に接続され、ドレインは第2の一致判定端子に接続される。なお、スイッチングトランジスタQ2のゲートには、マルチコンテキストメモリMM1の出力をインバータを介して入力しても良い。この場合、マルチコンテキストメモリMM2は不要となる。
ここで、マルチコンテキストメモリについて、以下にいくつか例を挙げて説明する。
・第1例(NAND型)
図41は、複数の不揮発メモリトランジスタがNAND型に接続されたストリング構造を備えるマルチコンテキストメモリの一例を示す回路図である。図41に示すように、マルチコンテキストメモリMM11は、データ線BL1およびBL2と、データ出力端子OUTと、データ出力端子OUTに接続する共通ノードと、共通ノードとデータ線BL1との間に直列接続される複数の不揮発メモリトランジスタM11〜M13を含むメモリストリングMS1と、共通ノードとデータ線BL2との間に直列接続される複数の不揮発メモリトランジスタM21〜M23を含むメモリストリングMS2と、を備える。メモリストリングMS1およびMS2の両端には、それぞれカットオフトランジスタT11、T12、T21およびT22が直列に接続されていてもよい。
図42は、図41に示すマルチコンテキストメモリの動作を示す図である。図42に示すように、同じ制御線WL1、WL2またはWL3に接続された2つの不揮発メモリトランジスタM11〜M13のいずれかとM21〜M23のいずれかとがペアで1ビットのデータ(1つのコンテキストデータ)を記録する。論理‘0’を記録する場合、データ線BL1側の不揮発メモリトランジスタの閾値電圧Vthを第1閾値電圧Vth_LOWに、データ線BL2側の不揮発メモリトランジスタの閾値電圧Vthを第2閾値電圧Vth_HIGHになるようにプログラムする。論理‘1’を記録する場合、データ線BL1側の不揮発メモリトランジスタの閾値電圧Vthを第2閾値電圧Vth_HIGHに、データ線BL2側の不揮発メモリトランジスタの閾値電圧Vthを第1閾値電圧Vth_LOWになるようにプログラムする。
動作中では、選択されたコンテキストに対応付けられた制御線WLに読出電位V_readを、それ以外の制御線WLに転送電位V_passを印加する。データ線BL1およびBL2には、電圧Vssと電源電圧Vddとをそれぞれ印加する。この結果、データ出力端子OUTには、選択されたメモリペアが論理‘0’を記録する場合、電圧Vssが転送され、論理‘1’を記録する場合、電源電圧Vddが転送される。
・第2例(NOR型)
図43は、複数の不揮発メモリトランジスタがNOR型に接続された構造を備えるマルチコンテキストメモリの一例を示す回路図である。図43に示すように、マルチコンテキストメモリMM12は、データ線BL1およびBL2と、データ出力端子OUTと、データ出力端子OUTに接続する共通ノードと、制御線WL1〜WL3と、不揮発メモリトランジスタM11およびM21よりなるメモリペアMP1と、不揮発メモリトランジスタM12およびM22よりなるメモリペアMP2と、不揮発メモリトランジスタM13およびM23よりなるメモリペアMP3とを備える。
メモリペアMP1の不揮発メモリトランジスタM11は、ゲートが制御線WL1に接続され、ドレインがデータ線BL1に接続され、ソースが共通ノードに接続される。不揮発メモリトランジスタM21は、ゲートが制御線WL1に接続され、ドレインがデータ線BL2に接続され、ソースが共通ノードに接続される。同様に、メモリペアMP2またはMP3の不揮発メモリトランジスタM12またはM13は、ゲートが制御線WL2またはWL3に接続され、ドレインがデータ線BL1に接続され、ソースが共通ノードに接続される。不揮発メモリトランジスタM22またはM23は、ゲートが制御線WL2またはWL3に接続され、ドレインがデータ線BL2に接続され、ソースが共通ノードに接続される。
図44は、図43に示すマルチコンテキストメモリの動作を示す図である。同じ制御線WL1、WL2またはWL3に接続された2つの不揮発メモリトランジスタM11〜M13のいずれかとM21〜M23のいずれかとがペアで1ビットのデータ(1つのコンテキストデータ)を記録する。論理‘0’を記録する場合、データ線BL1側の不揮発メモリトランジスタの閾値電圧Vthを第1閾値電圧Vth_LOWに、データ線BL2側の不揮発メモリトランジスタの閾値電圧Vthを第2閾値電圧Vth_HIGHになるようにプログラムする。論理‘1’を記録する場合、データ線BL1側の不揮発メモリトランジスタの閾値電圧Vthを第2閾値電圧Vth_HIGHに、データ線BL2側の不揮発メモリトランジスタの閾値電圧Vthを第1閾値電圧Vth_LOWになるようにプログラムする。
動作中では、選択されたコンテキストに対応付けられた制御線WLに読出電位V_readを、それ以外の制御線WLにオフ電位V_offを印加する。データ線BL1およびBL2には、電圧Vssと電源電圧Vddとをそれぞれ印加する。この結果、データ出力端子OUTには、選択されたメモリペアMPが論理‘0’を記録する場合、電圧Vssが転送され、論理‘1’を記録する場合、電源電圧Vddが転送される。
つぎに、マルチコンテキストメモリとフリップフロップ(F/F)を備えた1ビット比較器を、いくつか例を挙げて説明する。
・第4例(NOR型のマッチラインとF/Fバッファとマルチコンテキストメモリとを備えるTernaryの1ビット比較器)
図45は、第6の実施形態にかかる1ビット比較器の第4例を示す回路図である。なお、図45に示す1ビット比較器1211も、上述の実施形態における1ビット比較器と同様、サーチラインSxに接続された第1の入力端子および反転サーチライン/Sxに接続された第2の入力端子と、それぞれマッチラインMLxに接続された第1および第2の一致判定端子とを備える。
図45に示すように、1ビット比較器1211は、フリップフロップFF1およびFF2と、マルチコンテキストメモリMM1およびMM2と、スイッチングトランジスタQ1〜Q4と、第1の一致判定端子と第2の一致判定端子を接続する内部信号線と、を備える。スイッチングトランジスタQ1のゲートはフリップフロップFF1のデータ端子とマルチコンテキストメモリMM1のデータ出力端子に接続され、ドレインは内部信号線に接続され、ソースはスイッチングトランジスタQ2のドレインに接続される。スイッチングトランジスタQ2のゲートは第1の入力端子に接続され、ソースは接地線に接続される。
同様に、スイッチングトランジスタQ3のゲートはフリップフロップFF2のデータ端子とマルチコンテキストメモリMM2のデータ出力端子に接続され、ドレインは内部信号線に接続され、ソースはスイッチングトランジスタQ4のドレインに接続される。スイッチングトランジスタQ4のゲートは第2の入力端子に接続され、ソースは接地線に接続される。
・第5例(NOR型のマッチラインとF/Fバッファとマルチコンテキストメモリとを備えるBinaryの1ビット比較器)
図46は、第6の実施形態にかかる1ビット比較器の第5例を示す回路図である。図46に示す1ビット比較器1311も、上述の実施形態における1ビット比較器と同様、サーチラインSxに接続された第1の入力端子および反転サーチライン/Sxに接続された第2の入力端子と、それぞれマッチラインMLxに接続された第1および第2の一致判定端子とを備える。
図46に示すように、1ビット比較器1311は、フリップフロップFF1と、マルチコンテキストメモリMM1と、スイッチングトランジスタQ1〜Q4と、第1の一致判定端子と第2の一致判定端子を接続する内部信号線と、を備える。スイッチングトランジスタQ1のゲートはフリップフロップFF1の反転データ端子とマルチコンテキストメモリMM1のデータ出力端子に接続され、ドレインは内部信号線に接続され、ソースはスイッチングトランジスタQ2のドレインに接続される。スイッチングトランジスタQ2のゲートは第1の入力端子に接続され、ソースは接地線に接続される。
また、スイッチングトランジスタQ3のゲートはフリップフロップFF1のデータ端子に接続され、ドレインは内部信号線に接続され、ソースはスイッチングトランジスタQ4のドレインに接続される。スイッチングトランジスタQ4のゲートは第2の入力端子に接続され、ソースは接地線に接続される。
・第6例(NAND型のマッチラインとF/Fバッファとマルチコンテキストメモリとを備えるTernaryの1ビット比較器)
図47は、第6の実施形態にかかる1ビット比較器の第6例を示す回路図である。図47に示す1ビット比較器1411も、上述の実施形態における1ビット比較器と同様、サーチラインSxに接続された第1の入力端子および反転サーチライン/Sxに接続された第2の入力端子と、それぞれマッチラインMLxに接続された第1および第2の一致判定端子とを備える。
図47に示すように、1ビット比較器1411は、フリップフロップFF1およびFF2と、マルチコンテキストメモリMM1およびMM2と、スイッチングトランジスタQ1〜Q4と、スイッチングトランジスタQ1のドレインとスイッチングトランジスタQ2のソースとを接続する内部信号線と、を備える。スイッチングトランジスタQ1のゲートはフリップフロップFF1の反転データ端子とマルチコンテキストメモリMM1のデータ出力端子に接続され、ソースは第1の入力端子に接続される。スイッチングトランジスタQ2のゲートはフリップフロップFF1のデータ端子に接続され、ドレインは第2の入力端子に接続される。
また、スイッチングトランジスタQ3のゲートは内部信号線に接続され、ソースは第1の一致判定端子に接続され、ドレインは第2の一致判定端子に接続される。スイッチングトランジスタQ4のゲートはフリップフロップFF2のデータ端子とマルチコンテキストメモリMM2のデータ出力端子に接続され、ソースは第1の一致判定端子に接続され、ドレインは第2の一致判定端子に接続される。
・第7例(NAND型のマッチラインとF/Fバッファとマルチコンテキストメモリとを備えるBinaryの1ビット比較器)
図48は、第6の実施形態にかかる1ビット比較器の第7例を示す回路図である。図48に示す1ビット比較器1511も、上述の実施形態における1ビット比較器と同様、サーチラインSxに接続された第1の入力端子および反転サーチライン/Sxに接続された第2の入力端子と、それぞれマッチラインMLxに接続された第1および第2の一致判定端子とを備える。
図48に示すように、1ビット比較器1511は、フリップフロップFF1と、マルチコンテキストメモリMM1と、スイッチングトランジスタQ1〜Q3と、スイッチングトランジスタQ1のドレインとスイッチングトランジスタQ2のソースとを接続する内部信号線と、を備える。スイッチングトランジスタQ1のゲートはフリップフロップFF1の反転データ端子とマルチコンテキストメモリMM1のデータ出力端子に接続され、ソースは第1の入力端子に接続される。スイッチングトランジスタQ2のゲートはフリップフロップFF1のデータ端子に接続され、ドレインは第2の入力端子に接続される。
また、スイッチングトランジスタQ3のゲートは内部信号線に接続され、ソースは第1の一致判定端子に接続され、ドレインは第2の一致判定端子に接続される。
以上のような、図45〜図48に示す1ビット比較器1211〜1511では、コンテキストを切り替える際、マルチコンテキストメモリMM1および/またはMM2の出力データをフリップフロップFF1および/またはFF2に転送して記録する。再構成可能な論理回路が動作している間は、フリップフロップFF1および/またはFF2がコンフィグレーションデータを保持および出力する。このため、動作中はマルチコンテキストメモリMM1および/またはMM2の全ての制御線WL1〜WL3の電圧を0Vとすることができる。
動作中に常時、制御線WL1〜WL3に転送電位V_passもしくは読出電位V_readを印加した場合、データの誤書込が起こる場合がある。そこで、上述のようにフリップフロップFF1および/またはFF2をバッファとして備えることで、このような不具合を回避することができる。たとえば図45〜図48に示される1ビット比較器1211〜1511の構成によれば、読出電位V_readもしくは転送電位V_passが制御線WL1〜WL3に印加されるのはコンテキストの切り替え時のみで、それ以外の動作中は制御線WL1〜WL3の電圧を0Vにすることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
たとえば上述した実施形態にかかるLUT回路およびMUX回路は、FPGA(Field−Programmable Gate Array)装置などのプログラミング可能な集積回路に搭載することが可能である。
100,100A,200,200A LUT回路、 101 検索データ駆動回路、 110,110−x,110A−x,210,210−x,210A−x ビット列比較器、 111−x,211−x,311−x,411−x,511−x,611−x,911,1011,1111,1211,1311,1411,1511 1ビット比較器、 700,700−1〜700−3,800 MUX回路、 FF1,FF2 フリップフロップ、 IV10 出力インバータ、 M1、M2,M11〜M13,M21〜M23 不揮発メモリトランジスタ、 ML 共通マッチライン、 MLx マッチライン、 MM1,MM2,MM3,MM11,MM12 マルチコンテキストメモリ、 MP1〜MP3 メモリペア、 MS1,MS2 メモリストリング、 SLx サーチライン対、 SR1,SR2 SRAMセル、 Sx サーチライン、 /Sx 反転サーチライン、 T01〜T08,Tsx カットオフトランジスタ、 T10,Tpx プリチャージトランジスタ、 Tax,Tbx トランジスタ、 Tx,Q1〜Q4,Q11,Q12,Q21,Q22 スイッチングトランジスタ、FF1,FF2 フリップフロップ

Claims (34)

  1. 2つ以上の1ビット比較器の一致判定端子を接続したマッチラインを有するビット列比較器と、
    2つ以上のサーチラインと反転サーチラインを含むペア配線と、
    共通マッチラインと、
    1つのプリチャージトランジスタと、
    出力インバータと、
    を備え、
    前記1ビット比較器は、少なくとも第1および第2の入力端子と、第1および第2の一致判定端子と、データと反転データとのペアを格納するメモリと、を有し、
    前記1ビット比較器の前記第1の入力端子は前記サーチラインに接続され、
    前記1ビット比較器の前記第2の入力端子は前記反転サーチラインに接続され、
    前記ビット列比較器の前記マッチラインは前記共通マッチラインに接続され、
    前記プリチャージトランジスタのソースは電源電圧線に接続され、
    前記プリチャージトランジスタのドレインは前記共通マッチラインに接続され、
    前記共通マッチラインは前記出力インバータの入力に接続されている、
    ことを特徴とする回路。
  2. 2つ以上の1ビット比較器の一致判定端子を接続したマッチラインを有するビット列比較器と、
    前記ビット列比較器の前記マッチラインにゲートが接続される第1トランジスタと、
    前記ビット列比較器の前記マッチラインにドレインが接続される第1プリチャージトランジスタと、
    2つ以上のサーチラインおよび反転サーチラインを含むペア配線と、
    共通マッチラインと、
    第2プリチャージトランジスタと、
    出力インバータと、
    を備え、
    前記1ビット比較器は、少なくとも第1および第2の入力端子と、第1および第2の一致判定端子と、データと反転データとのペアを格納するメモリと、を有し、
    前記1ビット比較器の前記第1の入力端子は前記サーチラインに接続され、
    前記1ビット比較器の前記第2の入力端子は前記反転サーチラインに接続され、
    前記ビット列比較器の前記第1トランジスタのドレインは前記共通マッチラインに接続され、
    前記第1プリチャージトランジスタのソースは電源電圧線に接続され、
    前記第2プリチャージトランジスタのソースは電源電圧線に接続され、
    前記第2プリチャージトランジスタのドレインは前記共通マッチラインに接続され、
    前記共通マッチラインは前記出力インバータの入力に接続される、
    ことを特徴とする回路。
  3. 前記ビット列比較器を2つ以上備えることを特徴とする請求項1または2に記載の回路。
  4. 前記サーチラインと前記反転サーチラインとのペアの数をNin、前記ビット列比較器の数をNcompとした場合、NinとNcompとの間に以下の式(1)が成り立つことを特徴とする請求項1または2に記載の回路。
    Ncomp≧2Nin/2 …(1)
  5. 前記ビット列比較器の前記メモリは、多入力1出力の真理値表において出力が論理1となる入力ビット列を格納することを特徴とする請求項1または2に記載の回路。
  6. 多入力1出力の真理値表において出力が論理1となる入力ビット列のうちハミング距離が1となるペアは、両者の不一致ビットをドントケアビットに変更した1つの縮小表現ビット列により表現され、
    前記ビット列比較器の前記メモリは、前記縮小表現ビット列を格納する、
    ことを特徴とする請求項1または2に記載の回路。
  7. 前記1ビット比較器は、第1の不揮発メモリトランジスタと、第2の不揮発メモリトランジスタと、を備え、
    前記第1の不揮発メモリトランジスタのゲートは前記第1の入力端子に接続され、
    前記第2の不揮発メモリトランジスタのゲートは前記第2の入力端子に接続され、
    前記第1の不揮発メモリトランジスタのソースは前記第1の一致判定端子に接続され、
    前記第2の不揮発メモリトランジスタのドレインは前記第2の一致判定端子に接続され、
    前記第1の不揮発メモリトランジスタのドレインは前記第2の不揮発メモリトランジスタのソースに接続される、
    ことを特徴とする請求項1に記載の回路。
  8. 不揮発メモリトランジスタの消去状態の閾値電圧を第1閾値電圧、該不揮発メモリトランジスタの書込状態の閾値電圧を第2閾値電圧、前記第1閾値電圧より大きく前記第2閾値電圧よりも小さい電圧を読出電位、前記第2閾値電圧よりも高い電圧を転送電位とした場合、前記サーチラインと前記反転サーチラインの印加電圧をそれぞれ、検索データが0の場合は前記読出電位および前記転送電位と割り当て、前記検索データが1の場合は前記転送電位および前記読出電位と割り当て、前記検索データがマスクビットの場合はともに前記転送電位と割り当てるとともに、
    前記第1の不揮発メモリトランジスタは前記反転データを格納し、
    前記第2の不揮発メモリトランジスタは前記データを格納し、
    前記データと前記反転データにそれぞれ、格納データが0の場合は前記第2閾値電圧および前記第1閾値電圧と割り当て、前記格納データが1の場合は前記第1閾値電圧および前記第2閾値電圧と割り当て、前記格納データがドントケアビットの場合はともに前記第1閾値電圧と割り当てる、
    ことを特徴とする請求項7に記載の回路。
  9. カットオフトランジスタをさらに備え、
    前記ビット列比較器の前記マッチラインは、前記カットオフトランジスタを介して前記共通マッチラインに接続されることを特徴とする請求項7に記載の回路。
  10. 前記1ビット比較器は、第1の不揮発メモリトランジスタと、第2の不揮発メモリトランジスタと、前記第1の一致判定端子と前記第2の一致判定端子を接続する内部信号線と、接地電源線と、を備え、
    前記第1の不揮発メモリトランジスタのゲートは前記第1の入力端子に接続され、
    前記第2の不揮発メモリトランジスタのゲートは前記第2の入力端子に接続され、
    前記第1の不揮発メモリトランジスタのドレインは前記内部信号線に接続され、
    前記第2の不揮発メモリトランジスタのドレインは前記内部信号線に接続され、
    前記第1の不揮発メモリトランジスタのソースは前記接地電源線に接続され、
    前記第2の不揮発メモリトランジスタのソースは前記接地電源線に接続される、
    ことを特徴とする請求項2に記載の回路。
  11. 不揮発メモリトランジスタの消去状態の閾値電圧を第1閾値電圧、該不揮発メモリトランジスタの書込状態の閾値電圧を第2閾値電圧、前記第1閾値電圧よりも低い電圧をオフ電位、前記第1閾値電圧より大きく前記第2閾値電圧よりも小さい電圧を読出電位とした場合、前記サーチラインと前記反転サーチラインの印加電圧をそれぞれ、検索データが0の場合は前記読出電位および前記オフ電位と割り当て、前記検索データが1の場合は前記オフ電位および前記読出電位と割り当て、前記検索データがマスクビットの場合はともに前記オフ電位と割り当てるとともに、
    前記第1の不揮発メモリトランジスタは前記反転データを格納し、
    前記第2の不揮発メモリトランジスタは前記データを格納し、
    前記データと前記反転データにそれぞれ、格納データが0の場合は前記第1閾値電圧および前記第2閾値電圧と割り当て、前記格納データが1の場合は前記第2閾値電圧および前記第1閾値電圧と割り当て、前記格納データがドントケアビットの場合はともに前記第2閾値電圧と割り当てる、
    ことを特徴とする請求項10に記載の回路。
  12. カットオフトランジスタをさらに備え、
    前記ビット列比較器の前記マッチラインは、前記カットオフトランジスタを介して前記共通マッチラインに接続されることを特徴とする請求項10に記載の回路。
  13. 前記1ビット比較器は、第1のSRAMセルと、第2のSRAMセルと、第1〜第4のスイッチトランジスタと、前記第1の一致判定端子と前記第2の一致判定端子を接続する内部信号線と、接地電源線と、を備え、
    前記第1のスイッチトランジスタのゲートは前記第1のSRAMセルの第1データ端子に接続され、
    前記第1のスイッチトランジスタのドレインは前記内部信号線に接続され、
    前記第1のスイッチトランジスタのソースは前記第2のスイッチトランジスタのドレインに接続され、
    前記第2のスイッチトランジスタのゲートは前記第1の入力端子に接続され、
    前記第2のスイッチトランジスタのソースは前記接地電源線に接続され、
    前記第3のスイッチトランジスタのゲートは前記第2のSRAMセルの第1データ端子に接続され、
    前記第3のスイッチトランジスタのドレインは前記内部信号線に接続され、
    前記第3のスイッチトランジスタのソースは前記第4のスイッチトランジスタのドレインに接続され、
    前記第4のスイッチトランジスタのゲートは前記第2の入力端子に接続され、
    前記第4のスイッチトランジスタのソースは前記接地電源線に接続される、
    ことを特徴とする請求項2に記載の回路。
  14. 前記1ビット比較器は、第1のSRAMセルと、第1〜第4のスイッチトランジスタと、前記第1の一致判定端子と前記第2の一致判定端子を接続する内部信号線と、接地電源線と、を備え、
    前記第1のスイッチトランジスタのゲートは前記第1のSRAMセルの第1データ端子に接続され、
    前記第1のスイッチトランジスタのドレインは前記内部信号線に接続され、
    前記第1のスイッチトランジスタのソースは前記第2のスイッチトランジスタのドレインに接続され、
    前記第2のスイッチトランジスタのゲートは前記第1の入力端子に接続され、
    前記第2のスイッチトランジスタのソースは前記接地電源線に接続され、
    前記第3のスイッチトランジスタのゲートは前記第1のSRAMセルの第2データ端子に接続され、
    前記第3のスイッチトランジスタのドレインは前記内部信号線に接続され、
    前記第3のスイッチトランジスタのソースは前記第4のスイッチトランジスタのドレインに接続され、
    前記第4のスイッチトランジスタのゲートは前記第2の入力端子に接続され、
    前記第4のスイッチトランジスタのソースは前記接地電源線に接続される、
    ことを特徴とする請求項2に記載の回路。
  15. 前記1ビット比較器は、第1のSRAMセルと、第2のSRAMセルと、第1〜第4のスイッチトランジスタと、前記第1のスイッチトランジスタのドレインと前記第2のスイッチトランジスタのソースとを接続する内部信号線と、を備え、
    前記第1のスイッチトランジスタのゲートは前記第1のSRAMセルの第1データ端子に接続され、
    前記第1のスイッチトランジスタのソースは前記第1の入力端子に接続され、
    前記第2のスイッチトランジスタのゲートは前記第1のSRAMセルの第2データ端子に接続され、
    前記第2のスイッチトランジスタのドレインは前記第2の入力端子に接続され、
    前記第3のスイッチトランジスタのゲートは前記内部信号線に接続され、
    前記第3のスイッチトランジスタのソースは前記第1の一致判定端子に接続され、
    前記第3のスイッチトランジスタのドレインは前記第2の一致判定端子に接続され、
    前記第4のスイッチトランジスタのゲートは前記第2のSRAMセルの第1データ端子に接続され、
    前記第4のスイッチトランジスタのソースは前記第1の一致判定端子に接続され、
    前記第4のスイッチトランジスタのドレインは前記第2の一致判定端子に接続される、
    ことを特徴とする請求項1に記載の回路。
  16. 前記1ビット比較器は、第1のSRAMセルと、第1〜第3のスイッチトランジスタと、前記第1のスイッチトランジスタのドレインと前記第2のスイッチトランジスタのソースとを接続する内部信号線と、を備え、
    前記第1のスイッチトランジスタのゲートは前記第1のSRAMセルの第1データ端子に接続され、
    前記第1のスイッチトランジスタのソースは前記第1の入力端子に接続され、
    前記第2のスイッチトランジスタのゲートは前記第1のSRAMセルの第2データ端子に接続され、
    前記第2のスイッチトランジスタのドレインは前記第2の入力端子に接続され、
    前記第3のスイッチトランジスタのゲートは前記内部信号線に接続され、
    前記第3のスイッチトランジスタのソースは前記第1の一致判定端子に接続され、
    前記第3のスイッチトランジスタのドレインは前記第2の一致判定端子に接続される、
    ことを特徴とする請求項1に記載の回路。
  17. 前記ビット列比較器を1つ備えることを特徴とする請求項1に記載の回路。
  18. 前記1ビット比較器はNOR型のマッチラインを備え、
    選択されたサーチラインと反転サーチラインとのペアが接続されている1ビット比較器には論理0が格納され、
    選択されていないサーチラインと反転サーチラインとのペアが接続されている1ビット比較器にはドントケアビットが格納されている、
    ことを特徴とする請求項17に記載の回路。
  19. 前記1ビット比較器はNAND型のマッチラインを備え、
    選択されたサーチラインと反転サーチラインとのペアが接続されている1ビット比較器には論理1が格納され、
    選択されていないサーチラインと反転サーチラインとのペアが接続されている1ビット比較器にはドントケアビットが格納されている、
    ことを特徴とする請求項17に記載の回路。
  20. 請求項17記載の回路を複数備え、
    前記複数の回路は、前記サーチラインと前記反転サーチラインとを共有する、
    ことを特徴とする回路。
  21. 前記1ビット比較器は、第1のマルチコンテキストメモリと、第2のマルチコンテキストメモリと、第1〜第4のスイッチトランジスタと、前記第1の一致判定端子と前記第2の一致判定端子を接続する内部信号線と、接地電源線と、を備え、
    前記第1のスイッチトランジスタのゲートは前記第1のマルチコンテキストメモリのデータ出力端子に接続され、
    前記第1のスイッチトランジスタのドレインは前記内部信号線に接続され、
    前記第1のスイッチトランジスタのソースは前記第2のスイッチトランジスタのドレインに接続され、
    前記第2のスイッチトランジスタのゲートは前記第1の入力端子に接続され、
    前記第2のスイッチトランジスタのソースは前記接地電源線に接続され、
    前記第3のスイッチトランジスタのゲートは前記第2のマルチコンテキストメモリのデータ出力端子に接続され、
    前記第3のスイッチトランジスタのドレインは前記内部信号線に接続され、
    前記第3のスイッチトランジスタのソースは前記第4のスイッチトランジスタのドレインに接続され、
    前記第4のスイッチトランジスタのゲートは前記第2の入力端子に接続され、
    前記第4のスイッチトランジスタのソースは前記接地電源線に接続される、
    ことを特徴とする請求項2に記載の回路。
  22. 前記1ビット比較器は、第1のマルチコンテキストメモリと、第2のマルチコンテキストメモリと、第3のマルチコンテキストメモリと、第1〜第4のスイッチトランジスタと、前記第1のスイッチトランジスタのドレインと前記第2のスイッチトランジスタのソースとを接続する内部信号線と、を備え、
    前記第1のスイッチトランジスタのゲートは前記第1のマルチコンテキストメモリのデータ出力端子に接続され、
    前記第1のスイッチトランジスタのソースは前記第1の入力端子に接続され、
    前記第2のスイッチトランジスタのゲートは前記第2のマルチコンテキストメモリのデータ出力端子に接続され、
    前記第2のスイッチトランジスタのドレインは前記第2の入力端子に接続され、
    前記第3のスイッチトランジスタのゲートは前記内部信号線に接続され、
    前記第3のスイッチトランジスタのソースは前記第1の一致判定端子に接続され、
    前記第3のスイッチトランジスタのドレインは前記第2の一致判定端子に接続され、
    前記第4のスイッチトランジスタのゲートは前記第3のマルチコンテキストメモリのデータ出力端子に接続され、
    前記第4のスイッチトランジスタのソースは前記第1の一致判定端子に接続され、
    前記第4のスイッチトランジスタのドレインは前記第2の一致判定端子に接続される、
    ことを特徴とする請求項1に記載の回路。
  23. 前記1ビット比較器は、第1のマルチコンテキストメモリと、第2のマルチコンテキストメモリと、第1〜第3のスイッチトランジスタと、前記第1のスイッチトランジスタのドレインと前記第2のスイッチトランジスタのソースとを接続する内部信号線と、を備え、
    前記第1のスイッチトランジスタのゲートは前記第1のマルチコンテキストメモリのデータ出力端子に接続され、
    前記第1のスイッチトランジスタのソースは前記第1の入力端子に接続され、
    前記第2のスイッチトランジスタのゲートは前記第2のマルチコンテキストメモリのデータ出力端子に接続され、
    前記第2のスイッチトランジスタのドレインは前記第2の入力端子に接続され、
    前記第3のスイッチトランジスタのゲートは前記内部信号線に接続され、
    前記第3のスイッチトランジスタのソースは前記第1の一致判定端子に接続され、
    前記第3のスイッチトランジスタのドレインは前記第2の一致判定端子に接続される、
    ことを特徴とする請求項1に記載の回路。
  24. 前記1ビット比較器は、第1のフリップフロップと、第2のフリップフロップと、第1のマルチコンテキストメモリと、第2のマルチコンテキストメモリと、第1〜第4のスイッチトランジスタと、前記第1の一致判定端子と前記第2の一致判定端子を接続する内部信号線と、接地電源線と、を備え、
    前記第1のスイッチトランジスタのゲートは前記第1のフリップフロップの第1データ端子と前記第1のマルチコンテキストメモリのデータ出力端子に接続され、
    前記第1のスイッチトランジスタのドレインは前記内部信号線に接続され、
    前記第1のスイッチトランジスタのソースは前記第2のスイッチトランジスタのドレインに接続され、
    前記第2のスイッチトランジスタのゲートは前記第1の入力端子に接続され、
    前記第2のスイッチトランジスタのソースは前記接地電源線に接続され、
    前記第3のスイッチトランジスタのゲートは前記第2のフリップフロップの第1データ端子と前記第2のマルチコンテキストメモリのデータ出力端子に接続され、
    前記第3のスイッチトランジスタのドレインは前記内部信号線に接続され、
    前記第3のスイッチトランジスタのソースは前記第4のスイッチトランジスタのドレインに接続され、
    前記第4のスイッチトランジスタのゲートは前記第2の入力端子に接続され、
    前記第4のスイッチトランジスタのソースは前記接地電源線に接続される、
    ことを特徴とする請求項2に記載の回路。
  25. 前記1ビット比較器は、第1のフリップフロップと、第1のマルチコンテキストメモリと、第1〜第4のスイッチトランジスタと、前記第1の一致判定端子と前記第2の一致判定端子を接続する内部信号線と、接地電源線と、を備え、
    前記第1のスイッチトランジスタのゲートは前記第1のフリップフロップの第1データ端子と前記第1のマルチコンテキストメモリのデータ出力端子に接続され、
    前記第1のスイッチトランジスタのドレインは前記内部信号線に接続され、
    前記第1のスイッチトランジスタのソースは前記第2のスイッチトランジスタのドレインに接続され、
    前記第2のスイッチトランジスタのゲートは前記第1の入力端子に接続され、
    前記第2のスイッチトランジスタのソースは前記接地電源線に接続され、
    前記第3のスイッチトランジスタのゲートは前記第1のフリップフロップの第2データ端子に接続され、
    前記第3のスイッチトランジスタのドレインは前記内部信号線に接続され、
    前記第3のスイッチトランジスタのソースは前記第4のスイッチトランジスタのドレインに接続され、
    前記第4のスイッチトランジスタのゲートは前記第2の入力端子に接続され、
    前記第4のスイッチトランジスタのソースは前記接地電源線に接続される、
    ことを特徴とする請求項2に記載の回路。
  26. 前記1ビット比較器は、第1のフリップフロップと、第2のフリップフロップと、第1のマルチコンテキストメモリと、第2のマルチコンテキストメモリと、第1〜第4のスイッチトランジスタと、前記第1のスイッチトランジスタのドレインと前記第2のスイッチトランジスタのソースとを接続する内部信号線と、を備え、
    前記第1のスイッチトランジスタのゲートは前記第1のフリップフロップの第1データ端子と前記第1のマルチコンテキストメモリのデータ出力端子に接続され、
    前記第1のスイッチトランジスタのソースは前記第1の入力端子に接続され、
    前記第2のスイッチトランジスタのゲートは前記第1のフリップフロップの第2データ端子に接続され、
    前記第2のスイッチトランジスタのドレインは前記第2の入力端子に接続され、
    前記第3のスイッチトランジスタのゲートは前記内部信号線に接続され、
    前記第3のスイッチトランジスタのソースは前記第1の一致判定端子に接続され、
    前記第3のスイッチトランジスタのドレインは前記第2の一致判定端子に接続され、
    前記第4のスイッチトランジスタのゲートは前記第2のフリップフロップの第1データ端子と前記第2のマルチコンテキストメモリのデータ出力端子に接続され、
    前記第4のスイッチトランジスタのソースは前記第1の一致判定端子に接続され、
    前記第4のスイッチトランジスタのドレインは前記第2の一致判定端子に接続される、
    ことを特徴とする請求項1に記載の回路。
  27. 前記1ビット比較器は、第1のフリップフロップと、第1のマルチコンテキストメモリと、第1〜第3のスイッチトランジスタと、前記第1のスイッチトランジスタのドレインと前記第2のスイッチトランジスタのソースとを接続する内部信号線と、を備え、
    前記第1のスイッチトランジスタのゲートは前記第1のフリップフロップの第1データ端子と前記第1のマルチコンテキストメモリのデータ出力端子に接続され、
    前記第1のスイッチトランジスタのソースは前記第1の入力端子に接続され、
    前記第2のスイッチトランジスタのゲートは前記第1のフリップフロップの第2データ端子に接続され、
    前記第2のスイッチトランジスタのドレインは前記第2の入力端子に接続され、
    前記第3のスイッチトランジスタのゲートは前記内部信号線に接続され、
    前記第3のスイッチトランジスタのソースは前記第1の一致判定端子に接続され、
    前記第3のスイッチトランジスタのドレインは前記第2の一致判定端子に接続される、
    ことを特徴とする請求項1に記載の回路。
  28. 前記マルチコンテキストメモリは、第1及び第2のデータ線と、データ出力端子と、前記データ出力端子に接続する共通ノードと、前記共通ノードと前記第1のデータ線との間に直列接続される第1及び第2の不揮発メモリトランジスタを少なくとも含む第1のメモリストリングと、前記共通ノードと前記第2のデータ線との間に直列接続される第3及び第4の不揮発メモリトランジスタを少なくとも含む第2のメモリストリングと、
    を備えることを特徴とする請求項21〜27のいずれか一つに記載の回路。
  29. 前記マルチコンテキストメモリは、第1及び第2のデータ線と、データ出力端子と、前記データ出力端子に接続する共通ノードと、第1及び第2の制御線と、ゲートが前記第1の制御線に接続され、ドレインが前記第1のデータ線に接続され、ソースが前記共通ノードに接続される第1の不揮発メモリトランジスタ、及び、ゲートが前記第1の制御線に接続され、ドレインが前記第2のデータ線に接続され、ソースが前記共通ノードに接続される第2の不揮発メモリトランジスタを備える第1のメモリペアと、ゲートが前記第2の制御線に接続され、ドレインが前記第1のデータ線に接続され、ソースが前記共通ノードに接続される第3の不揮発メモリトランジスタ、及び、ゲートが前記第2の制御線に接続され、ドレインが前記第2のデータ線に接続され、ソースが前記共通ノードに接続される第4の不揮発メモリトランジスタを備える第2のメモリペアと、
    を備えることを特徴とする請求項21から27のいずれか一つに記載の回路。
  30. 請求項1〜29のいずれか一つに記載の回路を備えたことを特徴とするLUT回路。
  31. 請求項1〜29のいずれか一つに記載の回路を備えたことを特徴とするMUX回路。
  32. 請求項1〜29のいずれか一つに記載の回路を備えたことを特徴とするFPGA装置。
  33. 請求項9に記載の回路にデータを書き込むためのデータ書込方法であって、
    前記カットオフトランジスタに該カットオフトランジスタの閾値電圧以下の電圧を印加することで該カットオフトランジスタを遮断状態とし、
    書込対象の不揮発メモリトランジスタのゲートが接続されている前記サーチラインまたは前記反転サーチラインに書込用のゲート電圧を印加し、
    前記書込対象の不揮発メモリトランジスタのゲートが接続されていない前記サーチラインまたは前記反転サーチラインに非書込用のゲート電圧を印加し、
    前記書込対象の不揮発メモリトランジスタのドレインが接続されている前記マッチラインに書込用のドレイン電圧を印加し、
    前記書込対象の不揮発メモリトランジスタのドレインが接続されていない前記マッチラインに書込阻止用のドレイン電圧を印加する
    ことを含み、
    前記非書込用のゲート電圧は前記書込用のゲート電圧よりも低く、
    前記書込阻止用のドレイン電圧は前記非書込用のゲート電圧よりも低く、
    前記書込用のドレイン電圧は前記書込阻止用のドレイン電圧よりも低い、
    ことを特徴とする方法。
  34. 請求項12に記載の回路にデータを書き込むためのデータ書込方法であって、
    前記カットオフトランジスタに該カットオフトランジスタの閾値電圧以下の電圧を印加することで該カットオフトランジスタを遮断状態とし、
    書込対象の不揮発メモリトランジスタのゲートが接続されている前記サーチラインまたは前記反転サーチラインに書込用のゲート電圧を印加し、
    前記書込対象の不揮発メモリトランジスタのゲートが接続されていない前記サーチラインまたは前記反転サーチラインに、前記書込用のゲート電圧よりも低い、非書込用のゲート電圧を印加し、
    前記書込対象の不揮発メモリトランジスタのドレインが接続されている前記マッチラインに書込用のドレイン電圧を印加し、
    前記書込対象の不揮発メモリトランジスタのドレインが接続されていない前記マッチラインに、前記書込用のドレイン電圧よりも低い、非書込用のドレイン電圧を印加する、
    ことを特徴とする方法。
JP2012172854A 2012-08-03 2012-08-03 プログラマブル一致判定機能を備えた回路、それを備えたlut回路、それを備えたmux回路、それを備えたfpga装置、およびデータ書込方法 Withdrawn JP2014032723A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012172854A JP2014032723A (ja) 2012-08-03 2012-08-03 プログラマブル一致判定機能を備えた回路、それを備えたlut回路、それを備えたmux回路、それを備えたfpga装置、およびデータ書込方法
US13/613,701 US8908408B2 (en) 2012-08-03 2012-09-13 Circuit having programmable match determination function, and LUT circuit, MUX circuit and FPGA device with such function and method of data writing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012172854A JP2014032723A (ja) 2012-08-03 2012-08-03 プログラマブル一致判定機能を備えた回路、それを備えたlut回路、それを備えたmux回路、それを備えたfpga装置、およびデータ書込方法

Publications (1)

Publication Number Publication Date
JP2014032723A true JP2014032723A (ja) 2014-02-20

Family

ID=50024871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012172854A Withdrawn JP2014032723A (ja) 2012-08-03 2012-08-03 プログラマブル一致判定機能を備えた回路、それを備えたlut回路、それを備えたmux回路、それを備えたfpga装置、およびデータ書込方法

Country Status (2)

Country Link
US (1) US8908408B2 (ja)
JP (1) JP2014032723A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101986206B1 (ko) * 2018-01-03 2019-06-05 연세대학교 산학협력단 비휘발성 메모리 소자를 이용한 가변 입출력 구조의 룩업 테이블 회로

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6254834B2 (ja) * 2012-12-06 2017-12-27 株式会社半導体エネルギー研究所 半導体装置
US9311978B2 (en) * 2013-10-23 2016-04-12 Globalfoundries Inc. Regulated power gating for growable memory
JP2015142175A (ja) * 2014-01-27 2015-08-03 株式会社東芝 プログラマブル論理回路および不揮発性fpga
KR102420735B1 (ko) 2016-08-19 2022-07-14 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치의 전원 제어 방법
KR102379729B1 (ko) * 2017-10-27 2022-03-29 삼성전자주식회사 우선 순위에 따라 매칭 라인들을 구동하는 메모리 장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870302A (en) 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4642487A (en) 1984-09-26 1987-02-10 Xilinx, Inc. Special interconnect for configurable logic array
JPH0612884A (ja) 1992-06-30 1994-01-21 Nec Corp 連想記憶装置
US6961741B2 (en) 2001-02-15 2005-11-01 Stmicroelectronics Ltd. Look-up table apparatus to perform two-bit arithmetic operation including carry generation
US20070247885A1 (en) * 2006-04-25 2007-10-25 Renesas Technology Corp. Content addressable memory
US8169808B2 (en) 2008-01-25 2012-05-01 Micron Technology, Inc. NAND flash content addressable memory
JP5330524B2 (ja) 2009-09-18 2013-10-30 株式会社東芝 半導体連想メモリ装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101986206B1 (ko) * 2018-01-03 2019-06-05 연세대학교 산학협력단 비휘발성 메모리 소자를 이용한 가변 입출력 구조의 룩업 테이블 회로

Also Published As

Publication number Publication date
US20140035618A1 (en) 2014-02-06
US8908408B2 (en) 2014-12-09

Similar Documents

Publication Publication Date Title
JP5092001B2 (ja) 半導体集積回路
US9390792B2 (en) Apparatuses, memories, and methods for address decoding and selecting an access line
JP2014032723A (ja) プログラマブル一致判定機能を備えた回路、それを備えたlut回路、それを備えたmux回路、それを備えたfpga装置、およびデータ書込方法
US7864620B1 (en) Partially reconfigurable memory cell arrays
US8842475B2 (en) Configuration memory
JP4606239B2 (ja) メモリアレイ回路
WO2015012305A1 (ja) リコンフィギュラブル論理回路
KR101024154B1 (ko) 페이지 버퍼 회로
US9042173B2 (en) Efficient memory sense architecture
JP2005537602A (ja) メモリマトリクスの複数の横列に対して同時書き込みを行うデバイス
JP4646608B2 (ja) 半導体記憶装置
JP2013153382A (ja) 半導体装置
US9767907B2 (en) Row decoder for a non-volatile memory device, having reduced area occupation
US10360333B1 (en) Configuration memory circuit
CN110660416A (zh) 存储装置及其写入驱动器和操作方法
TWI625730B (zh) Reconfigurable logic element, control method of reconfigurable logic element, program product for controlling reconfigurable logic element, and computer readable recording medium
US7378879B1 (en) Decoding systems and methods
US8680887B2 (en) Nonvolatile configuration memory
US20200294609A1 (en) Semiconductor storage device
JP6795103B2 (ja) 不揮発性抵抗スイッチを用いる再構成可能回路
US9607669B2 (en) Semiconductor memory device including precharge circuit
JP3585256B2 (ja) 半導体集積化メモリ
JPH10199280A (ja) 半導体記憶装置
US20170179948A1 (en) Signal transfer circuit and circuit for generating hit signal including the same
JP2625991B2 (ja) マスクrom装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140207

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20140613