(57)【特許請求の範囲】
【請求項１】
アドレス制御回路とメモリアレイとデータ入出力回路と制御回路とを備え、第１及び第２アドレス信号とクロック信号が入力され、データの入力または出力が可能なマルチポートメモリであって、
前記アドレス制御回路は、前記第１アドレス信号が入力される第１ラッチ回路と、前記第１ラッチ回路からの出力または前記第２アドレス信号を選択して出力する選択回路と、前記選択回路の出力が入力される第２ラッチ回路と、前記第２ラッチ回路の出力をデコードするデコード回路と、前記デコード回路の出力に基づいてワード線を駆動するワード線駆動回路とを備え、
前記第１及び第２アドレス信号のうちの前記選択回路によって選択されたいずれか一方のアドレス信号を、前記デコード回路によってデコードすることによって、前記メモリアレイが有する複数のワード線のうちの１本のワード線を選択し、前記ワード線駆動回路は、選択されたワード線を駆動することによって活性化し、前記データ入出力回路は、前記メモリアレイが有する複数のメモリセルのうち、活性化された前記１本のワード線によって選択されるメモリセルをデータの入力または出力の対象とし、
前記制御回路は、前記ワード線を前記クロック信号の１周期当たり２回活性化させるためのワード線制御信号を前記クロック信号から生成し、
前記ワード線駆動回路は、前記ワード線制御信号に基づくタイミングで、前記選択されたワード線を駆動し、
前記第２ラッチ回路は、前記ワード線制御信号に基づくタイミングで、前記選択回路の出力をラッチする、
マルチポートメモリ。
【請求項２】
請求項１において、前記制御回路は、パルス生成回路とリセットセットラッチ回路と第１及び第２遅延回路と論理回路とを備え、
前記パルス生成回路は、前記クロック信号の立上りまたは立下りの一方の遷移タイミングに同期して、ワンショットパルス信号を生成し、
前記リセットセットラッチ回路は、前記ワンショットパルス信号によってセットされ、フィードバック信号によってリセットされる、第１パルス信号を生成し、
前記第１遅延回路は、前記第１パルス信号を遅延させることにより前記フィードバック信号を生成し、
前記第２遅延回路は、前記第１遅延回路によって遅延された前記第１パルス信号を遅延させることによって第２パルス信号を生成し、
前記論理回路は、前記第１パルス信号と前記第２パルス信号から、前記ワード線制御信号を生成する、
マルチポートメモリ。
【請求項３】
請求項１において、前記制御回路は、パルス生成回路とリセットセットラッチ回路と第１及び第２遅延回路と第１及び第２論理回路とを備え、
前記パルス生成回路は、前記クロック信号の立上りまたは立下りの一方の遷移タイミングに同期して、ワンショットパルス信号を生成し、
前記リセットセットラッチ回路は、前記ワンショットパルス信号によってセットされ、フィードバック信号によってリセットされる、第３パルス信号を生成し、
前記第１論理回路は、前記ワンショットパルス信号と前記第３パルス信号から第１パルス信号を生成し、
前記第１遅延回路は、前記第１パルス信号を遅延させることにより前記フィードバック信号を生成し、
前記第２遅延回路は、前記第１遅延回路によって遅延された前記第１パルス信号を遅延させることによって第２パルス信号を生成し、
前記第２論理回路は、前記第１パルス信号と前記第２パルス信号から、前記ワード線制御信号を生成する、
マルチポートメモリ。
【請求項４】
請求項１において、前記アドレス制御回路を第１アドレス制御回路とし、前記デコード回路を第１デコード回路とし、前記ワード線駆動回路を第１ワード線駆動回路とし、前記クロック信号を第１クロック信号とし、前記ワード線を第１ワード線とし、前記メモリアレイは複数の前記第１ワード線に加えて複数の第２ワード線をさらに有し、
前記マルチポートメモリは、第２アドレス制御回路をさらに備え、第２クロック信号と第３アドレス信号とがさらに入力され、
前記第２アドレス制御回路は、前記第２クロック信号に同期して前記第３アドレス信号をラッチする第３ラッチ回路と、前記第３ラッチ回路にラッチされた前記第３アドレス信号をデコードする第２デコード回路と、前記第２デコード回路の出力に基づいて、前記メモリアレイが有する複数の前記第２ワード線のうちの１本の第２ワード線を選択して駆動する、
マルチポートメモリ。
【請求項５】
第１アドレス信号が入力される複数の第１アドレス端子と、第２アドレス信号が入力される複数の第２アドレス端子と、クロック信号が入力されるクロック端子とを有し、アドレス制御回路とメモリアレイとデータ入出力回路と制御回路とを備え、第１及び第２アドレス信号とクロック信号が入力され、データの入力または出力が可能なメモリマクロであって、
前記アドレス制御回路は、前記第１アドレス信号が入力される第１ラッチ回路と、前記第１ラッチ回路からの出力または前記第２アドレス信号を選択して出力する選択回路と、前記選択回路の出力が入力される第２ラッチ回路と、前記第２ラッチ回路の出力をデコードするデコード回路と、前記デコード回路の出力に基づいてワード線を駆動するワード線駆動回路とを備え、
前記第１及び第２アドレス信号のうちの前記選択回路によって選択されたいずれか一方のアドレス信号を、前記デコード回路によってデコードすることによって、前記メモリアレイが有する複数のワード線のうちの１本のワード線を選択し、前記ワード線駆動回路は、選択されたワード線を駆動することによって活性化し、前記データ入出力回路は、前記メモリアレイが有する複数のメモリセルのうち、活性化された前記１本のワード線によって選択されるメモリセルをデータの入力または出力の対象とし、
前記制御回路は、前記ワード線を前記クロック信号の１周期当たり２回活性化させるためのワード線制御信号を前記クロック信号から生成し、
前記ワード線駆動回路は、前記ワード線制御信号に基づくタイミングで、前記選択されたワード線を駆動し、
前記第２ラッチ回路は、前記ワード線制御信号に基づくタイミングで、前記選択回路の出力をラッチする、
メモリマクロ。
【請求項６】
請求項５において、前記制御回路は、パルス生成回路とリセットセットラッチ回路と第１及び第２遅延回路と論理回路とを備え、
前記パルス生成回路は、前記クロック信号の立上りまたは立下りの一方の遷移タイミングに同期して、ワンショットパルス信号を生成し、
前記リセットセットラッチ回路は、前記ワンショットパルス信号によってセットされ、フィードバック信号によってリセットされる、第１パルス信号を生成し、
前記第１遅延回路は、前記第１パルス信号を遅延させることにより前記フィードバック信号を生成し、
前記第２遅延回路は、前記第１遅延回路によって遅延された前記第１パルス信号を遅延させることによって第２パルス信号を生成し、
前記論理回路は、前記第１パルス信号と前記第２パルス信号から、前記ワード線制御信号を生成する、
メモリマクロ。
【請求項７】
請求項５において、前記制御回路は、パルス生成回路とリセットセットラッチ回路と第１及び第２遅延回路と第１及び第２論理回路とを備え、
前記パルス生成回路は、前記クロック信号の立上りまたは立下りの一方の遷移タイミングに同期して、ワンショットパルス信号を生成し、
前記リセットセットラッチ回路は、前記ワンショットパルス信号によってセットされ、フィードバック信号によってリセットされる、第３パルス信号を生成し、
前記第１論理回路は、前記ワンショットパルス信号と前記第３パルス信号から第１パルス信号を生成し、
前記第１遅延回路は、前記第１パルス信号を遅延させることにより前記フィードバック信号を生成し、
前記第２遅延回路は、前記第１遅延回路によって遅延された前記第１パルス信号を遅延させることによって第２パルス信号を生成し、
前記第２論理回路は、前記第１パルス信号と前記第２パルス信号から、前記ワード線制御信号を生成する、
メモリマクロ。
【請求項８】
請求項５において、前記アドレス制御回路を第１アドレス制御回路とし、前記デコード回路を第１デコード回路とし、前記ワード線駆動回路を第１ワード線駆動回路とし、前記クロック信号を第１クロック信号とし、前記クロック端子を第１クロック端子とし、前記ワード線を第１ワード線とし、前記メモリアレイは複数の前記第１ワード線に加えて複数の第２ワード線をさらに有し、
前記メモリマクロは、第３アドレス信号が入力される複数の第３アドレス端子と、第２クロック信号が入力される第２クロック端子とをさらに有し、第２アドレス制御回路をさらに備え、
前記第２アドレス制御回路は、前記第２クロック信号に同期して前記第３アドレス信号をラッチする第３ラッチ回路と、前記第３ラッチ回路にラッチされた前記第３アドレス信号をデコードする第２デコード回路と、前記第２デコード回路の出力に基づいて、前記メモリアレイが有する複数の前記第２ワード線のうちの１本の第２ワード線を選択して駆動する、
メモリマクロ。
【請求項９】
アドレス制御回路とメモリアレイとデータ入出力回路と制御回路とを備え、第１及び第２アドレス信号とクロック信号が入力され、データの入力または出力が可能なマルチポートメモリを有する半導体装置であって、
前記アドレス制御回路は、前記第１アドレス信号が入力される第１ラッチ回路と、前記第１ラッチ回路からの出力または前記第２アドレス信号を選択して出力する選択回路と、前記選択回路の出力が入力される第２ラッチ回路と、前記第２ラッチ回路の出力をデコードするデコード回路と、前記デコード回路の出力に基づいてワード線を駆動するワード線駆動回路とを備え、
前記第１及び第２アドレス信号のうちの前記選択回路によって選択されたいずれか一方のアドレス信号を、前記デコード回路によってデコードすることによって、前記メモリアレイが有する複数のワード線のうちの１本のワード線を選択し、前記ワード線駆動回路は、選択されたワード線を駆動することによって活性化し、前記データ入出力回路は、前記メモリアレイが有する複数のメモリセルのうち、活性化された前記１本のワード線によって選択されるメモリセルをデータの入力または出力の対象とし、
前記制御回路は、前記ワード線を前記クロック信号の１周期当たり２回活性化させるためのワード線制御信号を前記クロック信号から生成し、
前記ワード線駆動回路は、前記ワード線制御信号に基づくタイミングで、前記選択されたワード線を駆動し、
前記第２ラッチ回路は、前記ワード線制御信号に基づくタイミングで、前記選択回路の出力をラッチする、
半導体装置。
【請求項１０】
請求項９において、前記制御回路は、パルス生成回路とリセットセットラッチ回路と第１及び第２遅延回路と論理回路とを備え、
前記パルス生成回路は、前記クロック信号の立上りまたは立下りの一方の遷移タイミングに同期して、ワンショットパルス信号を生成し、
前記リセットセットラッチ回路は、前記ワンショットパルス信号によってセットされ、フィードバック信号によってリセットされる、第１パルス信号を生成し、
前記第１遅延回路は、前記第１パルス信号を遅延させることにより前記フィードバック信号を生成し、
前記第２遅延回路は、前記第１遅延回路によって遅延された前記第１パルス信号を遅延させることによって第２パルス信号を生成し、
前記論理回路は、前記第１パルス信号と前記第２パルス信号から、前記ワード線制御信号を生成する、
半導体装置。
【請求項１１】
請求項９において、前記制御回路は、パルス生成回路とリセットセットラッチ回路と第１及び第２遅延回路と第１及び第２論理回路とを備え、
前記パルス生成回路は、前記クロック信号の立上りまたは立下りの一方の遷移タイミングに同期して、ワンショットパルス信号を生成し、
前記リセットセットラッチ回路は、前記ワンショットパルス信号によってセットされ、フィードバック信号によってリセットされる、第３パルス信号を生成し、
前記第１論理回路は、前記ワンショットパルス信号と前記第３パルス信号から第１パルス信号を生成し、
前記第１遅延回路は、前記第１パルス信号を遅延させることにより前記フィードバック信号を生成し、
前記第２遅延回路は、前記第１遅延回路によって遅延された前記第１パルス信号を遅延させることによって第２パルス信号を生成し、
前記第２論理回路は、前記第１パルス信号と前記第２パルス信号から、前記ワード線制御信号を生成する、
半導体装置。
【請求項１２】
請求項９において、前記アドレス制御回路を第１アドレス制御回路とし、前記デコード回路を第１デコード回路とし、前記ワード線駆動回路を第１ワード線駆動回路とし、前記クロック信号を第１クロック信号とし、前記ワード線を第１ワード線とし、前記メモリアレイは複数の前記第１ワード線に加えて複数の第２ワード線をさらに有し、
前記マルチポートメモリは、第２アドレス制御回路をさらに備え、第２クロック信号と第３アドレス信号とがさらに入力され、
前記第２アドレス制御回路は、前記第２クロック信号に同期して前記第３アドレス信号をラッチする第３ラッチ回路と、前記第３ラッチ回路にラッチされた前記第３アドレス信号をデコードする第２デコード回路と、前記第２デコード回路の出力に基づいて、前記メモリアレイが有する複数の前記第２ワード線のうちの１本の第２ワード線を選択して駆動する、
半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチポートメモリ、メモリマクロおよび半導体装置に関し、特に物理的には１つのポートへのアクセスを２つのポートへのアクセスに見せかける疑似的な２ポートを含むマルチポートメモリ、そのようなマルチポートメモリのためのメモリマクロ及びそれが搭載される半導体装置に好適に利用できるものである。
【背景技術】
【０００２】
シングルポートＳＲＡＭ（Static Random Access Memory）のメモリマクロを使って、疑似的に２ポートＳＲＡＭの機能を実現する疑似２ポートＳＲＡＭが、主に画像処理の分野で広く用いられている。これは１サイクル中にシングルポートＳＲＡＭを２回連続動作（はじめにリード動作、続いてライト動作）させることで、２ポートＳＲＡＭの機能を実現するものである。この疑似２ポートＳＲＡＭはメモリセルに２ポートＳＲＡＭのメモリセルより小さなシングルポートＳＲＡＭのメモリセルを使用することができるため面積効率が良い。一方、疑似２ポートＳＲＡＭの内部回路を２逓倍で動作させるため動作周波数を高速化する必要がある。
【０００３】
特許文献１及び２には、疑似２ポートＳＲＡＭの具体的な回路が開示されている。特許文献１に記載される疑似２ポートＳＲＡＭでは、１つのポートのリードアドレス（３５５）ともう１つのポートのライトアドレス（３６５）がそれぞれ２つのアドレスレジスタ（３１１と３１０）に取り込まれ、アドレスマルチプレクサ（３１５）によっていずれかが選択されてローデコーダ（３１６）とカラムデコーダ（３２５）に供給される（同文献Fig. 3参照）。
【０００４】
特許文献２に記載される疑似２ポートＳＲＡＭでは、リードポートとライトポートから入力されるアドレスが、リードポートアドレスラッチ（１０１）とライトポートアドレスラッチ（１０２）にそれぞれ取り込まれ、マルチプレクサ（１０４）で選択されてプリデコーダ（１０６）に供給される（同文献Fig. 1参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第2003/0081449号明細書
【特許文献２】米国特許出願公開第2009/0231937号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１及び２について本発明者が検討した結果、以下のような新たな課題があることがわかった。
【０００７】
疑似２ポートＳＲＡＭは、シングルポートＳＲＡＭのメモリマットと、２つのアドレス入力ポートを持つアドレス制御回路と、データ入出力回路と、制御回路とを含んで構成される。メモリマットでは、行方向に延びる複数のワード線と列方向に延びる複数のビット線対（または複数のビット線）とが交差する部分に、シングルポートＳＲＡＭのメモリセルが配置されている。アドレス制御回路は、２つのポートから入力される２系統のアドレス信号をそれぞれデコードして対応するワード線を選択・駆動する。選択・駆動されたワード線に接続されるメモリセルは、データ入出力回路からアクセス可能となる。１クロックサイクル中にリード動作とライト動作などの２回のアクセスを行うため、データ入出力回路は２つのポートから入力される２系統のアドレス信号を一旦ラッチして、その後順次アドレスデコーダに供給する。
【０００８】
図６は、特許文献１及び２等に記載される従来の疑似２ポートＳＲＡＭの共通する課題を検討するための、アドレス制御回路の構成例を示す回路図であり、図７はその動作を示すタイミングチャートである。
【０００９】
アドレス制御回路１０は、２個のラッチ回路１と２、選択回路３、デコード回路４及びワード線駆動回路５を備え、２つのポート（ＡポートとＢポート）から２系統のアドレス信号ＡＡとＡＢとが入力され、例示されるＷＬ＿ＡＡとＷＬ＿ＡＢを含むワード線が出力される。アドレス信号ＡＡとＡＢは複数ビットで構成されるが、それぞれ１ビット分の回路のみが示されている。ＣＰＣＴＬ、ＳＥＬ及びＣＰＡは、制御回路で生成される制御信号である。アドレス信号ＡＡとＡＢは、ＣＰＣＴＬに同期してラッチ回路１と２にそれぞれラッチされる。選択回路３は例示されるように２個のクロックドインバータと１個のインバータによって構成可能であり、制御信号ＳＥＬに基づいて、アドレス信号ＡＡとＡＢのうちの一方をＬＴＡとしてデコード回路４に供給する。デコード回路４には図示が省略されている他のビットのアドレス信号も入力され、それをデコードして複数のワード線のうちに１本を選択する。選択されたワード線は、アドレス信号の値に対応するワード線であり、ワード線駆動回路５によって駆動される。制御信号ＣＰＡはワード線を駆動するタイミングを制御する制御信号である。
【００１０】
図７を引用してその動作について説明する。Ａポートがライトポート、Ｂポートがリードポートで、Ｂポートのリード動作後にＡポートのライト動作が実行される。
【００１１】
まず時刻Ｔ０に外部クロックＣＬＯＣＫが立ち上がる。それによりアドレスラッチ制御信号ＣＰＣＴＬが活性化され、アドレス信号ＡＡとＡＢがラッチ回路１と２にそれぞれラッチされる。次に時刻Ｔ１にワード線制御信号ＣＰＡが活性化される。このとき、選択信号ＳＥＬはＬｏｗレベルであるので、選択回路３はＢポート側のアドレス信号を選択しており、内部アドレス信号ＬＴＡにはＢポート側のアドレス信号ＡＢが出力されている。これに伴って、デコード回路４によってアドレス信号ＡＢが示すアドレスに対応するワード線が選択され、対応するワード線ＷＬ＿ＡＢが、ワード線駆動回路５によって駆動され活性化される。次に時刻Ｔ２にワード線制御信号ＣＰＡが非活性化され、ワード線ＷＬ＿ＡＢが非活性化される。
【００１２】
次に時刻Ｔ３に選択信号ＳＥＬがＨｉｇｈレベルに遷移される。これにより選択回路３はＡポート側のアドレス信号を選択する。内部アドレス信号ＬＴＡにはＡポート側のアドレス信号ＡＡが出力されるので、デコード回路４によってアドレス信号ＡＡに対応するアドレスのワード線が選択される。次に時刻Ｔ４にワード線制御信号ＣＰＡが活性化され、アドレス信号ＡＡに対応するワード線ＷＬ＿ＡＡが、ワード線駆動回路５によって駆動され活性化される。次に時刻Ｔ５にワード線制御信号ＣＰＡが非活性化され、ワード線ＷＬ＿ＡＡが非活性化される。
【００１３】
次に時刻Ｔ６にアドレスラッチ制御信号ＣＰＣＴＬが非活性化され、ラッチ回路１と２はスルー状態に戻る。また、選択信号ＳＥＬがＬｏｗレベルに遷移し初期状態に戻る。
【００１４】
以上で疑似２ポートＳＲＡＭの１サイクルの動作が終了する。
【００１５】
このような従来回路の問題点は、選択信号ＳＥＬのＬｏｗレベルからＨｉｇｈレベルへの遷移（時刻Ｔ３）のタイミングが厳しいことである。まず、ワード線制御信号ＣＰＡの１回目のＨｉｇｈレベルからＬｏｗレベルの遷移（時刻Ｔ２）に対してのホールド時間を満足する必要がある。これを満足しないと、１回目のワード線活性時に、Ａポート側のアドレス信号ＡＡに基づくワード線が誤って活性化され誤動作する。次に、ワード線制御信号ＣＰＡの２回目のＬｏｗレベルからＨｉｇｈレベルへの遷移（時刻Ｔ４）に対してのセットアップ時間を満足する必要がある。これを満足しないと、２回目のワード線活性時に、Ｂポート側のアドレス信号ＡＢに基づくワード線が誤って活性化され誤動作する。
【００１６】
上記のように従来技術では選択信号ＳＥＬの切り替えタイミングはワード線制御信号ＣＰＡに対するセットアップ時間及びホールド時間の両方のタイミング制約を満足する必要がある。これは、疑似２ポートＳＲＡＭの動作周波数の向上を図る上での障害となっている。
【００１７】
このように、疑似的に複数のポートとして動作する単一のメモリポートを備えるマルチポートメモリにおいて、その動作周波数を向上するためには、疑似的な複数のポートとしての前記動作のタイミング制約を緩和する必要がある。
【００１８】
このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１９】
一実施の形態によれば、下記の通りである。
【００２０】
すなわち、アドレス制御回路とメモリアレイとデータ入出力回路と制御回路とを備え、２つのポートそれぞれからの第１及び第２アドレス信号とクロック信号とが入力され、データの入力または出力が可能なマルチポートメモリであって、以下のように構成される。
【００２１】
アドレス制御回路は、第１及び第２ラッチ回路と、選択回路と、デコード回路と、ワード線駆動回路とを備える。一方のポートからの第１アドレス信号は第１ラッチ回路に入力され、他方のポートからの第２アドレス信号は選択回路に入力される。選択回路は、第１ラッチ回路にラッチされた第１アドレス信号と直接入力された第２アドレス信号のいずれかを選択して第２ラッチ回路に供給する。第２ラッチ回路は、選択されたいずれかのアドレス信号をラッチしてデコード回路に出力する。デコード回路の出力はワード線駆動回路に接続され、ワード線駆動回路はデコード回路の出力に基づいてワード線を駆動する。
【００２２】
第１及び第２アドレス信号のうちの選択回路によって選択されたいずれか一方のアドレス信号を、デコード回路によってデコードすることによって、メモリアレイが有する複数のワード線のうちの１本のワード線を選択し、選択されたワード線をワード線駆動回路が駆動することによって活性化する。データ入出力回路は、メモリアレイが有する複数のメモリセルのうち、活性化された前記１本のワード線によって選択されるメモリセルをデータの入力または出力の対象とする。
【００２３】
なお、第１、第２等のアドレス信号は複数のディジタルビットで構成されて複数の信号配線で実装され、これらをラッチ、選択等する第１、第２等のラッチ回路及び選択回路等も複数ビット構成に対応する回路である。このことは、本明細書を通して同様である。
【発明の効果】
【００２４】
前記一実施の形態によって得られる効果を簡単に説明すれば下記のとおりである。
【００２５】
すなわち、疑似的に複数のポートとして動作する単一のメモリポートを備えるマルチポートメモリにおいて、タイミング制約が緩和されその動作周波数を向上することができる。
【図面の簡単な説明】
【００２６】
【図１】図１は、疑似２ポートＳＲＡＭの構成例を示す、ブロック図である。
【図２】図２は、シングルポートのＳＲＡＭメモリセルの構成例を示す回路図である。
【図３】図３は、マルチポートメモリが搭載される半導体装置（ＬＳＩ：Large Scale Integration circuit）のレイアウト構成例を模式的に示す説明図である。
【図４】図４は、実施形態１のアドレス制御回路の構成例を示す回路図である。
【図５】図５は、図４のアドレス制御回路の動作を示すタイミングチャートである。
【図６】図６は、従来の疑似２ポートＳＲＡＭの共通する課題を検討するための、アドレス制御回路の構成例を示す回路図である。
【図７】図７は、図６のアドレス制御回路の動作を示すタイミングチャートである。
【図８】図８は、クロック生成回路の一構成例を示す回路図である。
【図９】図９は、図８のクロック生成回路の動作を示すタイミングチャートである。
【図１０】図１０は、クロック生成回路の他の構成例を示す回路図である。
【図１１】図１１は、図１０のクロック生成回路の動作を示すタイミングチャートである。
【図１２】図１２は、疑似２ポートを含むマルチポートメモリの構成例を示す、ブロック図である。
【図１３】図１３は、デュアルポートのＳＲＡＭメモリセルの、８トランジスタでの一構成例を示す回路図である。
【図１４】図１４は、デュアルポートのＳＲＡＭメモリセルの、８トランジスタでの別の構成例を示す回路図である。
【発明を実施するための形態】
【００２７】
実施の形態について詳述する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。
【００２８】
〔実施形態１〕
図１は、疑似２ポートＳＲＡＭ（ＭＥＭＵ２０）の構成例を示すブロック図である。疑似２ポートＳＲＡＭのメモリユニットＭＥＭＵ２０は、Ａポートのアドレス信号（端子）ＡＡ［ｎ−１：０］、Ｂポートのアドレス信号ＡＢ（端子）［ｎ−１：０］、クロック信号（端子）ＣＬＯＣＫ、チップイネーブル信号（端子）ＣＥＮＡとＣＥＮＢ、及び、Ａポート側のデータ信号（端子）ＤＡ［ｍ：０］が入力され、Ｂポート側のデータ信号（端子）ＤＢ［ｍ：０］が出力される。ここで、「［ｎ−１：０］」は、複数ビットのディジタル信号線を表す表記であり、ｎ−１ビットから０ビットまでのｎビット（ｎ本）の信号線を指す。
【００２９】
メモリユニットＭＥＭＵ２０は、アドレス制御回路（ＡＤＲＣＴＲＬ）１０とメモリアレイ（ＭＡＲＹ）１２とデータ入出力回路（ＩＯ）１３と制御回路（ＣＴＲＬ）１１とを備える。メモリアレイ（ＭＡＲＹ）は、行方向に延伸するｉ＋１本のワード線ＷＬ０〜ＷＬｉと、行方向と交差する列方向に延伸するｍ＋１個のビット線対ＢＬ０／ＺＢＬ０〜ＢＬｍ／ＺＢＬｍと、ｉ＋１本のワード線とｍ＋１個のビット線対の交点近傍に配置された複数のメモリセルＭＣを備えている（ｉ，ｍは１以上の整数）。各ビット線対は、相補信号を伝送する２本のビット線（例えばＢＬ０とＺＢＬ０）で構成される。複数のメモリセルＭＣは、１つのメモリセルＭＣが１本のワード線と一つのデータ線対に結合される様に、ｉ＋１本のワード線とｍ＋１個のビット線対に接続される。データ入出力部（ＩＯ）１３は、列選択回路（ＹＳＷ）１４、書き込み駆動回路（ＷＴＤ）１５、センスアンプ（ＳＡ）１６、および入出力バッファ（ＩＯＢ）１７を備えている。制御回路（ＣＴＲＬ）１１は、入力されるクロック信号ＣＬＯＣＫとチップイネーブル信号ＣＥＮＡ，ＣＥＮＢに基づいて、各種の制御信号ＣＰＣＴＬ、ＳＥＬ、ＴＤＥＣ、ＣＰＡ、ＷＥ、ＳＥ等を生成して供給する。
【００３０】
アドレス制御回路１０は、ラッチ回路（ＡＤＲＬＡＴＣＨ）６とデコード回路（ＡＤＲＤＥＣ）４とワード線駆動回路（ＷＤ）５とを備える。ラッチ回路（ＡＤＲＬＡＴＣＨ）６には、Ａポートのアドレス信号ＡＡ［ｎ−１：０］とＢポートのアドレス信号ＡＢ［ｎ−１：０］が入力され、制御回路（ＣＴＲＬ）１１から供給される制御信号、ＣＰＣＴＬ、ＳＥＬ及びＣＰＡに基づいて、アドレス信号ＡＡとＡＢとを順次選択して、デコード回路（ＡＤＲＤＥＣ）４に供給する。デコード回路（ＡＤＲＤＥＣ）４は供給されたアドレスをデコードして、ワード線側のデコード結果Ｘ０〜Ｘｉと列選択回路（ＹＳＷ）１４の選択制御信号Ｙ０〜Ｙｊとを出力する。
【００３１】
データ入出力部（ＩＯ）１３内の列選択回路（ＹＳＷ）１４は選択制御信号Ｙ０〜Ｙｊによって適切なビット線対を選んで対応するメモリセルを指定し、書き込み駆動回路（ＷＴＤ）１５またはセンスアンプ（ＳＡ）１６によってアクセス可能とさせる。
【００３２】
メモリアレイ（ＭＡＲＹ）１２を構成する複数のメモリセルＭＣは、シングルポートのＳＲＡＭメモリセルである。図２は、その構成例を示す回路図である。
【００３３】
メモリセルＭＣは、ここでは、４個のＮチャネルＭＯＳ（Metal Oxide Semiconductor）トランジスタＭＮ１〜ＭＮ４と、２個のＰチャネルＭＯＳトランジスタＭＰ１，ＭＰ２とを備えたＳＲＡＭメモリセルである。ＭＮ３は、ゲートがワード線ＷＬに接続され、ソース・ドレインの一方が正極側のビット線ＢＬに接続される。ＭＮ４は、ゲートがＷＬに接続され、ソース・ドレインの一方が負極側のビット線ＺＢＬに接続される。ＭＮ１，ＭＰ１とＭＮ２，ＭＰ２は、それぞれ、電源電圧ＶＣＣと接地電圧ＶＳＳの間でＣＭＯＳ（Complementary Metal Oxide Semiconductor）インバータ回路を構成する。この２個のＣＭＯＳインバータ回路は、一方の入力が他方の出力に接続されることによってラッチ回路を構成する。ＭＮ４のソース・ドレインの他方は、ＣＭＯＳインバータ回路（ＭＮ１，ＭＰ１）の入力（ＣＭＯＳインバータ回路（ＭＮ２，ＭＰ２）の出力）に接続され、ＭＮ３のソース・ドレインの他方には、ＣＭＯＳインバータ回路（ＭＮ２，ＭＰ２）の入力（ＣＭＯＳインバータ回路（ＭＮ１，ＭＰ１）の出力）に接続される。
【００３４】
図３は、マルチポートメモリが搭載される半導体装置（ＬＳＩ：Large Scale Integration circuit）のレイアウト構成例を模式的に示す説明図である。半導体装置３０は、１個の半導体チップ内に各種ロジック回路とメモリ回路が形成されたＬＳＩであり、マイクロコントローラユニット（ＭＣＵ）、マイクロプロセッサユニット（ＭＰＵ）、ＳＯＣ（System On a Chip）等と呼ばれ、特に制限されないが、例えば、公知のＣＭＯＳＬＳＩの製造技術を用いて、シリコンなどの単一半導体基板上に形成される。図３に示される半導体装置３０は、例えば車載向けＬＳＩである。半導体装置３０は、特に制限されないが例えば、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）、入出力ユニット（ＩＯＵ：Input / Output Unit）、割り込みコントローラ（ＩＮＴＣ：Interrupt Controller）及びメモリユニットＭＥＭＵ１〜３を含んで構成される。半導体装置３０は、さらに、通信ユニット（ＣＭＵ：Communication Unit）、ダイレクトメモリアクセスコントローラユニット（ＤＭＡＣ：Direct Memory Access Controller）、アナログ／ディジタル変換ユニット（ＡＤＣ：Analog to Digital Convertor）及びクロック発生回路（ＣＰＧ：Clock Pulse generator）等を含んでいてもよい。
【００３５】
メモリユニットＭＥＭＵ２０は、ＬＳＩチップに実装されるメモリ回路であり、ＳＯＣ等のＬＳＩにおいて、例えばメモリＩＰ（Intellectual Property）等と呼ばれる設計データを用いてメモリコンパイラ等と呼ばれる自動設計ツールで生成されチップ実装される。
【００３６】
メモリユニットＭＥＭＵ２０は、外部クロックであるＣＬＯＣＫの１サイクル期間にリード動作とライト動作の両方を行うことによって、２ポートメモリとして機能する。このとき２つのポートから入力されるアドレス信号ＡＡ［ｎ−１：０］とＡＢ［ｎ−１：０］は、アドレス制御回路１０においてラッチ回路（ＡＤＲＬＡＴＣＨ）６にラッチされ、デコード回路（ＡＤＲＤＥＣ）４に順次供給される。
【００３７】
アドレス制御回路１０の構成と動作についてさらに詳しく説明する。
【００３８】
図４はアドレス制御回路１０の構成例を示す回路図であり、図５はその動作を示すタイミングチャートである。
【００３９】
アドレス制御回路１０は、２個のラッチ回路１と２、選択回路３、デコード回路４及びワード線駆動回路５を備え、２つのポート（ＡポートとＢポート）から２系統のアドレス信号ＡＡとＡＢとが入力され、例示されるＷＬ＿ＡＡとＷＬ＿ＡＢを含むワード線が出力される。アドレス信号ＡＡとＡＢは複数ビットで構成されるが、それぞれ１ビット分の回路のみが示されている。ＣＰＣＴＬ、ＳＥＬ及びＣＰＡは、制御回路（ＣＴＲＬ）１１で生成される制御信号である。図６に示した検討例のアドレス制御回路１０では、アドレス信号ＡＡとＡＢは、ラッチ回路１と２にそれぞれ一旦ラッチされた後に選択回路３によって選択されるのに対して、本実施形態１のアドレス制御回路１０では、アドレス信号ＡＡがラッチ回路１で一旦ラッチされた後に選択回路３に入力される一方、アドレス信号ＡＢはラッチ回路を経ずに選択回路３に入力される。
【００４０】
選択回路３は、制御信号ＳＥＬに基づいて、一旦ラッチされたアドレス信号ＡＡとラッチ回路を経ていないアドレス信号ＡＢのうちの一方をＬＴＡとしてラッチ回路２へ出力し、ラッチ回路２でラッチした後に、デコード回路４に供給する。デコード回路４には図示が省略されている他のビットのアドレス信号も入力され、それをデコードして複数のワード線のうちの１本を選択する。選択されたワード線はアドレス信号の値に対応するワード線であり、ワード線駆動回路５によって駆動される。制御信号ＣＰＡはワード線を駆動するタイミングを制御する制御信号である。
【００４１】
図６に示した検討例のアドレス制御回路１０では、図７を引用して説明したように、選択回路３の選択信号ＳＥＬとワード線を駆動するタイミングを制御する制御信号ＣＰＡとの間のセットアップ時間とホールド時間に対するタイミング制約が厳しく、動作周波数の向上を図る上での障害となっていた。これに対して本実施形態１では、選択回路３の選択信号ＳＥＬとワード線を駆動する制御信号ＣＰＡとの間にラッチ回路２が挿入されることによって分離され、タイミング制約を緩和することができる。
【００４２】
これにより、疑似的に複数のポートとして動作する単一のメモリポートを備えるマルチポートメモリにおいて、タイミング制約が緩和されその動作周波数を向上することができる。
【００４３】
アドレス制御回路１０の動作について、図５を引用してさらに詳しく説明する。
【００４４】
まず時刻Ｔ７に外部クロックＣＬＯＣＫが立ち上がる。それによりアドレスラッチ制御信号ＣＰＣＴＬが活性化され、アドレス信号ＡＡがラッチ回路１にラッチされる。
【００４５】
次に時刻Ｔ８にワード線制御信号ＣＰＡが活性化される。このとき、選択信号ＳＥＬはＬｏｗレベルであるので、選択回路３はＢポート側を選択しており、内部アドレス信号ＬＴＡにはＢポート側のアドレス信号ＡＢが出力されている。これに伴って、ラッチ回路２にはアドレス信号ＡＢがラッチされ、ラッチされたアドレス信号ＡＢがデコード回路４によってデコードされ、対応するワード線ＷＬ＿ＡＢがワード線駆動回路５によって駆動され活性化される。
【００４６】
ここで、ラッチ回路２はアドレス信号ＡＢをラッチしているので、選択信号ＳＥＬは時刻Ｔ８から規定のホールド時間を経た後直ちに、Ｈｉｇｈレベルに遷移してよい。時刻Ｔ９に選択信号ＳＥＬがＨｉｇｈレベルに遷移すると、内部アドレス信号ＬＴＡにはアドレス信号ＡＡが供給される。次に時刻Ｔ１０にワード線制御信号ＣＰＡが非活性化され、ワード線ＷＬ＿ＡＢが非活性化される。またラッチ回路２はスルー状態となり、ラッチ回路２を経由してアドレス信号ＡＡがデコード回路４に入力される。
【００４７】
入力されたアドレス信号ＡＡはデコード回路４によってデコードされ、時刻Ｔ１１にワード線制御信号ＣＰＡが活性化されると、対応するワード線ＷＬ＿ＡＡがワード線駆動回路５によって駆動され活性化される。またこのとき、ラッチ回路１にアドレス信号ＡＡがラッチされる。
【００４８】
次に時刻Ｔ１２にワード線制御信号ＣＰＡが非活性化され、ワード線ＷＬ＿ＡＡが非活性化される。また、ラッチ回路１はスルー状態に戻る。次に時刻Ｔ１３にアドレスラッチ制御信号ＣＰＣＴＬが非活性化され、ラッチ回路１はスルー状態に戻る。また、選択制御信号ＳＥＬがＬｏｗレベルに遷移し初期状態に戻る。
【００４９】
以上で疑似２ポートＳＲＡＭの１サイクルの動作が終了する。
【００５０】
以上で説明したとおり、本実施形態１では選択制御信号ＳＥＬはワード線制御信号ＣＰＡのＬｏｗレベルからＨｉｇｈレベルへの１回目および２回目の遷移に対して、それぞれセットアップ時間とホールド時間を満足すれば良い。即ち、選択制御信号ＳＥＬはワード線制御信号ＣＰＡがＬｏｗレベルからＨｉｇｈレベルへ遷移した（時刻Ｔ８）後、所定のホールド時間を満たせば直ちにＬｏｗレベルからＨｉｇｈレベルに切り替えることができ、この切換タイミングは、次にワード線制御信号ＣＰＡがＬｏｗレベルからＨｉｇｈレベルへ遷移する時刻Ｔ１１に対して、所定のセットアップ時間を満たせばよい。このように、選択制御信号ＳＥＬの切り替えタイミングの制約が大きく緩和されるので、メモリユニットＭＥＭＵ２０の周波数性能を向上させることができる。
【００５１】
なお、本実施形態１では、疑似２ポートＳＲＡＭを一例として説明したが、１サイクル期間内に複数回のアクセスを行う疑似マルチポートメモリにも、同様に応用することができる。メモリアレイ（ＭＡＲＹ）１２とメモリセルＭＣ、さらに必要に応じて、データ入出力回路（ＩＯ）１３と制御回路（ＣＴＲＬ）１１を適宜変更すればよい。例えば、メモリセルＭＣは図２に例示した６トランジスタのＳＲＡＭメモリセルから、他の回路構成のＳＲＡＭ、ＤＲＡＭ（Dynamic Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリなどの電気的に書き換え可能な不揮発性メモリなど、如何なる形態のメモリのメモリセルにも変更することができる。
【００５２】
〔実施形態２〕
ワード線制御信号ＣＰＡを始めとする各種制御信号は、制御回路（ＣＴＲＬ）１１において、外部クロック信号ＣＬＯＣＫから生成される。ワード線制御信号ＣＰＡを生成するクロック生成回路の構成例について、さらに詳しく説明する。
【００５３】
図８は、クロック生成回路５０の一構成例を示す回路図である。クロック生成回路５０は制御回路（ＣＴＲＬ）１１に内蔵されるが、図１では図示が省略されている。
【００５４】
クロック生成回路５０は、パルス生成回路５３とＲＳ（Reset / Set）ラッチ５４と、２個の遅延回路５１と５２と、その他の論理ゲート回路５５〜５９によって構成される。図中の「DELAY1」と「DELAY2」は、それぞれ遅延回路５１と５２に設定された遅延時間を表す。
【００５５】
パルス生成回路５３は、入力される外部クロックＣＬＯＣＫの立上りエッジに同期してワンショットパルスＰＵＬＳＥを生成する。ＲＳラッチ５４は、ワンショットパルスＰＵＬＳＥによってセットされ、例えば、インバータ５６と５７を介してデコード起動信号ＴＤＥＣをＨｉｇｈレベルに遷移させる。デコード起動信号ＴＤＥＣは遅延回路５１とインバータ５５を介してフィードバック信号ＢＡＣＫとしてＲＳラッチ５４に入力される。ＲＳラッチ５４は、フィードバック信号ＢＡＣＫによってリセットされ、デコード起動信号ＴＤＥＣをＬｏｗレベルに遷移させる。デコード起動信号ＴＤＥＣは、遅延回路５１による遅延の上にさらに遅延回路５２による遅延を受けて、遅延されたデコード起動信号ＴＤＥＣ＿ＤＥＬＡＹが生成される。デコード起動信号ＴＤＥＣと遅延されたデコード起動信号ＴＤＥＣ＿ＤＥＬＡＹをＮＯＲ５８とインバータ５９に入力して、ワード線制御信号ＣＰＡを生成する。
【００５６】
クロック生成回路５０の動作についてさらに詳しく説明する。
【００５７】
図９は、図８のクロック生成回路５０の動作を示すタイミングチャートである。
【００５８】
まず時刻Ｔ１４に外部クロックＣＬＯＣＫが立ち上がる。この立ち上がりエッジをトリガしてパルス生成回路５３でワンショットパルスＰＵＬＳＥが生成される。このワンショットパルスＰＵＬＳＥによりＲＳラッチ５４がセットされ、デコード起動信号ＴＤＥＣが活性化される。それを受けてワード線制御信号ＣＰＡも活性化される。
【００５９】
デコード起動信号ＴＤＥＣは遅延回路５１に供給されているので、遅延回路１での遅延時間（Delay1）後の時刻Ｔ１５に、フィードバック信号ＢＡＣＫがＬｏｗレベルに遷移する。これによりＲＳラッチ５４がリセットされ、時刻Ｔ１６にデコード起動信号ＴＤＥＣが非活性化される。ここで、時刻Ｔ１５から時刻Ｔ１６は、ゲート３段分の比較的小さな遅延である。デコード起動信号ＴＤＥＣが非活性化されると、ワード線制御信号ＣＰＡも非活性化される。続いてフィードバック信号ＢＡＣＫがＨｉｇｈレベルに遷移して初期状態に戻る。
【００６０】
一方、デコード起動信号ＴＤＥＣは、遅延回路５１を経由して遅延回路５２にも供給されている。遅延されたデコード起動信号ＴＤＥＣ＿ＤＥＬＡＹは、デコード起動信号ＴＤＥＣが立上る時刻Ｔ１４から遅延回路１での遅延時間（Delay1）後さらに遅延回路２での遅延時間（Delay2）を経た時刻Ｔ１７に、デコード起動信号ＴＤＥＣから遅れて立上がる。また、デコード起動信号ＴＤＥＣの立下る時刻Ｔ１６から同じ遅延時間Delay1とDelay2の和を経た時刻Ｔ１８に立ち下がる。これに伴って、ワード線制御信号ＣＰＡも時刻Ｔ１７に活性化され、時刻Ｔ１８に非活性化される。
【００６１】
以上で説明したとおり、本実施形態２では外部クロックＣＬＯＣＫの立ち上がりエッジのみを利用して、ワード線制御信号ＣＰＡが２回活性化される。即ち、疑似２ポートＳＲＡＭにおいて外部クロック信号ＣＬＯＣＫの１サイクルに対して２回必要な内部のクロック信号を始めとする制御信号を、外部クロック信号ＣＬＯＣＫの立ち下がりエッジを利用すること無く生成することができる。
【００６２】
これにより外部クロック信号ＣＬＯＣＫのＨｉｇｈ／Ｌｏｗ期間の制約が緩和され、疑似２ポートＳＲＡＭの周波数性能を向上させることができる。
【００６３】
〔実施形態３〕
図１０はクロック生成回路５０の他の構成例を示す回路図であり、図１１はその動作を示すタイミングチャートである。図１０のクロック生成回路５０では、図８に示した実施形態２のクロック生成回路５０におけるインバータ５７をＮＡＮＤ６０に変更し、ワンショットパルス信号ＰＵＬＳＥを、ＲＳラッチ５４を介さずに直接入力したものである。他の構成は実施形態２のクロック生成回路５０と同様である。
【００６４】
クロック生成回路５０の動作について説明する。
【００６５】
図１１のタイミングチャートでは、図９のタイミングチャートの時刻Ｔ１４からＴ１５の期間を拡大して、１ゲート遅延まで詳細に示し、実施形態２のクロック生成回路５０と本実施形態３のクロック生成回路５０の動作タイミングの違いを示す。
【００６６】
外部クロック信号ＣＬＯＣＫの立上りを時刻Ｔ１４とすると、その３ゲート遅延後にワンショットパルスＰＵＬＳＥがＬｏｗレベルに遷移する。
【００６７】
実施形態２のクロック生成回路５０では、これを受けて３ゲート遅延後にデコード起動信号ＴＤＥＣが立上る。さらに、遅延時間Delay1と１ゲート遅延の後の時刻Ｔ１５に、フィードバック信号ＢＡＣＫがＬｏｗレベルに遷移する。これに伴ってデコード起動信号ＴＤＥＣがＬｏｗレベルに遷移する。
【００６８】
一方、本実施形態３のクロック生成回路５０では、ワンショットパルスＰＵＬＳＥがＬｏｗレベルに遷移した１ゲート遅延後にデコード起動信号ＴＤＥＣが立上る。さらに、遅延時間Delay1と１ゲート遅延の後の時刻Ｔ１５より早いタイミングで、フィードバック信号ＢＡＣＫがＬｏｗレベルに遷移する。これに伴ってデコード起動信号ＴＤＥＣがＬｏｗレベルに遷移する。このように、実施形態２のクロック生成回路５０よりも早いタイミングでデコード起動信号ＴＤＥＣ、及び、図１１では省略したがワード線制御信号ＣＰＡを遷移させることができる。
【００６９】
これにより、外部クロック信号ＣＬＯＣＫの立ち上がりエッジからデコード起動信号ＴＤＥＣの活性化までを高速化することができ、疑似２ポートＳＲＡＭの周波数性能及びアクセスタイム性能を向上させることができる。
【００７０】
〔実施形態４〕
以上はメモリアレイをシングルポートＳＲＡＭとし、アドレス制御回路１０によって外部クロック信号ＣＬＯＣＫの１サイクルの期間内に２度のアクセスを行うことによって、疑似的に２ポートメモリとして動作する、疑似２ポートＳＲＡＭについて説明した。これは物理的な１ポートを疑似的に複数のポートとして機能させる技術であるから、メモリアレイを物理的なマルチポートとした場合には、各ポートそれぞれをさらに疑似２ポート化することができる。
【００７１】
図１２は、疑似２ポートを含むマルチポートメモリの構成例を示す、ブロック図である。マルチポートメモリは、２ポートのメモリアレイ（MARY）１２、アドレス制御回路（ＡＤＲＣＴＲＬＤとＡＤＲＣＴＲＬＳ）１０Ｄと１０Ｓ、データ入出力回路（ＩＯＤとＩＯＳ）１３Ｄと１３Ｓ、及び、制御回路（ＣＴＲＬ）１１を備える。メモリアレイ（MARY）１２は２ポートとされ、一方のポートは疑似２ポート化され他方のポートはシングルポートのままとされる。これにより、マルチポートメモリは、３ポートメモリとして機能する。
【００７２】
メモリアレイ（MARY）１２の疑似２ポート化される側のワード線ＷＬＤには、アドレス制御回路（ＡＤＲＣＴＲＬＤ）１０Ｄが接続され、ビット線対ＢＬＤ／ＺＢＬＤにはデータ入出力回路（ＩＯＤ）１３Ｄが接続される。
【００７３】
メモリアレイ（MARY）１２のシングルポート側のワード線ＷＬＳには、アドレス制御回路（ＡＤＲＣＴＲＬＳ）１０Ｓが接続され、ビット線対ＢＬＳ／ＺＢＬＳにはデータ入出力回路（ＩＯＳ）１３Ｓが接続される。
【００７４】
マルチポートメモリの疑似２ポート化される側には、アドレス信号ＡＡとＡＢが入力され、クロック信号ＣＬＯＣＫＤ及びチップイネーブルＣＥＤ（ＣＥＮＡ，ＣＥＮＢを含む）が入力される。一方、シングルポート側には、アドレス信号ＡＣとクロック信号ＣＬＯＣＫＳ、チップイネーブルＣＥＳ及びライトイネーブル信号ＷＥＳが入力される。
【００７５】
疑似２ポート化する側のアドレス制御回路（ＡＤＲＣＴＲＬＤ）１０Ｄは、図１及び図４に示したアドレス制御回路１０と同様であり、ラッチ回路（ＡＤＲＬＡＴＣＨＤ）６Ｄとデコード回路（ＡＤＲＤＥＣＤ）４Ｄとワード線駆動回路（ＷＤＤ）５Ｄとを備える。データ入出力部（ＩＯＤ）１３Ｄは図１に示したデータ入出力部（ＩＯ）１３と同様である。制御回路（ＣＴＲＬ）１１は、入力されるクロック信号ＣＬＯＣＫＤとチップイネーブル信号ＣＥＤ（ＣＥＮＡ，ＣＥＮＢ）に基づいて、各種の制御信号ＣＰＣＴＬＤ、ＳＥＬＤ、ＴＤＥＣＤ、ＣＰＡＤ、ＷＥＤ、ＳＥＤ等を生成して、アドレス制御回路（ＡＤＲＣＴＲＬＤ）１０Ｄとデータ入出力部（ＩＯＤ）１３Ｄに供給する。
【００７６】
シングルポート側は、通常のシングルポートメモリと同様である。アドレス制御回路（ＡＤＲＣＴＲＬＳ）１０Ｓは、ラッチ回路（ＡＤＲＬＡＴＣＨＳ）７、デコード回路（ＡＤＲＤＥＣＳ）４Ｓ及びワード線駆動回路（ＷＤＳ）５Ｓを備え、入力されるアドレス信号ＡＣに対応するワード線ＷＬＳを駆動する。データ入力回路（ＩＯＳ）１３Ｓも通常のシングルポートメモリのデータ入出力回路と同様である。制御回路（ＣＴＲＬ）１１は、入力されるクロック信号ＣＬＯＣＫＳとチップイネーブル信号ＣＥＳとライトイネーブル信号ＷＥＳに基づいて、各種の制御信号ＣＰＣＴＬＳ、ＴＤＥＣＳ、ＣＰＡＳ、ＷＥＳ、ＳＥＳ等を生成して、アドレス制御回路（ＡＤＲＣＴＲＬＳ）１０Ｓとデータ入出力部（ＩＯＳ）１３Ｓに供給する。
【００７７】
このように、マルチポートのメモリアレイ（MARY）１２では、２つのポートを非同期で動作させることが可能であるので、疑似２ポート化する側とシングルポート側とを組み合わせて実現することができる。２つのポートを共に疑似２ポート化してもよい。３ポート以上のマルチポートについても同様である。
【００７８】
マルチポートのメモリアレイ（MARY）１２は、種々のマルチポートメモリセルを使って構成することができる。
【００７９】
図１３は、その一例であるデュアルポートのＳＲＡＭメモリセルの、８トランジスタでの一構成例を示す回路図である。図２に示したシングルポートのＳＲＡＭメモリセルに対してさらに、２個のＮチャネルＭＯＳトランジスタＭＮ５及びＭＮ６が追加されている。ＭＮ３とＭＮ４に接続されるワード線をＷＬＡ、ビット線対をＢＬＡ／ＺＢＬＢとし、追加されたＭＮ５とＭＮ６にはもう一つのポートに対応するワード線ＷＬＢとビット線対ＢＬＢ／ＺＢＬＢが接続される。２つのポートは互いに独立しており、非同期での読み出しと書き込みが可能である。ただし、当然ながら同じメモリセルに対して書込みどうしが競合し、或いは書込みと読み出しが競合する場合には、公知の技術による調停が必要である。
【００８０】
図１４は、デュアルポートのＳＲＡＭメモリセルの、８トランジスタでの別の構成例を示す回路図である。図２に示したシングルポートのＳＲＡＭメモリセルに対してさらに、２個のＮチャネルＭＯＳトランジスタＭＮ５及びＭＮ６が追加されている。ＭＮ３とＭＮ４に接続されるワード線をＷＬＡ、ビット線対をＢＬＡ／ＺＢＬＢとし、追加されたＭＮ５とＭＮ６にはもう一つのポートに対応するワード線ＷＬＢとビット線ＢＬＢが接続される。追加されたポートは読出し専用ポートである。この場合には、データ入出力部（ＩＯ）１３もこれに応じて変更される必要がある。
【００８１】
実施形態１〜３では、疑似２ポート化される２つのポートをライトポートとリードポートとして説明したが、実施形態４のように他のポートと組み合わせることにより、２つのリードポートを或いは２つのライトポートを疑似２ポート化することも可能である。
【００８２】
これにより、マルチポートメモリのポート数を２ポートに限ることなく多数のポートに拡張することができる。
【００８３】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００８４】
例えば、ブロック図に示したブロック分割は、単なる一例に過ぎず、１つのブロックの一部または全部の機能を他のブロックの機能と渾然一体に実現した別のブロックに変更して実現するなどの変更は、適宜任意に行うことができる。また、明細書本文及び図面に示した信号線や回路の正論理と負論理の使い分けと回路構成は、一例を示しているに過ぎず、同様の機能を実現する他の信号、他の回路に変更することは任意である。
【符号の説明】
【００８５】
１、２  ラッチ回路（LATCH）
３  選択回路
４  デコード回路（ADRDEC；ADRDECD, ADRDECS）
５  ワード線駆動回路（WD；WDD, WDS）
６、７  ラッチ回路（ADRLATCH；ADRLATCHD, ADRLATCHS）
１０  アドレス制御回路
１１  制御回路（CTRL）
１２  メモリアレイ（MARY）
１３  データ入出力回路（IO；IOD, IOS）
１４  Ｙスイッチ（YSW）
１５  ライトドライバ（WTD）
１６  センスアンプ（SA）
１７  入出力バッファ（IOB）
２０  マルチポートメモリ（MEMU）、メモリマクロ
３０  半導体装置（LSI）
５０  クロック生成回路
５１、５２  遅延回路（DELAY1, DELAY2）
５３        パルス生成回路
５４  ＲＳ（Reset / Set）ラッチ
５５、５６、５７、５９  インバータ
５８  ＮＯＲ
６０  ＮＡＮＤ
ＭＣ  メモリセル
ＡＡ［ｎ−１：０］                      Ａポートのアドレス信号（端子）
ＡＢ［ｎ−１：０］                      Ｂポートのアドレス信号（端子）
ＡＣ                                    Ｃポートのアドレス信号（端子）
ＣＬＯＣＫ，ＣＬＯＣＫＤ，ＣＬＯＣＫＳ  クロック信号（端子）
ＣＥＮＡ，ＣＥＮＢ，ＣＥＤ，ＣＥＳ      チップイネーブル信号（端子）
ＤＡ［ｍ：０］，ＤＢ［ｍ：０］          データ信号（端子）
ＣＰＣＴＬ，ＣＰＣＴＬＤ，ＣＰＣＴＬＳ  アドレスラッチ制御信号
ＣＰＡ，ＣＰＡＤ，ＣＰＡＳ              ワード線制御信号
ＳＥＬ                                  選択制御信号
ＴＤＥＣ，ＴＤＥＣＡ．ＴＤＥＣＳ        デコード起動信号
ＷＬ，ＷＬ＿ＡＡ，ＷＬ＿ＡＢ            ワード線
ＢＬ／ＺＢＬ，ＢＬＤ／ＺＢＬＤ，ＢＬＳ／ＺＢＬＳ        ビット線対
ＷＥ，ＷＥＤ，ＷＥＳ                    ライトイネーブル信号
ＳＥ，ＳＥＤ，ＳＥＳ                    センスアンプイネーブル信号
【図１】
0006682367.tif 000002
【図２】
0006682367.tif 000003
【図３】
0006682367.tif 000004
【図４】
0006682367.tif 000005
【図５】
0006682367.tif 000006
【図６】
0006682367.tif 000007
【図７】
0006682367.tif 000008
【図８】
0006682367.tif 000009
【図９】
0006682367.tif 000010
【図１０】
0006682367.tif 000011
【図１１】
0006682367.tif 000012
【図１２】
0006682367.tif 000013
【図１３】
0006682367.tif 000014
【図１４】
0006682367.tif 000015