(57)【要約】【課題】シングルポートメモリを用いて、データが欠けることなく連続した書き込み及び読み取りを行う。【解決手段】書き込み用のクロック周波数からなる第１のクロック信号に同期した書き込みデータが保持されるライトバッファ回路と、前記第１のクロック信号と、前記第１のクロック信号と独立した読み取り用のクロック周波数からなる第２のクロック信号との非同期吸収を行う非同期吸収回路と、シングルポートメモリに対する書き込み及び読み取りを制御するＲＡＭコントローラ回路とを有し、前記非同期吸収回路は、前記ライトバッファ回路で保持された書き込みデータを、前記第２のクロック信号に対応させてデータ長を調整し、調整された書き込みデータを前記ＲＡＭコントローラ回路へ出力することにより上記課題を解決する。【選択図】  図３
2010134646.tif 000002
【特許請求の範囲】
【請求項１】
書き込み用のクロック周波数からなる第１のクロック信号に同期した書き込みデータが保持されるライトバッファ回路と、
前記第１のクロック信号と、前記第１のクロック信号と独立した読み取り用のクロック周波数からなる第２のクロック信号との非同期吸収を行う非同期吸収回路と、
シングルポートメモリに対する書き込み及び読み取りを制御するＲＡＭコントローラ回路とを有し、
前記非同期吸収回路は、前記ライトバッファ回路で保持された書き込みデータを、前記第２のクロック信号に対応させてデータ長を調整し、調整された書き込みデータを前記ＲＡＭコントローラ回路へ出力することを特徴とする速度変換回路。
【請求項２】
前記非同期吸収回路は、前記第２のクロック信号に固定期間が存在する場合、前記固定期間に対応させて、前記書き込みデータのデータ長を調整するタイミングを設定することを特徴とする請求項１に記載の速度変換回路。
【請求項３】
前記非同期吸収回路は、前記調整された書き込みデータを保持する多段のラッチ回路を含むことを特徴とする請求項１又は２に記載の速度変換回路。
【請求項４】
前記ＲＡＭコントローラ回路は、前記シングルポートメモリに対する書き込み及び読み取りを前記第２のクロック信号に基づいて制御することを特徴とする請求項１乃至３のいずれか一項に記載の速度変換回路。
【請求項５】
前記ＲＡＭコントローラ回路は、前記第２のクロック信号に基づいて、前記第１のクロック信号の周波数の範囲を設定することを特徴とする請求項１乃至４のいずれか一項に記載の速度変換回路。
【請求項６】
前記ＲＡＭコントローラ回路は、前記書き込みデータのサイズに基づいて、前記書き込みデータの書き込みに必要なシングルポートメモリの容量を算出することを特徴とする請求項１乃至５のいずれか一項に記載の速度変換回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、順次入力されるデータを入力された順に出力するメモリ装置の速度変換回路に関し、特に集積回路に構成されるメモリ装置の速度変換回路に関する。
【背景技術】
【０００２】
従来、ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）といわれる入力データを入力された順に出力するメモリ装置は、例えば一種の記憶回路として、種々の電子回路において広く使用されている基本的な回路である。このＦＩＦＯメモリの一般的な構成について以下に説明する。
【０００３】
図１は、従来におけるＦＩＦＯ型速度変換回路を示す図である。図１に示すように、ＦＩＦＯメモリ装置１００は、ライトコントローラ（Ｗｒｉｔｅ  Ｃｏｎｔｒｏｌ）１０１と、デュアルポートメモリ１０３と、リードコントローラ（Ｒｅａｄ  Ｃｏｎｔｒｏｌ）１０５とを有するよう構成されている。
【０００４】
ライトコントローラ１０１は、例えば第１のクロック信号であるクロック信号ｃｌｋ＿ａに同期した書き込みクロック信号に基づいて、デュアルポートメモリ１０３のアドレス空間内で順次サイクリックにアドレスをカウントアップし、そのライトアドレスをデュアルポートメモリに１０３に印加する。また、リードアドレスカウンタ１０５は、例えば第２のクロック信号であるクロック信号ｃｌｋ＿ｂに同期した読み取り信号に基づいて、デュアルポートメモリ１０３のアドレス空間で順次サイクリックにアドレスをカウントアップし、そのリードアドレスをデュアルポートメモリ１０３に印加する。
【０００５】
デュアルポートメモリ１０３は、実質的に読み取りと書き込みを同一の期間に独立して行うことができるメモリであり、例えばＦＩＦＯ型の２ｐｏｒｔＳＲＡＭ等を用いることができる。デュアルポートメモリ１０３は、ライトコントローラ１０１より入力されるライトアドレスに、書き込みデータｗｄａｔａを書き込む。また、デュアルポートメモリ１０３は、リードコントローラ１０５より入力される読み取りアドレスに記憶されているデータを、読み取りデータｒｄａｔａとして読み取り出力する。なお、図１において信号ｗｒｓｔ及び信号ｒｒｓｔは、それぞれライトリセット信号及びリードリセット信号である。
【０００６】
このように、従来ではデュアルポートメモリ１０３を用いた場合には、書き込み及び読み取りがそれぞれ別のクロック系統により処理され、データが転送し終わるまでアドレスの追い越しが発生しないように、ＦＩＦＯの容量が、見積もられる。
【０００７】
ここで、図２は、デュアルポートメモリを用いた場合におけるタイミングチャートである。図２に示すように、デュアルポートメモリ１０３に対するデータの書き込み及びデータの読み取りのタイミングは、それぞれクロック信号ｃｌｋ＿ａ及びクロック信号ｃｌｋ＿ｂに同期させた信号ｗｒｓｔ及び信号ｒｒｓｔによって行われる。
【０００８】
しかしながら、半導体集積回路上にこのようなＦＩＦＯメモリ装置を構成する場合、デュアルポートメモリは、シングルポートのメモリに対してサイズが大きいという不利益がある。そのため、より多くの回路を集積したい半導体装置において、少しでもサイズの小さいシングルポートＳＲＡＭ等を搭載し制御する方法が用いられている。
【０００９】
具体的には、従来ではシングルポートＳＲＡＭを使用して、毎サイクルデータの書き込みと読み取りを行う例が知られている（例えば、特許文献１参照）。また、シングルポートＳＲＡＭへの同時読み取りアクセス及び書き込みアクセスを、アービタを挿入して行う回路が知られている（例えば、特許文献２参照）。更に、２つのシングルポートＳＲＡＭを使用して、書き込み或いは読み取り動作を行うメモリ制御装置が知られている（例えば、特許文献３参照）。
【特許文献１】特開２００２−１９０１９３号公報
【特許文献２】特表２００５−５２３５３６号公報
【特許文献３】特開２００７−２４９０１０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記に示すような従来技術において、ライトデータ転送周波数とリードデータ転送周波数が非同期の場合には、シングルポートＳＲＡＭから連続したデータを読み取るときに、ライトデータが途切れてしまう可能性や、読み取りクロック信号が停止する固定期間が発生する場合に、データ転送のデータが欠けてしまう可能性があった。
【００１１】
本発明は上記の点に鑑みてなされたものであり、シングルポートメモリを用いて、データが欠けることなく連続した書き込み及び読み取りを可能とする速度変換回路を提供する。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために本発明では、次に述べる各手段を講じたことを特徴とするものである。
【００１３】
本発明は、書き込み用のクロック周波数からなる第１のクロック信号に同期した書き込みデータが保持されるライトバッファ回路と、前記第１のクロック信号と、前記第１のクロック信号と独立した読み取り用のクロック周波数からなる第２のクロック信号との非同期吸収を行う非同期吸収回路と、シングルポートメモリに対する書き込み及び読み取りを制御するＲＡＭコントローラ回路とを有し、前記非同期吸収回路は、前記ライトバッファ回路で保持された書き込みデータを、前記第２のクロック信号に対応させてデータ長を調整し、調整された書き込みデータを前記ＲＡＭコントローラ回路へ出力することを特徴とする。
【００１４】
また、本発明によれば、速度変換回路において、前記非同期吸収回路は、前記第２のクロック信号に固定期間が存在する場合、前記固定期間に対応させて、前記書き込みデータのデータ長を調整するタイミングを設定することを特徴とする。
【００１５】
また、本発明によれば、速度変換回路において、前記非同期吸収回路は、前記調整された書き込みデータを保持する多段のラッチ回路を含むことを特徴とする。
【００１６】
また、本発明によれば、速度変換回路において、前記ＲＡＭコントローラ回路は、前記シングルポートメモリに対する書き込み及び読み取りを前記第２のクロック信号に基づいて制御することを特徴とする。
【００１７】
また、本発明によれば、速度変換回路において、前記ＲＡＭコントローラ回路は、前記第２のクロック信号に基づいて、前記第１のクロック信号の周波数の範囲を設定することを特徴とする。
【００１８】
また、本発明によれば、速度変換回路において、前記ＲＡＭコントローラ回路は、前記書き込みデータのサイズに基づいて、前記書き込みデータの書き込みに必要なシングルポートメモリの容量を算出することを特徴とする。
【発明の効果】
【００１９】
本発明によれば、シングルポートメモリを用いて、データが欠けることなく連続した書き込み及び読み取りを可能とする。
【発明を実施するための最良の形態】
【００２０】
次に、本発明を実施するための最良の形態について図面と共に説明する。
【００２１】
＜速度変換回路のブロック図＞
図３は、本実施形態に係る回路構成の一例を示す図である。図３に示すように、本実施形態における速度変換回路１０は、ライトバッファ回路１２と、非同期吸収回路１４と、シングルポートメモリ１６と、ＲＡＭコントローラ回路１８とを有するよう構成されている。
【００２２】
また、本実施形態における速度変換回路１０においては発明の内容を説明するために、入力される第１のクロック信号である書き込みクロック信号ｃｌｋ＿ａの周波数と、第２のクロック信号である読み取りクロック信号ｃｌｋ＿ｂの周波数とは、書き込みクロック信号ｃｌｋ＿ａの周波数よりも、読み取りクロック信号ｃｌｋ＿ｂの周波数の方が大きいものとする（ｃｌｋ＿ａ信号＜ｃｌｋ＿ｂ信号）。
【００２３】
図３において、ライトバッファ回路１２は、書き込みクロック信号ｃｌｋ＿ａが入力され、書き込みクロック信号ｃｌｋ＿ａに同期した書き込みデータｗｄａｔａと、ライトリセット信号ｗｒｓｔが入力される。なお、ライトバッファ回路１２に入力されるライトリセット信号ｗｒｓｔは、転送データの先頭位置を後段回路へ伝えるために用いられる。
【００２４】
ライトバッファ回路１２は、書き込みクロック信号ｃｌｋ＿ａに同期したｎ個（１≦ｎ）の書き込みデータｗｄａｔａを保持するバッファ回路として機能する。つまり、ライトバッファ回路１２において、例えば書き込みクロック信号ｃｌｋ＿ａに同期したｎ個の書き込みデータｗｄａｔａが保持されることにより、非同期吸収回路１４における書き込みクロック信号ｃｌｋ＿ａと読み取りクロック信号ｃｌｋ＿ｂとの非同期吸収を行うための非同期吸収期間が生成されることになる。
【００２５】
非同期吸収回路１４は、書き込みクロック信号ｃｌｋ＿ａ、読み取りクロック信号ｃｌｋ＿ｂ、及びライトリセット信号ｗｒｓｔが入力される。また、非同期吸収回路１４は、ライトバッファ回路１２にて保持された書き込みデータｗｄａｔａが入力される。
【００２６】
また、同期吸収回路１４は、書き込みクロック信号ｃｌｋ＿ａに同期した任意の設定値にて作られたパルスを用いて、読み取りクロック信号ｃｌｋ＿ｂで同期化し、読み取りクロック信号ｃｌｋ＿ｂに対応させて書き込みデータｗｄａｔａのデータ長を調整することにより、非同期吸収を行なう。
【００２７】
また、非同期吸収回路１４は、読み取りクロック信号ｃｌｋ＿ｂが後述する位相調整等により停止する固定期間が存在する場合には、固定期間に対応させて、書き込みデータｗｄａｔａのデータ長を調整するときのタイミングを設定する。また、非同期吸収回路１４は、調整された書き込みデータｗｄａｔａを保持する多段のラッチ回路を含んでも良い。
【００２８】
また、非同期吸収回路１４は、調整された書き込みデータｗｄａｔａをＲＡＭコントローラ回路１８に出力する。
【００２９】
なお、書き込みクロック信号ｃｌｋ＿ａと、読み取りクロック信号ｃｌｋ＿ｂとの非同期吸収方法については後述する。
【００３０】
また、非同期吸収回路１４に入力されるライトリセット信号ｗｒｓｔは、シングルポートメモリ１６のライトアドレス信号を生成するために使用される。
【００３１】
シングルポートメモリ１６は、例えばシングルポートＳＲＡＭ等を用いることができ、ＲＡＭコントローラ回路１８によって制御される。また、シングルポートメモリ１６は、読み取りクロック信号ｃｌｋ＿ｂが入力され、ＲＡＭコントローラ回路１８から、ライトアドレス及びリードアドレスをアドレス番号順にマージしたアドレス信号ｒａｍ＿ａｄが入力される。
【００３２】
このように、シングルポートメモリ１６にＲＡＭコントローラ回路１８からアドレス信号ｒａｍ＿ａｄが入力されることにより、ＲＡＭコントローラ回路１８によって制御されたライトアドレス信号ｒａｍ＿ｗａｄにしたがって、ＲＡＭコントローラ回路１８から書き込みデータｗｄａｔａが入力される。また、ＲＡＭコントローラ回路１８により制御されたリードアドレス信号ｒａｍ＿ｒａｄにしたがって、シングルポートメモリ１６から読み取りデータｒｄａｔａが、ＲＡＭコントローラ回路１８に出力される。
【００３３】
ＲＡＭコントローラ回路１８は、シングルポートメモリ１６に対して専用のアクセスクロック信号ｒａｍ＿ｃｌｋを用いて転送データの書き込み又は読み取りタイミングの制御を行う。つまり、ＲＡＭコントローラ回路１８は、非同期吸収回路１４から得られる書き込みデータｗｄａｔａをアクセスクロック信号ｒａｍ＿ｃｌｋにしたがって、シングルポートメモリ１６に出力する。なお、ＲＡＭコントローラ回路１８は、アクセスクロック信号ｒａｍ＿ｃｌｋの代わりに読み取りクロック信号ｃｌｋ＿ｂ、又は、後述する読み取りクロック信号ｃｌｋ＿ｂに同期させたライトイネーブル信号ｒａｍ＿ＷＥにしたがって、シングルポートメモリ１６に出力することもできる。
【００３４】
また、ＲＡＭコントローラ回路１８は、リードリセット信号ｒｒｓｔが入力され、シングルポートメモリ１６より出力された読み取りデータｒｄａｔａを出力する。
【００３５】
ＲＡＭコントローラ回路１８は、シングルポートメモリ１６への書き込みデータｗｄａｔａの入力、及び読み取りデータｒｄａｔａの出力を制御することにより、データを欠くことなく連続リード及び連続ライトするＦＩＦＯ同様の動作を可能とする。
【００３６】
＜非同期吸収回路への非同期受け渡し回路構成を示すタイミングチャート＞
次に、ライトバッファ回路１２から非同期吸収回路１４へ出力される各信号及び各データの回路構成について説明する。図４は、非同期吸収回路への非同期受け渡し回路構成の一例を示すタイミングチャートである。
【００３７】
図４において、書き込みクロック信号ｃｌｋ＿ａは、ライトバッファ回路１２と非同期吸収回路１４に入力されるクロック信号である。
【００３８】
書き込みクロック信号ｃｌｋ＿ａに同期したｎ個の書き込みデータｗｄａｔａは、ライトバッファ回路１２において保持される。また、ライトバッファ回路１２において、ｎ個の書き込みデータｗｄａｔａが非同期吸収回路１４に出力された後、＋１、＋２、＋３・・・と更に書き込みクロック信号ｃｌｋ＿ａに同期したｎ個の書き込みデータｗｄａｔａが保持される。
【００３９】
ライトリセット信号ｗｒｓｔは、ライトバッファ回路１２において保持されるｎ個の書き込みデータｗｄａｔａの転送データの先頭位置を非同期吸収回路１４に伝えるものである。
【００４０】
ライトリセットエッジ信号ｗｒｓｔ＿ａ＿ｅｄｇｅは、書き込みクロック信号ｃｌｋ＿ａに同期したｎ個の書き込みデータｗｄａｔａが、ライトバッファ回路１２から非同期吸収回路１４に出力されるときの転送データの先頭位置を示すものである。また、ライトリセットエッジ信号ｗｒｓｔ＿ａ＿ｅｄｇｅは、ライトバッファ回路１２から非同期吸収回路１４に出力されるｎ＋１個の書き込みデータｗｄａｔａの転送データの先頭位置を示すものでもある。
【００４１】
図４に示すように、非同期吸収回路１４において、書き込みクロック信号ｃｌｋ＿ａに同期したｎ個の書き込みデータｗｄａｔａが保持されている期間が、非同期吸収期間となる。
【００４２】
非同期受け渡し信号ｗｒｓｔ＿ｂ＿ｅｄｇｅは、ｎ個の書き込みデータｗｄａｔａが保持されている際に、書き込みクロック信号ｃｌｋ＿ａに同期したカウンタの任意の設定値にて作られたパルスを、読み取りクロック信号ｃｌｋ＿ｂで同期化を行い、読み取りクロック信号ｃｌｋ＿ｂへの非同期受け渡し信号となる。
【００４３】
非同期受け渡し信号ｗｒｓｔ＿ｂ＿ｅｄｇｅにより、書き込みクロック信号ｃｌｋ＿ａと、読み取りクロック信号ｃｌｋ＿ｂとの非同期吸収を行なわれ、書き込みクロック信号ｃｌｋ＿ａに同期したｎ個の書き込みデータｗｄａｔａは、読み取りクロック信号ｃｌｋ＿ｂに対応させてデータ長が調整されたｎ個のデータとして変換されて制御される。
【００４４】
＜読み取りクロック信号ｃｌｋ＿ｂが固定信号となる例＞
次に、読み取りクロック信号ｃｌｋ＿ｂ信号がある期間、例えば停止される等の固定信号となる場合が想定されるシステムについて説明する。図５は、簡略化した複写機の書き込み構成の一例を示す図である。
【００４５】
図５に示すように、複写機の書込みシステムにおいて、ライン周期のデータ処理を施し、回転するポリゴンミラーのミラー面に対し、先端センサーと後端センサーとの間のラインデータをレーザ（ＬＤ）にて照射していく上で、より精度の高い照射を行うには、位相調整が必要となる。
【００４６】
位相調整は、ポリゴンミラーが何面であっても必要であり、位相調整を行なわない場合には、ポリゴン面間にジッタ（位置ずれ）が発生する。したがって、ポリゴン面間のジッタによるデータに対する影響を抑えるためには、書き込み開始位置を合わせる必要がある。
【００４７】
なお、本実施形態における読み取りクロック信号ｃｌｋ＿ｂが、固定信号となる場合を考慮しているが、これは例えば書き込み開始位置を合わせるための位相調整を目的とするものではない。つまり、本実施形態では、読み取りクロック信号ｃｌｋ＿ｂが固定信号となる場合であっても、ＦＩＦＯメモリ装置の動作を制御するクロック信号を利用した回路構成において、必要とするデータ量が欠けることなく、読み取りが行なえることを目的とする。したがって、転送されるデータ全てが書き込み及び読み取られることを目的とするものではない。
【００４８】
＜読み取りクロック信号ｃｌｋ＿ｂが固定信号となる場合のタイミングチャートの例＞
次に、上記した位相調整等のために読み取りクロック信号ｃｌｋ＿ｂを固定した場合にについて説明する。図６は、読み取りクロック信号ｃｌｋ＿ｂを固定した場合における読み取りクロック信号ｃｌｋ＿ｂとリードリセット信号ｒｒｓｔ、書き込みクロック信号ｃｌｋ＿ａと書き込みリセット信号ｗｒｓｔの一例を示すタイミングチャートである。
【００４９】
図６に示すように、ライトリセット信号ｗｒｓｔは、書き込みクロック信号ｃｌｋ＿ａと同期である。リードリセット信号ｒｒｓｔは、読み取りクロック信号ｃｌｋ＿ｂと同期である。したがってライトリセット信号ｗｒｓｔは、リードリセット信号ｒｒｓｔとは独立したクロック制御である。
【００５０】
図６のタイミングチャートに示す期間「Ａ」は、シングルポートメモリ１６の容量を示すものとする。このとき、図６のタイミングチャートに示す期間「Ｂ」は、上記したように位相調整のために読み取りクロック信号ｃｌｋ＿ｂを固定した期間を示している。このように、期間「Ａ」に対応させて期間「Ｂ」を設けることで、シングルポートメモリ１６の容量に対応させて読み取り開始位置を合わせることができる。
【００５１】
ここで、本実施形態における速度変換回路１０おけるＦＩＦＯ動作においては、読み取りクロック信号ｃｌｋ＿ｂは、常にライト・リードアクセスをしている必要がある。
【００５２】
＜固定信号となる場合を考慮に入れたタイミングチャートの例１＞
そこで、上述した図４に示した非同期吸収期間において、書き込みクロック信号ｃｌｋ＿ａから読み取りクロック信号ｃｌｋ＿ｂへの非同期受け渡し、及び上述した図６で示すクロック固定期間を考慮した回路構成を示す。図７は、読み取りクロック信号ｃｌｋ＿ｂが固定される一例を示すタイミングチャートである。
【００５３】
まず、上記図６のタイミングチャートにおける読み取りクロック信号ｃｌｋ＿ｂ固定期間「Ｂ」において、読み取りクロック信号ｃｌｋ＿ｂが固定される期間を、例えば読み取りクロック信号ｃｌｋ＿ｂの最大クロック期間によって設定する。ここで、読み取りクロック信号ｃｌｋ＿ｂが固定されるサイクル数を「α」とする。
【００５４】
図７において、タイミングチャートに示す期間「Ｃ」が、非同期吸収期間と読み取りクロック信号ｃｌｋ＿ｂのクロック固定期間「Ｂ」が重なる期間である。
【００５５】
上述したように、ライトバッファ回路１２において、書き込みクロック信号ｃｌｋ＿ａ信号×ｎ幅の期間でｎ個データを保持するため、非同期受け渡しでは、読み取りクロック信号ｃｌｋ＿ｂにおいて、読み取りクロック信号ｃｌｋ＿ｂ×（ｎ+α）幅とする。
【００５６】
上述の内容を、以下の通り計算式を示す。
【００５７】
Ｔｃｌｋ＿ａ×ｎ≧Ｔｃｌｋ＿ｂ×(ｎ＋α)・・・・・・(１)
Ｔｃｌｋ＿ａ：書き込みクロック信号ｃｌｋ＿ａの周期
Ｔｃｌｋ＿ｂ：読み取りクロック信号ｃｌｋ＿ｂの周期
上記（１）に示す式を満たすことにより、非同期吸収回路１４への非同期受け渡しの際に、書き込みデータｗｄａｔａを取りこぼさない回路構成とすることが可能となる。
【００５８】
＜読み取りクロック信号ｃｌｋ＿ｂが固定信号となる場合のタイミングチャートの例２＞
上記（１）式を満たす回路構成では、ｎ個データを保持する毎に、「α」を追加するとデータ転送期間が長くなる。また、上記において、クロックが固定される例として挙げたシステムでは、クロックが固定される期間は、１ラインデータにおいて１回発生する例である。
【００５９】
そこで、ｎ個データを保持する毎に「α」を挿入する回数を減らすため、図７に示す書き込みデータエッジ信号ｗｄａｔａ＿ｅｄｇｅの生成回路における、書き込みデータエッジ信号ｗｄａｔａ＿ｅｄｇｅを生成するタイミングについて説明する。図８は、書き込みデータエッジ信号ｗｄａｔａ＿ｅｄｇｅ生成回路におけるタイミング設定の一例を示すタイミングチャートである。
【００６０】
図８に示すように、書き込みクロック信号ｃｌｋ＿ｂに同期のカウンタで、データ数ｎをカウントするカウンタｃｎｔ＿ｂにて、書き込みデータエッジ信号ｗｄａｔａ＿ｅｄｇｅのタイミングを以下のように設定する。
【００６１】
０＜ｗｄａｔａ＿ｅｄｇｅ＜ｎ−α・・・・・・（２）
上記（２）に示す式を満たすタイミングで書き込みデータエッジ信号ｗｄａｔａ＿ｅｄｇｅを生成する回路を構成する。
【００６２】
これにより、非同期吸収回路１４における非同期受け渡しの際に、ｎ個データを保持する毎に「α」を挿入する回数を減らし、読み取りクロック信号ｃｌｋ＿ｂが固定信号となる固定期間を考慮する必要のない回路構成を可能とする。
【００６３】
＜読み取りクロック信号ｃｌｋ＿ｂが固定信号となる場合のタイミングチャートの例３＞
次に、ｎ個データを保持する毎に「α」を挿入することを回避するため、非同期吸収回路１４の出力段に、ｎ個のデータラッチする回路を構成する方法を説明する。図９は、ｎ個のデータをｍ段ラッチする回路を非同期吸収回路の出力段に構成する一例を示すタイミングチャートである。
【００６４】
図９に示すように、非同期吸収回路１４の出力段は、非同期受け渡しの際、ｎ個のデータをｍ段ラッチする回路である。ここで、ｎ個のデータとは、非同期吸収回路１４において、書き込みクロック信号ｃｌｋ＿ａに同期したｎ個の書き込みデータｗｄａｔａが、読み取りクロック信号ｃｌｋ＿ｂに対応してデータ長が調整されたデータを示す。
【００６５】
また、データカウンタは、シングルポートメモリ１６へ書き込むためのデータを準備するカウンタある。
【００６６】
図９に示す期間「Ｄ」及び期間「Ｅ」で示す幅は、常に同じ幅であるとは限らず、速度変換を行うため、書き込みクロック信号ｃｌｋ＿ａ、及び読み取りクロック信号ｃｌｋ＿ｂの周波数関係と位相関係を考慮し、幅＝ｎ，ｎ＋１，ｎ＋２と周波数差により幅が変わる。
【００６７】
図９に示すｎ×ｍ個の書き込みデータｗｄａｔａを転送するのに必要な期間は、読み取りクロック信号ｃｌｋ＿ｂ×(ｎ×ｍ)であるが、図９に示す「β」の期間が発生することが考えられる。ここで、「β」は、書き込みデータｗｄａｔａがないために、シングルポートメモリ１６へのライトアドレスが変化しない期間を示す。
【００６８】
これにより、書き込みデータｗｄａｔａのｍ×ｎ個のデータ転送に対し、読み取りクロック信号ｃｌｋ＿ｂ×｛(ｎ×ｍ)＋β｝の期間を確保することが可能となる。なお、ｍ段ラッチの段数を多くすることで、転送期間を短くすることは可能であるが、段数分ゲート数が増加することを考慮する必要がある。また、上記のｎ個のデータをラッチする回路は、非同期吸収回路１４の出力段に設けず、非同期吸収回路１４に設けても良い。
【００６９】
上記構成により、非同期吸収回路１４における非同期受け渡しの際に、ｎ個データを保持する毎に「α」を挿入することが回避可能な回路構成となる。
【００７０】
＜ＲＡＭコントローラ回路１８について＞
次に、シングルポートメモリ１６のアクセス制御を行なうＲＡＭコントローラ回路１８について説明する。図１０は、シングルポートメモリへのアクセス制御の一例を示す図である。
【００７１】
図１０に示すように、ＲＡＭコントローラ回路１８は、アクセス制御するシングルポートメモリ１６のポートとして、以下の信号をタイミングチャートに示す。
【００７２】
タイミングチャートには、アクセスクロック信号ｒａｍ＿ｃｌｋ、ライトイネーブル信号ｒａｍ＿ＷＥ、書き込みマスク信号ｒａｍ＿ｗｍａｓｋ、ライトアドレス信号ｒａｍ＿ｗａｄ、リードアドレス信号ｒａｍ＿ｒａｄ、アドレス信号ｒａｍ＿ａｄが示されている。
【００７３】
ここで、アクセスクロック信号ｒａｍ＿ｃｌｋは、シングルポートメモリ１６へのアクセスクロック信号である。ライトイネーブル信号ｒａｍ＿ＷＥは、読み取りクロック信号ｃｌｋ＿ｂの２分周信号である。
【００７４】
また、ライトアドレス信号ｒａｍ＿ｗａｄは、書き込みデータｗｄａｔａのアドレス信号を示す。リードアドレス信号ｒａｍ＿ｒａｄは、読み取りデータｒｄａｔａのアドレス信号を示す。
【００７５】
アドレス信号ｒａｍ＿ａｄは、ライトアドレス信号及びリードアドレス信号をアドレス番号順にマージした、シングルポートメモリ１６のアドレスポートへの入力信号である。
【００７６】
書き込みマスク信号ｒａｍ＿ｗｍａｓｋは、ライトアドレス信号ｒａｍ＿ｗａｄにおいて、アドレスインクリメントが行われないサイクル期間に、書き込みをマスクする信号である。なお、書き込みマスク信号ｒａｍ＿ｗｍａｓｋは、シングルポートメモリ１６がマスク処理をするポートを持っていれば、それに対応する信号としても良い。
【００７７】
図１０に示すライトアクセス及びリードアクセス等のアクセス制御において、書き込みデータｗｄａｔａ、読み取りデータｒｄａｔａは、シングルポートメモリ１６のｂｉｔ幅であれば良い。
【００７８】
また、図１０のタイミングチャートにおいて、アクセスクロック信号ｒａｍ＿ｃｌｋは、読み取りクロック信号ｃｌｋ＿ｂに等しく、書き込み及び読み取り（ライト／リード）を交互に行う回路であれば、書き込みデータｗｄａｔａ２個を1アドレスに書くようにすれば良い。なお、書き込みデータｗｄａｔａは、２個に限らず増やすことは可能であるが、シングルポートメモリ１６へのアクセス間隔が広がる制御が必要となる。また、リード側は、読み取った読み取りデータｒｄａｔａをパラレル−シリアル変換して出力する回路とする。
【００７９】
図１０のタイミングチャートにて、書き込みマスク信号ｒａｍ＿ｗｍａｓｋによってマスクされた期間が、上述した書き込みデータｗｄａｔａがないために、シングルポートメモリ１６へのライトアドレスが変化しない期間「β」である。
【００８０】
図１０の例では、マスクされた期間「β」の間に、マスクされた期間「β」の直前のアドレスｗ５からアドレスインクリメントがなされないため、アドレスｗ５を２つ挿入している。
【００８１】
＜書き込みクロック信号ｃｌｋ＿ａの周波数範囲算出方法、及びシングルポートメモリ１６の容量算出方法について＞
次に、書き込みクロック信号ｃｌｋ＿ａの周波数範囲の算出方法と、シングルポートメモリ１６の最適な容量の算出方法について説明する。まず、条件として、上記回路構成により読み取りクロック信号ｃｌｋ＿ｂを決定し、次に書き込みクロック信号ｃｌｋ＿ａに対する読み取りクロック信号ｃｌｋ＿ｂの周波数範囲のマージンが、何％保証が必要であり、また転送データの全体の何％が有効となるかを設定する。
【００８２】
これにより、書き込みクロック信号ｃｌｋ＿ａの周波数範囲の算出と、シングルポートメモリ１６の最適な容量を見積もる計算とが可能となる。前述の変数に、具体的な例の一つとして値を入れて、算出する。
【００８３】
読み取りクロック信号ｃｌｋ＿ｂ＝１９０ＭＨｚ・・・・・・・・（３)
書き込みデータの転送データ数ｎ＝１４・・・・・・・・・・・・(４)
書き込みデータ数ｎを保持する段数ｍ＝８・・・・・・・・・・・(５)
読み取りクロック信号ｃｌｋ＿ｂの固定サイクル数α＝３・・・・(６)
読み取りクロック信号ｃｌｋ＿ｂの周波数範囲保証％＝±４％・・(７)
（読み取りクロック信号ｃｌｋ＿ｂ：１８２．４ＭＨｚ〜１９７．６ＭＨｚ)を保証）
転送データ:２３５００個・・・・・（８）
シングルポートメモリ１６のｂｉｔ幅は、８ｂｉｔ(１データ：４ｂｉｔ)とする。
【００８４】
まず、書き込みクロック信号ｃｌｋ＿ａの上限周波数を求める。書き込みクロック信号ｃｌｋ＿ａの上限周波数は、書き込みクロック信号ｃｌｋ＿ａ＝｛上記（７）×｛（ｎ×ｍ）／｛（ｎ×ｍ）＋α｝｝から算出する。
【００８５】
ここで、「ｎ×ｍ」は、例えばシングルポートメモリ１６への書き込みデータｗｄａｔａのデータパッキング画素数（ｎ×ｍ）ｄｏｔ／ｐａｃｋを示す。このとき、書き込みデータｗｄａｔａのデータパッキング当たりの書き込みクロック信号ｃｌｋ＿ａは、（ｎ×ｍ）ｃｌｋ＿ａ／ｐａｃｋとすることができる。
【００８６】
また、「α」は、読み取りクロック信号ｃｌｋ＿ｂが停止する期間（固定期間）に対応する必要がある画素数である。すなわち、１パッキング当たりに読み取り（リード）が追いつく画素数を意味する。よって、｛（ｎ×ｍ）＋α｝は、１パッキング当たりの読み取りクロック信号ｃｌｋ＿ｂを示している。したがって、書き込みデータｗｄａｔａのデータパッキング当たりの書き込みクロック信号ｃｌｋ＿ａは、｛（ｎ×ｍ）＋α｝ｃｌｋ＿ａ／ｐａｃｋとすることができる。
【００８７】
また、読み取りクロック信号ｃｌｋ＿ｂの停止期間に対応するのに必要な周波数の比率を計算すると、計算式は、書き込みクロック信号ｃｌｋ＿ａ／読み取りクロック信号ｃｌｋ＿ｂ＝（ｎ×ｍ）／｛（ｎ×ｍ）＋α｝となる。なお、この計算式は、画素数ベースにおける書き込みクロック信号ｃｌｋ＿ａベースでの計算である。
【００８８】
以上を踏まえると、読み取りクロック信号ｃｌｋ＿ｂの周波数範囲の下限周波数に対して、上記周波数比率を用いることで、書き込みクロック信号ｃｌｋ＿ａの上限周波数を求めることが可能となる。すなわち、書き込みクロック信号ｃｌｋ＿ａの上限周波数は、書き込みクロック信号ｃｌｋ＿ａ＝｛（７）の１８２．４ＭＨｚ｝×｛（ｎ×ｍ）／｛（ｎ×ｍ）＋α｝｝＝１７７．６ＭＨｚとなる。
【００８９】
また、読み取りクロック信号ｃｌｋ＿ｂの周波数上限１９７．６ＭＨｚに対し、書き込みクロック信号ｃｌｋ＿a上限周波数の周波数比は、書き込みクロック信号ｃｌｋ＿ａ／読み取りクロック信号ｃｌｋ＿ｂ＝１７７．６÷１９７．６＝８９．９０％となる。
【００９０】
次に、シングルポートメモリ１６の最適な容量を求める。書き込みクロック信号ｃｌｋ＿ａ＝１７７．６ＭＨｚで、読み取りクロック信号ｃｌｋ＿ｂ＝１９７．６ＭＨｚの時の速度差吸収時のデータ数は、Ｄａｔａ_ａ／ｂ＝（２３５００÷書き込みクロック信号ｃｌｋ＿ａ／読み取りクロック信号ｃｌｋ＿ｂ）−２３５００＝２６４１となる。
【００９１】
上記計算式より、シングルポートメモリとして必要な容量は、２．７ｋ×８ｂｉｔのサイズとなることが示される。
【００９２】
＜ＲＡＭコントローラ回路１８でライト・リードアドレスが別々に制御されている例＞
次に、ＲＡＭコントローラ回路１８において、ライト・リードアドレスが、別々に制御されている例を説明する。図１１は、ライト・リードアドレスが別々に制御されている一例を示す図である。
【００９３】
ＲＡＭコントローラ回路１８は、リードアドレス１８２と、ライトアドレス１８４と、ＲＡＭアクセスアドレス１８６とを含むように構成されている。
【００９４】
リードアドレス１８２には、読み取りクロック信号ｃｌｋ＿ｂと、読み取りクロック信号ｃｌｋ＿ｂに同期したリードリセット信号ｒｒｓｔが、入力され、リードアドレス信号ｒａｍ＿ｒａｄが生成されて、ＲＡＭアクセスアドレス１８６に出力される。
【００９５】
ライトアドレス１８４には、読み取りクロック信号ｃｌｋ＿ｂと、読み取りクロック信号ｃｌｋ＿ｂに同期したライトリセットｂ信号ｗｒｓｔ＿ｂが入力され、ライトアドレス信号ｒａｍ＿ｗａｄが生成されて、ＲＡＭアクセスアドレス１８６に出力される。
【００９６】
ＲＡＭアクセスアドレス１８６は、入力されるリードアドレス信号ｒａｍ＿ｒａｄと、ライトアドレス信号ｒａｍ＿ｗａｄをマージしたアドレス信号ｒａｍ＿ａｄをシングルポートメモリ１６に出力する。
【００９７】
上述の通り、本発明によれば、見かけ上ＦＩＦＯ型メモリ装置と同様の動作をする１ｐｏｒｔＳＲＡＭ（シングルポートメモリ）を使用し、非同期の場合でも、１ｐｏｒｔＳＲＡＭを制御する読み取りクロック周波数に基づいて、ライト側のクロック周波数を設定することにより、読み取りクロックが所定期間停止する場合であっても、有効なデータが欠けることなく連続した書き込み及び読み取りが可能となる
また、本発明によれば、１ｐｏｒｔＳＲＡＭに対するライトイネーブル信号に係らず、１ｐｏｒｔＳＲＡＭに対する書き込み及び読み取りを読み取りクロックにて制御することが可能となる。
【００９８】
また、本発明によれば、データ転送サイズと、１ｐｏｒｔＳＲＡＭを制御する読み取りクロック周波数に基づいて、データ転送に必要な１ｐｏｒｔＳＲＡＭの容量を見積もることが可能となる。
【００９９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【図面の簡単な説明】
【０１００】
【図１】従来におけるＦＩＦＯ型速度変換回路を示す図である。
【図２】デュアルポートメモリを用いた場合におけるタイミングチャートである。
【図３】本実施形態に係る回路構成の一例を示す図である。
【図４】非同期吸収回路への非同期受け渡し回路構成の一例を示すタイミングチャートである。
【図５】簡略化した複写機の書き込み構成の一例を示す図である。
【図６】読み取りクロック信号ｃｌｋ＿ｂを固定した場合における読み取りクロック信号ｃｌｋ＿ｂとリードリセット信号ｒｒｓｔ、書き込みクロック信号ｃｌｋ＿ａと書き込みリセット信号ｗｒｓｔの一例を示すタイミングチャートである。
【図７】読み取りクロック信号ｃｌｋ＿ｂが固定される一例を示すタイミングチャートである。
【図８】書き込みデータエッジ信号ｗｄａｔａ＿ｅｄｇｅ生成回路におけるタイミング設定の一例を示すタイミングチャートである。
【図９】ｎ個のデータをｍ段ラッチする回路を非同期吸収回路の出力段に構成する一例を示すタイミングチャートである。
【図１０】シングルポートメモリへのアクセス制御の一例を示す図である。
【図１１】ライト・リードアドレスが別々に制御されている一例を示す図である。
【符号の説明】
【０１０１】
１０  速度変換回路
１２  ライトバッファ回路
１４  非同期吸収回路
１６  シングルポートメモリ
１８  ＲＡＭコントローラ回路
１００  ＦＩＦＯ型速度変換回路
１０１  ライトコントローラ
１０３  デュアルポートメモリ
１０５  リードコントローラ
１８２  リードアドレスコントローラ
１８４  ライトアドレスコントローラ
１８６  ＲＡＭアクセスアドレスコントローラ
【図１】
2010134646.tif 000003
【図２】
2010134646.tif 000004
【図３】
2010134646.tif 000005
【図４】
2010134646.tif 000006
【図５】
2010134646.tif 000007
【図６】
2010134646.tif 000008
【図７】
2010134646.tif 000009
【図８】
2010134646.tif 000010
【図９】
2010134646.tif 000011
【図１０】
2010134646.tif 000012
【図１１】
2010134646.tif 000013