(57)【要約】      （修正有）【課題】Ｉ／Ｏの数を増大させることなく，データ転送レートを増大することができるコンフィグラブルメモリブロックを備えた半導体集積回路を提供する。【解決手段】第１メモリバンク２２２および第２メモリバンク２２４にアドレス情報を供給するコンフィグラブルデコーダ２１０と、データを第１モードまたは第２モードに再構成可能な出力モジュール２３０であって、第１モードは、第１クロック信号ｆＣＬＫに従って第１データおよび第２データを保持し、第１クロック信号の少なくとも２倍の周波数を有する第２クロック信号ｆＣＬＫ×２に従って第１データと第２データとの一方を選択して出力する機能を有する。第２モードは、少なくとも第１クロック信号に従って第１データおよび第２データのうちの一方を選択し出力する機能を有する。【選択図】図２
2019057336.tif 000002
【特許請求の範囲】
【請求項１】
第１クロック信号に従って読み出し動作を行い、前記第１クロック信号に従って第１データを出力する第１メモリバンクと、
前記第１クロック信号に従って読み出し動作を行い、前記第１クロック信号に従って第２データを出力する第２メモリバンクと、
前記第１メモリバンクおよび前記第２メモリバンクにアドレス情報を供給するコンフィグラブルデコーダと、
第１モードまたは第２モードに再構成可能な出力モジュールであって、前記第１モードは、前記第１クロック信号に従って前記第１データおよび第２データを保持し、前記第１クロック信号の少なくとも２倍の周波数を有する第２クロック信号に従って第１データと前記第２データとの一方を選択して出力する機能を有し、前記第２モードは少なくとも前記第１クロック信号に従って前記第１データおよび前記第２データのうちの一方を選択し出力する機能を有する、出力モジュールと、
を備えた半導体集積回路。
【請求項２】
前記出力モジュールは、
前記第１メモリバンクに接続され、前記第１クロック信号に従って前記第１データを保持する第１レジスタ群と、
前記第２メモリバンクに接続され、前記第１クロック信号に従って前記第２データを保持する第２レジスタ群と、
前記第１データと前記第１レジスタ群に保持されたデータのうちの一方を選択し出力する第１マルチプレクサと、
前記第２データと前記第２レジスタ群に保持されたデータのうちの一方を選択し出力する第２マルチプレクサと、
前記第１クロック信号に従ってバンク選択アドレス信号を保持するバンク選択アドレスレジスタと、
前記第２クロック信号と前記バンク選択アドレス信号のうちの一方を選択し出力する第３マルチプレクサと、
前記第３マルチプレクサの出力に従って前記第１マルチプレクサの出力と前記第２マルチプレクサの出力のうちの一方を選択し出力するバンク選択マルチプレクサと、
を備えた請求項１記載の半導体集積回路。
【請求項３】
前記コンフィグラブルデコーダは前記第１モードにおいて、前記第１メモリバンクおよび前記第２メモリバンクに同時にアドレス情報を供給し、
前記出力モジュールは前記第１モードにおいて、
前記第１メモリバンクに接続され、前記第１クロック信号に従って前記第１データを保持する第１レジスタ群と、
前記第２メモリバンクに接続され、前記第１クロック信号に従って前記第２データを保持する第２レジスタ群と、
前記第１レジスタ群および前記第２レジスタ群に接続され、前記第２クロック信号に従って第１レジスタ群に保持されたデータと前記第２レジスタ群に保持されたデータとの一方を選択し、出力するバンク選択マルチプレクサと、
を有する請求項１記載の半導体集積回路。
【請求項４】
前記コンフィグラブルデコーダは前記第２モードにおいて、バンク選択アドレス信号に従い前記第１メモリバンクおよび前記第２メモリバンクのうち一方を排他的に選択してアドレス情報を供給し、
前記出力モジュールは前記第２モードにおいて、
前記第１クロック信号に従って前記バンク選択アドレス信号を保持するバンク選択アドレスレジスタと、
前記バンク選択アドレス信号に従って前記第１メモリバンクからの前記第１データと前記第２メモリバンクからの前記第２データとのうちの一方を選択し、出力するバンク選択マルチプレクサと、
を備えた請求項１記載の半導体集積回路。
【請求項５】
前記第１メモリバンクのデータ入力端子と前記第２メモリバンクのデータ入力端子が接続された出力端子を有し、前記第１モードまたは前記第２モードに再構成可能な入力モジュールを更に備え、
前記入力モジュールは、
前記第１モードにおいて、前記第２クロック信号に従って第１入力データおよび第２入力データを連続して取り込み、前記第１クロック信号に従って前記第１入力データを前記第１メモリバンクに供給し、前記第２入力データを前記第２メモリバンクに供給し、
前記２モードにおいて、前記第１クロック信号に従って第３入力データを取り込み、第１クロック信号に従って、前記第１メモリバンクおよび前記第２メモリバンクに前記第３入力データを同時に供給する、
請求項１乃至４のいずれかに記載の半導体集積回路。
【請求項６】
前記第１メモリバンクおよび前記第２メモリバンクはそれぞれ、第１ポートおよび第２ポートを有し、前記第１ポートおよび前記第２ポートのアドレスに対して同時にアクセスが可能なデュアルポートランダムアクセスメモリである請求項１乃至５のいずれかに記載の半導体集積回路。
【請求項７】
コンフィグラブルロジックブロックと、
コンフィグラブルメモリブロックと、
前記コンフィグラブルロジックブロックと前記コンフィグラブルメモリブロックとを相互接続するコンフィグラブルインターコネクトブロックと、
を備含み、
前記コンフィグラブルメモリブロックは、
第１クロック信号に従って読み出し動作を行い、前記第１クロック信号に従って第１データを出力する第１メモリバンクと、
前記第１クロック信号に従って読み出し動作を行い、前記第１クロック信号に従って第２データを出力する第２メモリバンクと、
前記第１メモリバンクおよび前記第２メモリバンクにアドレス情報を供給するコンフィグラブルデコーダと、
第１モードおよび第２モードに再構成可能な出力モジュールであって、前記第１モードは、前記第１クロック信号に従って前記第１データおよび第２データを保持し、前記第１クロック信号の少なくとも２倍の周波数を有する第２クロック信号に従って第１データと前記第２データとの一方を選択して出力する機能を有し、前記第２モードは少なくとも前記第１クロック信号に従って前記第１データおよび前記第２データのうちの一方を選択し出力する機能を有する、出力モジュールと、
を備えた半導体集積回路。
【請求項８】
前記出力モジュールは、
前記第１メモリバンクに接続され、前記第１クロック信号に従って前記第１データを保持する第１レジスタ群と、
前記第２メモリバンクに接続され、前記第１クロック信号に従って前記第２データを保持する第２レジスタ群と、
前記第１データと前記第１レジスタ群に保持されたデータのうちの一方を選択し出力する第１マルチプレクサと、
前記第２データと前記第２レジスタ群に保持されたデータのうちの一方を選択し出力する第２マルチプレクサと、
前記第１クロック信号に従ってバンク選択アドレス信号を保持するバンク選択アドレスレジスタと、
前記第２クロック信号と前記バンク選択アドレス信号のうちの一方を選択し出力するモード選択マルチプレクサと、
前記第３マルチプレクサの出力に従って前記第１マルチプレクサの出力と前記第２マルチプレクサの出力のうちの一方を選択し出力するバンク選択マルチプレクサと、
を備えた請求項７記載の半導体集積回路。
【請求項９】
前記コンフィグラブルデコーダは前記第１モードにおいて、前記第１メモリバンクおよび前記第２メモリバンクに同時にアドレス情報を供給し、
前記出力モジュールは前記第１モードにおいて、
前記第１メモリバンクに接続され、前記第１クロック信号に従って前記第１データを保持する第１レジスタ群と、
前記第２メモリバンクに接続され、前記第１クロック信号に従って前記第２データを保持する第２レジスタ群と、
前記第１レジスタ群および前記第２レジスタ群に接続され、前記第２クロック信号に従って第１レジスタ群に保持されたデータと前記第２レジスタ群に保持されたデータとの一方を選択し、出力するバンク選択マルチプレクサと、
を有する請求項７記載の半導体集積回路。
【請求項１０】
前記コンフィグラブルデコーダは前記第２モードにおいて、バンク選択アドレス信号に従い前記第１メモリバンクおよび前記第２メモリバンクのうち一方を排他的に選択してアドレス情報を供給し、
前記出力モジュールは前記第２モードにおいて、
前記第１クロック信号に従って前記バンク選択アドレス信号を保持するバンク選択アドレスレジスタと、
前記バンク選択アドレス信号に従って前記第１メモリバンクからの前記第１データと前記第２メモリバンクからの前記第２データとのうちの一方を選択し、出力するバンク選択マルチプレクサと、
を備えた請求項７記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体集積回路に関する。
【背景技術】
【０００２】
フィールドプログラマブルゲートアレイ（以下、ＦＰＧＡ（Field Programmable Gate Array）とも云う）に代表されるプログラマブルロジックデバイス（以下、ＰＬＤ（Programmable logic device）とも云う）は、チップ製造後に回路構成を書き換えることができる半導体集積回路である。アイランドスタイルのＰＬＤは、コンフィグラブルロジックブロックとコンフィグラブルメモリブロックが、コンフィグラブルインターコネクトブロックによって相互に接続された二次元的な繰り返し構造からなる。コンフィグラブルメモリブロックは、より高いデータレート（ｂｉｔ／ｓｅｃ）でコンフィグラブルロジックブロックへデータを供給できることが望ましい。データレートは，データ転送のクロック周波数ｆｃｌｋとデータビット幅Ｗの積で与えられる。データ転送のクロック速度は、コンフィグラブルメモリブロックに含まれるメモリコアの読み出し最大クロック周波数によって通常制限される。また、データビット幅は，コンフィグラブルメモリブロックとコンフィグラブルインターコネクトブロックとを接続するコンフィグラブルブロックのＩ／Ｏの数によって制限される。コンフィグラブルブロックのＩ／Ｏは、そのコンフィグラビリティのために１つのＩ／Ｏあたりの面積が大きく、Ｉ／Ｏ数の増大は著しい面積の増大を引き起こす。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第７，７９７，６１０号明細書
【非特許文献】
【０００４】
【非特許文献１】“High Density, Low Energy, Magnetic Tunnel Junction Based Block RAMs for Memory-rich FPGAs”, IEEE International Conference on Field-Programmable Technology (FPT), pp. 4-11 (2016).  K.Tatsumura, S. Yazdanshenas, and V. Betz
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本実施形態は、Ｉ／Ｏの数を増大させることなく，データ転送レートを増大することができるコンフィグラブルメモリブロックを備えた半導体集積回路を提供する。
【課題を解決するための手段】
【０００６】
本実施形態による半導体集積回路は、第１クロック信号に従って読み出し動作を行い、前記第１クロック信号に従って第１データを出力する第１メモリバンクと、前記第１クロック信号に従って読み出し動作を行い、前記第１クロック信号に従って第２データを出力する第２メモリバンクと、前記第１メモリバンクおよび前記第２メモリバンクにアドレス情報を供給するコンフィグラブルデコーダと、第１モードまたは第２モードに再構成可能な出力モジュールであって、前記第１モードは、前記第１クロック信号に従って前記第１データおよび第２データを保持し、前記第１クロック信号の少なくとも２倍の周波数を有する第２クロック信号に従って第１データと前記第２データとの一方を選択して出力する機能を有し、前記第２モードは少なくとも前記第１クロック信号に従って前記第１データおよび前記第２データのうちの一方を選択し出力する機能を有する、出力モジュールと、を備えている。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態による半導体集積回路の構成を示すブロック図。
【図２】第１実施形態のコンフィグラブルメモリモジュールを示す回路図。
【図３】第１実施形態におけるコンフィグラブルメモリモジュールのダブルデータレートモードを示す回路図。
【図４】第１実施形態におけるコンフィグラブルメモリモジュールのノーマルモードを示す回路図。
【図５】第１実施形態におけるコンフィグラブルメモリモジュールの一例の詳細を示す回路図。
【図６】第１実施形態におけるコンフィグラブルデコーダの一例の詳細を示す回路図。
【図７】第１実施形態におけるコンフィグラブルメモリモジュールのダブルデータレートモードのタイミングチャートを示す波形図。
【図８】第１実施形態におけるコンフィグラブルメモリモジュールのノーマルモードのタイミングチャートを示す波形図。
【図９】第２実施形態による半導体集積回路のコンフィグラブルメモリブロックを示す回路図。
【図１０】第３実施形態による半導体集積回路のコンフィグラブルメモリブロックのダブルデータレートフリップフロップモードの場合の回路図。
【図１１】第３実施形態による半導体集積回路のコンフィグラブルメモリブロックのノーマルフリップフロップモードの場合の回路図。
【発明を実施するための形態】
【０００８】
（第１実施形態）
第１実施形態による半導体集積回路について図１乃至図８を参照して説明する。この実施形態の半導体集積回路は、アイルランドスタイルのプログラマブルロジックデバイス（以下、ＰＬＤ（Programmable logic device）とも云う）を有し、このＰＤＬのアーキテクチャを図１に示す。
【０００９】
このＰＤＬ１は、コンフィグラブルロジックブロック（以下、ＬＢとも云う）１０と、コンフィグラブルメモリブロック（以下、ＭＢとも云う）２０と、コンフィグラブルコネクションブロック（以下、ＣＢとも云う）３０と、コンフィグラブルスイッチブロック（以下、ＳＢとも云う）４０と、を備えている。
【００１０】
コンフィグラブルロジックブロック１０は、コンフィグラブルコネクションブロック３０から信号を受けるとともに、コンフィグラブルスイッチブロック４０に信号を送る。コンフィグラブルメモリブロック２０は、コンフィグラブルコネクションブロック３０から信号を受けるとともに、コンフィグラブルスイッチブロック４０に信号を送る。
【００１１】
コンフィグラブルスイッチブロック４０は、コンフィグラブルコネクションブロック３０を介してインターブロック配線５０で相互に接続される。コンフィグラブルコネクションブロック３０は、インターブロック配線５０に入力端子が接続されるマルチプレクサ（図示せず）を含み、回路構成情報に従って、インターブロック配線５０のうち、選択した配線の信号を、コンフィグラブルロジックブロック１０もしくはコンフィグラブルメモリブロック２０へ出力する。
【００１２】
コンフィグラブルスイッチブロック４０は、あるインターブロック配線５０に接続されるマルチプクレサ（図示せず）を含み、コンフィグラブルロジックブロック１０もしくはコンフィグラブルメモリブロック２０からの出力を回路構成情報に従って選択し、選択した信号を別のインターブロック配線５０に出力する。
【００１３】
なお、本実施形態では、コンフィグラブルコネクションブロック３０とコンフィグラブルスイッチブロック４０とを合わせて、コンフィグラブルインターコネクトブロックと呼ぶ。すなわち、本実施形態では、コンフィグラブルロジックブロック１０とコンフィグラブルメモリブロック２０は、コンフィグラブルインターコネクトブロックによって相互接続される。
【００１４】
（メモリモジュールの概要）
次に、コンフィグラブルメモリブロック２０は、コンフィグラブルメモリモジュールを含み、このコンフィグラブルメモリモジュールの概要の一例を図２に示す。
【００１５】
このコンフィグラブルメモリモジュール２００は、コンフィグラブルデコーダ２１０と、２つのＲＡＭ（Random Access Memory）バンク２２２、２２４と、コンフィグラブル出力モジュール２３０と、を備えている。コンフィグラブルデコーダ２１０は、ＲＡＭバンク２２２、２２４にそれぞれアドレス情報を送る。
【００１６】
このコンフィグラブル出力モジュール２３０は、バンクレジスタ２３１、２３２と、コンフィグラブルマルチプレクサ２３３，２３４と、コンフィグレーションＳＲＡＭ（Static Random Access Memory）２３３ａ，２３４ａと、バンク選択マルチプレクサ２３５と、バンク選択アドレスレジスタ２３６と、モード選択マルチプレクサ２３７と、コンフィグレーションＳＲＡＭ２３７ａと、を備えている。バンクレジスタ２３１は、例えばフリップフロップで構成され、ＲＡＭバンク２２２から送られてくる幅Ｗのデータをクロック信号ｆＣＬＫに従って保持するとともにコンフィグラブルマルチプレクサ２３３に送る。バンクレジスタ２３２は、例えばフリップフロップで構成され、ＲＡＭバンク２２４から送られてくる幅Ｗのデータをクロック信号ｆＣＬＫに従って保持するとともに、コンフィグラブルマルチプレクサ２３４に送る。
【００１７】
コンフィグラブルマルチプレクサ２３３は、ＲＡＭバンク２２２から送られてくるデータと、バンクレジスタ２３１から送られてくるデータとのうち一方を、コンフィグレーションＳＲＡＭ２３３ａから送られてくる入力信号に従って選択し、選択したデータをバンク選択マルチプレクサ２３５に送る。コンフィグラブルマルチプレクサ２３４は、ＲＡＭバンク２２４から送られてくるデータと、バンクレジスタ２３２から送られてくるデータとのうち一方を、コンフィグレーションＳＲＡＭ２３４ａから送られてくる入力信号に従って選択し、選択したデータをバンク選択マルチプレクサ２３５に送る。すなわち、コンフィグラブルマルチプレクサ２３３，２３４は、バンクレジスタ２３１，２３２をそれぞれバイパスする機能を有し、バイパスマルチプレクサとも呼ばれる。
【００１８】
バンク選択アドレスジスタ２３６は、例えばフリップフロップで構成され、２つのＲＡＭバンク２２２，２２４のうちのうちの一方を選択するアドレスａｄｄｒ_ｂａｎｋをクロック信号ｆＣＬＫに従って保持するとともに、保持したアドレスを出力する。
【００１９】
モード選択マルチプレクサ２３７は、コンフィグレーションＳＲＡＭ２３７aに保持されたデータに従って、バンク選択アドレスジスタ２３６の出力と、クロック周波数（以下、クロック速度とも云う）ｆＣＬＫを有するクロック信号と、クロック速度ｆＣＬＫの２倍の速度２×ｆＣＬＫを有するクロック信号ｆＣＬＫ×２とのうち一方を選択し、選択した信号を入力信号としてバンク選択マルチプレクサ２３５に送る。なお、本実施形態および以降の実施形態では、クロック速度ｆＣＬＫの２倍の速度２×ｆＣＬＫを有するクロック信号ｆＣＬＫ×２の代わりに、クロック速度ｆＣＬＫの少なくとも２倍の速度を有するクロック信号を用いてもよい。
【００２０】
バンク選択マルチプレクサ２３５は、モード選択マルチプレクサ２３７から送られてくる入力信号に従って、コンフィグラブルマルチプレクサ２３３、２３４のうちの一方の出力を選択し、この選択した出力をコンフィグラブル出力モジュール２３０から出力する。
【００２１】
コンフィグラブルデコーダ２１０と、マルチプレクサ２３３、２３４と、モード選択マルチプレクサ２３７はコンフィグラビリティ（再構成能）を持ち、その再構成能はコンフィグレーションＳＲＡＭに保持される回路構成情報（回路構成データ）によって決定される。
【００２２】
コンフィグラブルメモリモジュール２００は、全体として、コンフィグレーションＳＲＡＭに保持される回路構成情報によって、図３に示すダブルデータレートモードと、図４に示すノーマルモードとに再構成することができる。
【００２３】
図３に示すダブルデータレートモードは、バイパスマルチプレクサ２３３，２３４によってバンクレジスタ２３１，２３２がそれぞれ選択され、バンクレジスタ２３１，２３２によって保持されたデータの両方がバンク選択マルチプレクサ２３５へ入力され、クロック速度ｆＣＬＫの２倍のクロック速度２×ｆＣＬＫでバンク選択マルチプレクサ２３５から交互に出力される状態である。
【００２４】
一方、図４に示すノーマルモードは、バイパスマルチプレクサ２３３，２３４によってＲＡＭバンク２２２，２２４が選択され、かつＲＡＭバンク２２２，２２４に保持されたデータのうちの一方がバンク選択マルチプレクサ２３５によって選択されて、クロック速度ｆＣＬＫでバンク選択マルチプレクサ２３５から出力される状態である。
【００２５】
すなわち、このダブルデータレートモデルは、ノーマルモードに比べて、２倍の最大データ転送レートを実現することができる。
【００２６】
コンフィグラブル出力モジュール２３０は、ダブルデータレートモデルの際には、データ幅を半分にし、かつデータ転送クロックの速度を２倍にする。すなわち、Ｗ−ｄｏｗｎ／ｆＣＬＫ−ｕｐコンバーター（converter）に再構成される。一方、コンフィグラブル出力モジュール２３０は、ノーマルモードの際には，バンク選択アドレスに従いＲＡＭバンク２２２およびＲＡＭバンク２２４のうちの一方を選択するバンクセレクタに再構成される。
【００２７】
コンフィグラブルデコーダ２１０は、２つのＲＡＭバンク２２２、２２４に同時にアドレス情報を供給する共有モード(shared mode)と、バンク選択アドレス信号に従い２つのＲＡＭバンク２２２、２２４のうち一方を選択し排他的にアドレス情報を供給する排他的モード(Exclusive mode)のうちの一方に再構成できる。コンフィグラブルデコーダ２１０は、ダブルデータレートモードの際には共有モードに、ノーマルモードの際には排他的モードに再構成される。
【００２８】
ＲＡＭバンク２２２とＲＡＭバンク２２４は，ポートに供給されたアドレスに対して読み出しもしくは書き込みの動作を行う通常のＲＡＭバンクである。ＲＡＭバンク２２２、２２４はそれぞれ、２つのポートをもつデュアルポートバンクである。すなわち、ＲＡＭバンク２２２、２２４はそれぞれ、上記２つのポートのアドレスに対して同時にアクセス可能である。ＲＡＭバンク２２２、２２４は，内部にメモリセルアレイを有する。このメモリセルアレイのセルは、例えば８個のトランジスタから構成されるデュアルポートＳＲＡＭセル、もしくは２個のトランジスタと、１個のＭＴＪ(magnetic tunnel junction)素子から構成されるデュアルポートＭＴＪセルであっても良い（例えば、非特許文献１参照）。または、４個のトランジスタと１個のＭＴＪ素子からなるデュアルポートＭＴＪ素子セルであってもよい。また、ＲＡＭバンク２２２，２２４は，１つのポートをもつシングルポートバンクであっても良い。この場合、セルは、６個のトランジスタから構成されるシングルポートＳＲＡＭセル、または１個のトランジスタと１個のＭＴＪ素子からなるシングルポートＭＴＪセルであって良い。
【００２９】
本実施形態では、ＲＡＭバンクの数は２である。ＲＡＭバンクの数は、例えば、４、６、８など２よりも大きい２の倍数であっても良い。
【００３０】
ＲＡＭバンク２２２およびＲＡＭバンク２２４の読み出し時または書き込み時の最大データ幅はＷである。ＲＡＭバンクの最大データ幅Ｗは、ＲＡＭバンクが保持するビットラインドライバ（読み出しセンスアンプと、書き込み用ドライバ）の数により決定される。
【００３１】
ＲＡＭバンク２２２とＲＡＭバンク２２４の最大読み出しクロック周波数をクロック信号ｆＣＬＫの周波数ｆＣＬＫとする。本実施形態では，ＲＡＭバンク２２２とＲＡＭバンク２２４の読み出しポートにはクロック信号ｆＣＬＫが供給される。
【００３２】
バンクレジスタ２３１、２３２は、Ｗ個のＦ／Ｆ（フリップフロップ）を含み、それぞれバンク２２２、バンク２２４からの読み出しデータ（Ｄｏｕｔ）を保持することができる。バンク２２２およびバンクレジスタ２３１と、バンク２２４およびバンクレジスタ２３２にはクロック信号ｆＣＬＫが供給される。
【００３３】
バイパスマルチプレクサ２３３は、ＲＡＭバンク２２２の出力端子（Ｗビット）とバンクレジスタ２３１の出力端子（Ｗビット）に接続され、ＲＡＭバンク２２２から直接出力される読み出しデータ(non-registered)と、バンクレジスタ２３１を介した出力データ(registered)の一方を選択して出力する（出力データ幅Ｗビット）。バイパスマルチプレクサ２３４は、ＲＡＭバンク２２４の出力端子（Ｗビット）とバンクレジスタ２３２の出力端子（Ｗビット）に接続され、ＲＡＭバンク２２４から直接出力される読み出しデータ(non-registered)と、バンクレジスタ２３２を介した出力データ(registered)の一方を選択して出力する（出力データ幅Ｗビット）。バイパスマルチプレクサ２３３は、ダブルデータレートモードの際にはバンクレジスタ２３１を介した出力データを，ノーマルモードの際にはＲＡＭバンク２２２から直接出力される読み出しデータを選択するように再構成される。バイパスマルチプレクサ２３４は、ダブルデータレートモードの際にはバンクレジスタ２３２を介した出力データを，ノーマルモードの際にはＲＡＭバンク２２４から直接出力される読み出しデータを選択するように再構成される。
【００３４】
バンク選択アドレスレジスタ２３６は、バンク選択アドレス信号ａｄｄｒ_ｂａｎｋをｆＣＬＫのクロックレートで保持する。
【００３５】
モード選択マルチプレクサ２３７は、クロック信号ｆＣＬＫの２倍の速度のクロック信号ｆＣＬＫ×２の分配線と、バンク選択アドレスレジスタ２３６の出力に接続され、回路構成情報に従って、両者の内一方を出力する。モード選択マルチプレクサ２３５は、ダブルデータレートモードの際には信号ｆＣＬＫ×２を、ノーマルモードの際にはバンク選択アドレス信号ａｄｄｒ＿ｂａｎｋを選択する。
【００３６】
バンク選択マルチプレクサ２３５には、バンクバイパスマルチプレクサ２３３の出力（Ｗビット）と、バンクバイパスマルチプレクサ２３４の出力（Ｗビット）が接続され、モード選択マルチプレクサ２３７の出力信号に従って、両者の内の一方を出力端子ＯＵＴから出力する（出力データ幅Ｗ）。
【００３７】
バンク選択マルチプレクサ２３５は、ダブルデータレートモードの際には信号ｆＣＬＫ×２のクロックサイクル（１／（ｆＣＬＫ×２））毎にバンクバイパスマルチプレクサ２３３の出力と、バンクバイパスマルチプレクサ２３４の出力とを交互に切り替え、出力端子ＯＵＴから順に出力する。一方、ノーマルモードの際は、クロック信号ｆＣＬＫのクロックサイクル（１／ｆＣＬＫ）毎に、バンクアドレス信号ａｄｄｒ_ｂａｎｋに応じてバンクバイパスマルチプレクサ２３３の出力と、バンクバイパスマルチプレクサ２３４の出力の一方を選択し、出力端子ＯＵＴから出力する。
【００３８】
（コンフィグラブルメモリモジュール２００の詳細）
図５に、コンフィグラブルメモリモジュール２００の一例の詳細を示す。本例では、バンク２２２、２２４の論理的な幅（Ｗｉｄｔｈ）／深さ（Ｄｅｐｔｈ）は共に４ビット／４ワード（４×４アレイ）である。即ち，最大データ幅（Ｗ）は４ビット、深さは４ワードである。バンク２２２は４行×４列のセルアレイと、４本のワード線ＷＬ０００，ＷＬ０１０，ＷＬ１００，ＷＬ１１０と、４本のビット線ＢＬ００，ＢＬ０１，ＢＬ１０，ＢＬ１１と、センスアンプＳＡ００，ＳＡ０１，ＳＡ１０，ＳＡ１１と、を含む。バンク２２４は，４行×４列のセルアレイと、４本のワード線ＷＬ００１，ＷＬ０１１，ＷＬ１０１，ＷＬ１１１と、４本のビット線ＢＬ００，ＢＬ０１，ＢＬ１０，ＢＬ１１と、センスアンプＳＡ００，ＳＡ０１，ＳＡ１０，ＳＡ１１と、を含む。バンク２２２、２２４のワード線は、コンフィグラブルデコーダ２１０に接続される。ビット線ＢＬ００，ＢＬ０１，ＢＬ１０，ＢＬ１１はそれぞれ、読み出しセンスアンプＳＡ００，ＳＡ０１，ＳＡ１０，ＳＡ１１の入力端子に接続される。
【００３９】
ＲＡＭバンク２２２のセンスアンプＳＡ００，ＳＡ０１，ＳＡ１０，ＳＡ１１はそれぞれ、バンクレジスタ２３１付の、バンクバイパスマルチプレクサ２３３を経由して、バンク選択マルチプレクサ２３５に接続される。一方、ＲＡＭバンク２２４のセンスアンプＳＡ００，ＳＡ０１，ＳＡ１０，ＳＡ１１はそれぞれ、バンクレジスタ２３２付の、バンクバイパスマルチプレクサ２３４を経由して、バンク選択マルチプレクサ２３５に接続される。ここで，バンクレジスタ２３１、２３２のそれぞれは、１ビットのフリップフロップ（Ｆ／Ｆ）である。バンクレジスタ２３１は合計Ｗ個（４つ）のフリップフロップ（Ｆ／Ｆ）を含む。バンクレジスタ２３２のそれぞれは、１ビットのフリップフロップ（Ｆ／Ｆ）である。バンクレジスタ２３２は合計Ｗ個（４つ）のフリップフロップ（Ｆ／Ｆ）を含む。
【００４０】
また、ＲＡＭバンク２２２、２２４のバイパスマルチプレクサ２３３、２３４の各々は、２対１（２ビット入力：１ビット出力）のコンフィグラブルマルチプレクサである。ＲＡＭバンク２２２、２２４のバイパスマルチプレクサ２３３、２３４は，それぞれＷ個（４つ）の２対１のコンフィグラブルマルチプレクサを含む。図５では、バイパスマルチプレクサ２３３、２３４の各々は、個別の回路構成情報を持つ。これに代えて、１つの回路構成情報をバイパスマルチプレクサ２３３のすべてが共有しても良く、１つの回路構成情報をバイパスマルチプレクサ２３４のすべてが共有しても良い。
【００４１】
バンク選択マルチプレクサ２３５の各々は，２対１のマルチプレクサである。バンク選択マルチプレクサ２３５は、合計Ｗ個（４つ）の２対１マルチプレクサを含む。バンク選択マルチプレクサ２３５の各々は、２対１マルチプレクサの制御信号（入力信号）の端子に、モード選択マルチプレクサ２３７の出力が接続される。
【００４２】
コンフィグラブルメモリモジュール２００は、バンクレジスタ２３１，２３２と、ＲＡＭバンク２２２、２２４の内部制御信号を生成する制御パルス生成器２０４を更に備えている。この制御パルス生成器２０４にはクロック信号ｆＣＬＫが供給され、モード選択マルチプレクサ２３７には、クロック信号ｆＣＬＫの周波数の２倍の周波数を有するクロック信号ｆＣＬＫ×２が供給される。コンフィグラブルメモリモジュール２００の外部からクロック信号ｆＣＬＫと信号クロック信号ｆＣＬＫ×２の２系統のクロックを供給しても良い。もしくは，外部からクロック信号ｆＣＬＫ×２を供給し，２分１の分周器により，クロック信号ｆＣＬＫ×２からクロック信号ｆＣＬＫを内部で生成しても良い。
【００４３】
（コンフィグラブルデコーダ２１０）
図６に、コンフィグラブルデコーダ２１０の一例の詳細を示す。本例のコンフィグラブルデコーダ２１０は、４ワードＲＡＭバンクを２つ駆動する。本例のコンフィグラブルデコーダ２１０は、２対４のアドレスデコーダ２１１と、制御ゲート２１２ａ、２１２ｂと、ワード線ドライバ２１３ａ、２１３ｂと、バンク選択アドレス（ａｄｄｒ_ｂａｎｋ）を保持するバンク選択アドレスレジスタ２１４と、モード選択マルチプレクサ２１５と、インバータ２１６と、バイパスマルチプレクサ２１７と、を備えている。
【００４４】
デコーダ２１１は、２ビットのアドレス信号を、４ビットのデコード信号（００，０１，１０，１１）にデコードする。
【００４５】
制御ゲート２１２ａ、２１２ｂは、デコード信号と、図５に示す制御パルス生成器２０４からの制御パルスと、バンク選択信号との３つのアンド演算を行うＡＮＤゲートであって、その出力はワード線ドライバ２１３ａ、２１３ｂに接続される。
【００４６】
バンク選択アドレスレジスタ２１４は、図５に示すコンフィグラブル出力モジュール２３０に含まれる同名のレジスタ２３１と同じ構成を有している。
【００４７】
モード選択マルチプレクサ２１５は、バンク選択アドレスレジスタ２１４の出力と、固定された論理値１の端子との一方を、回路構成情報に従って選択して出力する。ダブルデータレートモードの際には固定された論理値１の端子を選択し、ノーマルモードの際にはバンク選択アドレスレジスタ２１４の出力を選択する。
【００４８】
バイパスマルチプレクサ２１７は、モード選択マルチプレクサ２１５の出力と、それをインバータ２１６により反転した信号との一方を、回路構成情報に従って選択して出力する。ダブルデータレートモードの際にはモード選択マルチプレクサ２１５の出力を選択し、ノーマルモードの際にはインバータ２１６の出力を選択する。
【００４９】
ＲＡＭバンク２２２側の制御ゲート２１２ａへは、モード選択マルチプレクサ２１５の出力が接続される。一方、ＲＡＭバンク２２４側の制御ゲート２１２ｂへは，バイパスマルチプレクサ２１７の出力が接続される。
【００５０】
コンフィグラブルデコーダ２１０は、全体として、ダブルデータレートモードの際には２つのＲＡＭバンク２２２、２２４に同時にアドレス情報を供給する共有モードに、ノーマルモードの際にはバンク選択アドレス信号に従い２つのＲＡＭバンク２２２、２２４のうち一方を選択し排他的にアドレス情報を供給する排他的モードに再構成される。
【００５１】
図７に、ダブルデータレートモードのタイミングチャートを示す。ＲＡＭバンク２２２、２２４に供給されるクロック信号ｆＣＬＫを基準に４サイクル分、すなわち、サイクル０，サイクル１，サイクル２，サイクル３の動作を示す。クロック信号ｆＣＬＫ×２を基準にした場合は８サイクル、すなわちマイクロサイクル０〜マイクロサイクル７の動作を示す。
【００５２】
サイクル０では、ＲＡＭバンク２２２、２２４は同時に読み出し動作を行い、データＤ０００と、データＤ００１を読み出す。データの３つのビットのうち初めの２つのビットは行アドレスａｄｄｒ＿ｒｏｗを表し、最後の１つのビットはバンク選択アドレスを示す。ＲＡＭバンク２２２およびＲＡＭバンク２２４は読み出し動作に、クロック信号ｆＣＬＫの周波数の逆数に相当するサイクル時間（Ｔｃｙｃ＝１／ｆＣＬＫ）を使うことができる。
【００５３】
サイクル１のクロック信号ｆＣＬＫの立ち上がりにおいて、バンクレジスタ２３１はデータＤ０００を取得し、バンクレジスタ２３２はデータＤ００１を取得する。バンクレジスタ２３１とバンクレジスタ２３２は、サイクル１の期間その値を保持する。サイクル１に属するマイクロサイクル２、マイクロサイクル３においては、バンク選択マルチプレクサ２３５は順にデータＤ０００とデータＤ００１を出力する。  
サイクル１においては、ＲＡＭバンク２２２とＲＡＭバンク２２４は同時に読み出し動作を行いそれぞれ、データＤ０１０とデータＤ０１１を読み出す。サイクル２に属するマイクロサイクル４およびマイクロサイクル５において、バンク選択マルチプレクサ２３５は、データＤ０１０とデータＤ０１１をそれぞれ出力する。
【００５４】
バンク選択マルチプレクサ２３５の出力信号（ＯＵＴ）のデータ転送レートは、ビット幅Ｗでデータ転送クロックがｆＣＬＫ×２であるから、Ｗ×ｆＣＬＫ×２となる。
【００５５】
図８に、ノーマルモードのタイミングチャートを示す。図８は、ＲＡＭバンク２２２、２２４に供給されるクロックｆＣＬＫを基準に４サイクル分、すなわちサイクル０、サイクル１、サイクル２、サイクル３の動作を示す。コンフィグラブル出力モジュール２３０と、コンフィグラブルデコーダ２１０に含まれる、バンク選択アドレスレジスタ２１４、２３６は、サイクル０のクロック信号ｆＣＬＫの立ち上がりにおいて、バンク選択アドレス信号“０”を取得し、サイクル０の期間その値を保持する。
【００５６】
サイクル０において、ＲＡＭバンク２２２は読み出し動作を行い、データＤ０００を読み出す。ＲＡＭバンク２２２は読み出し動作に、クロックの周期ｆＣＬＫの逆数に相当するサイクル時間（Ｔｃｙｃ＝１／ｆＣＬＫ）を使うことができる。
【００５７】
バンク選択アドレスレジスタ２１４，２３６は、サイクル１のクロックｆＣＬＫの立ち上がりにおいて、バンク選択アドレス信号“１”を取得し、サイクル１の期間中その値を保持する。サイクル１において、ＲＡＭバンク２２４は読み出し動作を行い、データＤ００１を読み出す。バンク選択マルチプレクサ２３５は、サイクル０においてデータＤ０００を出力し、サイクル１においてデータＤ００１を出力する。バンク選択マルチプレクサ２３５の出力信号（ＯＵＴ）のデータ転送レートは、ビット幅がＷでデータ転送クロックがｆＣＬＫであるから、Ｗ×ｆＣＬＫとなる。
【００５８】
図７，８に示されるように，本実施形態によれば，通常のデータ転送レートのコンフィグレーションモードに加えて，その２倍の最大データ転送レートを可能とするダブルデータレートモードをもサポートするコンフィグラブルメモリモジュールを実現することができる。ダブルデータレートモジュールを実現するにあたって、コンフィグラブル出力モジュール２３０の出力端子ＯＵＴのデータ幅Ｗを増大する必要がなく、およびＲＡＭバンク２２２とＲＡＭバンク２２４の最大読み出しクロックの周波数ｆＣＬＫを増大する必要がない。
【００５９】
本実施形態の原理においては、ダブルデータレートモードは、２つのＲＡＭバンク２２２、２２４を同時に読み出し動作させることで、データ転送レートを増大させることができる。一方、コンフィグラブル出力モジュール２３０の出力端子ＯＵＴにおいては，出力端子の数を増大させることなく、データ転送クロック周波数を２倍にすることで増大したデータの転送を可能にすることができる。
【００６０】
以上説明したように、Ｉ／Ｏの数を増大させることなく，データ転送レートを増大することができるコンフィグラブルメモリブロックを備えた半導体集積回路を提供することができる。
【００６１】
（第２実施形態）
第２実施形態による半導体集積回路について図９を参照して説明する。この第２実施形態の半導体集積回路は、第１実施形態の半導体集積回路においてコンフィグラブルメモリブロック２０を図９に示すコンフィグラブルメモリブロック２０に置き換えた構成を有している。
【００６２】
この第２実施形態のコンフィグラブルメモリブロック２０は、ローカル配線２０２と、ローカルマルチプレクサ２０５と、入力レジスタ２０６、２０７、２０８と、コンフィグラブルメモリモジュール２００と、出力クロスバー２５０と、コンフィグラブル出力レジスタ２６０と、を備えている。
【００６３】
インターブロック配線５０からコンフィグラブルコネクションブロック３０のマルチプレクサ３１０によって選択的に取り込まれた信号は、コンフィグラブルメモリブロック２０のローカル配線２０２に入力される。メモリブロック２０の入力端子ＭＢＩＮの数は、コネクションブロック３０のマルチプレクサの数、もしくはローカル配線の数に等しい。メモリブロック２０の入力端子ＭＢＩＮの数を増大させるためには，占有面積の大きいコネクションブロック３０のマルチプレクサの数を増大させる必要がある。
【００６４】
ローカルマルチプレクサ２０５は、ローカル配線２０２に接続され、回路構成情報に従ってローカル配線２０２の内の選択した信号を入力レジスタ２０６、２０７、２０８に出力する。
【００６５】
入力レジスタ２０６は、入力データ（Ｄｉｎ）を保持し、入力レジスタ２０７は、読み出しもしくは書き込みのアドレスを保持し、入力レジスタ２０８は、書き込みイネーブル信号を保持する。
【００６６】
コンフィグラブルメモリモジュール２００は、図２に示したコンフィグラブルメモリモジュール２００と同じものである。このコンフィグラブルメモリモジュール２００は、２つのＲＡＭバンク２２２，２２４を含み、ＲＡＭバンク２２２とＲＡＭバンク２２４の読み出しおよび書き込み時の最大データ幅はＷである。
【００６７】
コンフィグラブルメモリモジュール２００の出力端子ＯＵＴのデータ幅はポート当りＷである。図９には１つのポートの出力端子のみが記載されている。２つめのポートも同じく幅Ｗの出力端子を持つ。したがって、２つのポートの出力端子を合わせるとコンフィグラブルメモリモジュール２００の出力端子のデータ幅は２Ｗある。ＲＡＭバンク２２２とＲＡＭバンク２２４の最大読み出しクロックの周波数はｆＣＬＫである。
【００６８】
出力クロスバー２５０の入力端子は、コンフィグラブルメモリモジュール２００の出力端子が接続される。このコンフィグラブルメモリモジュール２００の出力端子は、２つのポートを併せてデータ幅が２Ｗである。出力クロスバー２５０の出力端子ＯＵＴＸｂａｒのデータ幅はＷである。出力クロスバー２５０は、データ幅が２Ｗの入力端子と、データ幅がＷの出力端子と、を有するスイッチマトリックスで、回路構成情報に従って所望の入力線と出力線のつなぎ換えを実現する。
【００６９】
コンフィグラブル出力レジスタ２６０は、バイパスマルチプクサを備える出力レジスタで、そのデータ幅はＷである。すなわち、コンフィグラブルマルチプレクサ２６２と、Ｗ個のフリップフロップ２６４と、バイパスマルチプクレサ２６６と、を有する。なお、符号２６２ａおよび２６６ａは、それぞれコンフィグラブルマルチプレクサ２６２およびバイパスマルチプクレサ２６６のコンフィグレーションＳＲＡＭであって、回路構成情報が保持される。
【００７０】
コンフィグラブル出力レジスタ２６０の出力端子は、メモリブロック２０の出力端子ＭＢＯＵＴに相当しそのデータ幅はＷである。メモリブロック２０の出力端子の１つは，スイッチブロック４０内の複数のマルチプレクサに接続されてもよい。この場合は、ブロードキャストワイヤとも呼ばれる。
【００７１】
メモリブロック２０の出力端子の数を増大するためには、出力クロスバー２５０のサイズ、コンフィグラブル出力レジスタ２６０の数、スイッチブロック４０のマルチプレクサの数を増大させる必要があり、大きな占有面積の増大を伴う。
【００７２】
コンフィグラブル出力レジスタ２６０の出力レジスタ２６４のクロック入力端子は、クロック信号ｆＣＬＫ×２と、クロック信号ｆＣＬＫとを選択可能なコンフィグラブルマルチプクレサ２６２の出力端子が接続される。ダブルデータレートモードの際にはクロック信号ｆＣＬＫ×２が選択され、ノーマルモードの際にはクロック信号ｆＣＬＫが選択される。
【００７３】
以上説明したように、本実施形態によれば、メモリブロック２０の内部、すなわち入力端子ＭＢＩＮと、出力端子ＭＢＯＵＴとの間の領域にコンフィグラブルメモリモジュール２００が配置されることにより、出力端子ＭＢＯＵＴの数を増大させることなく、通常のデータ転送レートのコンフィグレーションモードに加えて，その２倍の最大データ転送レートを可能とするダブルデータレートモードをもサポートするメモリブロックを実現することができる。
【００７４】
以上説明したように、第２実施形態も第１実施形態と同様に、Ｉ／Ｏの数を増大させることなく，データ転送レートを増大することができるコンフィグラブルメモリブロックを備えた半導体集積回路を提供することができる。
【００７５】
（第３実施形態）
第３実施形態による半導体集積回路について図１０および図１１を参照して説明する。この第３実施形態の半導体集積回路は、第１実施形態の半導体集積回路においてコンフィグラブルメモリブロック２０にコンフィグラブル入力モジュール２７０を更に備えた構成を有している。
【００７６】
第３実施形態に係るコンフィグラブルメモリブロック２０は、コンフィグラブル入力モジュールと、メモリバンク部と、コンフィグラブル出力モジュールと、を備えている。メモリバンク部２８０は第１および第２実施形態で説明した、コンフィグラブルデコーダ２１０と、ＲＡＭバンク２２２と、ＲＡＭバンク２２４と、を備えている。コンフィグラブルデコーダ２１０、ＲＡＭバンク２２２、およびＲＡＭバンク２２４は、第１および第２実施形態で説明したコンフィグラブルデコーダ２１０、ＲＡＭバンク２２２、およびＲＡＭバンク２２４と同じ構成および機能を有している。また、コンフィグラブル出力モジュールは、第１実施形態で説明したコンフィグラブル出力モジュール２３０と同じ構成を有している。
【００７７】
コンフィグラブル入力モジュールは、ダブルデータレートモードとノーマルモードとに再構成される機能を有する。
【００７８】
ダブルデータレートモードにおいては、図１０に示すように、コンフィグラブル入力モジュール２７０は、レジスタ２７２、２７４、２７６を有している。コンフィグラブルレジスタ２７２はフリップフロップであって、クロック信号ｆＣＬＫ×２に従って動作し、データ幅がＷの入力端子がコンフィグラブルメモリブロック２０のデータ幅がＷである入力端子ＭＢＩＮに接続され、データ幅がＷの出力端子がレジスタ２７４のデータ幅がＷの入力端子に接続される。レジスタ２７４はフリップフロップであって、クロック信号ｆＣＬＫに従って動作し、データ幅がＷの入力端子がレジスタ２７２のデータ幅がＷの出力端子に接続され，データ幅がＷの出力端子が、ＲＡＭバンク２２２のデータ幅がＷの入力端子に接続される。レジスタ２７６はフリップフロップであって、クロック信号ｆＣＬＫに従って動作し、データ幅がＷの入力端子がコンフィグラブルメモリブロック２０の入力端子ＭＢＩＮに接続され、データ幅がＷの出力端子がバンク２２４のデータ幅がＷの入力端子に接続される。
【００７９】
ダブルデータレートモードにおいては、図１０に示すように、コンフィグラブル出力モジュール２３０は、レジスタ２３１と、レジスタ２３２と、マルチプレクサ２３５と、を備えている。レジスタ２３１は、クロック信号ｆＣＬＫに従って動作し、データ幅がＷの入力端子が、データ幅がＷのＲＡＭバンク２２２の出力端子に接続され、データ幅がＷの出力端子がマルチプレクサ２３５の入力端子に接続される。レジスタ２３２は、クロック信号ｆＣＬＫに従って動作し、データ幅がＷの入力端子が、データ幅がＷのＲＡＭバンク２２４の出力端子に接続され、データ幅がＷの出力端子がマルチプレクサ２３５の入力端子に接続される。マルチプレクサ２３５は、出力端子がメモリブロック２０の出力端子ＭＢＯＵＴに接続される。
【００８０】
このように構成されたコンフィグラブルメモリブロック２０は、メモリバンク部２８０の他に、コンフィグラブル入力モジュール（入力ポート）２７０と、コンフィグラブル出力モジュール（出力ポート）２３０と、を有している。すなわち、コンフィグラブルメモリブロック２０は、書き込みポート（入力ポート）および読み出しポート（出力ポート）を有しているので、ダブルデータレートモードを実現することができる。
【００８１】
ダブルデータレートモードでは、図１０に示すように、コンフィグラブル入力モジュール２７０はＷ−ｕｐ／ｆＣＬＫ−ｄｏｗｎコンバータに再構成され、コンフィグラブル出力モジュール２３０はＷ−ｄｏｗｎ／ｆＣＬＫ−ｕｐコンバータに再構成される。
【００８２】
ノーマルモードでは、図１１に示すように、コンフィグラブル入力モジュール２７０は入力フリップフロップ／ブロードキャストワイヤに再構成され、コンフィグラブル出力モジュール２３０はバンクセレクタに再構成される。
【００８３】
（ダブルデータレートモードの動作）
Ｗ−ｕｐ／ｆＣＬＫ−ｄｏｗｎコンバータ２７０は、図１０に示すように、データ幅Ｗ、転送クロック周波数ｆＣＬＫ×２のデータストリームをデータ幅２Ｗ、転送クロック周波数ｆＣＬＫのデータストリームへ変換する。ＲＡＭバンク２２２とＲＡＭバンク２２４の書き込みポートは、周波数ｆＣＬＫのサイクルで同時に書き込み動作を行う。同時にＲＡＭバンク２２２とＲＡＭバンク２２４の読み出しポートは、周波数ｆＣＬＫのサイクルで同時に読み出し動作を行う。Ｗ−ｄｏｗｎ／ｆＣＬＫ−ｕｐコンバータ２３０は、データ幅２Ｗ、転送クロック周波数ｆＣＬＫのデータストリームをデータ幅Ｗ、転送クロック周波数ｆＣＬＫ×２のデータストリームへ変換する。
【００８４】
（ノーマルモードの動作）
図１１に示すように、入力フリップフロップ／ブロードキャストワイヤ２７０は、データ幅Ｗのデータストリームを周波数ｆＣＬＫのレートでラッチし、ＲＡＭバンク２２２とＲＡＭバンク２２４の入力データ端子へ、ブロードキャストする。ＲＡＭバンク２２２とＲＡＭバンク２２４の書き込みポートは、周波数ｆＣＬＫのサイクルで排他的に一方が選択され、その選択バンクのみが書き込み動作を行う。同時にＲＡＭバンク２２２とＲＡＭバンク２２４の読み出しポートは、周波数ｆＣＬＫのサイクルで排他的に一方が選択され、その選択バンクのみが読み出し動作を行う。バンクセレクタ２３０により、ＲＡＭバンク２２２とＲＡＭバンク２２４からの出力信号は統合され、データ幅Ｗ、転送クロック周波数ｆＣＬＫのデータストリームとして出力される。
【００８５】
ノーマルモードと比べて、ダブルデータレートモードは、入力端子ＭＢＩＮと出力端子ＭＢＯＵＴの数を増大させることなく、入力および出力のデータ転送レートを２倍に増大することができる。
【００８６】
以上説明したように、第３実施形態も第１実施形態と同様に、Ｉ／Ｏの数を増大させることなく，データ転送レートを増大することができるコンフィグラブルメモリブロックを備えた半導体集積回路を提供することができる。
【００８７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００８８】
１・・・半導体集積回路、１０・・・コンフィグラブルロジックブロック、２０・・・コンフィグラブルメモリブロック、３０・・・コンフィグラブルコネクションブロック、４０・・・コンフィグラブルスイッチブロック、５０・・・インターブロック配線、２００・・・コンフィグラブルメモリモジュール、２０４・・・制御パルス生成器、２０５・・・ローカルマルチプレクサ、２０６，２０７，２０８・・・入力レジスタ、２１０・・・コンフィグラブルデコーダ、２１１・・・デコーダ、２１２ａ，２１２ｂ・・・制御ゲート、２１３ａ，２１３ｂ・・・ワード線ゲート、２１４・・・バンク選択アドレスレジスタ。２１５・・・モード選択マルチプレクサ、２１６・・・インバータ、２１７・・・バイパスマルチプレクサ、２２２，２２４・・・ＲＡＭバンク、２３０・・・コンフィグラブル出力モジュール、２３１，２３２・・・バンクレジスタ、２３３，２３４・・・コンフィグラブルバンクマルチプレクサ（バンクレジスタ）、２３３ａ，２３４ａ・・・コンフィグレーションＳＲＡＭ、２３５・・・バンク選択マルチプレクサ、２３６・・・バンク選択アドレスレジスタ、２３７・・・モード選択マルチプレクサ、２３７ａ・・・コンフィグレーションＳＲＡＭ、２５０・・・出力クロスバー、２６０・・・コンフィグラブル出力レジスタ、２６２・・・コンフィグラブルマルチプレクサ、２６２ａ・・・コンフィグレーションＳＲＡＭ、２６４・・・フリップフロップ、２６６・・・バイパスマルチプレクサ、２６６ａ・・・コンフィグレーションＳＲＡＭ、３１０・・・マルチプレクサ、４１０・・・マルチプレクサ、２７０・・・コンフィグラブル入力モジュール、２８０・・・メモリバンク部
【図１】
2019057336.tif 000003
【図２】
2019057336.tif 000004
【図３】
2019057336.tif 000005
【図４】
2019057336.tif 000006
【図５】
2019057336.tif 000007
【図６】
2019057336.tif 000008
【図７】
2019057336.tif 000009
【図８】
2019057336.tif 000010
【図９】
2019057336.tif 000011
【図１０】
2019057336.tif 000012
【図１１】
2019057336.tif 000013