(57)【要約】【課題】データ検索機能を実現するとともにコスト低減を図り、かつコスト対性能比の最適化を図ることが可能な半導体装置を提供する。【解決手段】半導体装置１において、メモリアレイ回路１０および４０１０は、複数個のデータを記憶する複数個の第１メモリセルと、第１メモリセルのアドレスをそれぞれ記憶する複数個の第２メモリセルとをそれぞれ含む。メモリアレイ回路４０１０は、複数個の第１メモリセルのアドレスと書き込み対象である第１メモリセルのアドレスとを比較し、比較結果に基づいて第１メモリセルを選択する。センスアンプ１１は、選択第１メモリセルにデータを書き込む。メモリアレイ回路１０は、複数個のデータと検索データとを比較し、検索データと一致するデータを記憶する第１メモリセルのアドレスを記憶する第２メモリセルを選択する。選択第２メモリセルの記憶データが検索結果として出力される。【選択図】図４
2008257835.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置であって、
複数個のデータを記憶する複数個の第１のメモリセルを含む第１のメモリアレイ回路と、
前記複数個の第１のメモリセルのアドレスをそれぞれ記憶する複数個の第２のメモリセルを含む第２のメモリアレイ回路と、
前記第１のメモリアレイ回路へ第１の検索データを出力する第１のサーチラインドライバと、
書き込み対象である前記第１のメモリセルのアドレスを受けて、前記第１のメモリセルのアドレスを第２の検索データとして前記第２のメモリアレイ回路へ出力する第２のサーチラインドライバとを備え、
前記第２のメモリアレイ回路は、前記複数個の第２のメモリセルが記憶する前記複数個の第１のメモリセルのアドレスと前記第２の検索データとを比較し、前記比較結果に基づいて１個または複数個の前記第１のメモリセルを選択し、
前記半導体装置は、さらに、
前記選択された前記第１のメモリセルに対してデータ書き込みを行なう第１のセンスアンプを備え、
前記第１のメモリアレイ回路は、前記複数個の第１のメモリセルが記憶する複数個のデータと前記第１の検索データとを比較し、前記第１の検索データと一致するデータを記憶する前記第１のメモリセルのアドレスを記憶する前記第２のメモリセルを選択し、
前記第２のメモリアレイ回路は、
前記複数個の第２のメモリセルに結合され、前記選択された前記第２のメモリセルの記憶データに基づく信号が現われるビット線を含み、
前記半導体装置は、さらに、
前記ビット線に現われた信号を検出して増幅し、前記増幅した信号を出力する第２のセンスアンプを備える半導体装置。
【請求項２】
前記第２のメモリアレイ回路と、前記第２のセンスアンプと、前記第２のサーチラインドライバとは、前記第１のメモリアレイ回路と、前記第１のセンスアンプと、前記第１のサーチラインドライバとそれぞれ同じ構成である請求項１記載の半導体装置。
【請求項３】
前記半導体装置は、さらに、
前記第１のメモリアレイ回路によって選択された前記第２のメモリセルが複数個存在する場合、前記選択された複数個の第２のメモリセルのうちのいずれか１個を選択するプライオリティエンコーダを備え、
前記ビット線には、前記プライオリティエンコーダによって選択された前記第２のメモリセルの記憶データに基づく信号が現われる請求項１記載の半導体装置。
【請求項４】
前記第１のメモリアレイ回路は、さらに、前記複数個の第１のメモリセルにそれぞれ結合される複数本のワード線を含み、
前記第２のメモリアレイ回路は、対応の前記ワード線および対応の前記第２のメモリセルにそれぞれ結合される複数本のマッチ線を含み、前記複数個の第２のメモリセルが記憶する前記複数個の第１のメモリセルのアドレスと前記第２の検索データとを比較し、前記第２の検索データと一致するデータを記憶する前記第２のメモリセルに対応するマッチ線を活性化し、
前記第１のセンスアンプは、データ書き込み時、前記活性化されたマッチ線に結合される前記ワード線に結合された前記第１のメモリセルに対してデータ書き込みを行なう請求項１記載の半導体装置。
【請求項５】
前記第１のメモリアレイ回路は、さらに、前記複数個の第１のメモリセルにそれぞれ結合される複数本のマッチ線を含み、前記第１の検索データと一致するデータを記憶する前記第１のメモリセルに結合された前記マッチ線を活性化し、
前記第２のメモリアレイ回路は、さらに、対応の前記マッチ線および対応の前記第２のメモリセルにそれぞれ結合される複数本のワード線を含み、
前記ビット線には、前記活性化されたマッチ線に結合される前記ワード線に結合された前記第２のメモリセルの記憶データに基づく信号が現われる請求項１記載の半導体装置。
【請求項６】
前記半導体装置は、さらに、
前記複数本のマッチ線および前記複数本のワード線間に配置され、前記活性化された前記マッチ線が１本である場合には、前記活性化されたマッチ線に対応する前記ワード線を活性化させ、前記活性化されたマッチ線が複数本存在する場合には、前記活性化された複数本のマッチ線の中から１本の前記マッチ線を選択し、前記選択したマッチ線に対応する前記ワード線を活性化させるプライオリティエンコーダを備え、
前記ビット線には、前記活性化されたワード線に結合される前記第２のメモリセルの記憶データに基づく信号が現われる請求項５記載の半導体装置。
【請求項７】
半導体装置であって、
複数ビットをそれぞれ有する複数個のデータを記憶する複数個の第１のメモリセルを含む第１のメモリアレイ回路と、
前記複数個の第１のメモリセルのアドレスをそれぞれ記憶する複数個の第２のメモリセルを含む第２のメモリアレイ回路と、
前記第１のメモリアレイ回路へ第１の検索データを出力する第１のサーチラインドライバと、
書き込み対象である前記第１のメモリセルのアドレスを受けて、前記第１のメモリセルのアドレスを第２の検索データとして前記第２のメモリアレイ回路へ出力する第２のサーチラインドライバとを備え、
前記第２のメモリアレイ回路は、前記複数個の第２のメモリセルが記憶する前記複数個の第１のメモリセルのアドレスと前記第２の検索データとを比較し、前記比較結果に基づいて１個または複数個の前記第１のメモリセルを選択し、
前記半導体装置は、さらに、
前記選択された前記第１のメモリセルに対してデータ書き込みを行なう第１のセンスアンプを備え、
前記第１のメモリアレイ回路は、前記複数個の第１のメモリセルが記憶する複数個のデータと前記第１の検索データとを比較し、前記第１の検索データと一致するデータを記憶する前記第１のメモリセルのアドレスを記憶する前記第２のメモリセルを選択し、
前記第２のメモリアレイ回路は、
前記複数個の第２のメモリセルに結合され、前記選択された前記第２のメモリセルの記憶データに基づく信号が現われるビット線を含み、
前記半導体装置は、さらに、
前記ビット線に現われた信号を検出して増幅し、前記増幅した信号を出力する第２のセンスアンプを備える半導体装置。
【請求項８】
前記第１のメモリアレイ回路は、さらに、
第１の予備メモリセルと、
前記第１の予備メモリセルに結合される予備ワード線とを含み、
前記第２のメモリアレイ回路は、さらに、
第２の予備メモリセルと、
前記第２の予備メモリセルに結合される予備マッチ線とを含み、
前記半導体装置は、さらに、
前記複数個の第１のメモリセルおよび前記複数個の第２のメモリセルに異常が発生していない場合には、前記複数本のマッチ線と前記複数本のワード線とをそれぞれ結合し、前記複数個の第１のメモリセルのいずれかに異常が発生した場合には、前記異常が発生した前記第１のメモリセルに結合される前記ワード線以外の前記ワード線および前記予備ワード線と前記複数本のマッチ線とをそれぞれ結合し、かつ、前記複数個の第２のメモリセルのいずれかに異常が発生した場合には、前記異常が発生した前記第２のメモリセルに結合される前記マッチ線以外の前記マッチ線および前記予備マッチ線と前記複数本のワード線とをそれぞれ結合するシフト回路を備える請求項４記載の半導体装置。
【請求項９】
前記複数本のマッチ線および前記複数本のワード線は、前記複数個の第１のメモリセルが有する所定の優先順位に従ってそれぞれ配列され、
前記シフト回路は、前記複数個の第１のメモリセルのいずれかに異常が発生した場合には、前記異常が発生した前記第１のメモリセルに結合される前記ワード線である異常ワード線を前記異常ワード線の隣に配置された前記ワード線で置換し、前記置換に用いた前記ワード線である置換ワード線を、前記置換ワード線の隣に配置された前記ワード線で置換することを繰り返し、前記ワード線配列の端の前記置換ワード線を前記予備ワード線で置換し、かつ、
前記複数個の第２のメモリセルのいずれかに異常が発生した場合には、前記異常が発生した前記第２のメモリセルに結合される前記マッチ線である異常マッチ線を前記異常マッチ線の隣に配置された前記マッチ線で置換し、前記置換に用いた前記マッチ線である置換マッチ線を、前記置換マッチ線の隣に配置された前記マッチ線で置換することを繰り返し、前記マッチ線配列の端の前記置換マッチ線を前記予備マッチ線で置換する請求項８記載の半導体装置。
【請求項１０】
前記第１のメモリアレイ回路は、さらに、
第１の予備メモリセルと、
前記第１の予備メモリセルに結合される予備マッチ線とを含み、
前記第２のメモリアレイ回路は、さらに、
第２の予備メモリセルと、
前記第２の予備メモリセルに結合される予備ワード線とを含み、
前記半導体装置は、さらに、
前記複数個の第１のメモリセルおよび前記複数個の第２のメモリセルに異常が発生していない場合には、前記複数本のマッチ線と前記複数本のワード線とをそれぞれ結合し、前記複数個の第１のメモリセルのいずれかに異常が発生した場合には、前記異常が発生した前記第１のメモリセルに結合される前記マッチ線以外の前記マッチ線および前記予備マッチ線と前記複数本のワード線とをそれぞれ結合し、かつ、前記複数個の第２のメモリセルのいずれかに異常が発生した場合には、前記異常が発生した前記第２のメモリセルに結合される前記ワード線以外の前記ワード線および前記予備ワード線と前記複数本のマッチ線とをそれぞれ結合するシフト回路を備える請求項５記載の半導体装置。
【請求項１１】
前記複数本のマッチ線および前記複数本のワード線は、前記複数個の第１のメモリセルが有する所定の優先順位に従ってそれぞれ配列され、
前記シフト回路は、前記複数個の第１のメモリセルのいずれかに異常が発生した場合には、前記異常が発生した前記第１のメモリセルに結合される前記マッチ線である異常マッチ線を前記異常マッチ線の隣に配置された前記マッチ線で置換し、前記置換に用いた前記マッチ線である置換マッチ線を、前記置換マッチ線の隣に配置された前記マッチ線で置換することを繰り返し、前記マッチ線配列の端の前記置換マッチ線を前記予備マッチ線で置換し、かつ、
前記複数個の第２のメモリセルのいずれかに異常が発生した場合には、前記異常が発生した前記第２のメモリセルに結合される前記ワード線である異常ワード線を前記異常ワード線の隣に配置された前記ワード線で置換し、前記置換に用いた前記ワード線である置換ワード線を、前記置換ワード線の隣に配置された前記ワード線で置換することを繰り返し、前記ワード線配列の端の前記置換ワード線を前記予備ワード線で置換する請求項１０記載の半導体装置。
【請求項１２】
前記半導体装置は、さらに、
前記複数本のワード線および前記予備ワード線にそれぞれ対応して配置される複数本のシフト線および予備シフト線を備え、
前記シフト回路は、前記複数個の第１のメモリセルおよび前記複数個の第２のメモリセルに異常が発生していない場合には、前記複数本のマッチ線と前記複数本のシフト線とをそれぞれ結合し、前記複数個の第１のメモリセルのいずれかに異常が発生した場合には、前記異常が発生した前記第１のメモリセルに結合される前記マッチ線以外の前記マッチ線および前記予備マッチ線と前記複数本のシフト線とをそれぞれ結合し、かつ、前記複数個の第２のメモリセルのいずれかに異常が発生した場合には、前記異常が発生した前記第２のメモリセルに結合される前記ワード線に対応する前記シフト線以外の前記シフト線および前記予備シフト線と前記複数本のマッチ線とをそれぞれ結合し、
前記半導体装置は、さらに、
前記複数本のシフト線および前記予備シフト線と前記複数本のワード線および前記予備ワード線との間に接続され、前記活性化された前記マッチ線が１本である場合には、前記活性化された前記マッチ線に結合された前記シフト線に対応する前記ワード線を活性化させ、前記活性化されたマッチ線が複数本存在する場合には、前記活性化された複数本の前記マッチ線に結合された複数本の前記シフト線の中から１本の前記シフト線を選択し、前記選択した前記シフト線に対応する前記ワード線を活性化させるプライオリティエンコーダを備え、
前記ビット線には、前記活性化された前記ワード線に結合される前記第２のメモリセルの記憶データに基づく信号が現われる請求項１０記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特に、ネットワークアドレス等の検索を行なう半導体装置に関する。
【背景技術】
【０００２】
ＣＡＭ（Content Addressable Memory）は、ルータおよびスイッチ等のネットワーク機器におけるアドレス経路検索のために近年用いられているＬＳＩである（たとえば、特許文献１参照）。
【０００３】
インターネット内に設置されたルータにパケットが到着すると、ルータは、次ホップ先すなわち次の経由先を見つけるためにアドレス検索を行なう。ここで、ルータ内のＣＡＭはハードウエアベースの検索を担当する。すなわち、ＣＡＭは、パケットが含む宛て先ネットワークアドレスを次ホップ先アドレス検索のためのサーチリクエストデータとして受けて、ＣＡＭ内で予め保持されている複数個のネットワークアドレスとサーチリクエストデータとを一斉に並列比較する。そして、ＣＡＭは、保持しているデータの中にパケットが含む宛て先ネットワークアドレスと一致するデータがある場合、次ホップ先アドレスが認識されたものとして、一致したデータが記憶されているアドレスの値を出力する。
【０００４】
一方、ＣＡＭの保持データの中にパケットが含む宛て先ネットワークアドレスと一致するアドレスがない場合には、ルータは、パケットの次ホップ先アドレスをＣＡＭによるハードウエアベースの検索ではない別の方法で検索する。たとえば、ルータは、ソフトウエアベースでパケットの次ホップ先アドレスの検索を行なうか、あるいはそのままパケット落ちとして処理する。
【０００５】
ＣＡＭによるハードウエアベースの検索の長所は、ＣＡＭ内で保持されているデータのビット数に関わらず実効サーチ性能が一定でかつ極めて高いことである。一方、通常のメモリを用いたソフトウエアベースでの検索は、様々な研究成果が報告されているものの、一般的には、メモリに保持されているネットワークアドレスのビット数が大きくなるにつれて処理時間は長くなる。すなわち、一般的なメモリを用いたソフトウエアベースでの検索は、メモリに保持されているネットワークアドレスのビット数に比例してアドレス検索に要する時間が大きくなるという特徴がある。これは近年のインターネット人口の増加を考慮すると芳しくない制限であり、ＣＡＭを用いたハードウエアベースの検索がネットワーク機器におけるアドレス経路検索の手段として高く評価される理由でもある。
【特許文献１】特開２００３−３１６６６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
反面、ＣＡＭの市場価格は同じデータ容量のメモリ、たとえばＳＲＡＭと比較して５倍以上も高いというマイナス要素もある。この高価格はＣＡＭ特有のハードウエア構成に起因するところが大きい。たとえば、高価格の要因のひとつはプライオリティエンコーダというＣＡＭ特有の回路を搭載することによるハードウエアオーバヘッドである。ここで、プライオリティエンコーダとは、一斉並列比較した際にヒットした複数個のアドレスの優先度に基づいて１個のアドレスをエンコード出力する回路である。ＣＡＭのハードウェアコストは、今日のネットワーク機器市場においても大きな課題であり、これまでもしばしば論じられてきたが、未だ効果的な解決策はない。
【０００７】
ハードウエアの一般的な性能指標のひとつとして、動作活性化率がしばしば問われることがある。ハードウエアは単純にコストとして評価され、ハードウエアを利用するアプリケーションにおいてハードウエアの動作活性率が低いことは、コスト対性能比が悪いことを意味する。
【０００８】
ここで、一般的なＣＡＭでは、アドレスデコーダおよびプライオリティエンコーダは、実際には同一タイミングにおいていずれか一方しか動作しないことから、動作活性化率およびコスト対性能比等のハードウエア性能指標において問題がある。
【０００９】
それゆえに、本発明の目的は、データ検索機能を実現するとともにコスト低減を図り、かつコスト対性能比の最適化を図ることが可能な半導体装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明に係る半導体装置は、要約すれば、第２のメモリアレイ回路と、第２のサーチラインドライバと、第２のセンスアンプとで構成される回路は、データ書き込み時においてアドレスデコーダとして動作し、かつデータ検索時においてエンコーダとして動作する。
【００１１】
第１のメモリアレイ回路は、複数個のデータを記憶する複数個の第１のメモリセルを含む。第２のメモリアレイ回路は、複数個の第１のメモリセルのアドレスをそれぞれ記憶する複数個の第２のメモリセルを含む。第１のサーチラインドライバは、第１のメモリアレイ回路へ第１の検索データを出力する。第２のサーチラインドライバは、書き込み対象である第１のメモリセルのアドレスを受けて、第１のメモリセルのアドレスを第２の検索データとして第２のメモリアレイ回路へ出力する。第２のメモリアレイ回路は、複数個の第２のメモリセルが記憶する複数個の第１のメモリセルのアドレスと第２の検索データとを比較し、比較結果に基づいて１個または複数個の第１のメモリセルを選択する。第１のセンスアンプは、選択された第１のメモリセルに対してデータ書き込みを行なう。第１のメモリアレイ回路は、複数個の第１のメモリセルが記憶する複数個のデータと第１の検索データとを比較し、第１の検索データと一致するデータを記憶する第１のメモリセルのアドレスを記憶する第２のメモリセルを選択する。第２のメモリアレイ回路は、複数個の第２のメモリセルに結合され、選択された第２のメモリセルの記憶データに基づく信号が現われるビット線を含む。第２のセンスアンプは、ビット線に現われた信号を検出して増幅し、増幅した信号を出力する。
【発明の効果】
【００１２】
本発明によれば、エンコーダおよびアドレスデコーダを第２のＣＡＭメモリアレイ回路と、第２のセンスアンプと、第２のサーチラインドライバとで実現することができる。また、データ書き込み時およびデータ検索時のいずれにおいても第２のメモリアレイ回路を動作活性化させることができる。したがって、データ検索機能を実現するとともにコスト低減を図り、かつコスト対性能比の最適化を図ることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【００１４】
＜第１の実施の形態＞
［構成および基本動作］
図１は、本発明の第１の実施の形態に係る半導体装置の構成を示す機能ブロック図である。
【００１５】
図１を参照して、半導体装置１は、ＣＡＭメモリアレイ回路（第１のメモリアレイ回路）１０と、センスアンプ（第１のセンスアンプ）１１と、サーチラインドライバ（第１のサーチラインドライバ）１２と、アドレス／データバッファ２０と、命令コードバッファ２１と、クロックバッファ２２と、サーチ結果出力バッファ２３と、アドレスデコーダ＆プライオリティエンコーダ４０と、アドレス／データ入力端子３０と、命令コード入力端子３１と、クロック入力端子３２と、サーチ結果出力端子３３とを備える。アドレスデコーダ＆プライオリティエンコーダ４０は、アドレスデコーダと、プライオリティエンコーダとを含む。アドレスデコーダ＆プライオリティエンコーダ４０におけるアドレスデコーダおよびプライオリティエンコーダは、回路の一部が共通化されている。
【００１６】
ＣＡＭメモリアレイ回路１０は、複数個のネットワークアドレスをそれぞれ記憶する複数個のメモリセル群を含む。以下、ネットワークアドレスは８ビットであると仮定して説明する。
【００１７】
アドレス／データバッファ２０は、外部から受けたアドレスおよびデータをセンスアンプ１１と、サーチラインドライバ１２と、アドレスデコーダ＆プライオリティエンコーダ４０とへ出力する。
【００１８】
命令コードバッファ２１は、外部から受けたデータ書き込みを表わす命令コード、およびデータ検索を表わす命令コードをセンスアンプ１１と、サーチラインドライバ１２と、アドレスデコーダ＆プライオリティエンコーダ４０とへ出力する。
【００１９】
クロックバッファ２２は、外部から受けたクロックをサーチラインドライバ１２と、アドレスデコーダ＆プライオリティエンコーダ４０とへ出力する。
【００２０】
アドレスデコーダ＆プライオリティエンコーダ４０は、アドレス／データバッファ２０から受けたアドレスに基づいて、データ書き込み時、書き込み対象のメモリセル群を選択する。
【００２１】
センスアンプ１１は、データ書き込み時、ＣＡＭメモリアレイ回路１０における選択されたメモリセル群に対してデータ書き込みを行なう。
【００２２】
サーチラインドライバ１２は、データ検索時、アドレス／データバッファ２０から受けたネットワークアドレス等の検索データをＣＡＭメモリアレイ回路１０へ出力する。
【００２３】
ＣＡＭメモリアレイ回路１０は、データ検索時、サーチラインドライバ１２から受けた検索データとメモリセル群が記憶するデータとを比較し、比較結果をアドレスデコーダ＆プライオリティエンコーダ４０へ伝達する。
【００２４】
アドレスデコーダ＆プライオリティエンコーダ４０は、データ検索時、ＣＡＭメモリアレイ回路１０から比較結果を受けて、検索データと一致するデータを記憶するメモリセル群が複数個ある場合、複数個のメモリセル群のうちのいずれか１個を選択する。そして、アドレスデコーダ＆プライオリティエンコーダ４０は、選択したメモリセル群のアドレス値をサーチ結果としてサーチ結果出力バッファ２３へ出力する。
【００２５】
サーチ結果出力バッファ２３は、アドレスデコーダ＆プライオリティエンコーダ４０から受けたサーチ結果をサーチ結果出力端子３３経由で外部へ出力する。
【００２６】
図２は、本発明の第１の実施の形態に係る半導体装置におけるＣＡＭメモリアレイ回路１０の構成を示す機能ブロック図である。
【００２７】
図２を参照して、ＣＡＭメモリアレイ回路１０は、ワード線ＷＬＡ０〜ＷＬＡ２５５と、マッチ線ＭＬＡ０〜ＭＬＡ２５５と、ビット線対ＢＬＰＡ０〜ＢＬＰＡ１５と、サーチ線対ＳＬＰＡ０〜ＳＬＰＡ７とを含む。ビット線対ＢＬＰＡ０〜ＢＬＰＡ１５は、ビット
線ＢＬＡ０〜ＢＬＡ１５と、ビット線／ＢＬＡ０〜／ＢＬＡ１５とを含む。サーチ線対ＳＬＰＡ０〜ＳＬＰＡ７は、サーチ線ＳＬＡ０〜ＳＬＡ７と、サーチ線／ＳＬＡ０〜／ＳＬＡ７とを含む。
【００２８】
以下、ワード線ＷＬＡ０〜ＷＬＡ２５５の各々をワード線ＷＬＡと称する場合がある。また、マッチ線ＭＬＡ０〜ＭＬＡ２５５の各々をマッチ線ＭＬＡと称する場合がある。また、ビット線対ＢＬＰＡ０〜ＢＬＰＡ１５の各々をビット線対ＢＬＰＡと称する場合がある。また、サーチ線対ＳＬＰＡ０〜ＳＬＰＡ７の各々をサーチ線対ＳＬＰＡと称する場合がある。また、ビット線ＢＬＡ０〜ＢＬＡ１５の各々をビット線ＢＬＡと称する場合がある。また、ビット線／ＢＬＡ０〜／ＢＬＡ１５の各々をビット線／ＢＬＡと称する場合がある。また、サーチ線ＳＬＡ０〜ＳＬＡ７の各々をサーチ線ＳＬＡと称する場合がある。また、サーチ線／ＳＬＡ０〜／ＳＬＡ７の各々をサーチ線／ＳＬＡと称する場合がある。
【００２９】
１本のマッチ線ＭＬＡに接続される８個のメモリセル１００が、１個のメモリセル群に対応している。ＣＡＭメモリアレイ回路１０は、２５６個のメモリセル群を含む、すなわち、８×２５６＝２０４８個のメモリセル１００を含む。たとえばマッチ線ＭＬＡ０に接続される８個のメモリセル１００が、アドレス０番地におけるデータを記憶している。ＣＡＭメモリアレイ回路１０は、アドレス０番地〜２５５番地において８ビットのデータを２５６個記憶する。
【００３０】
センスアンプ１１は、ビット線ＢＬＡ０〜ＢＬＡ１５と、ビット線／ＢＬＡ０〜／ＢＬＡ１５を介してＣＡＭメモリアレイ回路１０における各メモリセルに接続される。センスアンプ１１は、ＣＡＭメモリアレイ回路１０における各メモリセルに対してデータ読み出しおよびデータ書き込みを行なう。
【００３１】
ワード線ＷＬＡ０〜ＷＬＡ２５５は、アドレスデコーダ＆プライオリティエンコーダ４０におけるマッチ線ＭＬＢ０〜ＭＬＢ２５５に接続される。
【００３２】
マッチ線ＭＬＡ０〜ＭＬＡ２５５は、アドレスデコーダ＆プライオリティエンコーダ４０におけるプライオリティリゾルブ４０４０に接続される。
【００３３】
図３（ａ）および（ｂ）は、それぞれＣＡＭメモリアレイ回路１０におけるメモリセルの一例を示す回路図である。
【００３４】
図３（ａ）を参照して、メモリセル１００ａは、「０」、「１」および「Ｘ」（don't careを表わす）の３値を記憶するternary CAM cellである。メモリセル１００ａは、ＳＲＡＭ（Static Random Access Memory）セルＳＣ１およびＳＣ２と、ＮチャネルＭＯＳ（Metal Oxide Semiconductor）トランジスタＭ５５〜Ｍ５８とを含む。ＳＲＡＭセルＳＣ１は、ＮＯＴゲートＧ５１およびＧ５２と、ＮチャネルＭＯＳトランジスタＭ５１およびＭ５２とを含む。
【００３５】
ＮＯＴゲートＧ５１およびＧ５２は、記憶ノードＮ１１と記憶ノードＮ１２との間に互いに環状に接続される。
【００３６】
ＮチャネルＭＯＳトランジスタＭ５１は、記憶ノードＮ１１とビット線ＢＬとの間に配置される。すなわち、ＮチャネルＭＯＳトランジスタＭ５１は、ゲートがワード線ＷＬに接続され、ソースが記憶ノードＮ１１に接続され、ドレインがビット線ＢＬに接続される。ＮチャネルＭＯＳトランジスタＭ５２は、記憶ノードＮ１２とビット線／ＢＬとの間に配置される。すなわち、ＮチャネルＭＯＳトランジスタＭ５２は、ゲートがワード線ＷＬに接続され、ソースが記憶ノードＮ１２に接続され、ドレインがビット線／ＢＬに接続される。
【００３７】
ＮＯＴゲートＧ５３およびＧ５４は、記憶ノードＮ２１と記憶ノードＮ２２との間に互いに環状に接続される。
【００３８】
ＮチャネルＭＯＳトランジスタＭ５３は、記憶ノードＮ２１とビット線ＢＬとの間に配置される。すなわち、ＮチャネルＭＯＳトランジスタＭ５３は、ゲートがワード線ＷＬに接続され、ソースが記憶ノードＮ２１に接続され、ドレインがビット線ＢＬに接続される。ＮチャネルＭＯＳトランジスタＭ５４は、記憶ノードＮ２２とビット線／ＢＬとの間に
配置される。すなわち、ＮチャネルＭＯＳトランジスタＭ５４は、ゲートがワード線ＷＬに接続され、ソースが記憶ノードＮ２２に接続され、ドレインがビット線／ＢＬに接続される。
【００３９】
ＮチャネルＭＯＳトランジスタＭ５５は、ゲートが記憶ノードＮ１１に接続され、ソースが接地電位に接続され、ドレインがＮチャネルＭＯＳトランジスタＭ５６のソースに接続される。ＮチャネルＭＯＳトランジスタＭ５６は、ゲートがサーチ線ＳＬに接続され、ドレインがマッチ線ＭＬに接続される。なお、マッチ線ＭＬはデータ検索が行なわれる前にハイレベルにプリチャージされている。
【００４０】
ＮチャネルＭＯＳトランジスタＭ５７は、ゲートが記憶ノードＮ２１に接続され、ソースが接地電位に接続され、ドレインがＮチャネルＭＯＳトランジスタＭ５８のソースに接続される。ＮチャネルＭＯＳトランジスタＭ５８は、ゲートがサーチ線／ＳＬに接続され、ドレインがマッチ線ＭＬに接続される。
【００４１】
記憶ノードＮ１１およびＮ２１のレベルがそれぞれＳＲＡＭセルＳＣ１およびＳＣ２の記憶データに対応する。記憶ノードＮ１１およびＮ１２は互いに異なる論理レベルを有し、また、記憶ノードＮ２１およびＮ２２は互いに異なる論理レベルを有する。
【００４２】
記憶ノードＮ１１がハイレベルであり、かつ記憶ノードＮ２１がローレベルである場合であってサーチ線ＳＬがハイレベルであり、かつサーチ線／ＳＬがローレベルであるときには、ＮチャネルＭＯＳトランジスタＭ５５およびＭ５６がいずれもオン状態となるためマッチ線ＭＬがローレベルとなる。この場合、マッチ線ＭＬは、サーチ線ＳＬおよび／ＳＬを介して受けた検索データとメモリセル１００ａの記憶データとが一致していない状態を示す。
【００４３】
一方、記憶ノードＮ１１がハイレベルであり、かつ記憶ノードＮ２１がローレベルである場合であってサーチ線ＳＬがローレベルであり、かつサーチ線／ＳＬがハイレベルであるときには、ＮチャネルＭＯＳトランジスタＭ５６がオフ状態となり、ＮチャネルＭＯＳトランジスタＭ５７がオフ状態となるためマッチ線ＭＬはハイレベルを維持する。この場合、マッチ線ＭＬは、サーチ線ＳＬおよび／ＳＬを介して受けた検索データとメモリセル１００ａの記憶データとが一致している状態を示す。
【００４４】
また、記憶ノードＮ１１およびＮ２１がいずれもローレベルである場合には、ＮチャネルＭＯＳトランジスタＭ５５およびＭ５７がいずれもオフ状態となるためマッチ線ＭＬはハイレベルを維持する。この場合、サーチ線ＳＬおよび／ＳＬの論理レベルに関わらずマッチ線ＭＬは常にハイレベルとなるため、メモリセル１００ａは「Ｘ」（don't care）を記憶している状態となる。
【００４５】
なお、メモリセル１００ａは、記憶ノードＮ１１およびＮ１２がいずれもハイレベルである場合を加えると、４値を記憶することが可能であるといえる。
【００４６】
図３（ｂ）を参照して、メモリセル１００ｂは、たとえば「０」および「１」の２値を記憶するbinary CAM cellである。メモリセル１００ｂは、ＳＲＡＭセルＳＣ３と、ＮチャネルＭＯＳトランジスタＭ６３〜Ｍ６６とを含む。ＳＲＡＭセルＳＣ３は、ＮＯＴゲートＧ６１およびＧ６２と、ＮチャネルＭＯＳトランジスタＭ６１およびＭ６２とを含む。
【００４７】
ＮＯＴゲートＧ６１およびＧ６２は、記憶ノードＮ３１と記憶ノードＮ３２との間に互いに環状に接続される。
【００４８】
ＮチャネルＭＯＳトランジスタＭ６１は、記憶ノードＮ３１とビット線ＢＬとの間に配置される。すなわち、ＮチャネルＭＯＳトランジスタＭ６１は、ゲートがワード線ＷＬに接続され、ソースが記憶ノードＮ３１に接続され、ドレインがビット線ＢＬに接続される。ＮチャネルＭＯＳトランジスタＭ６２は、記憶ノードＮ３２とビット線／ＢＬとの間に配置される。すなわち、ＮチャネルＭＯＳトランジスタＭ６２は、ゲートがワード線ＷＬに接続され、ソースが記憶ノードＮ３２に接続され、ドレインがビット線／ＢＬに接続される。
【００４９】
ＮチャネルＭＯＳトランジスタＭ６３は、ゲートが記憶ノードＮ３２に接続され、ソースが接地電位に接続され、ドレインがＮチャネルＭＯＳトランジスタＭ６４のソースに接続される。ＮチャネルＭＯＳトランジスタＭ６４は、ゲートがサーチ線ＳＬに接続され、ドレインがマッチ線ＭＬに接続される。ＮチャネルＭＯＳトランジスタＭ６５は、ゲートが記憶ノードＮ３１に接続され、ソースが接地電位に接続され、ドレインがＮチャネルＭＯＳトランジスタＭ６６のソースに接続される。ＮチャネルＭＯＳトランジスタＭ６６は、ゲートがサーチ線／ＳＬに接続され、ドレインがマッチ線ＭＬに接続される。なお、マッチ線ＭＬはデータ検索が行なわれる前にハイレベルにプリチャージされている。
【００５０】
記憶ノードＮ３１およびＮ３２のレベルがＳＲＡＭセルＳＣ３の記憶データに対応する。記憶ノードＮ３１およびＮ３２は互いに異なる論理レベルを有する。
【００５１】
記憶ノードＮ３２がハイレベルの場合であってサーチ線ＳＬがハイレベルであり、かつサーチ線／ＳＬがローレベルであるときには、ＮチャネルＭＯＳトランジスタＭ６３およびＭ６４がいずれもオン状態となるためマッチ線ＭＬがローレベルとなる。この場合、マッチ線ＭＬは、サーチ線ＳＬおよび／ＳＬを介して受けた検索データとメモリセル１００ｂの記憶データとが一致していない状態を示す。
【００５２】
一方、記憶ノードＮ３２がハイレベルの場合であってサーチ線ＳＬがローレベルであり、かつサーチ線／ＳＬがハイレベルであるときには、ＮチャネルＭＯＳトランジスタＭ６４がオフ状態となり、ＮチャネルＭＯＳトランジスタＭ６５がオフ状態となるためマッチ線ＭＬはハイレベルを維持する。この場合、マッチ線ＭＬは、サーチ線ＳＬおよび／ＳＬを介して受けた検索データとメモリセル１００ｂの記憶データとが一致している状態を示す。
【００５３】
なお、ＣＡＭメモリアレイ回路１０が含むメモリセル１００は、メモリセル１００ａおよび１００ｂのいずれであってもよい。
【００５４】
図４は、本発明の第１の実施の形態に係る半導体装置におけるアドレスデコーダ＆プライオリティエンコーダ４０の構成を示す機能ブロック図である。図４において、ＣＡＭメモリアレイ回路４０１０内の複数個のブロックは、アドレス０番地〜２５５番地のメモリセル群において０ｘ００〜０ｘＦＦ（１６進数）のデータがそれぞれ記憶されている状態を概念的に示している。
【００５５】
アドレスデコーダ＆プライオリティエンコーダ４０は、ＣＡＭメモリアレイ回路（第２のメモリアレイ回路）４０１０と、センスアンプ（第２のセンスアンプ）４０１１と、サーチラインドライバ（第２のサーチラインドライバ）４０１２と、プライオリティリゾルブ４０４０と、ワード線ＷＬＢ０〜ＷＬＢ２５５と、マッチ線ＭＬＢ０〜ＭＬＢ２５５と、ビット線対ＢＬＰＢ０〜ＢＬＰＢ７と、サーチ線対ＳＬＰＢ０〜ＳＬＰＢ７とを含む。ＣＡＭメモリアレイ回路４０１０と、センスアンプ４０１１と、サーチラインドライバ４０１２とは、それぞれＣＡＭメモリアレイ回路１０と、センスアンプ１１と、サーチラインドライバ１２と同じ構成である、すなわち回路が共通である。
【００５６】
以下、ワード線ＷＬＢ０〜ＷＬＢ２５５の各々をワード線ＷＬＢと称する場合がある。また、マッチ線ＭＬＢ０〜ＭＬＢ２５５の各々をマッチ線ＭＬＢと称する場合がある。また、ビット線対ＢＬＰＢ０〜ＢＬＰＢ１５の各々をビット線対ＢＬＰＢと称する場合がある。また、サーチ線対ＳＬＰＢ０〜ＳＬＰＢ７の各々をサーチ線対ＳＬＰＢと称する場合がある。また、ビット線ＢＬＢ０〜ＢＬＢ１５の各々をビット線ＢＬＢと称する場合がある。また、ビット線／ＢＬＢ０〜／ＢＬＢ１５の各々をビット線／ＢＬＢと称する場合がある。また、サーチ線ＳＬＢ０〜ＳＬＢ７の各々をサーチ線ＳＬＢと称する場合がある。また、サーチ線／ＳＬＢ０〜／ＳＬＢ７の各々をサーチ線／ＳＬＢと称する場合がある。
【００５７】
ＣＡＭメモリアレイ回路４０１０は、複数個のデータをそれぞれ記憶する複数個のメモリセル群を含む。たとえば、ネットワークアドレスが８ビットを有する場合、ＣＡＭメモリアレイ回路４０１０は、アドレス０番地〜２５５番地において８ビットのデータを２５６個記憶する。各アドレスにおけるデータは、データが記憶されているアドレスの値と一致する。たとえば、アドレス０番地に記憶されているデータは８ビットすべてが「０」であり、アドレス１番地に記憶されているデータは最下位ビットのみ「１」で残りのビットはすべて「０」であり、アドレス２５５番地に記憶されているデータは８ビットすべてが「１」である。ＣＡＭメモリアレイ回路４０１０における複数個のメモリセル群には、予め、上記のようなデータが書き込まれている。これらのデータの書き込みは、半導体装置１の電源立ち上げ直後等の期間を利用して自動的に行なえる構成であることが望ましい。
【００５８】
サーチラインドライバ４０１２は、データ書き込み時、アドレス／データバッファ２０から受けた書き込み対象のメモリセルのアドレスをＣＡＭメモリアレイ回路４０１０へ出力する。
【００５９】
センスアンプ４０１１は、ビット線対ＢＬＰＢ０〜ＢＬＰＢ７を介してＣＡＭメモリアレイ回路４０１０における各メモリセルに接続される。センスアンプ４０１１は、ＣＡＭメモリアレイ回路４０１０に対してデータ読み出しおよびデータ書き込みを行なう。
【００６０】
ＣＡＭメモリアレイ回路４０１０は、マッチ線ＭＬＢ０〜ＭＬＢ２５５を介してＣＡＭメモリアレイ回路１０におけるワード線ＷＬＡ０〜ＷＬＡ２５５に接続される。
【００６１】
ＣＡＭメモリアレイ回路４０１０およびプライオリティリゾルブ４０４０は、ワード線ＷＬＢ０〜ＷＬＢ２５５を介して接続される。
【００６２】
プライオリティリゾルブ４０４０は、ＣＡＭメモリアレイ回路１０におけるマッチ線ＭＬＡ０〜ＭＬＡ２５５に接続される。
【００６３】
［動作］
次に、本発明の第１の実施の形態に係る半導体装置がデータ書き込みを行なう際の動作について説明する。
【００６４】
図１および図２を参照して、命令コードバッファ２１は、外部から受けたデータ書き込みを表わす命令コードをセンスアンプ１１と、サーチラインドライバ１２と、アドレスデコーダ＆プライオリティエンコーダ４０とへ出力する。
【００６５】
アドレス／データバッファ２０は、外部から受けたアドレスおよび書き込みデータをセンスアンプ１１と、サーチラインドライバ１２と、アドレスデコーダ＆プライオリティエンコーダ４０とへ出力する。
【００６６】
アドレスデコーダ＆プライオリティエンコーダ４０は、アドレス／データバッファ２０から受けたアドレスに基づいて、ＣＡＭメモリアレイ回路１０におけるワード線ＷＬＡ０〜ＷＬＡ２５５の中からいずれか１個を選択し、選択したワード線ＷＬＡを活性化する。
【００６７】
センスアンプ１１は、データ書き込み時、データ書き込みバッファとして機能する。すなわち、センスアンプ１１は、ビット線対ＢＬＰＡ０〜ＢＬＰＡ７と結合され、ビット線対ＢＬＰＡ０〜ＢＬＰＡ７を介して選択ワード線ＷＬＡに対応するすべてのメモリセルに対して一斉にデータ書き込みを行なう。なお、半導体装置１は、行方向のデコーダすなわちアドレスデコーダ＆プライオリティエンコーダ４０に加えて列方向のデコーダを備え、アドレス信号に基づいて選択されたワード線ＷＬＡおよび選択されたビット線対ＢＬＰＡに対応するメモリセルに対してデータ書き込みを行なう構成であってもよい。
【００６８】
ここで、データ書き込み時、アドレスデコーダ＆プライオリティエンコーダ４０はプライオリティエンコーダとしてはまったく動作していない点に注意すべきである。
【００６９】
次に、データ書き込み時におけるアドレスデコーダ＆プライオリティエンコーダ４０の動作を説明する。
【００７０】
図５は、本発明の第１の実施の形態に係る半導体装置におけるアドレスデコーダ＆プライオリティエンコーダ４０のデータ書き込み時における動作を示す図である。
【００７１】
サーチラインドライバ４０１２は、命令コードバッファ２１からデータ書き込みを表わす命令コードを受けて、サーチ線対ＳＬＰＢ０〜ＳＬＰＢ７を駆動することにより、アドレス／データバッファ２０からアドレス線対ＸＰ０〜ＸＰ７経由で受けた８ビットのアドレスをサーチ線対ＳＬＰＢ０〜ＳＬＰＢ７経由でＣＡＭメモリアレイ回路４０１０へ出力する。
【００７２】
ＣＡＭメモリアレイ回路４０１０は、サーチラインドライバ４０１２から受けたアドレスとアドレス０番地〜２５５番地におけるデータの各々とを比較する。そして、ＣＡＭメモリアレイ回路４０１０は、比較結果に基づいてＣＡＭメモリアレイ回路１０におけるメモリセルを選択する。より詳細には、ＣＡＭメモリアレイ回路４０１０は、アドレスと８ビットすべてが一致したデータに対応するマッチ線ＭＬＢをハイレベルに保持し、かつアドレスと１ビットでも一致しないデータに対応するマッチ線ＭＬＢを放電してローレベルとする。なお、マッチ線ＭＬＢ０〜ＭＬＢ２５５は、データ書き込みが行われる前にハイレベルにプリチャージされている。
【００７３】
たとえば、外部アドレスすなわちアドレス／データバッファ２０が外部から受けたアドレスが０番地を示している場合には、サーチラインドライバ４０１２は、８ビットすべてが「０」であるデータをサーチ線対ＳＬＰＢ０〜ＳＬＰＢ７経由でＣＡＭメモリアレイ回路４０１０へ出力する。
【００７４】
ＣＡＭメモリアレイ回路４０１０は、８ビットがすべて「０」であるデータを記憶する０番地に対応するマッチ線ＭＬＢ０のハイレベルを保持し、他のマッチ線ＭＬＢはローレベルとする。すなわち、ＣＡＭメモリアレイ回路４０１０は、ＣＡＭメモリアレイ回路１０におけるワード線ＷＬＡ０をハイレベルに駆動する。
【００７５】
同様に、外部アドレスすなわちアドレス／データバッファ２０が外部から受けたアドレスが１番地を示している場合には、サーチラインドライバ４０１２は、「０００００００１」である８ビットのデータをサーチ線対ＳＬＰＢ０〜ＳＬＰＢ７経由でＣＡＭメモリアレイ回路４０１０へ出力する。
【００７６】
ＣＡＭメモリアレイ回路４０１０は、「０００００００１」である８ビットのデータを記憶する１番地に対応するマッチ線ＭＬＢ１のハイレベルを保持し、他のマッチ線ＭＬＢはローレベルとする。すなわち、ＣＡＭメモリアレイ回路４０１０は、ＣＡＭメモリアレイ回路１０におけるワード線ＷＬＡ１をハイレベルに駆動する。
【００７７】
したがって、アドレスデコーダ＆プライオリティエンコーダ４０は、サーチラインドライバ４０１２およびＣＡＭメモリアレイ回路４０１０を用いて、アドレスデコーダの機能を実現することが可能である。
【００７８】
次に、本発明の第１の実施の形態に係る半導体装置がデータ検索を行なう際の動作について説明する。
【００７９】
図６は、本発明の第１の実施の形態に係る半導体装置におけるＣＡＭメモリアレイ回路１０のデータ検索時における動作を示す図である。ここでは、Ｎ＝８、Ｍ＝２５６であると仮定して説明する。
【００８０】
図６を参照して、ＣＡＭメモリアレイ回路１０は、８×２５６＝２０４８個のメモリセル１００を含む。たとえばマッチ線ＭＬＡ０に接続される８個のメモリセルが、アドレス０番地におけるデータを記憶している。
【００８１】
メモリセル１００において、ＭＣで示すブロックは図３（ａ）に示すＳＲＡＭセルＳＣ１およびＳＣ２、または図３（ｂ）に示すＳＲＡＭセルＳＣ３に相当する。ＸＯＲで示すブロックはイクスクルーシブオア回路であり、イクスクルーシブオア回路の出力に接続されるゲートを有するＮチャネルＭＯＳトランジスタと合わせて図３（ａ）に示すＮチャネルＭＯＳトランジスタＭ５５〜Ｍ５８または図３（ｂ）に示すＮチャネルＭＯＳトランジスタＭ６３〜Ｍ６６に相当する。
【００８２】
命令コードバッファ２１は、外部から受けたデータ検索を表わす命令コードをセンスアンプ１１と、サーチラインドライバ１２と、アドレスデコーダ＆プライオリティエンコーダ４０とへ出力する。
【００８３】
サーチラインドライバ１２は、命令コードバッファ２１からデータ検索を表わす命令コードを受けて、サーチ線ＳＬＡ０〜ＳＬＡ７を駆動することにより、アドレス／データバッファ２０から受けた８ビットの検索データをＣＡＭメモリアレイ回路１０へ出力する。
【００８４】
再び図１を参照して、ＣＡＭメモリアレイ回路１０は、サーチラインドライバ１２から受けた検索データとアドレス０番地〜２５５番地におけるデータの各々とを比較する。そして、ＣＡＭメモリアレイ回路１０は、比較結果に基づいてＣＡＭメモリアレイ回路４０１０におけるメモリセルを選択する。より詳細には、ＣＡＭメモリアレイ回路１０は、８ビットすべてが一致したデータに対応するマッチ線ＭＬＡをハイレベルに保持し、かつ１ビットでも一致しないデータに対応するマッチ線ＭＬＡを放電してローレベルとする。なお、マッチ線ＭＬＡ０〜ＭＬＡ２５５は、データ検索が行なわれる前にハイレベルにプリチャージされている。
【００８５】
アドレスデコーダ＆プライオリティエンコーダ４０は、ハイレベルに保持されているマッチ線ＭＬＡが複数本存在した場合には、たとえば番号の小さいマッチ線ＭＬＡを優先して、すなわちマッチ線ＭＬＡに対応するメモリセル群のアドレス値の小さい方を優先してエンコード出力する。
【００８６】
サーチ結果出力バッファ２３は、アドレスデコーダ＆プライオリティエンコーダ４０から受けたサーチ結果であるアドレス値をサーチ結果出力端子３３から外部へ出力する。
【００８７】
ここで、データ検索時、アドレスデコーダ＆プライオリティエンコーダ４０はアドレスデコーダとしてはまったく動作していない点に注意すべきである。
【００８８】
図７は、本発明の第１の実施の形態に係る半導体装置におけるアドレスデコーダ＆プライオリティエンコーダ４０のデータ検索時における動作を示す図である。
【００８９】
アドレスデコーダ＆プライオリティエンコーダ４０におけるプライオリティリゾルブ４０４０は、マッチ線ＭＬＡ０〜ＭＬＡ２５５およびワード線ＷＬＢ０〜ＷＬＢ２５５の間に配置される。プライオリティリゾルブ４０４０は、ハイレベルに保持されているマッチ線ＭＬＡに対応するワード線ＷＬＢを選択してハイレベルに駆動し、他のワード線ＷＬＢをローレベルに駆動する。ここで、プライオリティリゾルブ４０４０は、ハイレベルに保持されているマッチ線ＭＬＡが複数本存在している場合には、ハイレベルに保持されている複数本のマッチ線ＭＬＡのうち、たとえば番号の最も小さいマッチ線ＭＬＡに対応するワード線ＷＬＢをハイレベルに駆動し、他のワード線ＷＬＢをローレベルに駆動する。
【００９０】
そうすると、ＣＡＭメモリアレイ回路４０１０において、ハイレベルに駆動されたワード線ＷＬＢに接続されたゲートを有するＮチャネルＭＯＳトランジスタがオン状態となり、記憶ノードのレベルがビット線対へ伝達される。すなわち、ビット線対ＢＬＰＢ０〜ＢＬＰＢ７には、ハイレベルに駆動されたワード線ＷＬＢに対応するメモリセル群の記憶データに基づく信号が現われる。
【００９１】
センスアンプ４０１１は、ＣＡＭメモリアレイ回路４０１０に対してデータ読み出しおよび読み出しデータの増幅を行なう。すなわち、センスアンプ４０１１は、ビット線対ＢＬＰＢ０〜ＢＬＰＢ７に現われた信号を検出して増幅する。そして、センスアンプ４０１１は、増幅した信号、すなわち検索データと一致するデータが記憶されているＣＡＭメモリアレイ回路１０のアドレス値をサーチ結果としてサーチ結果出力バッファ２３へ出力する。
【００９２】
したがって、アドレスデコーダ＆プライオリティエンコーダ４０は、ＣＡＭメモリアレイ回路４０１０およびセンスアンプ４０１１を用いて、エンコーダの機能を実現することが可能である。さらに、アドレスデコーダ＆プライオリティエンコーダ４０は、ＣＡＭメモリアレイ回路４０１０、センスアンプ４０１１およびプライオリティリゾルブ４０４０を用いて、プライオリティエンコーダの機能を実現することが可能である。
【００９３】
図８は、プライオリティリゾルブ４０４０の構成を示す回路図である。図８では、マッチ線ＭＬＡ０〜ＭＬＡ７およびワード線ＷＬＢ０〜ＷＬＢ７に対応する回路を代表的に示す。
【００９４】
図８を参照して、プライオリティリゾルブ４０４０は、バッファＧ１〜Ｇ８と、ＮＯＲゲートＧ１１〜Ｇ１６と、ＮＯＴゲートＧ１７と、ＮＡＮＤゲートＧ２１〜Ｇ２７と、ＮＯＴゲートＧ３１〜Ｇ３８とを含む。
【００９５】
プライオリティリゾルブ４０４０は、ハイレベルに保持されている複数個のマッチ線ＭＬＡのうち、番号の最も小さいマッチ線ＭＬＡに対応するワード線ＷＬＢのみをハイレベルに駆動し、他のワード線ＷＬＢをローレベルに駆動する。たとえば、マッチ線ＭＬＡ０がハイレベルである場合には、マッチ線ＭＬＡ１〜ＭＬＡ２５５がハイレベルであるかローレベルであるかに関わらず、ワード線ＷＬＢ０はハイレベルとなり、ワード線ＷＬＢ１〜ＷＬＢ２５５はすべてローレベルとなる。
【００９６】
ところで、一般的なＣＡＭでは、アドレスデコーダおよびプライオリティエンコーダは、実際には同一タイミングにおいていずれか一方しか動作しないものであり、動作活性化率およびコスト対性能比等のハードウエア性能指標において問題がある。しかしながら、本発明の第１の実施の形態に係る半導体装置では、アドレスデコーダ＆プライオリティエンコーダ４０は、データ書き込み時においてアドレスデコーダとして動作し、かつデータ検索時においてプライオリティエンコーダとして動作する。そして、アドレスデコーダ＆プライオリティエンコーダ４０は、ＣＡＭメモリアレイ回路４０１０と、センスアンプ４０１１と、サーチラインドライバ４０１２とにプライオリティリゾルブ４０４０を追加することにより構成することができる。
【００９７】
図９は、一般的なＣＡＭにおけるエンコーダの構成を示す回路図である。図９は、一般的なＣＡＭにおけるエンコーダを本発明の第１の実施の形態に係る半導体装置に適用した場合の構成を示している。また、図９では、アドレスＡ０に対応する回路を主に示す。
【００９８】
図９を参照して、このエンコーダは、プライオリティリゾルブ４０４０とワード線ＷＬＢ０〜ＷＬＢ２５５を介して接続され、ハイレベルに駆動されたワード線ＷＬＢに対応するアドレス値をサーチ結果としてサーチ結果出力バッファ２３へ出力する。
【００９９】
このエンコーダは、アドレスＡ０に対応して論理ゲートを１４個含む。すなわち、ネットワークアドレスが８ビットとすると、一点鎖線で囲まれた構成がたとえば８個分必要となる。
【０１００】
図１０は、一般的なＣＡＭにおけるアドレスデコーダの構成を示す回路図である。図１０は、一般的なＣＡＭにおけるアドレスデコーダを本発明の第１の実施の形態に係る半導体装置に適用した場合の構成を示している。
【０１０１】
図１０を参照して、このアドレスデコーダは、アドレス／データバッファ２０とアドレス線対ＸＰ０〜ＸＰ７を介して接続され、アドレス／データバッファ２０からアドレス線対ＸＰ０〜ＸＰ７を介して受けた８ビットのアドレスに対応するワード線ＷＬＡを活性化させる。
【０１０２】
このアドレスデコーダは、ネットワークアドレスが８ビットであるとすると論理ゲートを５１２個含む構成となる。
【０１０３】
図９に示すエンコーダと、図１０に示すアドレスデコーダとを合わせた回路が図４に示すアドレスデコーダ＆プライオリティエンコーダ４０からプライオリティリゾルブ４０４０を除いた回路に相当する。
【０１０４】
図１１は、アドレスデコーダ＆プライオリティエンコーダ４０におけるＣＡＭメモリアレイ回路４０１０の構成を示す回路図である。
【０１０５】
図１１を参照して、ＣＡＭメモリアレイ回路４０１０は、たとえば図３（ｂ）に示すメモリセル１００ｂを８ビットのネットワークアドレスに対応して８×２５６＝２０４８個備える。
【０１０６】
ここで、たとえば図３（ａ）および（ｂ）に示すメモリセルを含むＣＡＭメモリアレイ回路は通常カスタマイズされており、図９に示すエンコーダおよび図１０に示すアドレスデコーダと比較してさらに製造プロセスの微細化されたデザインルールを適用することができる。すなわち、本発明の第１の実施の形態に係る半導体装置では、図９に示すエンコーダおよび図１０に示すアドレスデコーダの代わりにＣＡＭメモリアレイ回路４０１０と、センスアンプ４０１１と、サーチラインドライバ４０１２とを用いる。このような構成により、一般的なＣＡＭと比べてハードウェアコストすなわち回路規模を削減することができる。
【０１０７】
また、本発明の第１の実施の形態に係る半導体装置では、アドレスデコーダおよびエンコーダをＣＡＭメモリアレイ回路４０１０と、センスアンプ４０１１と、サーチラインドライバ４０１２とで構成される回路として共通化する。このような構成により、ＣＡＭメモリアレイ回路１０と同様にデータ書き込み時およびデータ検索時のいずれにおいてもＣＡＭメモリアレイ回路４０１０を動作活性化させることができ、コスト対性能比の最適化を図ることができる。
【０１０８】
さらに、本発明の第１の実施の形態に係る半導体装置では、アドレスデコーダ＆プライオリティエンコーダ４０が含むＣＡＭメモリアレイ回路４０１０と、センスアンプ４０１１と、サーチラインドライバ４０１２とは、それぞれＣＡＭメモリアレイ回路１０と、センスアンプ１１と、サーチラインドライバ１２と同じ構成である。このように、アドレスデコーダ＆プライオリティエンコーダ４０がＣＡＭメモリアレイ回路１０と共通の回路を備える構成により、ＬＳＩの開発を容易にし、また、製造時の歩留り向上および不良解析の容易化を図ることができる。
【０１０９】
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【０１１０】
＜第２の実施の形態＞
本実施の形態は、第１の実施の形態に係る半導体装置と比べて冗長構成を有する半導体装置に関する。以下で説明する内容以外は第１の実施の形態に係る半導体装置と同様である。
【０１１１】
図１２は、本発明の第２の実施の形態に係る半導体装置の構成を示す図である。
図１２を参照して、半導体装置２は、本発明の第１の実施の形態に係る半導体装置と比べて、さらに、行シフタ部５１と、列シフタ部５２，５３とを備え、ＣＡＭメモリアレイ回路１０の代わりにＣＡＭメモリアレイ回路１１０を備え、アドレスデコーダ＆プライオリティエンコーダ４０の代わりにアドレスデコーダ＆プライオリティエンコーダ１４０を備える。行シフタ部５１は、後述する行シフタ６１，６２を含む。列シフタ部５２は、後述する列シフタ６３，６４を含む。列シフタ部５３は、列シフタ６５，６６を含む。
【０１１２】
ＣＡＭメモリアレイ回路１１０は、行列状に配置された複数個のメモリセルを含む。このメモリセルの行列は、冗長構成として１つの予備メモリセル行と、１つの予備メモリセル列とを含む。なお、ＣＡＭメモリアレイ回路１１０が含むメモリセル１００は、前述したメモリセル１００ａおよび１００ｂのいずれであってもよい。
【０１１３】
ＣＡＭメモリアレイ回路１１０においてメモリセルに異常が発生していない場合には、
予備メモリセル行および予備メモリセル列以外のメモリセルで構成されるメモリセル行が１個のネットワークアドレスを記憶する。
【０１１４】
ＣＡＭメモリアレイ回路１１０においてメモリセルに異常が発生した場合には、異常が発生したメモリセルの代わりに予備メモリセル行および予備メモリセル列に含まれるメモリセルを用いることにより救済が行なわれる。
【０１１５】
本発明の第２の実施の形態に係る半導体装置では、予備メモリセル行および予備メモリセル列を用いる場合を含めてネットワークアドレスまたはメモリセルのアドレス値を記憶するメモリセル行をメモリセル群と称する。以下、ネットワークアドレスは８ビットであると仮定して説明する。
【０１１６】
図１３は、本発明の第２の実施の形態に係る半導体装置におけるＣＡＭメモリアレイ回路１１０の構成を示す機能ブロック図である。
【０１１７】
図１３を参照して、ＣＡＭメモリアレイ回路１１０は、ワード線ＷＬＡ０〜ＷＬＡ２５５と、マッチ線ＭＬＡ０〜ＭＬＡ２５５と、ビット線対ＢＬＩＰＡ０〜ＢＬＩＰＡ１５と、サーチ線対ＳＬＩＰＡ０〜ＳＬＩＰＡ７とを含む。ビット線対ＢＬＩＰＡ０〜ＢＬＩＰＡ１５は、ビット線ＢＬＩＡ０〜ＢＬＩＡ１５と、ビット線／ＢＬＩＡ０〜／ＢＬＩＡ１５とを含む。サーチ線対ＳＬＩＰＡ０〜ＳＬＩＰＡ７は、サーチ線ＳＬＩＡ０〜ＳＬＩＡ７と、サーチ線／ＳＬＩＡ０〜／ＳＬＩＡ７とを含む。さらに、ＣＡＭメモリアレイ回路１１０は、冗長構成として、ワード線ＷＬＡＳＰと、マッチ線ＭＬＡＳＰと、ビット線対ＢＬＩＰＡＳＰと、サーチ線対ＳＬＩＰＡＳＰとを含む。ビット線対ＢＬＩＰＡＳＰは、ビット線ＢＬＩＡＳＰと、ビット線／ＢＬＩＡＳＰとを含む。サーチ線対ＳＬＩＰＡＳＰは、サーチ線ＳＬＩＡＳＰと、サーチ線／ＳＬＩＡＳＰとを含む。
【０１１８】
以下、ビット線対ＢＬＩＰＡ０〜ＢＬＩＰＡ１５，ＢＬＩＰＡＳＰの各々をビット線対ＢＬＩＰＡと称する場合がある。また、ビット線ＢＬＩＡ０〜ＢＬＩＡ１５，ＢＬＩＡＳＰの各々をビット線ＢＬＩＡと称する場合がある。また、ビット線／ＢＬＩＡ０〜／ＢＬＩＡ１５，／ＢＬＩＡＳＰの各々をビット線／ＢＬＩＡと称する場合がある。また、サーチ線対ＳＬＩＰＡ０〜ＳＬＩＰＡ７，ＳＬＩＰＡＳＰの各々をサーチ線対ＳＬＩＰＡと称する場合がある。また、サーチ線ＳＬＩＡ０〜ＳＬＩＡ７，ＳＬＩＡＳＰの各々をサーチ線ＳＬＩＡと称する場合がある。また、サーチ線／ＳＬＩＡ０〜／ＳＬＩＡ７，／ＳＬＩＡＳＰの各々をサーチ線／ＳＬＩＡと称する場合がある。
【０１１９】
１本のマッチ線ＭＬＡに接続される８個のメモリセル１００が、１個のメモリセル群に対応している。ＣＡＭメモリアレイ回路１１０は、２５６個のメモリセル群を含む。すなわち、ＣＡＭメモリアレイ回路１１０は、予備メモリセル行および予備メモリセル列に含まれるメモリセル１００を合わせて、９×２５７＝２３１３個のメモリセル１００を含む。マッチ線ＭＬＡ０に接続される８個のメモリセル１００が、アドレス０番地におけるデータを記憶している。ＣＡＭメモリアレイ回路１１０は、アドレス０番地〜２５５番地において８ビットのデータを２５６個記憶する。
【０１２０】
センスアンプ１１は、ビット線ＢＬＡ０〜ＢＬＡ１５と、ビット線／ＢＬＡ０〜／ＢＬＡ１５とを介して列シフタ部５３に接続される。列シフタ部５３は、ビット線ＢＬＩＡ０〜ＢＬＩＡ１５，ＢＬＩＡＳＰと、ビット線／ＢＬＩＡ０〜／ＢＬＩＡ１５，／ＢＬＩＡＳＰとを介してＣＡＭメモリアレイ回路１１０における各メモリセルに接続される。センスアンプ１１は、ＣＡＭメモリアレイ回路１１０における各メモリセルに対してデータ読み出しおよびデータ書き込みを行なう。
【０１２１】
ワード線ＷＬＡ０〜ＷＬＡ２５５，ＷＬＡＳＰは、行シフタ部５１を介してアドレスデコーダ＆プライオリティエンコーダ１４０におけるＣＡＭメモリアレイ回路４１１０に接続される。
【０１２２】
マッチ線ＭＬＡ０〜ＭＬＡ２５５，ＭＬＡＳＰは、行シフタ部５１を介してアドレスデコーダ＆プライオリティエンコーダ１４０におけるプライオリティリゾルブ４１４０に接続される。
【０１２３】
図１４は、本発明の第２の実施の形態に係る半導体装置におけるアドレスデコーダ＆プライオリティエンコーダ１４０のデータ書き込み時における動作を示す図である。図１４において、ＣＡＭメモリアレイ回路４１１０内の複数個のブロックは、アドレス０番地〜２５５番地のメモリセル群において０ｘ００〜０ｘＦＦ（１６進数）のデータがそれぞれ記憶されている状態を概念的に示している。
【０１２４】
アドレスデコーダ＆プライオリティエンコーダ１４０は、ＣＡＭメモリアレイ回路（第２のメモリアレイ回路）４１１０と、サーチラインドライバ（第２のサーチラインドライバ）４０１２と、列シフタ６３と、マッチ線ＭＬＢ０〜ＭＬＢ２５５と、サーチ線対ＳＬＰＢ０〜ＳＬＰＢ７と、サーチ線対ＳＬＩＰＢ０〜ＳＬＩＰＢ７とを含む。さらに、アドレスデコーダ＆プライオリティエンコーダ１４０は、冗長構成として、マッチ線ＭＬＢＳＰと、サーチ線対ＳＬＩＰＢＳＰとを含む。ＣＡＭメモリアレイ回路４１１０と、サーチラインドライバ４０１２とは、それぞれＣＡＭメモリアレイ回路１１０と、サーチラインドライバ１２と同じ構成である、すなわち回路が共通である。
【０１２５】
以下、ビット線対ＢＬＩＰＢ０〜ＢＬＩＰＢ１５，ＢＬＩＰＢＳＰの各々をビット線対ＢＬＩＰＢと称する場合がある。また、ビット線ＢＬＩＢ０〜ＢＬＩＢ１５，ＢＬＩＢＳＰの各々をビット線ＢＬＩＢと称する場合がある。また、ビット線／ＢＬＩＢ０〜／ＢＬＩＢ１５，／ＢＬＩＢＳＰの各々をビット線／ＢＬＩＢと称する場合がある。また、サーチ線対ＳＬＩＰＢ０〜ＳＬＩＰＢ７，ＳＬＩＰＢＳＰの各々をサーチ線対ＳＬＩＰＢと称する場合がある。また、サーチ線ＳＬＩＢ０〜ＳＬＩＢ７，ＳＬＩＢＳＰの各々をサーチ線ＳＬＩＢと称する場合がある。また、サーチ線／ＳＬＩＢ０〜／ＳＬＩＢ７，／ＳＬＩＢＳＰの各々をサーチ線／ＳＬＩＢと称する場合がある。
【０１２６】
ＣＡＭメモリアレイ回路４１１０は、行列状に配置された複数個のメモリセルを含む。このメモリセルの行列は、冗長構成として１つの予備メモリセル行と、１つの予備メモリセル列とを含む。
【０１２７】
ＣＡＭメモリアレイ回路４１１０は、複数個のデータをそれぞれ記憶する複数個のメモリセル群を含む。たとえば、ネットワークアドレスが８ビットを有する場合、ＣＡＭメモリアレイ回路４１１０は、アドレス０番地〜２５５番地において８ビットのデータを２５６個記憶する。各アドレスにおけるデータは、データが記憶されているアドレスの値と一致する。たとえば、アドレス０番地に記憶されているデータは８ビットすべてが「０」であり、アドレス１番地に記憶されているデータは最下位ビットのみ「１」で残りのビットはすべて「０」であり、アドレス２５５番地に記憶されているデータは８ビットすべてが「１」である。ＣＡＭメモリアレイ回路４１１０における複数個のメモリセル群には、予め、上記のようなデータが書き込まれている。これらのデータの書き込みは、半導体装置２の電源立ち上げ直後等の期間を利用して自動的に行なえる構成であることが望ましい。
【０１２８】
ＣＡＭメモリアレイ回路４１１０においてメモリセルに異常が発生していない場合には、予備メモリセル行および予備メモリセル列以外のメモリセルで構成されるメモリセル行が１個のメモリセルのアドレス値を記憶する。
【０１２９】
ＣＡＭメモリアレイ回路４１１０においてメモリセルに異常が発生した場合には、異常が発生したメモリセルの代わりに予備メモリセル行および予備メモリセル列に含まれるメモリセルを用いることにより救済が行なわれる。
【０１３０】
マッチ線ＭＬＢ０〜ＭＬＢ２５５およびワード線ＷＬＡ０〜ＷＬＡ２５５は、ＣＡＭメモリアレイ回路１１０における各メモリセル１００が有する所定の優先順位に従って配列される。ここでは、マッチ線ＭＬＢ０〜ＭＬＢ２５５およびワード線ＷＬＡ０〜ＷＬＡ２５５は、ＣＡＭメモリアレイ回路１１０における各メモリセル群のアドレス順に配列される。たとえば、マッチ線ＭＬＢ０およびワード線ＷＬＡ０は、ＣＡＭメモリアレイ回路１１０におけるアドレス０番地のメモリセル群に対応している。また、マッチ線ＭＬＢＳＰおよびワード線ＷＬＡＳＰは、マッチ線ＭＬＢ０〜ＭＬＢ２５５およびワード線ＷＬＡ０〜ＷＬＡ２５５の配列の端にそれぞれ配置される。
【０１３１】
サーチラインドライバ４０１２は、データ書き込み時、アドレス／データバッファ２０から受けた書き込み対象のメモリセルのアドレスを列シフタ６３を介してＣＡＭメモリアレイ回路４１１０へ出力する。
【０１３２】
ＣＡＭメモリアレイ回路４１１０は、マッチ線ＭＬＢ０〜ＭＬＢ２５５，ＭＬＢＳＰおよび行シフタ６１を介してＣＡＭメモリアレイ回路１１０におけるワード線ＷＬＡ０〜ＷＬＡ２５５，ＷＬＡＳＰに接続される。
【０１３３】
次に、本発明の第２の実施の形態に係る半導体装置がデータ書き込みを行なう際の動作について説明する。
【０１３４】
図１２および図１３を参照して、命令コードバッファ２１は、外部から受けたデータ書き込みを表わす命令コードをセンスアンプ１１と、サーチラインドライバ１２と、アドレスデコーダ＆プライオリティエンコーダ１４０とへ出力する。
【０１３５】
アドレス／データバッファ２０は、外部から受けたアドレスおよび書き込みデータをセンスアンプ１１と、サーチラインドライバ１２と、アドレスデコーダ＆プライオリティエンコーダ１４０とへ出力する。
【０１３６】
アドレスデコーダ＆プライオリティエンコーダ１４０は、アドレス／データバッファ２０から受けたアドレスに基づいて、ＣＡＭメモリアレイ回路１１０におけるワード線ＷＬＡ０〜ＷＬＡ２５５の中からいずれか１個を選択し、選択したワード線ＷＬＡを活性化する。
【０１３７】
センスアンプ１１は、データ書き込み時、データ書き込みバッファとして機能する。すなわち、センスアンプ１１は、ビット線対ＢＬＰＡ０〜ＢＬＰＡ７と結合され、ビット線対ＢＬＰＡ０〜ＢＬＰＡ７および列シフタ６５を介して選択ワード線ＷＬＡに対応するすべてのメモリセルに対して一斉にデータ書き込みを行なう。なお、半導体装置２は、行方向のデコーダすなわちアドレスデコーダ＆プライオリティエンコーダ１４０に加えて列方向のデコーダを備え、アドレス信号に基づいて選択されたワード線ＷＬＡおよび選択されたビット線対ＢＬＰＡに対応するメモリセルに対してデータ書き込みを行なう構成であってもよい。
【０１３８】
ここで、データ書き込み時、アドレスデコーダ＆プライオリティエンコーダ１４０はプライオリティエンコーダとしてはまったく動作していない点に注意すべきである。
【０１３９】
次に、データ書き込み時におけるアドレスデコーダ＆プライオリティエンコーダ１４０の動作を説明する。
【０１４０】
再び図１４を参照して、サーチラインドライバ４０１２は、命令コードバッファ２１からデータ書き込みを表わす命令コードを受けて、サーチ線対ＳＬＰＢ０〜ＳＬＰＢ７を駆動することにより、アドレス／データバッファ２０からアドレス線対ＸＰ０〜ＸＰ７経由で受けた８ビットのアドレスを列シフタ６３経由でＣＡＭメモリアレイ回路４１１０へ出力する。
【０１４１】
図１５は、列シフタ６３の構成および配線シフト動作の一例を示す回路図である。
図１５を参照して、列シフタ６３は、スイッチＳＷＣＫ０〜ＳＷＣＫ７を含む。列シフタ６３は、サーチラインドライバ４０１２とＣＡＭメモリアレイ回路４１１０との間に接続される。
【０１４２】
列シフタ６３は、ＣＡＭメモリアレイ回路４１１０におけるすべてのメモリセル１００が正常である場合には、サーチ線対ＳＬＰＢ０〜ＳＬＰＢ７とサーチ線対ＳＬＩＰＢ０〜ＳＬＩＰＢ７とをそれぞれ接続する。
【０１４３】
一方、列シフタ６３は、たとえばＣＡＭメモリアレイ回路４１１０におけるサーチ線対ＳＬＩＰＢ１に接続されるメモリセル１００に異常が発生した場合には、サーチ線対ＳＬＩＰＢ１を除くように、サーチ線対ＳＬＰＢ０〜ＳＬＰＢ７とサーチ線対ＳＬＩＰＢ０〜ＳＬＩＰＢ７，ＳＬＩＰＢＳＰとの接続をシフトさせる。すなわち、列シフタ６３は、サーチ線対ＳＬＩＰＢ１を、サーチ線対ＳＬＩＰＢ１の隣に配置されたサーチ線対ＳＬＩＰＢ０で置換する。そして、列シフタ６３は、置換に用いたサーチ線対ＳＬＩＰＢ０がサーチ線対ＳＬＩＰＢ０〜ＳＬＩＰＢ７の配列の端であることから、サーチ線対ＳＬＩＰＢ０を、予備メモリセル列に対応するサーチ線対ＳＬＩＰＢＳＰで置換する。より詳細には、スイッチＳＷＣＫ０は、サーチ線対ＳＬＰＢ０とサーチ線対ＳＬＩＰＢＳＰとを接続する。スイッチＳＷＣＫ１は、サーチ線対ＳＬＰＢ１とサーチ線対ＳＬＩＰＢ０とを接続する。スイッチＳＷＣＫ２〜ＳＷＣＫ７は、サーチ線対ＳＬＰＢ２〜ＳＬＰＢ７とサーチ線対ＳＬＩＰＢ２〜ＳＬＩＰＢ７とをそれぞれ接続する。
【０１４４】
再び図１４を参照して、ＣＡＭメモリアレイ回路４１１０は、列シフタ６３を介してサーチラインドライバ４０１２から受けたアドレスとアドレス０番地〜２５５番地におけるデータの各々とを比較する。そして、ＣＡＭメモリアレイ回路４１１０は、比較結果に基づいてＣＡＭメモリアレイ回路１１０におけるメモリセルを選択する。より詳細には、ＣＡＭメモリアレイ回路４１１０は、アドレスと８ビットすべてが一致したデータに対応するマッチ線ＭＬＢをハイレベルに保持し、かつアドレスと１ビットでも一致しないデータに対応するマッチ線ＭＬＢを放電してローレベルとする。なお、マッチ線ＭＬＢ０〜ＭＬＢ２５５，ＭＬＢＳＰは、データ書き込みが行われる前にハイレベルにプリチャージされている。
【０１４５】
図１６は、行シフタ６１の構成および配線シフト動作の一例を示す回路図である。
図１６を参照して、行シフタ６１は、スイッチＳＷＲＫ０〜ＳＷＲＫ２５５を含む。行シフタ６１は、マッチ線ＭＬＢ０〜ＭＬＢ２５５，ＭＬＢＳＰとワード線ＷＬＡ０〜ＷＬＡ２５５，ＷＬＡＳＰとの間に接続される。
【０１４６】
行シフタ６１は、ＣＡＭメモリアレイ回路１１０およびＣＡＭメモリアレイ回路４１１０におけるすべてのメモリセル１００が正常である場合には、マッチ線ＭＬＢＳＰ，ＭＬＢ０〜ＭＬＢ２５５とワード線ＷＬＡＳＰ，ＷＬＡ０〜ＷＬＡ２５５とをそれぞれ接続する。
【０１４７】
一方、行シフタ６１は、たとえばＣＡＭメモリアレイ回路４１１０におけるマッチ線ＭＬＢ１に接続されるメモリセル１００に異常が発生した場合には、マッチ線ＭＬＢ１を除くように、マッチ線ＭＬＢ０〜ＭＬＢ２５５，ＭＬＢＳＰとワード線ＷＬＡ０〜ＷＬＡ２５５，ＷＬＡＳＰとの接続をシフトさせる。すなわち、行シフタ６１は、マッチ線ＭＬＢ１を、マッチ線ＭＬＢ１の隣に配置されたマッチ線ＭＬＢ０で置換する。行シフタ６１は、置換に用いたマッチ線ＭＬＢ０がマッチ線ＭＬＢ０〜ＭＬＢ２５５の配列の端であることから、マッチ線ＭＬＢ０を、予備メモリセル行に対応するマッチ線ＭＬＢＳＰで置換する。より詳細には、スイッチＳＷＲＫ０は、マッチ線ＭＬＢＳＰとワード線ＷＬＡ０とを接続する。スイッチＳＷＲＫ１は、マッチ線ＭＬＢ０とワード線ＷＬＡ１とを接続する。スイッチＳＷＲＫ２〜ＳＷＲＫ２５５は、マッチ線ＭＬＢ２〜ＭＬＢ２５５とワード線ＷＬＡ２〜ＷＬＡ２５５とをそれぞれ接続する。
【０１４８】
図１７は、行シフタ６１の構成および配線シフト動作の一例を示す回路図である。
図１７を参照して、行シフタ６１は、たとえばＣＡＭメモリアレイ回路１１０におけるワード線ＷＬＡ１に接続されるメモリセル１００に異常が発生した場合には、ワード線ＷＬＡ１を除くように、マッチ線ＭＬＢ０〜ＭＬＢ２５５，ＭＬＢＳＰとワード線ＷＬＡ０〜ＷＬＡ２５５，ＷＬＡＳＰとの接続をシフトさせる。すなわち、行シフタ６１は、ワード線ＷＬＡ１を、ワード線ＷＬＡ１の隣に配置されたワード線ＷＬＡ０で置換する。そして、行シフタ６１は、置換に用いたワード線ＷＬＡ０がワード線ＷＬＡ０〜ＷＬＡ２５５の配列の端であることから、ワード線ＷＬＡ０を、予備メモリセル行に対応するワード線ＷＬＡＳＰで置換する。より詳細には、スイッチＳＷＲＫ０は、マッチ線ＭＬＢ０とワード線ＷＬＡＳＰとを接続する。スイッチＳＷＲＫ１は、マッチ線ＭＬＢ１とワード線ＷＬＡ０とを接続する。スイッチＳＷＲＫ２〜ＳＷＲＫ２５５は、マッチ線ＭＬＢ２〜ＭＬＢ２５５とワード線ＷＬＡ２〜ＷＬＡ２５５とをそれぞれ接続する。
【０１４９】
図１８は、行シフタ６１の構成および配線シフト動作の一例を示す回路図である。
図１８を参照して、行シフタ６１は、たとえばＣＡＭメモリアレイ回路１１０におけるワード線ＷＬＡ１に接続されるメモリセル１００、およびＣＡＭメモリアレイ回路４１１０におけるマッチ線ＭＬＢ０に接続されるメモリセル１００に異常が発生した場合には、ワード線ＷＬＡ１およびマッチ線ＭＬＢ０を除くように、マッチ線ＭＬＢ０〜ＭＬＢ２５５，ＭＬＢＳＰとワード線ＷＬＡ０〜ＷＬＡ２５５，ＷＬＡＳＰとの接続をシフトさせる。すなわち、行シフタ６１は、ワード線ＷＬＡ１を、ワード線ＷＬＡ１の隣に配置されたワード線ＷＬＡ０で置換する。行シフタ６１は、置換に用いたワード線ＷＬＡ０がワード線ＷＬＡ０〜ＷＬＡ２５５の配列の端であることから、ワード線ＷＬＡ０を、予備メモリセル行に対応するワード線ＷＬＡＳＰで置換する。また、行シフタ６１は、マッチ線ＭＬＢ０がマッチ線ＭＬＢ０〜ＭＬＢ２５５の配列の端であることから、マッチ線ＭＬＢ０を、予備メモリセル行に対応するマッチ線ＭＬＢＳＰで置換する。
【０１５０】
より詳細には、スイッチＳＷＲＫ０は、マッチ線ＭＬＢＳＰとワード線ＷＬＡＳＰとを接続する。スイッチＳＷＲＫ１は、マッチ線ＭＬＢ１とワード線ＷＬＡ０とを接続する。スイッチＳＷＲＫ２〜ＳＷＲＫ２５５は、マッチ線ＭＬＢ２〜ＭＬＢ２５５とワード線ＷＬＡ２〜ＷＬＡ２５５とをそれぞれ接続する。
【０１５１】
このように、本発明の第２の実施の形態に係る半導体装置では、ＣＡＭメモリアレイ回路１１０およびＣＡＭメモリアレイ回路４１１０の各々において互いに非対応のメモリセル行におけるメモリセル１００に異常が発生した場合でも、半導体装置２を救済して正常に動作させることができる。
【０１５２】
再び図１４を参照して、たとえば、外部アドレスすなわちアドレス／データバッファ２０が外部から受けたアドレスが０番地を示している場合には、サーチラインドライバ４０１２は、８ビットすべてが「０」であるデータをサーチ線対ＳＬＰＢ０〜ＳＬＰＢ７および列シフタ６３経由でＣＡＭメモリアレイ回路４１１０へ出力する。
【０１５３】
ＣＡＭメモリアレイ回路４１１０は、８ビットがすべて「０」であるデータを記憶する０番地に対応するマッチ線ＭＬＢ０のハイレベルを保持し、他のマッチ線ＭＬＢはローレベルとする。すなわち、ＣＡＭメモリアレイ回路４１１０は、ＣＡＭメモリアレイ回路１１０におけるワード線ＷＬＡ０をハイレベルに駆動する。
【０１５４】
同様に、外部アドレスすなわちアドレス／データバッファ２０が外部から受けたアドレスが１番地を示している場合には、サーチラインドライバ４０１２は、「０００００００１」である８ビットのデータをサーチ線対ＳＬＰＢ０〜ＳＬＰＢ７および列シフタ６３経由でＣＡＭメモリアレイ回路４１１０へ出力する。
【０１５５】
ＣＡＭメモリアレイ回路４１１０は、「０００００００１」である８ビットのデータを記憶する１番地に対応するマッチ線ＭＬＢ１のハイレベルを保持し、他のマッチ線ＭＬＢはローレベルとする。すなわち、ＣＡＭメモリアレイ回路４１１０は、ＣＡＭメモリアレイ回路１１０におけるワード線ＷＬＡ１をハイレベルに駆動する。
【０１５６】
したがって、アドレスデコーダ＆プライオリティエンコーダ１４０は、サーチラインドライバ４０１２およびＣＡＭメモリアレイ回路４１１０を用いて、アドレスデコーダの機能を実現することが可能である。
【０１５７】
次に、本発明の第２の実施の形態に係る半導体装置がデータ検索を行なう際の動作について説明する。
【０１５８】
図１９は、本発明の第２の実施の形態に係る半導体装置におけるアドレスデコーダ＆プライオリティエンコーダ１４０のデータ検索時における動作を示す図である。
【０１５９】
図１９を参照して、半導体装置２は、行シフタ６２と、シフト線ＳＦＴＳＰ，ＳＦＴ０〜ＳＦＴ２５５とを備える。アドレスデコーダ＆プライオリティエンコーダ１４０は、ＣＡＭメモリアレイ回路（第２のメモリアレイ回路）４１１０と、センスアンプ（第２のセンスアンプ）４０１１と、プライオリティリゾルブ４１４０と、ワード線ＷＬＢ０〜ＷＬＢ２５５と、ビット線対ＢＬＰＢ０〜ＢＬＰＢ７と、ビット線対ＢＬＩＰＢ０〜ＢＬＩＰＢ７とを含む。さらに、アドレスデコーダ＆プライオリティエンコーダ１４０は、冗長構成として、ワード線ＷＬＢＳＰと、ビット線対ＢＬＩＰＢＳＰとを含む。ＣＡＭメモリアレイ回路４１１０と、センスアンプ４０１１とは、それぞれＣＡＭメモリアレイ回路１１０と、センスアンプ１１と同じ構成である、すなわち回路が共通である。
【０１６０】
以下、シフト線ＳＦＴ０〜ＳＦＴ２５５，ＳＦＴＳＰの各々をシフト線ＳＦＴと称する場合がある。
【０１６１】
マッチ線ＭＬＡ０〜ＭＬＡ２５５およびワード線ＷＬＢ０〜ＷＬＢ２５５は、ＣＡＭメモリアレイ回路１１０における各メモリセル１００が有する所定の優先順位に従って配列される。ここでは、マッチ線ＭＬＡ０〜ＭＬＡ２５５およびワード線ＷＬＢ０〜ＷＬＢ２５５は、ＣＡＭメモリアレイ回路１１０における各メモリセル群のアドレス順に配列される。たとえば、マッチ線ＭＬＡ０およびワード線ＷＬＢ０は、ＣＡＭメモリアレイ回路１１０におけるアドレス０番地のメモリセル群に対応している。また、マッチ線ＭＬＡＳＰおよびワード線ＷＬＢＳＰは、マッチ線ＭＬＡ０〜ＭＬＡ２５５およびワード線ＷＬＢ０〜ＷＬＢ２５５の配列の端にそれぞれ配置される。また、シフト線ＳＦＴ０〜ＳＦＴ２５５，ＳＦＴＳＰは、ワード線ＷＬＢ０〜ＷＬＢ２５５，ＷＬＢＳＰにそれぞれ対応して配置される。
【０１６２】
センスアンプ４０１１は、ビット線対ＢＬＰＢ０〜ＢＬＰＢ７および列シフタ６４を介してＣＡＭメモリアレイ回路４１１０における各メモリセルに接続される。センスアンプ４０１１は、ＣＡＭメモリアレイ回路４１１０に対してデータ読み出しおよびデータ書き込みを行なう。
【０１６３】
ＣＡＭメモリアレイ回路４１１０およびプライオリティリゾルブ４１４０は、ワード線ＷＬＢ０〜ＷＬＢ２５５，ＷＬＢＳＰを介して接続される。
【０１６４】
プライオリティリゾルブ４１４０は、シフト線ＳＦＴＳＰ，ＳＦＴ０〜ＳＦＴ２５５を介して行シフタ６２に接続される。
【０１６５】
行シフタ６２は、ＣＡＭメモリアレイ回路１１０におけるマッチ線ＭＬＡ０〜ＭＬＡ２５５，ＭＬＡＳＰに接続される。
【０１６６】
再び図１２および図１３を参照して、命令コードバッファ２１は、外部から受けたデータ検索を表わす命令コードをセンスアンプ１１と、サーチラインドライバ１２と、アドレスデコーダ＆プライオリティエンコーダ１４０とへ出力する。
【０１６７】
サーチラインドライバ１２は、命令コードバッファ２１からデータ検索を表わす命令コードを受けて、サーチ線対ＳＬＰＡ０〜ＳＬＰＡ７を駆動することにより、アドレス／データバッファ２０から受けた８ビットの検索データをサーチ線対ＳＬＰＡ０〜ＳＬＰＡ７および列シフタ６６経由でＣＡＭメモリアレイ回路１１０へ出力する。
【０１６８】
図２０は、列シフタ６６の構成および配線シフト動作の一例を示す回路図である。
図２０を参照して、列シフタ６６は、スイッチＳＷＣＬ０〜ＳＷＣＬ７を含む。列シフタ６６は、サーチラインドライバ１２とＣＡＭメモリアレイ回路１１０との間に接続される。
【０１６９】
列シフタ６６は、ＣＡＭメモリアレイ回路１１０におけるすべてのメモリセル１００が正常である場合には、サーチ線対ＳＬＰＡ０〜ＳＬＰＡ７とサーチ線対ＳＬＩＰＡ０〜ＳＬＩＰＡ７とをそれぞれ接続する。
【０１７０】
一方、列シフタ６６は、たとえばＣＡＭメモリアレイ回路１１０におけるサーチ線対ＳＬＩＰＡ２に接続されるメモリセル１００に異常が発生した場合には、サーチ線対ＳＬＩＰＡ２を除くように、サーチ線対ＳＬＰＡ０〜ＳＬＰＡ７とサーチ線対ＳＬＩＰＡ０〜ＳＬＩＰＡ７，ＳＬＩＰＡＳＰとの接続をシフトさせる。すなわち、列シフタ６６は、サーチ線対ＳＬＩＰＡ２を、サーチ線対ＳＬＩＰＡ２の隣に配置されたサーチ線対ＳＬＩＰＡ１で置換する。列シフタ６６は、置換に用いたサーチ線対ＳＬＩＰＡ１を、サーチ線対ＳＬＩＰＡ１の隣に配置されたサーチ線対ＳＬＩＰＡ０で置換する。そして、列シフタ６６は、置換に用いたサーチ線対ＳＬＩＰＡ０がサーチ線対ＳＬＩＰＡ０〜ＳＬＩＰＡ７の配列の端であることから、サーチ線対ＳＬＩＰＡ０を、予備メモリセル列に対応するサーチ線対ＳＬＩＰＡＳＰで置換する。より詳細には、スイッチＳＷＣＬ０は、サーチ線対ＳＬＰＡ０とサーチ線対ＳＬＩＰＡＳＰとを接続する。スイッチＳＷＣＬ１は、サーチ線対ＳＬＰＡ１とサーチ線対ＳＬＩＰＡ０とを接続する。スイッチＳＷＣＬ２は、サーチ線対ＳＬＰＡ２とサーチ線対ＳＬＩＰＡ１とを接続する。スイッチＳＷＣＬ３〜ＳＷＣＬ７は、サーチ線対ＳＬＰＡ３〜ＳＬＰＡ７とサーチ線対ＳＬＩＰＡ３〜ＳＬＩＰＡ７とをそれぞれ接続する。
【０１７１】
ＣＡＭメモリアレイ回路１１０は、サーチラインドライバ１２から受けた検索データとアドレス０番地〜２５５番地におけるデータの各々とを比較する。そして、ＣＡＭメモリアレイ回路１１０は、比較結果に基づいてＣＡＭメモリアレイ回路４１１０におけるメモリセルを選択する。より詳細には、ＣＡＭメモリアレイ回路１１０は、８ビットすべてが一致したデータに対応するマッチ線ＭＬＡをハイレベルに保持し、かつ１ビットでも一致しないデータに対応するマッチ線ＭＬＡを放電してローレベルとする。なお、マッチ線ＭＬＡ０〜ＭＬＡ２５５，ＭＬＡＳＰは、データ検索が行なわれる前にハイレベルにプリチャージされている。
【０１７２】
アドレスデコーダ＆プライオリティエンコーダ１４０は、ハイレベルに保持されているマッチ線ＭＬＡが複数個存在した場合には、たとえば番号の小さいマッチ線ＭＬＡを優先して、すなわちマッチ線ＭＬＡに対応するメモリセル群のアドレス値の小さい方を優先してエンコード出力する。
【０１７３】
サーチ結果出力バッファ２３は、アドレスデコーダ＆プライオリティエンコーダ１４０から受けたサーチ結果であるアドレス値をサーチ結果出力端子３３から外部へ出力する。
【０１７４】
ここで、データ検索時、アドレスデコーダ＆プライオリティエンコーダ１４０はアドレスデコーダとしてはまったく動作していない点に注意すべきである。
【０１７５】
図２１は、行シフタ６２の構成および配線シフト動作の一例を示す回路図である。
図２１を参照して、行シフタ６２は、スイッチＳＷＲＬ０〜ＳＷＲＬ２５５を含む。行シフタ６２は、マッチ線ＭＬＡ０〜ＭＬＡ２５５，ＭＬＡＳＰとシフト線ＳＦＴ０〜ＳＦＴ２５５，ＳＦＴＳＰとの間に接続される。
【０１７６】
行シフタ６２は、ＣＡＭメモリアレイ回路１１０およびＣＡＭメモリアレイ回路４１１０におけるすべてのメモリセル１００が正常である場合には、マッチ線ＭＬＡＳＰ，ＭＬＡ０〜ＭＬＡ２５５とシフト線ＳＦＴ０〜ＳＦＴ２５５，ＳＦＴＳＰとをそれぞれ接続する。
【０１７７】
一方、行シフタ６２は、ＣＡＭメモリアレイ回路１１０におけるいずれかのメモリセル１００に異常が発生した場合には、異常が発生したメモリセル１００に結合されるマッチ線を除くように、マッチ線ＭＬＡ０〜ＭＬＡ２５５，ＭＬＡＳＰとシフト線ＳＦＴ０〜ＳＦＴ２５５，ＳＦＴＳＰとの接続をシフトさせる。すなわち、行シフタ６２は、異常が発生したメモリセル１００に結合されるマッチ線ＭＬＡ以外のマッチ線ＭＬＡおよびマッチ線ＭＬＡＳＰとシフト線ＳＦＴ０〜ＳＦＴ２５５とをそれぞれ接続する。
【０１７８】
また、行シフタ６２は、ＣＡＭメモリアレイ回路４１１０におけるいずれかのメモリセル１００に異常が発生した場合には、異常が発生したメモリセル１００に結合されるワード線ＷＬＢを除くように、マッチ線ＭＬＡ０〜ＭＬＡ２５５，ＭＬＡＳＰとシフト線ＳＦＴ０〜ＳＦＴ２５５，ＳＦＴＳＰとの接続をシフトさせる。すなわち、行シフタ６２は、異常が発生したメモリセル１００に結合されるワード線ＷＬＢに対応するシフト線ＳＦＴ以外のシフト線ＳＦＴおよびシフト線ＳＦＴＳＰとマッチ線ＭＬＡ０〜ＭＬＡ２５５とをそれぞれ接続する。
【０１７９】
たとえば、行シフタ６２は、ＣＡＭメモリアレイ回路４１１０におけるワード線ＷＬＢ１に接続されるメモリセル１００に異常が発生した場合には、ワード線ＷＬＢ１に対応するシフト線ＳＦＴ１を、シフト線ＳＦＴ１の隣に配置されたシフト線ＳＦＴ０で置換する。行シフタ６２は、置換に用いたシフト線ＳＦＴ０がシフト線ＳＦＴ０〜ＳＦＴ２５５の配列の端であることから、シフト線ＳＦＴ０を、予備メモリセル行に対応するシフト線ＳＦＴＳＰで置換する。より詳細には、スイッチＳＷＲＬ０は、シフト線ＳＦＴＳＰとマッチ線ＭＬＡ０とを接続する。スイッチＳＷＲＬ１は、シフト線ＳＦＴ０とマッチ線ＭＬＡ１とを接続する。スイッチＳＷＲＬ２〜ＳＷＲＬ２５５は、シフト線ＳＦＴ２〜ＳＦＴ２５５とマッチ線ＭＬＡ２〜ＭＬＡ２５５とをそれぞれ接続する。
【０１８０】
アドレスデコーダ＆プライオリティエンコーダ１４０におけるプライオリティリゾルブ４１４０は、シフト線ＳＦＴ０〜ＳＦＴ２５５，ＳＦＴＳＰとワード線ＷＬＢ０〜ＷＬＢ２５５，ＷＬＢＳＰとの間に接続される。プライオリティリゾルブ４１４０は、ハイレベルに保持されているマッチ線ＭＬＡに接続されるシフト線ＳＦＴに対応するワード線ＷＬＢを選択してハイレベルに駆動し、他のワード線ＷＬＢをローレベルに駆動する。ここで、プライオリティリゾルブ４１４０は、ハイレベルに保持されているマッチ線ＭＬＡが複数本存在している場合には、ハイレベルに保持されている複数本のマッチ線ＭＬＡのうち、たとえば番号の最も小さいマッチ線ＭＬＡに接続されるシフト線ＳＦＴに対応するワード線ＷＬＢをハイレベルに駆動し、他のワード線ＷＬＢをローレベルに駆動する。
【０１８１】
そうすると、ＣＡＭメモリアレイ回路４１１０において、ハイレベルに駆動されたワード線ＷＬＢに接続されたゲートを有するＮチャネルＭＯＳトランジスタがオン状態となり、記憶ノードのレベルがビット線対へ伝達される。すなわち、ビット線対ＢＬＩＰＢ０〜ＢＬＩＰＢ７，ＢＬＩＰＢＳＰには、ハイレベルに駆動されたワード線ＷＬＢに対応するメモリセル群の記憶データに基づく信号が現われる。
【０１８２】
なお、プライオリティリゾルブ４１４０は、マッチ線ＭＬＡＳＰはマッチ線ＭＬＡ０よりも番号が小さいものとして処理する。また、予備メモリセル行が用いられていない場合、すなわちＣＡＭメモリアレイ回路１１０におけるメモリセル１００に異常が発生していない場合には、予備メモリセル行におけるメモリセルには、検索データとは必ず一致しないデータが記憶されている。
【０１８３】
図２２は、列シフタ６４の構成および配線シフト動作の一例を示す回路図である。
図２２を参照して、列シフタ６４は、スイッチＳＷＣＭ０〜ＳＷＣＭ７を含む。列シフタ６４は、ＣＡＭメモリアレイ回路４１１０とセンスアンプ４０１１との間に接続される。
【０１８４】
列シフタ６４は、ＣＡＭメモリアレイ回路４１１０におけるすべてのメモリセル１００が正常である場合には、ビット線対ＢＬＰＢ０〜ＢＬＰＢ７とビット線対ＢＬＩＰＢ０〜ＢＬＩＰＢ７とをそれぞれ接続する。
【０１８５】
一方、列シフタ６４は、たとえばＣＡＭメモリアレイ回路４１１０におけるビット線対ＢＬＩＰＢ１に接続されるメモリセル１００に異常が発生した場合には、ビット線対ＢＬＩＰＢ１を除くように、ビット線対ＢＬＰＢ０〜ＢＬＰＢ７とビット線対ＢＬＩＰＢ０〜ＢＬＩＰＢ７，ＢＬＩＰＢＳＰとの接続をシフトさせる。すなわち、列シフタ６４は、ビット線対ＢＬＩＰＢ１を、ビット線対ＢＬＩＰＢ１の隣に配置されたビット線対ＢＬＩＰＢ０で置換する。そして、列シフタ６４は、置換に用いたビット線対ＢＬＩＰＢ０がビット線対ＢＬＩＰＢ０〜ＢＬＩＰＢ７の配列の端であることから、ビット線対ＢＬＩＰＢ０を、予備メモリセル列に対応するビット線対ＢＬＩＰＢＳＰで置換する。より詳細には、スイッチＳＷＣＭ０は、ビット線対ＢＬＰＢ０とビット線対ＢＬＩＰＢＳＰとを接続する。スイッチＳＷＣＭ１は、ビット線対ＢＬＰＢ１とビット線対ＢＬＩＰＢ０とを接続する。スイッチＳＷＣＭ２〜ＳＷＣＭ７は、ビット線対ＢＬＰＢ２〜ＢＬＰＢ７とビット線対ＢＬＩＰＢ２〜ＢＬＩＰＢ７とをそれぞれ接続する。
【０１８６】
センスアンプ４０１１は、ＣＡＭメモリアレイ回路４１１０に対してデータ読み出しおよび読み出しデータの増幅を行なう。すなわち、センスアンプ４０１１は、ビット線対ＢＬＰＢ０〜ＢＬＰＢ７に現われた信号を検出して増幅する。そして、センスアンプ４０１１は、増幅した信号、すなわち検索データと一致するデータが記憶されているＣＡＭメモリアレイ回路１１０のアドレス値をサーチ結果としてサーチ結果出力バッファ２３へ出力する。
【０１８７】
したがって、アドレスデコーダ＆プライオリティエンコーダ１４０は、ＣＡＭメモリアレイ回路４１１０およびセンスアンプ４０１１を用いて、エンコーダの機能を実現することが可能である。さらに、アドレスデコーダ＆プライオリティエンコーダ１４０は、ＣＡＭメモリアレイ回路４１１０、センスアンプ４０１１およびプライオリティリゾルブ４１４０を用いて、プライオリティエンコーダの機能を実現することが可能である。
【０１８８】
図２３は、列シフタにおけるスイッチＳＷＣの構成の一例を示す回路図である。ここで、スイッチＳＷＣは、スイッチＳＷＣＫ０〜ＳＷＣＫ７、スイッチＳＷＣＬ０〜ＳＷＣＬ７およびスイッチＳＷＣＭ０〜ＳＷＣＭ７の各々に対応している。
【０１８９】
図２３を参照して、スイッチＳＷＣは、ＰチャネルＭＯＳトランジスタＭ１，Ｍ２と、ＮチャネルＭＯＳトランジスタＭ３，Ｍ４と、ＮＯＴゲートＧ４１とを含む。
【０１９０】
ＮＯＴゲートＧ４１は、受けた切り替え制御信号ＣＬＭの論理レベルを反転して出力する。
【０１９１】
ＰチャネルＭＯＳトランジスタＭ１は、切り替え制御信号ＣＬＭを受けるゲートと、入力ノードＩＮに接続される第１導通電極と、出力ノードＯＵＴ＿０に接続される第２導通電極とを有する。
【０１９２】
ＰチャネルＭＯＳトランジスタＭ２は、ＮＯＴゲートＧ４１から論理レベル反転後の切り替え制御信号ＣＬＭを受けるゲートと、入力ノードＩＮに接続される第１導通電極と、出力ノードＯＵＴ＿１に接続される第２導通電極とを有する。
【０１９３】
ＮチャネルＭＯＳトランジスタＭ３は、ＮＯＴゲートＧ４１から論理レベル反転後の切り替え制御信号ＣＬＭを受けるゲートと、入力ノードＩＮに接続される第１導通電極と、出力ノードＯＵＴ＿０に接続される第２導通電極とを有する。
【０１９４】
ＮチャネルＭＯＳトランジスタＭ４は、切り替え制御信号ＣＬＭを受けるゲートと、入力ノードＩＮに接続される第１導通電極と、出力ノードＯＵＴ＿１に接続される第２導通電極とを有する。
【０１９５】
切り替え制御信号ＣＬＭが論理ローレベルである場合には、ＰチャネルＭＯＳトランジスタＭ２およびＮチャネルＭＯＳトランジスタＭ４がオフし、ＰチャネルＭＯＳトランジスタＭ１およびＮチャネルＭＯＳトランジスタＭ３がオンする。したがって、入力ノードＩＮと出力ノードＯＵＴ＿０とが電気的に接続される。
【０１９６】
切り替え制御信号ＣＬＭが論理ハイレベルである場合には、ＰチャネルＭＯＳトランジスタＭ２およびＮチャネルＭＯＳトランジスタＭ４がオンし、ＰチャネルＭＯＳトランジスタＭ１およびＮチャネルＭＯＳトランジスタＭ３がオフする。したがって、入力ノードＩＮと出力ノードＯＵＴ＿１とが電気的に接続される。
【０１９７】
図２４は、行シフタにおけるスイッチＳＷＲの構成の一例を示す回路図である。ここで、スイッチＳＷＲは、スイッチＳＷＲＫ１〜ＳＷＲＫ２５５およびスイッチＳＷＲＬ１〜ＳＷＲＬ２５５の各々に対応している。
【０１９８】
図２４を参照して、スイッチＳＷＲは、ＰチャネルＭＯＳトランジスタＭ１１，Ｍ１２と、ＮチャネルＭＯＳトランジスタＭ１３，Ｍ１４と、ＮＯＴゲートＧ４２とを含む。
【０１９９】
スイッチＳＷＲは、２個のスイッチＳＷＣの入力ノードＩＮ同士を接続した構成である。
【０２００】
より詳細には、ＮＯＴゲートＧ４２は、受けた切り替え制御信号ＲＯＷ１の論理レベルを反転して出力する。
【０２０１】
ＰチャネルＭＯＳトランジスタＭ１１は、切り替え制御信号ＲＯＷ１を受けるゲートと、交差ノードＮＣに接続される第１導通電極と、入力ノードＩＮ＿０に接続される第２導通電極とを有する。
【０２０２】
ＰチャネルＭＯＳトランジスタＭ１２は、ＮＯＴゲートＧ４２から論理レベル反転後の切り替え制御信号ＲＯＷ１を受けるゲートと、交差ノードＮＣに接続される第１導通電極と、入力ノードＩＮ＿１に接続される第２導通電極とを有する。
【０２０３】
ＮチャネルＭＯＳトランジスタＭ１３は、ＮＯＴゲートＧ４２から論理レベル反転後の切り替え制御信号ＲＯＷ１を受けるゲートと、交差ノードＮＣに接続される第１導通電極と、入力ノードＩＮ＿０に接続される第２導通電極とを有する。
【０２０４】
ＮチャネルＭＯＳトランジスタＭ１４は、切り替え制御信号ＲＯＷ１を受けるゲートと、交差ノードＮＣに接続される第１導通電極と、入力ノードＩＮ＿１に接続される第２導通電極とを有する。
【０２０５】
ＮＯＴゲートＧ４３は、受けた切り替え制御信号ＲＯＷ２の論理レベルを反転して出力する。
【０２０６】
ＰチャネルＭＯＳトランジスタＭ１５は、切り替え制御信号ＲＯＷ２を受けるゲートと、交差ノードＮＣに接続される第１導通電極と、出力ノードＯＵＴ＿０に接続される第２導通電極とを有する。
【０２０７】
ＰチャネルＭＯＳトランジスタＭ１６は、ＮＯＴゲートＧ４３から論理レベル反転後の切り替え制御信号ＲＯＷ２を受けるゲートと、交差ノードＮＣに接続される第１導通電極と、出力ノードＯＵＴ＿１に接続される第２導通電極とを有する。
【０２０８】
ＮチャネルＭＯＳトランジスタＭ１７は、ＮＯＴゲートＧ４３から論理レベル反転後の切り替え制御信号ＲＯＷ２を受けるゲートと、交差ノードＮＣに接続される第１導通電極と、出力ノードＯＵＴ＿０に接続される第２導通電極とを有する。
【０２０９】
ＮチャネルＭＯＳトランジスタＭ１８は、切り替え制御信号ＲＯＷ２を受けるゲートと、交差ノードＮＣに接続される第１導通電極と、出力ノードＯＵＴ＿１に接続される第２導通電極とを有する。
【０２１０】
切り替え制御信号ＲＯＷ１，ＲＯＷ２が論理ローレベルである場合には、ＰチャネルＭＯＳトランジスタＭ１２，Ｍ１６およびＮチャネルＭＯＳトランジスタＭ１４，Ｍ１８がオフし、ＰチャネルＭＯＳトランジスタＭ１１，Ｍ１５およびＮチャネルＭＯＳトランジスタＭ１３，Ｍ１７がオンする。したがって、入力ノードＩＮ＿０と出力ノードＯＵＴ＿０とが電気的に接続される。
【０２１１】
切り替え制御信号ＲＯＷ１が論理ローレベルであり、切り替え制御信号ＲＯＷ２が論理ハイレベルである場合には、ＰチャネルＭＯＳトランジスタＭ１２，Ｍ１５およびＮチャネルＭＯＳトランジスタＭ１４，Ｍ１７がオフし、ＰチャネルＭＯＳトランジスタＭ１１，Ｍ１６およびＮチャネルＭＯＳトランジスタＭ１３，Ｍ１８がオンする。したがって、入力ノードＩＮ＿０と出力ノードＯＵＴ＿１とが電気的に接続される。
【０２１２】
切り替え制御信号ＲＯＷ１が論理ハイレベルであり、切り替え制御信号ＲＯＷ２が論理ローレベルである場合には、ＰチャネルＭＯＳトランジスタＭ１２，Ｍ１５およびＮチャネルＭＯＳトランジスタＭ１４，Ｍ１７がオンし、ＰチャネルＭＯＳトランジスタＭ１１，Ｍ１６およびＮチャネルＭＯＳトランジスタＭ１３，Ｍ１８がオフする。したがって、入力ノードＩＮ＿１と出力ノードＯＵＴ＿０とが電気的に接続される。
【０２１３】
切り替え制御信号ＲＯＷ１，ＲＯＷ２が論理ハイレベルである場合には、ＰチャネルＭＯＳトランジスタＭ１２，Ｍ１６およびＮチャネルＭＯＳトランジスタＭ１４，Ｍ１８がオンし、ＰチャネルＭＯＳトランジスタＭ１１，Ｍ１５およびＮチャネルＭＯＳトランジスタＭ１３，Ｍ１７がオフする。したがって、入力ノードＩＮ＿１と出力ノードＯＵＴ＿１とが電気的に接続される。
【０２１４】
図２５は、プライオリティリゾルブ４１４０の構成を示す回路図である。図２５では、シフト線ＳＦＴＳＰ，ＳＦＴ０〜ＳＦＴ６およびワード線ＷＬＢＳＰ，ＷＬＢ０〜ＷＬＢ６に対応する回路を代表的に示す。
【０２１５】
図２５を参照して、プライオリティリゾルブ４１４０は、バッファＧ１０１〜Ｇ１０８と、ＮＯＲゲートＧ１１１〜Ｇ１１６と、ＮＯＴゲートＧ１１７と、ＮＡＮＤゲートＧ１２１〜Ｇ１２７と、ＮＯＴゲートＧ１３１〜Ｇ１３８とを含む。
【０２１６】
プライオリティリゾルブ４１４０は、ハイレベルに保持されている複数個のシフト線ＳＦＴのうち、番号の最も小さいシフト線ＳＦＴに対応するワード線ＷＬＢのみをハイレベルに駆動し、他のワード線ＷＬＢをローレベルに駆動する。たとえば、シフト線ＳＦＴＳＰがハイレベルである場合には、シフト線ＳＦＴ０〜ＳＦＴ２５５がハイレベルであるかローレベルであるかに関わらず、ワード線ＷＬＢＳＰはハイレベルとなり、ワード線ＷＬＢ０〜ＷＬＢ２５５はすべてローレベルとなる。
【０２１７】
なお、半導体装置２においてたとえば１個のメモリセルに異常が発生した場合には、予備メモリセル行および予備メモリセル列の両方を用いて救済を行なう必要はない。すなわち、予備メモリセル行への切り替えおよび予備メモリセル列への切り替えの両方を行なう必要はない。このため、半導体装置２では、たとえば図示しない制御回路が予備メモリセル行への切り替えおよび予備メモリセル列への切り替えのいずれかを選択して行シフタ部５１または列シフタ部５２に配線シフト動作を行なわせる。
【０２１８】
また、半導体装置２では、テスタ等を用いることにより半導体装置２におけるメモリセル１００の異常が発見されると、上記のような予備メモリセル行または予備メモリセル列への切り替えを行なう。そして、ＣＡＭメモリアレイ回路１１０およびＣＡＭメモリアレイ回路４１１０において、予備メモリセル行または予備メモリセル列への切り替えを行なった後の２５６個のメモリセル群に、ＣＡＭメモリアレイ回路１１０におけるメモリセル群が有する所定の優先順位に従って適切にデータを保存する。これにより、メモリセルに異常が発生した半導体装置を救済して正常に動作させることができるため、半導体装置の歩留まりを向上させることができる。
【０２１９】
ところで、本発明の第２の実施の形態に係る半導体装置では、ＣＡＭメモリアレイ回路１１０またはＣＡＭメモリアレイ回路４１１０におけるメモリセル１００に異常が発生した場合、単に異常が発生したメモリセル行を予備メモリセル行に切り替える構成では、半導体装置を正常に動作させることが困難である。これは、プライオリティリゾルブ４１４０では、ワード線ＷＬＢを活性化させる優先順位が固定的に決まっているため、予備メモリセル行への切り替えにより、ＣＡＭメモリアレイ回路１１０におけるメモリセル群の優先順位が崩れてしまう場合があるからである。
【０２２０】
しかしながら、本発明の第２の実施の形態に係る半導体装置では、単に異常が発生したメモリセル行を予備メモリセル行に切り替えるのではなく、行シフタ部５１は、異常が発生したメモリセル行を除くように、ワード線ＷＬＡとマッチ線ＭＬＢとの接続をシフトさせ、また、ワード線ＷＬＢとシフト線ＳＦＴとの接続をシフトさせる。このような構成により、予備メモリセル列への切り替えに加えて、予備メモリセル行への切り替えを行なっても、ＣＡＭメモリアレイ回路１１０におけるメモリセル群の優先順位を崩すことがなく、半導体装置を救済して正常に動作させることができる。したがって、本発明の第２の実施の形態に係る半導体装置では、半導体装置の歩留まりを向上させることができる。
【０２２１】
また、本発明の第２の実施の形態に係る半導体装置では、プライオリティエンコーダとして機能するアドレスデコーダ＆プライオリティエンコーダ１４０が含むＣＡＭメモリアレイ回路４１１０のメモリセル１００に異常が発生した場合でも、ＣＡＭメモリアレイ回路４１１０の予備メモリセル行または予備メモリセル列への切り替えが可能である。すなわち、プライオリティエンコーダに異常が発生した場合でも、半導体装置を救済して正常に動作させることができる。
【０２２２】
また、半導体装置２を実際に製造する場合、ＣＡＭメモリアレイ回路１１０およびＣＡＭメモリアレイ回路４１１０の各々において互いに対応するメモリセル行におけるメモリセル１００に異常が発生することは稀である。ここで、本発明の第２の実施の形態に係る半導体装置では、ＣＡＭメモリアレイ回路１１０およびＣＡＭメモリアレイ回路４１１０の各々において互いに非対応のメモリセル行におけるメモリセル１００に異常が発生した場合でも、行シフタ部５１によって半導体装置を救済して正常に動作させることができる。
【０２２３】
その他の構成および動作は第１の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第２の実施の形態に係る半導体装置では、データ検索機能を実現するとともにコスト低減を図り、かつコスト対性能比の最適化を図ることができる。
【０２２４】
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【０２２５】
＜第３の実施の形態＞
本実施の形態は、第２の実施の形態に係る半導体装置を複数個備えた半導体装置に関する。以下で説明する内容以外は第２の実施の形態に係る半導体装置と同様である。
【０２２６】
図２６（ａ）および（ｂ）は、本発明の第３の実施の形態に係る半導体装置の構成を示す図である。
【０２２７】
図２６（ａ）を参照して、半導体装置３は、ブロックシフタ７１と、サブメモリアレイ１０１〜１０８とを備える。半導体装置３は、さらに、冗長構成としてサブメモリアレイＳＰ１０１を備える。サブメモリアレイ１０１〜１０８，ＳＰ１０１の各々は、たとえば半導体装置２と同じ構成である。
【０２２８】
サブメモリアレイ１０１〜１０８は、それぞれ上位アドレス０番地〜７番地に対応している。また、サブメモリアレイ１０１〜１０８の各々における２５６個のメモリセル群が、下位アドレス０番地〜２５５番地に対応している。
【０２２９】
ブロックシフタ７１は、サブメモリアレイ１０１〜１０８におけるすべてのメモリセルが正常である場合、あるいは半導体装置３におけるメモリセルに異常が発生した場合であって、サブメモリアレイ１０１〜１０８の各々が有する冗長構成によって救済が可能であるときには、ブロックシフタ７１は、上位アドレス０番地〜７番地とサブメモリアレイ１０１〜１０８とを対応付ける。
【０２３０】
ここで、半導体装置３におけるメモリセルに異常が発生した場合であって、サブメモリアレイ１０１〜１０８の各々が有する冗長構成によって救済が可能であるときには、本発明の第２の実施の形態に係る半導体装置と同様に、メモリセルに異常が発生したサブメモリアレイ内で予備メモリセル行または予備メモリセル列への切り替えが行なわれる。
【０２３１】
一方、半導体装置３におけるメモリセルに異常が発生した場合であって、異常が発生したメモリセルの数が多いためにサブメモリアレイ１０１〜１０８の各々が有する冗長構成で救済を行なうことができないときには、サブメモリアレイＳＰ１０１を用いた救済が行なわれる。
【０２３２】
すなわち、図２６（ｂ）を参照して、ブロックシフタ７１は、たとえばサブメモリアレイ１０１におけるメモリセルに異常が発生した場合であって、サブメモリアレイ１０１が有する冗長構成で救済を行なうことができないときには、サブメモリアレイ１０１を除くように、外部から受けたアドレスとサブメモリアレイ１０１〜１０８，ＳＰ１０１との関係をシフトさせる。より詳細には、ブロックシフタ７１は、サブメモリアレイ１０１を未使用とし、上位アドレス０番地〜７番地とサブメモリアレイ１０２〜１０８，ＳＰ１０１とを対応付けるように、ブロックシフタ７１とサブメモリアレイ１０１〜１０８，ＳＰ１０１との配線をシフトさせる。
【０２３３】
その他の構成および動作は第２の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第３の実施の形態に係る半導体装置では、データ検索機能を実現するとともにコスト低減を図り、かつコスト対性能比の最適化を図ることができる。
【０２３４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２３５】
【図１】本発明の第１の実施の形態に係る半導体装置の構成を示す機能ブロック図である。
【図２】本発明の第１の実施の形態に係る半導体装置におけるＣＡＭメモリアレイ回路１０の構成を示す機能ブロック図である。
【図３】（ａ）および（ｂ）は、それぞれＣＡＭメモリアレイ回路１０におけるメモリセルの一例を示す回路図である。
【図４】本発明の第１の実施の形態に係る半導体装置におけるアドレスデコーダ＆プライオリティエンコーダ４０の構成を示す機能ブロック図である。
【図５】本発明の第１の実施の形態に係る半導体装置におけるアドレスデコーダ＆プライオリティエンコーダ４０のデータ書き込み時における動作を示す図である。
【図６】本発明の第１の実施の形態に係る半導体装置におけるＣＡＭメモリアレイ回路１０のデータ検索時における動作を示す図である。
【図７】本発明の第１の実施の形態に係る半導体装置におけるアドレスデコーダ＆プライオリティエンコーダ４０のデータ検索時における動作を示す図である。
【図８】プライオリティリゾルブ４０４０の構成を示す回路図である。
【図９】一般的なＣＡＭにおけるエンコーダの構成を示す回路図である。
【図１０】一般的なＣＡＭにおけるアドレスデコーダの構成を示す回路図である。
【図１１】アドレスデコーダ＆プライオリティエンコーダ４０におけるＣＡＭメモリアレイ回路４０１０の構成を示す回路図である。
【図１２】本発明の第２の実施の形態に係る半導体装置の構成を示す図である。
【図１３】本発明の第２の実施の形態に係る半導体装置におけるＣＡＭメモリアレイ回路１１０の構成を示す機能ブロック図である。
【図１４】本発明の第２の実施の形態に係る半導体装置におけるアドレスデコーダ＆プライオリティエンコーダ１４０のデータ書き込み時における動作を示す図である。
【図１５】列シフタ６３の構成および配線シフト動作の一例を示す回路図である。
【図１６】行シフタ６１の構成および配線シフト動作の一例を示す回路図である。
【図１７】行シフタ６１の構成および配線シフト動作の一例を示す回路図である。
【図１８】行シフタ６１の構成および配線シフト動作の一例を示す回路図である。
【図１９】本発明の第２の実施の形態に係る半導体装置におけるアドレスデコーダ＆プライオリティエンコーダ１４０のデータ検索時における動作を示す図である。
【図２０】列シフタ６６の構成および配線シフト動作の一例を示す回路図である。
【図２１】行シフタ６２の構成および配線シフト動作の一例を示す回路図である。
【図２２】列シフタ６４の構成および配線シフト動作の一例を示す回路図である。
【図２３】列シフタにおけるスイッチＳＷＣの構成の一例を示す回路図である。
【図２４】行シフタにおけるスイッチＳＷＲの構成の一例を示す回路図である。
【図２５】プライオリティリゾルブ４１４０の構成を示す回路図である。
【図２６】（ａ）および（ｂ）は、本発明の第３の実施の形態に係る半導体装置の構成を示す図である。
【符号の説明】
【０２３６】
１，２，３  半導体装置、１０，１１０  ＣＡＭメモリアレイ回路（第１のメモリアレイ回路）、１１  センスアンプ（第１のセンスアンプ）、１２  サーチラインドライバ（第１のサーチラインドライバ）、２０  アドレス／データバッファ、２１  命令コードバッファ、２２  クロックバッファ、２３  サーチ結果出力バッファ、３０  アドレス／データ入力端子、３１  命令コード入力端子、３２  クロック入力端子、３３  サーチ結果出力端子、４０，１４０  アドレスデコーダ＆プライオリティエンコーダ、５１  行シフタ部、５２，５３  列シフタ部、６１，６２  行シフタ、６３，６４，６５，６６  列シフタ、１０１〜１０８，ＳＰ１０１  サブメモリアレイ、ＷＬＡ０〜ＷＬＡ２５５，ＷＬＢ０〜ＷＬＢ２５５，ＷＬＡＳＰ，ＷＬＢＳＰ  ワード線、ＭＬＡ０〜ＭＬＡ２５５，ＭＬＢ０〜ＭＬＢ２５５，ＭＬＡＳＰ，ＭＬＢＳＰ  マッチ線、ＢＬＰＡ０〜ＢＬＰＡ１５，ＢＬＰＢ０〜ＢＬＰＢ７，ＢＬＩＰＡ０〜ＢＬＩＰＡ１５，ＢＬＩＰＡＳＰ，ＢＬＩＰＢ０〜ＢＬＩＰＢ７，ＢＬＩＰＢＳＰ  ビット線対、ＢＬＡ０〜ＢＬＡ１５，／ＢＬＡ０〜／ＢＬＡ１５，ＢＬＩＡ０〜ＢＬＩＡ１５，／ＢＬＩＡ０〜／ＢＬＩＡ１５，ＢＬＩＡＳＰ，／ＢＬＩＡＳＰ  ビット線、ＳＬＰＡ０〜ＳＬＰＡ７，ＳＬＰＢ０〜ＳＬＰＢ７，ＳＬＩＰＡ０〜ＳＬＩＰＡ７，ＳＬＩＰＡＳＰ，ＳＬＩＰＢ０〜ＳＬＩＰＢ７，ＳＬＩＰＢＳＰ  サーチ線対、ＳＬＡ０〜ＳＬＡ７，／ＳＬＡ０〜／ＳＬＡ７，ＳＬＩＡ０〜ＳＬＩＡ７，／ＳＬＩＡ０〜／ＳＬＩＡ７，ＳＬＩＡＳＰ，／ＳＬＩＡＳＰ  サーチ線、ＳＦＴＳＰ，ＳＦＴ０〜ＳＦＴ２５５  シフト線、４０１０，４１１０  ＣＡＭメモリアレイ回路（第２のメモリアレイ回路）、４０１１  センスアンプ（第２のセンスアンプ）、４０１２  サーチラインドライバ（第２のサーチラインドライバ）、４０４０，４１４０  プライオリティリゾルブ、Ｇ１〜Ｇ８，Ｇ１０１〜Ｇ１０８  バッファ、Ｇ１１〜Ｇ１６，Ｇ１１１〜Ｇ１１６  ＮＯＲゲート、Ｇ２１〜Ｇ２７，Ｇ１２１〜Ｇ１２７  ＮＡＮＤゲート、Ｇ１７，Ｇ３１〜Ｇ３８，Ｇ４１，Ｇ４２，Ｇ１１７，Ｇ１３１〜Ｇ１３８  ＮＯＴゲート、ＳＷＣＫ０〜ＳＷＣＫ７，ＳＷＣＬ０〜ＳＷＣＬ７，ＳＷＣＭ０〜ＳＷＣＭ７，ＳＷＲＫ０〜ＳＷＲＫ２５５，ＳＷＲＬ０〜ＳＷＲＬ２５５  スイッチ、Ｍ１，Ｍ２，Ｍ１１，Ｍ１２  ＰチャネルＭＯＳトランジスタ、Ｍ３，Ｍ４，Ｍ１３，Ｍ１４  ＮチャネルＭＯＳトランジスタ。
【図１】
2008257835.tif 000003
【図２】
2008257835.tif 000004
【図３】
2008257835.tif 000005
【図４】
2008257835.tif 000006
【図５】
2008257835.tif 000007
【図６】
2008257835.tif 000008
【図７】
2008257835.tif 000009
【図８】
2008257835.tif 000010
【図９】
2008257835.tif 000011
【図１０】
2008257835.tif 000012
【図１１】
2008257835.tif 000013
【図１２】
2008257835.tif 000014
【図１３】
2008257835.tif 000015
【図１４】
2008257835.tif 000016
【図１５】
2008257835.tif 000017
【図１６】
2008257835.tif 000018
【図１７】
2008257835.tif 000019
【図１８】
2008257835.tif 000020
【図１９】
2008257835.tif 000021
【図２０】
2008257835.tif 000022
【図２１】
2008257835.tif 000023
【図２２】
2008257835.tif 000024
【図２３】
2008257835.tif 000025
【図２４】
2008257835.tif 000026
【図２５】
2008257835.tif 000027
【図２６】
2008257835.tif 000028