JP2004264896A - 論理演算回路、論理演算装置および論理演算方法 - Google Patents
論理演算回路、論理演算装置および論理演算方法 Download PDFInfo
- Publication number
- JP2004264896A JP2004264896A JP2003029165A JP2003029165A JP2004264896A JP 2004264896 A JP2004264896 A JP 2004264896A JP 2003029165 A JP2003029165 A JP 2003029165A JP 2003029165 A JP2003029165 A JP 2003029165A JP 2004264896 A JP2004264896 A JP 2004264896A
- Authority
- JP
- Japan
- Prior art keywords
- data
- logical
- logical operation
- addition
- nonvolatile
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital 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/04—Digital 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/046—Digital 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/4824—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices using signed-digit representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3884—Pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5332—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by skipping over strings of zeroes or ones, e.g. using the Booth Algorithm
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Memory System (AREA)
Abstract
【解決手段】負荷用の強誘電体コンデンサCs’の残留分極状態s’が記憶用の強誘電体コンデンサCsの残留分極状態sと反対になるよう、強誘電体コンデンサCs’の残留分極状態を積極的に変更する。演算動作において基準電位c=0とした場合、残留分極状態s(第1の被演算データ)=0の強誘電体コンデンサCsに第2の被演算データx=1を付与しても強誘電体コンデンサCsは分極反転を起こさない。s=0、x=1以外の組み合わせでも強誘電体コンデンサCsは分極反転を起こさない。また、s=0の強誘電体コンデンサCsにx=1を付与したとき結合ノードが示す電位VA=VA(0)と、s=1の強誘電体コンデンサCsにx=1を付与したとき結合ノードが示す電位VA=VA(1)との差が大きい。
【選択図】 図6
Description
【発明の属する技術分野】
この発明は論理演算回路、論理演算装置および論理演算方法に関し、とくに、強誘電体コンデンサなどの不揮発性記憶素子を用いた論理演算回路、論理演算装置および論理演算方法に関する。
【0002】
【従来の技術】
強誘電体コンデンサを用いた回路として不揮発性メモリが知られている。強誘電体コンデンサを用いることで、低電圧にて書き換え可能な不揮発性メモリを実現することができる(たとえば、特許文献1の第3図参照。)。
【0003】
【特許文献1】
特許第2674775号
【0004】
【発明が解決しようとする課題】
しかしながら、従来のこのような回路では、データを記憶することはできてもデータの論理演算を行うことはできなかった。
【0005】
この発明は、このような従来の強誘電体コンデンサを用いた回路の問題点を解消し、強誘電体コンデンサなどの不揮発性記憶素子を用いて、データの記憶およびデータの論理演算を行うことができる論理演算回路、論理演算装置および論理演算方法を提供することを目的とする。さらに、信頼性が高くかつ高速な演算動作を行うことのできる論理演算回路、論理演算装置および論理演算方法を提供することを目的とする。
【0006】
【課題を解決するための手段、発明の作用および効果】
請求項1の論理演算回路は、第1の被演算データに対応する分極状態を保持する記憶用強誘電体コンデンサであって、第1および第2の端子を有する記憶用強誘電体コンデンサと、第1の被演算データに対応する分極状態であって記憶用強誘電体コンデンサの分極状態と実質的に相補的関係を有する分極状態を保持する負荷用強誘電体コンデンサであって、記憶用強誘電体コンデンサの第1の端子に接続される第3の端子と、第4の端子と、を有する負荷用強誘電体コンデンサと、負荷用強誘電体コンデンサの第4の端子を所定の基準電位に接続するとともに前記記憶用強誘電体コンデンサの第2の端子に第2の被演算データを付与することにより得られる、記憶用強誘電体コンデンサの第1の端子と負荷用強誘電体コンデンサの第3の端子との結合ノードの電位に基づいて、所定の論理演算子についての第1および第2の被演算データの論理演算結果を出力する演算結果出力部であって、結合ノードに接続される演算結果出力部と、を備えたことを特徴とする。
【0007】
つまり、第1の被演算データを記憶している記憶用強誘電体コンデンサと、第1の被演算データと相補的関係を有するデータを記憶している負荷用強誘電体コンデンサとを結合ノードにおいて直列に接続して得られる1つの合成強誘電体コンデンサの一端に所定の基準電位を付与するとともに他端に第2の被演算データを付与したとき結合ノードに現れる電位を、所定の論理演算子についての第1および第2の被演算データの論理演算結果として読み出している。
【0008】
したがって、合成強誘電体コンデンサからのデータ読み出し動作を利用して論理演算を行うことができる。すなわち、データの記憶およびデータの論理演算を1つの論理演算回路で実現することができる。
【0009】
また、負荷用強誘電体コンデンサの分極状態が、記憶用強誘電体コンデンサの分極状態と相補的関係を有するよう構成することで、データ読み出し時における結合ノードの電位が論理演算結果に対応して大きく異なるとともに、データ読み出し動作において記憶用強誘電体コンデンサの残留分極が反転しないようにすることが可能となる。したがって、マージンの大きい非破壊データ読み出しが可能となる。すなわち、さらに、信頼性が高くかつ高速な演算動作を行うことのできる論理演算回路を実現することができる。
【0010】
請求項2の論理演算回路においては、所定の基準電位は、2以上の異なる論理演算子に対応する2以上の異なる基準電位から選択可能に構成され、所定の論理演算子は、選択された所定の基準電位を負荷用強誘電体コンデンサの第4の端子に接続するとともに、第2の被演算データの付与前に結合ノードを当該所定の基準電位にプリチャージしておくことにより、決定するよう構成されたことを特徴とする。
【0011】
したがって、データ読み出し動作において所定の基準電位を選択するという簡単な動作によって、1つの論理演算回路を用いて複数種の論理演算を実行させることが可能となる。
【0012】
請求項3の論理演算回路においては、結合ノードには第3の被演算データを付与することができ、記憶用強誘電体コンデンサの第2の端子および負荷用強誘電体コンデンサの第4の端子には第4の被演算データを付与することができるよう構成され、第1の被演算データに対応する記憶用強誘電体コンデンサおよび負荷用強誘電体コンデンサの分極状態は、付与された第3および第4の被演算データと、当該第3および第4の被演算データが付与される前の記憶用強誘電体コンデンサおよび負荷用強誘電体コンデンサの分極状態と、により決定するよう構成されたことを特徴とする。
【0013】
つまり、データ書き込み前に合成強誘電体コンデンサに記憶されていた古い第1の被演算データならびにデータ書き込み時に合成強誘電体コンデンサの結合ノードおよび両端にそれぞれ付与される第3および第4の被演算データによって決定される第1の被演算データが、データ書き込み動作において合成強誘電体コンデンサに書き込まれる。
【0014】
したがって、合成強誘電体コンデンサへのデータ書き込み動作を利用して論理演算を行うことができる。
【0015】
請求項4の論理演算回路は、2値データである第1の被演算データsに対応する不揮発的状態を保持する不揮発性記憶素子であって、第1および第2の端子を有する不揮発性記憶素子と、第1の被演算データsの反転データ/sに対応する不揮発的状態を保持する不揮発性負荷素子であって、不揮発性記憶素子の第1の端子に接続される第3の端子と、第4の端子と、を有する不揮発性負荷素子と、不揮発性負荷素子の第4の端子を、相補的関係にある2つの基準電位から選択された任意の1つの基準電位に維持したまま、不揮発性記憶素子の第1の端子と不揮発性負荷素子の第3の端子との結合ノードを基準電位にプリチャージしたあと不揮発性記憶素子の第2の端子に2値データである第2の被演算データxを付与することにより得られる不揮発性記憶素子および不揮発性負荷素子双方の状態に基づいて基準電位に対応する所定の論理演算子についての第1および第2の被演算データsおよびxの論理演算結果を2値データである演算結果データzとして出力する演算結果出力部と、を備えた論理演算回路であって、演算結果データzは、相補的関係にある2つの基準電位に対応する2値データをcおよび/cとしたとき、実質的に次式を満足するよう構成されたことを特徴とする。
【0016】
z = /c AND x AND /s OR c AND (x OR /s)
【0017】
つまり、第1の被演算データsを記憶している不揮発性記憶素子と、第1の被演算データsの反転データ/sを記憶している不揮発性負荷素子とを結合ノードにおいて直列に接続して得られる1つの合成不揮発性素子の一端を相補的関係にある2つの基準電位から選択された任意の1つの基準電位cに維持したまま、結合ノードを当該基準電位cにプリチャージしたあと他端に第2の被演算データxを付与したときの合成不揮発性素子の状態を、実質的に次式を満足する演算結果データzとして読み出している。
【0018】
z = /c AND x AND /s OR c AND (x OR /s)
【0019】
したがって、合成不揮発性素子からのデータ読み出し動作を利用して論理演算を行うことができる。すなわち、データの記憶およびデータの論理演算を1つの論理演算回路で実現することができる。
【0020】
また、不揮発性負荷素子の不揮発的状態が、不揮発性記憶素子の不揮発的状態と相補的関係を有するよう構成することで、データ読み出し時における合成不揮発性素子の状態が論理演算結果に対応して大きく異なるようにすることが可能となる。したがって、マージンの大きいデータ読み出しが可能となる。すなわち、さらに、信頼性が高くかつ高速な演算動作を行うことのできる論理演算回路を実現することができる。
【0021】
さらに、データ読み出し動作において所定の基準電位cを相補的関係にある2つの基準電位から選択するという簡単な動作によって、1つの論理演算回路を用いて複数種の論理演算を実行させることが可能となる。
【0022】
請求項5の論理演算回路においては、第1の被演算データsは、結合ノードに2値データである第3の被演算データy1を付与するとともに、不揮発性記憶素子の第2の端子および不揮発性負荷素子の第4の端子に2値データである第4の被演算データy2を付与することにより得られる不揮発性記憶素子の新たな不揮発的状態に対応するものであり、第3および第4の被演算データを付与する前の第1の被演算データをsbとするとき、実質的に次式を満足するよう構成されたことを特徴とする。
【0023】
s = /sb AND /y1 AND y2 OR sb AND (/y1 OR y2)
【0024】
つまり、データ書き込み前に合成不揮発性素子に記憶されていた古い第1の被演算データsbならびにデータ書き込み時に合成不揮発性素子の結合ノードおよび両端にそれぞれ付与される第3および第4の被演算データy1およびy2によって決定される新たな第1の被演算データsが、データ書き込み動作において合成不揮発性素子に書き込まれる。
【0025】
したがって、合成強誘電体コンデンサへのデータ書き込み動作を利用して論理演算を行うことができる。
【0026】
請求項6の論理演算回路は、第1の被演算データに対応する不揮発的状態を保持する不揮発性記憶素子と、第1の被演算データによって異なる状態変化率の不揮発的状態を保持する不揮発性負荷素子であって、結合ノードにおいて不揮発性記憶素子に接続される不揮発性負荷素子と、不揮発性記憶素子に第2の被演算データを付与することにより得られる当該不揮発性記憶素子および不揮発性負荷素子双方の状態変化量に基づいて、所定の論理演算子についての第1および第2の被演算データの論理演算結果を出力する演算結果出力部と、を備えたことを特徴とする。
【0027】
請求項24の論理演算方法は、所定の論理演算子についての第1および第2の被演算データの論理演算を行う論理演算方法であって、第1の被演算データに対応する不揮発的状態を保持する不揮発性記憶素子であって、第1および第2の端子を有する不揮発性記憶素子と、第1の被演算データによって異なる状態変化率の不揮発的状態を保持する不揮発性負荷素子であって、結合ノードにおいて不揮発性記憶素子の第1の端子に接続される第3の端子と、第4の端子と、を有する不揮発性負荷素子と、を用意する書き込みステップと、不揮発性負荷素子の第4の端子を所定の基準電位に接続するとともに前記不揮発性記憶素子の第2の端子に第2の被演算データを付与することにより得られる当該不揮発性記憶素子および不揮発性負荷素子双方の状態変化量に基づいて、論理演算を行う読み出しステップと、を備えたことを特徴とする。
【0028】
したがって、請求項6の論理演算回路または請求項24の論理演算方法によれば、第1の被演算データを記憶している不揮発性記憶素子と、第1の被演算データによって異なる状態変化率の不揮発的状態を保持する不揮発性負荷素子とを結合ノードにおいて接続して得られる1つの合成不揮発性素子を構成する不揮発性記憶素子に第2の被演算データを付与したとき合成不揮発性素子の状態変化量を、所定の論理演算子についての第1および第2の被演算データの論理演算結果として読み出している。
【0029】
このため、合成不揮発性素子からのデータ読み出し動作を利用して論理演算を行うことができる。すなわち、データの記憶およびデータの論理演算を1つの論理演算回路で実現することができる。
【0030】
また、不揮発性負荷素子の不揮発的状態が、第1の被演算データによって異なる状態変化率となるよう構成することで、データ読み出し時における合成不揮発性素子の状態が論理演算結果に対応して大きく異なるようにすることが可能となる。したがって、マージンの大きいデータ読み出しが可能となる。すなわち、さらに、信頼性が高くかつ高速な演算動作を行うことのできる論理演算回路を実現することができる。
【0031】
請求項7の論理演算回路においては、所定の論理演算子は、2以上の異なる論理演算子に対応する2以上の異なる基準電位から選択した1つの基準電位を、第2の被演算データの付与に先立って不揮発性負荷素子に付与することにより決定するよう構成されたことを特徴とする。
【0032】
請求項25の論理演算方法においては、所定の基準電位は、2以上の異なる論理演算子に対応する2以上の異なる基準電位から選択可能に構成され、読み出しステップは、選択された所定の基準電位を、不揮発性負荷素子の第4の端子および結合ノードに付与するステップと、所定の基準電位の、不揮発性負荷素子の第4の端子への付与を維持しつつ結合ノードへの付与を停止し、その状態で不揮発性記憶素子の第2の端子に第2の被演算データを付与するステップと、を備えたことを特徴とする。
【0033】
したがって、請求項7の論理演算回路または請求項25の論理演算方法によれば、データ読み出し動作において所定の基準電位を選択するという簡単な動作によって、1つの論理演算回路を用いて複数種の論理演算を実行させることが可能となる。
【0034】
請求項8の論理演算回路においては、不揮発性記憶素子および不揮発性負荷素子には第3および第4の被演算データを付与することができるよう構成され、第1の被演算データに対応する不揮発性記憶素子および不揮発性負荷素子の不揮発的状態は、付与された第3および第4の被演算データと、当該第3および第4の被演算データが付与される前の不揮発性記憶素子および不揮発性負荷素子の不揮発的状態と、により決定されるよう構成されたことを特徴とする。
【0035】
請求項26の論理演算方法においては、書き込みステップは、結合ノードに第3の被演算データを付与するとともに不揮発性記憶素子の第2の端子および不揮発性負荷素子の第4の端子に第4の被演算データを付与することにより、付与された第3および第4の被演算データと、当該第3および第4の被演算データが付与される前の不揮発性記憶素子および不揮発性負荷素子の不揮発的状態とにより、第1の被演算データに対応する不揮発性記憶素子および不揮発性負荷素子の新たな不揮発的状態を決定するよう構成されたことを特徴とする。
【0036】
したがって、請求項8の論理演算回路または請求項26の論理演算方法によれば、データ書き込み前に合成不揮発性素子に記憶されていた古い第1の被演算データならびにデータ書き込み時に合成不揮発性素子に付与される第3および第4の被演算データによって決定される新たな第1の被演算データが、データ書き込み動作において合成不揮発性素子に書き込まれる。
【0037】
したがって、合成不揮発性素子へのデータ書き込み動作を利用して論理演算を行うことができる。
【0038】
請求項9の論理演算回路においては、演算結果出力部は、結合ノードに接続される制御端子と、制御端子に入力される制御信号に対応した出力信号を出力する出力端子と、を有する出力用トランジスタであって、制御信号として当該出力用トランジスタのしきい値電圧よりも第1の基準電位よりの電位が与えられるとOFFとなり、当該しきい値電圧よりも第2の基準電位よりの電位が与えられるとONとなる出力用トランジスタ、を備え、論理演算結果は、当該出力用トランジスタの出力信号として得られるよう構成されたことを特徴とする。
【0039】
したがって、データ読み出し動作において発生する結合ノードの電位が、しきい値電圧よりも第1の基準電位よりであれば出力用トランジスタはOFFとなり、しきい値電圧よりも第2の基準電位よりであれば出力用トランジスタはONとなる。このため、出力用トランジスタのしきい値電圧を適当に設定しておくことにより、論理演算結果を、当該出力用トランジスタの出力信号として得ることができる。
【0040】
請求項10の論理演算装置は、請求項1ないし9のいずれかの論理演算回路を直列および/または並列に配置することにより所望の論理演算を行わせるよう構成したことを特徴とする。
【0041】
したがって、論理演算部と記憶部とを1つの回路で兼用する上述の論理演算回路を多数組み合わせて所望の論理演算を行わせることで、記憶部を別に設ける従来の装置に比べ、配線に要する面積を含め、回路面積をかなり小さくすることができる。このため、装置の集積度を大幅に上げることができるとともに消費電力を抑えることが可能となる。
【0042】
また、記憶は不揮発的であるため、記憶を保持しておくための電力は不要となる。このため、動作時の電力消費量を低く抑えることができるとともに、待機時にはほとんど電力を消費しない。また、電源遮断に備えたバックアップ電源も不要となる。さらに、不揮発性記憶素子として強誘電体コンデンサを含む素子を用いた場合には、書き込み動作の高速化を図ることができる。
【0043】
さらに、マージンの大きいデータ読み出しが可能な論理演算回路を多数用いることで、信頼性が高く、かつ、より高速な演算動作を行うことができる論理演算装置を実現することができる。
【0044】
請求項11の論理演算装置は、検索対象である検索ワードを保持する検索ワード保持部と、参照対象である参照ワードを保持するとともに当該参照ワードと検索ワードとの一致判断を行うワード回路であって、請求項1ないし9のいずれかの論理演算回路を並列および/または直列に配置して参照ワードの保持および前記一致判断を行うよう構成したワード回路と、を備えたことを特徴とする。
【0045】
したがって、論理演算部と記憶部とを1つの回路で兼用する上述の論理演算回路を多数組み合わせて、参照ワードと検索ワードとの一致判断を行うワード回路を構成することで、従来の一致検索装置に比べ、配線に要する面積を含め、回路面積をかなり小さくすることができる。このため、装置の集積度を大幅に上げることができるとともに消費電力を抑えることが可能となる。
【0046】
また、記憶は不揮発的であるため、記憶を保持しておくための電力は不要となる。このため、動作時の電力消費量を低く抑えることができるとともに、待機時にはほとんど電力を消費しない。また、電源遮断に備えたバックアップ電源も不要となる。さらに、不揮発性記憶素子として強誘電体コンデンサを含む素子を用いた場合には、書き込み動作の高速化を図ることができる。
【0047】
さらに、マージンの大きいデータ読み出しが可能な論理演算回路を多数用いることで、信頼性が高く、かつ、より高速な動作を行うことができる一致検索装置を実現することができる。
【0048】
請求項12の論理演算装置においては、ワード回路は、参照ワードを構成する各ビットについてそれぞれ直列に接続された一対の論理演算回路を用いて参照ワードのビット値とこれに対応する検索ワードのビット値との排他的論理和の否定に対応する論理値を算出し、各一対の論理演算回路の出力を全て並列に接続することによりビットごとに算出された排他的論理和の否定に対応する論理値全体の論理積に対応する論理値を算出し、算出された論理積に対応する論理値を当該ワード回路の一致判断出力とするよう構成されたことを特徴とする。
【0049】
したがって、参照ワードが検索ワードと完全に一致した場合にのみ一致出力を生成するよう構成することができる。このため、複数の参照ワードについて検索ワードとの一致判断を行わせることで、多数の参照ワードの中から検索ワードと完全に一致した参照ワードだけを抽出する高集積度、低消費電力、高信頼性かつ高速動作可能な一致検索装置を、容易に構成することができる。
【0050】
請求項13の論理演算装置は、検索対象である検索ワードを保持する検索ワード保持部と、参照対象である参照ワードを保持するとともに当該参照ワードと検索ワードとの大小比較判断を行うワード回路であって、請求項1ないし9のいずれかの論理演算回路を並列および/または直列に配置して参照ワードの保持および大小比較判断を行うよう構成したワード回路と、を備えたことを特徴とする。
【0051】
したがって、論理演算部と記憶部とを1つの回路で兼用する上述の論理演算回路を多数組み合わせて、参照ワードと検索ワードとの大小比較判断を行うワード回路を構成することで、従来の大小比較装置に比べ、配線に要する面積を含め、回路面積をかなり小さくすることができる。このため、装置の集積度を大幅に上げることができるとともに消費電力を抑えることが可能となる。
【0052】
また、記憶は不揮発的であるため、記憶を保持しておくための電力は不要となる。このため、動作時の電力消費量を低く抑えることができるとともに、待機時にはほとんど電力を消費しない。また、電源遮断に備えたバックアップ電源も不要となる。さらに、不揮発性記憶素子として強誘電体コンデンサを含む素子を用いた場合には、書き込み動作の高速化を図ることができる。
【0053】
さらに、マージンの大きいデータ読み出しが可能な論理演算回路を多数用いることで、信頼性が高く、かつ、より高速な動作を行うことができる大小比較装置を実現することができる。
【0054】
請求項14の論理演算装置においては、ワード回路は、複数の論理演算回路を用いて、検索ワードを構成するビットのうち少なくとも1つの着目ビットのビット値が、これに対応する参照ワードのビットのビット値より大きく、かつ、検索ワードを構成するビットのうち着目ビットより上位の各ビットのビット値が、これらに対応する参照ワードの各ビットのビット値と、それぞれ等しい場合に、検索ワードが参照ワードより大きいとの比較判断出力を生成するよう構成されたことを特徴とする。
【0055】
したがって、検索ワードが参照ワードより大きい場合にのみ特定の比較判断出力を生成するよう構成することができる。このため、複数の参照ワードについて検索ワードとの大小比較判断を行わせることで、多数の参照ワードの中から検索ワードより小さい参照ワードだけを抽出する高集積度、低消費電力、高信頼性かつ高速動作可能な大小比較装置を、容易に構成することができる。
【0056】
請求項15の論理演算装置は、2個以上の2進数の加算を行う論理演算装置であって、請求項1ないし9のいずれかの論理演算回路を直列および/または並列に配置して加算を行うよう構成したことを特徴とする。
【0057】
したがって、論理演算部と記憶部とを1つの回路で兼用する上述の論理演算回路を多数組み合わせて加算器を構成することで、従来の加算器に比べ、配線に要する面積を含め、回路面積をかなり小さくすることができる。このため、装置の集積度を大幅に上げることができるとともに消費電力を抑えることが可能となる。
【0058】
また、記憶は不揮発的であるため、記憶を保持しておくための電力は不要となる。このため、加算動作時の電力消費量を低く抑えることができるとともに、待機時にはほとんど電力を消費しない。また、電源遮断に備えたバックアップ電源も不要となる。さらに、不揮発性記憶素子として強誘電体コンデンサを含む素子を用いた場合には、書き込み動作の高速化を図ることができる。
【0059】
さらに、マージンの大きいデータ読み出しが可能な論理演算回路を多数用いることで、信頼性が高く、かつ、より高速な加算動作を行うことができる加算器を実現することができる。
【0060】
請求項16の論理演算装置においては、論理演算は、被加算数および加算数の加算を含み、論理演算装置は、被加算数および加算数の加算結果を算出する加算結果算出部と、当該加算における桁上げ情報を算出する桁上げ情報算出部と、を備え、加算結果算出部は、複数の論理演算回路を用いて、被加算数、加算数および前ビットからの桁上げ情報に基づいて加算結果を算出し、算出された加算結果を当該加算結果算出部の出力とするよう構成され、桁上げ情報算出部は、複数の論理演算回路を用いて、被加算数、加算数および前ビットからの桁上げ情報に基づいて、当該ビットにおける桁上げ情報を算出し、算出された桁上げ情報を当該桁上げ情報算出部の出力とするよう構成されたこと、を特徴とする。
【0061】
したがって、加算結果および桁上げ情報を算出して記憶するための複数の論理演算回路を用いて全加算器を構成することができる。このため、高集積度、低消費電力、高信頼性かつ高速動作可能な全加算器を、容易に構成することができる。
【0062】
請求項17の論理演算装置は、論理演算を複数のステージに分割して順次連続的に実行する論理演算装置であって、請求項1ないし9のいずれかの論理演算回路を直列および/または並列に配置して前記論理演算を行うよう構成したことを特徴とする。
【0063】
したがって、論理演算部と記憶部とを1つの回路で兼用する上述の論理演算回路を多数組み合わせて各ステージを構成することで、従来のパイプライン論理演算装置に比べ、配線に要する面積を含め、回路面積をかなり小さくすることができる。このため、装置の集積度を大幅に上げることができるとともに消費電力を抑えることが可能となる。
【0064】
また、記憶は不揮発的であるため、記憶を保持しておくための電力は不要となる。このため、動作時の電力消費量を低く抑えることができるとともに、待機時にはほとんど電力を消費しない。また、電源遮断に備えたバックアップ電源も不要となる。さらに、不揮発性記憶素子として強誘電体コンデンサを含む素子を用いた場合には、書き込み動作の高速化を図ることができる。
【0065】
さらに、マージンの大きいデータ読み出しが可能な論理演算回路を多数用いることで、信頼性が高く、かつ、より高速な演算動作を行うことができるパイプライン論理演算装置を実現することができる。
【0066】
請求項18の論理演算装置においては、論理演算は、ともに符号付き2進数である被加算数および加算数の加算を含み、論理演算装置は、論理演算回路を用いて、被加算数および加算数に対応する2個の2進数を算出して記憶する動作を含む第1ステージの演算を行う第1ステージ演算部と、並列に接続された一対の論理演算回路を用いて、前記2個の2進数の排他的論理和に対応する1個の2進数を第1の加算結果として算出して記憶する動作と、論理演算回路を用いて、被加算数および加算数に基づいて算出された当該ビットにおける第1の桁上げ情報を記憶する動作と、を含む第2ステージの演算を、第1ステージの演算に続いて行う第2ステージ演算部と、並列に接続された他の一対の論理演算回路を用いて、第1の加算結果と前ビットからの第1の桁上げ情報との排他的論理和に対応する1個の2進数を第2の加算結果として算出して記憶する動作と、論理演算回路を用いて、被加算数、加算数および前ビットからの第1の桁上げ情報に基づいて当該ビットにおける第2の桁上げ情報を算出して記憶する動作と、を含む第3ステージの演算を、第2ステージの演算に続いて行う第3ステージ演算部と、論理演算回路を用いて、第2の加算結果および前ビットからの第2の桁上げ情報に基づいて当該論理演算装置の加算結果としての符号付き2進数を算出して記憶する動作を含む第4ステージの演算を、第3ステージの演算に続いて行う第4ステージ演算部と、を備えたことを特徴とする。
【0067】
したがって、加算結果を算出するための2対の論理演算回路および桁上げ情報を算出するための複数の論理演算回路を4つのステージ演算部に分割して配置することで、桁上げの伝播が隣接する上位ビットのみにとどまる符号付き2進数(Signed−digit)の加算が可能なパイプライン全加算器(Pipelined Full Adder)を構成することができる。このため、高集積度、低消費電力、高信頼性かつ高速動作可能なパイプライン全加算器を、容易に構成することができる。
【0068】
請求項19の論理演算装置は、2個の2進数の乗算を複数のレベルに分割して順次連続的に実行する論理演算装置であって、被乗数と乗数との部分積(Partial product)に対応する符号付き部分積(Signed−digit Partial product)を生成する部分積生成部と、請求項18の論理演算装置を要素演算装置として複数個用意し、当該要素演算装置を各レベルに対応させて複数段に配置し、符号付き部分積および/または前段の加算結果を入力として順次各段の加算を実行することで被乗数と乗数との積に対応する符号付き2進数を得る加算部と、を備えたことを特徴とする。
【0069】
したがって、上述のパイプライン全加算器を要素演算装置として乗算の各レベルに対応させて複数段に配置することで、符号付き2進数の加算を利用したパイプライン乗算器(Pipelined Multiplier)を構成することができる。このため、高集積度、低消費電力、高信頼性かつ高速動作可能なパイプライン乗算器を、容易に構成することができる。
【0070】
請求項20の論理演算装置においては、部分積生成部は、被乗数と乗数とに基づいて当該乗数のビット数の略1/4の個数の符号付き部分積を生成し、加算部は、複数の要素演算装置を並列に接続することにより2つの符号付き部分積の加算が可能となるよう構成された加算ユニットを、各レベルの演算を行う各レベル演算部に1個以上配置するよう構成されている。
【0071】
第1レベルの演算を行う第1レベル演算部は、並列に配置された複数の加算ユニットを用いて、符号付き部分積を入力とする加算を行うことで、部分積生成部において生成された符号付き部分積の総個数の実質的に1/2の個数の第1レベルの加算結果を算出して記憶する動作を実行する。
【0072】
中間レベルの演算を行う各中間レベル演算部は、並列に配置された複数の加算ユニットを用いて、前レベルの加算結果を入力とする加算を行うことで、前レベルの実質的に1/2の個数の中間レベルの加算結果を算出して記憶する動作を実行する。
【0073】
最終レベルの演算を行う最終レベル演算部は、1個の加算ユニットを用いて、前レベルの加算結果を入力とする加算を行うことで、1個の最終レベルの加算結果を算出するとともに、算出された最終レベルの加算結果を前記被乗数と乗数との積に対応する符号付き2進数として記憶する動作を実行することを特徴とする。
【0074】
したがって、乗数のビット数の略1/4の個数の符号付き部分積を生成し、生成した符号付き部分積を各レベルにおいて半減させる動作を繰り返すことで、僅かなレベル数で、被乗数と乗数との積に対応するデータを得ることができる。このため、高集積度、低消費電力、高信頼性かつ高速動作可能な、符号付き2進数の加算を利用した乗算が可能なパイプライン乗算器を、容易に構成することができる。
【0075】
請求項21の論理演算装置においては、論理演算は、被加算数、加算数および下位ビットからの桁上げ、の3個の2進数の加算を含み、論理演算装置は、並列に接続された一対の論理演算回路を用いて3個の2進数のうち2個の2進数に対応する2進数の排他的論理和に対応する2進数を第1の加算結果として算出して記憶する動作を含む第1加算ステージの演算を行う第1加算ステージ演算部と、並列に接続された他の一対の論理演算回路を用いて第1の加算結果と3個の2進数のうち残りの1つの2進数に対応する2進数との排他的論理和に対応する2進数に対応する2進数を第2の加算結果として算出して記憶するとともに当該第2の加算結果を当該論理演算装置の加算結果として出力する動作と、複数の論理演算回路を用いて3個の2進数に基づいて3個の2進数の加算における桁上げを出力する動作と、を含む第2加算ステージの演算を、第1加算ステージの演算に続いて行う第2加算ステージ演算部と、を備えたことを特徴とする。
【0076】
したがって、加算結果を算出するための2対の論理演算回路および桁上げを算出するための複数の論理演算回路を2つのステージ演算部に分割して配置することで、パイプライン全加算器(Pipelined Full Adder)を構成することができる。このため、高集積度、低消費電力、高信頼性かつ高速動作可能なパイプライン全加算器を、容易に構成することができる。
【0077】
請求項22の論理演算装置は、2個の2進数の乗算を複数のレベルに分割して順次連続的に実行する論理演算装置であって、被乗数と乗数との部分積を生成する部分積生成部と、請求項21の論理演算装置を要素演算装置として複数個用意し、当該要素演算装置を各レベルに対応させて複数段に配置し、部分積および/または前段の加算結果を入力として順次各段の加算を実行することで演算結果を得る加算部と、を備えたことを特徴とする。
【0078】
したがって、上述のパイプライン全加算器を要素演算装置として乗算の各レベルに対応させて複数段に配置することで、パイプライン乗算器(Pipelined Multiplier)を構成することができる。このため、高集積度、低消費電力、高信頼性かつ高速動作可能なパイプライン乗算器を、容易に構成することができる。
【0079】
請求項23の論理演算装置においては、複数のレベルは、少なくとも乗数のビット数に相当する数のレベルであり、部分積生成部は、各レベルの演算を行う各レベル演算部にそれぞれ配置された要素部分積生成部により構成され、加算部は、少なくとも第2レベル以後の演算を行う各レベル演算部にそれぞれ配置された要素演算装置により構成されている。
【0080】
また、少なくとも第2レベル以後の演算を行う各レベル演算部は、被乗数を構成する各ビットのうち現在の演算対象となっている1つのビットを演算対象被乗数ビットとして記憶する動作を含む第1ステージの演算を行う第1ステージ演算部と、要素部分積生成部を用いて、演算対象被乗数ビットと、乗数を構成する各ビットのうち当該レベルに対応するビットとの論理積を、当該演算対象被乗数ビットの当該レベルにおける要素部分積として算出して記憶する動作を含む第2ステージの演算を、第1ステージの演算に続いて行う第2ステージ演算部と、要素演算装置を用いて、当該レベルにおける要素部分積、前レベルにおける部分積、および当該演算対象被乗数ビットの前のビットについての当該レベルにおける桁上げ、の3つの2進数の和を算出して当該演算対象被乗数ビットの当該レベルにおける部分積として記憶するとともに、この加算の際に生じた桁上げを当該演算対象被乗数ビットの当該レベルにおける桁上げとして記憶する動作と、を含む第3および第4ステージの演算を、第2ステージの演算に続いて行う第3および第4ステージ演算部と、を備えている。
【0081】
したがって、乗数のビット数に相当する数のレベル演算部にそれぞれ対応するビット値を与えておくとともに、被乗数の各ビット値を第1レベル演算部に順次付与してゆき、中間レベル演算部には、所定の遅延をもって前のレベル演算部から被乗数の各ビット値を順次付与してゆくことによって直並列型のパイプライン乗算器を構成することができる。このため、高集積度、低消費電力、高信頼性かつ高速動作可能な直並列型のパイプライン乗算器を、容易に構成することができる。
【0082】
なお、請求項において「状態変化率」とは、第2の被演算データを付与することにより生ずる不揮発性記憶素子、不揮発性負荷素子の状態変化の程度をいう。
【0083】
また、特にことわらない限り、2進数(2値信号)「A」の否定(反転信号)を「/A」で表すものとする。
【0084】
【発明の実施の形態】
図1は、この発明の一実施形態による論理演算回路1を示す回路図である。論理演算回路1は、記憶用強誘電体コンデンサ(不揮発性記憶素子)である強誘電体コンデンサCs、負荷用強誘電体コンデンサ(不揮発性負荷素子)である強誘電体コンデンサCs’、出力用トランジスタ(演算結果出力部)であるトランジスタMP、およびトランジスタM1、M2、Mwを備えている。
【0085】
強誘電体コンデンサCsおよびCs’は、実質的に同一の履歴特性を備え、相補的な残留分極状態を呈するよう構成されている。トランジスタMP、M1、M2、Mwは、いずれも、NチャネルMOSFET(金属・酸化物・半導体型電界効果トランジスタ)である。
【0086】
強誘電体コンデンサCsの第1の端子3は、結合ノード11において、強誘電体コンデンサCs’の第3の端子7に接続されており、第2の端子5は、ビットラインBL1に接続されている。強誘電体コンデンサCs’の第4の端子9は、ビットラインBL2に接続されている。
【0087】
結合ノード11は、トランジスタMPのゲート端子に接続されている。結合ノード11はまた、トランジスタMwを介してビットラインBLwに接続されている。トランジスタMwのゲート端子には、書き込み用の制御ラインWLが接続されている。
【0088】
結合ノード11は、トランジスタM1,M2を介して、それぞれ、ビットラインBL1、BL2に接続されている。トランジスタM1,M2のゲート端子は、いずれも読み出し用の制御ラインRLに接続されている。トランジスタMPの入力端子には入力信号Z1が与えられている。トランジスタMPの出力信号をZ2とする。
【0089】
データ書き込み動作(WO)において、第3の被演算データy1はビットラインBLwに与えられ、第4の被演算データy2はビットラインBL1およびBL2に与えられる。データ読み出し動作(RO)において、所定の論理演算子に対応する基準電位cはビットラインBL1およびBL2に与えられ、第2の演算データxはビットラインBL1与えられる。
【0090】
つぎに、図1に示す論理演算回路1の動作について説明する。図2は、論理演算回路1の動作を示すタイミングチャートの一例である。図3A、図3Bは、それぞれ、論理演算回路1のデータ書き込み動作(WO)、待機状態(Standby)を説明するための回路図である。図4A、図4Bは、それぞれ、論理演算装置1のデータ書き込み動作を説明するためのヒステリシス図、状態遷移図である。
【0091】
図5A〜図5Cは、論理演算装置1のデータ読み出し動作(RO)説明するための回路図である。図6A、図6Bは、それぞれ、論理演算子に対応する基準電位c=0の場合における論理演算装置1のデータ読み出し動作を説明するためのヒステリシス図、真理値表である。
【0092】
図7A、図7Bは、それぞれ、論理演算子に対応する基準電位c=1の場合における論理演算装置1のデータ読み出し動作を説明するためのヒステリシス図、真理値表である。図8A、図8Bは、それぞれ、論理演算装置1の等価回路、シンボル図である。
【0093】
図2に示すように、データ書き込み動作(WO)においては、制御ラインWL、RLには、それぞれ、“1”(すなわち、第2の基準電位である電源電位Vdd)、“0”(すなわち、第1の基準電位である接地電位GND)が与えられる。また、ビットラインBLwには第3の被演算データであるy1が与えられ、ビットラインBL1、BL2には第4の被演算データであるy2が与えられる。この実施形態においては、y1=1、y2=0となっている。
【0094】
図3Aに示すように、データ書き込み動作(WO)においては、トランジスタMw、M1,M2は、それぞれ、ON、OFF、OFFとなっている。したがって、結合ノード11にはy1=1が付与され、強誘電体コンデンサCsの第2の端子5および強誘電体コンデンサCs’の第4の端子9にはy2=0が付与されている。
【0095】
図3Bに示すように、その後の待機状態(Standby)においては、トランジスタMw、M1,M2は、それぞれ、OFF、ON、ONとなる。したがって、結合ノード11、強誘電体コンデンサCsの第2の端子5および強誘電体コンデンサCs’の第4の端子9は、同一電位となる。このため、データ書き込み動作から待機状態に移行した場合、図4Aに示すように、強誘電体コンデンサCsの分極状態はs=0で示す残留分極状態となる。
【0096】
なお、これと反対に、データ書き込み動作において第3の被演算データy1=0、第4の被演算データy2=1が与えられた場合には、強誘電体コンデンサCsの分極状態は、その後の待機状態(Standby)においてs=1で示す残留分極状態となる。
【0097】
データ書き込み動作によって、強誘電体コンデンサCsの残留分極状態sは、図4Bのように遷移する。すなわち、データ書き込み動作前の強誘電体コンデンサCsの残留分極状態がs=1である場合、第3の被演算データy1および第4の被演算データy2が、(y1,y2)=(0,0),(0,1)または(1,1)のとき、強誘電体コンデンサCsの残留分極状態はs=1のまま変化しないが、(y1,y2)=(1,0)のときには、データ書き込み動作によって強誘電体コンデンサCsの残留分極状態はs=0に変化する。
【0098】
一方、データ書き込み動作前の強誘電体コンデンサCsの残留分極状態がs=0である場合、第3の被演算データy1および第4の被演算データy2が、(y1,y2)=(0,0),(1,0)または(1,1)のとき、強誘電体コンデンサCsの残留分極状態はs=0のまま変化しないが、(y1,y2)=(0,1)のときには、データ書き込み動作によって強誘電体コンデンサCsの残留分極状態はs=1に変化する。
【0099】
データ書き込み動作直前における強誘電体コンデンサCsの残留分極状態をsbとすると、強誘電体コンデンサCsの残留分極状態s(第1の被演算データ)は、次式で表現することができる。
【0100】
s = /sb AND /y1 AND y2 OR sb AND (/y1 OR y2)
【0101】
このようにして、強誘電体コンデンサCsへのデータ書き込み動作を利用して論理演算を行うことができる。なお、強誘電体コンデンサCs’の残留分極状態s’は、強誘電体コンデンサCsの残留分極状態sと反対の残留分極状態(相補的関係を有する分極状態)となっている。
【0102】
図2に戻って、データ書き込み動作(WO)に続いてデータ読み出し動作(RO)が行われる。データ読み出し動作(RO)は、初期化動作(Init.)、演算動作(Op.)および復元動作(Res.)の順に行われる。
【0103】
図2に示すように、初期化動作(Init.)においては、制御ラインWL、RLには、それぞれ、“0”、“1”が与えられる。また、ビットラインBL1、BL2には所定の論理演算子に対応する基準電位cが与えられる。この実施形態においては、c=0となっている。
【0104】
図5Aに示すように、初期化動作(Init.)においては、トランジスタMw、M1,M2は、それぞれ、OFF、ON、ONとなっている。したがって、結合ノード11、強誘電体コンデンサCsの第2の端子5および強誘電体コンデンサCs’の第4の端子9にはいずれもc=0が付与されている。
【0105】
初期化動作によって、強誘電体コンデンサCsおよび強誘電体コンデンサCs’の残留分極状態sおよびs’を変えることなく、結合ノード11を所定の論理演算子に対応する基準電位cにプリチャージすることができる。
【0106】
続いて行われる演算動作(Op.)において、図2に示すように、制御ラインWL、RLには、それぞれ、“0”、“0”が与えられる。また、ビットラインBL1、BL2には、それぞれ、第2の被演算データx、上述の基準電位cが与えられる。この実施形態においては、x=1、c=0となっている。
【0107】
図5Bに示すように、演算動作(Op.)においては、トランジスタMw、M1,M2は、すべてOFFとなっている。したがって、強誘電体コンデンサCsの第2の端子5および強誘電体コンデンサCs’の第4の端子9には、それぞれ、x=1、c=0が付与されている。
【0108】
上述のように、強誘電体コンデンサCsはs=0で示す分極状態であるから、強誘電体コンデンサCs’はs’=1で示す分極状態となっている。図式解法によれば、この場合、図6Aに示すように、演算動作(Op.)において結合ノード11に生ずる電位VA=VA(0)となる。電位VA(0)は、トランジスタMPのしきい値電圧Vthより大きいから、トランジスタMPはONとなる。すなわち、図2に示すように、トランジスタMPの出力信号Z2=Z1となる。
【0109】
なお、これと反対に、データ書き込み動作において強誘電体コンデンサCsの残留分極状態がs=1であった場合には、図6Aに示すように、演算動作(Op.)において結合ノード11に生ずる電位VA=VA(1)となる。電位VA(1)は、トランジスタMPのしきい値電圧Vthより小さいから、トランジスタMPはOFFとなる。すなわち、トランジスタMPの出力信号Z2=NC(非接続状態)となる。
【0110】
また、データ読み出し動作において第2の被演算データx=0とした場合には、強誘電体コンデンサCsの残留分極状態の如何にかかわらず、トランジスタMPはOFFとなる。したがって、基準電位c=0の場合における演算動作(Op.)の結果を真理値表にまとめれば図6Bのようになる。
【0111】
一方、基準電位c=1とした場合、演算動作(Op.)において結合ノード11に生ずる電位VAは、図7Aから図式解法によって求めることができる。この場合における演算動作(Op.)の結果を真理値表にまとめれば図7Bのようになる。
【0112】
トランジスタMPのON,OFFを、z=1,z=0に対応させれば、トランジスタMPのON,OFFは、次式で表現することができる。
【0113】
z = /c AND x AND /s OR c AND (x OR /s)
【0114】
このようにして、強誘電体コンデンサCsからのデータ読み出し動作を利用して論理演算を行うことができる。
【0115】
このように、この論理演算回路1は、強誘電体コンデンサCsにデータを不揮発的に記憶するとともに、データ書き込み動作(WO)およびデータ読み出し動作(RO)を利用して論理演算を行うことができる。論理演算回路1を等価論理回路で表せば図8Aのようになる。図8Aの等価論理回路のうち13がデータ書き込み動作(WO)を利用した論理演算部であり、15がデータ読み出し動作(RO)を利用した論理演算部である。なお、論理演算回路1をシンボルで表現すれば図8Bのようになる。
【0116】
さて、論理演算回路1においては、上述のように、負荷用の素子として、記憶用の強誘電体コンデンサCsとほぼ同一の履歴特性を有する強誘電体コンデンサCs’を用いている。しかも、負荷用の強誘電体コンデンサCs’の残留分極状態が記憶用の強誘電体コンデンサCsの残留分極状態と反対になるよう、負荷用の強誘電体コンデンサCs’の残留分極状態を積極的に変更するようにしている。
【0117】
この結果、演算動作(Op.)において基準電位c=0とした場合、図6Aに示すように、残留分極状態s=0の記憶用の強誘電体コンデンサCsに第2の被演算データx=1を付与しても強誘電体コンデンサCsは分極反転を起こしていない。もちろん、残留分極状態s=0、第2の被演算データx=1以外の組み合わせで、強誘電体コンデンサCsが分極反転を起こすことはない。
【0118】
演算動作(Op.)において基準電位c=1とした場合も、図7Aに示すように、記憶用の強誘電体コンデンサCsが分極反転を起こすことはない。同様に、負荷用の強誘電体コンデンサCs’も分極反転を起こすことはない。つまり、論理演算回路1においては非破壊読み出しが可能となっている。
【0119】
また、演算動作(Op.)において基準電位c=0とした場合、図6Aに示すように、残留分極状態s=0の記憶用の強誘電体コンデンサCsに第2の被演算データx=1を付与したとき結合ノード11が示す電位VA=VA(0)と、残留分極状態s=1の記憶用の強誘電体コンデンサCsに第2の被演算データx=1を付与したとき結合ノード11が示す電位VA=VA(1)との差が極めて大きくなっている。
【0120】
同様に、演算動作(Op.)において基準電位c=1とした場合、図7Aに示すように、残留分極状態s=0の記憶用の強誘電体コンデンサCsに第2の被演算データx=0を付与したとき結合ノード11が示す電位VA=VA(0)と、残留分極状態s=1の記憶用の強誘電体コンデンサCsに第2の被演算データx=0を付与したとき結合ノード11が示す電位VA=VA(1)との差も極めて大きくなっている。つまり、データ読み出し動作における読み出しマージンが極めて大きくなっていることが分かる。
【0121】
図2に戻って、演算動作(Op.)に続いて行われる復元動作(Res.)において、制御ラインWL、RLには、演算動作の場合と同様に、それぞれ、“0”、“0”が与えられる。また、ビットラインBL1、BL2には、演算動作の場合と逆に、それぞれ、基準電位c=0、第2の被演算データx=1が、与えられる。
【0122】
図5Cに示すように、復元動作(Res.)においては、演算動作の場合と同様に、トランジスタMw、M1,M2は、すべてOFFとなっている。したがって、強誘電体コンデンサCsの第2の端子5および強誘電体コンデンサCs’の第4の端子9には、演算動作の場合と逆に、それぞれ、c=0、x=1が付与されている。
【0123】
上述のように、強誘電体コンデンサCs、強誘電体コンデンサCs’は、いずれも、演算動作において分極反転を起こさないよう構成されている。しかし、分極反転を起こさないまでも、演算動作によって強誘電体コンデンサCs、強誘電体コンデンサCs’の履歴特性に歪みが生ずる可能性がある。
【0124】
この歪みを是正するために、復元動作において、強誘電体コンデンサCsと強誘電体コンデンサCs’とを直列に接続して構成される合成強誘電体コンデンサに、演算動作の場合と逆方向の電圧を付与するようにしているのである。
【0125】
つぎに、図9に、この発明の他の実施形態による論理演算回路21を表す回路図を示す。論理演算回路21は、上述の論理演算回路1にトランジスタM3,M4を付加した構成となっている。
【0126】
トランジスタMPの入力端子は、トランジスタM3を介して第1の基準電位である接地電位GNDに接続されている。トランジスタMPの出力端子は、出力ラインMLに接続されている。出力ラインMLは、トランジスタM4を介して、第2の基準電位である電源電位Vddに接続されている。トランジスタM3、M4のゲート端子は、プリセットラインPREに接続されている。
【0127】
トランジスタM3は、NチャネルMOSFET(金属・酸化物・半導体型電界効果トランジスタ)であり、トランジスタM4は、PチャネルMOSFET(金属・酸化物・半導体型電界効果トランジスタ)である。
【0128】
図10は、論理演算回路21を、データ書き込み動作を利用して論理演算を行う回路として用いる場合のタイミングチャートである。図10を参照しつつ、論理演算回路21を用いて書き込み論理演算を行う場合の動作を説明する。書き込み論理演算の場合、図10に示すように、データ書き込み動作(WO)、データ読み出し動作(RO)が、この順に実行される。
【0129】
データ書き込み動作(WO)においては、s初期化動作(Write s=1)、書き込み演算動作(WOp.)が、この順に実行される。まず、s初期化動作(Write s=1)において、制御ラインWL、RLには、それぞれ、 “1”、“0”が与えられる。また、ビットラインBLwには“0”が与えられ、ビットラインBL1、BL2には“1”が与えられる。
【0130】
これにより、強誘電体コンデンサCsの残留分極状態はs=1に初期化される。もちろん、強誘電体コンデンサCs’の残留分極状態はs’=0に初期化される。s初期化動作によって、次に行われる書き込み演算動作(WOp.)における論理演算子を決定することができる。
【0131】
s初期化動作(Write s=1)に続いて行われる書き込み演算動作(WOp.)においては、制御ラインWL、RLには、それぞれ、“1”、“0”が与えられる。また、ビットラインBLwには第3の被演算データであるy1が与えられ、ビットラインBL1、BL2には第4の被演算データであるy2が与えられる。ここでは、y1=0、y2=0となっている。この動作で、強誘電体コンデンサCsの残留分極状態sおよび強誘電体コンデンサCs’の残留分極状態s’が更新される。
【0132】
つまり、データ書き込み動作(WO)によって、次式の演算が行われるとともに、演算結果が記憶される。
【0133】
s = /sb AND /y1 AND y2 OR sb AND (/y1 OR y2)
【0134】
図10の例では、s初期化動作(Write s=1)によってsb=1とされているから、上式は、次のようになる。
【0135】
s =/y1 OR y2
【0136】
続いて行われるデータ読み出し動作(RO)においては、初期化動作(Init.)、演算動作(Op.)が、この順に実行される。初期化動作(Init.)において、制御ラインWL、RLには、それぞれ、 “0”、“1”が与えられる。また、ビットラインBL1、BL2には基準電位c=0が与えられる。
【0137】
この動作によって、強誘電体コンデンサCsおよび強誘電体コンデンサCs’の残留分極状態sおよびs’を変えることなく、結合ノード11を所定の論理演算子に対応する基準電位cにプリチャージすることができる。
【0138】
初期化動作(Init.)に続いて行われる演算動作(Op.)において、図10に示すように、制御ラインWL、RLには、それぞれ、“0”、“0”が与えられる。また、ビットラインBL1、BL2には、それぞれ、x=1、c=0が与えられる。この動作において結合ノード11に生ずる電位にしたがってトランジスタMPがONまたはOFFとなる。
【0139】
トランジスタMPのON,OFFを、z=1,z=0に対応させれば、トランジスタMPのON,OFFは、次式で表現することができる。
【0140】
z = /c AND x AND /s OR c AND (x OR /s)
【0141】
図10の例では、初期化動作(Init.)および演算動作(Op.)によってx=1、c=0とされているから、上式は、次のようになる。
【0142】
z =/s
【0143】
前述のデータ書き込み動作(WO)の演算内容を上式に代入すれば、結局、図10の例では、次式の演算が行われることになる。
【0144】
z = /(/y1 OR y2) = y1 AND /y2
【0145】
図11A、図11Cは、それぞれ、図10の例における論理演算回路21の等価回路、シンボル図である。
【0146】
一方、s初期化動作においてs=0とすれば、次式の演算を行うことができる。
【0147】
z = y1 OR /y2
【0148】
図11B、図11Dは、それぞれ、s初期化動作においてs=0とした場合における論理演算回路21の等価回路、シンボル図である。このようにして、強誘電体コンデンサCsへのデータ書き込み動作を利用して所望の論理演算を行うことができる。
【0149】
なお、演算動作(Op.)においては、図10に示すように、プリセットラインPREに“1”が与えられているため、出力ラインMLの電位は、z=1,z=0に対応して、それぞれ“L”,“H”レベルになる。また、演算動作(Op.)以外の動作においては、プリセットラインPREに“0”が与えられているため、出力ラインMLの電位は“H”レベル(トランジスタMPがOFFの状態)となっている。
【0150】
つぎに、図12は、論理演算回路21を、データ読み出し動作を利用して論理演算を行う回路として用いる場合のタイミングチャートである。図12を参照しつつ、論理演算回路21を用いて読み出し論理演算を行う場合の動作を説明する。読み出し論理演算の場合、図12に示すように、データ書き込み動作(WO)に続いてデータ読み出し動作(RO)が実行される。
【0151】
まず、データ書き込み動作(WO)において、制御ラインWL、RLには、それぞれ、 “1”、“0”が与えられる。また、ビットラインBLwにはy1=/yが与えられ、ビットラインBL1、BL2にはy2=yが与えられる。
【0152】
この動作で、強誘電体コンデンサCsの残留分極状態sおよび強誘電体コンデンサCs’の残留分極状態s’が更新される。つまり、データ書き込み動作(WO)によって、次式の演算が行われるとともに、演算結果が記憶される。
【0153】
s = /sb AND /y1 AND y2 OR sb AND (/y1 OR y2)
【0154】
図12の例では、y1=/y、y2=yとされているから、上式は、次のようになる。
【0155】
s = y
【0156】
つまり、データ書き込み動作(WO)において、第1の被演算データsとしてyが記憶される。
【0157】
続いて行われるデータ読み出し動作(RO)においては、初期化動作(Init.)、演算動作(Op.)が、この順に実行される。初期化動作(Init.)において、制御ラインWL、RLには、それぞれ、 “0”、“1”が与えられる。また、ビットラインBL1、BL2には基準電位cが与えられる。
【0158】
この動作によって、強誘電体コンデンサCsおよび強誘電体コンデンサCs’の残留分極状態sおよびs’を変えることなく、結合ノード11を所定の論理演算子に対応する基準電位cにプリチャージすることができる。
【0159】
初期化動作(Init.)に続いて行われる演算動作(Op.)において、図12に示すように、制御ラインWL、RLには、それぞれ、“0”、“0”が与えられる。また、ビットラインBL1、BL2には、それぞれ、第2の被演算データx、基準電位cが与えられる。この動作において結合ノード11に生ずる電位にしたがってトランジスタMPがONまたはOFFとなる。
【0160】
トランジスタMPのON,OFFを、z=1,z=0に対応させれば、トランジスタMPのON,OFFは、次式で表現することができる。
【0161】
z = /c AND x AND /s OR c AND (x OR /s)
【0162】
前述のデータ書き込み動作(WO)の演算内容を上式に代入すれば、結局、図12の例では、次式の演算が行われることになる。
【0163】
z = /c AND x AND /y OR c AND (x OR /y)
【0164】
図13A、図13Cは、それぞれ、図12の例において、基準電位c=0とした場合における論理演算回路21の等価回路、シンボル図である。一方、図13B、図13Dは、それぞれ、図12の例において、基準電位c=1とした場合における論理演算回路21の等価回路、シンボル図である。このようにして、強誘電体コンデンサCsへのデータ読み出し動作を利用して所望の論理演算を行うことができる。
【0165】
なお、演算動作(Op.)においては、図12に示すように、プリセットラインPREに“1”が与えられているため、出力ラインMLの電位は、z=1,z=0に対応して、それぞれ“L”,“H”レベルになる。また、演算動作(Op.)以外の動作においては、プリセットラインPREに“0”が与えられているため、出力ラインMLの電位は“H”レベル(トランジスタMPがOFFの状態)となっている。
【0166】
図14も、論理演算回路21を、データ読み出し動作を利用して論理演算を行う回路として用いる場合のタイミングチャートである。論理演算回路21を用いて読み出し論理演算を行う点で、図12の例と同じである。しかし、図14の例では、データ読み出し動作(RO)の最後に復元動作(Res.)が行われる点で、図12の例と異なる。
【0167】
図14に示すように、演算動作(Op.)に続いて行われる復元動作(Res.)において、制御ラインWL、RLには、演算動作の場合と同様に、それぞれ、“0”、“0”が与えられる。一方、ビットラインBL1、BL2には、演算動作の場合と逆に、それぞれ、基準電位c、第2の被演算データxが与えられる。
【0168】
図15A、図15B、図15Cは、それぞれ、図14の例における初期化動作(Init.)、演算動作(Op.)、復元動作(Res.)の際の強誘電体コンデンサCsおよび強誘電体コンデンサCs’の分極状態を示す図面である。
【0169】
図15A、図15B、図15Cを参照しつつ、強誘電体コンデンサCsに着目して、その分極状態を説明する。図15Aに表す初期化動作(Init.)においてP2で示す分極状態(残留分極状態)を呈していた強誘電体コンデンサCsは、図15Bに表す演算動作(Op.)によってP5で示す分極状態となる。
【0170】
P5に示す状態では強誘電体コンデンサCsに分極反転は生じていないが、P2に示す本来の残留分極状態から少し偏向している。したがって、このまま放置したり、同様のデータ読み出し動作が繰り返されたりすると、強誘電体コンデンサCsの履歴特性が変化し、正確なデータ読み出しが阻害されるおそれがある。
【0171】
そこで、図14の例では、図15Cに表す復元動作(Res.)を実行して、強誘電体コンデンサCsの分極状態を、P6で示す分極状態まで強制的に変動させるようにしている。この動作により、演算動作(Op.)によって生じた強誘電体コンデンサCsの分極状態の偏向を是正することができる。
【0172】
つぎに、図16Aに、この発明のさらに他の実施形態による論理演算回路31を表す回路図を示す。論理演算回路31は、図1に示す上述の論理演算回路1と同一の回路構成を備えている。
【0173】
ただし、論理演算回路31においては、データ書き込み動作(WO)において、第3の被演算データy1として/yがビットラインBLwに与えられ、第4の被演算データy2としてyがビットラインBL1およびBL2に与えられる。したがって、論理演算回路31をシンボルで表せば図16Bのようになる。
【0174】
図17は、論理演算回路31の動作を示すタイミングチャートの一例である。このタイミングチャートは、論理演算回路1の動作を示すタイミングチャート(図2参照)において、第3の被演算データy1=/y、第4の被演算データy2=yとしたものである。
【0175】
したがって、図17の例においても、トランジスタMPのON,OFFを、z=1,z=0に対応させれば、トランジスタMPのON,OFFは、結局、図12または図14の例の場合と同様に、次式で表現することができる。
【0176】
z = /c AND x AND /y OR c AND (x OR /y)
【0177】
したがって、図17に示すように、基準電位をc=0、c=1とすることにより、同じ論理演算回路31で、つぎに示す2種類の論理演算を実行することが可能となる。
【0178】
z =x AND /y 、 z =x OR /y
【0179】
なお、図18A、図18B、図18C、図19A、図19Bは、それぞれ、論理演算回路31のデータ書き込み動作(WO)、データ読み出し動作における初期化動作(RO,Init.)、データ読み出し動作における演算動作(RO,Op.)、データ読み出し動作における復元動作(RO,Res.)、待機状態(Standby)を説明するための回路図である。
【0180】
これらの各動作を説明する回路図は、それぞれ、論理演算回路1の各動作を説明する回路図(図3A、図5A〜図5C、図3B)において、第3の被演算データy1=/y、第4の被演算データy2=yとしたものであるので、説明を省略する。
【0181】
上述の種々の論理演算回路を、直列および/または並列に複数個配置することにより、所望の論理演算を行わせる論理演算装置を実現することができる。
【0182】
図20は、上述の論理演算回路31を利用した論理演算装置である連想メモリ(Content Addressable Memory)41を示すブロック図である。連想メモリ41は、一致検索装置として機能するよう構成されており、検索ワード保持部43,ワード回路配列部45,書き込み駆動部47,出力回路部49を備えている。
【0183】
検索ワード保持部43は、検索対象である検索ワードXを保持している。ワード回路配列部45は、複数のワード回路46、…を備えている。書き込み駆動部47は、複数の参照ワードBiをワード回路配列部45に書き込む動作を行う。出力回路部49は、ワード回路配列部45の出力に基づいて所定の処理を行う。
【0184】
図21は、ワード回路46を、論理演算回路31と同様の論理演算回路53,55,…を用いて実現した場合の回路図である。図22Aは一対の論理演算回路53,55を構成要素とするCAMセル(Content Addressable Memory Cell)51の回路図である。1つのCAMセル51が1ビットの一致判断処理を行う。
【0185】
図23は、CAMセル51の動作を示すタイミングチャートである。CAMセル51においては、データ書き込み動作(WO)に続いてデータ読み出し動作(RO)が行われる。なお、図23の第1列目(左端)が、CAMセル51へのデータ書き込み動作(WO)を示すものであり、第2列目(左から2番目)は、次行のワード回路を構成する同列のCAMセルへ書き込まれるデータがビットラインBLj1a、BLj1b、BLj2a、BLj2bを介して伝達されていることを示す。
【0186】
図22Aに示すCAMセル51を構成する論理演算回路53におけるビットラインBLj2a、BLj2b、BLj1bが、図16に示す論理演算回路31におけるビットラインBL1、BL2、BLwに対応する。また、CAMセル51を構成する論理演算回路55におけるビットラインBLj1a、BLj1b、BLj2aが、論理演算回路31におけるビットラインBL1、BL2、BLwに対応する。
【0187】
したがって、図23および図17のタイミングチャートを比較すれば、CAMセル51の論理演算回路53および論理演算回路55は、それぞれ、次に示す論理演算を実行することが分かる。
【0188】
zi31u =x31 OR bi31、 zi31d =/x31 OR /bi31
【0189】
図22Bは、CAMセル51を論理回路として表現した図面である。上の2式のうち左式zi31uが“1”になると、論理演算回路53のトランジスタ54がONとなり、右式zi31dが“1”になると、論理演算回路55のトランジスタ56がONとなる。
【0190】
したがって、x31とbi31とが異なる場合には、トランジスタ54、56の双方がONとなり、x31とbi31とが同一の場合には、トランジスタ54、56のいずれか一方がOFFとなる。また、CAMセル51を構成するトランジスタ54とトランジスタ56とは直列に接続されている。
【0191】
このため、図21を参照すれば、CAMセル51の出力電位は、x31とbi31とが異なる場合には“0”となり、x31とbi31とが同一の場合には“1”となることがわかる。すなわち、CAMセル51は、x31 EXNOR bi31(x31とbi31との排他的論理和の否定)を算出する回路と考えることができる。
【0192】
図21に示すように、ワード回路46を構成する他のCAMセルもCAMセル51と同様の構成であり、これらのCAMセルの出力は、すべて並列に接続されている。
【0193】
したがって、ワード回路46においては、ともに32ビットの検索ワードXと参照ワードBiとが完全に一致した場合のみ、Zi(X,Bi)=0となり、それ以外の場合は、Zi(X,Bi)=1となる。すなわち、ワード回路46においては、次式に基づいて、Zi(X,Bi)が算出されることがわかる。
【0194】
Zi(X,Bi)=0(X=Bi),1(X≠Bi)
【0195】
このように、図16に示す論理演算回路31を用いることで、記憶機能と演算機能を兼ね備えた一致検索装置を実現することができる。
【0196】
つぎに、図24は、上述の論理演算回路31を利用した論理演算装置である連想メモリ(Content Addressable Memory)61を示すブロック図である。連想メモリ61は、大小比較装置として機能するよう構成されており、検索ワード保持部63,ワード回路配列部65,書き込み駆動部67,出力回路部69を備えている。
【0197】
検索ワード保持部63は、検索対象である検索ワードXを保持している。ワード回路配列部65は、複数のワード回路66、…を備えている。書き込み駆動部67は、複数の参照ワードBiをワード回路配列部65に書き込む動作を行う。出力回路部69は、ワード回路配列部65の出力に基づいて所定の処理を行う。
【0198】
図25は、ワード回路66を、論理演算回路31と同様の論理演算回路73,75,…を用いて実現した場合の回路図である。図26Aは一対の論理演算回路73,75を構成要素とするCAMセル(Content Addressable Memory Cell)71の回路図である。
【0199】
図27は、CAMセル71の動作を示すタイミングチャートである。CAMセル71においては、データ書き込み動作(WO)に続いてデータ読み出し動作(RO)が行われる。なお、図27の第1列目(左端)が、CAMセル71へのデータ書き込み動作(WO)を示すものであり、第2列目(左から2番目)は、次行のワード回路を構成する同列のCAMセルへ書き込まれるデータがビットラインBLjc0a、BLjc0b、BLjc1a、BLjc1b、BLjwを介して伝達されていることを示す。
【0200】
図26Aに示すCAMセル71の論理演算回路73におけるビットラインBLjc0a、BLjc0b、BLjwが、図16に示す論理演算回路31におけるビットラインBL1、BL2、BLwに対応する。また、CAMセル51の論理演算回路55におけるビットラインBLjc1a、BLjc1b、BLjwが、論理演算回路31におけるビットラインBL1、BL2、BLwに対応する。
【0201】
したがって、図27および図17のタイミングチャートを比較すれば、CAMセル71の論理演算回路73および論理演算回路75は、それぞれ、次に示す論理演算を実行することが分かる。
【0202】
zi31u = x31 AND /bi31、 zi31d = x31 OR /bi31
【0203】
図26Bは、CAMセル71を論理回路として表現した図面である。上の2式のうち左式zi31uが“1”になると、論理演算回路73のトランジスタ74がONとなり、右式zi31dが“1”になると、論理演算回路75のトランジスタ76がONとなる。
【0204】
一方、x31 AND /bi31 =1はx31>bi31を意味し、x31 AND /bi31 =0はx31<=bi31を意味する。また、x31 OR /bi31 =1はx31>=bi31を意味し、x31 OR /bi31 =0はx31<bi31を意味する。
【0205】
したがって、x31>bi31の場合にはトランジスタ74がONとなり、x31<=bi31の場合にはトランジスタ74がOFFとなる。また、x31>=bi31の場合にはトランジスタ76がONとなり、x31<bi31の場合にはトランジスタ76がOFFとなる。
【0206】
図25に示すように、ワード回路66を構成する他のCAMセルは、最下位(図面の右端)のCAMセルを除き、CAMセル71と同様の構成である。最下位のCAMセルは、CAMセル71の論理演算回路73に相当する論理演算回路のみで構成されている。
【0207】
このため、図25を参照すれば、ワード回路66は、検索ワードXを構成する各ビットxjのうち少なくとも1つの着目ビットxmのビット値が、これに対応する参照ワードBiのビットbimのビット値より大きく、かつ、検索ワードXを構成するビットxjのうち着目ビットxmより上位の各ビットxkのビット値が、これらに対応する参照ワードBiの各ビットbikのビット値と、それぞれ等しい場合に、検索ワードXが参照ワードBiより大きいとの比較判断出力を生成するよう構成されていることが分かる。
【0208】
つまり、ワード回路66においては、ともに32ビットの検索ワードXと参照ワードBiとを大小比較し、検索ワードXが参照ワードBiより大きい場合にのみ、Zi(X,Bi)=1となり、それ以外の場合は、Zi(X,Bi)=0となる。すなわち、ワード回路66においては、次式に基づいて、Zi(X,Bi)が算出されることがわかる。
【0209】
Zi(X,Bi)=1(X>Bi),0(X<=Bi)
【0210】
ただし、Zi(X,Bi)=gn−1 OR gen−1 AND(gn−2 OR gen−2 AND(gn−3 OR … ge2 AND(g1 OR ge1 AND g0))…)
【0211】
すなわち、Zi(X,Bi)=gn−1 OR gen−1 AND gn−2 OR gen−1AND gen−2 AND gn−3 OR … ge2 AND ge1 AND g0
【0212】
ここに、gj = xj AND /bij 、 gej = xj OR /bij である。
【0213】
このように、図16に示す論理演算回路31を用いることで、記憶機能と演算機能を兼ね備えた大小比較装置を実現することができる。
【0214】
つぎに、図28Aに、この発明のさらに他の実施形態による論理演算回路81を表す回路図を示す。論理演算回路81は、パイプライン処理を行う論理演算装置に用いる論理演算回路の一例である。
【0215】
論理演算回路81は、結合ノード11において接続された記憶用の強誘電体コンデンサCsおよび負荷用の強誘電体コンデンサCs’、結合ノード11にゲート端子を接続されたトランジスタMPを備え、さらに、トランジスタMw、M3,M4を備えている点で、図9に示す論理演算回路21と類似している。
【0216】
ただし、論理演算回路21のトランジスタM1,M2に代えて、トランジスタM5,M6,M7,M8を備え、さらにインバータ83も備えている点で、論理演算回路21と異なる。
【0217】
すなわち、論理演算回路81においては、強誘電体コンデンサCsの第2の端子5には、トランジスタM7を介して“1”が与えられ、強誘電体コンデンサCs’の第4の端子9には、トランジスタM8を介して“0”が与えられるよう構成されている。トランジスタM7、M8のゲート端子は、それぞれ、クロックラインCLK1、CLK2に接続されている。
【0218】
結合ノード11には、トランジスタMwを介して第3の被演算データy1が与えられ、強誘電体コンデンサCs’の第4の端子9には、トランジスタM6を介して第4の被演算データy2が与えられるよう構成されている。また、強誘電体コンデンサCs’の第4の端子9と強誘電体コンデンサCsの第2の端子5とは、トランジスタM5介して接続されるよう構成されている。
【0219】
したがって、強誘電体コンデンサCsの第2の端子5には、トランジスタM5およびM6を介して第4の被演算データy2が与えられる。トランジスタMw、M5のゲート端子は、ともにクロックライン/CLK2に接続され、トランジスタM6のゲート端子はクロックライン/CLK1に接続されている。
【0220】
トランジスタM3,M4のゲート端子は、ともにクロックラインCLK2に接続されている。また、トランジスタMPの出力信号は、出力ラインML、インバータ83を介して取り出される。図28Bは、論理演算回路81のシンボル図である。
【0221】
つぎに、論理演算回路81の動作について説明する。図29は、論理演算回路81の動作を示すタイミングチャートの一例である。図30A、図30Bは、それぞれ、論理演算回路81のリセット動作(Reset)、データ書き込み動作(WO)を説明するための回路図である。図31A、図31Bは、論理演算回路81のデータ読み出し動作(RO)説明するための回路図である。
【0222】
図29に示すように、論理演算回路81においては、1サイクルの動作が、リセット動作(Reset)、データ書き込み動作(WO)、データ読み出し動作(RO)の順に実行される。
【0223】
リセット動作(Reset)においては、クロックラインCLK1,/CLK1,CLK2,/CLK2には、それぞれ、“1”、“0”、“0”、“1”が与えられる。またy1=0となっている。したがって、図30Aに示すように、リセット動作(Reset)により、強誘電体コンデンサCs、強誘電体コンデンサCs’の残留分極状態は、それぞれ、s=1,s’=0となる。
【0224】
図29に示すように、続いて実行されるデータ書き込み動作(WO)においては、クロックラインCLK1,/CLK1,CLK2,/CLK2には、それぞれ、“0”、“1”、“0”、“1”が与えられる。
【0225】
したがって、図30Bに示すように、データ書き込み動作(WO)で、強誘電体コンデンサCsの残留分極状態sおよび強誘電体コンデンサCs’の残留分極状態s’が更新される。つまり、データ書き込み動作(WO)によって、次式の演算が行われるとともに、演算結果が記憶される。
【0226】
s = /sb AND /y1 AND y2 OR sb AND (/y1 OR y2)
【0227】
この例では、リセット動作(Reset)によってsb=1とされているから、上式は、次のようになる。
【0228】
s = /y1 OR y2 = /(y1 AND /y2)
【0229】
なお、強誘電体コンデンサCs’の新たな残留分極状態s’は、次式で表される。
【0230】
s’ =y1 AND /y2
【0231】
図29に示すように、続いて行われるデータ読み出し動作(RO)においては、初期化動作(Init.)、演算動作(Op.)が、この順に実行される。初期化動作(Init.)においては、クロックラインCLK1,/CLK1,CLK2,/CLK2には、それぞれ、“0”、“1”、“0”、“1”が与えられる。またy1=0、y2=0となっている。
【0232】
図31Aに示すように、この動作によって、強誘電体コンデンサCsおよび強誘電体コンデンサCs’の残留分極状態sおよびs’を変えることなく、結合ノード11を所定の論理演算子に対応する基準電位cにプリチャージすることができる。この例では、基準電位c=0となっている。
【0233】
初期化動作(Init.)に続いて行われる演算動作(Op.)において、図29に示すように、クロックラインCLK1,/CLK1,CLK2,/CLK2には、それぞれ、“1”、“0”、“1”、“0”が与えられる。
【0234】
図31Bに示すように、強誘電体コンデンサCsの第2の端子5および強誘電体コンデンサCsの第4の端子9には、それぞれ、“1”、“0”が付与されている。すなわち、第2の被演算データx、所定の論理演算子に対応する基準電位cは、それぞれ、x=1、c=0となっている。この動作において結合ノード11に生ずる電位にしたがってトランジスタMPがONまたはOFFとなる。
【0235】
トランジスタMPのON,OFFを、z=1,z=0に対応させれば、トランジスタMPのON,OFFは、次式で表現することができる。
【0236】
z = /c AND x AND /s OR c AND (x OR /s)
【0237】
この例では、上述のように、x=1、c=0であるから、上式は、次のようになる。
【0238】
z =/s
【0239】
前述のデータ書き込み動作(WO)の演算内容を上式に代入すれば、結局、図28に示す論理演算回路81では、次式の演算が行われることになる。
【0240】
z =//(y1 AND /y2)= y1 AND /y2
【0241】
なお、上述のリセット処理(Reset)においてs=0とすれば、次式の演算を行うことができる。
【0242】
z = y1 OR /y2
【0243】
図32は、論理演算回路を複数用いたパイプライン論理演算装置の一例を示すブロック図である。図32に示すパイプライン論理演算装置91は、一連の論理演算を複数のステージに分割して、順次連続的に実行するパイプライン処理を行う装置である。
【0244】
この例では、論理演算を3つのステージに分割して行うよう構成している。第1ステージ(Stage1)、第2ステージ(Stage2)、第3ステージ(Stage3)の演算を、それぞれ実行するための第1ステージ演算部93,第2ステージ演算部95、第3ステージ演算部97が、直列に接続されている。
【0245】
各ステージ演算部93,95,97は、この例では、それぞれ、上述の論理演算回路81を多数用いた機能パスゲートネットワーク(FPGN:Functional pass−gate network)として実現されている。
【0246】
第1ステージ演算部93および第3ステージ演算部97は、ともに、クロックラインCLK1およびCLK2の信号に基づいて動作し、第2ステージ演算部95は、クロックラインCLK1およびCLK3の信号に基づいて動作するよう構成されている。
【0247】
図33は、パイプライン論理演算装置91の動作を示すタイミングチャートの一例である。図33に示すように、クロックラインCLK3の信号は、クロックラインCLK2の信号を1/2サイクル遅らせた信号である。したがって、第1ステージ(Stage1)、第2ステージ(Stage2)、第3ステージ(Stage3)の順に、1/2サイクルずつ遅れて次々と演算動作が進行してゆく。
【0248】
このように、たとえば論理演算回路81を複数用いてパイプライン処理を実行すれば、パイプライン処理に必須の記憶と演算とを別々の回路で行う必要がなくなるため、配線に要するスペースを大幅に削減することができる。
【0249】
図34は、図32に示すパイプライン論理演算装置を全加算器として具体化した場合の構成を示すブロック図である。図34に示す全加算器101は、パイプライン処理により符号付き2進数の加算を行う全加算器(Pipelined Signed−digit full adder)である。
【0250】
全加算器101は、符号付き2進数の加算を4つのステージに分割して、順次連続的に実行する。第1ステージ、第2ステージ、第3ステージ、第4ステージの演算を、それぞれ実行するための第1ステージ演算部101a,第2ステージ演算部101b、第3ステージ演算部101c、第4ステージ演算部101dが、直列に接続されている。
【0251】
第1〜第4ステージ演算部101a〜101dは,この例では、それぞれ、前述の論理演算回路81を機能パスゲート(FP:Functional pass−gate)として用いた機能パスゲートネットワーク(FPGN:Functional pass−gate network)として実現されている。
【0252】
第1ステージ演算部101aおよび第3ステージ演算部101cは、ともに、クロックラインCLK1およびCLK2の信号に基づいて動作し、第2ステージ演算部101bおよび第4ステージ演算部101dは、ともに、クロックラインCLK1およびCLK3の信号に基づいて動作するよう構成されている。
【0253】
したがって、図34の全加算器101においては、第1ステージ、第2ステージ、第3ステージ、第4ステージの順に、1/2サイクルずつ遅れて次々と加算動作が進行してゆく。図35は、全加算器101を論理回路で表現した等価回路図である。
【0254】
図34および図35から分かるように、全加算器101の第1ステージ演算部101aは、2つの論理演算回路81を用いて、符号付き2進数である被加算数(ai+,ai−)および加算数(bi+,bi−)に対応する2個の2進数(ai+ OR ai−)および(bi+ OR bi−)を算出して記憶する。
【0255】
第1ステージ演算部101aは、また、別の2つの論理演算回路81を用いて、被加算数(ai+,ai−)および加算数(bi+,bi−)に基づいて、 ki =ai+ OR bi+、および当該ビットにおける第1の桁上げ情報hi =ai− OR bi− を算出して記憶する。
【0256】
第2ステージ演算部101bは、前ステージで記憶されていた2個の2進数(ai+ OR ai−)および(bi+ OR bi−)の排他的論理和に対応する1個の2進数li=(ai+ OR ai−)EXOR(bi+ OR bi−)を、並列に接続された一対の論理演算回路81を用いて、第1の加算結果として算出して記憶する。
【0257】
第2ステージ演算部101bは、また、前ステージで記憶されていたkiおよび第1の桁上げ情報hiを取り込んで、2つの論理演算回路81を用いて記憶する。
【0258】
第3ステージ演算部101cは、並列に接続された他の一対の論理演算回路81を用いて、前ステージで記憶されていた第1の加算結果liと前ビットからの第1の桁上げ情報hi−1 =ai−1− OR bi−1−との排他的論理和に対応する1個の2進数αi=li EXOR hi−1を第2の加算結果として算出して記憶する。
【0259】
第3ステージ演算部101cは、また、前ステージで記憶されていたki、第1の加算結果liおよび前ビットからの第1の桁上げ情報hi−1に基づいて、2つの論理演算回路81を用いて、当該ビットにおける第2の桁上げ情報βi=/li AND ki OR li AND /hi−1を算出して記憶する。
【0260】
第4ステージ演算部101dは、前ステージで記憶されていた第2の加算結果αiおよび前ビットからの第2の桁上げ情報βi−1=/li−1 AND ki−1 OR li−1 AND /hi−2に基づいて、2つの論理演算回路81を用いて、当該論理演算装置101の加算結果としての符号付き2進数(si+,si−)を、次式に基づいて算出する。
【0261】
si+=/αi AND βi−1, si−=αi AND /βi−1
【0262】
なお、符号付き2進数(ai+,ai−)は(1,0)、(0,0)、(0,1)のいずれかの値をとるものと仮定し、それぞれ、1,0,−1に対応する。すなわち、符号付き2進数(ai+,ai−)=ai+−ai−と定義することもできる。他の符号付き2進数も同様である。
【0263】
図35に示す論理演算装置101の略右半分が加算結果算出部に対応し、略左半分が桁上げ情報算出部に該当する。
【0264】
図36は、図34に示す全加算器101を要素演算装置として複数用いたパイプライン乗算器(Pipelined multiplier)の一例を示すブロック図である。図36に示す乗算器111は、乗算を複数のレベルに分割して順次連続的に実行するパイプライン乗算処理を行う装置である。この例では、乗算器111は、54×54ビットの2進数の乗算を行うよう構成されているものとする。
【0265】
乗算器111は、部分積生成部112および加算部117を備えている。部分積生成部112は、ブースエンコーダ(Booth encoder)113および部分積生成器115を備え、被乗数と乗数との部分積に対応する符号付き部分積を生成する。
【0266】
すなわち、部分積生成部112は、まず、ともに54ビットの被乗数xおよび乗数yから、2次のBooth のアルゴリズム(second−order Booth’s algorithm)を用いて、乗数yのビット数の略1/2の個数に相当する27個の部分積を生成する。これらの部分積のうち略1/2の個数、すなわち偶数番目にあたる13個の部分積は、反転された(すなわち、全構成ビットが反転された)部分積である。反転された部分積を、/PP2,/PP4、…/PP26で表し、非反転の部分積を、PP1、PP3、…PP27で表す。
【0267】
つぎに、部分積生成部112は、隣接する一対の部分積について1つの符号付き部分積を生成する。つまり、部分積PP1および/PP2、PP3および/PP4、…、PP25および/PP26から、それぞれ、符号付き部分積SDPP1、SDPP2、…、SDPP13を生成する。
【0268】
たとえば、部分積PP3、/PP4の第iビットを、それぞれppi3,/ppi4とすれば、第iビットが符号付き2進数(ppi3,/ppi4)であるような符号付き部分積SDPP2が生成されるよう構成されている。上述の符号付き2進数の定義(ai+,ai−)=ai+−ai−によれば、(ppi3,/ppi4)=ppi3−/ppi4となる。このような関係の部分積PP3、/PP4、符号付き部分積SDPP2の関係を、SDPP2=(PP3,/PP4)=PP3−/PP4と表現するものとする。
【0269】
2の補数表現を用いれば、PP3+PP4=PP3−/PP4−1であるから、PP3+PP4=SDPP2−1=SDPP2+(0,1)となる。すなわち、一対の部分積PP3およびPP4の和は、1個の符号付きSDPP2の最下位ビットに、追加の符号付き2進数(0,1)を加えて得られる符号付き2進数として表すことができる。
【0270】
同様に、他の一対の部分積PP5およびPP6の和は、1個の符号付きSDPP3の最下位ビットに、追加の符号付き2進数(0,1)を加えて得られる符号付き2進数として表すことができる。すなわち、PP5+PP6=SDPP3+(0,1)となる。これ以外の一対の部分積についても同様である。
【0271】
なお、最後の部分積PP27については、それのみを用いて符号付き部分積SDPP14が生成される。さらに、各符号付き部分積SDPP1〜SDPP14の最下位ビットに加えるべき符号付き2進数(0,1)を構成要素とする符号付き部分積SDPP15が生成される。このようにして、乗数yのビット数の略1/4に相当する15個の符号付き部分積SDPP1〜SDPP15が生成される。
【0272】
加算部17は、第1レベル、第2レベル、第3レベル、第4レベルの加算を、それぞれ実行するための第1レベル演算部117a,第2レベル演算部117b、第3レベル演算部117c、第4レベル演算部117dを備えている。加算部17では、部分積生成部112において生成された符号付き部分積SDPP1〜SDPP15に基づいて、Wallace−tree法を用いて各レベルの加算を順次実行することにより、乗算結果を得る。
【0273】
各レベル演算部117a〜117dは、それぞれ、1個以上の加算ユニット119(SDA:Signd−digit adder)を備えている。図37は、加算ユニット119の構成を示すブロック図である。各加算ユニット119は、部分積生成部112において生成された符号付き部分積のビット数に対応する数の全加算器101を並列に接続したものであり、当該ビット数の符号付き2進数を加算結果として出力する。この実施形態においては、加算ユニット119のビット数は被乗数xと乗数yとの積のビット数と略同一のビット数となっている。
【0274】
第1レベル演算部117aは、並列に配置された7個の加算ユニット119を用いて、符号付き部分積SDPP15およびSDPP1〜SDPP13を入力とする加算を並列的に実行することで、部分積生成部112において生成された符号付き部分積の個数の実質的に1/2の個数に相当する7個の第1レベルの加算結果を算出して記憶する。
【0275】
図36の例では、第1レベル演算部117aの最も左に配置された加算ユニット119において、符号付き部分積SDPP15とSDPP1とが加算され、左から2番目の加算ユニット119において符号付き部分積SDPP2とSDPP3とが加算され、最も右に配置された加算ユニット119(図示せず)において、符号付き部分積SDPP12とSDPP13とが加算される。
【0276】
たとえば、第1レベル演算部117aの左から2番目の加算ユニット119においては、符号付き部分積SDPP2およびSDPP3の加算がおこなわれるから、図37に示す被加算数aの各ビット値ai=(ai+、ai−)として、符号付き部分積SDPP2の各ビット値である上述の(ppi3,/ppi4)が入力され、加算数bの各ビット値bi=(bi+、bi−)として、符号付き部分積SDPP3の各ビット値である(ppi5,/ppi6)が入力される。
【0277】
第2レベル演算部117bは、並列に配置された4個の加算ユニット119を用いて、前レベルの加算結果を入力とする加算を行うことで、前レベルの実質的に1/2の個数の第2レベルの加算結果を算出して記憶する。
【0278】
図36の例では、第2レベル演算部117bの最も左に配置された加算ユニット119は、第1レベル演算部117aの最も左に配置された加算ユニット119および左から2番目の加算ユニット119において算出された2個の第1レベルの加算結果を加算して、1個の第2レベルの加算結果を得る。第2レベル演算部117bの左から2番目、3番目(図示せず)の加算ユニット119も、同様の加算を行う。
【0279】
なお、第2レベル演算部117bの最も右に配置された加算ユニット119(図示せず)は、第1レベル演算部117aの最も右に配置された加算ユニット119(図示せず)において算出された1個の第1レベルの加算結果および符号付き部分積SDPP14の加算を行う。このようにして4個の第2レベルの加算結果を得る。
【0280】
第3レベル演算部117cは、並列に配置された2個の加算ユニット119を用いて、前レベルで算出された4個の加算結果を入力とする加算を行うことで、前レベルの実質的に1/2の個数に相当する2個の第3レベルの加算結果を算出して記憶する。
【0281】
最終レベル演算部である第4レベル演算部117dは、1個の加算ユニット119を用いて、前レベルで算出された2個の加算結果を入力とする加算を行うことで、1個の最終レベルの加算結果を算出するとともに、算出された最終レベルの加算結果を前記被乗数と乗数との積に対応する符号付き2進数として記憶する動作を実行する。
【0282】
このように、このパイプライン乗算器111においては、部分積生成部112において、2次のBooth のアルゴリズム(second−order Booth’s algorithm)を用いて、被乗数xおよび乗数yに関する27個の部分積PP1〜PP27を生成するとともに、生成された27個の部分積に基づいて15個の符号付き部分積SDPP1〜SDPP15を生成し、加算部117において、Wallace−tree法を用いて、当該15個の符号付き部分積SDPP1〜SDPP15を加算してゆくことにより、被乗数xと乗数yとの積に対応する符号付き2進数を得る。この後、所定の変換を行えば、被乗数xと乗数yとの積を得ることができる。
【0283】
図38は、図28Aに示す論理演算回路81を利用した直並列型のパイプライン乗算器の構成の一例を示すブロック図である。このパイプライン乗算器141は、4ビットの被乗数sと4ビットの乗数bとの乗算を、乗数bのビット数すなわち4つのレベルに分割して順次連続的に実行するよう構成されている。図38に示すように、第1〜第4レベル演算部141a〜141dが、第1〜第4レベルの演算を行う。
【0284】
たとえば、第2レベル演算部141bは、要素部分積生成部である論理積回路142と、要素演算装置である直列型のパイプライン全加算器143とを備えている。なお、図中、四角で囲んだstは記憶部を示すシンボルであり、円で囲んだ+は全加算器を示すシンボルである。第2および第3レベル演算部141cおよび141dも同様の構成である。ただし、第1レベル演算部141aは、全加算器を備えていない。
【0285】
図39は、パイプライン乗算器141の動作を説明するための図面である。図中左から右へと順に第1〜第4レベルの動作を表す。また、各レベルの動作について、図中、上から下へとステップの進行(時間の経過)を示す。図中、円で囲まれたVは論理積回路142を示すシンボルである。また、図中、第2〜第4レベルにおいて、同一レベル内で隣接する全加算器を示すシンボルを上から下へと結ぶ矢印付きの破線は、桁上げの流れを示す。
【0286】
たとえば、パイプライン乗算器141の第2レベル演算部141bにおける動作すなわち第2レベルの動作は、図39の左から2列目で表される。したがって、第2レベル演算部141bのたとえば第3ステップ(第3サイクル)の動作は、図39の左から2列目の上から3つ目の動作、すなわち図中Qで表される。パイプライン乗算器141の第2レベル演算部141bの第3ステップにおける動作を説明する。
【0287】
まず、論理積回路142において、被乗数sを構成する4つのビットのうち第2レベルにおいて現在の演算対象となっている演算対象被乗数ビットs1と、乗数bを構成する4つのビットのうち第2レベルに対応するビットb1との論理積が算出され、つぎに、算出された上記論理積、前のレベルである第1レベルにおける部分積、および演算対象被乗数ビットs1の前のビットs0についての第2レベルにおける桁上げ、の3つの2進数の和が、パイプライン全加算器143を用いて算出される。
【0288】
パイプライン全加算器143において算出された結果が、演算対象被乗数ビットs1の第2レベルにおける部分積として、次レベルである第3レベルに送られる。また、この加算の際に生じた桁上げが演算対象被乗数ビットs1の第2レベルにおける桁上げとして記憶される。
【0289】
第3および第4レベル演算部141cおよび141dの動作も同様である。ただし、第1レベル演算部141aは、要素部分積である論理積を算出するが、加算は行わない。
【0290】
図40は、パイプライン乗算器141の第2レベル演算部141bの構成を示すブロック図である。図41は、第2レベル演算部141bの構成を示す論理回路図である。図41において、多数の小さい横長の長方形は、それぞれ、記憶部を表す。第2レベル演算部141bは、第2レベルの論理演算を4つのステージに分割して順次連続的に実行するよう構成されている。
【0291】
図40に示すように、第2レベル演算部141bの第1〜第4ステージ演算部145a〜145dが、第1〜第4ステージの演算を行う。図中、四角で囲まれたFPは、それぞれ、図28Aに示す論理演算回路81(Functional Pass Gate)を表す。
【0292】
第1ステージ演算部145aは、被乗数sを構成する各ビットのうち現在の演算対象となっている1つのビットを取り込んで、演算対象被乗数ビットsjとして記憶する動作を行う。
【0293】
第2ステージ演算部145bは、前ステージにおいて記憶されていた演算対象被乗数ビットsjと、乗数bを構成する各ビットのうち第2レベルに対応するビットb1との論理積を、論理積回路142を用いて、演算対象被乗数ビットsjの第2レベルにおける要素部分積として算出して記憶するとともに、第1ステージにおいて記憶されていた演算対象被乗数ビットsjを取り込んで記憶する動作を行う。
【0294】
第3および第4ステージ演算部145cおよび145dは、前ステージにおいて算出された第2レベルにおける要素部分積、第1レベルにおける部分積Pj、および演算対象被乗数ビットsjの前のビットについての第2レベルにおける桁上げC1、の3つの2進数の和を算出して演算対象被乗数ビットsjの第2レベルにおける部分積Pj+1として記憶するとともに、この加算の際に生じた新たな桁上げを演算対象被乗数ビットsjについての第2レベルにおける桁上げとして記憶する動作を、パイプライン全加算器143を用いて行う。
【0295】
第3および第4ステージ演算部145cおよび145dは、さらに、第2ステージにおいて記憶されていた演算対象被乗数ビットsjを取り込んで、次レベルである第3レベルのための演算対象被乗数ビットsj+1として記憶する動作を行う。
【0296】
第3および第4レベル演算部141cおよび141dの構成も、上述の第2レベル演算部bの構成と同様である。ただし、上述のように、第1レベル演算部141aは、全加算のための論理演算回路を備えていない。
【0297】
なお、図40に示すパイプライン全加算器143は、上述の第3および第4ステージに対応する第1および第2加算ステージの演算を行う論理演算装置と考えることもできる。この場合、パイプライン全加算器143は、第1および第2加算ステージの演算を行うための、第1および第2加算ステージ演算部を備えていることになる。
【0298】
パイプライン全加算器143を構成する第1および第2加算ステージ演算部は、図40に示す第3および第4レベル演算部145cおよび145dから、図の右端にある論理演算回路81(Functional Pass Gate)をそれぞれ除いた回路である。
【0299】
すなわち、第1加算ステージ演算部は、被加算数および加算数に対応する2進数の排他的論理和に対応する2進数を、並列に接続された一対の論理演算回路81を用いて、第1の加算結果として算出して記憶する動作を行うとともに、直前に実行された第2加算ステージにおいて出力された桁上げを記憶する動作を行う。
【0300】
第2加算ステージ演算部は、第1加算ステージにおいて算出された第1の加算結果と第1加算ステージにおいて記憶されていた桁上げに対応する2進数との排他的論理和に対応する2進数に対応する2進数を、並列に接続された他の一対の前記論理演算回路81を用いて、第2の加算結果として算出して記憶するとともに当該第2の加算結果を当該パイプライン全加算器143の加算結果として出力する動作を行うとともに、複数の論理演算回路81を用いてこの加算における桁上げを算出して記憶する動作を行う。
【0301】
なお、上述の各実施形態においては、トランジスタMPがNチャネルMOSFETである場合を例に説明したが、この発明はこれに限定されるものではない。たとえば、トランジスタMPがPチャネルMOSFETである場合にも、この発明を適用することができる。
【0302】
また、上述の各実施形態においては、演算結果出力部の例として、電界効果型のトランジスタを例に説明したが、演算結果出力部は、これに限定されるものではない。演算結果出力部としては、要は、第2の被演算データの付与により得られる不揮発性記憶素子および不揮発性負荷素子双方の状態変化量に基づいて第1および第2の被演算データの論理演算結果を出力するものであればよい。
【0303】
また、上述の各実施形態においては、不揮発性記憶素子および不揮発性負荷素子として強誘電体コンデンサを用いた場合を例に説明したが、この発明における不揮発性記憶素子および/または不揮発性負荷素子は強誘電体コンデンサに限定されるものではない。一般的には、不揮発性素子としてヒステリシス特性を有する素子が考えられる。
【0304】
たとえば、不揮発性記憶素子および/または不揮発性負荷素子として、常誘電体コンデンサを利用した素子を用いることもできる。これについては後述する。
【0305】
また、不揮発性記憶素子および/または不揮発性負荷素子はコンデンサを利用した素子に限定されるものではない。不揮発性記憶素子および/または不揮発性負荷素子として、たとえば、抵抗を利用した素子を用いることもできる。
【0306】
不揮発性記憶素子として抵抗を利用した素子を用いる場合、当該抵抗の両端が前記第1および第2の端子となる。不揮発性負荷素子として抵抗を利用した素子を用いる場合、当該抵抗の両端が前記第3および第4の端子となる。これらの場合、第1の被演算データに応じて、たとえば、抵抗値が異なるよう構成しておけばよい。
【0307】
また、不揮発性記憶素子および/または不揮発性負荷素子としてトランジスタを利用した素子を用いることもできる。不揮発性記憶素子として、たとえば、FET(電界効果トランジスタ)を利用した素子用いる場合、当該FETの一対の入出力端子(ドレイン端子およびソース端子)が前記第1および第2の端子となる。
【0308】
不揮発性負荷素子として、FETを利用した素子用いる場合、当該FETの一対の入出力端子(ドレイン端子およびソース端子)が前記第3および第4の端子となる。これらの場合、たとえば、当該FETのゲート端子に、第1の被演算データに応じた適当なバイアス電圧を与えるよう構成しておけばよい。
【0309】
さらに、不揮発性記憶素子および/または不揮発性負荷素子として、上記コンデンサ、抵抗およびトランジスタを適当に組み合わせた素子を用いることもできる。
【0310】
図42Aは、常誘電体コンデンサを利用した不揮発性負荷素子の一例を示す回路図である。図42Aに示す負荷素子121は、たとえば、図16に示す論理演算回路31において、負荷用の強誘電体コンデンサCs’に替えて用いられ、2つの常誘電体コンデンサC1,C2、スイッチ(トランスファゲート)125,記憶装置123を備えている。
【0311】
2つの常誘電体コンデンサC1,C2は、スイッチ125を介して並列に接続され、合成コンデンサを構成する。合成コンデンサの一端は、結合ノード11を介して、トランジスタMPのゲート端子に接続され、他端はビットラインBL2に接続される。記憶装置123は、第1の被演算データsに対応したデータを不揮発的に記憶する。スイッチ125は、記憶装置123に記憶されているデータにしたがってON,OFFされる。
【0312】
図43Aは、図17に示すデータ書き込み動作(WO)においてビットラインBL2にy=0が付与されていた場合(すなわち、第1の被演算データs=0である場合)の、データ読み出し動作(RO)時における負荷素子121の等価回路を示す図面である。
【0313】
一方、図43Bは、図17に示すデータ書き込み動作(WO)においてビットラインBL2にy=1が付与されていた場合(すなわち、第1の被演算データs=1である場合)の、データ読み出し動作(RO)時における負荷素子121の等価回路を示す図面である。
【0314】
図43A、図43Bから、第1の被演算データs=0、s=1に対応して、データ読み出し動作(RO)時の負荷素子121の合成容量が、それぞれ、C1、C1+C2になっていることが分かる。
【0315】
図42Bは、不揮発性負荷素子として負荷素子121を用いた場合における論理演算回路31のデータ読み出し動作を説明するためのヒステリシス図である。この例では、基準電位c=0としている。この図から、第1の被演算データsに対応させて負荷素子121の容量を変化させることで、不揮発性負荷素子として強誘電体コンデンサCs’を用いた場合と同様の効果があることが分かる。
【0316】
図44Aは、常誘電体コンデンサを利用した不揮発性負荷素子の他の例を示す回路図である。図44Aに示す負荷素子131は、たとえば、図16に示す論理演算回路31において、負荷用の強誘電体コンデンサCs’に替えて用いられ、1つの常誘電体コンデンサC3、記憶装置133および負荷用電源135を備えている。
【0317】
常誘電体コンデンサC3の一端は、結合ノード11を介して、トランジスタMPのゲート端子に接続され、他端は負荷用電源135を介してビットラインBL2に接続されている。記憶装置133は、第1の被演算データsに対応したデータを不揮発的に記憶する。負荷用電源135は、直流電源であり、記憶装置133に記憶されているデータにしたがってその極性が反転するよう構成されている。
【0318】
図45Aは、図17に示すデータ書き込み動作(WO)においてビットラインBL2にy=0が付与されていた場合(すなわち、第1の被演算データs=0である場合)の、データ読み出し動作(RO)時における負荷素子131の等価回路を示す図面である。この場合、負荷用電源135の極性は、ビットラインBL2を基準として常誘電体コンデンサC3の他端が正電位となる方向である。
【0319】
一方、図45Bは、図17に示すデータ書き込み動作(WO)においてビットラインBL2にy=1が付与されていた場合(すなわち、第1の被演算データs=1である場合)の、データ読み出し動作(RO)時における負荷素子131の等価回路を示す図面である。この場合、負荷用電源135の極性は、ビットラインBL2を基準として常誘電体コンデンサC3の他端が負電位となる方向である。
【0320】
図45A、図45Bから、第1の被演算データs=0、s=1に対応して、データ読み出し動作(RO)時の負荷素子131の常誘電体コンデンサC3の他端の電位が、それぞれ、+Vc、−Vcになっていることが分かる。
【0321】
図44Bは、不揮発性負荷素子として負荷素子131を用いた場合における論理演算回路31のデータ読み出し動作を説明するためのヒステリシス図である。この例では、基準電位c=0としている。この図から、第1の被演算データsに対応させて負荷素子131の他端(ビットラインBL2側端)の電位を変化させることで、不揮発性負荷素子として強誘電体コンデンサCs’を用いた場合と同様の効果があることが分かる。
【0322】
図46Aは、常誘電体コンデンサを利用した不揮発性記憶素子の一例を示す回路図である。図46Aに示す記憶素子151は、たとえば、図16に示す論理演算回路31において、記憶用の強誘電体コンデンサCsに替えて用いられ、2つの常誘電体コンデンサC1,C2、スイッチ(トランスファゲート)155,記憶装置153を備えている。
【0323】
2つの常誘電体コンデンサC1,C2は、スイッチ155を介して並列に接続され、合成コンデンサを構成する。合成コンデンサの一端はビットラインBL1に接続され、他端は、結合ノード11を介して、トランジスタMPのゲート端子に接続される。記憶装置153は、第1の被演算データsに対応したデータを不揮発的に記憶する。スイッチ155は、記憶装置153に記憶されているデータにしたがってON,OFFされる。
【0324】
図47Aは、図17に示すデータ書き込み動作(WO)においてビットラインBL1にy=0が付与されていた場合(すなわち、第1の被演算データs=0である場合)の、データ読み出し動作(RO)時における記憶素子151の等価回路を示す図面である。
【0325】
一方、図47Bは、図17に示すデータ書き込み動作(WO)においてビットラインBL1にy=1が付与されていた場合(すなわち、第1の被演算データs=1である場合)の、データ読み出し動作(RO)時における記憶素子151の等価回路を示す図面である。
【0326】
図47A、図47Bから、第1の被演算データs=0、s=1に対応して、データ読み出し動作(RO)時の記憶素子151の合成容量が、それぞれ、C1+C2、C1になっていることが分かる。
【0327】
図46Bは、不揮発性記憶素子として記憶素子151を用いた場合における論理演算回路31のデータ読み出し動作を説明するための図面である。この例では、基準電位c=0としている。この図から、第1の被演算データsに対応させて記憶素子151の容量を変化させることで、不揮発性記憶素子として強誘電体コンデンサCsを用いた場合と同様の効果があることが分かる。
【0328】
図48Aは、常誘電体コンデンサを利用した不揮発性記憶素子の他の例を示す回路図である。図48Aに示す記憶素子161は、たとえば、図16に示す論理演算回路31において、記憶用の強誘電体コンデンサCsに替えて用いられ、1つの常誘電体コンデンサC3、記憶装置163および記憶用電源165を備えている。
【0329】
常誘電体コンデンサC3の一端は、ビットラインBL1に接続され、他端は、記憶用電源165および結合ノード11を介して、トランジスタMPのゲート端子に接続されている。記憶装置163は、第1の被演算データsに対応したデータを不揮発的に記憶する。記憶用電源165は、直流電源であり、記憶装置163に記憶されているデータにしたがってその極性が反転するよう構成されている。
【0330】
図49Aは、図17に示すデータ書き込み動作(WO)においてビットラインBL1にy=0が付与されていた場合(すなわち、第1の被演算データs=0である場合)の、データ読み出し動作(RO)時における記憶素子161の等価回路を示す図面である。この場合、記憶用電源165の極性は、ビットラインBLwを基準として常誘電体コンデンサC3の他端が負電位となる方向である。
【0331】
一方、図49Bは、図17に示すデータ書き込み動作(WO)においてビットラインBL1にy=1が付与されていた場合(すなわち、第1の被演算データs=1である場合)の、データ読み出し動作(RO)時における記憶素子161の等価回路を示す図面である。この場合、記憶用電源165の極性は、ビットラインBLwを基準として常誘電体コンデンサC3の他端が正電位となる方向である。
【0332】
図49A、図49Bから、第1の被演算データs=0、s=1に対応して、データ読み出し動作(RO)時の記憶素子161の常誘電体コンデンサC3の他端の電位が、それぞれ、−Vc、+Vcになっていることが分かる。
【0333】
図48Bは、不揮発性記憶素子として記憶素子161を用いた場合における論理演算回路31のデータ読み出し動作を説明するための図面である。この例では、基準電位c=0としている。この図から、第1の被演算データsに対応させて記憶素子161の他端(ビットラインBLw側端)の電位を変化させることで、不揮発性記憶素子として強誘電体コンデンサCsを用いた場合と同様の効果があることが分かる。
【0334】
このように、不揮発性負荷素子および不揮発性記憶素子のいずれか一方に強誘電体コンデンサを用いるとともに、他方に常誘電体コンデンサを利用した素子を用いることができる。
【0335】
もちろん、不揮発性負荷素子および不揮発性記憶素子の双方に、常誘電体コンデンサを利用した素子を用いることもできる。たとえば、不揮発性負荷素子として上述の負荷素子121または負荷素子131のいずれか一方を用いるとともに、不揮発性記憶素子として記憶素子151または記憶素子161のいずれか一方を用いることが可能である。
【0336】
なお、本明細書において「A<=B」は、AはBよりも小さいか、または、AとBとは等しいことを意味する。
【図面の簡単な説明】
【図1】この発明の一実施形態による論理演算回路1を示す回路図である。
【図2】論理演算回路1の動作を示すタイミングチャートの一例である。
【図3】図3A、図3Bは、それぞれ、論理演算回路1のデータ書き込み動作(WO)、待機状態(Standby)を説明するための回路図である。
【図4】図4A、図4Bは、それぞれ、論理演算装置1のデータ書き込み動作を説明するためのヒステリシス図、状態遷移図である。
【図5】図5A〜図5Cは、論理演算装置1のデータ読み出し動作(RO)説明するための回路図である。
【図6】図6A、図6Bは、それぞれ、論理演算子に対応する基準電位c=0の場合における論理演算装置1のデータ読み出し動作を説明するためのヒステリシス図、真理値表である。
【図7】図7A、図7Bは、それぞれ、論理演算子に対応する基準電位c=1の場合における論理演算装置1のデータ読み出し動作を説明するためのヒステリシス図、真理値表である。
【図8】図8A、図8Bは、それぞれ、論理演算装置1の等価回路、シンボル図である。
【図9】この発明の他の実施形態による論理演算回路21を表す回路図である。
【図10】論理演算回路21を、データ書き込み動作を利用して論理演算を行う回路として用いる場合のタイミングチャートである。
【図11】図11A、図11Cは、それぞれ、図10の例で、s初期化動作においてs=1とした場合における論理演算回路21の等価回路、シンボル図である。図11B、図11Dは、それぞれ、s初期化動作においてs=0とした場合における論理演算回路21の等価回路、シンボル図である。
【図12】論理演算回路21を、データ読み出し動作を利用して論理演算を行う回路として用いる場合のタイミングチャートである。
【図13】図13A、図13Cは、それぞれ、図12の例において、基準電位c=0とした場合における論理演算回路21の等価回路、シンボル図である。図13B、図13Dは、それぞれ、図12の例において、基準電位c=1とした場合における論理演算回路21の等価回路、シンボル図である。
【図14】論理演算回路21を、データ読み出し動作を利用して論理演算を行う回路として用いる場合のタイミングチャートの、もう一つの例である。
【図15】図15A、図15B、図15Cは、それぞれ、図14の例における初期化動作(Init.)、演算動作(Op.)、復元動作(Res.)の際の強誘電体コンデンサCsおよび強誘電体コンデンサCs’の分極状態を示す図面である。
【図16】図16Aは、この発明のさらに他の実施形態による論理演算回路31を表す回路図である。図16Bは、論理演算回路31をシンボルで表した図面である。
【図17】論理演算回路31の動作を示すタイミングチャートの一例である。
【図18】図18A、図18B、図18Cは、それぞれ、論理演算回路31のデータ書き込み動作(WO)、データ読み出し動作における初期化動作(RO,Init.)、データ読み出し動作における演算動作(RO,Op.)を説明するための回路図である
【図19】図19A、図19Bは、それぞれ、論理演算回路31のデータ読み出し動作における復元動作(RO,Res.)、待機状態(Standby)を説明するための回路図である。
【図20】論理演算回路31を利用した論理演算装置である連想メモリ(Content Addressable Memory)41を示すブロック図である。
【図21】ワード回路46を、論理演算回路31と同様の論理演算回路53,55,…を用いて実現した場合の回路図である。
【図22】図22Aは一対の論理演算回路53,55を構成要素とするCAMセル(Content Addressable Memory Cell)51の回路図である。図22Bは、CAMセル51を論理回路として表現した図面である。
【図23】CAMセル51の動作を示すタイミングチャートである。
【図24】上述の論理演算回路31を利用した論理演算装置である連想メモリ61を示すブロック図である。
【図25】ワード回路66を、論理演算回路31と同様の論理演算回路73,75,…を用いて実現した場合の回路図である。
【図26】図26Aは一対の論理演算回路73,75を構成要素とするCAMセル71の回路図である。図26Bは、CAMセル71を論理回路として表現した図面である。
【図27】CAMセル71の動作を示すタイミングチャートである。
【図28】図28Aは、この発明のさらに他の実施形態による論理演算回路81を表す回路図である。図28Bは、論理演算回路81のシンボル図である。
【図29】論理演算回路81の動作を示すタイミングチャートの一例である。
【図30】図30A、図30Bは、それぞれ、論理演算回路81のリセット動作(Reset)、データ書き込み動作(WO)を説明するための回路図である。
【図31】図31A、図31Bは、論理演算回路81のデータ読み出し動作(RO)説明するための回路図である。
【図32】論理演算回路を複数用いたパイプライン論理演算装置の一例を示すブロック図である。
【図33】パイプライン論理演算装置91の動作を示すタイミングチャートの一例である。
【図34】図32に示すパイプライン論理演算装置を全加算器として具体化した場合の構成を示すブロック図である。
【図35】全加算器101を論理回路で表現した等価回路図である。
【図36】図34に示す全加算器101を要素演算装置として複数用いたパイプライン乗算器(Pipelined multiplier)の一例を示すブロック図である。
【図37】加算ユニット119の構成を示すブロック図である。
【図38】図28Aに示す論理演算回路81を利用した直並列型のパイプライン乗算器の構成の一例を示すブロック図である。
【図39】パイプライン乗算器141の動作を説明するための図面である。
【図40】パイプライン乗算器141の第2レベル演算部141bの構成を示すブロック図である。
【図41】第2レベル演算部141bの構成を示す論理回路図である。
【図42】図42Aは、常誘電体コンデンサを利用した不揮発性負荷素子の一例を示す回路図である。図42Bは、不揮発性負荷素子として負荷素子121を用いた場合における論理演算回路31のデータ読み出し動作を説明するためのヒステリシス図である。
【図43】図43Aは、図17に示すデータ書き込み動作(WO)においてビットラインBL2にy=0が付与されていた場合の、データ読み出し動作(RO)時における負荷素子121の等価回路を示す図面である。図43Bは、図17に示すデータ書き込み動作(WO)においてビットラインBL2にy=1が付与されていた場合の、データ読み出し動作(RO)時における負荷素子121の等価回路を示す図面である。
【図44】図44Aは、常誘電体コンデンサを利用した不揮発性負荷素子の他の例を示す回路図である。図44Bは、不揮発性負荷素子として負荷素子131を用いた場合における論理演算回路31のデータ読み出し動作を説明するためのヒステリシス図である。
【図45】図45Aは、図17に示すデータ書き込み動作(WO)においてビットラインBL2にy=0が付与されていた場合の、データ読み出し動作(RO)時における負荷素子131の等価回路を示す図面である。図45Bは、図17に示すデータ書き込み動作(WO)においてビットラインBL2にy=1が付与されていた場合の、データ読み出し動作(RO)時における負荷素子131の等価回路を示す図面である。
【図46】図46Aは、常誘電体コンデンサを利用した不揮発性記憶素子の一例を示す回路図である。図46Bは、不揮発性記憶素子として記憶素子151を用いた場合における論理演算回路31のデータ読み出し動作を説明するための図面である。
【図47】図47Aは、図17に示すデータ書き込み動作(WO)においてビットラインBL1にy=0が付与されていた場合の、データ読み出し動作(RO)時における記憶素子151の等価回路を示す図面である。図47Bは、図17に示すデータ書き込み動作(WO)においてビットラインBL1にy=1が付与されていた場合の、データ読み出し動作(RO)時における記憶素子151の等価回路を示す図面である。
【図48】図48Aは、常誘電体コンデンサを利用した不揮発性記憶素子の他の例を示す回路図である。図48Bは、不揮発性記憶素子として記憶素子161を用いた場合における論理演算回路31のデータ読み出し動作を説明するための図面である。
【図49】図49Aは、図17に示すデータ書き込み動作(WO)においてビットラインBL1にy=0が付与されていた場合の、データ読み出し動作(RO)時における記憶素子161の等価回路を示す図面である。図49Bは、図17に示すデータ書き込み動作(WO)においてビットラインBL1にy=1が付与されていた場合の、データ読み出し動作(RO)時における記憶素子161の等価回路を示す図面である。
【符号の説明】
c・・・・基準電位
Cs ・・・記憶用の強誘電体コンデンサ
Cs’・・・負荷用の強誘電体コンデンサ
s・・・・強誘電体コンデンサCsの残留分極状態(第1の被演算データ)
s’ ・・・強誘電体コンデンサCs’の残留分極状態
VA(0)・・s=0、x=1のとき結合ノード11が示す電位VA
VA(1)・・s=1、x=1のとき結合ノード11が示す電位VA
Vth ・・・トランジスタMPのしきい値電圧
x・・・・第2の被演算データ
Claims (26)
- 第1の被演算データに対応する分極状態を保持する記憶用強誘電体コンデンサであって、第1および第2の端子を有する記憶用強誘電体コンデンサと、
前記第1の被演算データに対応する分極状態であって前記記憶用強誘電体コンデンサの分極状態と実質的に相補的関係を有する分極状態を保持する負荷用強誘電体コンデンサであって、前記記憶用強誘電体コンデンサの第1の端子に接続される第3の端子と、第4の端子と、を有する負荷用強誘電体コンデンサと、
前記負荷用強誘電体コンデンサの第4の端子を所定の基準電位に接続するとともに前記記憶用強誘電体コンデンサの第2の端子に第2の被演算データを付与することにより得られる、前記記憶用強誘電体コンデンサの第1の端子と前記負荷用強誘電体コンデンサの第3の端子との結合ノードの電位に基づいて、所定の論理演算子についての前記第1および第2の被演算データの論理演算結果を出力する演算結果出力部であって、前記結合ノードに接続される演算結果出力部と、
を備えた論理演算回路。 - 請求項1の論理演算回路において、
前記所定の基準電位は、2以上の異なる論理演算子に対応する2以上の異なる基準電位から選択可能に構成され、
前記所定の論理演算子は、選択された前記所定の基準電位を前記負荷用強誘電体コンデンサの第4の端子に接続するとともに、前記第2の被演算データの付与前に前記結合ノードを当該所定の基準電位にプリチャージしておくことにより、決定するよう構成されたこと、
を特徴とするもの。 - 請求項1ないし2のいずれかの論理演算回路において、
前記結合ノードには第3の被演算データを付与することができ、
前記記憶用強誘電体コンデンサの第2の端子および前記負荷用強誘電体コンデンサの第4の端子には第4の被演算データを付与することができるよう構成され、
前記第1の被演算データに対応する前記記憶用強誘電体コンデンサおよび負荷用強誘電体コンデンサの分極状態は、前記付与された第3および第4の被演算データと、当該第3および第4の被演算データが付与される前の前記記憶用強誘電体コンデンサおよび負荷用強誘電体コンデンサの分極状態と、により決定するよう構成されたこと、
を特徴とするもの。 - 2値データである第1の被演算データsに対応する不揮発的状態を保持する不揮発性記憶素子であって、第1および第2の端子を有する不揮発性記憶素子と、
前記第1の被演算データsの反転データ/sに対応する不揮発的状態を保持する不揮発性負荷素子であって、前記不揮発性記憶素子の第1の端子に接続される第3の端子と、第4の端子と、を有する不揮発性負荷素子と、
前記不揮発性負荷素子の第4の端子を、相補的関係にある2つの基準電位から選択された任意の1つの基準電位に維持したまま、前記不揮発性記憶素子の第1の端子と前記不揮発性負荷素子の第3の端子との結合ノードを前記基準電位にプリチャージしたあと前記不揮発性記憶素子の第2の端子に2値データである第2の被演算データxを付与することにより得られる前記不揮発性記憶素子および不揮発性負荷素子双方の状態に基づいて前記基準電位に対応する所定の論理演算子についての前記第1および第2の被演算データsおよびxの論理演算結果を2値データである演算結果データzとして出力する演算結果出力部と、
を備えた論理演算回路であって、
前記演算結果データzは、前記相補的関係にある2つの基準電位に対応する2値データをcおよび/cとしたとき、実質的に次式、
z = /c AND x AND /s OR c AND (x OR /s)
を満足するよう構成された、論理演算回路。 - 請求項4の論理演算回路において、
前記第1の被演算データsは、前記結合ノードに2値データである第3の被演算データy1を付与するとともに、前記不揮発性記憶素子の第2の端子および前記不揮発性負荷素子の第4の端子に2値データである第4の被演算データy2を付与することにより得られる前記不揮発性記憶素子の新たな不揮発的状態に対応するものであり、第3および第4の被演算データを付与する前の第1の被演算データをsbとするとき、実質的に次式、
s = /sb AND /y1 AND y2 OR sb AND (/y1 OR y2)
を満足するよう構成された、論理演算回路。 - 第1の被演算データに対応する不揮発的状態を保持する不揮発性記憶素子と、
前記第1の被演算データによって異なる状態変化率の不揮発的状態を保持する不揮発性負荷素子であって、結合ノードにおいて前記不揮発性記憶素子に接続される不揮発性負荷素子と、
前記不揮発性記憶素子に第2の被演算データを付与することにより得られる当該不揮発性記憶素子および前記不揮発性負荷素子双方の状態変化量に基づいて、所定の論理演算子についての前記第1および第2の被演算データの論理演算結果を出力する演算結果出力部と、
を備えた論理演算回路。 - 請求項6の論理演算回路において、
前記所定の論理演算子は、2以上の異なる論理演算子に対応する2以上の異なる基準電位から選択した1つの基準電位を、前記第2の被演算データの付与に先立って前記不揮発性負荷素子に付与することにより決定するよう構成されたこと、
を特徴とするもの。 - 請求項6ないし7のいずれかの論理演算回路において、
前記不揮発性記憶素子および不揮発性負荷素子には第3および第4の被演算データを付与することができるよう構成され、
前記第1の被演算データに対応する前記不揮発性記憶素子および不揮発性負荷素子の不揮発的状態は、前記付与された第3および第4の被演算データと、当該第3および第4の被演算データが付与される前の前記不揮発性記憶素子および不揮発性負荷素子の不揮発的状態と、により決定されるよう構成されたこと、
を特徴とするもの。 - 請求項1ないし8のいずれかの論理演算回路において、
前記演算結果出力部は、前記結合ノードに接続される制御端子と、前記制御端子に入力される制御信号に対応した出力信号を出力する出力端子と、を有する出力用トランジスタであって、前記制御信号として当該出力用トランジスタのしきい値電圧よりも第1の基準電位よりの電位が与えられるとOFFとなり、当該しきい値電圧よりも第2の基準電位よりの電位が与えられるとONとなる出力用トランジスタ、を備え、
前記論理演算結果は、当該出力用トランジスタの前記出力信号として得られるよう構成されたこと、
を特徴とするもの。 - 請求項1ないし9のいずれかの論理演算回路を直列および/または並列に配置することにより所望の論理演算を行わせるよう構成した論理演算装置。
- 検索対象である検索ワードを保持する検索ワード保持部と、
参照対象である参照ワードを保持するとともに当該参照ワードと前記検索ワードとの一致判断を行うワード回路であって、請求項1ないし9のいずれかの論理演算回路を並列および/または直列に配置して前記参照ワードの保持および前記一致判断を行うよう構成したワード回路と、
を備えた論理演算装置。 - 請求項11の論理演算装置において、
前記ワード回路は、前記参照ワードを構成する各ビットについてそれぞれ直列に接続された一対の前記論理演算回路を用いて前記参照ワードのビット値とこれに対応する前記検索ワードのビット値との排他的論理和の否定に対応する論理値を算出し、前記各一対の論理演算回路の出力を全て並列に接続することによりビットごとに算出された前記排他的論理和の否定に対応する論理値全体の論理積に対応する論理値を算出し、算出された前記論理積に対応する論理値を当該ワード回路の一致判断出力とするよう構成されたこと、
を特徴とするもの。 - 検索対象である検索ワードを保持する検索ワード保持部と、
参照対象である参照ワードを保持するとともに当該参照ワードと前記検索ワードとの大小比較判断を行うワード回路であって、請求項1ないし9のいずれかの論理演算回路を並列および/または直列に配置して前記参照ワードの保持および前記大小比較判断を行うよう構成したワード回路と、
を備えた論理演算装置。 - 請求項13の論理演算装置において、
前記ワード回路は、複数の前記論理演算回路を用いて、前記検索ワードを構成するビットのうち少なくとも1つの着目ビットのビット値が、これに対応する前記参照ワードのビットのビット値より大きく、かつ、前記検索ワードを構成するビットのうち前記着目ビットより上位の各ビットのビット値が、これらに対応する前記参照ワードの各ビットのビット値と、それぞれ等しい場合に、前記検索ワードが前記参照ワードより大きいとの比較判断出力を生成するよう構成されたこと、
を特徴とするもの。 - 2個以上の2進数の加算を行う論理演算装置であって、請求項1ないし9のいずれかの論理演算回路を直列および/または並列に配置して前記加算を行うよう構成した論理演算装置。
- 請求項15の論理演算装置において、
前記論理演算は、被加算数および加算数の加算を含み、
前記論理演算装置は、前記被加算数および加算数の加算結果を算出する加算結果算出部と、当該加算における桁上げ情報を算出する桁上げ情報算出部と、を備え、
前記加算結果算出部は、複数の前記論理演算回路を用いて、前記被加算数、加算数および前ビットからの前記桁上げ情報に基づいて前記加算結果を算出し、算出された前記加算結果を当該加算結果算出部の出力とするよう構成され、
前記桁上げ情報算出部は、複数の前記論理演算回路を用いて、前記被加算数、加算数および前ビットからの前記桁上げ情報に基づいて、当該ビットにおける桁上げ情報を算出し、算出された前記桁上げ情報を当該桁上げ情報算出部の出力とするよう構成されたこと、
を特徴とするもの。 - 論理演算を複数のステージに分割して順次連続的に実行する論理演算装置であって、請求項1ないし9のいずれかの論理演算回路を直列および/または並列に配置して前記論理演算を行うよう構成した論理演算装置。
- 請求項15の論理演算装置において、
前記論理演算は、ともに符号付き2進数である被加算数および加算数の加算を含み、
前記論理演算装置は、
前記論理演算回路を用いて、前記被加算数および加算数に対応する2個の2進数を算出して記憶する動作を含む第1ステージの演算を行う第1ステージ演算部と、
並列に接続された一対の前記論理演算回路を用いて、前記2個の2進数の排他的論理和に対応する1個の2進数を第1の加算結果として算出して記憶する動作と、前記論理演算回路を用いて、前記被加算数および加算数に基づいて算出された当該ビットにおける第1の桁上げ情報を記憶する動作と、を含む第2ステージの演算を、前記第1ステージの演算に続いて行う第2ステージ演算部と、
並列に接続された他の一対の前記論理演算回路を用いて、前記第1の加算結果と前ビットからの前記第1の桁上げ情報との排他的論理和に対応する1個の2進数を第2の加算結果として算出して記憶する動作と、前記論理演算回路を用いて、前記被加算数、加算数および前記前ビットからの第1の桁上げ情報に基づいて当該ビットにおける第2の桁上げ情報を算出して記憶する動作と、を含む第3ステージの演算を、前記第2ステージの演算に続いて行う第3ステージ演算部と、
前記論理演算回路を用いて、前記第2の加算結果および前ビットからの前記第2の桁上げ情報に基づいて当該論理演算装置の加算結果としての符号付き2進数を算出して記憶する動作を含む第4ステージの演算を、前記第3ステージの演算に続いて行う第4ステージ演算部と、
を備えたことを特徴とするもの。 - 2個の2進数の乗算を複数のレベルに分割して順次連続的に実行する論理演算装置であって、
被乗数と乗数との部分積に対応する符号付き部分積を生成する部分積生成部と、
請求項18の論理演算装置を要素演算装置として複数個用意し、当該要素演算装置を前記各レベルに対応させて複数段に配置し、前記符号付き部分積および/または前段の加算結果を入力として順次各段の加算を実行することで前記被乗数と乗数との積に対応する符号付き2進数を得る加算部と、
を備えた論理演算装置。 - 請求項19の論理演算装置において、
前記部分積生成部は、前記被乗数と乗数とに基づいて当該乗数のビット数の略1/4の個数の符号付き部分積を生成し、
前記加算部は、複数の前記要素演算装置を並列に接続することにより2つの前記符号付き部分積の加算が可能となるよう構成された加算ユニットを、各レベルの演算を行う各レベル演算部に1個以上配置するよう構成され、
第1レベルの演算を行う第1レベル演算部は、並列に配置された複数の前記加算ユニットを用いて、前記符号付き部分積を入力とする加算を行うことで、前記部分積生成部において生成された符号付き部分積の総個数の実質的に1/2の個数の第1レベルの加算結果を算出して記憶する動作を実行し、
中間レベルの演算を行う各中間レベル演算部は、並列に配置された複数の前記加算ユニットを用いて、前レベルの加算結果を入力とする加算を行うことで、前レベルの実質的に1/2の個数の中間レベルの加算結果を算出して記憶する動作を実行し、
最終レベルの演算を行う最終レベル演算部は、1個の前記加算ユニットを用いて、前レベルの加算結果を入力とする加算を行うことで、1個の最終レベルの加算結果を算出するとともに、算出された最終レベルの加算結果を前記被乗数と乗数との積に対応する符号付き2進数として記憶する動作を実行すること、
を特徴とするもの。 - 請求項15の論理演算装置において、
前記論理演算は、被加算数、加算数および下位ビットからの桁上げ、の3個の2進数の加算を含み、
前記論理演算装置は、
並列に接続された一対の前記論理演算回路を用いて前記3個の2進数のうち2個の2進数に対応する2進数の排他的論理和に対応する2進数を第1の加算結果として算出して記憶する動作を含む第1加算ステージの演算を行う第1加算ステージ演算部と、
並列に接続された他の一対の前記論理演算回路を用いて前記第1の加算結果と前記3個の2進数のうち残りの1つの2進数に対応する2進数との排他的論理和に対応する2進数に対応する2進数を第2の加算結果として算出して記憶するとともに当該第2の加算結果を当該論理演算装置の加算結果として出力する動作と、複数の前記論理演算回路を用いて前記3個の2進数に基づいて前記3個の2進数の加算における桁上げを出力する動作と、を含む第2加算ステージの演算を、前記第1加算ステージの演算に続いて行う第2加算ステージ演算部と、
を備えたことを特徴とするもの。 - 2個の2進数の乗算を複数のレベルに分割して順次連続的に実行する論理演算装置であって、
被乗数と乗数との部分積を生成する部分積生成部と、
請求項21の論理演算装置を要素演算装置として複数個用意し、当該要素演算装置を前記各レベルに対応させて複数段に配置し、前記部分積および/または前段の加算結果を入力として順次各段の加算を実行することで演算結果を得る加算部と、
を備えた論理演算装置。 - 請求項22の論理演算装置において、
前記複数のレベルは、少なくとも乗数のビット数に相当する数のレベルであり、
前記部分積生成部は、各レベルの演算を行う各レベル演算部にそれぞれ配置された要素部分積生成部により構成され、
前記加算部は、少なくとも第2レベル以後の演算を行う各レベル演算部にそれぞれ配置された前記要素演算装置により構成され、
少なくとも第2レベル以後の演算を行う各レベル演算部は、
被乗数を構成する各ビットのうち現在の演算対象となっている1つのビットを演算対象被乗数ビットとして記憶する動作を含む第1ステージの演算を行う第1ステージ演算部と、
前記要素部分積生成部を用いて、前記演算対象被乗数ビットと、乗数を構成する各ビットのうち当該レベルに対応するビットとの論理積を、当該演算対象被乗数ビットの当該レベルにおける要素部分積として算出して記憶する動作を含む第2ステージの演算を、前記第1ステージの演算に続いて行う第2ステージ演算部と、
前記要素演算装置を用いて、当該レベルにおける要素部分積、前レベルにおける部分積、および当該演算対象被乗数ビットの前のビットについての当該レベルにおける桁上げ、の3つの2進数の和を算出して当該演算対象被乗数ビットの当該レベルにおける部分積として記憶するとともに、この加算の際に生じた桁上げを当該演算対象被乗数ビットの当該レベルにおける桁上げとして記憶する動作と、を含む第3および第4ステージの演算を、前記第2ステージの演算に続いて行う第3および第4ステージ演算部と、
を備えたことを特徴とするもの。 - 所定の論理演算子についての第1および第2の被演算データの論理演算を行う論理演算方法であって、
前記第1の被演算データに対応する不揮発的状態を保持する不揮発性記憶素子であって、第1および第2の端子を有する不揮発性記憶素子と、前記第1の被演算データによって異なる状態変化率の不揮発的状態を保持する不揮発性負荷素子であって、結合ノードにおいて前記不揮発性記憶素子の第1の端子に接続される第3の端子と、第4の端子と、を有する不揮発性負荷素子と、を用意する書き込みステップと、
前記不揮発性負荷素子の第4の端子を所定の基準電位に接続するとともに前記不揮発性記憶素子の第2の端子に第2の被演算データを付与することにより得られる当該不揮発性記憶素子および前記不揮発性負荷素子双方の状態変化量に基づいて、前記論理演算を行う読み出しステップと、
を備えた論理演算方法。 - 請求項24の論理演算方法において、
前記所定の基準電位は、2以上の異なる論理演算子に対応する2以上の異なる基準電位から選択可能に構成され、
前記読み出しステップは、
前記選択された所定の基準電位を、前記不揮発性負荷素子の第4の端子および前記結合ノードに付与するステップと、
前記所定の基準電位の、前記不揮発性負荷素子の第4の端子への付与を維持しつつ前記結合ノードへの付与を停止し、その状態で前記不揮発性記憶素子の第2の端子に第2の被演算データを付与するステップと、を備えたこと、
を特徴とするもの。 - 請求項24ないし25のいずれかの論理演算方法において、
前記書き込みステップは、
前記結合ノードに第3の被演算データを付与するとともに前記不揮発性記憶素子の第2の端子および前記不揮発性負荷素子の第4の端子に第4の被演算データを付与することにより、前記付与された第3および第4の被演算データと、当該第3および第4の被演算データが付与される前の前記不揮発性記憶素子および不揮発性負荷素子の不揮発的状態とにより、前記第1の被演算データに対応する前記不揮発性記憶素子および不揮発性負荷素子の新たな不揮発的状態を決定するよう構成されたこと、
を特徴とするもの。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003029165A JP4177131B2 (ja) | 2003-02-06 | 2003-02-06 | 論理演算回路、論理演算装置および論理演算方法 |
EP04707317A EP1591885A1 (en) | 2003-02-06 | 2004-02-02 | Logical calculation circuit, logical calculation device, and logical calculation method |
CNB200480003727XA CN100465875C (zh) | 2003-02-06 | 2004-02-02 | 逻辑运算电路、逻辑运算装置和逻辑运算方法 |
PCT/JP2004/001021 WO2004070609A1 (ja) | 2003-02-06 | 2004-02-02 | 論理演算回路、論理演算装置および論理演算方法 |
US10/543,356 US7464131B2 (en) | 2003-02-06 | 2004-02-02 | Logical calculation circuit, logical calculation device, and logical calculation method |
TW093102527A TW200416731A (en) | 2003-02-06 | 2004-02-04 | Logical operation circuit, logical operation device and logical operation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003029165A JP4177131B2 (ja) | 2003-02-06 | 2003-02-06 | 論理演算回路、論理演算装置および論理演算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004264896A true JP2004264896A (ja) | 2004-09-24 |
JP4177131B2 JP4177131B2 (ja) | 2008-11-05 |
Family
ID=32844228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003029165A Expired - Fee Related JP4177131B2 (ja) | 2003-02-06 | 2003-02-06 | 論理演算回路、論理演算装置および論理演算方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7464131B2 (ja) |
EP (1) | EP1591885A1 (ja) |
JP (1) | JP4177131B2 (ja) |
CN (1) | CN100465875C (ja) |
TW (1) | TW200416731A (ja) |
WO (1) | WO2004070609A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8130582B2 (en) | 2008-02-20 | 2012-03-06 | Renesas Electronics Corporation | Semiconductor signal processing device |
US8305792B2 (en) | 2006-02-13 | 2012-11-06 | Rohm Co., Ltd. | Computation processing circuit using ferroelectric capacitor |
WO2022064303A1 (ja) * | 2020-09-22 | 2022-03-31 | 株式会社半導体エネルギー研究所 | 半導体装置、及び電子機器 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4837149B1 (ja) | 2010-05-11 | 2011-12-14 | パナソニック株式会社 | 不揮発論理回路を駆動する方法 |
CN102742160B (zh) | 2010-05-11 | 2014-12-17 | 松下电器产业株式会社 | 驱动非易失性逻辑电路的方法 |
WO2012029211A1 (ja) | 2010-09-02 | 2012-03-08 | パナソニック株式会社 | 不揮発性論理回路を駆動する方法 |
US8427202B2 (en) | 2010-11-04 | 2013-04-23 | Panasonic Corporation | Nonvolatile logic circuit and a method for operating the same |
JP6652472B2 (ja) * | 2016-09-20 | 2020-02-26 | キオクシア株式会社 | メモリシステムおよび制御方法 |
WO2018069785A1 (en) * | 2016-10-12 | 2018-04-19 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and system using the same |
TWI715068B (zh) * | 2018-07-17 | 2021-01-01 | 日商索尼股份有限公司 | 運算裝置、積和運算裝置、積和運算電路及積和運算系統 |
CN110364203B (zh) * | 2019-06-20 | 2021-01-05 | 中山大学 | 一种支撑存储内计算的存储系统及计算方法 |
CN111158635B (zh) * | 2019-12-27 | 2021-11-19 | 浙江大学 | 一种基于FeFET的非易失性低功耗乘法器及其运行方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4873664A (en) | 1987-02-12 | 1989-10-10 | Ramtron Corporation | Self restoring ferroelectric memory |
US5198706A (en) * | 1991-10-15 | 1993-03-30 | National Semiconductor | Ferroelectric programming cell for configurable logic |
JP3672954B2 (ja) * | 1994-12-26 | 2005-07-20 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
US5764561A (en) * | 1995-11-16 | 1998-06-09 | Rohm Co., Ltd. | Ferroelectric memory devices and method of using ferroelectric capacitors |
US6141237A (en) * | 1999-07-12 | 2000-10-31 | Ramtron International Corporation | Ferroelectric non-volatile latch circuits |
JP2003140883A (ja) * | 2001-11-05 | 2003-05-16 | Matsushita Electric Ind Co Ltd | 関数演算装置 |
WO2004107350A1 (ja) * | 2003-05-27 | 2004-12-09 | Fujitsu Limited | 強誘電体メモリ |
JP3853766B2 (ja) * | 2003-07-25 | 2006-12-06 | ローム株式会社 | 論理演算回路および論理演算装置 |
US20050190597A1 (en) * | 2004-02-27 | 2005-09-01 | Yoshihisa Kato | Semiconductor device |
JP2006100991A (ja) * | 2004-09-28 | 2006-04-13 | Matsushita Electric Ind Co Ltd | 不揮発性論理回路及びそれを有するシステムlsi |
-
2003
- 2003-02-06 JP JP2003029165A patent/JP4177131B2/ja not_active Expired - Fee Related
-
2004
- 2004-02-02 US US10/543,356 patent/US7464131B2/en not_active Expired - Fee Related
- 2004-02-02 WO PCT/JP2004/001021 patent/WO2004070609A1/ja active Application Filing
- 2004-02-02 EP EP04707317A patent/EP1591885A1/en not_active Withdrawn
- 2004-02-02 CN CNB200480003727XA patent/CN100465875C/zh not_active Expired - Fee Related
- 2004-02-04 TW TW093102527A patent/TW200416731A/zh unknown
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8305792B2 (en) | 2006-02-13 | 2012-11-06 | Rohm Co., Ltd. | Computation processing circuit using ferroelectric capacitor |
US8130582B2 (en) | 2008-02-20 | 2012-03-06 | Renesas Electronics Corporation | Semiconductor signal processing device |
US8274841B2 (en) | 2008-02-20 | 2012-09-25 | Renesas Electronics Corporation | Semiconductor signal processing device |
WO2022064303A1 (ja) * | 2020-09-22 | 2022-03-31 | 株式会社半導体エネルギー研究所 | 半導体装置、及び電子機器 |
Also Published As
Publication number | Publication date |
---|---|
TW200416731A (en) | 2004-09-01 |
CN1748199A (zh) | 2006-03-15 |
US20060139844A1 (en) | 2006-06-29 |
EP1591885A1 (en) | 2005-11-02 |
WO2004070609A1 (ja) | 2004-08-19 |
US7464131B2 (en) | 2008-12-09 |
JP4177131B2 (ja) | 2008-11-05 |
CN100465875C (zh) | 2009-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7428565B2 (en) | Logical operation circuit and logical operation device | |
US11205476B1 (en) | Read data processing circuits and methods associated with computational memory cells | |
KR101918871B1 (ko) | 대입 카운트를 결정하기 위한 장치들 및 방법들 | |
US10877731B1 (en) | Processing array device that performs one cycle full adder operation and bit line read/write logic features | |
US10930341B1 (en) | Processing array device that performs one cycle full adder operation and bit line read/write logic features | |
JP2004264896A (ja) | 論理演算回路、論理演算装置および論理演算方法 | |
CN116126779A (zh) | 一种9t存算电路、乘累加运算电路、存内运算电路及芯片 | |
Alam et al. | Exact stochastic computing multiplication in memristive memory | |
US10622034B2 (en) | Element value comparison in memory | |
TW202238593A (zh) | 具有三元啟動的記憶體內運算 | |
Eslami et al. | A flexible and reliable RRAM-based in-memory computing architecture for data-intensive applications | |
JP4105100B2 (ja) | 論理演算回路および論理演算方法 | |
TWI771014B (zh) | 記憶體電路及其操作方法 | |
TWI706414B (zh) | 記憶體內運算系統及其記憶體裝置 | |
US11354098B2 (en) | Configurable non-volatile arithmetic memory operators | |
JP3595565B2 (ja) | 半導体メモリセル回路およびメモリセルアレイ | |
US20220334800A1 (en) | Exact stochastic computing multiplication in memory | |
TWI815321B (zh) | 具有相關記憶體陣列的神經網路引擎 | |
CN113658623B (zh) | 一种可实现多操作数内存计算的铁电存储器阵列 | |
US11853596B2 (en) | Data sequencing circuit and method | |
US6374281B1 (en) | Adder | |
CN115712407A (zh) | 乘法累加器电路及由乘法累加器电路执行的方法 | |
US10043570B1 (en) | Signed element compare in memory | |
US7242599B2 (en) | Self-analyzing memory word | |
CN113609801A (zh) | 一种异步时序控制电路设计方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080513 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080709 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080819 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080821 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120829 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130829 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |