トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 マルチポートメモリ装置
【発明者】 【氏名】豊村 浩一

【氏名】浜崎 岳史

【氏名】矢野 修志

【要約】 【課題】簡単な構成で複雑な調停手段をもたずに、多くのポート数を確保し、かつ消費電力を抑える。

【解決手段】シーケンス動作の1周期内における系統毎のDRAM4へのアクセスタイミングおよびアクセス順は、固定であるとし、シリアル−パラレル変換回路1a,1bは書き込み要求タイミングに同期してシリアル−パラレル変換を行い、ライトバッファ2a,2bは、シーケンスに同期してシリアル−パラレル変換回路1a,1bの出力信号を一時記憶し、リードバッファ5a,5bはシーケンスに同期してDRAM4から読み出されたデータを一時記憶し、パラレル−シリアル変換回路6a,6bはパラレルデータをシリアルデータに変換し、遅延調整回路7a,7bは、読み出し要求タイミングに合致するようにデータを遅延する。また、動作クロックを系統毎に別々に供給し、停止中の系統には動作クロックを供給しない。
【特許請求の範囲】
【請求項1】 入力系統別にシリアルデータを所定のデータ数毎にシリアル−パラレル変換する複数のシリアル−パラレル変換手段と、前記複数のシリアル−パラレル変換手段の出力を一時記憶するライトバッファと、前記ライトバッファの出力の一部を選択して出力するライトデータ選択出力手段と、前記ライトデータ選択出力手段の出力が書き込まれるメモリと、前記メモリから読み出されたデータを一時記憶するリードバッファと、前記リードバッファの出力を出力系統別にパラレル−シリアル変換する1または複数のパラレル−シリアル変換手段と、前記1または複数のパラレル−シリアル変換手段の出力を遅延する1または複数の遅延調整手段と、前記メモリの書き込み・読み出しおよびアドレス制御を行うメモリ制御手段と、前記ライトバッファ、前記ライトデータ選択出力手段、前記リードバッファ、前記メモリ制御手段の各々の動作の制御シーケンスを発生するシーケンス発生手段と、前記複数のシリアル−パラレル変換手段、前記ライトバッファ、前記メモリ、前記リードバッファ、前記1または複数のパラレル−シリアル変換手段、前記1または複数の遅延調整手段、前記メモリ制御手段、前記シーケンス発生手段に対して動作に必要なクロックを供給するクロック発生手段とを備え、前記シーケンス発生手段で発生する制御シーケンスは所定の周期を有し、前記制御シーケンスの1周期内における各入出力系統の前記メモリへのアクセスタイミングおよびアクセス順は固定であるとし、前記シリアル−パラレル変換手段は外部からの書き込み要求タイミングに同期してシリアル−パラレル変換を行い、前記ライトバッファは前記シーケンス発生手段の出力する制御シーケンスの位相に同期して前記シリアル−パラレル変換手段の出力を一時記憶し、前記リードバッファは前記シーケンス発生手段の出力する制御シーケンスの位相に同期して前記メモリから読み出されたデータを一時記憶し、前記遅延調整手段は外部からの読み出し要求タイミングと前記制御シーケンスの位相の差に基いて前記パラレル−シリアル変換手段の出力を前記外部からの読み出し要求タイミングと合致するように遅延し、前記クロック発生手段は、前記シリアル−パラレル変換手段、前記ライトバッファ、前記リードバッファ、前記パラレル−シリアル変換手段、前記遅延調整手段に対して、入出力系統別に動作クロックを供給し、前記メモリ、前記メモリコントローラ、前記シーケンス発生手段へはさらに別の共通クロックを供給し、未使用ポートは入出力系統別に供給した前記動作クロックを停止し、すべてのポートを未使用時は、前記共通クロックも停止することを特徴とするマルチポートメモリ装置。
【請求項2】 シリアルデータを所定のデータ数毎にシリアル−パラレル変換するシリアル−パラレル変換手段と、前記シリアル−パラレル変換手段の出力を一時記憶するライトバッファと、前記ライトバッファの出力が書き込まれるメモリと、前記メモリから読み出されたデータを一時記憶するリードバッファと、前記リードバッファの出力を出力系統別にパラレル−シリアル変換する1または複数のパラレル−シリアル変換手段と、前記1または複数のパラレル−シリアル変換手段の出力を遅延する1または複数の遅延調整手段と、前記メモリの書き込み・読み出しおよびアドレス制御を行うメモリ制御手段と、前記ライトバッファ、前記リードバッファ、前記メモリ制御手段の各々の動作の制御シーケンスを発生するシーケンス発生手段と、前記複数のシリアル−パラレル変換手段、前記ライトバッファ、前記メモリ、前記リードバッファ、前記1または複数のパラレル−シリアル変換手段、前記1または複数の遅延調整手段、前記メモリ制御手段、前記シーケンス発生手段に対して動作に必要なクロックを供給するクロック発生手段とを備え、前記シーケンス発生手段で発生する制御シーケンスは所定の周期を有し、前記制御シーケンスの1周期内における入出力系統毎の前記メモリへのアクセスタイミングおよびアクセス順は固定であるとし、前記シリアル−パラレル変換手段は外部からの書き込み要求タイミングに同期してパラレル−シリアル変換を行い、前記ライトバッファは前記シーケンス発生手段の出力する制御シーケンスの位相に同期して前記シリアル−パラレル変換手段の出力を一時記憶し、前記リードバッファは前記シーケンス発生手段の出力する制御シーケンスの位相に同期して前記メモリから読み出されたデータを一時記憶し、前記遅延調整手段は外部からの読み出し要求タイミングと前記制御シーケンスの位相の差に基いて前記パラレル−シリアル変換手段の出力を前記外部からの読み出し要求タイミングと合致するように遅延し、前記クロック発生手段は、前記シリアル−パラレル変換手段、前記ライトバッファ、前記リードバッファ、前記パラレル−シリアル変換手段、前記遅延調整手段に対して、入出力系統別に動作クロックを供給し、前記メモリ、前記メモリコントローラ、前記シーケンス発生手段へはさらに別の共通クロックを供給し、未使用ポートは入出力系統別に供給した前記動作クロックを停止し、すべてのポートを未使用時は、前記共通クロックも停止することを特徴とするマルチポートメモリ装置。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、例えばビデオカメラ等に用いられ、ディジタル信号を記憶させるDRAM等のメモリ装置に関するものである。特に、画像データなど連続するシリアルデータの複数系統の同時書き込み、もしくは同時読み出しが可能なマルチポートメモリ装置に関するものである。
【0002】
【従来の技術】ビデオカメラなどで用いられている画像メモリとしては、一般にVRAMと呼ばれるデュアルポートメモリや、フィールドメモリと呼ばれるFIFO構造のメモリがある。
【0003】
【発明が解決しようとする課題】しかし、高機能化、高画質化などを実現するためには、それらの画像メモリでは、同時アクセス可能なポート数が限られているため、用途によって必要なポート数を確保できないという問題がある。
【0004】この解決策としては、使用する画像メモリの数を増やす方法や、画像メモリの動作周波数をデータの同期周波数の2倍等に高くして、データの書き込み・読み出し部分でレート変換することによりメモリアクセスを高速化して、見かけ上の同時アクセス可能な系統数を増やす方法などが考えられる。
【0005】しかしながら、前者の方法では大型化してしまい、後者の方法は消費電力が増大してしまうなどの問題がある。
【0006】また、3ポート以上のポートを備える画像メモリは、汎用性を高めるため、各ポートと画像メモリの各々の動作クロックを独立に取り扱える反面、ポート間のメモリへのアクセスの調停手段が複雑になり、ポート数を増やすことが困難であった。
【0007】本発明は上記課題を解決し、シングルポートメモリを使って簡単な構成で複雑な調停手段をもたずに、従来より多くのポート数を確保することができるマルチポートメモリ装置を提供することを目的とする。
【0008】
【課題を解決するための手段】上記課題を解決するために、本発明の請求項1記載のマルチポートメモリ装置は、入力系統別にシリアルデータを所定のデータ数毎にシリアル−パラレル変換する複数のシリアル−パラレル変換手段と、複数のシリアル−パラレル変換手段の出力を一時記憶するライトバッファと、ライトバッファの出力の一部を選択して出力するライトデータ選択出力手段と、ライトデータ選択出力手段の出力が書き込まれるメモリと、メモリから読み出されたデータを一時記憶するリードバッファと、リードバッファの出力を出力系統別にパラレル−シリアル変換する1または複数のパラレル−シリアル変換手段と、1または複数のパラレル−シリアル変換手段の出力を遅延する1または複数の遅延調整手段と、メモリの書き込み・読み出しおよびアドレス制御を行うメモリ制御手段と、ライトバッファ、ライトデータ選択出力手段、リードバッファ、メモリ制御手段の各々の動作の制御シーケンスを発生するシーケンス発生手段と、複数のシリアル−パラレル変換手段、ライトバッファ、メモリ、リードバッファ、1または複数のパラレル−シリアル変換手段、1または複数の遅延調整手段、メモリ制御手段、シーケンス発生手段に対して動作に必要なクロックを供給するクロック発生手段とを備えている。
【0009】そして、シーケンス発生手段で発生する制御シーケンスは所定の周期を有し、制御シーケンスの1周期内における各入出力系統のメモリへのアクセスタイミングおよびアクセス順は固定であるとしている。
【0010】また、シリアル−パラレル変換手段は外部からの書き込み要求タイミングに同期してシリアル−パラレル変換を行う。
【0011】また、ライトバッファはシーケンス発生手段の出力する制御シーケンスの位相に同期してシリアル−パラレル変換手段の出力を一時記憶する。
【0012】また、リードバッファはシーケンス発生手段の出力する制御シーケンスの位相に同期してメモリから読み出されたデータを一時記憶する。
【0013】また、遅延調整手段は外部からの読み出し要求タイミングと制御シーケンスの位相の差に基いてパラレル−シリアル変換手段の出力を外部からの読み出し要求タイミングと合致するように遅延する。
【0014】また、クロック発生手段は、シリアル−パラレル変換手段、ライトバッファ、リードバッファ、パラレル−シリアル変換手段、遅延調整手段に対して、入出力系統別に動作クロックを供給し、メモリ、メモリコントローラ、シーケンス発生手段へはさらに別の共通クロックを供給し、未使用ポートは入出力系統別に供給した動作クロックを停止し、すべてのポートを未使用時は、共通クロックも停止する。
【0015】この構成によれば、シーケンス発生手段によってメモリへの入出力系統の各ポートのメモリへのアクセスタイミングの順序を周期的に固定し、入力系統の書き込みデータはこのアクセスタイミングに同期するようライトバッファで一時記憶保持し、出力系統の読み出しデータは固定されたアクセスタイミングで読み出した後遅延調整手段で読み出し要求タイミングに合致するように遅延させることで、従来のようなポート間のメモリへのアクセスの調停を必要とせず、簡単にポート数を増やし、多くの入出力ポートを得ることができる。
【0016】また、系統別に動作クロックを供給しており、使用しない入出力系統毎に関係する回路の動作を停止させることができるため、ポート間の複雑な調停を行う必要なく、簡単な構成で多くのポート数を有するマルチポートメモリ装置を無駄な電力消費を抑えて実現することができる。また、すべての系統が動作を停止したときには、共通クロックも停止するので、無駄な消費電力をさらに抑えることができる。
【0017】本発明の請求項2記載のマルチポートメモリ装置は、シリアルデータを所定のデータ数毎にシリアル−パラレル変換するシリアル−パラレル変換手段と、シリアル−パラレル変換手段の出力を一時記憶するライトバッファと、ライトバッファの出力が書き込まれるメモリと、メモリから読み出されたデータを一時記憶するリードバッファと、リードバッファの出力を出力系統別にパラレル−シリアル変換する1または複数のパラレル−シリアル変換手段と、1または複数のパラレル−シリアル変換手段の出力を遅延する1または複数の遅延調整手段と、メモリの書き込み・読み出しおよびアドレス制御を行うメモリ制御手段と、ライトバッファ、リードバッファ、メモリ制御手段の各々の動作の制御シーケンスを発生するシーケンス発生手段と、複数のシリアル−パラレル変換手段、ライトバッファ、メモリ、リードバッファ、1または複数のパラレル−シリアル変換手段、1または複数の遅延調整手段、メモリ制御手段、シーケンス発生手段に対して動作に必要なクロックを供給するクロック発生手段とを備えている。
【0018】そして、シーケンス発生手段で発生する制御シーケンスは所定の周期を有し、制御シーケンスの1周期内における入出力系統毎のメモリへのアクセスタイミングおよびアクセス順は固定であるとしている。
【0019】また、シリアル−パラレル変換手段は外部からの書き込み要求タイミングに同期してパラレル−シリアル変換を行う。
【0020】また、ライトバッファはシーケンス発生手段の出力する制御シーケンスの位相に同期してシリアル−パラレル変換手段の出力を一時記憶する。
【0021】また、リードバッファはシーケンス発生手段の出力する制御シーケンスの位相に同期してメモリから読み出されたデータを一時記憶する。
【0022】また、遅延調整手段は外部からの読み出し要求タイミングと制御シーケンスの位相の差に基いてパラレル−シリアル変換手段の出力を外部からの読み出し要求タイミングと合致するように遅延する。
【0023】また、クロック発生手段は、シリアル−パラレル変換手段、ライトバッファ、リードバッファ、パラレル−シリアル変換手段、遅延調整手段に対して、入出力系統別に動作クロックを供給し、メモリ、メモリコントローラ、シーケンス発生手段へはさらに別の共通クロックを供給し、未使用ポートは入出力系統別に供給した動作クロックを停止し、すべてのポートを未使用時は、共通クロックも停止する。
【0024】この構成によれば、シーケンス発生手段によってメモリへの入出力系統の各ポートのメモリへのアクセスタイミングの順序を周期的に固定し、入力系統の書き込みデータはこのアクセスタイミングに同期するようライトバッファで一時記憶保持し、出力系統の読み出しデータは固定されたアクセスタイミングで読み出した後遅延調整手段で読み出し要求タイミングに合致するように遅延させることで、従来のようなポート間のメモリへのアクセスの調停を必要とせず、簡単にポート数を増やし、多くの入出力ポートを得ることができる。
【0025】また、系統別に動作クロックを供給しており、使用しない入出力系統毎に関係する回路の動作を停止させることができるため、ポート間の複雑な調停を行う必要なく、簡単な構成で多くのポート数を有するマルチポートメモリ装置を無駄な電力消費を抑えて実現することができる。また、すべての系統が動作を停止したときには、共通クロックも停止するので、無駄な消費電力をさらに抑えることができる。
【0026】
【発明の実施の形態】以下、本発明の実施の形態について、図面を用いて説明する。
【0027】図1は本発明のマルチポートメモリ装置の実施の形態(請求項1に対応)の全体の構成を示すブロック図である。図2から図6までの各図は図1のマルチポートメモリ装置の要部の具体的な構成を示すブロック図である。
【0028】まず、図1から図6までの各図に基づいて、本発明の実施の形態におけるマルチポートメモリ装置の構成を説明する。
【0029】図1では、例として、入出力ポート数4ポート、具体的には入力2ポート(WAポート,WBポート)、出力2ポート(RAポート,RBポート)の4ポートのマルチポートメモリ装置を示している。このマルチポートメモリ装置は、シリアル−パラレル変換を行うシリアル−パラレル変換手段としてのシリアル−パラレル変換回路1a,1bと、データを一時記憶するライトバッファ2a,2bと、ライトデータ選択出力手段としてのセレクタ3a,3b,3cと、メモリとしてのDRAM4と、データを一時記憶するリードバッファ5a,5bと、パラレル−シリアル変換を行うパラレル−シリアル変換手段としてのパラレル−シリアル変換回路6a,6bと、遅延調整手段としての遅延調整回路7a,7bと、メモリ制御手段としてのDRAMコントローラ8と、シーケンス発生手段としてのシーケンス発生回路9と、上記各回路に対して動作クロックを供給するクロック発生手段としてのクロック発生回路10とから構成されている。このマルチポートメモリ装置は、例えばマイクロプロセッサと同じ回路基板上に混載されるものであり、そのデータのビット幅は、128〜256ビット程度と単体のメモリに比べて大きいものである。
【0030】図2から図6までの各図は、図1中のシリアル−パラレル変換回路1a、ライトバッファ2a、リードバッファ5a、パラレル−シリアル変換回路6a、遅延調整回路7aのさらに詳細な構成例を示したブロック図である。
【0031】ここで、入力データWSDA,WSDBは例えばデータ幅12ビットでクロックWACLK,WBCLKに同期した時系列データとしており、また、DRAM4のアクセスデータ幅は例えば120ビットであるとしている。なお、これらのビット幅に限定されるものではない。
【0032】シリアル−パラレル変換回路1aは、図2に示すように、40段のシフトレジスタ10と、外部信号WSTRBAを制御信号としてロード、ホールド動作を行うレジスタ11とから構成されている。これらは、クロックWACLKに従って動作する。そして、この構成によって、12ビットの40個のシリアルの入力データWSDAが480ビットの出力データWPDAに変換されて出力され、ライトバッファ2aへ入力される。
【0033】シリアル−パラレル変換回路1bは、シリアル−パラレル変換回路1aと同様の構成であり、外部信号WSTRBBを制御信号とし、12ビットの入力データWSDBに対して、480ビットの出力データWPDBを出力する。この出力データWPDBはライトバッファ2bへ送られる。
【0034】ライトバッファ2aは、図3に示すように、シーケンス発生回路9からの制御信号であるポート基準信号WACTAによりロード、ホールド制御される480ビットのレジスタ12で構成されており、DRAM4の動作クロックDRAMCLKに同期して動作する。レジスタ12は、図では4個の120ビットのレジスタ12a,12b,12c,12dで構成され、それぞれ120ビット分ずつ保持され、それぞれ120ビットの出力データWDDA0〜WDDA3として出力され、セレクタ3aへ送られる。
【0035】ライトバッファ2bは、ライトバッファ2aと同様の構成であり、シーケンス発生回路9からの制御信号であるポート基準信号WACTBによりロード、ホールド制御され、DRAM4の動作クロックDRAMCLKに同期して動作して、4個の120ビットの出力データWDDB0〜WDDB3として出力され、セレクタ3bへ送られる。
【0036】セレクタ3aは、ライトバッファ2aの出力データWDDA0〜WDDA3をシーケンス発生回路9からの書き込みデータ選択信号WDSELに従って出力データWDDAとして選択的に出力する。
【0037】セレクタ3bは、ライトバッファ2bの出力データWDDB0〜WDDB3をシーケンス発生回路9からの書き込みデータ選択信号WDSELに従って出力データWDDBとして選択的に出力する。
【0038】セレクタ3cは、セレクタ3aの出力データWDDAとセレクタ3bの出力データWDDBとをシーケンス発生回路9からの書き込みデータ選択信号WPSELに従って120ビットの出力データWDDとして選択的に出力し、DRAM4へ送る。
【0039】DRAM4は、DRAMコントローラ8からのRAS(ローアドレスストローブ)制御信号NRAS,CAS(カラムアドレスストローブ)制御信号NCAS,メモリ番地を指定する列アドレスCAD,行アドレスRAD,書き込み読み出し許可状態を示すWE(ライトイネーブル)制御信号NWEに従って書き込みおよび読み出し動作が行われる。
【0040】リードバッファ5aは、図4に示すように、DRAM4の出力データRDDを入力とし、読み出しデータ選択信号RDSELA0,RDSELA1,RDSELA2,RDSELA3(図1では、RDSELAとまとめて記している)によって、120ビット毎に異なるタイミングでロード、ホールド制御されるレジスタ13a,13b,13c,13dで構成されている。レジスタ13a,13b,13c,13dはそれぞれ120ビットのデータRPDA0〜RPDA3を出力する。さらに、これらのデータRPDA0〜RPDA3は480ビットのデータRPDAとしてまとめられて、パラレル−シリアル変換回路6aに入力される。
【0041】リードバッファ5bは、リードバッファ5aと同様の構成で、DRAM4の出力データRDDを入力とし、選択信号RDSELBによって120ビット毎に異なるタイミングでロード、ホールド制御され、480ビットのデータRPDBを出力し、パラレル−シリアル変換回路6bに送られる。
【0042】パラレル−シリアル変換回路6aは、図5に示すように、シーケンス発生回路9からの出力信号であるポート基準信号RACTAを一定時間遅延させる遅延回路14とその遅延回路14の出力信号RACTA’によって前段レジスタ出力かリードバッファ5a出力かが選択制御されるセレクタ15とシフトレジスタ16とから構成されていて、DRAM4のクロックDRAMCLKに従って動作する。この構成によって、480ビットのデータRPDAは40個の12ビットのデータRSDPAに変換されて、遅延調整回路7aへ送られることになる。
【0043】パラレル−シリアル変換回路6bは、パラレル−シリアル変換回路6aと同様の構成であり、シーケンス発生回路9からの出力信号であるポート基準信号RACTBに従って480ビットのデータRPDBを40個の12ビットのデータRSDPBに変換して遅延調整回路7bへ送る。
【0044】遅延調整回路7aは、図6に示すように、パラレル−シリアル変換回路6aの出力データRSDPAを所望の時間遅延させて出力するデュアルポートRAM16(例えばSRAM)とその書き込みアドレスWADR,読み出しアドレスRADRを発生するアドレス生成回路17とから構成されている。そして、同一アドレスの書き込みタイミングと読み出しタイミングとをずらせることにより、入力されたデータRSDPAを所定時間遅延してデータRSDAとして出力することになる。これによって、シリアルデータの出力タイミングが外部からの読み出し要求タイミングに合致することになる。
【0045】この場合の遅延時間(クロック数)は、アドレス生成回路17に加える遅延設定値RDLYAによって任意に設定できる。この場合、デュアルポートRAM16は、書き込み動作はクロックDRAMCLKに従い、読み出し動作はクロックRACLKに従う。
【0046】遅延調整回路7bは、遅延調整回路7aと同様の構成であり、遅延設定値RDLYBに従い、パラレル−シリアル変換回路6bの出力データRSDPBを所望の時間遅延させてデータRSDBとして出力する。
【0047】シーケンス発生回路9は、外部リセット信号RSTRおよびクロックDRAMCLKに従って各種信号WACTA,WACTB,WDSEL,WPSEL,RDSELA,RDSELB,RACTA,RACTB,RDLYA,RDLYB,PSEQを出力する。
【0048】DRAMコントローラ8は、外部信号WSTRBA,WSTRBB,RSTRBA,RSTRBB,ブロックアドレスWADRA,WADRB,RADRA,RADRBと、クロックDRAMCLKと、シーケンス発生回路9のシーケンス信号PSEQに従って、RAS制御信号NRAS,CAS制御信号NCAS,列アドレスCAD,行アドレスRAD,WE制御信号NWEを出力する。
【0049】なお、上記の外部信号WSTRBA,WSTRBBは外部からの書き込み要求タイミングに対応している。また、外部信号RSTRBA,RSTRBBは外部からの読み出し要求タイミングに対応している。すなわち、外部信号WSTRBA,WSTRBBがアクティブとなったタイミングが外部からの書き込み要求タイミングに対応し、外部信号RSTRBA,RSTRBBがアクティブとなったタイミングが外部からの読み出し要求タイミングに対応する。
【0050】クロック発生回路10は、クロックゲート信号WACKGATE,WBCKGATE,RACKGATE,RBCKGATEと、クロックCKとを入力とし、入出力系統別の動作クロックWACLK,WBCLK,RACLK,RBCLK,共通クロック(DRAMクロック)DRAMCLKが出力される。
【0051】上記の動作クロックWACLKはシリアル−パラレル変換回路1aおよびライトバッファ2aに供給される。また、動作クロックWBCLKはシリアル−パラレル変換回路1bおよびライトバッファ2bに供給される。また、動作クロックRACLKはリードバッファ5a,パラレル−シリアル変換回路6aおよび遅延調整回路7aに供給される。また、動作クロックRBCLKはリードバッファ5b,パラレル−シリアル変換回路6bおよび遅延調整回路7bに供給される。共通クロックDRAMCLKはDRAM4,DRAMコントローラ8およびシーケンス発生回路9に供給される。
【0052】つぎに、図7〜図9を用いて、入力系統のデータがDRAM4に書き込まれる動作を説明する。この状態は、WAポートおよびWBポートの両方が動作している状態を示している。
【0053】図7は、シリアル−パラレル変換回路1a,1bにおける、入出力信号のタイミング関係を示すタイミングチャートである。
【0054】WAポート、WBポートにクロックWACLK,WBCLKに従ってそれぞれ入力される12ビットの時系列データWSDA(WA1,WA2,・・・・・・・・),WSDB(WB1,WB2,・・・・・・・・・)は、シリアル−パラレル変換回路1a,1bで図7に示すとおり、有効データのタイミングに同期した40データの周期をもつ外部信号WSTRBA,WSTRBBの各タイミングで40データ単位(480ビット単位)でパラレルデータWPDA,WPDBに変換される。なお、図中の記号Xは任意の数値を示している。
【0055】図8は、シーケンス発生回路9で外部リセット信号RSTRを基準に生成されるDRAM基本サイクル信号CYCLEと、各ポートのメモリへのアクセスの順序、タイミングを固定したシーケンス信号PSEQと、DRAM基本サイクル信号CYCLEの周期内のポート別の割り当て期間のスタートタイミングを示すポート基準信号WACTA,WACTB,RACTA,RACTBとの関係を示すタイミングチャートである。図8にはクロックDRAMCLKも示している。
【0056】図8に示すように、シーケンス発生回路9では、外部リセット信号RSTRを基準に、40T周期(TはDRAMクロックDRAMCLKの周期)のDRAM基本サイクル信号CYCLEが生成され、この周期内で6T間隔でWAポート,WBポート、RAポート、RBポートの専用アクセス期間を規定するシーケンス信号PSEQが生成される。
【0057】図8では、PSEQ=1のときWAポートの専用アクセス期間であり、PSEQ=2のときWBポートの専用アクセス期間であり、PSEQ=3のときRAポートの専用アクセス期間であり、PSEQ=4のときRBポートの専用アクセス期間であるとした例を示している。
【0058】また、ポート基準信号WACTA,WACTB,RACTA,RACTBが、図8に示すようにシーケンス信号PSEQに同期するかたちで生成される。
【0059】シリアル−パラレル変換回路1a,1bでパラレル化されたデータWPDA,WPDBは、上記に示したポート基準信号WACTA, WACTBのタイミングでライトバッファ2a,2bにそれぞれ一時記憶される。このとき、データWPDA,WPDBは120ビット単位で各々4分割されて一時記憶される。
【0060】図9は、ライトバッファ2a,2bの動作、ならびにシーケンス発生回路9で生成された書き込みデータ選択信号WDSEL,WPSELに基づいてセレクタ3a,3b,3cの各出力信号が切り替わる状態を示したタイミングチャートである。図中のXは任意の数値を示している。
【0061】シーケンス発生回路9のシーケンス信号PSEQが1の期間の最初のタイミングで発生するポート基準信号WACTAに対応してシリアル−パラレル変換回路1aの出力データWPDAがロード・ホールドされ、それによってホールドされたデータWDDA0〜WDDA3がライトバッファ2aから出力される。また、シーケンス発生回路9のシーケンス信号PSEQが2の期間の最初のタイミングで発生するポート基準信号WACTBに対応してシリアル−パラレル変換回路1bの出力データWPDBがロード・ホールドされ、それによってホールドされたデータWDDB0〜WDDB3がライトバッファ2bから出力される。
【0062】そして、WDSEL=0のときセレクタ3a,3bでWDDA0,WDDB0が各々選択され、データWDDA,WDDBとして出力される。また、WDSEL=1のときセレクタ3a,3bでWDDA1,WDDB1が各々選択され、データWDDA,WDDBとして出力される。また、WDSEL=2のときセレクタ3a,3bでWDDA2,WDDB2が各々選択され、データWDDA,WDDBとして出力される。また、WDSEL=3のときセレクタ3a,3bでWDDA3,WDDB3とが各々選択され、データWDDA,WDDBとして出力される。
【0063】WPSEL=0(ローレベル)のときセレクタ3cでWAポート側のデータ(セレクタ3aの出力データWDDA)が選択され、データWDDとして出力される。また、WPSEL=1(ハイレベル)のときWBポート側のデータ(セレクタ3bの出力データWDDB)が選択され、データWDDとして出力される。
【0064】以上のようにして、分割データのうちの1データがセレクタ3a,3b,3cで選択され、DRAM4へ出力され、DRAMコントローラ8によってDRAM4の所定アドレスへの書き込み動作が行われる。
【0065】つぎに、DRAMコントローラ8によってDRAM4から読み出されたデータがRAポート,RBポートから出力されるまでの動作を図10を用いて説明する。この状態は、RAポートおよびRBポートの両方が動作している状態を示している。
【0066】図10は、シーケンス発生回路9で生成された読み出しデータ選択信号RDSELA0〜RDSELA3,RDSELB0〜RDSELB3とその信号で制御されるリードバッファ5a,5bのパラレル出力データRPDA(RPDA0〜RPDA3),RPDB(RPDB0〜RPDB3)との関係を示したタイミングチャートであり、図中のRPDA0〜RPDA3は、図4に示すリードバッファ5aのレジスタ13a,13b,13c,13dの各120ビットデータ出力であり、RPDB0〜RPDB3は、同様の構成をもつリードバッファ5bの内部のレジスタ出力(図省略)である。なお、図10には、シーケンス信号PSEQとポート基準信号RACTA,RACTBが併せて示されている。
【0067】図10に示すように、DRAMコントローラ8によって120ビット単位でDRAM4から読み出されたデータRDDは、リードバッファ5a,5bで、シーケンス発生回路9からの制御信号である読み出しデータ選択信号RDSELA0〜RDSELA3,RDSESB0〜RDSESB3によりリードバッファ5a,5bをそれぞれ構成する各レジスタに一時記憶され、リードバッファ5a,5bからデータRPDA(RPDA0〜RPDA3),RPDB(RPDB0〜RPDB3)として出力される。
【0068】パラレル−シリアル変換回路6a,6bでは、リードバッファ5a,5bの出力データRPDA,RPDBが、図8で示したシーケンス発生回路9から出力されるポート基準信号RACTA,RACTBの一定遅延された信号RACTA’,RACTB’(図示せず)によってシリアルデータに変換され、データRSDPA,RSDPBとして出力される。ここで一定遅延を与えているのは、リードバッファ5a,5bのレジスタの480ビットデータがすべて更新された後にシリアル変換させるためである。
【0069】そのためには、4分割されて読み出されたデータがレジスタに一時記憶された後からつぎに更新されるまでの期間内にパラレル−シリアル変換されるようにポート基準信号RACTA,RACTBを遅延させればよい。例えば、6T遅延とし、信号RACTA’,RACTB’を各々のポートにおいて4分割データがすべてリードバッファ5a,5bに一時記憶された直後となるように発生させれば、7T以上とした場合に比べ、より早く読み出しポートより出力することができ、また遅延回路も小さく構成できることになる。
【0070】シリアル化されたデータRSDPA,RSDPBは後段の遅延調整回路7a,7bによって遅延調整され、2系統の出力ポートに各々データRSDA,RSDBとして出力される。ここでの遅延調整量は、シーケンス発生回路9から出力される遅延設定値RDLYA,RDLYBで決定される。
【0071】図11は、RAポートについて、シーケンス発生回路9から出力された信号である遅延設定値RDLYA(=d:整数)と、図6に示した遅延調整回路7aの内部のアドレス生成回路17で生成される書き込みアドレスWADRと読み出しアドレスRADRおよびデータの入出力の関係を示したタイミングチャートである。なお、図11には、先に説明したシーケンス信号とポート基準信号RACTAおよびその遅延信号RACTA’とパラレル−シリアル変換回路6aへの入力データRPDAと動作クロックRACLKも併せて示している。
【0072】図11に示すとおり、アドレス生成回路17では、遅延設定値RDLYAに連動して書き込みアドレスWADRと読み出しアドレスRADRに値dだけ差を持たせており、これにより読み出しタイミングをずらすことができる。また、デュアルポートRAM16のリード側のクロックをDRAM動作クロックDRAMCLKと位相関係が自由なクロックRACLKに同期してシリアルデータRSDA,RSDBを出力することができる。この場合、RDLYAを値dに設定することで、書き込みタイミングに対して読み出しタイミングdクロック(RACLK)分遅らせることができる。
【0073】ここで、書き込みアドレスWADRと読み出しアドレスRADRの各アドレスはアドレス最大値に到達すると0アドレスに戻るように、巡回動作をさせる。ここでデュアルポートRAM16のワード長は、DRAM動作クロックDRAMCLKと読み出し用の動作クロックRACLKが同一周波数ならば,RACTA',RACTB' の周期に相当するワード数(本例では40ワード)を有すれば、その周期内で任意の読み出しタイミングに調整することができる。
【0074】ここで、図8に示したとおり、外部リセット信号RSTRによってDRAM基本サイクル信号CYCLEの位相が確定し、これにより各リードポートのメモリアクセスタイミングが決定されるため、読み出しタイミングは、この外部リセット信号RSTRの位相と、この遅延調整回路7a,7bへのシーケンス発生回路9からの遅延設定値RDLYA,RDLYBによって、外部からの読み出し要求タイミングに一致するように調整することになる。この遅延設定値RDLYA,RDLYBは例えばマイコンからのレジスタ書き込みにより設定すればよい。
【0075】ここで、外部リセット信号RSTRからの有効データの読み出しスタートタイミングは、遅延設定値RDLYA,RDLYBを同一にしても、各ポートのメモリアクセスタイミングが6Tずれて固定されているため、RAポートがRBポートよりも6T早く出力される。これに対して、パラレル−シリアル変換回路6aの遅延回路14での遅延量を、RBポート用の同様の遅延回路(図示せず)での遅延量よりも6T多くなるようにするか、もしくは遅延設定値RDLYAと遅延設定値RDLYBの値が同一でも、遅延調整回路7a,7bでの書き込みアドレスWADRと読み出しアドレスRADRの差をポート間で6ずらし、RAポート用の遅延調整回路7aのほうを6だけ差が大きくなるように図6におけるアドレス生成回路17を構成すれば、出力系統のアクセスタイミングのずれを遅延調整回路7aで補正することができ、この読み出しタイミングのポート間のズレを無くすことができ、外部からの読み出し要求タイミングと各ポートの遅延設定値を一律に取り扱えるためタイミング制御が容易になる。
【0076】つぎに、図12から図15までの各図を用いて、シーケンス発生回路9により規定されたタイミングで各ポートのデータおよびアドレス等を選択し、DRAM4を制御するDRAMコントローラ8の動作を説明する。
【0077】DRAM4は、クロックDRAMCLKに従い、DRAMコントローラ8から出力されるDRAM制御に必要なRAS制御信号NRAS,CAS制御信号NCASおよび書き込み読み出し許可状態を示すWE制御信号NWEおよびメモリ番地を指定する行アドレスRAD,列アドレスCADによって、書き込み動作、読み出し動作を行う。
【0078】図12は、外部リセット信号RSTRと、DRAM基本サイクル信号CYCLEと、クロックDRAMCLKと、シーケンス発生回路9で生成されたシーケンス信号PSEQと、DRAM4を制御するためにDRAMコントローラ8で生成されるRAS制御信号NRAS,CAS制御信号NCAS,WE制御信号NWE,行アドレスRAD,列アドレスCADの各々のタイミング関係を示したチャートである。
【0079】ここでは、1つの行アドレス設定に対して、列アドレスは4アドレス連続して書き込み、読み出し可能なページモード動作を行わせている。このDRAM4が、プリチャージ期間1Tと行アドレス設定期間1Tが必要だとして、列アドレス設定期間の4Tとあわせて、1ポートあたりトータル6Tで480画素のデータの書き込み、読み出しを実現している。
【0080】図13は、最大ページ長を16(16カラム)とした場合のDRAM4のメモリマップを模式的に示した図である。
【0081】図14は図13のようなDRAM4に対して、従来のVRAMに与えていたようなブロックアドレスWADRAを外部入力とした場合において、DRAMコントローラ8の内部でWAポート用に行アドレスWRA、列アドレスWCAを生成する回路、つまりアドレスのビット分割を行う回路の構成例を示すブロック図である。図14において、81は外部入力のブロックアドレスWADRAを、WAポートのアクセススタートの基準となるポート基準信号WACTAによってラッチしたブロックアドレスWADRA’を入力とし、このブロックアドレスWADRA’の2ビットダウンシフトを行う2ビットダウン回路である。82はブロックアドレスWADRA’の下位2ビットを抽出する下位2ビット抽出回路である。83は下位2ビット抽出回路82の出力データの2ビットアップシフトを行う2ビットアップ回路である。84は2ビットアップ回路83の出力データを初期値としてクロックDRAMCLKのカウントを行う4ビットカウンタである。
【0082】図15はその行アドレスWRA、列アドレスWCAと外部入力のブロックアドレスWADRAの具体値との関係を例示したものである。なお、図15には、DRAM基本サイクル信号CYCLEとシーケンス信号PSEQと外部信号WSTRBAが併せて示されている。
【0083】図15に示すとおり、外部入力のブロックアドレスWADRAは、WAポートのアクセススタートの基準となるポート基準信号WACTAによってラッチされWADRA’となり、このラッチ後のブロックアドレスWADRA’は、図14のような回路構成により、行アドレスWRAと列アドレスWCAに変換される。
【0084】同様にしてWBポート,RAポート,RBポート用のブロックアドレスWADRB, RADRA, RADRBから行アドレスWRB,RRA,RRBおよび列アドレスWCB,RCA,RCBが生成される。これらの行アドレス、列アドレスは、図12で示したように、DRAM基本サイクル信号CYCLEの周期内で決められたタイミングでDRAM4の行アドレスRAD、列アドレスRCDとして選択されDRAM4へ出力される。
【0085】ここで、行アドレスWRA,列アドレスWCAを生成する回路は、図14に示したとおり、2ビットダウン回路81,下位2ビット抽出回路82,2ビットアップ回路83および4ビットカウンタ84だけの簡単な構成で実現できる。これは、メモリの最大ページ長が16(2のC乗、Cは2の2乗)でかつ、使用するページ長Pが4(2の2乗)であるため、ブロックアドレスが0,1,2,3,4,5・・・・のとき、行アドレスWRAは0,0,0,0,1,1・・・・、DRAM基本サイクル信号CYCLEの周期内での各ポートの列アドレスWCAのスタートアドレスは0,4,8,12,0,4,・・・・のようになる。すなわち、行アドレスWRAは、ブロックアドレスをCで割った商、DRAM基本サイクル信号CYCLEの周期内での各ポートの列アドレスWCAのスタートアドレスはブロックアドレスをCで割った剰余をP倍したものとなり、これらC,Pの値が2のべき乗になるようにDRAM基本サイクルを決定しているからである。
【0086】以上のことを一般化すると、以下のようになる。すなわち、メモリは、行アドレスと列アドレスを有し、行アドレスに対して連続した列アドレスの書き込みおよび読み出しが可能なページ動作を行うものであるとし、制御シーケンス(CYCLEの1周期)内の1ポートがメモリにアクセスするためのページ長をP、シリアルデータのビット幅をSビット、メモリの最大ページ長を2のC乗、メモリのアクセスデータ幅をAビットとすると、シーケンス発生手段の周期Wクロックは、シリアルデータのビット幅Sビット、メモリのアクセスデータ幅Aビットおよびページ長Pに対してW=(A/S)×Pの関係とし、かつCおよびPの値が2のべき乗となるようシーケンス発生手段およびメモリが構成されるということになる。
【0087】実施の形態では、A=120ビット、S=12ビット、P=4(=22 )、C=16( =24 ) となっている。
【0088】図16にクロック発生回路10の各信号のタイミングチャートの一例を示す。図16では、WAポート、WBポート、RAポート、RBポートの各入出力系統に動作を停止している期間が存在する状態を示している。図16において、クロックゲート信号WACKGATEは、WAポートの動作に連動した信号で、WAポートの動作時にはローレベル(“0”)であり、動作停止時にはハイレベル(“1”)となる。同様に、クロックゲート信号WBCKGATEは、WBポートの動作に連動した信号で、WBポートの動作時にはローレベルであり、動作停止時にはハイレベルとなる。また、クロックゲート信号RACKGATEは、RAポートの動作に連動した信号で、RAポートの動作時にはローレベルであり、動作停止時にはハイレベルとなる。また、クロックゲート信号RBCKGATEは、RBポートの動作に連動した信号で、RBポートの動作時にはローレベルであり、動作停止時にはハイレベルとなる。
【0089】動作クロックWACLKは、WAポートに対応したシリアル−パラレル変換回路1aとライトバッファ2aに対して、クロックゲート信号WACKGATEがローレベルのときに供給され、ハイレベルのときには供給が停止される。動作クロックWBCLKは、WBポートに対応したシリアル−パラレル変換回路1bとライトバッファ2bに対して、クロックゲート信号WBCKGATEがローレベルのときに供給され、ハイレベルのときには供給が停止される。
【0090】動作クロックRACLKは、RAポートに対応したリードバッファ5aとパラレル−シリアル変換回路6aと遅延調整回路7aに対して、クロックゲート信号RACKGATEがローレベルのときに供給され、ハイレベルのときには供給が停止される。
【0091】動作クロックRBCLKは、RBポートに対応したリードバッファ5bとパラレル−シリアル変換回路6bと遅延調整回路7bに対して、クロックゲート信号RBCKGATEがローレベルのときに供給され、ハイレベルのときには供給が停止される。
【0092】共通クロックDRAMCLKは、クロックゲート信号WACKGATE,WBCKGATE,RACKGATE,RBCKGATEのいずれか少なくとも一つがローレベルであって、動作クロックWACLK,WBCLK,RACLK,RBCLKのいずれか少なくとも一つが供給状態にあるときに、DRAM4とDRAMコントローラ8とシーケンス発生回路9とに供給され、クロックゲート信号WACKGATE,WBCKGATE,RACKGATE,RBCKGATEの全てがハイレベルとなって、動作クロックWACLK,WBCLK,RACLK,RBCLKの全てが停止しているときに供給が停止される。
【0093】図17には、WBポートの動作クロックWBCLKに停止期間が存在する場合のシリアル−パラレル変換回路1a,1bにおける、入出力信号のタイミング関係を示すタイミングチャートを示している。
【0094】WAポートにクロックWACLKに従って入力される12ビットの時系列データWSDA(WA1,WA2,・・・・・・・・)は、シリアル−パラレル変換回路1aで図17に示すとおり、有効データのタイミングに同期した40データの周期をもつ外部信号WSTRBAのタイミングで40データ単位(480ビット単位)でパラレルデータWPDAに変換される。
【0095】ところが、WBポートのクロックWBCLKは、停止期間に入っているので、12ビットの時系列データWSDB(WB1,WB2,・・・・・・・・・)は、シリアル−パラレル変換回路1bで図17に示すように、変換動作は行われず、パラレルデータWPDBはデータホールド状態(固定値状態)となる。なお、図中の記号Xは任意の数値を示している。
【0096】図18にクロックゲート制御信号と各ポートの信号のタイミングチャートを示している。図18では、WAポートおよびRAポートの動作期間(WBポートおよびRBポートは停止)とWAポート、RAポートおよびRBポートの動作期間(WBポートは停止)とに分けて示している。
【0097】WAポートおよびRAポートの動作期間(以下、第1の期間と記す)では、クロックゲート信号WACKGATE,WBCKGATE,RACKGATE,RBCKGATEがそれぞれ“L”,“H”,“L”,“H”となっている。また、WAポート、RAポートおよびRBポートの動作期間(以下、第2の期間と記す)では、クロックゲート信号WACKGATE,WBCKGATE,RACKGATE,RBCKGATEがそれぞれ“L”,“H”,“L”,“L”となっている。
【0098】DRAM基本サイクル信号CYCLEに従って、第1の期間および第2の期間ともに、シリアル−パラレル変換回路1aからパラレルデータWPDAが有効データとして出力され、ポート基準信号WACTAに応答してライトバッファ2aで一時記憶され、データWDDA0〜WDDA3として出力される。
【0099】一方、第1の期間および第2の期間ともに、シリアル−パラレル変換回路1bは動作を停止しており、パラレルデータWPDBは無効データ(データ固定状態)となっているので、ポート基準信号WACTBに応答してライトバッファ2bで一時記憶されるデータWDDB0〜WDDB3は無効データ(データ固定状態)となる。
【0100】また、第1および第2の期間ともに、リードバッファ5aから出力されるデータRPDA0〜RPDA3は有効データとして出力され、ポート基準信号RACTAに従ってパラレル−シリアル変換回路6aでシリアルデータに変換される。
【0101】一方、リードバッファ5bから出力されるデータRPDB0〜RPDB3は第1の期間は無効データ(データ固定状態)であり、この期間のパラレル−シリアル変換回路6bの動作は無効である。また、第2の期間では、リードバッファ5bから出力されるデータRPDB0〜RPDB3は有効データであり、ポート基準信号RACTBに従ってパラレル−シリアル変換回路6bでシリアルデータに変換される。
【0102】図19にWBポートの動作クロックWBCLKに停止期間が存在する場合における、ライトバッファ2a,2bの動作、ならびにシーケンス発生回路9で生成された書き込みデータ選択信号WDSEL,WPSELに基づいてセレクタ3a,3b,3cの各出力信号が切り替わる状態を示したタイミングチャートであり、図9と同じ部分のタイミングチャートを示している。図9との違いは、データWDDB0〜WDDB3が無効(任意の数値)となっており、それに対応する部分も無効(任意の数値)となっている点である。図中のXは任意の数値を示している。
【0103】図20にRBポートの動作クロックRBCLKに停止期間が存在する場合における、シーケンス発生回路9で生成された読み出しデータ選択信号RDSELA0〜RDSELA3,RDSELB0〜RDSELB3とその信号で制御されるリードバッファ5a,5bのパラレル出力データRPDA(RPDA0〜RPDA3),RPDB(RPDB0〜RPDB3)との関係を示したタイミングチャートであり、図10と同じ部分のタイミングチャートを示している。図10との違いは、リードバッファ5bから出力されるデータRPDB0〜RPDB3が無効(任意の数値)となっている点である。
【0104】ここで、上記のクロックゲート機能を有するマルチポートメモリ装置をフレームメモリとして使用した撮像装置の一例を図21を参照しながら説明する。図21は、電子ズーム機能がオンのときは、フレームデータからライン補間してズーム処理を行い、電子ズーム機能がオフのときは、フィールドデータをそのまま出力する撮像装置の例を示すものである。この例では、入力系統は1系統のみが使用され、出力系統については1系統使用状態と2系統使用状態とがある。
【0105】図21において、カメラ信号処理回路101は、撮像素子出力を入力として、プログレッシブ出力を発生する。本発明の実施の形態におけるマルチポートメモリ装置102は、カメラ信号処理回路101からのプログレッシブ出力をシリアルデータWSDAとして入力する。また、シリアルデータWSDBとしては、常時“0”(“L”)が入力されている。また、カメラ信号処理回路101から外部信号WSTRBAが入力される。外部信号WSTRBBとしては、常時“0”(“L”)が入力されている。
【0106】クロックゲート信号WACKGATEは常時“0”(“L”)が入力され、クロックゲート信号WBCKGATEは常時“1”(“H”)が入力されている。外部リセット信号RSTRとしては、水平同期パルスHRSTが入力されている。
【0107】また、クロックゲート信号RACKGATEは常時“0”(“L”)が入力され、クロックゲート信号RBCKGATEは、システムコントローラ103から入力されるが、電子ズーム機能がオフのときには“1”(“H”)が入力され、オンのときには“0”(“L”)が入力される。
【0108】マルチポートメモリ装置102からは、電子ズーム機能をオフにするモードの場合は、システムコントローラ103がマルチポートメモリ装置102に対して“1”(“H”)をクロックゲート信号RBCKGATEに与え、これによって、RBポートは停止状態となり、RAポートのみが動作状態となる。このとき、マルチポートメモリ装置102は、シリアルデータRSDAとして、インターレス出力を発生し、セレクタ104へ供給する。このときセレクタ104は、システムコントローラ103から“0”の信号が供給されているので、シリアルデータRSDAを選択し、これを映像出力とする。
【0109】一方、電子ズーム機能をオンにするモードの場合は、システムコントローラ103がマルチポートメモリ装置102に対して“0”(“L”)をクロックゲート信号RBCKGATEに与え、これによって、RBポートは動作状態となり、RAポートおよびRBポートの両方が動作状態となる。このとき、マルチポートメモリ装置102は、シリアルデータRSDAとして、奇数ライン出力を発生し、シリアルデータRSDBとして偶数ライン出力を発生し、電子ズーム処理回路105へ供給する。電子ズーム処理回路105は、奇数ライン出力および偶数ライン出力を基に補間処理を行う等して、画像を拡大するズーム処理を行い、その出力をセレクタ104へ供給する。このときセレクタ104は、システムコントローラ103から“1”の信号が供給されているので、電子ズーム処理回路105の出力を選択し、これを映像出力とする。
【0110】なお、電子ズーム処理回路105からマルチポートメモリ装置102へ外部信号RSTRBA,RSTRBBが供給される。
【0111】以上のような構成および動作により、各ポート間の調停手段を持たずに4ポートの入出力系統を有するマルチポートメモリ装置を実現することが可能となる。
【0112】また、系統別に動作クロックを供給しており、使用しない入出力系統毎に関係する回路の動作を停止させることができるため、マルチポートメモリ装置を無駄な電力消費を抑えて実現することができる。また、すべての系統が動作を停止したときには、共通クロックも停止するので、無駄な消費電力をさらに抑えることができる。
【0113】なお、本実施の形態では、遅延調整回路7a,7bとしてデュアルポートRAMを用いたが、DRAM動作クロックDRAMCLKと読み出し用の動作クロックRACLK,RBCLKの位相が規定され、かつ同一周波数である場合ならば、例えばFIFO−RAMあるいは、シフトレジスタとその各レジスタ出力のセレクタ構成による遅延調整でも同様の効果を持たせることが可能である。
【0114】また、シリアル−パラレル変換回路1a,1bおよびライトバッファ2a,2bおよびリードバッファ5a,5bの詳細な構成例として、本実施の形態ではロードホールド型のDフリップフロップで構成したが、この限りではなく、同等の機能を有するものであれば他の構成でもよい。
【0115】また、本実施の形態では、DRAM基本サイクル内での各ポートのアクセスタイミングの固定順序をWA,WB,RA,RBの順としたが、この順に制限されるものではなく任意に決定してよい。例えば、RA,RB,WA,WBなど入力系統より出力系統のアクセスタイミングが前になるように固定すれば、外部リセット信号RSTRと読み出しポートのメモリへのアクセスタイミングの差が小さくなり、読み出しタイミングの遅れ量(レーテンシ)をより小さくできる効果がある。
【0116】また、本実施の形態では、メモリとしてアクセスデータ幅が120ビット、DRAM4の最大ページ長16のDRAMを使用したが、この限りではなく、例えば120ビットより広い240ビットのアクセスデータ幅を有するDRAMを用いれば、ライトバッファ2a,2bにおけるデータの分割数およびセレクタ3a,3bへの入力は各々2系統で済み、セレクタ制御信号もそれにあわせて減らすことができる。また、480ビットのアクセスデータ幅を有するDRAMを使用すれば、セレクタ3a,3bは省くことができる。
【0117】また、本実施の形態では、入力2ポート、出力2ポートとしたがこの限りではなく、例えば、入力1ポート、出力3ポートとしてもよく、この場合は入力系統用のシリアル−パラレル変換回路、ライトバッファ、セレクタが1系統のみでよく、図1のセレクタ3cは必要ない。また、出力系統用のリードバッファ、パラレル−シリアル変換回路、遅延調整回路は3系統に増やせばよい。シーケンス発生回路では、例えば図22に示すように固定した制御シーケンスによって各ブロックの動作を制御すればよい。入出力ポート数が同じであれば、シリアル−パラレル変換の段数等は変える必要はない。図22では、クロックDRAMCLKと、外部リセット信号RSTRと、DRAM基本サイクル信号CYCLEと、シーケンス信号PSEQと、ポート基準信号RACTA,RACTB,RACTC,WACTAが示されている。なお、入力ポートの数は、1個、2個に限らず3個以上であってもよい。また、出力ポートの数についても、2個、3個に限らず、1個または4個以上であってもよい。
【0118】また入出力ポートの合計ポート数は4ポートに限るものでもなく、必要なポート数Nと、使用するメモリの仕様(アクセスデータのビット幅A、最大ページ長=2のC乗ビット、Cは2のべき乗とする)と、ポートのシリアルデータのビット幅Sとに応じて、DRAM基本シーケンスの周期Wを決定する。
【0119】ここで、DRAM基本シーケンスの周期Wは、セレクタの入力系統数を2のべき乗となるように決定し、かつW≧n×N(n:1周期内で1ポートあたりのメモリへのアクセス期間のクロック数)の条件を満たす範囲の最小値をとるように決定すれば、メモリのアドレスを計算する場合に端数が出ないので、DRAMコントローラの行アドレス発生回路、列アドレス発生回路を前述のとおり、ビットシフトによる簡単な構成で実現でき、かつ必要以上の回路規模増加を抑えた最適な構成のマルチポートメモリ装置を得ることが可能になる。
【0120】なお、入力ポートが1ポートのみで、S×W=Aならば、本実施の形態のセレクタ3a,3b,3cはいずれも必要なく、シリアル−パラレル変換回路出力のパラレルデータがそのままDRAMへの書き込みデータとして選択されることは言うまでもない。
【0121】なお、本実施の形態ではメモリとしてシングルポートのDRAMを用いたが、これに制限されるものでなく、行アドレス、列アドレスを有する半導体メモリであればよい。
【0122】
【発明の効果】以上のように本発明は、シーケンス発生手段によってメモリへの入出力系統の各ポートのメモリへのアクセスタイミングの順序を周期的に固定し、入力系統の書き込みデータはこのアクセスタイミングに同期するようライトバッファで一時記憶保持し、出力系統の読み出しデータは固定されたアクセスタイミングで読み出した後遅延調整手段で読み出し要求タイミングに合致するように遅延させることで、従来のようなポート間のメモリへのアクセスの調停を必要とせず、簡単にポート数を増やすことができる。また、このマルチポートメモリ装置を用いれば、画像メモリとしてだけでなく、ポート数を多く持たせ、これらのポートを用いて、従来のFIFOメモリやデュアルポートSRAM等で実現していた1Hメモリ(Hは映像信号の水平走査期間)機能を実現することもでき、これにより、例えば回路面積の縮小化が図れるなどの効果も得られる。
【0123】また、系統別に動作クロックを供給しており、使用しない入出力系統毎に関係する回路の動作を停止させることができるため、ポート間の複雑な調停を行う必要なく、簡単な構成で多くのポート数を有するマルチポートメモリ装置を無駄な電力消費を抑えて実現することができる。また、すべての系統が動作を停止したときには、共通クロックも停止するので、無駄な消費電力をさらに抑えることができる。
【出願人】 【識別番号】000005821
【氏名又は名称】松下電器産業株式会社
【出願日】 平成12年9月29日(2000.9.29)
【代理人】 【識別番号】100076174
【弁理士】
【氏名又は名称】宮井 暎夫
【公開番号】 特開2002−108690(P2002−108690A)
【公開日】 平成14年4月12日(2002.4.12)
【出願番号】 特願2000−299483(P2000−299483)