(57)【要約】      （修正有）【課題】リコンフィギュラブル装置における組み込みメモリブロック等のメモリブロックを提供する。【解決手段】組み込みメモリブロック等のメモリブロック３０、４０は、共通グローバルバスとインタフェース回路とを用いて互いに接続される。インタフェース回路により、メモリブロックは選択的に接続されて深さと幅とが拡張されたメモリブロックを形成することができ、独立ブロックとして使用することが可能になる。インタフェース回路は、メモリブロック内のメモリアレイを、同一の共通グローバルバス上で連結された所望のメモリ入出力ラインに接続し、それによって拡張メモリブロックにアクセスする便利な入出力ラインが使用可能になる。共通グローバルアドレスバスにより、メモリブロックがアドレス情報を互いに送信することができ、使用されないアドレス入力を、ブロック選択情報又は共通の列情報等の情報を送信するために再び用いることができる。【選択図】図３
2010055740.tif 000002
【特許請求の範囲】
【請求項１】
第１のメモリブロックと、第２のメモリブロックと、共通グローバルビット線とを備えるメモリ回路であって、
前記第１のメモリブロックは、
メモリデータを含むように構成された複数の第１のメモリセルを有する第１のメモリアレイと、
前記第１のメモリアレイに接続した第１の列アクセス回路とを備え、
前記第１の列アクセス回路は、
複数の第１のインタフェース回路と、
前記複数の第１のインタフェース回路の１つにそれぞれ接続した複数の第１の列回路と、
前記第１の列アクセス回路に接続した第１の列アドレス入力と、
前記第１の列アクセス回路に接続した第１のメモリデータ入力と、
前記第１の列アクセス回路に接続した第１のメモリデータ出力とを備え、
前記第２のメモリブロックは、
メモリデータを含むように構成された複数の第２のメモリセルを有する第２のメモリアレイと、
前記第２のメモリアレイに接続した第２の列アクセス回路とを備え、
前記第２の列アクセス回路は、
複数の第２のインタフェース回路と、
前記複数の第２のインタフェース回路の１つにそれぞれ接続した複数の第２の列回路と、
前記第２の列アクセス回路に接続した第２の列アドレス入力と、
前記第２の列アクセス回路に接続した第２のメモリデータ入力と、
前記第２の列アクセス回路に接続した第２のメモリデータ出力とを備え、
前記共通グローバルビット線は、前記複数の第１のインタフェース回路の１つを前記複数の第２のインタフェース回路の１つに接続することを特徴とするメモリ回路。
【請求項２】
前記複数の第１のインタフェース回路は、前記複数の第１のインタフェース回路への制御入力の制御信号に基づいて、前記第１のメモリアレイを前記複数の第１の列回路又は前記複数の第２の列回路に選択的に接続するように構成されることを特徴とする、請求項１に記載のメモリ回路。
【請求項３】
前記第１のメモリアレイは、前記複数の第１のインタフェース回路と、前記共通グローバルビット線と、前記複数の第２のインタフェース回路とを経由して、前記複数の第２の列回路に接続するように構成されることを特徴とする、請求項２に記載のメモリ回路。
【請求項４】
前記複数の第１のインタフェース回路は、前記複数の第１のインタフェース回路への制御入力の制御信号に基づいて、前記第１のメモリアレイを前記第１の列アドレス入力又は前記第２の列アドレス入力に選択的に接続するように構成されることを特徴とする、請求項１に記載のメモリ回路。
【請求項５】
前記複数の第１のインタフェース回路は、前記複数の第１のインタフェース回路への制御入力の制御信号に基づいて、前記第１のメモリアレイを前記複数の第１の列回路又は前記共通グローバルビット線に選択的に接続するように構成されることを特徴とする、請求項１に記載のメモリ回路。
【請求項６】
前記複数の第１のインタフェース回路はそれぞれ、
前記メモリアレイと前記複数の第１の列入力回路のいずれか１つとの間に接続した第１のインタフェースゲートと、
前記複数の第１の列入力回路のいずれか１つと前記共通グローバルビット線との間に接続した第２のインタフェースゲートと、
前記メモリアレイと前記共通グローバルビット線との間に接続した第３のインタフェースゲートとを備え、
前記インタフェースゲートはそれぞれ、制御信号によってアクティブになるように構成され、
前記制御信号は、組み合わされて前記選択的接続を行うことを特徴とする、請求項５に記載のメモリ回路。
【請求項７】
前記第２のメモリブロックが前記第１のメモリブロックに接続していない場合、前記第２のメモリブロックは独立型メモリブロックとして使用可能であることを特徴とする、請求項５に記載のメモリ回路。
【請求項８】
前記第１及び第２のメモリブロックは、前記共通グローバルビット線を用いて互いに連結されることにより、組み合わされて拡張メモリブロックを形成するように構成されることを特徴とする、請求項１に記載のメモリ回路。
【請求項９】
前記拡張グローバルビット線は複数設けられ、前記第１のメモリアレイにおけるメモリセルの複数の列のそれぞれに対して、１つの共通グローバルビット線と１つのインタフェース回路とが設けられることを特徴とする、請求項１に記載のメモリ回路。
【請求項１０】
リコンフィギュラブル装置であって、
複数のコンフィギュラブル論理ブロックと、
前記複数のコンフィギュラブル論理ブロックに接続した汎用配線ネットワークと、
メモリ回路とを備え、
前記メモリ回路は、
前記汎用配線ネットワークと分離し、行アドレスを入力するグローバルアドレスバスと、
第１のメモリブロックとを備え、
第１のメモリブロックは、
メモリデータを含むように構成された複数のメモリセルを有するメモリアレイと、
前記メモリアレイに接続し、前記行アドレスを復号化する複数の行回路と、
前記汎用配線ネットワークに接続し、前記行アドレスを入力するローカル行アドレス入力と、
前記行アドレス入力と前記行アドレスを前記行回路へ供給する前記グローバルアドレスバスとの間で選択する行アドレス選択器とを備えることを特徴とするリコンフィギュラブル装置。
【請求項１１】
前記行アドレス入力から前記グローバルアドレスバスへ前記行アドレスを供給するグローバルアドレスバスドライバを更に備えることを特徴とする、請求項１０に記載のリコンフィギュラブル装置。
【請求項１２】
前記第１のメモリブロックが前記行アドレスを第２のメモリブロックへ送信するように構成される場合、前記グローバルアドレスバスドライバは、前記行アドレスを前記行アドレス入力から前記グローバルアドレスバスヘ供給するように制御可能であることを特徴とする、請求項１１に記載のリコンフィギュラブル装置。
【請求項１３】
前記グローバルアドレスバスは第２のメモリブロックへ接続するように構成されることを特徴とする、請求項１０に記載のリコンフィギュラブル装置。
【請求項１４】
前記グローバルアドレスバスは、構成入力へ接続するように構成されることを特徴とする、請求項１０に記載のリコンフィギュラブル装置。
【請求項１５】
前記行アドレス選択器は、前記第１のメモリブロックが第２のメモリブロックから前記行アドレスを入力するように構成される場合、前記グローバルアドレスバスを選択するように構成されることを特徴とする、請求項１０に記載のリコンフィギュラブル装置。
【請求項１６】
前記行アドレス選択器は、前記第１のメモリブロックが前記行アドレスを第２のメモリブロックへ送信するように構成される場合、前記行アドレス入力を選択するように構成されることを特徴とする、請求項１０に記載のリコンフィギュラブル装置。
【請求項１７】
前記グローバルアドレスバスからブロック選択信号を入力し、ブロック識別子を決定する予めプログラムされたデータを入力する選択論理を更に備え、
前記ブロック選択信号が前記予めプログラムされたデータと一致する場合、前記選択論理はブロックイネーブル信号を生成することを特徴とする、請求項１０に記載のリコンフィギュラブル装置。
【請求項１８】
前記第１のメモリブロックがブロック選択信号を送信するように構成される場合、前記ブロック選択信号を前記行アドレス入力から前記グローバルアドレスバスへ供給するように構成されたグローバルアドレスバスドライバを更に備えることを特徴とする、請求項１０に記載のリコンフィギュラブル装置。
【請求項１９】
前記グローバルアドレスバスは、前記行アドレスとブロック選択信号の両方を運ぶように構成されることを特徴とする、請求項１０に記載のリコンフィギュラブル装置。
【請求項２０】
前記グローバルアドレスバスは列アドレスを入力し、
前記メモリ回路は、
前記列アドレスを復号化するメモリアレイに接続された複数の列回路と、
前記列アドレスを入力する列アドレス入力と、
前記列アドレス入力と前記列アドレスを前記列回路へ供給する前記グローバルアドレスバスとの間で選択する列アドレス選択器とを更に備えることを特徴とする、請求項１０に記載のリコンフィギュラブル装置。
【請求項２１】
前記列アドレスを前記列アドレス入力から前記グローバルアドレスバスへ供給するグローバルアドレスバスドライバを更に備えることを特徴とする、請求項２０に記載のリコンフィギュラブル装置。
【請求項２２】
前記第１のメモリブロックが前記列アドレスを第２のメモリブロックへ送信するように構成される場合、前記グローバルアドレスバスドライバは、前記列アドレスを前記列アドレス入力から前記グローバルアドレスバスへ供給するように制御可能であることを特徴とする、請求項２１に記載のリコンフィギュラブル装置。
【請求項２３】
前記列アドレス選択器は、前記第１のメモリブロックが第２のメモリブロックから前記列アドレスを入力するように構成される場合、前記グローバルアドレスバスを選択するように構成されることを特徴とする、請求項２０に記載のリコンフィギュラブル装置。
【請求項２４】
前記列アドレス選択器は、前記第１のメモリブロックが前記列アドレスを第２のメモリブロックへ送信するように構成される場合、前記列アドレス入力を選択するように構成されることを特徴とする、請求項２０に記載のリコンフィギュラブル装置。
【請求項２５】
前記グローバルアドレスバスは、前記行アドレスを入力する第１の部分と、前記列アドレスと前記ブロック選択信号とを入力する第２の部分とを備えることを特徴とする、請求項２０に記載のリコンフィギュラブル装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置に関し、具体的には、データを保存しかつ検索するためにプログラマブルゲートアレイ（ＦＰＧＡ）及びリコンフィギュラブル演算アレイ（ＲＡＡ）等のリコンフィギュラブル装置を備えた多くの半導体装置で用いられるメモリ回路における改良に関する。
【背景技術】
【０００２】
最近のリコンフィギュラブル装置の多くは、論理アレイに組み込まれた専用のメモリブロックを備えている。これらのメモリブロックにより、論理アレイが使用するデータを保存するためのメモリ機能が得られる。例えば、あるアプリケーションがリコンフィギュラブル装置上で構成されている場合、そのアプリケーションは、実行するように設計された機能を実行するために、後で使用するデータ値又は論理アレイに接続した別の装置に出力するデータ値を保存し、及び／又は、既に保存されているデータ値を検索することが頻繁に必要になる。
【０００３】
組み込みメモリブロックを備えたほとんどのリコンフィギュラブル装置において、メモリブロックは互いに分離して論理回路に配線される。一般にこれらのメモリブロックは、各ブロックがデータ出力に加えてデータ及びアドレス入力を含んだ状態で、互いに分離したメモリブロックからなる行又は列状に配置される。データは、データ入力を経由してメモリブロック内のアドレスに書き込まれ、データ出力を経由してメモリブロック内のアドレスから読み出される。書き込み又は読み出しアドレスは、アドレス入力によって特定される。
【０００４】
従来のメモリブロックは、１ビットのデータ（論理「０」又は論理「１」）をそれぞれ保持するメモリセルのアレイからなる。これらのメモリセルは、行及び列状のメモリセルからなるアレイとして配置される。各セルは、そのセルが設けられた行と列とによって位置を特定される。データの読み出し又は書き込みはワード単位で行われ、各ワードは一般に、対応する数のセルを占める１以上のビットからなる。１ワードは、そのワードを構成するビットを保持するセルの組を識別するアドレスを有する。一般に、アドレスは、所望のメモリセル（単数又は複数）を含むアレイにおける位置を識別する一連の組み合わせのアドレスビットとして表現される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のリコンフィギュラブル装置上に構成されたアプリケーションが、論理アレイに組み込まれた組み込みメモリからなる単一のメモリブロックで得られるものよりも大きいメモリ容量を必要とする場合、問題が生じる。様々な組み込みメモリブロックが個別に設けられているため、組み込みメモリは１ブロックのサイズまでのメモリしかアドレス指定できない。したがって、アプリケーションの設計者は、複数のメモリブロックをアプリケーションと対応づけ、どのメモリアドレスをアプリケーションと対応する組み込みメモリの各ブロックに送るかを決定する論理アレイ上で回路を構成しなければならない。その結果、メモリ管理回路を実現し、かつメモリブロックとやりとりするために必要な追加の信号を送ろうとすると、リコンフィギュラブル装置内の汎用ルーティングネットワークに設ける負荷が増えるだけでなく、メモリ管理回路に使用する論理要素が増えるなど、論理アレイのリソースの消費が増えることになる。したがって、フレキシブルに連結した複数のメモリブロックによって論理アレイの貴重なリソースを消費することなくアプリケーションが使用可能な有効メモリを増加させるため、フレキシブルで拡張可能なメモリ構成が必要とされる。
【課題を解決するための手段】
【０００６】
リコンフィギュラブル装置における組み込みメモリブロック等のメモリブロックは、共通グローバルバスとインタフェース回路とを用いて互いに接続される。インタフェース回路により、メモリブロックは選択的に接続されて深さと幅とが拡張されたメモリブロックを形成することができ、独立ブロックとして使用することが可能になる。インタフェース回路は、メモリブロック内のメモリアレイを、同一の共通グローバルバス上で連結された所望のメモリ入出力ラインに接続し、それによって拡張メモリブロックにアクセスする便利な入出力ラインが使用可能になる。共通グローバルアドレスバスにより、メモリブロックがアドレス情報を互いに送信することができ、使用されないアドレス入力を、ブロック選択情報又は共通の列情報等の情報を送信するために再び用いることができる。それによって、フレキシブルかつ構成可能な深さと幅とが拡張されたメモリブロックが作成される。
【０００７】
本発明のある実施形態の一態様において、複数のメモリブロックが共通グローバルビット線を経由して互いに接続される。
【０００８】
本発明のある実施形態の別の態様において、メモリブロックは、共通グローバルビット線と選択的に接続又は遮断されるように構成される。
【０００９】
本発明のある実施形態の別の態様において、インタフェース回路は、メモリブロックを共通グローバルビット線に選択的に接続するように設けられる。
【００１０】
本発明のある実施形態の別の態様において、複数のメモリブロックが共通グローバルアドレスバスを経由して互いに接続される。
【００１１】
本発明のある実施形態の別の態様において、メモリブロック内のメモリアレイは、共通グローバルアドレスバスによりアドレス指定されるように構成される。
【００１２】
本発明のある実施形態の別の態様において、メモリブロック内のメモリアレイは、ローカルアドレス入力又は共通グローバルアドレスバスにより選択的にアドレス指定されるように構成される。
【００１３】
本発明のある実施形態の別の態様において、メモリブロックは、アドレスを共通グローバルアドレスバスへ供給するように構成される。
【００１４】
本発明のある実施形態の別の態様において、共通グローバルアドレスバスは、行アドレス部とブロックイネーブル部とを含む複数の部分を有する。
【００１５】
本発明のある実施形態の別の態様において、メモリブロックは、グローバルアドレスバスの複数の部分のうちの１つを選択的に駆動するように構成される。
【００１６】
本発明のある実施形態の別の態様において、複数のメモリブロックが互いに接続されて拡張深さメモリを形成する。
【００１７】
本発明のある実施形態の別の態様において、複数のメモリブロックが互いに接続されて拡張幅メモリを形成する。
【００１８】
本発明のある実施形態の別の態様において、グローバルアドレスバスは、ブロック選択信号又は列アドレス信号を選択的に運ぶように構成される。
【００１９】
本発明のある実施形態の別の態様において、使用されないアドレス入力がブロック選択信号を供給するのに使用される。
【００２０】
本発明のある実施形態の別の態様において、使用されないアドレス入力が列アドレス信号を供給するのに使用される。
【発明の効果】
【００２１】
共通グローバルアドレスバスにより、メモリブロックがアドレス情報を互いに送信することができ、使用されないアドレス入力を、ブロック選択情報又は共通の列情報等の情報を送信するために再び用いることができる。それによって、フレキシブルかつ構成可能な深さと幅とが拡張されたメモリブロックが作成される。
【図面の簡単な説明】
【００２２】
【図１】図１は、従来のメモリブロック構成を示す図である。
【図２Ａ】図２Ａはリコンフィギュラブル装置内の組み込みメモリブロックの配置例を示す図である。
【図２Ｂ】図２Ｂは図２Ａの配置における隣り合う２つのメモリブロックの詳細な例を示す図である。
【図３】図３は、共通グローバルビット線を用いて隣り合う２つのメモリブロックを接続した、本発明の一実施形態に係る構成を示す図である。
【図４】図４は、本発明の一実施形態に係るインタフェース回路とローカル列回路とを示す図である。
【図５】図５は、メモリアレイへの行アドレス入力を示す、メモリブロックの一部を示す図である。
【図６】図６は、グローバルアドレスバスを用いて隣り合う２つのメモリブロックを接続した、本発明の別の実施形態に係る構成を示す図である。
【図７】図７は、図６の構成を拡張してブロック選択信号を運ぶ、本発明の別の実施形態に係る構成を示す図である。
【図８】図８は、図６の構成を拡張して列アドレスを運ぶ、本発明の別の実施形態に係る構成を示す図である。
【図９】図９は、図６の構成を拡張して、列アドレスとブロック選択信号との両方を運ぶ、本発明の別の実施形態に係る構成を示す図である。
【図１０】図１０は、本発明の一実施形態に従って作成された、深さ及び幅を拡張したメモリブロックを示す図である。
【発明を実施するための形態】
【００２３】
添付の図面は、本発明の実施形態を更に理解するために詳細な説明と共に含まれ、開示された実施形態の原理を説明するために用いられる。
【００２４】
図１に示すように、メモリブロック１０は、メモリアレイ１１と、メモリセル１２と、行回路１４と、行ドライバ１５と、行アドレス入力１６と、列回路１７と、列アドレス入力１９と、データ入力２０と、データ出力２１とを備えている。メモリブロック１０は、従来のメモリブロック構成の一例であり、本発明の実施形態の原則を説明するために用いられる。メモリアレイ１１は、行及び列からなる矩形状に配列されたメモリセル１２のアレイを備えている。またメモリアレイ１１は、メモリセルの行及び列を接続する一連のワイヤも備えている。メモリセル１２の各行は、ワード線２２により連結されている。メモリセル１２の各列は、１以上のビット線２３により連結されている。本発明の実施形態をより良く説明するために、メモリアレイ１１の内部配列の一例を示す。しかし、このメモリアレイ１１の具体的な設計及び／又は構造は、開示された本発明の実施形態に必ずしも必須なものではない。
【００２５】
メモリアレイ１１は行ドライバ１５の集合に接続している。各行ドライバ１５はワード線２２のうちの１つに接続している。行ドライバ１５は、（行回路１４からの）ハイの信号を入力するとワード線２２をハイにし、このハイの信号を入力した行ドライバ１５と対応する行の全てのメモリセル１２をアクティブにする。行ドライバ１５は行回路１４のグループに接続している。これらの行回路１４は、行アドレス入力１６の行アドレスデータを入力し、このデータを復号化して行ドライバ１５のうちのいずれをハイにするかを選択する。行アドレスを復号化して特定の行をアクティブにするために、行回路１４として様々な周知の回路のうちのいずれも用いることもできる。
【００２６】
ビット線２３は列回路１７のグループに接続している。これらの列回路１７は、列アドレス入力１９の列アドレスデータを入力し、このデータを複合化して、どのビット線２３でメモリアレイ１１にデータを送受信するかを選択する。また、列アドレスを復号化し、データ入力２０又はデータ出力２１のデータビットと同数の列を有する特定の列の組をアクティブにするために、列回路１７として様々な周知の回路のうちのいずれも用いることができる。
【００２７】
アドレス入力１６、１９は、アドレスのどの所望のソースにも接続することができ、データ入力２０はメモリに保存するデータのどの所望のソースにも接続することができる。データ出力２１は出力データのどの所望の受信部にも接続することができる。例えば、これらの入出力は、リコンフィギュラブルアレイ上に設けた回路に接続することができる。
【００２８】
ＦＰＧＡ、ＲＡＡ等のリコンフィギュラブル装置を含む多くの装置は、図２Ａのリコンフィギュラブル装置の一例に示すような組み込みメモリブロックを備えている。図２Ａに、リコンフィギュラブル装置２６の一例を部分的に示す。リコンフィギュラブル装置２６は、組み込みメモリブロック１０とコンフィギュラブル論理ブロック２４とを備えている。コンフィギュラブル論理ブロック２４は、ＡＬＵと、参照テーブルと、マルチプレクサと、リコンフィギュラブル装置２６でアプリケーションを実行するのに使用される他の論理装置とを備えてもよい。これらのコンフィギュラブル論理ブロック２４は、汎用配線ネットワーク２５によって配線される。この汎用配線ネットワーク２５は、ブロック２４、１０のいずれかを別の同様のブロックに接続できるように、全てのコンフィギュラブル論理ブロック２４とメモリブロック１０とを連結している。後で詳しく述べるように、本発明の実施形態に係るリコンフィギュラブル装置２６は、アドレス情報をメモリブロック１０に伝えるために、汎用配線ネットワークに加えてグローバルアドレスバスを用いることにより拡張してもよい。
【００２９】
メモリブロック１０は行及び列状に配置され、それによってリコンフィギュラブル装置の規則性が乱れることを最小限にし、装置のハードウェアの設計とそのためのソフトウェアの書き込みの両方を容易にする。図２Ｂに、一般的なリコンフィギュラブル装置における列状に配置された隣接する２つのメモリブロック３０、４０の詳細を示す。第１のメモリブロック３０及び第２のメモリブロック４０は、隣接しているが互いに離れている。これらのブロックは、アドレス入力１６、１９、データ入力２０、及びデータ出力２１のソースにそれぞれ接続している。このソースは、同一のソースであってもよいし、同一又は異なるソースの組み合せであってもよい。例えば、メモリブロック３０、４０は共に、リコンフィギュラブル装置の汎用配線ネットワークによってそのリコンフィギュラブル装置のコンフィギュラブル論理要素の組に接続されていてもよい。このコンフィギュラブル論理要素は、リコンフィギュラブル装置でアプリケーションを実行するように構成されている。アプリケーションはメモリブロック３０、４０のそれぞれにアクセス可能で、アプリケーションに有用な情報を保存したり検索したりする。上述したように、このアプリケーションは、メモリブロック３０、４０のどちらが所望のデータを含むか、又はどちらがデータを保存する所望の対象であるかを決定するなど、必要なメモリ管理タスクの全てを実行する。また、各メモリブロック３０、４０は、それぞれリコンフィギュラブル装置の論理要素の別の組に接続し、論理要素の各組がそれぞれ別の機能又はアプリケーションを実行してもよい。
【００３０】
図３に示すように、本発明のある実施形態において、２つのメモリブロック３０、４０が共通グローバルビット線３５の集合によって互いに連結される。共通グローバルビット線３５は、メモリブロック３０、４０を含むメモリブロックの１列分と、リコンフィギュラブル装置の設計者が希望すれば更に任意の数の別のブロックの長さ分だけ設けられる。各共通グローバルビット線３５は、メモリブロック３０、４０のローカル列回路１７を経由して、第１のメモリブロック３０及び第２のメモリブロック４０の１以上のビット線２３に接続しており、更にはその列の別のメモリブロックにも接続している。また共通グローバルビット線３５は、別の回路又は装置にも接続してもよい。例えば、共通グローバルビット線３５は、リコンフィギュラブル装置の構成ポート又はプログラミングポートに接続することができ、それによってリコンフィギュラブル装置の構成又は再構成の一部としてのデータでメモリが初期化されることが可能になる。
【００３１】
共通グローバルビット線３５は、インタフェース回路３７とローカル列回路１７とを経由してビット線２３に接続する。ローカル列回路１７は、どのメモリセルが正確にアクセス対象かによって、中間ビット線１８を所望のビット線２３へ多重化する。別の実施形態では、インタフェース回路３７はローカル列回路１７とメモリアレイ１１の間、又はデータ入／出力２０、２１とグローバル列回路２２との間に配置されてもよい。これらの２つの代替の実施形態において、ローカル及びグローバル列回路１７、２２を組み合わせてもよい。
【００３２】
各メモリブロック３０、４０において、インタフェース回路３７は中間ビット線１８を経由してグローバル列回路２２に接続している。このインタフェース回路３７は、ビット線２３を（中間ビット線１８を経由して）共通グローバルビット線３５又はグローバル列回路２２へ選択的に接続し、共通グローバルビット線３５もグローバル列回路２２へ選択的に接続する。これにより、データを所定のメモリブロックのメモリアレイ１１からそのメモリブロック内のグローバル列回路２２又は共通グローバルビット線３５へ伝えることができる。共通グローバルビット線３５へ送信されると、データは共通グローバルビット線３５に接続された別のメモリブロックのグローバル列回路２２へ供給される。更にデータは、特定のメモリブロック内のグローバル列回路２２又は共通グローバルビット線３５に連結された別のメモリブロックへ接続可能な共通グローバルビット線３５から、特定のメモリブロックのメモリアレイ１１に入力される。
【００３３】
本発明の実施形態に係るインタフェース回路３７とローカル列回路１７との一例を図４に示す。ローカル列回路１７は、マルチプレクサ段４２と第１トランジスタ３９とを有する。インタフェース回路３７は第２トランジスタ４１と第３トランジスタ４３とを有する。インタフェース回路３７は、共通グローバルビット線３５と、ローカル列回路１７と、グローバル列回路２２のうちの１つに通じる中間ビット線１８とに接続されている。ローカル列回路１７は、メモリアレイ１１の１以上のビット線２３と中間ビット線１８とに接続されている。ビット線は、（マルチプレクサ段４２を経由して）第１及び第３トランジスタ３９、４３に接続している。第１トランジスタ３８は、中間ビット線１８にも接続し、制御信号Ｃ１を入力する。第３トランジスタ４３は、共通グローバルビット線３５にも接続し、制御信号Ｃ３を入力する。第２トランジスタ４１は共通グローバルビット線３５と中間ビット線１８との間に接続し、制御信号Ｃ２を入力する。対応する制御信号Ｃ１、Ｃ２、Ｃ３がハイ（つまり論理１）になると、各トランジスタ３９、４１、４３はＯＮになり、データを通過させる。ただし、マルチプレクサ段４２は、ＲＡＭにおけるビット線２３の数が共通グローバルビット線３５の数を超える場合にのみ必要である。マルチプレクサ段４２を設ける場合、マルチプレクサ段４２は列アドレス入力１９のサブセットにより制御される。
【００３４】
インタフェース回路３７及びローカル列回路１７は、以下のモードで動作する。
【００３５】
ノーマルブロックメモリモード（Normal block memory mode）：メモリブロック３０、４０の両方において、ビット線２３はメモリアレイ１１からグローバル列回路２２に接続し、共通グローバルビット線３５には接続しない。このことは、制御信号Ｃ１が論理１、制御信号Ｃ２及びＣ３が論理０であることに対応する。この構成において、図２を参照して説明した構成と同様に、この２つのメモリブロック３０、４０は、互いに完全に独立して動作している。
【００３６】
拡張メモリモード（Expanded memory mode）：１以上のメモリブロック（例えばメモリブロック３０）において、グローバル列回路２２は共通グローバルビット線３５に接続し、ビット線２３には接続していない。このことは、制御信号Ｃ１が論理０、制御信号Ｃ２が論理１であることに対応する。制御信号Ｃ３の値は、（ブロック選択に関して）以下で詳しく説明するように、アドレス復号化の一部として決定され、確実に１つのメモリブロックだけに同時に読み出し又は書き込みできる。他のメモリブロックは、必要に応じて共通グローバルビット線３５にのみ接続し、これらのメモリブロックに対してメモリブロック３０の列回路２２に接続した共通グローバルビット線３５を経由してデータを転送する。
【００３７】
拡張メモリモードで動作する場合、どの列回路２２が共通グローバルビット線３５に接続しているかは関係ない。第１のメモリブロック３０の列回路２２が共通グローバルビット線３５に接続している場合、又は第２のメモリブロック４０の列回路２２が共通グローバルビット線３５に接続している場合、拡張メモリの機能は同じである。したがって、アプリケーションの設計者は、（列回路２２に接続した）データ入力２０とデータ出力２１のどちらでも、リコンフィギュラブル装置で実行するアプリケーションの残りに接続することが最も簡単である等他の目的において最も便利な方を選び、これらの入出力を共通グローバルビット線３５へ接続してもよい。
【００３８】
同時送信書き込みモード（Broadcast write mode）：２つ以上のメモリブロック（例えば、メモリブロック３０及び４０）において、各メモリブロックでＣ１とＣ２とを論理０、Ｃ３を論理１に設定することにより、ビット線２３を同時に共通グローバルビット線３５に接続する。このモードにより、同じ入力データを、Ｃ３がＯＮになる全てのメモリブロックへ同時送信することが可能になる。
【００３９】
上述した原則は２個を超えるメモリブロックを設けた実施形態へも容易に適用できる。２個を超えるメモリブロックを用いると、更に別の効果も得られる。例えば、上述した拡張メモリの概念を１列に４個のメモリブロックを設ける構成に適用すれば、以下の組合せが可能になる。
【００４０】
１．４つの独立した同じサイズのメモリブロック群
２．単一のメモリブロックの４倍のサイズであり、データ入力及びデータ出力に関して選択肢が４つある１つの拡張メモリ
３．単一のメモリブロックの２倍のサイズであり、拡張メモリと更に２つの独立したメモリへのデータ入力及びデータ出力に関して選択肢が２つある、１つの拡張メモリ
４．単一のメモリブロックの３倍のサイズであり、データ入力及びデータ出力に関して選択肢が３つある、１つの拡張メモリ
【００４１】
全てのメモリブロックが拡張メモリを作成するのに使用されるのではない場合、使用されないブロックを、単一サイズのメモリブロックとして用いることができる。「使用されない」ブロック（及び単一サイズのＲＡＭ）は列のどこに設けてもよい。大規模なＲＡＭを構成するのに使用するブロックは、列内で隣り合う必要はない。
【００４２】
本発明の別の実施形態において、フレキシブルアドレス復号化設計は、グローバルビット線を用いた上述の設計に同様の手法を適用することで実現可能である。図５に示すように、従来のメモリブロック１０において、行アドレスが行アドレス入力１６に入力され、行回路１４で復号化され、アクティブにするメモリアレイ１１の特定の行を識別する。また、行アドレスはプリデコーダ５０によりプリデコードされ、行回路１４による復号化用の行アドレスを最適化してもよい。
【００４３】
行アドレスをプリデコードするためのある周知の方法によると、アドレスビット（Ａ、Ｂ）の組を組み合わせ、これらの組み合わせを用いて、論理関数Ａ＆Ｂ、Ａ＆（ｎｏｔＢ）、（ｎｏｔＡ）＆Ｂ、及び（ｎｏｔＡ）＆（ｎｏｔＢ）に対応する各組に対して４つのプリデコードされた出力ビットを生成する。このプリデコード段の効果は、他の場合は行回路１４に接続する配線の数を増やすことなく行回路１４の複雑さを低下させることである。上述の４つの信号は、Ａ、ｎｏｔＡ、Ｂ、及びｎｏｔＢを行回路１４の入力として用いた従来の構成と同数の配線を使用する。
【００４４】
行信号がプリデコードされると、行回路１４はプリデコードされた信号を復号化し、アクティブにする特定の行を識別する。従来、行回路１４は行ドライバ１５に出力するＡＮＤゲートをそれぞれ備えていた。このＡＮＤゲートは、それぞれ行アドレスビットの元々の組からのプリデコードされた４つの信号のうちの１つを入力として用いる。各行は、プリデコードされた信号の別の組み合わせにそれぞれ接続している。
【００４５】
例えば、行アドレスＡ、Ｂ、Ｃ、Ｄに対して４ビットが存在する場合、第１の行回路は、各組からの第１のプリデコードされた信号を入力として用いる。この第１の入力は、（Ａ＆Ｂ）になり、第２の入力は（Ｃ＆Ｄ）になる。したがって、１１１１の行アドレスが行アドレス入力１６に入力されると、第１の行回路はハイになる。第２の行回路は、第１の組からの第１のプリデコードされた信号と、第２の組からの第２のプリデコードされた信号とを入力する。したがって、第２の行回路に対するこれら２つの入力は、（Ａ＆Ｂ）と（Ｃ＆ｎｏｔＤ）である。よって、行アドレス入力１６に１１１０の行アドレスを入力すると、第２の行回路はハイになる。残りの行も同様に追従し、行アドレスビットの特定の組み合わせで各行はハイになる。
【００４６】
図６に示す本発明のある実施形態において、グローバルアドレスバス５２と選択回路５４とを各メモリブロック３０、４０に追加することによって、メモリアドレス設計を拡張する。図２Ａ、図２Ｂ、及び図３を参照して既に説明したように、グローバルアドレスバス５２は、リコンフィギュラブル装置において列状に配置されたメモリブロック３０、４０等の複数のメモリブロックに共通である。各メモリブロック３０、４０について、行回路１４は選択回路５４から行アドレスを入力する。選択回路５４は、２つの入力から選択し、選択回路制御入力に基づいて行回路１４に出力するように構成される。選択回路５４はグローバルアドレスバス５２から１つの入力を受け取る。選択回路５４はそれぞれのメモリブロック３０、４０に対応するローカル行アドレス入力１６から第２の入力を受け取る。この第２の入力はプリデコーダ５０でプリデコードされていてもよい。選択回路５４は、構成メモリ等の制御信号の所望のソースからの制御入力、又はリコンフィギュラブル装置で実行されるアプリケーションからのデータラインを入力する。したがって、各メモリブロック３０、４０内のメモリアレイ１１は、ローカル行アドレス入力１６又はグローバルアドレスバス５２を駆動している信号によりアドレス指定される。グローバルアドレスバス５２を駆動する１つのソースは、トライステートドライバ５６等のグローバルアドレスバスドライバを経由したローカル行アドレス入力１６のうちの１つである。トライステートドライバ５６への制御入力は、グローバルアドレスバス５２がローカル行アドレス入力１６により駆動される場合はトライステートドライバ５６をアクティブにし、別のソースにより駆動される場合は、トライステートドライバ５６を非アクティブにする。グローバルアドレスバス５２を駆動する別の代替のソースは、上述したプログラミング又は構成ポート、又は行アドレス信号の他の所望のソースである。したがって、グローバルアドレスバス５２により、１つのメモリブロックに供給されたローカル行アドレス入力１６の行アドレスが、グローバルアドレスバス５２で連結された別のメモリブロックへ送信される。同じ手法を、読み出し／書き込み制御信号又はメモリイネーブル信号等の別の所望のメモリ制御信号を送信するのにも用いることができる。
【００４７】
上述のグローバルアドレスバス５２及び共通グローバルビット線３５を組み合わせて用いることにより、アドレス指定可能なメモリのサイズを拡張することができ、更に拡張されたメモリをアドレス指定することも可能になる。拡張メモリブロックに含まれるメモリ容量が増加しているため、拡張メモリブロック内の各メモリの位置に一意的にアクセスすることが要求されるアドレスのサイズも増加する。例えば、メモリブロック３０、４０がそれぞれ８ビットのアドレスを要求する場合、それらの２つが共に９ビットのアドレスを要求し、それらの４つからなるグループが１０ビットのアドレスを要求する。つまり、メモリブロック３０、４０内の位置を選択するために８ビットが、それぞれ特定のメモリブロックを選択するために１又は２ビットが用いられる。
【００４８】
拡張メモリブロックにおいて、行アドレス入力１６がメモリブロック３０、４０のうちのいずれか１つに供給され、次いでグローバルアドレスバス５２を経由して拡張メモリブロック内の他の（入力）メモリブロックに送信される。したがって、この入力メモリブロックの行アドレス入力１６は、行アドレスをメモリブロックに供給するためには用いられない。そのため、入力メモリブロックのうち１つの使用されない行アドレス入力１６を、ブロック選択信号を生成するために使用することができる。ブロック選択信号は行アドレスと同様に生成されるが、ビット数は少ない。
【００４９】
図７に示すように、グローバルアドレスバス５２は、行アドレス入力１６へ供給される行アドレスよりも広く幅が拡張される。この追加のバス幅は、アクティブにする特定のメモリブロックを選択するブロック選択信号を供給するために用いられる。例えば、拡張メモリブロックに４つのメモリブロックがある場合、グローバルアドレスバス５２は１０ビット幅であり、行アドレスを供給するのに８ビット、２進化ブロック選択信号を供給するのに２ビットを有する。また、ブロック選択信号は、それぞれ１メモリブロックを選択する４つの信号にプリデコードされてもよく、この場合、グローバルアドレスバス５２は１２ビット幅で、行アドレスを供給するのに８ビット、ブロック選択信号を供給するのに４ビットを有する。この方法によると、ブロック選択信号はプリデコーダ出力から駆動され、そのため４ビットのうち１ビットをハイにすることでブロックを示すコード（１−ｏｆ−４コード）であるため、図７に示す実施形態において有用である。この種の方法は、プリデコードされたアドレスを使用することにより行回路が簡単になるのと同様に、論理６０を選択することが容易になる。メモリブロックのうちの１つ（例えばメモリブロック３０）が、このブロック用の行アドレス入力１６の行アドレスを入力し、その行アドレスを別のブロック（例えばメモリブロック４０）へ送信するのに用いられる。行アドレス送信を入力するメモリブロックのうちの１つ（例えばメモリブロック４０）が選択されて、そのブロック用の行アドレス入力１６のブロック選択ビットを入力し、そのブロック選択信号を別のブロックに送信する。メモリブロック３０によって行アドレスがメモリブロック４０へ送信されるため、メモリブロック４０用の行アドレス入力１６は、行アドレスの生成に使用されない。したがって、ブロック選択ビットの入力やオプションとしてのプリデコード等の他の機能を実行するために行アドレス入力１６（及びプリデコーダ５０）を用いることができる。
【００５０】
いったんブロック選択ビットが入力され、オプションとしてプリデコードされると、そのブロック選択ビットはトライステートドライバ５８等のグローバルアドレスバスドライバを経由してグローバルアドレスバス５２へ供給される。トライステートドライバ５８への制御入力は、対応する行アドレス入力１６によってブロック選択ビットがグローバルアドレスバス５２へ供給されるとトライステートドライバ５８をアクティブにし、別のソースによってブロック選択ビットがグローバルアドレスバス５２に供給されるとトライステートドライバ５８を非アクティブにする。ブロック選択ビットをグローバルアドレスバス５２に供給するソースとして、上述のプログラミング又は構成ポート、又はブロック選択ビットの他の所望のソースを用いてもよい。したがって、グローバルアドレスバス５２は、メモリブロックへ供給されたブロック選択ビットをグローバルアドレスバス５２によって連結された別のメモリブロックへ送信することが可能になる。
【００５１】
ブロック選択ビットは、各メモリブロック３０、４０の選択論理６０によってグローバルアドレスバス５２から入力される。選択論理６０は、ブロック選択ビットがメモリブロック３０、４０が選択されたことを示すとブロック選択ビットを復号化してブロックイネーブル信号を生成する論理である。選択論理６０は、どのブロック選択信号がイネーブル信号をトリガするかを識別するデータによって予めプログラムされている。動作中、各メモリブロックの選択論理６０は、どのメモリブロックが実行中の特定のメモリ動作にイネーブルされるかを示すグローバルアドレスバス５２からの信号を入力する。信号が予めプログラムされたデータと一致する場合、選択論理６０はブロックイネーブル信号を生成する。
【００５２】
例えば、拡張メモリに４つのメモリブロックがあり、そのためブロック選択信号に２ビットある場合、ブロック選択ビットは、「００」、「０１」、「１０」、「１１」の４つの組み合わせが可能であり、それぞれ拡張メモリブロック内の別々のメモリブロックに対応している。各ブロックの選択論理６０は、これらの信号のうちいずれか１つに応答するようにプログラムされる。したがって、例えばメモリブロック３０の選択論理６０は「００」に応答し、メモリブロック４０の選択論理は「０１」に応答する。他のメモリブロックは「１０」と「１１」とにそれぞれ応答する。メモリブロック３０の選択論理６０が「００」のブロック選択信号を入力する場合、メモリブロック３０に対するブロックイネーブル信号が生成される。メモリブロック３０の選択論理６０が別のブロック選択信号を入力する場合には、ブロックイネーブル信号は生成されない。このブロックイネーブル信号によって、ブロックがイネーブルになり、データのブロックに対する書き込み又は読み出しが行われる。例えば、ブロックイネーブル信号は制御信号Ｃ３として図４のインタフェース回路３７に供給される。ブロックイネーブル信号によってイネーブルされたメモリブロックは、上述したように、図７に示すように共通グローバルビット線へも接続可能である。したがって、イネーブルされたブロックは共通グローバルビット線３５又はイネーブルされたブロックのデータ入／出力２０、２１に対してデータの読み出し・書き込みを行う。
【００５３】
メモリブロックの拡張と共にメモリブロックを結合することによるメモリの使用可能な深さの拡張に加えて、同様の概念を用いてメモリの使用可能な幅を拡張することも可能である。図８において、上述したように、幅拡張モードにおいては、あるメモリブロックの行アドレス入力１６に設けられた行アドレスを別のメモリブロックに送信するためにグローバルアドレスバス５２を用いるが、共通グローバルビット線３５は用いない。各メモリブロックは、それ自身のデータ入力２０及びデータ出力２１を用いてデータをメモリブロックへ送受信する。このモードの結果、メモリは標準のアドレス幅を有するが、そのデータ幅は増加する。例えば、メモリブロック３０及びメモリブロック４０がそれぞれ同じ行アドレス入力１６によって駆動される場合、各メモリブロック３０、４０がそれぞれのメモリブロック内の同じ行に保存されたデータを出力する。したがって、各ブロックが４ビット幅であれば、組み合わせると８ビット値を出力することになる。一方、行アドレス幅は同じままである。
【００５４】
このようにして拡張メモリブロックの幅を増加させるために、列アドレス入力１９に設けられた列アドレスは各メモリブロック３０、４０の列回路１７で共有される。これは、ブロック選択ビットについて上述した方法と同様に、グローバルアドレスバス５２の幅を広げて列アドレスを運ぶことによって実現される。ある実施形態では、ブロック選択信号を運ぶ同じ配線が列アドレスを運ぶのにも使用される。メモリブロック３０、４０が深さ方向に拡張されたメモリブロックを生成するように組み合わされると、グローバルアドレスバス５２の追加の配線は、拡張メモリブロックの深さを拡張するのに用いられたブロック選択信号を運ぶ。メモリブロック３０、４０が幅を拡張されたメモリブロックを生成するように組み合わされると、グローバルアドレスバス５２の追加の配線は拡張メモリブロックの幅を拡張するのに用いられた列アドレスを運ぶ。別の実施形態では、グローバルアドレスバス５２はブロックイネーブル信号と列アドレス信号の両方を同時に運ぶのに十分な程度に幅を広げてもよい。
【００５５】
図８に示す回路のメモリブロック（例えばメモリブロック３０）の動作において、列アドレスが列アドレス入力１９に入力され、オプションとしてプリデコーダ６２に供給されてプリデコードされる。その後、列アドレスは選択回路６６、次いでトライステートドライバ６４等のグローバルアドレスバスドライバへ供給される。メモリブロック３０が列アドレスを拡張メモリブロックにおける別のブロックへ送信するように構成されると、トライステートドライバ６４は（制御入力によって）アクティブにされる。選択回路６６は、制御信号に応じて、列アドレス入力１９からの列アドレス又はグローバルアドレスバス５２からの列アドレスを伝播するように構成される。メモリブロックが幅を拡張したメモリブロックの一部である場合、列アドレスはグローバルアドレスバス５２から取得される。メモリブロックが独立型ブロックである場合、列アドレスは列アドレス入力１９から取得される。次いで、列アドレスは上述したように列回路１７へ供給され、データ入力２０及びデータ出力２１を経由してデータを書き込む又は読み出す列を識別するのに用いられる。
【００５６】
上述の深さ拡張及び幅拡張回路は、図９に示すような深さ拡張又は幅拡張メモリブロックを形成可能なメモリブロックの集合を作成するように組み合わせることができる。図９の要素は、図７〜図８の対応する要素と同様に接続される。グローバルアドレスバス５２は、ブロック選択信号と列アドレス信号とを同時に送信できるように更に幅を広げてもよい。別の可能な実施形態では、メモリブロック１０が必要とするときにこれらの信号が両方とも使用可能になるように、いずれか１つの信号を一時的にバッファリングしてもよい。
【００５７】
更に、深さ拡張と幅拡張とが同時に可能な拡張メモリも作成可能である。例えば、図１０に示すように、深さ４ブロック、幅２ブロックの８つのメモリブロックを用いて拡張メモリブロックが作成可能である。メモリブロック７０〜７３は、グローバルビット線３５によって処理され、メモリブロック７４〜７７は、グローバルビット線３５と分離したグローバルビット線３６によって処理される。各ブロックの選択論理６０は、各メモリブロックがどのブロック選択ビット値に応答するかを識別するように予めプログラムされる。メモリブロック７０、７４はブロック「００」を含み、メモリブロック７１、７５はブロック「０１」を含み、メモリブロック７２、７６はブロック「１０」を含み、メモリブロック７３、７７はブロック「１１」を含む。メモリブロックのうちの１つ（例えばブロック７０）は、行及び列アドレスを他のブロックへ送信する。２つ目のメモリブロック（例えばブロック７４）はブロック数を他のブロックへ送信する。メモリ動作がアプリケーションによって実行されると、このアプリケーションはアクセス先のメモリ位置に関する行アドレスと、列アドレスと、ブロック数とを供給する。行アドレスはブロック７０に入力されて、他のブロックへ送信される。列アドレスもブロック７０に入力されて、他のブロックへ送信される。ブロック数はブロック７４に入力されて、他のブロックへ送信される。ただし、グローバルアドレスバス５２は、ブロック数と列アドレスとを同時に送信するように幅を広げてもよいし、又は、場合によっては各メモリブロック用のバッファを用いて、メモリブロック数と列アドレスとを連続的に送信し、送信値の１つを一時的に保存してもよい。送信されたアドレスは、送信されたブロック数に対応するブロックに属するメモリブロック及び送信された行及び列アドレスに対応する行及び列における２つのメモリ位置を識別するように動作する。
【００５８】
例えば、各メモリブロック７０〜７７の深さが４ビット、幅が４ビットであるとすれば、アプリケーションは「０１１１００」等のアドレスをアクセス先のメモリ位置を含むアドレスとして供給する。最初の２つビットは所望のブロック「０１」を識別し、次の２ビットは所望の行「１１」を識別し、最後の２ビットは所望の列「００」を識別する。ブロック識別ビットは、使用されない行入力でメモリブロック７４に供給され、グローバルアドレスバス５２を経由して他のメモリブロックへ送信される。各メモリブロック７０〜７７の選択回路６０は、ブロック識別ビットを読み出し、（「０１」の予めプログラムされたブロック識別子に対応する）メモリブロック７１及び７５の選択回路６０は、メモリブロック７１及び７５をイネーブルにする。残りのメモリブロックはイネーブルされない。行アドレス「１１」と列アドレス「００」とは、メモリブロック７０に入力されて、他のブロックに送信される。メモリブロック７０〜７７はそれぞれ行アドレスを入力し、メモリブロックの行（本例においては行「１１」）をアクティブにする。また、各メモリブロック７０〜７７は列アドレスを入力してもよいが、上述したように列回路１７のうちの１つをメモリブロックの各列に延びるグローバルビット線３５、３６に接続してもよいため、簡潔にするため、図面では各列に対して１つの列回路１７のみを示す。ブロック７１及び７５だけがイネーブルされるため、これらのブロックだけが２組のグローバルビット線３５、３６に接続する。したがって、各列に対する列回路１７は、イネーブルされたメモリブロック７１及び７５の列「００」に位置するメモリセルにアクセスする。メモリ動作が読み出しの場合、メモリブロック７１及び７５の選択位置（「１１００」）が、２組のグローバルビット線３５、３６を経由して２列にそれぞれに対応するデータ出力上で読み出される。メモリ動作が書き込みの場合、２列にそれぞれに対応するデータ入力の値は、それぞれ２組のグローバルビット線３５、３６を経由してメモリブロック７１及び７５の選択位置（「１１００」）に書き込まれる。
【００５９】
上述の明細書において、本発明をその具体的な実施の形態を参照して説明した。しかしながら、本発明のより広範な精神および範囲から逸脱することなく種々の変形および変更を行なうことができるのは明らかであろう。例えば、ここで説明した回路図に示す要素の特定の構成と組み合わせを単に例示的なものであると理解されるべきであり、本発明を別の又は追加の要素、又は別の組み合わせ又は要素の構成を用いて実施することも可能である。ここで説明したメモリブロックはリコンフィギュラブル装置の要素である。別の代替の実施形態では、メモリブロックは、メモリブロックを選択的に接続し、使用可能なメモリの深さ又は幅を拡張することが望まれる別の回路又は装置の要素であってもよい。したがって明細書および図面は、請求項及びそれと法的な同等物によるものを除いて、限定的な意味ではなく例示的な意味で考慮されるべきである。
【産業上の利用可能性】
【００６０】
半導体装置、特に、データを保存しかつ検索するためのリコンフィギュラブル装置を備えた多くの半導体装置で用いられるメモリ回路を改良するのに有用である。
【図１】
2010055740.tif 000003
【図２Ａ】
2010055740.tif 000004
【図２Ｂ】
2010055740.tif 000005
【図３】
2010055740.tif 000006
【図４】
2010055740.tif 000007
【図５】
2010055740.tif 000008
【図６】
2010055740.tif 000009
【図７】
2010055740.tif 000010
【図８】
2010055740.tif 000011
【図９】
2010055740.tif 000012
【図１０】
2010055740.tif 000013