(57)【要約】【課題】同期型メモリ回路で、ＤＩＭＭを含めたメモリ搭載容量に依存せずコストアップすることなく単純回路構成でメモリ動作周波数を向上させるデジタル回路のコントローラ基板を提供する。【解決手段】中央処理演算装置（以下ＣＰＵ）と、ＣＬＫ同期型ＤＲＡＭ（以下メモリ）と、ＣＰＵ／メモリコントローラと、周辺回路制御機能を有するＡＳＩＣで構成されるデジタル回路のコントローラ基板において、ＣＬＫ同期でデータアクセスを行うメモリ回路で、１つのメモリバスに複数のメモリデバイスがコントローラ基板上またはＤＩＭＭ（メモリモジュール）により接続される構成において、前記基板上に実装されるメモリデバイス数（メモリ容量）および実装されるＤＩＭＭの枚数（容量）とは無関係にメモリ−ＡＳＩＣ間の信号の配線伝播遅延時間を一定にしてＣＬＫ周波数を向上するようにした。【選択図】図３
2006228090.tif 000002
【特許請求の範囲】
【請求項１】
中央処理演算装置（以下ＣＰＵ）と、ＣＬＫ同期型ＤＲＡＭ（以下メモリ）と、ＣＰＵ／メモリコントローラと、周辺回路制御機能を有するＡＳＩＣで構成されるデジタル回路のコントローラ基板において、ＣＬＫ同期でデータアクセスを行うメモリ回路で、１つのメモリバスに複数のメモリデバイスがコントローラ基板上またはＤＩＭＭ（メモリモジュール）により接続される構成において、前記基板上に実装されるメモリデバイス数（メモリ容量）とは無関係にメモリ−ＡＳＩＣ間の信号の配線伝播遅延時間を一定にしてＣＬＫ周波数を向上するようにしたことを特徴とするデジタル回路のコントローラ基板。
【請求項２】
請求項１に記載のデジタル回路のコントローラ基板において、コントローラ基板上で実装されないメモリデバイスが存在する基板構成の場合、そのメモリデバイスと同等の負荷容量のコンデンサを各メモリバス信号線に接続することにより、配線伝播遅延時間を一定にするようにしたことを特徴とするデジタル回路のコントローラ基板。
【請求項３】
請求項１に記載のデジタル回路のコントローラ基板において、前記基板上に実装されるメモリデバイス数（メモリ容量）および実装されるＤＩＭＭの枚数（容量）とは無関係にメモリ−ＡＳＩＣ間の信号の配線伝播遅延時間を一定にしてＣＬＫ周波数を向上するようにしたことを特徴とするデジタル回路のコントローラ基板。
【請求項４】
請求項３に記載のデジタル回路のコントローラ基板において、ＤＩＭＭのメモリ容量（負荷）を検知し、搭載されるＤＩＭＭのメモリ容量とは無関係に各メモリバスラインの負荷容量を一定にするようにしたことを特徴とするデジタル回路のコントローラ基板。
【請求項５】
請求項２または４に記載のデジタル回路のコントローラ基板において、前記配線負荷容量を一定化した方式で、かつＡＳＩＣ内部でデータ書込み時（出力）と読み込み時（ラッチ）でＣＬＫタイミングを変える（ＣＬＫの位相をずらす）ようにして、ＤＩＭＭの搭載容量に依存せずにＣＬＫ周波数を向上させることを特徴とするデジタル回路のコントローラ基板。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル回路のコントローラ基板に関し、複写機やプリンタ装置用制御基板等のデジタル回路全般に応用して好適である。
【背景技術】
【０００２】
通常ＳＤＲＡＭ等のＣＬＫ同期型メモリとメモリコントロールＡＳＩＣ間のデータ転送では、クロックジェネレータ等から出力される同一周波数のクロックに同期してデータ通信を行っている。
【０００３】
また、クロックはドライブ能力の問題から各チップ、モジュールにそれぞれ個別のクロック信号が使用されている（例えば、ＡＳＩＣクロック用１本、標準メモリクロック１本、増設ＤＩＭＭ１つに対し２本等）。
【０００４】
一般的なタイミング設計の算出は、メモリ→ＡＳＩＣ読み込み時では次の式で計算される。
クロック周期＝メモリ最大出力遅延＋ＡＳＩＣセットアップ時間＋
配線負荷伝播遅延＋クロックジター・スキュー
【０００５】
このクロック周波数を上げる技術の１つとして、特許文献１では、増設メモリ有無によりクロックスキューを調整させて周波数を上げている。
【０００６】
また、特許文献２では、ＣＬＫ非同期型メモリにおいて、メモリスロットにダミーパッケージを装着することで、単純に信号の伝播遅延時間を一定化する技術が開示されている。
【特許文献１】特開２００１−３１８８２８号公報
【特許文献２】特開平６−１６１６２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
コントローラの性能向上にはクロック周波数Ｕｐが有効であるが、クロック周波数は、
クロック周期＝デバイスの最大出力遅延＋デバイスのセットアップ時間＋
配線負荷遅延＋クロックジター・スキュー
で計算されるため、周波数Ｕｐ（＝クロック周期Ｄｏｗｎ）するには、上記加算要因を減らす必要がある。
【０００８】
その中でデバイスの最大出力遅延とセットアップ時間については、仕様・スペックで定義され回路上での改善は不可能である。また、クロックのジター、スキューの低減については、高性能なクロックジェネレータが必要になりのコストＵｐに繋がる。
【０００９】
また、最近製品の機能増大により、メモリ容量が増大化傾向にあるが、メモリ容量増大により、上記配線負荷伝播遅延時間が大きくなり、周波数Ｕｐの妨げ要因となって問題となっている。
【００１０】
特許文献１では、増設メモリ（ＤＩＭＭ）有無によりクロックスキューを調整→最適化して周波数向上を図っているが、基板上のメモリデバイス個数（負荷容量）の変化には対応できず、またメモリ容量別、書込み／読み込み別でクロックタイミングを細かく調整する必要があり回路が複雑化する等の問題があった。
【００１１】
また、特許文献２は、ＣＬＫ非同期型メモリで伝播遅延時間を一定化する技術であるが、メモリスロットにダミーパッケージを装着する等コストアップに繋がり、また同期型メモリで周波数向上を図る技術ではなかった。
【００１２】
本発明は、上述した実情を考慮してなされたものであって、同期型メモリ回路で、ＤＩＭＭを含めたメモリ搭載容量に依存せずにコストアップすることなく単純回路構成でメモリ動作周波数を向上させるデジタル回路のコントローラ基板を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、請求項１に記載の発明は、中央処理演算装置（以下ＣＰＵ）と、ＣＬＫ同期型ＤＲＡＭ（以下メモリ）と、ＣＰＵ／メモリコントローラと、周辺回路制御機能を有するＡＳＩＣで構成されるデジタル回路のコントローラ基板において、ＣＬＫ同期でデータアクセスを行うメモリ回路で、１つのメモリバスに複数のメモリデバイスがコントローラ基板上またはＤＩＭＭ（メモリモジュール）により接続される構成において、前記基板上に実装されるメモリデバイス数（メモリ容量）とは無関係にメモリ−ＡＳＩＣ間の信号の配線伝播遅延時間を一定にしてＣＬＫ周波数を向上するようにしたことを特徴とする。
【００１４】
請求項２に記載の発明は、請求項１に記載のデジタル回路のコントローラ基板において、コントローラ基板上で実装されないメモリデバイスが存在する基板構成の場合、そのメモリデバイスと同等の負荷容量のコンデンサを各メモリバス信号線に接続することにより、配線伝播遅延時間を一定にするようにしたことを特徴とする。
【００１５】
請求項３に記載の発明は、請求項１に記載のデジタル回路のコントローラ基板において、前記基板上に実装されるメモリデバイス数（メモリ容量）および実装されるＤＩＭＭの枚数（容量）とは無関係にメモリ−ＡＳＩＣ間の信号の配線伝播遅延時間を一定にしてＣＬＫ周波数を向上するようにしたことを特徴とする。
【００１６】
請求項４に記載の発明は、請求項３に記載のデジタル回路のコントローラ基板において、ＤＩＭＭのメモリ容量（負荷）を検知し、搭載されるＤＩＭＭのメモリ容量とは無関係に各メモリバスラインの負荷容量を一定にするようにしたことを特徴とする。
【００１７】
請求項５に記載の発明は、請求項２または４に記載のデジタル回路のコントローラ基板において、前記配線負荷容量を一定化した方式で、かつＡＳＩＣ内部でデータ書込み時（出力）と読み込み時（ラッチ）でＣＬＫタイミングを変える（ＣＬＫの位相をずらす）ようにして、ＤＩＭＭの搭載容量に依存せずにＣＬＫ周波数を向上させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、同期型メモリ回路で、ＤＩＭＭを含めたメモリ搭載容量に依存せずコストアップすることなく単純回路構成でメモリ動作周波数を向上させるデジタル回路のコントローラ基板を提供することができる。
【００１９】
即ち、ＣＬＫ同期でデータアクセスを行うメモリ回路で、１つのメモリバスに複数のメモリデバイスがコントローラ基板上、及びＤＩＭＭにより接続される構成において、接続されるメモリデバイス数（メモリ容量）、および実装されるＤＩＭＭの枚数（容量）とは無関係にメモリ−ＡＳＩＣ間の信号の配線伝播遅延時間を一定にして、ＣＬＫ周波数を向上させることができる。
【００２０】
また、ＤＩＭＭのメモリ容量（負荷）を検知し、搭載されるＤＩＭＭのメモリ容量とは無関係に各メモリバスラインの負荷容量を一定にし、ＣＬＫ周波数を向上させることができる。
【００２１】
さらに、配線伝播遅延時間一定化した方式で、かつＡＳＩＣ内部でデータ書込み時（出力）と読み込み時（ラッチ）でＣＬＫタイミングを変える（ＣＬＫの位相をずらす）ことで、ＤＩＭＭの搭載容量に依存せずにＣＬＫ周波数を向上させることができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明のデジタル回路のコントローラ基板に係る好適な実施形態について説明する。
【００２３】
＜実施形態１＞
図１は、本発明の実施形態１に係るコントローラ基板のメモリ回路ブロック図である。
図１において、１００はクロックを生成するクロックジェネレータ、１０１は中央処理演算装置（ＣＰＵ）、１０２はコントローラ基板全体を制御するＡＳＩＣ、１０３はコントローラ基板上に搭載される同期型メモリＲＡＭ１、１０４はコントローラ基板上に搭載される同期型メモリＲＡＭ２、１０５はメモリモジュールＤＩＭＭ、１０６はＲＡＭ２が未搭載時にメモリバスに接続されるコンデンサ、１０７はＲＡＭ１が未搭載時にメモリバスに接続されるコンデンサである。
【００２４】
この構成で、クロックジェネレータ１００からは同じ周波数のＣＬＫがそれぞれＣＰＵ１０１、ＡＳＩＣ１０２、同期型メモリ１０３,１０４およびメモリモジュール１０５に接続されている。各ＣＬＫは、伝播遅延時間が等しくなるように、配線長が調整されており、クロック間のスキューは±０ｐｓになるように調整されている。
【００２５】
図２は、メモリリード時のＣＬＫ補正タイミング図である。ここで、（Ａ）〜（Ｃ）は、コンデンサによる伝播遅延補正（周波数補正）をしない場合の従来のタイミングである。また、（Ｄ）〜（Ｆ）は、コンデンサによる伝播遅延補正（周波数補正）を行った場合のタイミングである。
【００２６】
（Ｂ）は、メモリ負荷が最小構成時のデータタイミングであり、（Ｃ）はメモリ負荷が最大構成時のデータタイミングである。
ＣＬＫ（Ａ）の周期は、通常（Ｃ）のメモリ負荷最大時のタイミングから以下の通り算出される。
【００２７】
Tp1（CLK周期）= Ta + Td2 + Ts
ここで、Ta：メモリのアクセスタイム、Td2：メモリ負荷最大時の信号配線による伝播遅延時間、Ts：ＡＳＩＣの入力セットアップ時間とする。
【００２８】
ＡＳＩＣ１０２の入力ＡＣスペック（タイミング規格）は、メモリ負荷構成により伝播遅延時間が変わってくるため、最悪条件を考慮した値となり、それがタイミングバジェットとなっている。
したがって、セットアップは、一般的にメモリ負荷最大時に伝播遅延時間が最大となるため、（Ｃ）の条件での伝播遅延時間Td2を最悪値とする。また、ホールドは、一般的にメモリ負荷最小時に伝播遅延時間が最小となるため、（Ｂ）の条件でのホールド出力時間（伝播遅延含む）Th1 = Th0を最悪値とする。
よって、ＡＳＩＣ１０２の入力ＡＣスペックは、セットアップではTs、ホールドではTh0となる。
【００２９】
ここで、（Ｃ）の場合、負荷が大きいため、ホールド時間Th2も長くなり、ＡＳＩＣ規格値Th0に対し、（Th2 - Th0）のマージンＢが存在し、配線負荷（伝播遅延時間）が一定になり、ホールド時間がTh2に統一されれば、ＡＳＩＣ１０２のデータ読み込みラッチタイミングを遅らせることが可能になる。
【００３０】
本実施形態１のコントローラ基板を、中央処理演算装置（ＣＰＵ）、ＣＬＫ同期型ＤＲＡＭ（以下メモリ）およびＣＰＵ／メモリコントローラ、周辺回路制御機能を有するＡＳＩＣで構成されるコントローラ基板において、ＣＬＫ同期でデータアクセスを行うメモリ回路で、１つのメモリバスに複数のメモリデバイスがコントローラ基板上、またはＤＩＭＭ（メモリモジュール）により接続される構成において、接続されるメモリデバイス数（＝メモリ容量）とは無関係にメモリ−ＡＳＩＣ間の信号の配線伝播遅延時間を一定にすることで、ＣＬＫ周波数を向上させることができる。
【００３１】
さらに、コントローラ基板上で実装されないメモリデバイスが存在する基板構成の場合、そのメモリデバイスと同等の負荷容量のコンデンサを各メモリバス信号線に接続することにより、配線伝播遅延時間を一定にすることができる。
例えば、ＲＡＭ２が未搭載の時は、ＲＡＭ２の入力負荷容量と同じコンデンサを各データ線に接続する。また、ＲＡＭ２とこのコンデンサは排他的に実装されるため、基板上の同じエリアにレイアウト可能であり、実装面積が大きくなることはない。
【００３２】
上記のようにすると、伝播遅延時間が一定になったとき、ホールド時間がTh2固定となり、マージンＢが常時生成されることになる。そこでマージンＢの時間をセットアップマージンに置き換えると、ＣＬＫの周期を（Tp1 - マージンＢ）とし、ＡＳＩＣ内部データラッチタイミングを（Ｅ）の通り擬似的に遅らせることで、ＣＬＫ周期を縮めてもＡＳＩＣの入力ＡＣスペック（Ts、Th0）を満たすことが可能になる。
【００３３】
ここで、ＣＬＫ周期Tp2 = Tp1 - マージンＢであるため、周波数的に見ると、
1/( Tp1 - マージンＢ) - 1/Tp1  
だけ高速化することが可能となり、メモリ構成（容量、負荷）によらず、伝播遅延時間を一定化することで、同期型メモリの転送周波数を向上することができる。
【００３４】
＜実施形態２＞
図３は、本発明の実施形態２に係るコントローラ基板のメモリ回路ブロック図である。
図３において、１００はクロックを生成するクロックジェネレータ、１０１は中央処理演算装置（ＣＰＵ）、１０２はコントローラ基板全体を制御するＡＳＩＣ、１０３はコントローラ基板上に搭載される同期型メモリＲＡＭ１、１０４はコントローラ基板上に搭載される同期型メモリＲＡＭ２、１０５はメモリモジュールＤＩＭＭ、１０６はＲＡＭ１が未搭載時にメモリバスに接続されるコンデンサ、１０７はＲＡＭ２が未搭載時にメモリバスに接続されるコンデンサ、１０８はＤＩＭＭの搭載容量に応じメモリバスに接続されるコンデンサ、１０９はＤＩＭＭの搭載容量に応じメモリバスに接続されるコンデンサ１０８の容量（負荷）を選択するスイッチ（ＳＷ）、１１０はＤＩＭＭの容量検知用の信号線（Ｉ２Ｃ  Ｉ／Ｆ）であり、ＤＩＭＭ内に搭載されるＥＥＰＲＯＭに接続され、１１１はコンデンサ１０８の容量（負荷）を選択するスイッチ１０９のＯＮ／ＯＦＦを制御するコントロール信号でありＡＳＩＣ１０２から出力される。
【００３５】
この構成で、クロックジェネレータ１００からは同じ周波数のＣＬＫがそれぞれＣＰＵ１０１、ＡＳＩＣ１０２、同期型メモリ１０３，１０４、メモリモジュール１０５に接続されている。各ＣＬＫは、伝播遅延時間が等しくなるように配線長が調整されており、クロック間のスキューは±０ｐｓになるように調整されている。
【００３６】
図４は、メモリリード時のＣＬＫ補正タイミング図である。ここで、（Ａ）〜（Ｃ）はコンデンサによる伝播遅延補正（周波数補正）をしない場合の従来のタイミングである。（Ｄ）〜（Ｅ）は上記実施形態１によるコンデンサによる伝播遅延補正を行ったタイミングである。（Ｆ）〜（Ｉ）は本実施形態２のＤＩＭＭの搭載容量別にコンデンサ１０８の容量を可変することで、伝播遅延補正（周波数補正）を行った場合のタイミングである。
【００３７】
（Ｂ）はＲＡＭ１のみが搭載時のメモリ負荷が最小構成時のデータタイミングであり、（Ｃ）はＲＡＭ１、ＲＡＭ２が搭載され、またＤＩＭＭが最大容量（負荷）時のメモリ負荷が最大構成時のデータタイミングであり、（Ｅ）は（Ｃ）の構成でＲＡＭ２が非搭載時、コンデンサ１０７で負荷容量を補ったタイミングであり、（Ｅ）は（Ｄ）の構成でＤＩＭＭが非搭載時のタイミングである。
【００３８】
ＣＬＫ（Ａ）の周期は、通常（Ｃ）のメモリ負荷最大時のタイミングから以下の通り算出される。
Tp1（ＣＬＫ周期）＝Ta + Td2 + Ts
ここで、Ta：メモリのアクセスタイム、Td2：メモリ負荷最大時の信号配線による伝播遅延時間、Ts：ＡＳＩＣの入力セットアップ時間である。
【００３９】
ＡＳＣＩの入力ＡＣスペック（タイミング規格）は、メモリ負荷構成により伝播遅延時間が変わってくるため、最悪条件を考慮した値となり、それがタイミングバジェットとなっている。
したがって、セットアップは、一般的にメモリ負荷最大時に伝播遅延時間が最大となるため、（Ｃ）の条件での伝播遅延時間Td2を最悪値とし、ホールドは、一般的にメモリ負荷最小時に伝播遅延時間が最小となるため、（Ｂ）の条件でのホールド出力時間（伝播遅延含む）Th1 = Th0を最悪値とする。
よって、ＡＳＩＣの入力ＡＣスペックは、セットアップ：Ts、ホールド：Th0となる。
【００４０】
ここで、（Ｃ）の場合、負荷が大きいため、ホールド時間Th2も長くなり、ＡＳＩＣ規格値Th0に対し（Th2 − Th0）のマージンＢが存在し、配線負荷（伝播遅延時間）が一定になり、ホールド時間がTh2に統一されれば、ＡＳＩＣのデータ読み込みラッチタイミングを遅らせることが可能になる。
【００４１】
上記実施形態１では、伝播遅延時間を一定化することでメモリの転送周波数を向上させていた。しかしながら、ＤＩＭＭ１０５の負荷変動時は考慮していなかったため、例えば（Ｅ)のケースの場合は、ＤＩＭＭ１０５が未搭載であり、ＲＡＭ２の負荷容量はコンデンサ１０７で補っていたが、ＤＩＭＭ１０５の負荷容量分、（Ｄ）の最大負荷ケース時より配線負荷容量が小さくなり、伝播遅延時間が速くなっていた。
【００４２】
そのため、ＣＬＫ周波数補正時、本来メモリＭａｘ遅延Th2が補正後ＣＬＫ（Ｇ）に対するホールド時間になるはずが、（Ｅ)のケースではホールド時間がTh3と短くなり、ＡＳＩＣのホールド規格Th0を満足することができなくなってしまう（ホールド不足時間：Th2-Th3）。
【００４３】
また、（Ｄ)、（Ｅ）のＤＩＭＭ負荷変動を考慮したタイミング補正を行うと、ホールドマージンがマージンＣとなってしまい、補正ＣＬＫ周期は（Tp1 - マージンＣ）となり、マージンＣ＜マージンＢのため、補正ＣＬＫ周期が（Ｄ）のケースより長くなり、補正ＣＬＫ周波数も（Ｄ）のみを考慮したケースより遅くなってしまう。
【００４４】
そこで本実施形態２では、（Ｅ）のケースでもＤＩＭＭの搭載負荷に応じコンデンサ１０８を付加することで、（Ｆ）（＝（Ｄ））のように伝播遅延時間を統一し、マージンＢ分の周波数向上を図る。
【００４５】
まず、ＣＰＵ１０１がブートし、ソフトウエアがＡＳＩＣ１０２を介してＤＩＭＭ１０５の搭載容量を検知する。ソフトウエアは、ＤＩＭＭ１０５の搭載容量（デバイス個数・負荷）から、メモリバスの負荷容量が最大（Ｄ）になるようにコントロール信号１１１を介してＳＷ１０９を制御し、接続するコンデンサ１０８の数（容量）を決める。
【００４６】
例えば、ＤＩＭＭが最大容量（負荷）時は、ＳＷ１０９をすべてＯＦＦにし、コンデンサ１０８は全て接続されず、ＤＩＭＭが非搭載（無負荷）時は、ＳＷ１０９をすべてＯＮにし、コンデンサ１０８は全て接続される。
よって、ＤＩＭＭの構成（容量、負荷）によらず、伝播遅延時間を一定化することが可能になり、同期型メモリの転送周波数を向上させることができる。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施形態１に係るコントローラ基板のメモリ回路ブロック図である。
【図２】実施形態１におけるメモリリード時のＣＬＫ補正タイミング図である。
【図３】本発明の実施形態２に係るコントローラ基板のメモリ回路ブロック図である。
【図４】実施形態２におけるメモリリード時のＣＬＫ補正タイミング図である。
【符号の説明】
【００４８】
１００…クロックジェネレータ、１０１…ＣＰＵ、１０２…ＡＳＩＣ、１０３…同期型メモリＲＡＭ１、１０４…同期型メモリＲＡＭ２、１０５…メモリモジュールＤＩＭＭ、１０６…ＲＡＭ２が未搭載時に接続されるコンデンサ、１０７…ＲＡＭ１が未搭載時に接続されるコンデンサ、１０８…ＤＩＭＭの搭載容量に応じて接続されるコンデンサ、１０９…スイッチ、１１０…ＤＩＭＭの容量検知用の信号線、１１１…コントロール信号。
【図１】
2006228090.tif 000003
【図２】
2006228090.tif 000004
【図３】
2006228090.tif 000005
【図４】
2006228090.tif 000006