JP2019145196A - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP2019145196A JP2019145196A JP2018111265A JP2018111265A JP2019145196A JP 2019145196 A JP2019145196 A JP 2019145196A JP 2018111265 A JP2018111265 A JP 2018111265A JP 2018111265 A JP2018111265 A JP 2018111265A JP 2019145196 A JP2019145196 A JP 2019145196A
- Authority
- JP
- Japan
- Prior art keywords
- search
- potential
- data
- match
- line
- 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.)
- Pending
Links
Images
Landscapes
- Static Random-Access Memory (AREA)
Abstract
【課題】消費電力を低減することが可能な半導体装置を提供する。【解決手段】半導体装置は、行列状に配置された複数の検索メモリセルと、メモリセル行にそれぞれ対応して設けられ、検索メモリセルに格納されたデータと、検索データの一致/不一致を判定するための複数のマッチ線と、メモリセル行にそれぞれ対応して設けられる複数のサブ接地配線と、メモリセル行にそれぞれ対応して設けられ、マッチ線の電位を増幅する複数のアンプとを備える。複数のマッチ線および複数のサブ接地配線は、データ検索の前にそれぞれ第1の電位および第2の電位にプリチャージされる。マッチ線は、検索データの不一致の際に検索メモリセルを介して対応するサブ接地配線と電気的に接続されて第1の電位と第2の電位との間の中間電位に設定される。【選択図】図5
Description
この開示は、メモリセルを有する半導体装置に関する。
検索メモリまたはCAM(内容参照メモリ:Content Addressable Memory)と呼ばれる記憶装置は、記憶しているデータワードの中から検索ワードに一致しているものを検索し、一致しているデータワードが見つかった場合は、そのアドレスを出力するものである。
CAMにはBCAM(Binary CAM)とTCAM(Ternary CAM)とがある。BCAMの各メモリセルは“0”か“1”かのいずれかの情報を記憶する。一方、TCAMの場合には、各メモリセルは、“0”および“1”の他に“ドントケア(Don't Care)”(本例においては、“*”の記号を用いる)の情報を記憶可能である。“*”は“0”および“1”のどちらでも良いことを示す。
TCAM装置は、インターネットなどのネットワーク用のルータにおいてアドレス検索およびアクセス制御のために幅広く利用されている。大容量化に対応するために、TCAM装置は、通常、複数のアレイを有し、各アレイに対して同時にサーチ動作が実行される構成となっている。
TCAM装置は、検索データ(入力パケット)とTCAMセルデータとを一斉に比較することができるので、全ての検索用途においてRAM(Random Access Memory)を用いるよりも高速である(特許文献1および2)。
具体的には、TCAM装置は、メモリセルに格納した情報とユーザーが検索したいデータとを比較して、双方のデータが一致、不一致を示すためのマッチ線(ML)を有している。そして、一致したマッチ線に対応するアドレス情報(Hit Index)を出力する。
一方で、サーチ動作は不一致のマッチ線を低電位に設定するため消費電力が大きいという課題がある。
この点で、特許文献1および2に記載の方式では、サーチ動作の前にマッチ線の電位を充電する必要があるが、充放電の消費電力が大きい。
本開示は、上記の課題を解決するためになされたものであって、消費電力を低減することが可能な半導体装置を提供する。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
ある局面に従う半導体装置は、行列状に配置された複数の検索メモリセルと、メモリセル行にそれぞれ対応して設けられ、検索メモリセルに格納されたデータと、検索データの一致/不一致を判定するための複数のマッチ線と、メモリセル行にそれぞれ対応して設けられる複数のサブ接地配線と、メモリセル行にそれぞれ対応して設けられ、マッチ線の電位を増幅する複数のアンプとを備える。複数のマッチ線および複数のサブ接地配線は、データ検索の前にそれぞれ第1の電位および第2の電位にプリチャージされる。マッチ線は、検索データの不一致の際に検索メモリセルを介して対応するサブ接地配線と電気的に接続されて第1の電位と第2の電位との間の中間電位に設定される。
一実施例によれば、本開示の半導体装置は、データ検索の前に第1の電位と第2の電位との間の中間電位からプリチャージするため消費電力を低減することが可能である。
実施形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
(実施形態1)
<通信機器1の全体構成>
図1は、実施形態1に基づく通信機器1の構成を説明する図である。
<通信機器1の全体構成>
図1は、実施形態1に基づく通信機器1の構成を説明する図である。
図1に示されるように、通信機器1は、スイッチあるいはルータ等の通信装置である。
通信機器1は、CPU(Central Processing Unit)2と、転送制御回路4と、汎用メモリ6と、検索メモリ8とを含む。
通信機器1は、CPU(Central Processing Unit)2と、転送制御回路4と、汎用メモリ6と、検索メモリ8とを含む。
CPU2は、機器全体を制御する。
CPU2は、汎用メモリ6に格納されたプログラムと協働して種々の機能を実現する。たとえば、汎用メモリ6は、DRAM(Dynamic Random Access Memory)で構成することが可能であり、CPU2と協働することによりオペレーティングシステム(OS)を構築する。CPU2は、隣接する通信機器等と情報交換し、転送処理に必要な情報を維持管理する。
CPU2は、汎用メモリ6に格納されたプログラムと協働して種々の機能を実現する。たとえば、汎用メモリ6は、DRAM(Dynamic Random Access Memory)で構成することが可能であり、CPU2と協働することによりオペレーティングシステム(OS)を構築する。CPU2は、隣接する通信機器等と情報交換し、転送処理に必要な情報を維持管理する。
転送制御回路4は、通信パケットの転送処理を実行する。転送制御回路4は、転送処理に特化したASIC(Application Specific Integrated Circuit)回路あるいはNPU(Network Processing Unit)といった専用ハードウェアが設けられている。転送制御回路4は、検索メモリ8にアクセスして、転送処理に必要な情報を取得する。
検索メモリ8は、本例においては、TCAM装置を用いる場合について説明する。
[TCAMセルの構成]
図2は、TCAMセルの構成の一例を示す回路図である。
[TCAMセルの構成]
図2は、TCAMセルの構成の一例を示す回路図である。
図2を参照して、TCAMセル(メモリセルMCとも称する)は、2個のSRAMセル(Static Random Access Memory Cell)11,14と、データ比較部13とを含む。SRAMセル11をXセルとも称し、SRAMセル14をYセルとも称する。Xセル11は、内部の記憶ノード対ND1,ND1_nに互いに相補となる(一方が“1”のとき他方が“0”となる)1ビット(bit)のデータを記憶する。Yセル14は、内部の記憶ノード対ND2,ND2_nに互いに相補となる1ビットのデータを記憶する。TCAMセルは、検索メモリセルとも称する。
TCAMセルは、ビット線対BL,/BL、サーチ線対SL,/SL、マッチ線ML、およびワード線WLX,WLYと接続される。ビット線対BL,/BLは、図6のTCAMセルアレイ20の列方向(Y方向)に延在し、列方向に配列された複数のTCAMセルによって共有される。サーチ線対SL,/SLは、TCAMセルアレイ20の列方向(Y方向)に延在し、列方向に配列された複数のTCAMセルによって共有される。
マッチ線MLは、TCAMセルアレイ20の行方向(X方向)に延在し、行方向に配列された複数のTCAMセルによって共有される。ワード線WLX,WLYは、TCAMセルアレイ20の行方向(X方向)に延在し、行方向に配列された複数のTCAMセルによって共有される。
Xセル11は、インバータINV1,INV2と、NチャネルMOS(Metal Oxide Semiconductor)トランジスタQ1,Q2とを含む。インバータINV1は、記憶ノードND1_nから記憶ノードND1へ向かう方向が順方向となるように、記憶ノードND1と記憶ノードND1_nの間に接続される。インバータINV2は、INV1と並列かつ逆方向に接続される。MOSトランジスタQ1は、記憶ノードND1とビット線BLとの間に接続される。MOSトランジスタQ2は、記憶ノードND1_nとビット線/BLとの間に接続される。MOSトランジスタQ1,Q2のゲートは、ワード線WLXと接続される。
Yセル14は、インバータINV3,INV4と、MOS(Metal Oxide Semiconductor)トランジスタQ3,Q4とを含む。インバータINV3は、記憶ノードND2_nから記憶ノードND2に向かう方向が順方向となるように、記憶ノードND2と記憶ノードND2_nの間に接続される。インバータINV4は、INV3と並列かつ逆方向に接続される。MOSトランジスタQ3は、記憶ノードND2とビット線BLとの間に接続される。MOSトランジスタQ4は、記憶ノードND2_nとビット線/BLとの間に接続される。MOSトランジスタQ3,Q4のゲートは、ワード線WLYと接続される。
データ比較部13は、NチャネルMOSトランジスタQ6〜Q9を含む。MOSトランジスタQ6,Q7はマッチ線MLとの接続点であるノードND3と接地電位に設定されているサブ接地配線MVSSとの間に直列に接続される。MOSトランジスタQ8,Q9は、ノードND3と接地電位に設定されているサブ接地配線MVSSとの間に直列に、かつ、直列接続されたMOSトランジスタQ6,Q7の全体と並列に接続される。MOSトランジスタQ6,Q8のゲートは、記憶ノードND1,ND2とそれぞれ接続される。MOSトランジスタQ7,Q9のゲートは、サーチ線SL,/SLとそれぞれ接続される。
図3は、図2のXセルおよびYセルの記憶内容とTCAMデータとの対応関係を表形式で示す図である。
図2および図3を参照して、TCAMセルは、2ビットのSRAMセルを用いて、“0”、“1”、“*”(ドントケア:don't care)の3値を格納することができる。具体的に、Xセル11の記憶ノードND1に“1”が格納され、Yセル14の記憶ノードND2に“0”が格納されているとき、TCAMセルには“0”が格納されているとする。Xセル11の記憶ノードND1に“0”が格納され、Yセル14の記憶ノードND2に“1”が格納されているとき、TCAMセルには“1”が格納されているとする。Xセル11の記憶ノードND1に“0”が格納され、Yセル14の記憶ノードND2に“0”が格納されているとき、TCAMセルには“*”(ドントケア)が格納されているとする。Xセル11の記憶ノードND1に“1”が格納され、Yセル14の記憶ノードND2に“1”が格納されている場合は使用しない。
上記のTCAMセルの構成について説明する。
検索データが“1”(すなわち、サーチ線SLが“1”、かつ、サーチ線/SLが“0”)であり、TCAMデータが“0”(記憶ノードND1が“1”、かつ、記憶ノードND2が“0”)である場合には、MOSトランジスタQ6,Q7がオン状態となるために、サブ接地配線MVSSと接続されプリチャージされたマッチ線MLの電位が接地電位側に低下する。検索データが“0”(すなわち、サーチ線SLが“0”、かつ、サーチ線/SLが“1”)であり、TCAMデータが“1”(記憶ノードND1が“0”、かつ、記憶ノードND2が“1”)である場合には、MOSトランジスタQ8,Q9がオン状態となるために、サブ接地配線MVSSと接続されプリチャージされたマッチ線MLの電位が接地電位側に低下する。すなわち、検索データとTCAMデータとが不一致の場合には、マッチ線MLの電位は接地電位側に低下する。
検索データが“1”(すなわち、サーチ線SLが“1”、かつ、サーチ線/SLが“0”)であり、TCAMデータが“0”(記憶ノードND1が“1”、かつ、記憶ノードND2が“0”)である場合には、MOSトランジスタQ6,Q7がオン状態となるために、サブ接地配線MVSSと接続されプリチャージされたマッチ線MLの電位が接地電位側に低下する。検索データが“0”(すなわち、サーチ線SLが“0”、かつ、サーチ線/SLが“1”)であり、TCAMデータが“1”(記憶ノードND1が“0”、かつ、記憶ノードND2が“1”)である場合には、MOSトランジスタQ8,Q9がオン状態となるために、サブ接地配線MVSSと接続されプリチャージされたマッチ線MLの電位が接地電位側に低下する。すなわち、検索データとTCAMデータとが不一致の場合には、マッチ線MLの電位は接地電位側に低下する。
逆に、入力された検索データが“1”であり、かつ、TCAMデータが“1”または“*”の場合、もしくは、検索データが“0”であり、かつ、TCAMデータが“0”または“*”の場合(すなわち、両者が一致する場合)、プリチャージされたマッチ線MLの電位(電源電圧VDDレベル)は維持される。
上記のように、TCAMでは、1つのエントリ(行)に対応するマッチ線MLに接続された全てのTCAMセルのデータが検索データと一致しない限り、マッチ線MLに蓄えられた電荷が引き抜かれる。このため、TCAMでの検索は高速であるが、消費電流が大きいという問題がある。
図4は、実施形態1に基づく検索メモリ8に含まれるセグメント(サブブロック)12の構成を説明する図である。
図4に示されるように、セグメント12は、TCAMセルアレイ20(単にセルアレイとも称する)と、書込ドライバ群21と、サーチ線ドライバ群22と、マッチアンプ部23と、制御論理回路24とを含む。
セグメント12は、図示していないがワード線WLX,WLYを駆動するためのワード線ドライバ(不図示)と、制御信号やアドレス信号等の入力を受ける入出力回路(不図示)とを含む。
TCAMセルアレイ20は、行列状(m行;k列)に配列されたTCAMセルを含む。本例においては、セルアレイ20は、行数(エントリ数)mが256であり、列数(ビット数)kが40の場合が示されている。なお、セルアレイ20は、少なくとも1つ以上の冗長メモリセル列を有している。
セルアレイ20の各列に対応して、k個(k=32)のビット線対(BL0,/BL0からBL(k−1),/BL(k−1)まで)と、k個(k=32)のサーチ線対(SL0,/SL0からSL(k−1),/SL(k−1)まで)とが設けられる。
セルアレイ20の各行に対応して、m本(m=256)のマッチ線(ML0〜ML(N−1)まで)と、図示しないm本のXセル用のワード線(WLX0〜WLX(N−1)まで)と、図示しないm本のYセル用のワード線(WLY0〜WLY(N−1)まで)とが設けられている。また、本例においては、マッチ線と平行に接地電位と接続されるサブ接地配線MVSSが設けられている。サブ接地配線MVSS0〜MVSS255が設けられている。
書込ドライバ群21は、書込時に、ビット線対BL,/BLを介して各TCAMセルに書込データを供給する。サーチ線ドライバ群22は、サーチ動作時に、サーチ線対SL,/SLを介して各TCAMセルに検索データを供給する。
制御論理回路24は、セグメント12全体の動作を制御する。たとえば、制御論理回路24は、サーチ動作時には、サーチコマンドを受け取り、サーチ線ドライバ群22と、マッチアンプ部23に制御信号を出力することによって、サーチ線ドライバ群22、マッチアンプ部23、およびプリチャージ回路の動作を制御する。
マッチアンプ部23は、セルアレイの行にそれぞれ対応する複数のマッチアンプMAを含む。マッチアンプMAは、サーチ動作時に、対応するマッチ線MLの電位に基づいて、対応するTCAMセルデータと検索データの対応部分とが一致するか否かを検出する。この実施形態では、マッチアンプ部23は、サーチ動作前に対応するマッチ線MLをプリチャージするためのプリチャージ回路を含む。
図5は、実施形態1に基づくプリチャージ回路の構成について説明する図である。
図5に示されるように、マッチ線ML,サブ接地配線MVSSに対応してそれぞれプリチャージ回路が設けられる。
図5に示されるように、マッチ線ML,サブ接地配線MVSSに対応してそれぞれプリチャージ回路が設けられる。
具体的には、マッチ線MLに対応してPチャネルMOSトランジスタ30が設けられる。
PチャネルMOSトランジスタ30は、電源電圧VDDとマッチ線MLとの間に設けられ、そのゲートは制御信号PCの入力を受ける。
サブ接地配線MVSSに対応してNチャネルMOSトランジスタ31が設けられる。
NチャネルMOSトランジスタ31は、接地電圧VSSとサブ接地配線MVSSとの間に設けられ、そのゲートは制御信号/PCの入力を受ける。制御信号/PCは、制御信号PCを反転した信号(相補信号)である。
NチャネルMOSトランジスタ31は、接地電圧VSSとサブ接地配線MVSSとの間に設けられ、そのゲートは制御信号/PCの入力を受ける。制御信号/PCは、制御信号PCを反転した信号(相補信号)である。
例えば、サーチ動作前において、制御信号PC,/PCは、「L」レベル、「H」レベルに設定される。
制御信号PCが「L」レベル、制御信号/PCが「H」レベルの場合にプリチャージされる。
マッチ線MLは、電源電圧VDDと接続される。また、サブ接地配線MVSSは、接地電圧VSSと接続される。すなわち、マッチ線MLは、第1の電位にプリチャージされ、サブ接地配線MVSSは、第2の電位にプリチャージされる。
一方、サーチ動作時において、制御信号PCは「H」レベル、制御信号/PCは「L」レベルに設定される。これにより、PチャネルMOSトランジスタ30はオフする。また、NチャネルMOSトランジスタ31は、オフする。
したがって、マッチ線MLおよびサブ接地配線MVSSは、開放状態(オープン状態)に設定される。
図6は、実施形態1に基づくマッチ線の電位について説明する図である。
図6に示されるように、時刻T1よりも前においては、制御信号PCは「L」レベルに設定されている。
図6に示されるように、時刻T1よりも前においては、制御信号PCは「L」レベルに設定されている。
したがって、マッチ線MLは、電源電圧VDDと接続され、サブ接地配線MVSSは、接地電圧VSSと接続されている。
マッチ線MLと、サブ接地配線MVSSは、プリチャージされている。
時刻T1において、制御信号PCは、「L」レベルから「H」レベルに設定される。これによりサーチ線対SL,/SLに従ってサーチ動作が実行される。
時刻T1において、制御信号PCは、「L」レベルから「H」レベルに設定される。これによりサーチ線対SL,/SLに従ってサーチ動作が実行される。
本例においては、一例としてサーチ動作時において検索データが不一致とする。
この場合、マッチ線MLとサブ接地配線MVSSとが電気的に接続される。したがって、マッチ線MLとサブ接地配線MVSSとは、第1の電位と第2の電位との間の中間電位に設定される。一方、サーチ動作時において検索データが一致の場合にはマッチ線MLは第1の電位に維持される。したがって、これにより検索データが一致あるいは不一致かを判別することが可能である。
この場合、マッチ線MLとサブ接地配線MVSSとが電気的に接続される。したがって、マッチ線MLとサブ接地配線MVSSとは、第1の電位と第2の電位との間の中間電位に設定される。一方、サーチ動作時において検索データが一致の場合にはマッチ線MLは第1の電位に維持される。したがって、これにより検索データが一致あるいは不一致かを判別することが可能である。
そして、時刻T3において、制御信号PCは、「H」レベルから「L」レベルに設定される。
これに伴い、マッチ線MLは、電源電圧VDDと接続され、サブ接地配線MVSSは、接地電圧VSSと接続される。マッチ線MLと、サブ接地配線MVSSとは、プリチャージされる。
マッチ線MLは、第1の電位と第2の電位との間の中間電位からのプリチャージとなる。接地電圧VSSからのプリチャージではなく、中間電位からのプリチャージであるためマッチ線MLのプリチャージに要する消費電力を低減することが可能である。
サーチ動作の際、検索データの不一致により検索メモリ8のマッチ線MLの大部分がプリチャージする必要があるが、中間電位から電源電圧VDDへのプリチャージとなるため全体として大幅に消費電力を低減することが可能である。
(実施形態2)
図7は、実施形態2に基づくマッチアンプMAの回路構成について説明する図である。
図7は、実施形態2に基づくマッチアンプMAの回路構成について説明する図である。
図7を参照して、マッチアンプMAは、トランスファーゲート40,41と、センスアンプ50と、キャパシタ60と、ラッチ回路70とを含む。
マッチ線MLとセンスアンプ50の入力ノードCTMとの間にトランスファーゲート40が設けられる。
トランスファーゲート40は、制御信号SW,/SWに従って動作する。
基準電圧が供給される信号配線INITと入力ノードCBMとの間にトランスファーゲート41が設けられる。
基準電圧が供給される信号配線INITと入力ノードCBMとの間にトランスファーゲート41が設けられる。
トランスファーゲート41は、制御信号SW,/SWに従って動作する。
制御信号SW,/SWが「L」レベル、「H」レベルに設定される場合には、トランスファーゲート40,41がオンする。これにより、マッチ線MLと入力ノードCTMが接続される。また、信号配線INITと入力ノードCBMが接続される。
制御信号SW,/SWが「L」レベル、「H」レベルに設定される場合には、トランスファーゲート40,41がオンする。これにより、マッチ線MLと入力ノードCTMが接続される。また、信号配線INITと入力ノードCBMが接続される。
一方、制御信号SW,/SWが「H」レベル、「L」レベルに設定される場合には、トランスファーゲート40,41がオフする。これにより、マッチ線MLと入力ノードCTMとの間の電気的接続が接離される。また、信号配線INITと入力ノードCBMとの間の電気的接続が接離される。
センスアンプ50は、PチャネルMOSトランジスタ51〜53と、NチャネルMOSトランジスタ54〜56とを含む。
PチャネルMOSトランジスタ51は、電源電圧VDDと電源ノードN0との間に設けられ、そのゲートは、制御信号/SAEの入力を受ける。
PチャネルMOSトランジスタ52は、電源ノードN0と入力ノードCBMとの間に設けられ、そのゲートは入力ノードCTMと接続される。
PチャネルMOSトランジスタ53は、電源ノードN0と入力ノードCTMとの間に設けられ、そのゲートは入力ノードCBMと接続される。
NチャネルMOSトランジスタ56は、接地電圧VSSと接地ノードN1との間に設けられ、そのゲートは、制御信号SAEの入力を受ける。
NチャネルMOSトランジスタ54は、接地ノードN1と入力ノードCBMとの間に設けられ、そのゲートは入力ノードCTMと接続される。
NチャネルMOSトランジスタ55は、接地ノードN1と入力ノードCTMとの間に設けられ、そのゲートは入力ノードCBMと接続される。
制御信号SAE,/SAEが「H」レベル、「L」レベルに従ってセンスアンプ50はは活性化される。
制御信号SAE,/SAEが「L」レベル、「H」レベルに従ってセンスアンプ50は非活性化される。
センスアンプ50は、入力ノードCTMと入力ノードCBMとの電位差を増幅して増幅信号をラッチ回路70に出力する。
ラッチ回路70は、センスアンプ50により増幅された「L」レベルあるいは「H」レベルの信号をラッチしてデータMLOとして出力する。
データMLOが「H」レベルの場合には、検索データが一致であることを示す。
一方、データMLOが「L」レベルの場合には、検索データが不一致であることを示す。
一方、データMLOが「L」レベルの場合には、検索データが不一致であることを示す。
キャパシタ60は、入力ノードCBMと制御信号PUMPが入力される信号配線との間に設けられる。キャパシタ60の一端側は、入力ノードCBMと接続され、他端側は、制御信号PUMPが入力される信号配線と接続される。
キャパシタ60は、入力ノードCBMの電位を調整することが可能である。
図8は、実施形態2に基づくマッチアンプMAの動作について説明するタイミングチャート図である。
図8は、実施形態2に基づくマッチアンプMAの動作について説明するタイミングチャート図である。
検索データが不一致の場合について説明する。
図8に示されるように、時刻T10において、マッチ線MLの電位が低下する。また、制御信号SW,/SWが「L」レベル、「H」レベルに設定されている。したがって、マッチ線MLと入力ノードCTMが接続されている。また、信号配線INITと入力ノードCBMとが接続されている。ここで、初期状態において、信号配線INITには、電源電圧VDDが入力されている。
図8に示されるように、時刻T10において、マッチ線MLの電位が低下する。また、制御信号SW,/SWが「L」レベル、「H」レベルに設定されている。したがって、マッチ線MLと入力ノードCTMが接続されている。また、信号配線INITと入力ノードCBMとが接続されている。ここで、初期状態において、信号配線INITには、電源電圧VDDが入力されている。
したがって、マッチ線MLの電位の低下に従って、センスアンプ50の入力ノードCTMの電位が低下する。一方、入力ノードCBMの電位は維持される。
時刻T11において、制御信号SW,/SWが「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート40,41がオフする。
次に、時刻T12において、制御信号PUMPを駆動する。具体的には、信号配線に対して制御信号PUMPにより「H」レベルから「L」レベルに設定する。
これにより、入力ノードCBMの電位は所定の電位レベルに低下する。
次に、時刻T13において、制御信号SAE,/SAEが「H」レベル、「L」レベルに設定される。これに伴い、センスアンプ50が活性化される。
次に、時刻T13において、制御信号SAE,/SAEが「H」レベル、「L」レベルに設定される。これに伴い、センスアンプ50が活性化される。
センスアンプ50の活性化に従い入力ノードCTMと入力ノードCBMとの電位差が増幅されて、入力ノードCTMが接地電圧VSSの第2の電位、入力ノードCBMが電源電圧VDDの第1の電位に設定される。
時刻T14において、ラッチ回路70は、入力ノードCTMの電位に従い「L」レベルをデータMLOとして出力する。
検索データが一致の場合について説明する。
図8に示されるように、時刻T20において、マッチ線MLの電位は維持される。また、制御信号SW,/SWが「L」レベル、「H」レベルに設定されている。したがって、マッチ線MLと入力ノードCTMが接続されている。また、信号配線INITと入力ノードCBMとが接続されている。ここで、初期状態において、信号配線INITには、電源電圧VDDが入力されている。
図8に示されるように、時刻T20において、マッチ線MLの電位は維持される。また、制御信号SW,/SWが「L」レベル、「H」レベルに設定されている。したがって、マッチ線MLと入力ノードCTMが接続されている。また、信号配線INITと入力ノードCBMとが接続されている。ここで、初期状態において、信号配線INITには、電源電圧VDDが入力されている。
したがって、マッチ線MLの電位は維持されているためセンスアンプ50の入力ノードCTM,CBMの電位は第1の電位に設定される。
時刻T21において、制御信号SW,/SWが「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート40,41がオフする。
次に、時刻T22において、制御信号PUMPを駆動する。具体的には、信号配線に対して制御信号PUMPにより「H」レベルから「L」レベルに設定する。
これにより、入力ノードCBMの電位は所定の電位レベルに低下する。
次に、時刻T23において、制御信号SAE,/SAEが「H」レベル、「L」レベルに設定される。これに伴い、センスアンプ50が活性化される。
次に、時刻T23において、制御信号SAE,/SAEが「H」レベル、「L」レベルに設定される。これに伴い、センスアンプ50が活性化される。
センスアンプ50の活性化に従い入力ノードCTMと入力ノードCBMとの電位差が増幅されて、入力ノードCTMが電源電圧VDDの第1の電位、入力ノードCBMが接地電圧VSSの第2の電位に設定される。
時刻T24において、ラッチ回路70は、入力ノードCTMの電位に従い「H」レベルをデータMLOとして出力する。
実施形態2に従うセンスアンプ50は、比較対象となる入力ノードCBMの基準電位を制御信号PUMPにより簡易に調整することが可能である。具体的には、入力ノードCBMの基準電位の設定として初期状態として第1の電位に設定し、制御信号PUMPを駆動することにより第1の電位と第2の電位の間の中間電位に設定することが可能である。
比較対象となる基準電圧を生成する電圧生成回路を設ける必要がなく面積も縮小することが可能である。
なお、本実施形態2においては、入力ノードCBMの基準電位の設定として初期状態として第1の電位に設定し、制御信号PUMPを駆動することにより第1の電位と第2の電位の間の中間電位に設定する場合について説明した。
一方で、入力ノードCBMの基準電位の設定として初期状態として第2の電位に設定し、制御信号PUMPを駆動することにより第1の電位と第2の電位の間の中間電位に設定することも可能である。具体的には、信号配線INITに対して接地電圧VSSを入力し、制御信号PUMPを「L」レベルから「H」レベルに駆動することにより入力ノードCBMの基準電位を第2の電位から持ちあげて第1の電位と第2の電位の間の中間電位に設定することが可能である。
なお、実施形態2に従うマッチアンプMAは、検索データが不一致の場合にマッチ線MLの電位が第1の電位と第2の電位との間の中間電位に設定される場合のみならず、第2の電位に設定される場合にも同様に適用することが可能である。
(実施形態2の変形例1)
図9は、実施形態2の変形例1に基づくマッチアンプMAの回路構成について説明する図である。
図9は、実施形態2の変形例1に基づくマッチアンプMAの回路構成について説明する図である。
図9を参照して、図8で説明したマッチアンプMAの構成と比較して、キャパシタ60の代わりに、PチャネルMOSトランジスタ61と、NチャネルMOSトランジスタ62と、ドライバ回路とをさらに設けた点が異なる。また、ラッチ回路70について具体的な回路構成が示されている。その他の点については同様であるのでその詳細な説明については繰り返さない。
ラッチ回路70は、インバータ71〜73を含む。
インバータ72は、ノードMLNの信号を反転してインバータ71に出力する。インバータ71は、インバータ72の信号を反転してノードMLNに出力する。
インバータ72は、ノードMLNの信号を反転してインバータ71に出力する。インバータ71は、インバータ72の信号を反転してノードMLNに出力する。
インバータ71,72でラッチを形成する。
インバータ73は、ノードMLNの信号を反転してデータMLOとして出力する。
インバータ73は、ノードMLNの信号を反転してデータMLOとして出力する。
インバータ71は、制御信号SAE,/SAEの入力に従って動作する。
具体的には、制御信号SAE,/SAEが「L」レベル、「H」レベルの場合に活性化される。一方、制御信号SAE,/SAEが「H」レベル、「L」レベルの場合に非活性化される。
具体的には、制御信号SAE,/SAEが「L」レベル、「H」レベルの場合に活性化される。一方、制御信号SAE,/SAEが「H」レベル、「L」レベルの場合に非活性化される。
PチャネルMOSトランジスタ61は、制御信号PUMPが駆動される信号配線に並列にソースおよびドレインを接続する。そして、そのゲートは、入力ノードCBMと接続される。
NチャネルMOSトランジスタ62は、制御信号PUMPが駆動される信号配線に並列にソースおよびドレインを接続する。そして、そのゲートは、入力ノードCBMと接続される。
PチャネルMOSトランジスタ61およびNチャネルMOSトランジスタ62は、MOS容量として機能する。
これによりキャパシタを特別に設計する必要が無く回路面積を縮小することが可能である。
また、本例においては、ドライバ回路を設ける。具体的には、PチャネルMOSトランジスタ63,64と、NチャネルMOSトランジスタ65,66とを含む。
PチャネルMOSトランジスタ63,64は、電源電圧VDDとノードMLNとの間に直列に接続される。PチャネルMOSトランジスタ63のゲートは、制御信号/SAEの入力を受ける。PチャネルMOSトランジスタ64のゲートは入力ノードCTMと接続される。
NチャネルMOSトランジスタ65,66は、ノードMLNと接地電圧VSSとの間に直列に接続される。NチャネルMOSトランジスタ66のゲートは、制御信号SAEの入力を受ける。NチャネルMOSトランジスタ65のゲートは入力ノードCTMと接続される。
ドライバ回路は、制御信号SAE,/SAEの入力に従って活性化される。
具体的には、制御信号SAE,/SAEが「H」レベル、「L」レベルの場合に活性化される。すなわち、PチャネルMOSトランジスタ63と、NチャネルMOSトランジスタ66がオンする。
具体的には、制御信号SAE,/SAEが「H」レベル、「L」レベルの場合に活性化される。すなわち、PチャネルMOSトランジスタ63と、NチャネルMOSトランジスタ66がオンする。
一方、制御信号SAE,/SAEが「L」レベル、「H」レベルの場合に非活性化される。すなわち、PチャネルMOSトランジスタ63と、NチャネルMOSトランジスタ66がオフする。
当該構成において、センスアンプ50の入力ノードCTMに接続されるPチャネルMOSトランジスタと、NチャネルMOSトランジスタとの個数と、入力ノードCBMに接続されるPチャネルMOSトランジスタと、NチャネルMOSトランジスタとの個数は同じである。
これにより、センスアンプ50の入力ノードに接続されるトランジスタの個数が同じであり対称性が維持される。したがって、センスアンプ50の動作マージンを改善することが可能である。
図10は、実施形態2の変形例1に基づくMOSトランジスタのレイアウト構成を説明する図である。
本例においては、MOSトランジスタは、FinFETで形成される。
図10(A)を参照して、NチャネルMOSトランジスタは、P型基板(Psub)上に形成されたPウェル(PW)領域内に形成される。
図10(A)を参照して、NチャネルMOSトランジスタは、P型基板(Psub)上に形成されたPウェル(PW)領域内に形成される。
PチャネルMOSトランジスタは、Nウェル(NW)領域内に形成される。
Pウェル内にはN型(n+)の不純物領域(ソース領域およびドレイン領域)が形成される。フィン(fin)は、これらの不純物領域を連結するようにPウェル(Pwell)上に形成される。ソース領域とドレイン領域との間でフィン(fin)を跨ぐように、ゲート酸化膜を介在して、ゲートがポリシリコンによって形成される。ゲートの上部に金属配線層が形成される。ソース領域およびドレイン領域(n+)の上部には、ソース用の金属配線層およびドレイン用の金属配線層が形成される。ゲート用の金属配線層およびソース用およびドレイン用の金属配線層の各上部には、ビアをそれぞれ介して上層の金属配線層と接続される。
Pウェル内にはN型(n+)の不純物領域(ソース領域およびドレイン領域)が形成される。フィン(fin)は、これらの不純物領域を連結するようにPウェル(Pwell)上に形成される。ソース領域とドレイン領域との間でフィン(fin)を跨ぐように、ゲート酸化膜を介在して、ゲートがポリシリコンによって形成される。ゲートの上部に金属配線層が形成される。ソース領域およびドレイン領域(n+)の上部には、ソース用の金属配線層およびドレイン用の金属配線層が形成される。ゲート用の金属配線層およびソース用およびドレイン用の金属配線層の各上部には、ビアをそれぞれ介して上層の金属配線層と接続される。
以下、具体的に説明する。
NチャネルMOSトランジスタ65,66について説明する。
NチャネルMOSトランジスタ65,66について説明する。
Pウェル内に設けられた2本のフィンF1,F2を跨ぐようにポリシリコンP1〜P4が形成される。
ポリシリコンP2がNチャネルMOSトランジスタ66のゲートとして形成される。
ポリシリコンP3がNチャネルMOSトランジスタ65のゲートとして形成される。
ポリシリコンP3がNチャネルMOSトランジスタ65のゲートとして形成される。
NチャネルMOSトランジスタ66のソース領域としてメタルM0が設けられる。
メタルM0は、ビアV1を介して上層の金属配線層と接続される。
メタルM0は、ビアV1を介して上層の金属配線層と接続される。
NチャネルMOSトランジスタ66のドレイン領域およびNチャネルMOSトランジスタ65のソース領域はフィンF1,F2により連結されている。
NチャネルMOSトランジスタ65のドレイン領域としてメタルM1が設けられる。
メタルM1は、ビアV2を介して上層の金属配線層と接続される。
メタルM1は、ビアV2を介して上層の金属配線層と接続される。
NチャネルMOSトランジスタ66のポリシリコンP2は、メタルM2と接続され、ビアV3を介して上層の金属配線層と接続される。
PチャネルMOSトランジスタ63,64について説明する。
Nウェル内に設けられた2本のフィンF5,F6を跨ぐようにポリシリコンP2〜P5が形成される。ポリシリコンP2〜P4は、NチャネルMOSトランジスタ65,66と共通に形成される。
Nウェル内に設けられた2本のフィンF5,F6を跨ぐようにポリシリコンP2〜P5が形成される。ポリシリコンP2〜P4は、NチャネルMOSトランジスタ65,66と共通に形成される。
ポリシリコンP3がPチャネルMOSトランジスタ64のゲートとして形成される。
ポリシリコンP4がPチャネルMOSトランジスタ63のゲートとして形成される。
ポリシリコンP4がPチャネルMOSトランジスタ63のゲートとして形成される。
PチャネルMOSトランジスタ64のソース領域としてメタルM4が設けられる。
メタルM4は、ビアV5を介して上層の金属配線層と接続される。
メタルM4は、ビアV5を介して上層の金属配線層と接続される。
PチャネルMOSトランジスタ63のドレイン領域およびPチャネルMOSトランジスタ64のソース領域はフィンF5,F6により連結されている。
PチャネルMOSトランジスタ63のソース領域としてメタルM5が設けられる。
メタルM5は、ビアV6を介して上層の金属配線層と接続される。
メタルM5は、ビアV6を介して上層の金属配線層と接続される。
PチャネルMOSトランジスタ64のドレイン領域としてメタルM2が設けられる。
メタルM2は、ビアV5を介して上層の金属配線層と接続される。
メタルM2は、ビアV5を介して上層の金属配線層と接続される。
PチャネルMOSトランジスタ63のポリシリコンP4は、メタルM3と接続され、ビアV4を介して上層の金属配線層と接続される。
PチャネルMOSトランジスタ51〜53について説明する。
Nウェル内に設けられた2本のフィンF3,F4を跨ぐようにポリシリコンP6〜P8,P3が形成される。ポリシリコンP3は、NチャネルMOSトランジスタ65およびPチャネルMOSトランジスタ64と共通に形成される。
Nウェル内に設けられた2本のフィンF3,F4を跨ぐようにポリシリコンP6〜P8,P3が形成される。ポリシリコンP3は、NチャネルMOSトランジスタ65およびPチャネルMOSトランジスタ64と共通に形成される。
ポリシリコンP7,P8がPチャネルMOSトランジスタ51のゲートとして形成される。ポリシリコンP7,P8は、メタルM6により互いに接続される。メタルM6は、ビアV8を介して上層の金属配線層と接続される。
PチャネルMOSトランジスタ51のソース領域として2つのメタルM7,M9が設けられる。メタルM7は、ビアV7を介して上層の金属配線層と接続される。メタルM9は、ビアV10を介して上層の金属配線層と接続される。
PチャネルMOSトランジスタ51のドレイン領域としてメタルM8が設けられる。メタルM8は、ビアV9を介して上層の金属配線層と接続される。
Nウェル内に設けられた2本のフィンF7,F8を跨ぐようにポリシリコンP9,P10,P3,P11が形成される。ポリシリコンP3は、NチャネルMOSトランジスタ65およびPチャネルMOSトランジスタ64等と共通に形成される。
ポリシリコンP10がPチャネルMOSトランジスタ53のゲートとして形成される。
ポリシリコンP3がPチャネルMOSトランジスタ52のゲートとして形成される。
ポリシリコンP3がPチャネルMOSトランジスタ52のゲートとして形成される。
PチャネルMOSトランジスタ52,53のソース領域としてメタルM12が設けられる。メタルM12は、ビアV13を介して上層の金属配線層と接続される。
PチャネルMOSトランジスタ52のドレイン領域としてメタルM14が設けられる。メタルM14は、ビアV14を介して上層の金属配線層と接続される。
PチャネルMOSトランジスタ53のドレイン領域としてメタルM11が設けられる。メタルM11は、ビアV12を介して上層の金属配線層と接続される。
PチャネルMOSトランジスタ52のポリシリコンP3は、メタルM10と接続される。メタルM10は、ビアV11を介して上層の金属配線層と接続される。
NチャネルMOSトランジスタ54〜56について説明する。
Pウェル内に設けられた2本のフィンF9,F10を跨ぐようにポリシリコンP9,P10,P3,P11が形成される。ポリシリコンP9,P10,P3,P11は、PチャネルMOSトランジスタ52および53と共通に形成される。
Pウェル内に設けられた2本のフィンF9,F10を跨ぐようにポリシリコンP9,P10,P3,P11が形成される。ポリシリコンP9,P10,P3,P11は、PチャネルMOSトランジスタ52および53と共通に形成される。
ポリシリコンP10がNチャネルMOSトランジスタ55のゲートとして形成される。
ポリシリコンP11がNチャネルMOSトランジスタ54のゲートとして形成される。
ポリシリコンP11がNチャネルMOSトランジスタ54のゲートとして形成される。
NチャネルMOSトランジスタ54,55のソース領域としてメタルM13が設けられる。メタルM13は、ビアV16を介して上層の金属配線層と接続される。
NチャネルMOSトランジスタ54のドレイン領域としてメタルM14が設けられる。
PチャネルMOSトランジスタ52のドレイン領域とNチャネルMOSトランジスタ54のドレイン領域はメタルM14で共通に接続される。
PチャネルMOSトランジスタ52のドレイン領域とNチャネルMOSトランジスタ54のドレイン領域はメタルM14で共通に接続される。
NチャネルMOSトランジスタ55のドレイン領域としてメタルM11が設けられる。
PチャネルMOSトランジスタ53のドレイン領域とNチャネルMOSトランジスタ55のドレイン領域はメタルM11で共通に接続される。
PチャネルMOSトランジスタ53のドレイン領域とNチャネルMOSトランジスタ55のドレイン領域はメタルM11で共通に接続される。
ポリシリコンP10は、メタルM23と接続される。メタルM23は、ビア15を介して上層の金属配線層と接続される。
Pウェル内に設けられた2本のフィンF11,F12を跨ぐようにポリシリコンP10,P13,P14,P15が形成される。ポリシリコンP10は、NチャネルMOSトランジスタ55およびPチャネルMOSトランジスタ53と共通に形成される。
ポリシリコンP13,P14がNチャネルMOSトランジスタ56のゲートとして形成される。ポリシリコンP13,P14は、メタルM18により互いに接続される。メタルM18は、ビアV24を介して上層の金属配線層と接続される。
NチャネルMOSトランジスタ56のソース領域として2つのメタルM15,M17が設けられる。メタルM15は、ビアV17を介して上層の金属配線層と接続される。メタルM17は、ビアV19を介して上層の金属配線層と接続される。
NチャネルMOSトランジスタ56のドレイン領域としてメタルM16が設けられる。メタルM16は、ビアV18を介して上層の金属配線層と接続される。
Pウェル内に設けられた2本のフィンF13,F14を跨ぐようにポリシリコンP16P10,P17が形成される。
ポリシリコンP10は、NチャネルMOSトランジスタ55およびPチャネルMOSトランジスタ53と共通に形成される。
ポリシリコンP10は、NチャネルMOSトランジスタ62のゲートとして形成される。
NチャネルMOSトランジスタ62のソース領域としてメタルM20が設けられる。メタルM20は、ビアV21を介して上層の金属配線層と接続される。
NチャネルMOSトランジスタ62のドレイン領域としてメタルM19が設けられる。メタルM19は、ビアV20を介して上層の金属配線層と接続される。
Nウェル内に設けられた2本のフィンF15,F16を跨ぐようにポリシリコンP16,P10,P17が形成される。
ポリシリコンP16,P10,P17は、NチャネルMOSトランジスタ62と共通に形成される。
ポリシリコンP10は、PチャネルMOSトランジスタ61のゲートとして形成される。
PチャネルMOSトランジスタ61のソース領域としてメタルM22が設けられる。メタルM22は、ビアV23を介して上層の金属配線層と接続される。
PチャネルMOSトランジスタ61のドレイン領域としてメタルM21が設けられる。メタルM21は、ビアV22を介して上層の金属配線層と接続される。
図10(B)を参照して、2層目の金属配線層が示されている。
ビアV1を介してメタルM30は、メタルM0と接続される。
ビアV1を介してメタルM30は、メタルM0と接続される。
メタルM30は、さらに上層の金属配線層と接続されて接地電圧VSSの供給を受ける。
メタルM2は、ビアV3を介してメタルM31と接続される。メタルM31は、さらに上層の金属配線層と接続されて制御信号SAEの入力を受ける。
メタルM32は、ビアV2を介してメタルM1と接続される。
メタルM32は、ビアV5を介してメタルM4と接続される。
メタルM32は、ビアV5を介してメタルM4と接続される。
メタルM32によりPチャネルMOSトランジスタ64のドレイン領域およびNチャネルMOSトランジスタ65のドレイン領域とが電気的に結合される。このメタルM32がノードMLNを形成する。
メタルM33は、ビアV4を介してメタルM3と接続される。メタルM33は、さらに上層の金属配線層と接続されて制御信号/SAEの入力を受ける。
メタルM34は、ビアV6を介してメタルM5と接続される。
メタルM36は、ビアV7を介してメタルM7と接続される。
メタルM36は、ビアV7を介してメタルM7と接続される。
メタルM37は、ビアV10を介してメタルM9と接続される。メタルM34,M36,M37は、さらに上層の金属配線層と接続されて電源電圧VDDの供給を受ける。
メタルM35は、ビアV8を介してメタルM6と接続される。メタルM35は、さらに上層の金属配線層と接続されて制御信号SAEの入力を受ける。
メタルM38は、ビアV9を介してメタルM8と接続される。メタルM38は、ビアV13を介してメタルM12と接続される。メタルM38は、さらに上層の金属配線層と接続されてノードN0を形成する。
メタルM39は、ビアV11を介してメタルM10と接続される。メタルM39は、ビアV12を介してメタルM11と接続される。メタルM39は、さらに上層の金属配線層と接続されて入力ノードCTMを形成する。
メタルM40は、ビアV14を介してメタルM14と接続される。メタルM40は、ビアV16を介してメタルM23と接続される。メタルM40は、さらに上層の金属配線層と接続されて入力ノードCBMを形成する。
メタルM41は、ビアV15を介してメタルM13と接続される。メタルM41は、ビアV18を介してメタルM16と接続される。メタルM41は、さらに上層の金属配線層と接続されてノードN1を形成する。
メタルM42は、ビアV19を介してメタルM17と接続される。
メタルM43は、ビアV17を介してメタルM15と接続される。メタルM42,M43は、さらに上層の金属配線層と接続されて接地電圧VSSの供給を受ける。
メタルM43は、ビアV17を介してメタルM15と接続される。メタルM42,M43は、さらに上層の金属配線層と接続されて接地電圧VSSの供給を受ける。
メタルM44は、ビアV24を介してメタルM18と接続される。メタルM44は、さらに上層の金属配線層と接続されて制御信号SAEの入力を受ける。
メタルM45は、ビアV20を介してメタルM15と接続される。メタルM45は、ビアV21を介してメタルM20と接続される。メタルM45は、ビアV22を介してメタルM21と接続される。メタルM45は、ビアV23を介してメタルM22と接続される。
メタルM45は、さらに上層の金属配線層と接続されて制御信号PUMPの入力を受ける。
図10(C)を参照して、3層目および4層目の金属配線層が示されている。
メタルM53〜M55と、メタルM58〜63は3層目の金属配線層である。
メタルM53〜M55と、メタルM58〜63は3層目の金属配線層である。
具体的には、メタルM53は、制御信号/SAEが入力される信号配線である。当該信号配線と、メタルM33とが図示しないビアを介して接続される。
メタルM54は、制御信号SAEが入力される信号配線である。当該信号配線と、メタルM31とが図示しないビアを介して接続される。
メタルM55は、制御信号/SAEが入力される信号配線である。当該信号配線と、メタルM35とが図示しないビアを介して接続される。
メタルM58は、制御信号SAEが入力される信号配線である。当該信号配線と、メタルM44とが図示しないビアを介して接続される。
メタルM59は、制御信号PUMPが入力される信号配線である。当該信号配線と、メタルM45とが図示しないビアを介して接続される。
メタルM60は、接地電圧VSSが供給される信号配線である。当該信号配線と、メタルM42,M43とが図示しないビアを介して接続される。
メタルM61は、電源電圧VDDが供給される信号配線である。当該信号配線と、メタルM36,M37とが図示しないビアを介して接続される。
メタルM62は、電源電圧VDDが供給される信号配線である。当該信号配線と、メタルM34とが図示しないビアを介して接続される。
メタルM63は、接地電圧VSSが供給される信号配線である。当該信号配線と、メタルM30とが図示しないビアを介して接続される。
メタルM50〜M52と、M56,M57とは、4層目の金属配線層である。
メタルM50は、接地電圧VSSが供給される信号配線である。当該信号配線と、メタルM63とが図示しないビアを介して接続される。
メタルM50は、接地電圧VSSが供給される信号配線である。当該信号配線と、メタルM63とが図示しないビアを介して接続される。
メタルM51は、電源電圧VDDが供給される信号配線である。当該信号配線と、メタルM61,M62とが図示しないビアを介して接続される。
メタルM52は、接地電圧VSSが供給される信号配線である。当該信号配線と、メタルM60とが図示しないビアを介して接続される。
メタルM59は、制御信号PUMPが入力される信号配線である。当該信号配線と、メタルM45とが図示しないビアを介して接続される。
メタルM56は、図示しないビアを介してメタルM39と接続され入力ノードCTMを形成する。
メタルM57は、図示しないビアを介してメタルM40と接続され入力ノードCBMを形成する。
(実施形態2の変形例2)
図11は、実施形態2の変形例2に基づくマッチアンプMAの回路構成について説明する図である。
図11は、実施形態2の変形例2に基づくマッチアンプMAの回路構成について説明する図である。
図11を参照して、図8で説明したマッチアンプMAの構成と比較して、トランスファーゲート40に制御信号SW1,/SW1を入力し、トランスファーゲート41に制御信号SW2,/SW2を入力する点が異なる。その他の構成については同様であるのでその詳細な説明については繰り返さない。
図12は、実施形態2の変形例2に基づくマッチアンプMAの動作について説明するタイミングチャート図である。
検索データが不一致の場合について説明する。
図12に示されるように、時刻T30において、マッチ線MLの電位が低下する。また、制御信号SW1,/SW1が「L」レベル、「H」レベルに設定されている。したがって、トランスファーゲート40がオンしておりマッチ線MLと入力ノードCTMが接続されている。
図12に示されるように、時刻T30において、マッチ線MLの電位が低下する。また、制御信号SW1,/SW1が「L」レベル、「H」レベルに設定されている。したがって、トランスファーゲート40がオンしておりマッチ線MLと入力ノードCTMが接続されている。
したがって、マッチ線MLの電位の低下に従って、センスアンプ50の入力ノードCTMの電位が低下する。
時刻T31において、制御信号SW2,/SW2が「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート41がオフする。
初期状態において、信号配線INITには、電源電圧VDDが入力されている。したがって、トランスファーゲート41のオフにより、入力ノードCBMは開放状態に設定される。
そして、時刻T31において、制御信号PUMPを駆動する。具体的には、信号配線に対して制御信号PUMPにより「H」レベルから「L」レベルに設定する。
これにより、入力ノードCBMの電位は所定の電位レベルに低下する。
次に、時刻T32において、制御信号SW1,/SW1が「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート40がオフする。
次に、時刻T32において、制御信号SW1,/SW1が「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート40がオフする。
次に、時刻T33において、制御信号SAE,/SAEが「H」レベル、「L」レベルに設定される。これに伴い、センスアンプ50が活性化される。
センスアンプ50の活性化に従い入力ノードCTMと入力ノードCBMとの電位差が増幅されて、入力ノードCTMが接地電圧VSSの第2の電位、入力ノードCBMが電源電圧VDDの第1の電位に設定される。
時刻T34において、ラッチ回路70は、入力ノードCTMの電位に従い「L」レベルをデータMLOとして出力する。
検索データが一致の場合について説明する。
図12に示されるように、時刻T40において、マッチ線MLの電位は維持される。また、制御信号SW1,/SW1が「L」レベル、「H」レベルに設定されている。したがって、トランスファーゲート40がオンしておりマッチ線MLと入力ノードCTMが接続されている。
図12に示されるように、時刻T40において、マッチ線MLの電位は維持される。また、制御信号SW1,/SW1が「L」レベル、「H」レベルに設定されている。したがって、トランスファーゲート40がオンしておりマッチ線MLと入力ノードCTMが接続されている。
時刻T41において、制御信号SW2,/SW2が「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート41がオフする。
初期状態において、信号配線INITには、電源電圧VDDが入力されている。したがって、トランスファーゲート41のオフにより、入力ノードCBMは開放状態に設定される。
そして、時刻T41において、制御信号PUMPを駆動する。具体的には、信号配線に対して制御信号PUMPにより「H」レベルから「L」レベルに設定する。
これにより、入力ノードCBMの電位は所定の電位レベルに低下する。
次に、時刻T42において、制御信号SW1,/SW1が「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート40がオフする。
次に、時刻T42において、制御信号SW1,/SW1が「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート40がオフする。
次に、時刻T43において、制御信号SAE,/SAEが「H」レベル、「L」レベルに設定される。これに伴い、センスアンプ50が活性化される。
センスアンプ50の活性化に従い入力ノードCTMと入力ノードCBMとの電位差が増幅されて、入力ノードCTMが接地電圧VSSの第2の電位、入力ノードCBMが電源電圧VDDの第1の電位に設定される。
時刻T44において、ラッチ回路70は、入力ノードCTMの電位に従い「H」レベルをデータMLOとして出力する。
(実施形態3)
図13は、実施形態3に基づくマッチアンプMAの回路構成について説明する図である。
図13は、実施形態3に基づくマッチアンプMAの回路構成について説明する図である。
図13を参照して、図7で説明したマッチアンプMAの構成と比較して、信号配線INITをサブ接地配線MVSSに置換した点が異なる。その他の構成については同様であるのでその詳細な説明については繰り返さない。
図14は、実施形態3に基づくマッチアンプMAの動作について説明するタイミングチャート図である。
検索データが一致の場合について説明する。
図14に示されるように、時刻T50において、マッチ線MLの電位は維持される。また、制御信号SW,/SWが「L」レベル、「H」レベルに設定されている。したがって、トランスファーゲート40がオンしており、マッチ線MLと入力ノードCTMが接続されている。トランスファーゲート41がオンしており、サブ接地配線MVSSと入力ノードCBMとが接続されている。
図14に示されるように、時刻T50において、マッチ線MLの電位は維持される。また、制御信号SW,/SWが「L」レベル、「H」レベルに設定されている。したがって、トランスファーゲート40がオンしており、マッチ線MLと入力ノードCTMが接続されている。トランスファーゲート41がオンしており、サブ接地配線MVSSと入力ノードCBMとが接続されている。
この場合、サブ接地配線MVSSは、接地電圧VSSにプリチャージされている。
時刻T51において、制御信号SW,/SWが「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート40,41がオフする。
時刻T51において、制御信号SW,/SWが「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート40,41がオフする。
次に、時刻T52において、制御信号PUMPを駆動する。具体的には、信号配線に対して制御信号PUMPにより「L」レベルから「H」レベルに設定する。
これにより、入力ノードCBMの電位は所定の電位レベルに上昇する。
次に、時刻T53において、制御信号SAE,/SAEが「H」レベル、「L」レベルに設定される。これに伴い、センスアンプ50が活性化される。
次に、時刻T53において、制御信号SAE,/SAEが「H」レベル、「L」レベルに設定される。これに伴い、センスアンプ50が活性化される。
センスアンプ50の活性化に従い入力ノードCTMと入力ノードCBMとの電位差が増幅されて、入力ノードCTMが接地電圧VSSの第2の電位、入力ノードCBMが電源電圧VDDの第1の電位に設定される。
時刻T54において、ラッチ回路70は、入力ノードCTMの電位に従い「H」レベルをデータMLOとして出力する。
検索データが1ビット不一致の場合について説明する。
図14に示されるように、時刻T60において、マッチ線MLの電位が低下し始める。また、制御信号SW,/SWが「L」レベル、「H」レベルに設定されている。したがって、トランスファーゲート40がオンしておりマッチ線MLと入力ノードCTMが接続されている。トランスファーゲート41がオンしており、サブ接地配線MVSSと入力ノードCBMとが接続されている。
図14に示されるように、時刻T60において、マッチ線MLの電位が低下し始める。また、制御信号SW,/SWが「L」レベル、「H」レベルに設定されている。したがって、トランスファーゲート40がオンしておりマッチ線MLと入力ノードCTMが接続されている。トランスファーゲート41がオンしており、サブ接地配線MVSSと入力ノードCBMとが接続されている。
したがって、マッチ線MLの電位の低下に従って、センスアンプ50の入力ノードCTMの電位が低下する。
マッチ線MLとサブ接地配線MVSSとが接続されるため、マッチ線MLとサブ接地配線MVSSの電位が中間電位に遷移する。
時刻T61において、制御信号SW,/SWが「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート40,41がオフする。
次に、時刻T62において、制御信号PUMPを駆動する。具体的には、信号配線に対して制御信号PUMPにより「L」レベルから「H」レベルに設定する。
次に、時刻T63において、制御信号SAE,/SAEが「H」レベル、「L」レベルに設定される。これに伴い、センスアンプ50が活性化される。
センスアンプ50の活性化に従い入力ノードCTMと入力ノードCBMとの電位差が増幅されて、入力ノードCTMが接地電圧VSSの第2の電位、入力ノードCBMが電源電圧VDDの第1の電位に設定される。
時刻T64において、ラッチ回路70は、入力ノードCTMの電位に従い「L」レベルをデータMLOとして出力する。
検索データが全ビット不一致の場合について説明する。
図14に示されるように、時刻T70において、マッチ線MLの電位が低下し始める。また、制御信号SW,/SWが「L」レベル、「H」レベルに設定されている。したがって、トランスファーゲート40がオンしておりマッチ線MLと入力ノードCTMが接続されている。トランスファーゲート41がオンしており、サブ接地配線MVSSと入力ノードCBMとが接続されている。
図14に示されるように、時刻T70において、マッチ線MLの電位が低下し始める。また、制御信号SW,/SWが「L」レベル、「H」レベルに設定されている。したがって、トランスファーゲート40がオンしておりマッチ線MLと入力ノードCTMが接続されている。トランスファーゲート41がオンしており、サブ接地配線MVSSと入力ノードCBMとが接続されている。
したがって、マッチ線MLの電位の低下に従って、センスアンプ50の入力ノードCTMの電位が低下する。
マッチ線MLとサブ接地配線MVSSとが接続されるため、マッチ線MLとサブ接地配線MVSSの電位が中間電位に遷移する。
時刻T71において、制御信号SW,/SWが「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート40,41がオフする。
次に、時刻T72において、制御信号PUMPを駆動する。具体的には、信号配線に対して制御信号PUMPにより「L」レベルから「H」レベルに設定する。
次に、時刻T73において、制御信号SAE,/SAEが「H」レベル、「L」レベルに設定される。これに伴い、センスアンプ50が活性化される。
センスアンプ50の活性化に従い入力ノードCTMと入力ノードCBMとの電位差が増幅されて、入力ノードCTMが接地電圧VSSの第2の電位、入力ノードCBMが電源電圧VDDの第1の電位に設定される。
時刻T74において、ラッチ回路70は、入力ノードCTMの電位に従い「L」レベルをデータMLOとして出力する。
実施形態3に基づく構成により信号配線INITをサブ接地配線MVSSに置換することによりさらに部品点数を削減して面積を縮小することが可能である。
(実施形態4)
実施形態1においては、検索メモリセルとして1ポートのTCAMセルの構成について説明した。一方で、検索メモリセルとして2ポートのTCAMセルの構成を採用することも可能である。
実施形態1においては、検索メモリセルとして1ポートのTCAMセルの構成について説明した。一方で、検索メモリセルとして2ポートのTCAMセルの構成を採用することも可能である。
実施形態4においては、2ポートのTCAMセルを有する検索メモリについて説明する。
図15は、実施形態4に基づく検索メモリ8#の構成について説明する図である。
図15を参照して検索メモリ8#は、セグメント(サブブロック)12#と、データ生成部92と、コマンド生成部94と、プライオリティエンコーダ80,82と、結合部90とを含む。
図15を参照して検索メモリ8#は、セグメント(サブブロック)12#と、データ生成部92と、コマンド生成部94と、プライオリティエンコーダ80,82と、結合部90とを含む。
コマンド生成部94は、クロック信号CLKの入力に同期して外部コマンドCDを受け付けてセグメント12#を駆動するためのコマンドCMDを生成してクロック信号1/2CLKとともに出力する。
クロック信号1/2CLKの周期は、クロック信号CLKの周期の2倍に相当する。
データ生成部92は、クロック信号CLKの入力に同期して外部検索データSDを内部サーチデータISDとして生成してセグメント12#に出力する。具体的には、サーチ線ドライバ群22に出力する。
データ生成部92は、クロック信号CLKの入力に同期して外部検索データSDを内部サーチデータISDとして生成してセグメント12#に出力する。具体的には、サーチ線ドライバ群22に出力する。
データ生成部92は、クロック信号CLKの入力に同期して外部書込データWDを内部書込データとして生成してセグメント12#に出力する。具体的には、書込ドライバ群21に出力する。
プライオリティエンコーダ80は、セグメント12#の複数のポートA用のマッチアンプ84からの出力を受けて最優先のアドレス情報PEOUTA(Hit Index)を出力する。
プライオリティエンコーダ82は、セグメント12#の複数のポートB用のマッチアンプ84からの出力を受けて最優先のアドレス情報PEOUTB(Hit Index)を出力する。
結合部90は、クロック信号CLKに同期してプライオリティエンコーダ80およびプライオリティエンコーダ82からのアドレス情報(Hit Index)を結合して外部アドレス出力MAOを出力する。
セグメント12#は、TCAMセルアレイ20#と、書込ドライバ群21と、サーチ線ドライバ群22と、マッチアンプ部23#と、制御論理回路24とを含む。
TCAMセルアレイ20#は、行列状(m行;k列)に配列されたTCAMセルを含む。
書込ドライバ群21は、書込時に、ビット線対BL,/BLを介して各TCAMセルに書込データを供給する。サーチ線ドライバ群22は、サーチ動作時に、サーチ線対SL,/SLを介して各TCAMセルに検索データを供給する。
制御論理回路24は、セグメント12#全体の動作を制御する。たとえば、制御論理回路24は、サーチ動作時には、サーチコマンドを受け取り、サーチ線ドライバ群22と、マッチアンプ部23に制御信号を出力することによって、サーチ線ドライバ群22、マッチアンプ部23#、およびプリチャージ回路の動作を制御する。
マッチアンプ部23#は、セルアレイの行にそれぞれ対応する複数のマッチアンプを含む。本例においては、セルアレイの行にそれぞれ対応してAポート用の複数のマッチアンプ84と、Bポート用の複数のマッチアンプ86とを含む。マッチアンプは、サーチ動作時に、対応するマッチ線MLの電位に基づいて、対応するTCAMセルデータと検索データの対応部分とが一致するか否かを検出する。
セグメント12#は、図示しないがセンスアンプを含み、コマンド指示に従って読出データRDを出力する。
図16は、実施形態4に従うTCAMセルアレイ20#およびその周辺回路を説明する図である。
図16を参照して、TCAMセルアレイ20#は、メモリアレイを構成するメモリセルMC0#0〜MC1#1とを含む。ここで♯0〜♯1はエントリと呼ばれるアドレス番地である。例えば♯0は0番地のアドレスを示し、データの読出および書込動作時においてはメモリセルMC0♯0およびMC1♯0の2つのTCAMセルが同時にアクセスされる。
また、TCAMセルアレイ20#の周辺には、行デコーダ102と、サーチ線ドライバ104A,104B,106A,106Bと書込ドライバ108,110とを含む。
なお、図1に示されるメモリアレイの構成は、説明の簡単のため2列2行配置であるが、本明細書に開示される技術が適用されるメモリセルの構成はこの構成に限定されるものではない。
行デコーダ102は、入力されたアドレス信号(不図示)に従い、ワード線WL0、WL1のうちいずれかのワード線を活性化する。
サーチ線ドライバ104Aは、サーチ線SLA0をAポート用の検索データ信号S0(A)に対応するレベルに駆動し、サーチ線/SLA0をその反転レベルに駆動する。サーチ線ドライバ104Bは、サーチ線SLB0をBポート用の検索データ信号S0(B)に対応するレベルに駆動し、サーチ線/SLB0をその反転レベルに駆動する。
サーチ線ドライバ106Aは、サーチ線SLA1をAポート用の検索データ信号S1(A)に対応するレベルに駆動し、サーチ線/SLA1をその反転レベルに駆動する。サーチ線ドライバ106Bは、サーチ線SLB1をBポート用の検索データ信号S1(B)に対応するレベルに駆動し、サーチ線/SLB1をその反転レベルに駆動する。
書込ドライバ108は、入力データDIO0に応じてビット線対BL0,/BL0を駆動する。これにより、書込ドライバ108は、ビット線対BL0,/BL0に接続され、且つワード線が活性化された各メモリセルにデータを書き込む。書込ドライバ110も、書込ドライバ108と同様に、入力データDIO1に応じてビット線対BL1,/BL1を駆動する。
メモリセルMC0#0〜MC1#1はそれぞれ1ビットの記憶データを保持可能に構成される。記憶データは、検索データと比較の対象となるデータである。
各メモリセルには、1本のワード線と、1組のビット線対と、2組のサーチ線対と、2本のマッチ線とが接続される。例えば、メモリセルMC0#0は、ワード線WL0と、ビット線対BL0/BL0、サーチ線対SLA0,/SLA0およびSLB0,/SLB0と、マッチ線MLA0,MLB0とに接続される。
1列目のメモリセルMC0♯0およびMC0♯1には、ビット線対BL0,/BL0およびサーチ線対SLA0,/SLA0、並びにSLB0,/SLB0が共通に接続される。2列目のメモリセルMC1♯0およびMC1♯1には、ビット線対BL1,/BL1とサーチ線対SLA1,/SLA1、並びにSLB1,/SLB1とが共通に接続される。
1行目(アドレス♯0)に対応するメモリセルMC0♯0およびMC1♯0には、ワード線WL0およびマッチ線MLA0,MLB0が共通に接続される。2行目(アドレス♯1)に対応するメモリセルMC0♯1およびMC1♯1には、ワード線WL1およびマッチ線MLA1,MLB1が共通に接続される。
図17は、実施形態4に従う2ポートのTCAMセルを説明する図である。
図17を参照して、実施形態4に従うTCAMセルは、図2で説明したメモリセルMCと異なり、2個のSRAMセル(XセルおよびYセル)が行方向(X方向)に隣接して配置されている。具体的には、XセルMDC0と、YセルDC0とが設けられている。
図17を参照して、実施形態4に従うTCAMセルは、図2で説明したメモリセルMCと異なり、2個のSRAMセル(XセルおよびYセル)が行方向(X方向)に隣接して配置されている。具体的には、XセルMDC0と、YセルDC0とが設けられている。
XセルおよびYセルは、上記したようにそれぞれ1ビットの記憶データを保持可能に構成されている。
メモリセルMC0#0は、列方向(Y方向)に沿って延在するビット線対BL0,/BL0と、BL1,/BL1とをさらに含む。
XセルMDC0は、NMOSトランジスタNA0,NA1,ND0,ND1およびPMOSトランジスタP0,P1によって構成される。
NMOSトランジスタNA0は、記憶ノードm1と、ビット線BL0との間に接続され、ゲートにワード線WL0が接続される。NMOSトランジスタNA1は、記憶ノード/m1とビット線/BL0との間に接続され、ゲートにワード線WL0が接続される。PMOSトランジスタP0は、電源線VDDと記憶ノードm1との間に接続され、ゲートが記憶ノード/m1に接続される。NMOSトランジスタND0は、記憶ノードm1と電源線VSSとの間に接続され、ゲートが記憶ノード/m1に接続される。PMOSトランジスタP1は、電源線VDDと記憶ノード/m1との間に接続され、ゲートが記憶ノードm1に接続される。NMOSトランジスタND1は、記憶ノード/m1と電源線VSSとの間に接続され、ゲートが記憶ノードm1に接続される。
NMOSトランジスタND0およびPMOSトランジスタP0は、インバータを構成する。NMOSトランジスタND1およびPMOSトランジスタP1も、インバータを構成する。一方のインバータの出力は、他方のインバータの入力に接続される。NMOSトランジスタND0およびND1と、PMOSトランジスタP0およびP1とによって構成されたフリップフロップは、1ビットの情報を保持する。
YセルDC0は、アクセストランジスタであるNMOSトランジスタNA2,NA3と、ドライバトランジスタであるNMOSトランジスタND2,ND3と、PMOSトランジスタP2,P3とによって構成される。
NMOSトランジスタNA2は、記憶ノードm0と、ビット線BL1との間に接続され、ゲートにワード線WL0が接続される。NMOSトランジスタNA3は、記憶ノード/m0とビット線/BL1との間に接続され、ゲートにワード線WL0が接続される。PMOSトランジスタP2は、電源線VDDと記憶ノードm0との間に接続され、ゲートが記憶ノード/m0に接続される。NMOSトランジスタND2は、記憶ノードm0と電源線VSSとの間に接続され、ゲートが記憶ノード/m0に接続される。PMOSトランジスタP3は、電源線VDDと記憶ノード/m0との間に接続され、ゲートが記憶ノードm0に接続される。NMOSトランジスタND3は、記憶ノード/m0と電源線VSSとの間に接続され、ゲートが記憶ノードm0に接続される。
NMOSトランジスタND2およびPMOSトランジスタP2は、インバータを構成する。NMOSトランジスタND3およびPMOSトランジスタP3も、インバータを構成する。一方のインバータの出力は、他方のインバータの入力に接続される。NMOSトランジスタND2およびND3と、PMOSトランジスタP2およびP3とによって構成されたフリップフロップは、1ビットの情報(記憶データ)を保持する。
メモリセルMC0#0は、XセルMDC0およびYセルDC0の両方に対して列方向(Y方向)に隣接して配置される論理演算セルLCB0と、論理演算セルLCB0に対して列方向(Y方向)に隣接して配置される論理演算セルLCA0とをさらに含む。
論理演算セルLCA0は、YセルDC0およびXセルMDC0の保持するデータとAポート用の検索データとに応じた結果をマッチ線MLA0に出力する。より具体的には、論理演算セルLCA0は、YセルDC0のデータ(記憶ノードm1のレベル)とAポート用の検索データとが一致するか否か、およびXセルMDC0のデータ(記憶ノードm0のレベル)とAポート用の検索データの反転レベルとが一致するか否かに応じて、マッチ線MLA0を駆動する。
論理演算セルLCB0は、YセルDC0およびXセルMDC0の保持するデータとBポート用の検索データとに応じた結果をマッチ線MLA0に出力する。より具体的には、論理演算セルLCB0は、YセルDC0のデータとBポート用の検索データとが一致するか否か、およびXセルMDC0のデータとBポート用の検索データの反転レベルとが一致するか否かに応じて、マッチ線MLB0を駆動する。
論理演算セルLCA0は、NMOSトランジスタNS0〜NS3を含む。論理演算セルLCB0は、NMOSトランジスタNS4〜NS7を含む。
NMOSトランジスタNS0とNS1とは、マッチ線MLA0とサブ接地配線MVSSAとの間に直列に接続され、ゲートにそれぞれサーチ線SLA0と記憶ノードm1とが接続される。NMOSトランジスタNS2とNS3とは、マッチ線MLA0とサブ電源線MVSSAとの間に直列に接続され、ゲートにそれぞれサーチ線/SLA0と記憶ノードm0とが接続される。
NMOSトランジスタNS4とNS5とは、マッチ線MLB0とサブ接地配線MVSSBとの間に直列に接続され、ゲートにそれぞれサーチ線SLB0と記憶ノードm1とが接続される。
NMOSトランジスタNS6とNS7とは、マッチ線MLB0とサブ接地配線MVSSBとの間に直列に接続され、ゲートにそれぞれサーチ線/SLB0と記憶ノードm0とが接続される。
メモリセルMC0#0以外の他のメモリセルは、接続されたワード線、マッチ線、ビット線対およびサーチ線対が上記の例と異なるが、内部の回路構成はメモリセルMC0#0と同じであるのでその詳細な説明については繰り返さない。
また、図示しないが、実施形態1で説明したようにマッチ線MLA,MLBおよびサブ接地配線MVSSA,MVSSBに対応してそれぞれプリチャージ回路が設けられる。
具体的には、マッチ線MLA,MLBに対応してPチャネルMOSトランジスタ30が設けられる。
PチャネルMOSトランジスタ30は、電源電圧VDDとマッチ線MLA,MLBとの間に設けられ、そのゲートは制御信号PCの入力を受ける。
サブ接地配線MVSSA,MVSSBに対応してNチャネルMOSトランジスタ31が設けられる。
NチャネルMOSトランジスタ31は、接地電圧VSSとサブ接地配線MVSSとの間に設けられ、そのゲートは制御信号/PCの入力を受ける。制御信号/PCは、制御信号PCを反転した信号(相補信号)である。
例えば、サーチ動作前において、制御信号PC,/PCは、「L」レベル、「H」レベルに設定される。
制御信号PCが「L」レベル、制御信号/PCが「H」レベルの場合にプリチャージされる。
マッチ線MLA,MLBは、電源電圧VDDと接続される。また、サブ接地配線MVSSA,MVSSBは、接地電圧VSSと接続される。すなわち、マッチ線MLA,MLBは、第1の電位にプリチャージされ、サブ接地配線MVSSA,MVSSBは、第2の電位にプリチャージされる。
一方、サーチ動作時において、制御信号PCは「H」レベル、制御信号/PCは「L」レベルに設定される。これにより、PチャネルMOSトランジスタ30はオフする。また、NチャネルMOSトランジスタ31は、オフする。
したがって、マッチ線MLA,MLBおよびサブ接地配線MVSSA,MVSSBは、開放状態(オープン状態)に設定される。
図18は、実施形態4に従うマッチアンプの構成について説明する図である。
図18を参照して、メモリセル行にそれぞれ対応してAポート用のマッチアンプ84と、Bポート用のマッチアンプ86とが設けられる。
図18を参照して、メモリセル行にそれぞれ対応してAポート用のマッチアンプ84と、Bポート用のマッチアンプ86とが設けられる。
マッチアンプ84,86の構成については図13で説明したのと同様であるのでその詳細な説明については繰り返さない。なお、ラッチ回路70は、制御信号SAEに従って活性化される場合が示されている。
マッチアンプの動作についても図14で説明したのと同様である。
例えば、マッチアンプ84の動作について説明する。
例えば、マッチアンプ84の動作について説明する。
検索データが一致の場合には、マッチ線MLAの電位は維持される。また、制御信号SW,/SWが「L」レベル、「H」レベルに設定されている場合には、トランスファーゲート40がオンしており、マッチ線MLAと入力ノードCTMが接続されている。トランスファーゲート41がオンしており、サブ接地配線MVSSAと入力ノードCBMとが接続されている。
この場合、サブ接地配線MVSSは、接地電圧VSSにプリチャージされている。
制御信号SW,/SWが「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート40,41がオフする。
制御信号SW,/SWが「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート40,41がオフする。
次に、制御信号PUMPを駆動する。具体的には、信号配線に対して制御信号PUMPにより「L」レベルから「H」レベルに設定する。これにより、入力ノードCBMの電位は所定の電位レベルに上昇する。
次に、制御信号SAE,/SAEが「H」レベル、「L」レベルに設定される。これに伴い、センスアンプ50が活性化される。
センスアンプ50の活性化に従い入力ノードCTMと入力ノードCBMとの電位差が増幅されて、入力ノードCTMが接地電圧VSSの第2の電位、入力ノードCBMが電源電圧VDDの第1の電位に設定される。
ラッチ回路70は、入力ノードCTMの電位に従い「H」レベルをデータMLOAとして出力する。
検索データが1ビット不一致の場合には、マッチ線MLAの電位が低下し始める。また、制御信号SW,/SWが「L」レベル、「H」レベルに設定されている場合には、トランスファーゲート40がオンしておりマッチ線MLAと入力ノードCTMが接続されている。トランスファーゲート41がオンしており、サブ接地配線MVSSAと入力ノードCBMとが接続されている。
したがって、マッチ線MLAの電位の低下に従って、センスアンプ50の入力ノードCTMの電位が低下する。
マッチ線MLとサブ接地配線MVSSとが接続されるため、マッチ線MLとサブ接地配線MVSSの電位が中間電位に遷移する。
制御信号SW,/SWが「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート40,41がオフする。
次に、制御信号PUMPを駆動する。具体的には、信号配線に対して制御信号PUMPにより「L」レベルから「H」レベルに設定する。
次に、制御信号SAE,/SAEが「H」レベル、「L」レベルに設定される。これに伴い、センスアンプ50が活性化される。
センスアンプ50の活性化に従い入力ノードCTMと入力ノードCBMとの電位差が増幅されて、入力ノードCTMが接地電圧VSSの第2の電位、入力ノードCBMが電源電圧VDDの第1の電位に設定される。
ラッチ回路70は、入力ノードCTMの電位に従い「L」レベルをデータMLOAとして出力する。
検索データが全ビット不一致の場合について説明する。
マッチ線MLAの電位が低下し始める。また、制御信号SW,/SWが「L」レベル、「H」レベルに設定されている場合には、トランスファーゲート40がオンしておりマッチ線MLと入力ノードCTMが接続されている。トランスファーゲート41がオンしており、サブ接地配線MVSSAと入力ノードCBMとが接続されている。
マッチ線MLAの電位が低下し始める。また、制御信号SW,/SWが「L」レベル、「H」レベルに設定されている場合には、トランスファーゲート40がオンしておりマッチ線MLと入力ノードCTMが接続されている。トランスファーゲート41がオンしており、サブ接地配線MVSSAと入力ノードCBMとが接続されている。
したがって、マッチ線MLAの電位の低下に従って、センスアンプ50の入力ノードCTMの電位が低下する。
マッチ線MLAとサブ接地配線MVSSとが接続されるため、マッチ線MLAとサブ接地配線MVSSAの電位が中間電位に遷移する。
制御信号SW,/SWが「H」レベル、「L」レベルに設定される。これに伴い、トランスファーゲート40,41がオフする。
次に、制御信号PUMPを駆動する。具体的には、信号配線に対して制御信号PUMPにより「L」レベルから「H」レベルに設定する。
次に、制御信号SAE,/SAEが「H」レベル、「L」レベルに設定される。これに伴い、センスアンプ50が活性化される。
センスアンプ50の活性化に従い入力ノードCTMと入力ノードCBMとの電位差が増幅されて、入力ノードCTMが接地電圧VSSの第2の電位、入力ノードCBMが電源電圧VDDの第1の電位に設定される。
ラッチ回路70は、入力ノードCTMの電位に従い「L」レベルをデータMLOAとして出力する。
例えば、マッチアンプ84の動作について説明したが、マッチアンプ86の動作についても同様である。
図19は、実施形態4に従う検索メモリ8#のデータ検索動作のタイミングチャートについて説明する図である。
図19を参照して、データ生成部92は、時刻T101からクロック信号CLKに同期して連続的に外部検索データSDを取得する場合が示されている。
本例においては、一例としてデータd0〜d6を取得する場合が示されている。
例えば、時刻T101,T102,T103,T104,T105,T107,T108において、データ生成部92は、データd0〜d6をそれぞれ取得する。他のデータについても同様である。
例えば、時刻T101,T102,T103,T104,T105,T107,T108において、データ生成部92は、データd0〜d6をそれぞれ取得する。他のデータについても同様である。
また、データ生成部92は、時刻T101からクロック信号CLKの2倍の周期のクロック信号1/2CLKを生成して出力する。
データ生成部92は、時刻T103において、クロック信号1/2CLKとともに内部検索データISDA,ISDBをそれぞれサーチ線ドライバ群22に出力する。
具体的には、データ生成部92は、内部検索データISDAとして、データd0,d2,d4をクロック信号1/2CLKに同期させてサーチ線ドライバ群22に出力する。
データ生成部92は、内部検索データISDBとして、データd1,d3,d5をクロック信号1/2CLKに同期させてサーチ線ドライバ群22に出力する。
セグメント12#は、クロック信号1/2CLKに同期して動作する。
時刻T103において、セグメント12#は、クロック信号1/2CLKに同期してAポート用の内部検索データISDAとしてデータd0を取得して検索動作を実行する。
時刻T103において、セグメント12#は、クロック信号1/2CLKに同期してAポート用の内部検索データISDAとしてデータd0を取得して検索動作を実行する。
また、セグメント12#は、クロック信号1/2CLKに同期してBポート用の内部検索データISDBとしてデータd1を取得して検索動作を実行する。
検索動作の具体的処理については上記で説明したのと同様であるのでその詳細な説明については繰り返さない。
そして、時刻T106において、プライオリティエンコーダ80は、データd0の検索結果であるセグメント12#の複数のポートA用のマッチアンプ84からの出力を受けて最優先のアドレス情報PEOUTA(アドレスA0)を出力する。
また、プライオリティエンコーダ82は、データd1の検索結果であるセグメント12#の複数のポートB用のマッチアンプ86からの出力を受けて最優先のアドレス情報PEOUTB(アドレスA1)を出力する。
結合部90は、プライオリティエンコーダ80,82からのアドレス情報PEOUTA(アドレスA0)およびPEOUTB(アドレスA1)の入力を受けて外部アドレス出力MAOをクロック信号CLKに同期して出力する。
具体的には、時刻T108において、クロック信号CLKに同期してアドレスA0を出力する。また、時刻T110において、クロック信号CLKに同期してアドレスA1を出力する。
他のデータについても同様である。
時刻T105において、セグメント12#は、クロック信号1/2CLKに同期してAポート用の内部検索データISDAとしてデータd2を取得して検索動作を実行する。
時刻T105において、セグメント12#は、クロック信号1/2CLKに同期してAポート用の内部検索データISDAとしてデータd2を取得して検索動作を実行する。
また、セグメント12#は、クロック信号1/2CLKに同期してBポート用の内部検索データISDBとしてデータd3を取得して検索動作を実行する。
そして、時刻T109において、プライオリティエンコーダ80は、データd2の検索結果であるセグメント12#の複数のポートA用のマッチアンプ84からの出力を受けて最優先のアドレス情報PEOUTA(アドレスA2)を出力する。
また、プライオリティエンコーダ82は、データd3の検索結果であるセグメント12#の複数のポートB用のマッチアンプ86からの出力を受けて最優先のアドレス情報PEOUTB(アドレスA3)を出力する。
結合部90は、プライオリティエンコーダ80,82からのアドレス情報PEOUTA(アドレスA2)およびPEOUTB(アドレスA3)の入力を受けて外部アドレス出力MAOをクロック信号CLKに同期して出力する。
当該方式により、検索メモリ8#がクロック信号1/2CLKに同期して動作する場合であっても2ポートの検索セルを用いることにより見かけ上その2倍の周波数であるクロック信号CLKに同期して動作させることが可能である。すなわち、検索性能を2倍に向上させることが可能である。
以上、本開示を実施形態に基づき具体的に説明したが、本開示は、実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
1 通信機器、4 転送制御回路、6 汎用メモリ、8 検索メモリ、11,14 RAMセル、12 セグメント、13 データ比較部、20 セルアレイ、21 書込ドライバ群、22 サーチ線ドライバ群、23 マッチアンプ部、24 制御論理回路、40,41 トランスファーゲート、50 センスアンプ、70 ラッチ回路。
Claims (15)
- 行列状に配置された複数の検索メモリセルと、
メモリセル行にそれぞれ対応して設けられ、前記検索メモリセルに格納されたデータと、検索データの一致/不一致を判定するための複数のマッチ線と、
前記メモリセル行にそれぞれ対応して設けられる複数のサブ接地配線と、
前記メモリセル行にそれぞれ対応して設けられ、前記マッチ線の電位を増幅する複数のアンプとを備え、
前記複数のマッチ線および前記複数のサブ接地配線は、データ検索の前にそれぞれ第1の電位および第2の電位にプリチャージされ、
前記マッチ線は、前記検索データの不一致の際に前記検索メモリセルを介して対応するサブ接地配線と電気的に接続されて前記第1の電位と前記第2の電位との間の中間電位に設定される、半導体装置。 - 前記データ検索の前に前記複数のマッチ線をそれぞれ第1の電位にプリチャージし、前記データ検索の際に開放状態に設定する第1のプリチャージ回路と、
前記データ検索の前に前記複数のサブ接地配線をそれぞれ第2の電位にプリチャージし、前記データ検索の際に開放状態に設定する第2のプリチャージ回路とをさらに備える、請求項1記載の半導体装置。 - 前記第1および第2のプリチャージ回路は、プリチャージ制御信号に従って動作する、請求項2記載の半導体装置。
- 前記アンプは、差動センスアンプであり、
前記差動センスアンプは、対応するマッチ線の電位と、比較対象となる基準電位との比較に基づいて電位差を増幅した信号を出力する、請求項1記載の半導体装置。 - 前記増幅した信号をラッチするラッチ回路をさらに備える、請求項4記載の半導体装置。
- 前記差動センスアンプは、前記対応するマッチ線の電位が入力される入力ノードと、
前記比較対象となる基準電位が入力される入力基準ノードとを含み、
前記入力基準ノードと一方側が接続されるキャパシタと、
前記キャパシタの他方側と接続され、駆動する電圧を調整することにより前記基準電位を調整する信号配線とをさらに備える、請求項4記載の半導体装置。 - 前記キャパシタは、前記信号配線と並列にソースおよびドレインと接続され、ゲートが前記入力基準ノードと接続されるMOSトランジスタで構成される、請求項6記載の半導体装置。
- 前記キャパシタは、
前記信号配線と並列にソースおよびドレインと接続され、ゲートが前記入力基準ノードと接続される第1のPチャネルMOSトランジスタと、
前記信号配線と並列にソースおよびドレインと接続され、ゲートが前記入力基準ノードと接続される第1のNチャネルMOSトランジスタとで構成される、請求項6記載の半導体装置。 - 前記入力ノードは、第2のPチャネルMOSトランジスタおよび第2のNチャネルMOSトランジスタのゲートとそれぞれ接続される、請求項8記載の半導体装置。
- 前記入力基準ノードは固定電圧と接続される、請求項6記載の半導体装置。
- 第1の制御指示に従って前記マッチ線と前記入力ノードとの間を電気的に接続するための第1のスイッチと、
第2の制御指示に従って前記サブ接地配線と前記基準入力ノードとの間を電気的に接続するための第2のスイッチとを備える、請求項6記載の半導体装置。 - 前記第1の制御指示と前記第2の制御指示との入力のタイミングは異なる、請求項11記載の半導体装置。
- 各前記検索メモリセルは、
1ビットのデータを保持可能に構成された第1セルと、
1ビットのデータを保持可能に構成され、前記第1セルに隣接する第2セルとを含み、
前記複数のマッチ線は、
前記メモリセル行の前記第1セルに対応して設けられ、前記第1セルに格納されたデータと、第1検索データの一致/不一致を判定するための複数の第1マッチ線と、
前記メモリセル行の前記第2セルに対応して設けられ、前記第2セルに格納されたデータと、第2検索データの一致/不一致を判定するための複数の第2マッチ線とを含み、
前記複数のサブ接地配線は、
前記メモリセル行の前記第1セルに対応して設けられる複数の第1のサブ接地配線と、
前記メモリセル行の前記第2セルに対応して設けられる複数の第2のサブ接地配線とを含み、
前記複数のアンプは、
前記メモリセル行の前記第1セルに対応して設けられ、前記第1マッチ線の電位を増幅する複数の第1アンプと、
前記メモリセル行の前記第2セルに対応して設けられ、前記第2マッチ線の電位を増幅する複数の第2アンプとを含み、
メモリセル列にそれぞれ対応して設けられ、第1データ検索時に第1検索データを伝達する複数の第1サーチ線対と、
前記メモリセル列にそれぞれ対応して設けられ、第2データ検索時に第2検索データを伝達する複数の第2サーチ線対とを備え、
各前記検索メモリセルは、
対応する第1サーチ線対と対応する第1マッチ線とに接続され、前記第1および第2セルが保持するデータと対応する第1サーチ線対に伝達される前記第1検索データとの比較結果に基づいて前記対応する第1マッチ線を駆動する第1論理演算セルと、
対応する第2サーチ線対と対応する第2マッチ線とに接続され、前記第1および第2セルが保持するデータと対応する第2サーチ線対に伝達される前記第2検索データとの比較結果に基づいて前記対応する第2マッチ線を駆動する第2論理演算セルとをさらに含む、請求項1記載の半導体装置。 - 前記複数の第1アンプの出力結果に基づいて第1の検索結果を出力する第1のエンコーダと、
前記複数の第2アンプの出力結果に基づいて第2の検索結果を出力する第2のエンコーダと、
前記第1および第2のエンコーダから出力された第1検索結果および第2検索結果を結合して出力する結合部とを備える、請求項13記載の半導体装置。 - 第1クロックの入力に同期して入力される検索データに従って前記第1クロックの2倍の周期の第2クロックに同期して出力される第1検索データおよび前記第2検索データを生成するデータ生成部をさらに備え、
前記結合部は、前記第1クロックの周期に合わせて前記第1検索結果および前記第2検索結果を結合した出力情報を出力する、請求項14記載の半導体装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/250,448 US10910056B2 (en) | 2018-02-22 | 2019-01-17 | Semiconductor device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018029824 | 2018-02-22 | ||
JP2018029824 | 2018-02-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019145196A true JP2019145196A (ja) | 2019-08-29 |
Family
ID=67772607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018111265A Pending JP2019145196A (ja) | 2018-02-22 | 2018-06-11 | 半導体装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019145196A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021023633A (ja) * | 2019-08-07 | 2021-02-22 | 株式会社三共 | 遊技機 |
-
2018
- 2018-06-11 JP JP2018111265A patent/JP2019145196A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021023633A (ja) * | 2019-08-07 | 2021-02-22 | 株式会社三共 | 遊技機 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9502112B2 (en) | Semiconductor memory device | |
JP4343859B2 (ja) | 半導体装置 | |
US11238908B2 (en) | Memory circuit and method of operating same | |
US8848474B2 (en) | Capacitive coupled sense amplifier biased at maximum gain point | |
US20180025755A1 (en) | Semiconductor device | |
US20120069684A1 (en) | Semiconductor integrated circuit | |
US9312006B2 (en) | Non-volatile ternary content-addressable memory with resistive memory device | |
JP2013062001A (ja) | 半導体記憶装置 | |
JP2018206452A (ja) | 内容参照メモリ及び半導体装置 | |
JP2004295967A (ja) | 連想メモリ | |
US20230395141A1 (en) | Low-power static random access memory | |
JP2019145196A (ja) | 半導体装置 | |
US10910055B2 (en) | System and method for reducing power consumption of memory device | |
US10910056B2 (en) | Semiconductor device | |
US20140369103A1 (en) | Content addressable memory cells and ternary content addressable memory cells | |
JP2018045753A5 (ja) | ||
WO2010050283A1 (ja) | メモリセル及びそれを用いた連想記憶装置 | |
US20160358654A1 (en) | Low-power ternary content addressable memory | |
JP7376435B2 (ja) | 半導体装置 | |
US10580490B2 (en) | Semiconductor device | |
US9607669B2 (en) | Semiconductor memory device including precharge circuit | |
TW202025157A (zh) | 記憶體裝置與控制記憶體裝置的方法 | |
US6747886B1 (en) | Content addressable memory with shifted enable signal | |
JP3908209B2 (ja) | ダイナミック連想記憶セル | |
JPH0262788A (ja) | マルチポートメモリーセル |