(57)【要約】【課題】  非同期クロック間でのデータ転送においてもクロック乗せ換え回路を必要としない追い越し判定回路、及びこの追い越し判定回路を備えるデータ転送システムを提供すること。【解決手段】  デュアルポートメモリ３に接続されている書き込み側回路２が書き込んだデータに対する読み出し側回路４による読み出しが、書き込み側回路２による書き込みを追い越していないことを判定する追い越し判定回路５に、書き込み側回路２が次にデータを書き込む、デュアルポートメモリ３内のアドレスを算出する予測カウンタ５２と、予測カウンタ５２により算出されたアドレスに書き込み側回路２によりデータが書き込まれる時期を予測する周期換算部５１と、予測カウンタ５２により算出された書き込みアドレスと、読み出し側回路４が読み出すアドレスとを比較して、読み出しアドレスが書き込みアドレスを追い越していないことを判定する比較部５３とを備える。【選択図】  図２
2006065704.tif 000002
【特許請求の範囲】
【請求項１】
デュアルポートメモリに書き込み側装置が書き込んだデータに対する、読み出し側装置による読み出しが、前記書き込み側装置による書き込みを追い越していないことを判定する追い越し判定装置において、
前記書き込み側装置が、前記デュアルポートメモリ内の次にデータを書き込むアドレスを算出する書き込みアドレス算出手段と、
前記書き込みアドレス算出手段により算出されたアドレスに前記書き込み側装置によりデータが書き込まれる時期を予測する書き込み時期予測手段と、
前記書き込みアドレス算出手段により算出された書き込みアドレスと、前記読み出し側装置が読み出す読み出しアドレスとを比較して、前記読み出しアドレスが前記書き込みアドレスを追い越していないと判定した場合には、前記読み出し側装置に対し読み出しを許可する判定手段と
を備える追い越し判定装置。
【請求項２】
前記書き込みアドレス算出手段は、前記書き込み側装置がデータの書き込みを開始する開始アドレスを記憶する開始アドレス記憶手段と、前記書き込み側装置が今回データを書き込んだアドレスと次にデータを書き込むアドレスとの間のアドレス増分を記憶する増分記憶手段と、前記書き込み側装置が今回データを書き込んだアドレスに前記アドレス増分を加算して次にデータを書き込むアドレスを算出する書き込みアドレス算出手段とを備え、前記書き込み時期予測手段は、当該読み出し側装置の動作クロックで表した書き込み周期を記憶する書き込み周期記憶手段とを備える請求項１に記載の追い越し判定装置。
【請求項３】
請求項１又は２に記載の追い越し判定装置と、前記書き込み側装置と、前記デュアルポートメモリと、前記読み出し側装置とを備えるデータ転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デュアルポートメモリを用いてデータ転送を行う場合に、書き込み側装置による転送データの書き込みを、読み出し側装置によるその転送データの読み出しが追い越さないように判定する追い越し判定装置、及びこの追い越し判定装置を備えるデータ転送システムに関する。
【背景技術】
【０００２】
従来、デュアルポートメモリ（デュアルポートＲＡＭ（ランダムアクセスメモリ））を用いて２つの回路間でデータ転送を行うデータ転送方法がある。この方法において、転送データを書き込む側の回路と読み出す側の回路において効率よくデータ転送を行うための発明として、例えば下記特許文献１においては、ビデオデータをＬＣＤ（液晶ディスプレイ）に表示する形式のデータに変換する回路において、読み出し速度を上げつつ、書き込みと読み出しの順序が入れ替わらないように、読み出しが一巡する時間が、書き込みが一巡する時間より必ず短くなるように調整する機構を備える方法について記載されている。
【０００３】
画像形成装置の画像データ生成部分の回路においても、デュアルポートメモリを用いたデータ転送が頻繁に使われている。例えば、レーザーを用いたページプリンタにおいて、いくつかの画像処理を行う処理速度の異なる回路間の接続に１ライン分のデュアルポートメモリを設け、前段の回路が処理結果をデュアルポートメモリに順次書き込み、後段の回路がそのデータを順次読み出すことで双方の動作速度の違いを吸収する仕組みなどがある。
【０００４】
このようなデータ転送では、読み出し側回路の読み出しが書き込み側回路の書き込みを追い越さないように、通常、追い越し判定回路が用いられている。従来の追い越し判定回路は、書き込み側回路が現在書き込みを行っているアドレスを書き込み側回路から入力するとともに、読み出し側回路が読み出すアドレスを読み出し側回路から入力して両者を比較することにより、読み出しが書き込みを追い越さないことを判定していた。
【特許文献１】特許第３２５９６９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のデータ転送の方式において、書き込み側回路と読み出し側回路とが異なるクロックで動作している場合には、非同期クロック間でデータ参照を行うためのクロック乗せ替え回路が必要となっていた。クロック乗せ換え回路は、同期設計を基本方針としている最近のデジタル回路設計において設計上の注意を必要とするものであり、設計ミスが起こりやすく設計の難易度が高いので、使用しないことが望ましい。
【０００６】
本発明は、上記問題点に鑑みて成されたもので、非同期クロック間でのデータ転送においてもクロック乗せ換え回路を必要としない追い越し判定回路、及びこの追い越し判定回路を備えるデータ転送システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に係る追い越し判定装置は、デュアルポートメモリに書き込み側装置が書き込んだデータに対する、読み出し側装置による読み出しが、前記書き込み側装置による書き込みを追い越していないことを判定する追い越し判定装置において、前記書き込み側装置が、前記デュアルポートメモリ内の次にデータを書き込むアドレスを算出する書き込みアドレス算出手段と、前記書き込みアドレス算出手段により算出されたアドレスに前記書き込み側装置によりデータが書き込まれる時期を予測する書き込み時期予測手段と、前記書き込みアドレス算出手段により算出された書き込みアドレスと、前記読み出し側装置が読み出す読み出しアドレスとを比較して、前記読み出しアドレスが前記書き込みアドレスを追い越していないと判定した場合には、前記読み出し側装置に対し読み出しを許可する判定手段とを備えるものである。
【０００８】
この構成によれば、書き込み側装置が書き込むアドレスを参照することなく、現在書き込み側装置が書き込んでいるアドレスを算出できるので、書き込み側装置の動作するクロックと読み出し側装置の動作するクロックとが異なる場合においても、クロック乗せ換え回路を用いる必要がない。
【０００９】
請求項２に係る追い越し判定装置は、請求項１に記載の追い越し判定装置であって、前記書き込みアドレス算出手段は、前記書き込み側装置がデータの書き込みを開始する開始アドレスを記憶する開始アドレス記憶手段と、前記書き込み側装置が今回データを書き込んだアドレスと次にデータを書き込むアドレスとの間のアドレス増分を記憶する増分記憶手段と、前記書き込み側装置が今回データを書き込んだアドレスに前記アドレス増分を加算して次にデータを書き込むアドレスを算出する書き込みアドレス算出手段とを備え、前記書き込み時期予測手段は、当該読込側装置の動作クロックで表した書き込み周期を記憶する書き込み周期記憶手段とを備えるものである。
【００１０】
この構成によれば、書き込み側装置が書き込むアドレスを参照することなく、現在書き込み側装置が書き込んでいるアドレスを算出できるので、書き込み側装置の動作するクロックと読み出し側装置の動作するクロックとが異なる場合においても、クロック乗せ換え回路を用いる必要がない。
【００１１】
請求項３に係るデータ転送システムは、請求項１又は２に記載の追い越し判定装置と、前記書き込み側装置と、前記デュアルポートメモリと、前記読み出し側装置とを備えるものである。
【００１２】
この構成によれば、請求項１又は２の効果を奏するデータ転送システムを提供することができる。
【発明の効果】
【００１３】
請求項１、２又は３に記載の発明によれば、書き込み側装置が書き込むアドレスを参照することなく、現在書き込み側装置が書き込んでいるアドレスを算出できるので、書き込み側装置の動作するクロックと読み出し側装置の動作するクロックとが異なる場合においても、クロック乗せ換え回路を用いる必要がない。このため、回路設計の難易度が高くなることを回避でき、設計ミスを軽減することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施形態における追い越し判定装置を備える、デュアルポートメモリを用いたデータ転送システムについて図面を参照しながら説明する。図１は、本発明の一実施形態に係るデータ転送システムの構成を概略的に示すブロック図である。データ転送システム１は、書き込み側回路２、デュアルポートメモリ３、読み出し側回路４、追い越し判定回路５を備える。データ転送システム１は、書き込み側回路２から読み出し側回路４にデータを転送するシステムである。
【００１５】
デュアルポートメモリ３は、２方向からのアクセスを可能にするために２つのポートを有するメモリ、例えばＲＡＭ（ランダムアクセスメモリ）である。デュアルポートメモリ３は、例えば、複写機等の画像形成装置において、１ライン分の画像（画素）データを格納するためのラインバッファメモリである。
【００１６】
書き込み側回路２は、読み出し側回路４に転送するデータをデュアルポートメモリ３に書き込むものである。書き込み側回路２は、デュアルポートメモリ３の例えば最初のアドレスから順次書き込みアドレスを所定の増分ずつずらしながら（増加させながら）、所定の周期（例えば３クロックごと）でデータを書き込む。書き込み側回路２は、書き込みアドレス線（ｗ＿Ａｄｄｒｅｓｓ）にデータを書き込むアドレスを出力し、データ線（ｗ＿Ｄａｔａ）にデータを出力した後、ライト線（ＷＥ）をオンにすることによりデュアルポートメモリ３の所望のアドレスにデータを書き込む。書き込み側回路２は、書き込みクロック線（ｗＣＬＫ）から入力される所定のクロック（書き込み側クロック）、例えば２０［ＭＨｚ］により動作する。
【００１７】
読み出し側回路４は、書き込み側回路２から転送されるデータをデュアルポートメモリ３から読み出すものである。読み出し側回路４も、書き込み側回路２と同様に、デュアルポートメモリ３の例えば最初のアドレスから順次読み出しアドレスを（書き込み側回路２と同じ）所定の増分ずつずらしながら（増加させながら）、書き込み側回路２が転送データを書き込んだ後にそのアドレスからデータを読み出す。読み出し側回路４は、読み出しアドレス線（ｒ＿Ａｄｄｒｅｓｓ）にデータを読み出すアドレスを出力した後、読み出し制御線（ｒＣｔｌ）がオンになったときに、リード線（ＲＤ）をオンにすることによりデュアルポートメモリ３の所望のアドレスからデータを読み出す。読み出し側回路４は、読み出しクロック線（ｒＣＬＫ）から入力される、書き込み側クロックとは異なる所定のクロック（読み出し側クロック）、例えば３３［ＭＨｚ］により動作する。
【００１８】
追い越し判定回路５は、読み出し側回路４が読み出し予定のアドレスからデータを読み出しても、書き込み側回路２による書き込みを追い越さない（書き込み側回路２が書き込む前に読み出していない）と判定した場合に、読み出し側回路４に読み出しを許可するものである。追い越し判定回路５は、読み出しアドレス線（ｒ＿Ａｄｄｒｅｓｓ）から入力されているアドレス（次に読み出すアドレス）に対するデータの書き込みが終了したと予測したときに、読み出し制御線（ｒＣｔｌ）をオンにする。
【００１９】
図２は、追い越し判定回路５の構成を示すブロック図である。追い越し判定回路５は、周期換算部５１、予測カウンタ５２及び比較部５３を備える。周期換算部５１は、書き込み側回路２がデュアルポートメモリ３にデータを書き込む周期を読み出し側クロック数で表した書き込み周期換算クロック数を予め記憶しておく。この書き込み周期換算クロック数は、例えば書き込み側回路２の動作クロックが２０［ＭＨｚ］、読み出し側回路４の動作クロックが３３［ＭＨｚ］で、書き込み側回路２の書き込み周期が３クロックごとである場合には５クロックである。周期換算部５１は、読み出しクロック線（ｒＣＬＫ）により入力される読み出し側クロックが書き込み周期換算クロック数、例えば５クロックを数えるごとにカウントパルス線（ＣｎｔＥｎ）をオンにする。予測カウンタ５２は、書き込み開始アドレスと、書き込みアドレスを順次ずらすときの（アドレスの）増分を予め記憶しておく。また、予測カウンタ５２は、算出した書き込み予測アドレスを記憶する。予測カウンタ５２は、クリア線（ｃｌｒ）がオンされたときに書き込み開始アドレスを書き込み予測アドレスに代入する。予測カウンタ５２は、カウントパルス線（ＣｎｔＥｎ）がオンされたときに、書き込み予測アドレスに増分を加算して新たな書き込み予測アドレスとし、この書き込み予測アドレスをアドレス出力線（ＡｄｄｒＯｕｔ）に出力する。比較部５３は、読み出しアドレス線（ｒ＿Ａｄｄｒｅｓｓ）から入力されている読み出しアドレスとアドレス出力線（ＡｄｄｒＯｕｔ）から入力されている書き込み予測アドレスとを比較し、読み出しアドレスが書き込み予測アドレスより小さい場合には読み出し制御線（ｒＣｔｌ）をオンにする。
【００２０】
図３は、データ転送システム１の動作の一例を示すタイミングチャートである。線Ｓ１は、書き込みクロック線（ｗＣＬＫ）の書き込み側クロックで、例えば２０［ＭＨｚ］のクロックである。書き込み側回路２は、書き込み側クロックで例えば３クロックごとの時刻Ｔ１、Ｔ２、Ｔ３、Ｔ４において３クロックの時間を要してデュアルポートメモリ３にデータを書き込む。線Ｓ２は、読み出しクロック線（ｒＣＬＫ）の読み出し側クロックで、例えば３３［ＭＨｚ］のクロックである。書き込み側クロックの３クロックが読み出し側クロックの５クロックに相当する。
【００２１】
線Ｓ３は、アドレス出力線（ＡｄｄｒＯｕｔ）に出力されている（予測カウンタ５２で算出される書き込み側回路２の書き込み）アドレス値を示しており、例えば時刻Ｔ１からＴ２の間には、アドレス値０ｘ００００が出力されており、時刻Ｔ２からＴ３の間には、アドレス値０ｘ００１０が出力されている。線Ｓ４は、読み出しアドレス線（ｒ＿Ａｄｄｒｅｓｓ）に出力されている（読み出し側回路４が次に読み出す）アドレス値を示しており、例えば時刻Ｔ１１からＴ３１の間には、アドレス値０ｘ００００が出力されており、時刻Ｔ３１以降は、アドレス値０ｘ００１０が出力されている。線Ｓ５は、読み出し制御線（ｒＣｔｌ）に出力されている読み出し制御信号を示しており、線Ｓ５がハイレベルになったときが読み出し制御信号がオンになったことを示している。書き込みの終了していないアドレスを読み出そうとした場合（例えば０ｘ００００の場合）には、書き込みが終了したとき（時刻Ｔ２）の次のクロックの立ち上がり（時刻Ｔ２２）において、読み出し制御信号がオンになる。書き込みの終了しているアドレスを読み出そうとした場合（例えば０ｘ００１０の場合）には、読み出しアドレス線（ｒ＿Ａｄｄｒｅｓｓ）にアドレス値が出力されたとき（時刻Ｔ３１）の次のクロックの立ち上がり（時刻Ｔ３２）において、読み出し制御信号がオンになる。それぞれ読み出し制御信号がオンになったことを受けて読み出し側回路４は、読み出しアドレス線（ｒ＿Ａｄｄｒｅｓｓ）に出力されているデュアルポートメモリのアドレスからデータを読み出す。
【００２２】
このように本実施形態によれば、追い越し判定回路５において、書き込み側回路２が書き込むアドレスを参照せずに、そのアドレスを算出し、書き込み側回路２が転送データを書き込んだ後で読み出し側回路４がその転送データの書き込まれたアドレスからデータを読み出すので、書き込み側回路と読み出し側回路が異なるクロックで動作している場合でも、デュアルポートメモリを用いてデータ転送をクロック乗せ換え回路なしに行うことができる。
【００２３】
なお、本発明は、上記実施形態のものに限定されるものではなく、以下に述べる態様を採用することができる。本実施形態においては、周期換算部５１に、書き込み側回路２がデュアルポートメモリ３にデータを書き込む周期を読み出し側クロック数で表した書き込み周期換算クロック数を予め記憶しておいたが、例えば書き込み側回路２の動作クロック、書き込み側回路２の書き込み周期、及び読み出し側回路４の動作クロックを周期換算部５１に記憶、又は入力してそれらから書き込み周期換算クロック数を周期換算部５１において算出するようにしてもよい。
【００２４】
本実施形態においては、書き込み側回路２の書き込み周期が読み出し側回路４の動作クロックの整数個分、例えば５クロックとなる場合について説明したが、これが整数個分にならない場合、例えば書き込み側回路２の書き込み周期が読み出し側回路４の動作クロックで５．５クロックである場合には、書き込み周期以後で書き込み周期に最も近い読み出し側回路４の動作クロック（例えば交互に６クロックと５クロックごと）でカウントパルス線（ＣｎｔＥｎ）をオンにすればよい。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態におけるデータ転送システムの構成を示すブロック図である。
【図２】本発明の一実施形態における追い越し判定回路の構成を示すブロック図である。
【図３】本発明の一実施形態における追い越し判定回路の動作を示すタイミングチャートである。
【符号の説明】
【００２６】
１  データ転送システム
２  書き込み側回路（書き込み側装置）
３  デュアルポートメモリ
４  読み出し側回路（読み出し側装置）
５  追い越し判定回路（追い越し判定装置）
５１  周期換算部（書き込み時期予測手段）
５２  予測カウンタ（アドレス算出手段）
５３  比較部（判定手段）
【図１】
2006065704.tif 000003
【図２】
2006065704.tif 000004
【図３】
2006065704.tif 000005