(57)【要約】【課題】従来よりも高速に動作可能なマルチポートメモリを提供する。【解決手段】第１パルス信号生成回路（４１０）は、クロック信号の入力に従い第１パルス信号（ＣＬＫＰ）を生成する。第１ラッチ回路（４２０）は、第１パルス信号の生成に従い第１起動信号（ＴＤＥＣ）を第１状態にセットし、遅延回路（４３０）による第１起動信号を遅延した第１遅延信号（ＢＡＣＫ）に従い第１起動信号を第２状態にリセットする。第２パルス信号生成回路（４５０）は、第１遅延信号の入力に従い第２パルス信号（ＣＬＫＰ２）を生成する。第１ラッチ回路は、第２パルス信号の生成に従い第２起動信号（ＴＤＥＣ）を第１状態にセットして保持し、遅延回路による第２起動信号の第２遅延信号に従い第２起動信号を第２状態にリセットする。メモリは、起動信号に従い動作する。【選択図】図４
2018073440.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルと、複数のワード線とを含むメモリアレイと、
入力されるクロック信号に基づいて起動信号を生成するための制御回路と、
複数のポートを含み、前記起動信号に従うタイミングで、前記複数のポートから入力される複数のアドレス信号のうち一のアドレス信号をデコードして、前記複数のワード線のうち一のワード線を活性化するためのアドレス制御回路と、
前記アドレス制御回路からの出力に基づいて、前記活性化されたワード線に接続されるメモリセルのうち一のメモリセルを選択してデータの書き込みまたは読み出しを行なうためのデータ入出力回路とを備え、
前記制御回路は、
パルス信号を生成するパルス信号生成部と、
前記パルス信号生成部の出力に従って起動信号を生成する起動信号生成部と、
前記起動信号を遅延する遅延信号を生成する遅延回路とを含み、
前記パルス信号生成部は、クロック信号の入力に従って第１パルス信号を生成する第１パルス信号生成回路を含み、
前記起動信号生成部は、前記第１パルス信号の生成に従って第１起動信号を第１状態にセットして保持し、前記遅延回路による前記第１起動信号を遅延した第１遅延信号に従って前記第１起動信号を第２状態にリセットする第１ラッチ回路を含み、
前記パルス信号生成部は、前記第１遅延信号の入力に従って第２パルス信号を生成する第２パルス信号生成回路をさらに含み、
前記第１ラッチ回路は、前記第２パルス信号の生成に従って第２起動信号を前記第１状態にセットして保持し、前記遅延回路による前記第２起動信号の第２遅延信号に従って前記第２起動信号を前記第２状態にリセットする、マルチポートメモリ。
【請求項２】
前記制御回路は、前記第１パルス信号に従って制御信号を第３状態にセットして保持し、前記第２パルス信号に従って前記制御信号を第４状態にリセットする第２ラッチ回路をさらに含み、
前記第２パルス信号生成回路は、
前記第３状態にセットされている前記制御信号の入力を受け付けている状態において、前記第２遅延信号の入力に従って、前記第２パルス信号をさらに生成するように構成される、請求項１に記載のマルチポートメモリ。
【請求項３】
前記第２ラッチ回路は、
前記第２パルス信号を予め定められた回数入力されることにより前記制御信号を前記第４状態にリセットし、
前記予め定められた回数に応じた数のフリップフロップを有する、請求項２に記載のマルチポートメモリ。
【請求項４】
前記予め定められた回数は２以上であって、
前記第２ラッチ回路は、
第１フリップフロップと、
前記制御回路での信号の伝達経路において前記第１フリップフロップの後段に配置される第２フリップフロップと、
前記第１フリップフロップと前記第２フリップフロップとの間に配置され、前記第１フリップフロップの出力を遅延させて前記第２フリップフロップに入力させる調整用遅延回路とを含む、請求項３に記載のマルチポートメモリ。
【請求項５】
前記メモリセルは、第１および第２ワード線に接続され、
前記アドレス制御回路は第１アドレス制御回路であって、
前記第１アドレス制御回路は、前記起動信号に従うタイミングで前記第１ワード線を活性化するように構成され、
少なくとも１つのポートを含み、前記少なくとも１つのポートから入力されるアドレス信号のうち一のアドレス信号をデコードして、前記第２ワード線を活性化するための第２アドレス制御回路をさらに備える、請求項１に記載のマルチポートメモリ。
【請求項６】
前記アドレス制御回路は、
少なくとも第１および第２ポートを含み、前記第１ポートから第１アドレス信号が入力され、前記第２ポートから第２アドレス信号が入力されるように構成され、
前記第１アドレス信号をラッチするための第１アドレスラッチ回路と、
前記第２アドレス信号をラッチするための第２アドレスラッチ回路と、
前記第１アドレスラッチ回路が出力する前記第１アドレス信号、および前記第２アドレスラッチ回路が出力する前記第２アドレス信号のうちいずれか１方の信号を選択して出力するための選択回路と、
前記選択回路によって選択された信号をデコードして前記複数のワード線のうち一のワード線を選択するためのデコード回路と、
前記デコード回路によって選択された一のワード線を活性化するためのワード線駆動回路とを含む、請求項１に記載のマルチポートメモリ。
【請求項７】
クロック信号に基づいて起動信号を生成するための半導体装置であって、
パルス信号を生成するパルス信号生成部と、
前記パルス信号生成部の出力に従って起動信号を生成する起動信号生成部と、
前記起動信号を遅延する遅延信号を生成する遅延回路とを備え、
前記パルス信号生成部は、前記クロック信号の入力に従って第１パルス信号を生成する第１パルス信号生成回路を含み、
前記起動信号生成部は、前記第１パルス信号の生成に従って第１起動信号を第１状態にセットして保持し、前記遅延回路による前記第１起動信号を遅延した第１遅延信号に従って前記第１起動信号を第２状態にリセットする第１ラッチ回路を含み、
前記パルス信号生成部は、前記第１遅延信号の入力に従って第２パルス信号を生成する第２パルス信号生成回路をさらに含み、
前記第１ラッチ回路は、前記第２パルス信号の生成に従って第２起動信号を前記第１状態にセットして保持し、前記遅延回路による前記第２起動信号の第２遅延信号に従って前記第２起動信号を前記第２状態にリセットする、半導体装置。
【請求項８】
前記第１パルス信号に従って制御信号を第３状態にセットして保持し、前記第２パルス信号に従って前記制御信号を第４状態にリセットする第２ラッチ回路をさらに備え、
前記第２パルス信号生成回路は、
前記第３状態にセットされている前記制御信号の入力を受け付けている状態において、前記第２遅延信号の入力に従って、前記第２パルス信号をさらに生成するように構成される、請求項７に記載の半導体装置。
【請求項９】
前記第２ラッチ回路は、
前記第２パルス信号を予め定められた回数入力されることにより前記制御信号を前記第４状態にリセットし、
前記予め定められた回数に応じた数のフリップフロップを有する、請求項８に記載の半導体装置。
【請求項１０】
前記予め定められた回数は２以上であって、
前記第２ラッチ回路は、
第１フリップフロップと、
前記半導体装置での信号の伝達経路において前記第１フリップフロップの後段に配置される第２フリップフロップと、
前記第１フリップフロップと前記第２フリップフロップとの間に配置され、前記第１フリップフロップの出力を遅延させて前記第２フリップフロップに入力させる調整用遅延回路とを含む、請求項９に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、マルチポートメモリに関し、より特定的には、メモリを疑似的にマルチポートメモリとして機能させる技術に関する。
【背景技術】
【０００２】
シングルポートＳＲＡＭ（Static  Random  Access  Memory）のメモリマクロを使って、疑似的に２ポートＳＲＡＭの機能を実現する疑似２ポートＳＲＡＭが、主に画像処理の分野で広く用いられている。疑似２ポートＳＲＡＭの内部回路は、外部クロックの１サイクルの間に、２回動作するように構成される。
【０００３】
米国特許出願公開第２００７／０８３８７８５号明細書（特許文献１）は、外部クロックの立上りに同期してリード動作を行ない、外部クロックの立下りに同期してライト動作を行なう疑似２ポートＳＲＡＭを開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００７／０８３８７８５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記文献に示される疑似２ポートＳＲＡＭは、外部クロックの立上りおよび立下りに同期して動作を行なうため、クロック周波数を上げにくいという問題がある。一例として、疑似２ポートＳＲＡＭは、外部クロックがデューティー比５０％であって、リード動作に０．５ｎｓｅｃ、ライト動作に１．０ｎｓｅｃ必要であるとする。この場合、当該疑似２ポートＳＲＡＭは、遅い方の動作に律速されてしまうため、リード動作にも１．０ｎｓｅｃかかってしまう。
【０００６】
本開示は、上記のような問題を解決するためになされたものであって、ある局面における目的は、従来よりも高速に動作可能なマルチポートメモリを提供することである。他の局面における目的は、従来よりも高速に動作可能な半導体装置を提供することである。
【０００７】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
ある実施形態に従うマルチポートメモリは、複数のメモリセルと複数のワード線とを含むメモリアレイと、入力されるクロック信号に基づいて起動信号を生成するための制御回路と、複数のポートを含み、起動信号に従うタイミングで、複数のポートから入力される複数のアドレス信号のうち一のアドレス信号をデコードして、複数のワード線のうち一のワード線を活性化するためのアドレス制御回路と、アドレス制御回路からの出力に基づいて、活性化されたワード線に接続されるメモリセルのうち一のメモリセルを選択してデータの書き込みまたは読み出しを行なうためのデータ入出力回路とを備える。制御回路は、パルス信号を生成するパルス信号生成部と、パルス信号生成部の出力に従って起動信号を生成する起動信号生成部と、起動信号を遅延する遅延信号を生成する遅延回路とを含む。パルス信号生成部は、クロック信号の入力に従って第１パルス信号を生成する第１パルス信号生成回路を含む。起動信号生成部は、第１パルス信号の生成に従って第１起動信号を第１状態にセットして保持し、遅延回路による第１起動信号を遅延した第１遅延信号に従って第１起動信号を第２状態にリセットする第１ラッチ回路を含む。パルス信号生成部は、第１遅延信号の入力に従って第２パルス信号を生成する第２パルス信号生成回路をさらに含む。第１ラッチ回路は、第２パルス信号の生成に従って第２起動信号を第１状態にセットして保持し、遅延回路による第２起動信号の第２遅延信号に従って第２起動信号を第２状態にリセットする。
【発明の効果】
【０００９】
ある実施形態に従うマルチポートメモリは、従来よりも高速に動作できる。
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００１０】
【図１】メモリユニットの構成例を示すブロック図である。
【図２】メモリセルの構成例を説明する図である。
【図３】半導体装置のレイアウト構成例を模式的に示す図である。
【図４】内部クロック生成回路の構成例について説明する図である。
【図５】図４の内部クロック生成回路に含まれる各回路の動作について説明するタイミングチャートである。
【図６】アドレス制御回路の構成例を示す回路図である。
【図７】図６のアドレス制御回路、および制御回路の動作を説明するタイミングチャートである。
【図８】内部クロック生成回路の構成例について説明する図である。
【図９】図８の内部クロック生成回路に含まれる各回路の動作について説明するタイミングチャートである。
【図１０】疑似２ポートを含むマルチポートメモリの構成例を示すブロック図である。
【図１１】デュアルポートのＳＲＡＭメモリセルの構成例を示す回路図である。
【図１２】他のデュアルポートのＳＲＡＭメモリセルの構成例を示す回路図である。
【図１３】擬似デュアルポートＳＲＡＭのセンスアンプの構成例を示す回路図である。
【発明を実施するための形態】
【００１１】
以下、この発明の実施形態について図面を参照しながら詳細に説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１２】
［実施形態１］
（メモリユニット２０の構成）
図１は、疑似２ポートＳＲＡＭ（ＭＥＭＵ２０）の構成例を示すブロック図である。疑似２ポートＳＲＡＭのメモリユニット２０は、アドレス制御回路（ＡＤＲＣＴＲＬ）１０と、制御回路（ＣＴＲＬ）１１と、メモリアレイ（ＭＡＲＹ）１２と、データ入出力回路（ＩＯ）１３とを備える。
【００１３】
アドレス制御回路１０は、２ポート（ＡポートとＢポート）を有し、後述する起動信号に従うタイミングで、これらのポートから入力される複数のアドレス信号のうち一のアドレス信号をデコードして、複数のワード線のうち一のワード線を活性化する。そのために、アドレス制御回路１０は、アドレスラッチ回路（ＡＤＲＬＡＴＣＨ）６とデコード回路（ＡＤＲＤＥＣ）４とワード線駆動回路（ＷＤ）５とを備える。アドレスラッチ回路６には、Ａポートのアドレス信号ＡＡ［ｎ−１：０］とＢポートのアドレス信号ＡＢ［ｎ−１：０］が入力される。「［ｎ−１：０］」は、複数ビットのデジタル信号線を表す表記であり、ｎ−１ビットから０ビットまでのｎビット（ｎ本）の信号線を表す。アドレスラッチ回路６は、制御回路１１から供給される制御信号ＣＰＣＴＬ，ＳＥＬおよびＣＰＡに基づいて、アドレス信号ＡＡとＡＢとを順次選択して、デコード回路４に出力する。
【００１４】
デコード回路４は、入力されたアドレスをデコードして、行の選択制御信号Ｘ０〜Ｘｉをワード線駆動回路５に、列の選択制御信号Ｙ０〜Ｙｊを列選択回路（ＹＳＷ）１４にそれぞれ出力する。デコード回路４は、制御回路１１が出力する起動信号ＴＤＥＣに従うタイミングで、デコードした選択制御信号を列選択回路１４に出力する。ワード線駆動回路５は、入力された選択制御信号Ｘ０〜Ｘｉに従い、複数のワード線のうち、一のワード線を駆動（活性化）する。
【００１５】
制御回路１１は、外部から入力されるクロック信号ＣＬＫとチップイネーブル信号ＣＥＮＡ，ＣＥＮＢとに基づいて、制御信号ＣＰＣＴＬ，ＳＥＬ，ＷＥ，ＳＥ、および起動信号ＴＤＥＣを含む各種の信号を生成する。起動信号ＴＤＥＣの生成方法については図４を用いて後述される。制御回路１１は、生成した制御信号ＣＰＣＴＬ，ＳＥＬおよび起動信号ＴＤＥＣをアドレス制御回路１０に出力し、制御信号ＷＥ，ＳＥをデータ入出力回路１３に出力する。
【００１６】
メモリアレイ１２は、行方向に延伸するｉ＋１本のワード線ＷＬ０〜ＷＬｉと、行方向と交差する列方向に延伸するｍ＋１個のビット線対ＢＬ０／ＺＢＬ０〜ＢＬｍ／ＺＢＬｍと、複数のメモリセルＭＣを備える（ｉ，ｍは１以上の整数）。各ビット線対は、相補信号を伝送する２本のビット線（例えば、ＢＬ０とＺＢＬ０）で構成される。各メモリセルＭＣは、１本のワード線と、１つのビット線対とに接続される。同じ行に延在する複数のメモリセルは、互いに共通するワード線に接続される。同じ列に延在する複数のメモリセルは、互いに共通するビット線対に接続される。メモリセルＭＣの具体的な構成例は、図２を用いて後述される。
【００１７】
データ入出力回路１３は、アドレス制御回路１０によって活性化されたワード線に接続されるメモリセルのうち一のメモリセルを選択してデータの書き込みまたは読み出しを行なう。データ入出力回路１３は、列選択回路（ＹＳＷ）１４と、書き込み駆動回路（ＷＴＤ）１５と、センスアンプ（ＳＡ）１６と、入出力バッファ（ＩＯＢ）１７とを含む。入出力バッファ１７は、外部から入力された書き込み対象のデータ、およびメモリアレイ１２から読み出したデータを一時的に保持する。書き込み駆動回路１５は、入出力バッファ１７に保持される書き込み対象のデータを、制御信号（ライトイネーブル信号）ＷＥに従い列選択回路１４に出力する。列選択回路１４は、入力された選択制御信号Ｙ０〜Ｙｊに従うビット線対を駆動して、対象のメモリセルにデータを書き込む。センスアンプ１６は、制御信号（センスイネーブル信号）ＳＥに従い、列選択回路１４が選択したメモリセルのデータを読み出して、入出力バッファ１７に出力する。
【００１８】
（メモリセルＭＣの構成）
図２は、メモリセルＭＣの構成例を説明する図である。図２に示される例において、各メモリセルＭＣは、シングルポートのＳＲＡＭメモリセルである。
【００１９】
メモリセルＭＣは、４個のＮチャネルＭＯＳ（Metal  Oxide  Semiconductor）トランジスタＭＮ１〜ＭＮ４と、２個のＰチャネルＭＯＳトランジスタＭＰ１，ＭＰ２とを備える。トランジスタＭＮ３は、ゲートがワード線ＷＬに接続され、ソースおよびドレインの一方がビット線ＢＬに接続される。トランジスタＭＮ４は、ゲートがワード線ＷＬに接続され、ソースおよびドレインの一方がビット線ＺＢＬに接続される。トランジスタＭＮ１，ＭＰ１およびトランジスタＭＮ２，ＭＰ２は、電源電圧ＶＣＣと接地電圧ＶＳＳの間でＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）インバータ回路をそれぞれ構成する。この２個のＣＭＯＳインバータ回路は、一方の入力が他方の出力に接続されることによってラッチ回路を構成する。このラッチ回路は、１ビットの情報を保持可能に構成される。
【００２０】
トランジスタＭＮ４のソースおよびドレインの他方は、トランジスタＭＮ１およびＭＰ１によって構成されるＣＭＯＳインバータ回路の入力に接続される。トランジスタＭＮ３のソースおよびドレインの他方は、トランジスタＭＮ２およびＭＰ２によって構成されるＣＭＯＳインバータ回路の入力に接続される。
【００２１】
（半導体装置３０の構成）
図３は、半導体（ＬＳＩ：Large  Scale  Integration  circuit）装置３０のレイアウト構成例を模式的に示す図である。図３に示される例において、半導体装置３０は、１個の半導体チップ内に各種ロジック回路とメモリ回路が形成されたＬＳＩである。半導体装置３０は、マイクロコントローラユニット（ＭＣＵ：Micro  Controller  Unit）、マイクロプロセッサユニット（ＭＰＵ：Micro  Processor  Unit）、ＳＯＣ（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）と、クロック発生回路（ＣＰＧ：ＣＬＫ  Pulse  generator）とをさらに備える。ある局面において、通信ユニットは、外部装置との通信を行なうための通信インターフェイスであり得る。ダイレクトメモリアクセスコントローラユニットは、ＣＰＵを介さずにデータのやり取りを行なうＤＭＡ（Direct  Memory  Access）転送を制御する。アナログ／デジタル変換ユニットは、入力されたアナログ信号をデジタル信号に変換してＣＰＵ等に出力する。クロック発生回路は、内部の水晶またはセラミックなどの振動子を発振させて、クロック信号を生成してメモリユニット等に出力する。
【００２４】
メモリユニット（ＭＥＭＵ）１〜３は、先に説明したメモリユニット２０と同じ構成を採用し得る。メモリユニット１〜３は、メモリＩＰ（Intellectual  Property）等の設計データを用いて、メモリコンパイラ等の自動設計ツールによって生成され得るメモリマクロである。
【００２５】
メモリユニット２０は、クロック発生回路から入力されるクロック信号ＣＬＫの１サイクル期間にリード動作とライト動作の両方を行なうことによって、２ポートメモリとして疑似的に機能する。メモリユニット２０の制御回路１１は、外部クロック１サイクル期間内に２回動作（リード動作とライト動作）を行なうために、外部クロック１サイクルの間に内部クロックを２回生成する。次に、図４を用いてこの内部クロックを生成するための内部クロック生成回路の構成について説明する。
【００２６】
（内部クロック生成回路４００の構成および動作）
図４は、内部クロック生成回路４００の構成例について説明する図である。ある実施形態において、内部クロック生成回路４００は、制御回路１１に内蔵され得る。
【００２７】
内部クロック生成回路４００は、主な構成要素として、パルス信号を生成するパルス信号生成部４０２と、パルス信号生成部４０２の出力に従って起動信号を生成する起動信号生成部４０４と、起動信号を遅延することにより遅延信号を生成する第１遅延回路４３０とを備える。
【００２８】
パルス信号生成部４０２は、第１パルス信号を生成する第１パルス信号生成回路４１０と、第２パルス信号を生成する第２パルス信号生成回路４５０とを含む。起動信号生成部４０４は、第１ラッチ回路４２０を含む。内部クロック生成回路４００は、第２ラッチ回路４６０をさらに備える。
【００２９】
第１パルス信号生成回路４１０は、第１パルス信号ＣＬＫＰを生成して起動信号生成部４０４と第２ラッチ回路４６０とに出力する。起動信号生成部４０４は、起動信号ＴＤＥＣを生成して第１遅延回路４３０に出力する。第１遅延回路４３０は、起動信号ＴＤＥＣを遅延させてフィードバック信号ＢＡＣＫを生成して、起動信号生成部４０４と、第２パルス信号生成回路４５０とに出力する。第２パルス信号生成回路４５０は、第２パルス信号ＣＬＫＰ２を生成して起動信号生成部４０４と、第２ラッチ回路４６０とに出力する。第２ラッチ回路４６０は、制御信号ＢＵＲＳＴＮを第２パルス信号生成回路４５０に出力する。以下、図４および図５を参照しながら、内部クロック生成回路４００の具体的な動作について説明する。
【００３０】
図５は、ある実施形態に従う、内部クロック生成回路４００に含まれる各回路の動作について説明するタイミングチャートである。
【００３１】
時刻Ｔ０において、クロック発生回路が出力するクロック信号ＣＬＫが”Ｌｏｗ”レベルから”Ｈｉｇｈ”レベルに遷移する。これに伴い、第１パルス信号生成回路４１０は、時刻Ｔ１に第１パルス信号ＣＬＫＰを出力する。より具体的には、第１パルス信号生成回路４１０は、クロック発生回路から入力されるクロック信号ＣＬＫをインバータ４１１によって反転させた信号をＮＯＲゲート４１５の一端に入力する。第１パルス信号生成回路４１０は、当該反転させた信号を奇数段のインバータ４１２，４１３，４１４によってさらに反転させた遅延信号をＮＯＲゲート４１５の他端に入力する。これにより、ＮＯＲゲート４１５は、奇数個のインバータ４１２，４１３，４１４による遅延時間の間”Ｈｉｇｈ”レベルとなる第１パルス信号ＣＬＫＰを出力する。第１パルス信号ＣＬＫＰは、ＮＯＲゲート４７２を介して第１ラッチ回路４２０に入力される。第１パルス信号ＣＬＫＰは、ＯＲゲート４７４にさらに入力される。
【００３２】
時刻Ｔ２において、第１パルス信号ＣＬＫＰが生成されたことに伴い、ＯＲゲート４７４が出力する起動信号ＴＤＥＣが”Ｌｏｗ”レベルから”Ｈｉｇｈ”レベルに遷移する。また、第１ラッチ回路４２０は、ＮＯＲゲート４７２を介して入力される第１パルス信号ＣＬＫＰによって、起動信号ＴＤＥＣを”Ｈｉｇｈ”レベルにセットして保持する。
【００３３】
ＯＲゲート４７４は、第１ラッチ回路４２０を介さずに第１パルス信号ＣＬＫＰの入力を受け付ける。そのため、内部クロック生成回路４００は、第１ラッチ回路４２０が起動信号ＴＤＥＣを”Ｈｉｇｈ”レベルにセットするよりも速いタイミングで、起動信号ＴＤＥＣを”Ｈｉｇｈ”レベルに遷移させることができる。
【００３４】
なお、他の局面において、内部クロック生成回路は、第１パルス信号ＣＬＫＰを直接ＯＲゲート４７４に入力する経路を有さない構成であってもよい。かかる場合、起動信号ＴＤＥＣが”Ｈｉｇｈ”レベルに遷移するタイミングは、第１ラッチ回路４２０が起動信号ＴＤＥＣを”Ｈｉｇｈ”レベルにセットするタイミングに依存する。
【００３５】
第１パルス信号ＣＬＫＰは、第２ラッチ回路４６０にもさらに入力される。図４に示される例において、第２ラッチ回路４６０は、２つのインバータ４６１，４６２と、２つのＮＡＮＤゲート４６３，４６４で構成されるリセットセットラッチ回路とを含む。時刻Ｔ２において、第２ラッチ回路４６０は、インバータ４６１に第１パルス信号が入力されたことに応じて、第２パルス信号生成回路４５０に出力する制御信号ＢＵＲＳＴＮを”Ｈｉｇｈ”レベルにセットして保持する。
【００３６】
第１遅延回路４３０は、起動信号生成部４０４から入力された起動信号ＴＤＥＣを遅延させるとともに反転させたフィードバック信号ＢＡＣＫを出力する。第１遅延回路４３０は、一例として、奇数段のインバータとビット線の容量を模したレプリカビット線によって構成される。
【００３７】
時刻Ｔ３において、第１遅延回路４３０が出力するフィードバック信号ＢＡＣＫは、起動信号ＴＤＥＣが”Ｈｉｇｈ”レベルに遷移したことに応じて、”Ｈｉｇｈ”レベルから”Ｌｏｗ”レベルに遷移する。
【００３８】
時刻Ｔ４において、第１ラッチ回路４２０は、”Ｌｏｗ”レベルに遷移したフィードバック信号ＢＡＣＫをＮＡＮＤゲート４２４に入力されることにより、起動信号ＴＤＥＣを”Ｌｏｗ”レベルにリセットする。このように第１ラッチ回路４２０は、第１遅延回路４３０によって定まる遅延時間（時刻Ｔ２〜Ｔ４）の間、１回目の起動信号ＴＤＥＣを”Ｈｉｇｈ”レベルにセットして保持する。この遅延時間は、センスアンプによるデータ読み出しに必要な電位差まで、ビット線対が振幅する時間に相当するよう設計される。フィードバック信号ＢＡＣＫは、起動信号ＴＤＥＣが”Ｌｏｗ”レベルにリセットされてから第１遅延回路４３０によって定まる遅延時間経過後、”Ｈｉｇｈ”レベルに遷移する。
【００３９】
第２遅延回路４４０は、フィードバック信号ＢＡＣＫを遅延させた遅延フィードバック信号ＢＡＣＫＤＬＹを生成して、第２パルス信号生成回路４５０に出力する。
【００４０】
時刻Ｔ５において、遅延フィードバック信号ＢＡＣＫＤＬＹは、フィードバック信号が”Ｈｉｇｈ”レベルに遷移したことに応じて”Ｈｉｇｈ”レベルに遷移する。
【００４１】
第２パルス信号生成回路４５０は、インバータ４５１，４５３，４５４と、ＮＡＮＤゲート４５２と、ＮＯＲゲート４５５とを含む。インバータ４５１は、遅延フィードバック信号ＢＡＣＫＤＬＹを反転させた信号をＮＡＮＤゲート４５２の一端と、ＮＯＲゲート４５５の一端とに出力する。ＮＡＮＤゲート４５２の他端には、制御信号ＢＵＲＳＴＮが入力される。ＮＡＮＤゲート４５２の出力は、インバータ４５３，４５４を介してＮＯＲゲート４５５の他端に入力される。
【００４２】
時刻Ｔ６に、第２パルス信号生成回路４５０は、”Ｈｉｇｈ”レベルにセットされた制御信号ＢＵＲＳＴＮの入力を受け付けている状態において、遅延フィードバック信号ＢＡＣＫＤＬＹが”Ｈｉｇｈ”レベルに遷移したことに応じて、第２パルス信号ＣＬＫＰ２を生成する。より具体的には、第２パルス信号生成回路４５０は、インバータ４５１によって反転させた”Ｌｏｗ”レベルの信号をＮＯＲゲート４５５の一端に入力する。第２パルス信号生成回路４５０は、当該反転させた”Ｌｏｗ”レベルの信号をＮＡＮＤゲート４５２の一端に入力する。これにより、ＮＡＮＤゲート４５２は、”Ｈｉｇｈ”レベルにセットされた制御信号ＢＵＲＳＴＮの入力を受け付けている状態において、”Ｈｉｇｈ”レベルの信号を出力する。その結果、ＮＯＲゲート４５５の他端には、インバータ４５１の出力信号を反転させた遅延信号が入力される。したがって、ＮＯＲゲート４５５は、ＮＡＮＤゲート４５２、インバータ４５３，およびインバータ４５４による遅延時間の間（Ｔ６〜Ｔ７）”Ｈｉｇｈ”レベルとなる第２パルス信号ＣＬＫＰ２を生成する。生成された第２パルス信号ＣＬＫＰ２は、起動信号生成部４０４と、第２ラッチ回路４６０とに入力される。
【００４３】
時刻Ｔ７において、第２ラッチ回路４６０は、インバータ４６２に第２パルス信号ＣＬＫＰ２が入力されることにより、第２パルス信号生成回路４５０に出力する制御信号ＢＵＲＳＴＮを”Ｌｏｗ”レベルにリセットする。
【００４４】
また、時刻Ｔ７において、第１ラッチ回路４２０は、第２パルス信号ＣＬＫＰ２を入力されたことに従い、２回目の起動信号ＴＤＥＣを”Ｈｉｇｈ”レベルに再びセットする。
【００４５】
時刻Ｔ８において、２回目の起動信号ＴＤＥＣが”Ｈｉｇｈ”レベルに遷移したことに応じて、２回目のフィードバック信号ＢＡＣＫが”Ｌｏｗ”レベルに遷移する。
【００４６】
時刻Ｔ９において、第１ラッチ回路４２０は、”Ｌｏｗ”レベルに遷移したフィードバック信号ＢＡＣＫをＮＡＮＤゲート４２４に入力されることにより、起動信号ＴＤＥＣを”Ｌｏｗ”レベルにリセットする。このように第１ラッチ回路４２０は、第１遅延回路４３０によって定まる遅延時間（時刻Ｔ７〜Ｔ９）の間、２回目の起動信号ＴＤＥＣを”Ｈｉｇｈ”レベルにセットして保持する。２回目のフィードバック信号ＢＡＣＫは、２回目の起動信号ＴＤＥＣが”Ｌｏｗ”レベルにリセットされてから第１遅延回路４３０によって定まる遅延時間経過後、”Ｈｉｇｈ”レベルに遷移する。
【００４７】
時刻Ｔ１０において、遅延フィードバック信号ＢＡＣＫＤＬＹは、フィードバック信号が”Ｈｉｇｈ”レベルに遷移したことに応じて再び”Ｈｉｇｈ”レベルに遷移する。
【００４８】
時刻Ｔ１１において、第２パルス信号生成回路４５０は、遅延フィードバック信号ＢＡＣＫＤＬＹが”Ｈｉｇｈ”レベルに遷移したことに応じて、第２パルス信号ＣＬＫＰ２を生成しない。その理由は、時刻Ｔ１１において、制御信号ＢＵＲＳＴＮが”Ｌｏｗ”レベルにリセットされているためである。より具体的には、ＮＡＮＤゲート４５２は、リセットされた制御信号ＢＵＲＳＴＮの入力を受け付けている状態において、常に”Ｈｉｇｈ”レベルの信号を出力する。そのため、制御信号ＢＵＲＳＴＮがリセットされた状態において、インバータ４５４を介したＮＯＲゲート４５５の一端には、常に”Ｈｉｇｈ”レベルの信号が入力される。この場合、ＮＯＲゲート４５５は、遅延フィードバック信号ＢＡＣＫＤＬＹのレベルに関わらず、第２パルス信号ＣＬＫＰ２を生成しない。
【００４９】
内部クロック生成回路４００は、クロック信号ＣＬＫの１周期の間に生成した２つの起動信号ＴＤＥＣをデコード回路４に出力する。デコード回路４は、入力された起動信号ＴＤＥＣに従うタイミングで、アドレスラッチ回路６から入力されたアドレス信号をデコードした選択制御信号を列選択回路１４に出力する。ワード線駆動回路５は、入力された選択制御信号Ｘ０〜Ｘｉに従い、複数のワード線のうち、一のワード線を駆動（活性化）する。
【００５０】
上記によれば、内部クロック生成回路４００は、クロック発生回路が生成するクロック信号の立下り（ネガエッジ）を利用することなく、２回目の起動信号ＴＤＥＣを生成できる。また、内部クロック生成回路４００は、ＡポートおよびＢポートのうち１方のポートに対応する動作が終わったタイミング（例えば、１回目の起動信号ＴＤＥＣがリセットされた時刻Ｔ４）に合わせて、他方のポートに対応する動作を制御するための２回目の起動信号ＴＤＥＣを生成できる。そのため、例えば、データ入出力回路１３においてリード動作に１ｎｓｅｃ、ライト動作に０．５ｎｓｅｃそれぞれ要する場合、内部クロック生成回路４００は、クロック信号ＣＬＫ１周期を約１．５ｎｓｅｃに設定し得る。このように、内部クロック生成回路４００は、起動信号ＴＤＥＣが生成される周波数、すなわち、メモリユニット２０の動作周波数を従来よりも高くし得る。
【００５１】
また、一般的に、メモリユニット２０は製造プロセスや動作環境（例えば、温度）によって、動作速度がばらつく。この点について、内部クロック生成回路４００は、ＡポートおよびＢポートのうち１方のポートに対応する動作が終わったタイミングに追随するように２回目の起動信号ＴＤＥＣを生成するため、メモリユニット２０の動作速度のばらつきに対応して２回目の起動信号ＴＤＥＣを生成できる。そのため、内部クロック生成回路４００は、予測される最低の動作速度に合わせて２回目の起動信号ＴＤＥＣを生成する必要がなく、メモリユニット２０の動作周波数を従来よりも高くし得る。
【００５２】
また、パルス信号生成部４０２は、第２ラッチ回路４６０の作用により、クロック信号ＣＬＫの１周期において、３回目のパルス信号（２回目の第２パルス信号ＣＬＫＰ２）を生成しない。これにより、内部クロック生成回路４００は、既に実行したＡポートまたはＢポートに対応する動作を再び実行するといった無駄な動作を抑制できる。その結果、メモリユニット２０は無駄な動作を行なうための消費電力を抑制できる。
【００５３】
また、メモリユニット２０は、内部クロック生成回路４００が生成する起動信号ＴＤＥＣによって動作する。そのため、クロック発生回路は、クロック周波数を抑えることができる。その結果、半導体装置３０は、クロック発生回路の消費電力を抑制し得る。加えて、半導体装置３０は、クロック発生回路で生じ得るクロックジッター（ゆらぎ）を抑制し得る。
【００５４】
また、電源投入直後の第２ラッチ回路４６０の状態によらず、時刻Ｔ２において第１パルス信号ＣＬＫＰによって第２ラッチ回路４６０は必ず初期化されるので、電源投入直後のパワーオンリセット信号が不要という利点がある。
【００５５】
（アドレス制御回路１０の構成および動作）
次に、上記の内部クロック生成回路４００が生成する起動信号ＴＤＥＣを利用して動作するアドレス制御回路１０について説明する。
【００５６】
図６は、アドレス制御回路１０の構成例を示す回路図である。アドレス制御回路１０は、アドレスラッチ回路６と、デコード回路４と、ワード線駆動回路５とを備える。アドレスラッチ回路６は、アドレスラッチ回路１と、アドレスラッチ回路２と、トランスファ回路３とを含む。
【００５７】
アドレス制御回路１０は、２つのポート（ＡポートとＢポート）から２系統のアドレス信号ＡＡとＡＢとが入力され、これらアドレス信号に応じたワード線ＷＬ＿ＡＡとＷＬ＿ＡＢとを活性化する。なお、図６に示される例において、アドレス信号ＡＡとＡＢは複数ビットで構成されるが、それぞれ１ビット分の回路のみが示されている。
【００５８】
アドレスラッチ回路１，２は、制御回路１１から入力されるアドレスラッチ制御信号ＣＰＣＴＬに同期して、アドレス信号ＡＡ，ＡＢをそれぞれラッチする。
【００５９】
トランスファ回路３は、図６に示されるように１つのクロックドインバータと２つのインバータとによって構成され得る。トランスファ回路３は、制御回路１１から入力される選択信号ＳＥＬに基づいて、アドレス信号ＡＡをアドレスラッチ回路１に供給する。
【００６０】
デコード回路４は、制御回路１１から入力される起動信号ＴＤＥＣに従うタイミングで、入力された内部アドレス信号ＬＴＡをデコードして複数のワード線のうち１のワード線を選択する。ワード線駆動回路５は、制御回路１１から入力される起動信号ＴＤＥＣに従うタイミングで、デコード回路４によって選択されたワード線を駆動する。なお、他の局面において、制御回路１１は、ワード線駆動回路５に対して、起動信号ＴＤＥＣに替えて、起動信号ＴＤＥＣを若干遅延させた信号を入力し得る。
【００６１】
図７は、図６に示されるアドレス制御回路１０、および制御回路１１の動作を説明するタイミングチャートである。図７に示される例において、Ａポートが書き込み用のポート、Ｂポートが読出し用のポートであって、リード動作の後にライト動作が行なわれる。
【００６２】
時刻Ｔ２０において、クロック信号ＣＬＫが立ち上がる。これに伴いアドレスラッチ制御信号ＣＰＣＴＬが活性化されて、アドレス信号ＡＡとＡＢとがアドレスラッチ回路１と２とにそれぞれラッチされる。
【００６３】
時刻Ｔ２１において、１回目の起動信号ＴＤＥＣが”Ｈｉｇｈ”レベルにセットされる。このとき、選択信号ＳＥＬはＬｏｗレベルであるので、トランスファ回路３は閉じている。そのため、内部アドレス信号ＬＴＡにはＢポート側のアドレス信号ＡＢが出力されている。これにより、デコード回路４は、アドレス信号ＡＢが示すアドレスに対応するワード線ＷＬ＿ＡＢを選択する。ワード線駆動回路５は、起動信号ＴＤＥＣに同期して選択されたワード線ＷＬ＿ＡＢを駆動（活性化）する。制御回路１１は、ワード線ＷＬ＿ＡＢが駆動されている期間の終わり間近に、センスイネーブル信号ＳＥを活性化する。これにより、センスアンプ１６は、ビット線に蓄えられる電荷が最大になるタイミングで、対象のメモリセルからデータの読み出しを実行し得る。
【００６４】
時刻Ｔ２２において、１回目の起動信号ＴＤＥＣがリセットされることにより、ワード線ＷＬ＿ＡＢが非活性化される。
【００６５】
時刻Ｔ２３において、選択信号ＳＥＬがＨｉｇｈレベルに遷移される。これによりトランスファ回路３はＡポート側のアドレス信号ＡＡをアドレスラッチ回路１に供給する。そのため、内部アドレス信号ＬＴＡにはＡポート側のアドレス信号ＡＡが出力される。これにより、デコード回路４は、アドレス信号ＡＡに対応するアドレスのワード線ＷＬ＿ＡＡを選択する。またＡポート側のアドレス信号ＡＡがアドレスラッチ回路１に伝搬次第、選択信号ＳＥＬはＬｏｗレベルに遷移してよい。
【００６６】
時刻Ｔ２４において、２回目の起動信号ＴＤＥＣが”Ｈｉｇｈ”レベルにセットされる。これにより、ワード線駆動回路５は、起動信号ＴＤＥＣに同期して選択されたワード線ＷＬ＿ＡＡを駆動する。制御回路１１は、ワード線ＷＬ＿ＡＡが駆動されている期間に同期して、ライトイネーブル信号ＷＥを活性化する。これにより、書き込み駆動回路１５は、入出力バッファ１７に保持されるＢポート用の書き込みデータを、列選択回路１４に出力する。列選択回路１４は、デコード回路４から入力された列の選択制御信号に従うビット線対を駆動して、Ｂポート用の書き込みデータを対象のメモリセルに書き込む。
【００６７】
時刻Ｔ２５において、２回目の起動信号ＴＤＥＣがリセットされることにより、ワード線ＷＬ＿ＡＡが非活性化される。
【００６８】
時刻Ｔ２６において、アドレスラッチ制御信号ＣＰＣＴＬが非活性化され、アドレスラッチ回路１および２はスルー状態に戻る。
【００６９】
上記によれば、メモリユニット２０は、クロック信号ＣＬＫの１周期の間に、内部クロック生成回路４００が生成する２つの起動信号ＴＤＥＣに従い、リード動作およびライト動作を実行できる。
【００７０】
［実施形態２］
上記の実施形態では、２ポート（ＡポートとＢポート）を備えるメモリユニット２０において、クロック信号ＣＬＫの１周期の間に起動信号ＴＤＥＣを２回生成するための内部クロック生成回路４００の構成および動作について説明した。ところで、クロック信号ＣＬＫのクロック周波数を抑制する観点から、Ｎ個（Ｎは３以上の整数）のポートを備えるメモリユニットに対しては、クロック信号ＣＬＫの１周期の間に起動信号ＴＤＥＣをＮ回生成することが好ましい。そこで、以下に一例として、クロック信号ＣＬＫの１周期の間に起動信号ＴＤＥＣを３回生成するための内部クロック生成回路８００について説明する。
【００７１】
図８は、内部クロック生成回路８００の構成例について説明する図である。なお、図４と同一符号を付している部分については同じであるため、その部分についての説明は繰り返さない。
【００７２】
内部クロック生成回路８００は、第２ラッチ回路４６０に替えて第２ラッチ回路８６０を備える点において、図４で説明した内部クロック生成回路４００と相違する。
【００７３】
第２ラッチ回路８６０は、第１フリップフロップ８７０と第２フリップフロップ８８０とを含む。第２フリップフロップ８８０は、内部クロック生成回路８００での信号の伝達経路において、第１フリップフロップ８７０の後段に配置される。
【００７４】
第１フリップフロップ８７０は、２つのインバータ４６１，４６２と、２つのＮＡＮＤゲート４６３，４６４とから構成されるリセットセット型フリップフロップである。第２フリップフロップ８８０は、２個のＮＡＮＤゲート８６３，８６４によって構成されるリセットセット型フリップフロップである。このように、ある局面において、内部クロック生成回路は、クロック信号ＣＬＫの１周期の間に起動信号ＴＤＥＣを生成する回数に応じた数のフリップフロップを有する。
【００７５】
第２ラッチ回路８６０は、第１フリップフロップ８７０と第２フリップフロップ８８０との間に、調整用遅延回路８６１と、ＮＡＮＤゲート８６２とをさらに含む。調整用遅延回路８６１は、第１フリップフロップ８７０の出力信号ＢＵＲＳＴを遅延させてＮＡＮＤゲート８６２の一端に入力する。ＮＡＮＤゲート８６２の他端には、第２パルス信号が入力される。
【００７６】
第２パルス信号生成回路４５０を構成するＮＡＮＤゲート４５１の一端には、第２ラッチ回路８６０が出力する制御信号ＢＵＲＳＴ２Ｎが入力される。出力信号ＢＵＲＳＴ２Ｎは、第２フリップフロップ８８０の出力信号でもある。
【００７７】
図９は、ある実施形態に従う、内部クロック生成回路８００に含まれる各回路の動作について説明するタイミングチャートである。なお、図９の時刻Ｔ３０〜Ｔ４１までの処理は、図４で説明した時刻Ｔ０〜Ｔ１１までの処理と似ているため、相違する点についてのみ説明する。
【００７８】
時刻Ｔ３２において、第２ラッチ回路８６０は、第１パルス信号ＣＬＫＰが入力されたことに従い、第２パルス信号生成回路４５０に出力する制御信号ＢＵＲＳＴ２Ｎを”Ｈｉｇｈ”レベルにセットして保持する。このとき、第１フリップフロップ８７０の出力信号ＢＵＲＳＴは”Ｌｏｗ”レベルに遷移する。
【００７９】
時刻Ｔ３６〜Ｔ３７の間、１回目の第２パルス信号ＣＬＫＰ２が生成される。このとき、ＮＡＮＤゲート８６２の一端には１回目の第２パルス信号ＣＬＫＰ２（”Ｈｉｇｈ”レベルの信号）が入力され、他端には、調整用遅延回路８６１の作用により”Ｌｏｗ”レベルの出力信号ＢＵＲＳＴが入力される。したがって、ＮＡＮＤゲート８６２は、１回目の第２パルス信号ＣＬＫＰ２が生成された場合であっても、第２フリップフロップ８８０を構成するＮＡＮＤゲート８６４に対して”Ｈｉｇｈ”レベルの信号を出力する。そのため、第２ラッチ回路８６０は、１回目の第２パルス信号ＣＬＫＰ２を入力されても、制御信号ＢＵＲＳＴ２Ｎをセットされた状態に維持する。
【００８０】
時刻Ｔ４０において、フィードバック信号ＢＡＣＫが”Ｈｉｇｈ”レベルに遷移する。第２パルス信号生成回路４５０は、”Ｈｉｇｈ”レベルにセットされた制御信号ＢＵＲＳＴ２Ｎの入力を受け付けているため、フィードバック信号ＢＡＣＫが”Ｈｉｇｈ”レベルに遷移したことに応じて、時刻Ｔ４１において２回目の第２パルス信号ＣＬＫＰ２を生成する。
【００８１】
時刻４２において、第２ラッチ回路８６０は、２回目の第２パルス信号ＣＬＫＰ２の入力に従い、第２パルス信号生成回路４５０に出力する制御信号ＢＵＲＳＴ２Ｎをリセットする。より具体的には、第２ラッチ回路８６０を構成するＮＡＮＤゲート８６２の一端には２回目の第２パルス信号ＣＬＫＰ２（”Ｈｉｇｈ”レベル）が入力され、他端には”Ｈｉｇｈ”レベルの出力信号ＢＵＲＳＴが入力される。そのため、ＮＡＮＤゲート８６２は、”Ｌｏｗ”レベルの信号を出力する。これにより、第２フリップフロップ８８０の出力する制御信号ＢＵＲＳＴ２Ｎは、”Ｌｏｗ”レベルにリセットされる。
【００８２】
上記のように、第２ラッチ回路８６０は、第２パルス信号ＣＬＫＰ２を２回入力されることにより、制御信号ＢＵＲＳＴ２Ｎをリセットするように構成される。
【００８３】
時刻Ｔ４２〜Ｔ４５における起動信号ＴＤＥＣおよびフィードバック信号ＢＡＣＫの挙動については、図５で説明した時刻Ｔ２〜Ｔ５における起動信号ＴＤＥＣおよびフィードバック信号ＢＡＣＫの挙動と同じであるため、その説明は繰り返さない。
【００８４】
時刻Ｔ４６において、第２パルス信号生成回路４５０は、フィードバック信号ＢＡＣＫが”Ｈｉｇｈ”レベルに遷移したことに応じて、第２パルス信号ＣＬＫＰ２を生成しない。その理由は、時刻Ｔ４６において、制御信号ＢＵＲＳＴ２Ｎが”Ｌｏｗ”レベルにリセットされているためである。より具体的には、ＮＡＮＤゲート４５２は、リセットされた制御信号ＢＵＲＳＴ２Ｎの入力を受け付けている状態において、常に”Ｈｉｇｈ”レベルの信号を出力する。そのため、制御信号ＢＵＲＳＴ２Ｎがリセットされた状態において、インバータ４５４を介したＮＯＲゲート４５５の一端には、常に”Ｈｉｇｈ”レベルの信号が入力される。この場合、ＮＯＲゲート４５５は、遅延フィードバック信号ＢＡＣＫＤＬＹのレベルに関わらず、第２パルス信号ＣＬＫＰ２を生成しない。
【００８５】
上記によれば、内部クロック生成回路８００は、クロック信号ＣＬＫの１周期の間に、起動信号ＴＤＥＣを３回生成することができる。
【００８６】
また、第２ラッチ回路８６０は、内部クロック生成回路８００が起動信号ＴＤＥＣを生成する回数に応じた数（例えば、起動信号ＴＤＥＣが生成される回数から１を減算した数）のフリップフロップを有するように構成される。このような第２ラッチ回路８６０の作用によって、パルス信号生成部４０２は、クロック信号ＣＬＫの１周期において、４回目のパルス信号（３回目の第２パルス信号ＣＬＫＰ２）を生成しない。これにより、内部クロック生成回路８００は、既に実行した３ポートに対応する動作を再び実行するといった無駄な動作を抑制できる。その結果、内部クロック生成回路８００を搭載するメモリユニットは無駄な動作を行なうための消費電力を抑制できる。
【００８７】
なお、上記では一例として起動信号ＴＤＥＣを３回生成する場合について説明したが、内部クロック生成回路は、第２ラッチ回路を構成するフリップフロップの数を増やすことによって起動信号ＴＤＥＣを４回以上生成し得る。
【００８８】
［実施形態３］
上記の実施形態において、メモリユニットを構成するメモリセルＭＣがシングルポートＳＲＡＭセルであって、メモリユニットは起動信号ＴＤＥＣに従いクロック信号ＣＬＫの１周期の間に複数回動作することにより、疑似的にマルチポートメモリとして動作する。これは、物理的な１ポートメモリを疑似的にマルチポートメモリとして機能させる技術である。そのため、この技術を物理的なマルチポートメモリに対して用いることにより、各物理ポートをそれぞれ疑似的にマルチポートとして扱うことができる。
【００８９】
図１０は、疑似２ポートを含むマルチポートメモリ１０００の構成例を示す、ブロック図である。なお、図１と同一符号を付している部分については同じであるため、その部分についての説明は繰り返さない。
【００９０】
マルチポートメモリ１０００は、２ポートのメモリアレイ１２Ｘ、アドレス制御回路１０Ｄ（ＡＤＲＣＴＲＬＤ）と１０Ｓ（ＡＤＲＣＴＲＬＳ）、データ入出力回路１３Ｄ（ＩＯＤ）と１３Ｓ（ＩＯＳ）、および制御回路（ＣＴＲＬ）１１Ｘを備える。
【００９１】
メモリアレイ１２Ｘは物理的に２ポートの信号伝達経路を有する。ある局面において、メモリアレイ１２Ｘを構成する複数のメモリセルの各々には、ワード線ＷＬＤおよびＷＬＳ、ビット線対ＢＬＳ／ＺＢＬＳおよびＢＬＤ／ＺＢＬＤがそれぞれ接続される。なお、図１０に示される例において、ワード線ＷＬＤ，ＷＬＳ、およびビット線対ＢＬＳ／ＺＢＬＳ，ＢＬＤ／ＺＢＬＤはそれぞれ１本ずつしか描写されていないが、実際には各メモリセルに対して異なる２本のワード線と、２つのビット線対とが接続される。
【００９２】
ある実施形態において、ワード線ＷＬＤおよびビット線対ＢＬＤ／ＺＢＬＤはそれぞれ疑似２ポートのデータを伝達するように構成される。一方、ワード線ＷＬＳおよびビット線対ＢＬＳ／ＺＢＬＳはそれぞれシングルポートのデータを伝達するように構成される。
【００９３】
ワード線ＷＬＤには、アドレス制御回路１０Ｄが接続され、ビット線対ＢＬＤ／ＺＢＬＤにはデータ入出力回路１３Ｄが接続される。ワード線ＷＬＳには、アドレス制御回路１０Ｓが接続され、ビット線対ＢＬＳ／ＺＢＬＳにはデータ入出力回路１３Ｓが接続される。
【００９４】
アドレス制御回路１０Ｄには、アドレス信号ＡＡ並びにＡＢ、クロック信号ＣＬＫＤ、およびチップイネーブル信号ＣＥＤ（ＣＥＮＡ，ＣＥＮＢを含む）が入力される。一方、アドレス制御回路１０Ｓには、アドレス信号ＡＣ、クロック信号ＣＬＫＳ、およびチップイネーブル信号ＣＥＳが入力される。
【００９５】
アドレス制御回路１０Ｄは、図１および図６に示したアドレス制御回路１０と同じ構成であり、ラッチ回路（ＡＤＲＬＡＴＣＨＤ）６Ｄとデコード回路（ＡＤＲＤＥＣＤ）４Ｄとワード線駆動回路（ＷＤＤ）５Ｄとを備える。データ入出力回路１３Ｄは図１に示したデータ入出力回路１３と同様である。制御回路１１Ｘは、入力されるクロック信号ＣＬＫＤとチップイネーブル信号ＣＥＤとに基づいて、各種の制御信号ＣＰＣＴＬＤ、ＳＥＬＤ、ＴＤＥＣＤ、ＣＰＡＤ、ＷＥＤ、ＳＥＤ等を生成して、アドレス制御回路１０Ｄとデータ入出力回路１３Ｄに供給する。
【００９６】
アドレス制御回路１０Ｓは、通常のシングルポートメモリ用のアドレス制御回路と同じ構成である。アドレス制御回路１０Ｓは、ラッチ回路（ＡＤＲＬＡＴＣＨＳ）６Ｓ、デコード回路（ＡＤＲＤＥＣＳ）４Ｓ、およびワード線駆動回路（ＷＤＳ）５Ｓを備える。アドレス制御回路１０Ｓは、入力されるアドレス信号ＡＣに対応するワード線ＷＬＳを駆動する。データ入出力回路１３Ｓは、通常のシングルポートメモリ用のデータ入出力回路と同じ構成である。制御回路１１Ｘは、入力されるクロック信号ＣＬＫＳとチップイネーブル信号ＣＥＳとに基づいて、各種の制御信号ＣＰＣＴＬＳ、ＴＤＥＣＳ、ＣＰＡＳ、ＷＥＳ、ＳＥＳ等を生成して、アドレス制御回路１０Ｓとデータ入出力回路１３Ｓに供給する。
【００９７】
このように、メモリユニット１０００は、疑似２ポートのデータを取り扱うための回路と、シングルポートのデータを取り扱うための回路とをそれぞれ独立して有する。そのため、メモリユニット１０００は、２つの物理的なポートのデータを取り扱うための動作を非同期で実行し得る。
【００９８】
なお、上記の例においてメモリユニットは２つの物理的なポートのうち一方だけを疑似２ポートとして取り扱う構成であるが、他の局面において、両方のポートをマルチポートとして取り扱うように構成されてもよい。また、３ポート以上のマルチポートについても同様である。
【００９９】
メモリアレイ１２Ｘを構成するメモリセルは、種々のマルチポートメモリセルによって実現され得る。図１１および１２を用いてマルチポートメモリセルの構成について説明する。
【０１００】
図１１は、デュアルポートのＳＲＡＭメモリセルの構成例を示す回路図である。図１１に示されるメモリセルＭＣ１は、図２に示したシングルポートのメモリセルＭＣに比して、２個のＮチャネルＭＯＳトランジスタＭＮ５およびＭＮ６をさらに備える。ＮチャネルＭＯＳトランジスタＭＮ３およびＭＮ４には、疑似２ポートのデータを伝達するためのワード線ＷＬＤおよびビット線対ＢＬＤ／ＺＢＬＤが接続される。ＮチャネルＭＯＳトランジスタＭＮ５とＭＮ６には、シングルポートのデータを伝達するためのワード線ＷＬＳおよびビット線対ＢＬＳ／ＺＢＬＳが接続される。２つのポートは互いに独立しており、非同期での読み出しと書き込みが可能である。ただし、同じメモリセルに対して書き込みどうしが競合し、或いは書き込みと読み出しが競合する場合には、公知の技術による調停が必要である。
【０１０１】
図１２は、他のデュアルポートのＳＲＡＭメモリセルの構成例を示す回路図である。図１２に示されるメモリセルＭＣ２は、図２に示したシングルポートのメモリセルＭＣに比して、２個のＮチャネルＭＯＳトランジスタＭＮ５およびＭＮ６をさらに備える。ＮチャネルＭＯＳトランジスタＭＮ３とＭＮ４には、疑似２ポートのデータを伝達するためのワード線ＷＬＤおよびビット線対ＢＬＤ／ＺＢＬＤが接続される。ＮチャネルＭＯＳトランジスタＭＮ５のゲートは、トランジスタＭＮ２およびＭＰ２によって構成されるＣＭＯＳインバータ回路の入力に接続される。ＮチャネルＭＯＳトランジスタＭＮ６のゲートは、ワード線ＷＬＳに接続される。ＮチャネルＭＯＳトランジスタＭＮ６のソースおよびドレインの一方はビット線ＢＬＳに接続される。ＮチャネルＭＯＳトランジスタＭＮ６のソースおよびドレインの他方は、ＮチャネルＭＯＳトランジスタＭＮ５のドレインに接続される。図１２に示される例において、ワード線ＷＬＳおよびビット線ＢＬＳに対応するポートは、読出し専用のポートであり得る。なお、この場合には、データ入出力回路１３Ｓもこれに応じて変更される必要がある。
【０１０２】
上記によれば、物理的なマルチポートメモリを用いる場合であっても、各物理ポートそれぞれを疑似的にマルチポートとして扱うことができる。これにより、マルチポートメモリのポート数を多数のポートに拡張できる。
【０１０３】
［実施形態４］
これまで構成例としては、擬似２ポートＳＲＡＭ（Ａポートが書き込み用のポート、Ｂポートが読出し用のポート）を示したが、もちろんそれぞれのポートが書き込み・読み出しポートである擬似デュアルポートＳＲＡＭも実現可能である。その場合のセンスアンプ１６の構成を説明する。
【０１０４】
図１３は擬似デュアルポートＳＲＡＭのセンスアンプの構成例である。センスアンプ１６は、データ増幅用のクロスカップル回路１３１０、Ａポート用のデータラッチ回路１３２０、Ｂポート用のデータラッチ回路１３３０、センスイネーブル信号制御回路１３４０から構成される。
【０１０５】
コモンビット線ＣＴＲ／ＣＢＲの電位差がクロスカップル回路１３１０によって増幅され、それぞれのデータラッチ回路１３２０、１３３０に読み出されたデータが格納される。
【０１０６】
例えば１回目の起動信号ＴＤＥＣの活性化時にＡポート側のセンスイネーブル信号ＳＡＥＡが活性化されＡポートのデータラッチ回路１３２０にデータが格納され、ＱＡに出力される。次に２回目の起動信号ＴＤＥＣの活性化時にＢポート側のセンスイネーブル信号ＳＡＥＢが活性化されＢポートのデータラッチ回路１３３０にデータが格納されＱＢに出力される。
【０１０７】
上記によれば、センスアンプ１６は、クロック信号ＣＬＫの１周期の間に、内部クロック生成回路４００が生成する２つの起動信号ＴＤＥＣに従い、連続してリード動作を実行できる。
【０１０８】
以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明者は前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【０１０９】
例えば、明細書本文および図面に示した信号線や回路の正論理と負論理との使い分け、および回路構成は、一例を示しているに過ぎず、同様の機能を実現する他の信号、他の回路に任意に変更され得る。
【０１１０】
［構成］
（構成１）
ある実施形態に従うマルチポートメモリ（２０）は、複数のメモリセルと複数のワード線とを含むメモリアレイ（１２）と、入力されるクロック信号に基づいて起動信号を生成するための制御回路（４００）と、複数のポートを含み、起動信号に従うタイミングで、複数のポートから入力される複数のアドレス信号のうち一のアドレス信号をデコードして、複数のワード線のうち一のワード線を活性化するためのアドレス制御回路（１０）と、アドレス制御回路からの出力に基づいて、活性化されたワード線に接続されるメモリセルのうち一のメモリセルを選択してデータの書き込みまたは読み出しを行なうためのデータ入出力回路（１３）とを備える。制御回路は、パルス信号を生成するパルス信号生成部（４０２）と、パルス信号生成部の出力に従って起動信号を生成する起動信号生成部（４０４）と、起動信号を遅延する遅延信号を生成する遅延回路（４３０）とを含む。パルス信号生成部は、クロック信号の入力に従って第１パルス信号（ＣＬＫＰ）を生成する第１パルス信号生成回路（４１０）を含む。起動信号生成部は、第１パルス信号の生成に従って第１起動信号（１回目のＴＤＥＣ）を第１状態にセットして保持し、遅延回路による第１起動信号を遅延した第１遅延信号（ＢＡＣＫ）に従って第１起動信号を第２状態にリセットする第１ラッチ回路（４２０）を含む。パルス信号生成部は、第１遅延信号の入力に従って第２パルス信号（ＣＬＫＰ２）を生成する第２パルス信号生成回路（４５０）をさらに含む。第１ラッチ回路は、第２パルス信号の生成に従って第２起動信号（２回目のＴＤＥＣ）を第１状態にセットして保持し、遅延回路による第２起動信号の第２遅延信号に従って第２起動信号を第２状態にリセットする。
【０１１１】
これにより、マルチポートメモリは、クロック信号の立上りと立下りのうち一方だけを利用して、クロック信号１周期の間に起動信号（内部クロック）を２回以上生成することができる。これにより、このマルチポートメモリは、ある動作（ライト／リード）が終わるとすぐに次の動作を行なうことができる。したがって、このマルチポートメモリは、従来よりも動作周波数を高くし得る。
【０１１２】
（構成２）
（構成１）において、制御回路は、第１パルス信号に従って制御信号を第３状態にセットして保持し、第２パルス信号に従って制御信号を第４状態にリセットする第２ラッチ回路（４６０）をさらに含む。第２パルス信号生成回路は、第３状態にセットされている制御信号の入力を受け付けている状態において、第２遅延信号の入力に従って、第２パルス信号をさらに生成するように構成される。
【０１１３】
これにより、マルチポートメモリは、クロック信号１周期の間に、目的とする回数だけ起動信号を生成することができる。そのため、このマルチポートメモリは、既に実行した動作を再び実行するといった無駄な動作を抑制することにより、消費電力を抑制し得る。
【０１１４】
（構成３）
（構成２）において、第２ラッチ回路は、第２パルス信号を予め定められた回数入力されることにより制御信号を第４状態にリセットし、予め定められた回数に応じた数のフリップフロップを有する。
【０１１５】
（構成４）
（構成３）において、予め定められた回数は２以上である。２ラッチ回路は、第１フリップフロップと、制御回路での信号の伝達経路において第１フリップフロップ（８７０）の後段に配置される第２フリップフロップ（８８０）と、第１フリップフロップと第２フリップフロップとの間に配置され、第１フリップフロップの出力を遅延させて第２フリップフロップに入力させる調整用遅延回路（８６１）とを含む。
【０１１６】
（構成５）
（構成１）において、メモリセルは、第１および第２ワード線に接続される。アドレス制御回路は第１アドレス制御回路（１０Ｄ）である。第１アドレス制御回路は、起動信号に従うタイミングで第１ワード線（ＷＬＤ）を活性化するように構成される。少なくとも１つのポートを含み、少なくとも１つのポートから入力されるアドレス信号のうち一のアドレス信号をデコードして、第２ワード線（ＷＬＳ）を活性化するための第２アドレス制御回路（１０Ｓ）をさらに備える。
【０１１７】
（構成６）
（構成１）において、アドレス制御回路（１０）は、少なくとも第１および第２ポートを含み、第１ポートから第１アドレス信号（ＡＡ）が入力され、第２ポートから第２アドレス信号（ＡＢ）が入力されるように構成される。第１アドレス信号をラッチするための第１アドレスラッチ回路（１）と、第２アドレス信号をラッチするための第２アドレスラッチ回路（２）と、第１アドレスラッチ回路が出力する第１アドレス信号、および第２アドレスラッチ回路が出力する第２アドレス信号のうちいずれか１方の信号を選択して出力するための選択回路（３）と、選択回路によって選択された信号をデコードして複数のワード線のうち一のワード線を選択するためのデコード回路（４）と、デコード回路によって選択された一のワード線を活性化するためのワード線駆動回路（５）とを含む。
【符号の説明】
【０１１８】
１，２，６  アドレスラッチ回路、３  選択回路、４  デコード回路、５  ワード線駆動回路、１０，１０Ｄ，１０Ｓ  アドレス制御回路、１１，１１Ｘ  制御回路、１２，１２Ｘ  メモリアレイ、１３，１３Ｄ，１３Ｓ  データ入出力回路、１４  列選択回路、１５  書き込み駆動回路、１６  センスアンプ、１７  入出力バッファ、２０，１０００  メモリユニット、３０  半導体装置、４００，８００  内部クロック生成回路、４０２  パルス信号生成部、４０４  起動信号生成部、４１０  第１パルス信号生成回路、４２０  第１ラッチ回路、４３０  第１遅延回路、４４０  第２遅延回路、４５０  第２パルス信号生成回路、４６０，８６０  第２ラッチ回路、８６１  調整用遅延回路、８７０  第１フリップフロップ、８８０  第２フリップフロップ、１３１０  クロスカップル回路、１３２０，１３３０  データラッチ回路、１３４０  センスイネーブル信号制御回路、ＢＡＣＫ  フィードバック信号、ＢＡＣＫＤＬＹ  遅延フィードバック信号、ＢＵＲＳＴ，ＢＵＲＳＴ２Ｎ  制御信号、ＣＬＫＰ  第１パルス信号、ＣＬＫＰ２  第２パルス信号、ＴＤＥＣ  起動信号。
【図１】
2018073440.tif 000003
【図２】
2018073440.tif 000004
【図３】
2018073440.tif 000005
【図４】
2018073440.tif 000006
【図５】
2018073440.tif 000007
【図６】
2018073440.tif 000008
【図７】
2018073440.tif 000009
【図８】
2018073440.tif 000010
【図９】
2018073440.tif 000011
【図１０】
2018073440.tif 000012
【図１１】
2018073440.tif 000013
【図１２】
2018073440.tif 000014
【図１３】
2018073440.tif 000015