(57)【要約】【課題】データバス幅のリサイズ（変更）が任意に設定できるようにする。【解決手段】複数の分割に対応したデータ伝送回数を設定可能とするとともに、何回目のデータ伝送かを示すデータ伝送回数に対応した分割ビットグループを設定可能とするレジスタブロック３０と、レジスタブロック３０からのデータ伝送回数を所定のタイミングで初期値から最大データ伝送回数まで繰り返して出力し、出力されたデータ伝送回数と、レジスタブロック３０からの分割ビットグループ毎のデータ伝送回数とを比較して、両者が一致した場合に、サンプリング制御信号を出力するサンプリング制御信号発生手段３４と、サンプリング制御信号によりＮビット幅のデータを分割ビットグループ毎にそれぞれサンプリングするサンプリング部３３と、サンプリング部からの分割ビットグループ毎のデータを連続したＮビット幅データに変換し出力する出力制御回路２３とを有する。【選択図】  図２
2004164579.tif 000002
【特許請求の範囲】
【請求項１】
第１のバス幅を有し、Ｎ（Ｎは正数）ビットデータを複数のビットデータグループに分割して伝送する第１のデバイスから前記複数のビットデータグループを受け取って、第２のバス幅を有する第２のデバイスへ前記Ｎビットデータを出力するデータバス幅変換装置であって、
前記第１のデバイスが前記複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、前記Ｎビットデータを前記複数のビットデータグループそれぞれへ分配するための前記Ｎビットデータの分割パターンを設定する設定部と、
前記総伝送回数と前記分割パターンとに基づいて、前記複数のビットデータグループそれぞれが示すデータを取得する取得部と、
前記取得した複数のビットグループそれぞれが示すデータから前記Ｎビットデータを生成し、前記生成したＮビットデータを前記第２のデバイスへ出力する出力部と
を備える、データバス幅変換装置。
【請求項２】
前記第１のデバイスは、前記設定部が設定した前記総伝送回数および前記分割パターンに基づいて、前記Ｎビットデータを前記複数のビットデータグループに分割する、請求項１に記載のデータバス幅変換装置。
【請求項３】
前記設定部は、前記第１のデバイスからの命令に基づいて、前記総伝送回数および前記分割パターンを設定する、請求項１に記載のデータバス幅変換装置。
【請求項４】
前記設定部は、前記第１のバス幅のサイズに基づいて、前記総伝送回数および前記分割パターンを設定する、請求項１に記載のデータバス幅変換装置。
【請求項５】
前記複数のビットデータグループのそれぞれは、前記総伝送回数のうちの対応する伝送回数における前記第１のデバイスの伝送動作によって伝送され、
前記取得部は、前記総伝送回数のうちの現在の伝送回数をカウントするカウンタ部と
前記カウントされた現在の伝送回数と、前記複数のビットデータグループのそれぞれに対応する伝送回数とを比較する比較部と、
前記比較した結果に基づいて前記複数のビットデータグループをサンプリングするサンプリング部と
を備える、請求項１に記載のデータバス幅変換装置。
【請求項６】
前記カウンタ部は、前記現在の伝送回数が前記総伝送回数に達した後にカウント数を前記総伝送回数のうちの初期値に設定する、請求項５に記載のデータバス幅変換装置。
【請求項７】
前記設定部は、前記総伝送回数を設定する第１のレジスタと、前記分割パターンを設定する第２のレジスタとを備える、請求項１に記載のバス幅変換回路。
【請求項８】
前記第１のデバイスから前記第２のデバイスへのデータ書き込みアクセス時に、前記第２のデバイスへ前記Ｎビットデータを出力する、請求項１に記載のデータバス幅変換装置。
【請求項９】
前記第１のデバイスと前記第２のデバイスとの間の双方向のデータ伝送アクセス時に、前記第２のデバイスへ前記Ｎビットデータを出力する、請求項１に記載のデータバス幅変換装置。
【請求項１０】
第２のバス幅を有する第２のデバイスから出力されたＮ（Ｎは正数）ビットデータを複数のビットデータグループに分割して、第１のバス幅を有する第１のデバイスへ伝送するデータバス幅変換装置であって、
前記第１のデバイスへ前記複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、前記Ｎビットデータを前記複数のビットデータグループそれぞれへ分配するための前記Ｎビットデータの分割パターンを設定する設定部と、
前記総伝送回数と前記分割パターンとに基づいて、前記Ｎビットデータを前記複数のビットデータグループに分割して出力する分割部と
を備える、データバス幅変換装置。
【請求項１１】
前記第２のデバイスから前記第１のデバイスへのデータ読み出しアクセス時に、前記第１のデバイスへ前記複数のビットデータグループを出力する、請求項１０に記載のデータバス幅変換装置。
【請求項１２】
前記第１のデバイスと前記第２のデバイスとの間の双方向のデータ伝送アクセス時に、前記第１のデバイスへ前記複数のビットデータグループを出力する、請求項１０に記載のデータバス幅変換装置。
【請求項１３】
第１のバス幅を有し、Ｎ（Ｎは正数）ビットデータを複数のビットデータグループに分割して伝送する第１のデバイスから前記複数のビットデータグループを受け取り、前記Ｎビットデータを出力するデータバス幅変換装置と、
前記データバス幅変換装置から出力された前記Ｎビットデータを受け取る第２のバス幅を有する第２のデバイスと
を備えたデータ処理装置であって、
前記データバス幅変換装置は、
前記第１のデバイスが前記複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、前記Ｎビットデータを前記複数のビットデータグループそれぞれへ分配するための前記Ｎビットデータの分割パターンを設定する設定部と、
前記総伝送回数と前記分割パターンとに基づいて、前記複数のビットデータグループそれぞれが示すデータを取得する取得部と、
前記取得した複数のビットグループそれぞれが示すデータから前記Ｎビットデータを生成し、前記生成したＮビットデータを前記第２のデバイスへ出力する出力部と
を備える、データ処理装置。
【請求項１４】
前記データ処理装置はディスプレイ装置である、請求項１３に記載のデータ処理装置。
【請求項１５】
第２のバス幅を有し、Ｎ（Ｎは正数）ビットデータを出力する第２のデバイスと、
前記第２のデバイスから出力された前記Ｎビットデータを複数のビットデータグループに分割して、第１のバス幅を有する第１のデバイスへ伝送するデータバス幅変換装置と
を備えたデータ処理装置であって、
前記データバス幅変換装置は、
前記第１のデバイスへ前記複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、前記Ｎビットデータを前記複数のビットデータグループそれぞれへ分配するための前記Ｎビットデータの分割パターンを設定する設定部と、
前記総伝送回数と前記分割パターンとに基づいて、前記Ｎビットデータを前記複数のビットデータグループに分割して出力する分割部と
を備える、データ処理装置。
【請求項１６】
前記データ処理装置はディスプレイ装置である、請求項１５に記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多様なバスシステムに用いられるデータバス幅変換装置に関し、特に、データバス幅が互いに異なるＣＰＵ（ホストシステム）とその周辺デバイスとの間におけるバスアクセスが可能であるデータバス幅変換装置に関する。
【０００２】
【従来の技術】
Ｍ（Ｍは正数）ビットのデータバス幅を有するＣＰＵが、ＣＰＵと異なるＮ（Ｎは正数）ビットのデータバス幅を有するＬＳＩ（周辺デバイス）にアクセスする場合には、データバス幅のリサイズ（変更）を行うためのデータバス幅変換装置が必要となる。なお、Ｍ＝Ｎの場合もあり得る。
【０００３】
従来のデータバス幅変換装置の一例として、データバス幅のリサイズを行うためにメモリセルアレイ部を有し、メモリセルアレイ部をキャッシュメモリあるいはローカルメモリとして使用するデータバス幅変換装置が特許文献１に開示されている。
【０００４】
また、従来のデータバス幅変換装置の他の例として、データバス幅のリサイズを行うためにＭビット幅のデータバスとＮビット幅のデータバスとの間にラッチ回路および出力制御回路とを設けたデータバス幅変換装置が特許文献２および特許文献３に開示されている。
【０００５】
【特許文献１】
特開平４−７６８９０号公報（第５７９頁、第１図）
【特許文献２】
特開平３−９７３４０号公報（第２５６―２５７頁、第１―２図）
【特許文献３】
特開平５−２４２０１６号公報（第３頁、第１図）
【０００６】
【発明が解決しようとする課題】
しかしながら、特許文献１、２および３それぞれに開示されている従来のデータバス幅変換装置では、データバス幅をリサイズする際に、ＮビットのデータをＣＰＵからＬＳＩへ転送するために必要なＣＰＵのアクセス回数、ＣＰＵとＬＳＩとの間の結線パターン等がハードウェア的に固定されており、多様なバスシステムにおいて使用することが困難であるという問題を有している。
【０００７】
例えば、従来のＣＰＵ（ホストシステム）のデータバス幅は、過去の慣例により８の倍数のビット数（８ビット、１６ビット、３２ビット等）に設定されている。ところが、液晶モジュール等の多くの表示装置では、データバス幅が３の倍数のビット数（１８ビット、２４ビット等）となっていることがある。この理由は、表示装置の表示データがＲＥＤ（赤）、ＧＲＥＥＮ（緑）、ＢＬＵＥ（青）の３つの色要素から構成されており、これらの３つの色要素のビット幅を等しくすることによって、データバス幅が３の倍数のビット数になるからである。
【０００８】
例えば、８ビットのデータバス幅を有するＣＰＵに１８ビットのデータバス幅を有する液晶モジュールを接続し、液晶モジュールの有する表示能力を最大限に生かす場合には、ＣＰＵから液晶モジュールに１８ビットのデータを完全に伝達することが必要である。この場合、ＣＰＵのデータバス幅は８ビットであるから、ＣＰＵから液晶モジュールにデータを伝達するには、最低でも１８ビットのデータを三つに分割する必要がある。１８ビットのデータの分割パターンとしては、８−８−２の分割パターン、６−６−６の分割パターン、５−６−７の分割パターン等のいろいろな分割パターンが考えられる。
【０００９】
また、上記１８ビットのデータの３回の分割回数は、最低限必要な分割回数であり、ＣＰＵ側の何らかの理由により、分割回数が３回より多くなる場合も考えられる（すなわち、（分割回数）≧３）。
【００１０】
従来のデータバス幅変換装置では、上記１８ビットのデータの分割パターンおよび分割回数がハードウェア的に固定されてしまっており、このようなＣＰＵインターフェースをＬＳＩ化した場合、分割回数および分割パターンはＬＳＩの設計時に固定されてしまう。このため、使用するＬＳＩの選択肢が制限されるとともに、ＣＰＵ側でもソフト処理等が必要となる。
【００１１】
本発明は、このような課題を解決するものであり、その目的は、ＣＰＵ側（ホストシステム）からＬＳＩ（周辺デバイス）側へデータ書き込みアクセスおよびデータ読み出しアクセスを行う場合に、分割回数および分割パターンを任意に設定できるデータバス幅変換装置を提供することにある。
【００１２】
【課題を解決するための手段】
本発明のデータバス幅変換装置は、第１のバス幅を有しＮ（Ｎは正数）ビットデータを複数のビットデータグループに分割して伝送する第１のデバイスから複数のビットデータグループを受け取って、第２のバス幅を有する第２のデバイスへＮビットデータを出力するデータバス幅変換装置であって、第１のデバイスが複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、Ｎビットデータを複数のビットデータグループそれぞれへ分配するためのＮビットデータの分割パターンを設定する設定部と、総伝送回数と分割パターンとに基づいて、複数のビットデータグループそれぞれが示すデータを取得する取得部と、取得した複数のビットグループそれぞれが示すデータからＮビットデータを生成し、生成したＮビットデータを第２のデバイスへ出力する出力部とを備え、そのことにより上記目的が達成される。
【００１３】
第１のデバイスは、設定部が設定した総伝送回数および分割パターンに基づいて、Ｎビットデータを複数のビットデータグループに分割してもよい。
【００１４】
設定部は、第１のデバイスからの命令に基づいて、総伝送回数および分割パターンを設定してもよい。
【００１５】
設定部は、第１のバス幅のサイズに基づいて、総伝送回数および分割パターンを設定してもよい。
【００１６】
複数のビットデータグループのそれぞれは、総伝送回数のうちの対応する伝送回数における第１のデバイスの伝送動作によって伝送され、取得部は、総伝送回数のうちの現在の伝送回数をカウントするカウンタ部とカウントされた現在の伝送回数と、複数のビットデータグループのそれぞれに対応する伝送回数とを比較する比較部と、比較した結果に基づいて複数のビットデータグループをサンプリングするサンプリング部とを備えてもよい。
【００１７】
カウンタ部は、現在の伝送回数が総伝送回数に達した後にカウント数を総伝送回数のうちの初期値に設定してもよい。
【００１８】
設定部は、総伝送回数を設定する第１のレジスタと、分割パターンを設定する第２のレジスタとを備えてもよい。
【００１９】
第１のデバイスから第２のデバイスへのデータ書き込みアクセス時に、第２のデバイスへＮビットデータを出力してもよい。
【００２０】
第１のデバイスと第２のデバイスとの間の双方向のデータ伝送アクセス時に、第２のデバイスへＮビットデータを出力してもよい。
【００２１】
本発明のデータバス幅変換装置は、第２のバス幅を有する第２のデバイスから出力されたＮ（Ｎは正数）ビットデータを複数のビットデータグループに分割して、第１のバス幅を有する第１のデバイスへ伝送するデータバス幅変換装置であって、第１のデバイスへ複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、Ｎビットデータを複数のビットデータグループそれぞれへ分配するためのＮビットデータの分割パターンを設定する設定部と、総伝送回数と分割パターンとに基づいて、Ｎビットデータを複数のビットデータグループに分割して出力する分割部とを備え、そのことにより上記目的が達成される。
【００２２】
第２のデバイスから第１のデバイスへのデータ読み出しアクセス時に、第１のデバイスへ複数のビットデータグループを出力してもよい。
【００２３】
第１のデバイスと第２のデバイスとの間の双方向のデータ伝送アクセス時に、第１のデバイスへ複数のビットデータグループを出力してもよい。
【００２４】
本発明のデータ処理装置は、第１のバス幅を有しＮ（Ｎは正数）ビットデータを複数のビットデータグループに分割して伝送する第１のデバイスから複数のビットデータグループを受け取り、Ｎビットデータを出力するデータバス幅変換装置と、データバス幅変換装置から出力されたＮビットデータを受け取る第２のバス幅を有する第２のデバイスとを備えたデータ処理装置であって、データバス幅変換装置は、第１のデバイスが複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、Ｎビットデータを複数のビットデータグループそれぞれへ分配するためのＮビットデータの分割パターンを設定する設定部と、総伝送回数と分割パターンとに基づいて、複数のビットデータグループそれぞれが示すデータを取得する取得部と、取得した複数のビットグループそれぞれが示すデータからＮビットデータを生成し、生成したＮビットデータを第２のデバイスへ出力する出力部とを備え、そのことにより上記目的が達成される。
【００２５】
データ処理装置はディスプレイ装置であってもよい。
【００２６】
本発明のデータ処理装置は、第２のバス幅を有しＮ（Ｎは正数）ビットデータを出力する第２のデバイスと、第２のデバイスから出力されたＮビットデータを複数のビットデータグループに分割して、第１のバス幅を有する第１のデバイスへ伝送するデータバス幅変換装置とを備えたデータ処理装置であって、データバス幅変換装置は、第１のデバイスへ複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、Ｎビットデータを複数のビットデータグループそれぞれへ分配するためのＮビットデータの分割パターンを設定する設定部と、総伝送回数と分割パターンとに基づいて、Ｎビットデータを複数のビットデータグループに分割して出力する分割部とを備え、そのことにより上記目的が達成される。
【００２７】
データ処理装置はディスプレイ装置であってもよい。
【００２８】
上記構成により、以下、その作用を説明する。
【００２９】
本発明のデータバス幅変換装置は、ＣＰＵ（ホストシステム）がＮ（Ｎは正数）ビットデータを分割して複数のビットデータグループとして伝送するときの総伝送回数を設定するとともに、Ｎビットデータを複数のビットデータグループそれぞれへ分配するためのＮビットデータの分割パターンを設定する設定部を備える。また、本発明のデータバス幅変換装置は、Ｎビットデータを分割して複数のビットデータグループとしてＣＰＵへ伝送するときの総伝送回数を設定するとともに、Ｎビットデータを複数のビットデータグループそれぞれへ分配するためのＮビットデータの分割パターンを設定する設定部を備える。このことによりＣＰＵ側（ホストシステム）からＬＳＩ側（周辺デバイス）にデータ書き込みアクセスを行う場合およびＬＳＩ側（周辺デバイス）からＣＰＵ側（ホストシステム）にデータ読み出しのアクセスを行う場合に、ハードウェア的に固定されることなくデータの分割回数および分割パターンを任意に設定できる。
【００３０】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
【００３１】
（実施の形態１）
図１Ａは、本発明の実施形態１におけるデータ処理システム１００を示す。
【００３２】
データ処理システム１００は、ＣＰＵ１０と、ＬＳＩ１１とを備える。ＬＳＩ１１は、データバス幅変換装置１２０（図２）を備える。
【００３３】
ＣＰＵ１０は、パーソナルコンピュータ等のホストシステムに含まれ、ＬＳＩは、液晶モジュール等の表示装置をコントロールする周辺デバイスに含まれる。ＣＰＵ１０は、８ビットのデータバス幅を有する。ＬＳＩ１１は、１８ビットのデータバス幅を有する。ＣＰＵ１０とＬＳＩ１１とは結線部１２において接続されている。
【００３４】
結線部１２において、ＣＰＵ１０のインターフェース部であるデータバス端子Ｄ０〜Ｄ７およびデータ書き込み信号ＮＷＲ用端子は、ＬＳＩ１１のインターフェース部であるデータバス端子ＤＢ０〜ＤＢ１７およびデータ書き込み信号ＮＷＲ用端子と接続されている。
【００３５】
結線部１２では、ＣＰＵ１０のデータバス端子Ｄ７とＬＳＩ１１のデータバス端子Ｄ１７、ＤＢ９およびＤＢ１とが接続されており、以下、同様に、ＣＰＵ１０のデータバス端子Ｄ６とＬＳＩ１１のデータバス端子ＤＢ１６、ＤＢ８およびＤＢ０とが接続され、ＣＰＵ１０のデータバス端子Ｄ５とＬＳＩ１１のデータバス端子ＤＢ１５、ＤＢ７とが接続され、ＣＰＵ１０のデータバス端子Ｄ４とＬＳＩ１１のデータバス端子ＤＢ１４、ＤＢ６とが接続され、ＣＰＵ１０のデータバス端子Ｄ３とＬＳＩ１１のデータバス端子ＤＢ１３、ＤＢ５とが接続され、ＣＰＵ１０のデータバス端子Ｄ２とＬＳＩ１１のデータバス端子ＤＢ１２、ＤＢ４とが接続され、ＣＰＵ１０のデータバス端子Ｄ１とＬＳＩ１１のデータバス端子ＤＢ１１、ＤＢ３とが接続され、ＣＰＵ１０のデータバス端子Ｄ０とＬＳＩ１１のデータバス端子ＤＢ１０、ＤＢ２とが接続されている。そして、ＣＰＵ１０のデータ書き込み信号ＮＷＲ用端子は、ＬＳＩ１１のデータ書き込み信号ＮＷＲ用端子と接続されている。
【００３６】
ここで、図１Ａに示す８ビットのデータバス幅を有するＣＰＵ１０のインターフェース部と１８ビットのデータバス幅を有するＬＳＩ１１のインターフェース部との接続状態では、１８ビットのデータを三つに分割して分割ビットデータグループ毎に伝達する。１８ビットのデータの分割パターンの一例として、端子ＤＢ１７から入力される１７番目のデータから端子ＤＢ１０から入力される１０番目のデータまでの８ビットデータを一つ目の分割ビットデータグループ、ＤＢ９端子から入力される９番目のデータからＤＢ２端子から入力される２番目のデータまでの８ビットデータを二つ目の分割ビットデータグループ、ＤＢ１端子から入力される１番目のデータからＤＢ０端子から入力される０番目のデータまでの２ビットデータを三つ目の分割ビットデータグループとする８−８−２の分割パターンがある。
【００３７】
図１Ｂに、本発明の実施の形態のデータ処理装置の一例としてディスプレイ装置１１０を示す。ディスプレイ装置１１０は例えば液晶ディスプレイ装置である。ディスプレイ装置１１０は、図１Ａに示すＬＳＩ１１と、表示パネル１１１とを備える。この場合、ＬＳＩ１１は表示パネル１１１の表示動作を制御する。このように、データバス幅変換装置１２０を備えるＬＳＩ１１は、様々なデータ処理装置に搭載され得る。
【００３８】
図２は、図１Ａに示すＬＳＩ１１が備える本発明の実施の形態１におけるデータバス幅変換装置１２０を示す。データバス幅変換装置１２０は、ＣＰＵ１０の８ビットのデータバス幅をＬＳＩ１１の１８ビットのデータバスの幅にリサイズ（変更）する。
【００３９】
データバス幅変換装置１２０は、ＣＰＵ１０に接続された１８ビット幅のデータバス２０から出力されるデータのリサイズを行う制御回路２１と、ビット情報を記録するフリップフロップ（ＦＦ）２２と、制御回路２１によってリサイズされた１８ビット幅のデータをＬＳＩ１１内部に出力する出力制御回路２３とを備える。ＬＳＩ内部回路２４は、出力制御回路２３から出力されるデータを受け取る。フリップフロップ２２はラッチ回路であってもよい。
【００４０】
図３は、図２に示す制御回路２１の詳細を示すブロック図である。
【００４１】
図３に示す制御回路２１は、レジスタブロック３０を備える。レジスタブロック３０は、１８ビット幅のデータをサンプリングする際のＣＰＵ１０からＬＳＩ１１へのデータ書き込みアクセスの全回数（ＣＰＵ１０からＬＳＩ１１へ複数の分割ビットデータグループを伝送するときの総伝送回数）を任意に設定するレジスタαと、１８ビット幅のデータの各ビットデータが総伝送回数のうち何回目のデータ伝送動作で伝送されるかを設定する（すなわち、１８ビット幅のデータの各ビットデータを複数の分割ビットデータグループへ分配するための１８ビット幅のデータの分割パターンを設定する）レジスタβとを備える。
【００４２】
制御回路２１は、レジスタαとレジスタβとによって設定された総伝送回数と分割パターンとに基づいて、複数のビットデータグループそれぞれが示すデータを取得する取得部３５を備える。取得部３５は、サンプリング部３３と、サンプリング制御信号発生部３４とを備える。サンプリング制御信号発生部３４は、カウンタ３１と、コンペア部３２とを備える。カウンタ３１は、レジスタαが設定した総伝送回数の範囲内で現在の伝送回数をカウントする。コンペア部３２は、カウントされた現在の伝送回数と、複数のビットデータグループのそれぞれに対応する伝送回数とを比較する。コンペア部３２は、対応付けられた伝送回数と現在の伝送回数とが一致したビットデータグループに含まれるデータをサンプリングするためのサンプリング制御信号をサンプリング部３３へ出力する。カウント方法としては、インクリメント／デクリメントのどちらでもよい。
【００４３】
カウンタ３１は、ＣＰＵ１０からのデータ書き込み信号ＮＷＲに同期して、伝送回数（データ書き込みストローブの回数）のカウント値を出力する。コンペア部３２には、レジスタβからのレジスタ値とカウンタ３１からのカウント値とを比較する複数のコンペアが、１８ビット幅のデータの各ビット毎に設けられている。レジスタβからのレジスタ値は、上述の分割パターンを示し、複数のコンペアそれぞれに総伝送回数のうちの何れかの回数を示すレジスタ値が入力される。レジスタ値は対応するビットデータグループ毎に値が異なる。本実施の形態では、コンペア部３２は１８個のコンペアを備える（図３は、説明の簡略化のために１８個のコンペアのうちの３個のコンペア３２Ａ、３２Ｂ、３２Ｃを示す）。
【００４４】
サンプリング部３３には、サンプリング制御信号に従って１８ビット幅のデータバス信号ＤＢ［１７：０］を分割ビットデータグループ毎にサンプリングするための複数のサンプリング回路が、１８ビット幅のデータの各ビット毎に設けられている。本実施の形態では、サンプリング部３３は、１８個のサンプリング回路を備える（図３は、説明の簡略化のために１８個のサンプリング回路のうちの３個のサンプリング回路３３Ａ、３３Ｂ、３３Ｃを示す）。１８個のサンプリング回路のそれぞれには、１８個のコンペアのうちの対応するコンペアからサンプリング信号が出力される。１８個のサンプリング回路のそれぞれはサンプリング信号に応じて、１８ビット幅のデータのうちの対応付けられたビットデータをサンプリングする。
【００４５】
次に、サンプリング部３３から各ビットに対応するそれぞれのデータバス信号ＤＢ［１７：０］がフリップフロップ２２を介して出力制御回路２３に出力される。また、カウンタ３１からは、データ書き込み信号Ｗが出力制御回路２３に出力される。出力制御回路２３は、データ書き込み信号Ｗに同期して、分割ビットデータグループが示すデータをつなぎ合わせて、連続した１８ビット幅のデータに変換し、ＬＳＩ内部回路２４に伝送する。
【００４６】
ここで、フリップフロップ２２が有する機能は、サンプリング部３３に盛り込んでおいても同様な動作をすることは説明するまでもない。
【００４７】
次に、図３に示す制御回路２１のレジスタブロック３０に設けられているレジスタαおよびレジスタβの構成例を表１に示す。レジスタαは、ＭＣＢおよびＭＣＡレジスタである。レジスタβは、Ｍ０ＢおよびＭ０Ａレジスタ〜Ｍ１７ＢおよびＭ１７Ａレジスタを備える。ここで、表１のＭＷＢ０〜ＭＷＢ５は、それぞれ８ビットのレジスタブロックを表している。
【００４８】
表１では、１８ビット幅のデータバス信号それぞれに対応して設けられているレジスタβと、１８ビット幅のデータの取得に必要な総伝送回数を設定するレジスタαとは、それぞれ２ビット単位で構成されている。ＭＣＢおよびＭＣＡレジスタは、それぞれＭＷＢ０のｂｉｔ１およびｂｉｔ０に格納されており、Ｍ０ＡおよびＭ０Ｂレジスタ〜Ｍ１７ＡおよびＭ１７Ｂレジスタは、ＭＷＢ１のｂｉｔ０からＭＷＢ５のｂｉｔ３まで、順番に格納されている。また、表１内のＸは、Ｄｏｎ’ｔ  Ｃａｒｅを示し、何の影響も与えないビットである。
【００４９】
【表１】
2004164579.tif 000003
【００５０】
表１のＭＷＢ１〜ＭＷＢ５に記載のＭ＊ＢおよびＭ＊Ａレジスタの＊部分には０〜１７の数字が書かれている。この数字は、１８本の各データバスの各ビットに対応する設定レジスタ（レジスタβ）であることを示している。Ｍ＊ＢおよびＭ＊Ａレジスタの設定値は、１８本の各データバスに対応するそれぞれのデータバス信号が何回目のデータ書き込みストローブでサンプリングされるかを示している。
【００５１】
表２は、１８ビット幅のデータバス信号に対応して設けられているＭ＊ＢおよびＭ＊Ａレジスタの設定値とサンプリングタイミングを示している。
【００５２】
Ｍ＊ＢおよびＭ＊Ａレジスタの設定値がＭ＊Ｂ＝Ｍ＊Ａ＝０であれば、１回目のデータ書き込みストローブによってサンプリングされ、Ｍ＊Ｂ＝０およびＭ＊Ａ＝１であれば、２回目のデータ書き込みストローブによってサンプリングされ、Ｍ＊Ｂ＝１およびＭ＊Ａ＝０であれば、３回目のデータ書き込みストローブによってサンプリングされ、Ｍ＊Ｂ＝１およびＭ＊Ａ＝１であれば、４回目のデータ書き込みストローブによってサンプリングされることを示している。
【００５３】
また、ＭＷＢ０のｂｉｔ１およびｂｉｔ０にそれぞれ格納されているＭＣＢおよびＭＣＡレジスタは、所定のＮビット幅（本実施形態では１８ビット幅）のデータバス信号すべてを１回サンプリングする際のデータ書き込みアクセスの全回数（総伝送回数）を示している。ＭＣＢおよびＭＣＡレジスタの設定値およびデータ書き込みアクセスの回数は、Ｍ＊ＢおよびＭ＊Ａレジスタの設定値およびデータ書き込みアクセスの回数と同様に表２に示すルールに従って設定される。
【００５４】
【表２】
2004164579.tif 000004
【００５５】
ＭＣＢおよびＭＣＡレジスタは、ＬＳＩ内部のホストインターフェースがデータバス上の例えば１８ビット幅のデータバス信号をサンプリングする場合、何回のデータ書き込みストローブによって、１８ビット幅のデータバス信号すべてをサンプリングするかを指定する。また、１８ビット幅のデータバス信号は、Ｍ＊ＢおよびＭ＊Ａレジスタで指定されるデータ書き込みストローブの回数に従って、分割ビットデータグループ毎に順に信号レベルをサンプリングされる。
【００５６】
表３には、表２に示したレジスタαおよびレジスタβの設定値（レジスタ値）の一例を示す。ここでは、ＣＰＵ１０の８ビット幅のデータをＬＳＩ１１の１８ビット幅のデータに変換するために、１８ビット幅のデータを８（１７ビット目から１０ビット目）−８（９ビット目から２ビット目）−２（１ビット目および０ビット目）の分割パターンのように三つに分割して、それぞれの分割ビットデータグループ毎に８ビット幅のデータおよび２ビット幅のデータを対応させる。
【００５７】
これに応じて、１８ビット幅のデータをサンプリングする際にＣＰＵ１０からの８ビット幅のデータのデータ書き込みアクセスの全回数は、３回となりレジスタαであるＭＣＢおよびＭＣＡレジスタの設定値が、表２よりＭ＊Ｂ＝１およびＭ＊Ａ＝０（＊＝Ｃ）となる。これにより、ＭＣＢ＝１およびＭＣＡ＝０の設定値がそれぞれ表３のＭＷＢ０のｂｉｔ１およびｂｉｔ０にそれぞれ設定される。
【００５８】
一回目のデータ書き込みストローブによってサンプリングされるデータ列（分割ビットデータグループ）を、１７ビット目から１０ビット目のデータと設定した場合、レジスタβが備えるＭ１７ＢおよびＭ１７Ａレジスタ〜Ｍ１０ＢおよびＭ１０Ａレジスタの設定値が表２よりＭ＊Ｂ＝Ｍ＊Ａ＝０（＊＝１０〜１７）となる。これにより、Ｍ１７ＢおよびＭ１７Ａレジスタ〜Ｍ１０ＢおよびＭ１０Ａレジスタの設定値が、表３のＭＷＢ５のｂｉｔ３およびｂｉｔ２からＭＷＢ３のｂｉｔ５およびｂｉｔ４まで順番に設定される。
【００５９】
次に、二回目のデータ書き込みストローブによってサンプリングされるデータ列（分割ビットデータグループ）を、９ビット目から２ビット目のデータと設定すると、レジスタβが備えるＭ９ＢおよびＭ９Ａレジスタ〜Ｍ２ＢおよびＭ２Ａレジスタの設定値が表２よりＭ＊Ｂ＝０およびＭ＊Ａ＝１（＊＝２〜９）となる。これにより、Ｍ９ＢおよびＭ９Ａレジスタ〜Ｍ２ＢおよびＭ２Ａレジスタの設定値が、表３のＭＷＢ３のｂｉｔ３およびｂｉｔ２からＭＷＢ１のｂｉｔ５およびｂｉｔ４まで順番に設定される。
【００６０】
次に、三回目のデータ書き込みストローブによってサンプリングされるデータ列（分割ビットデータグループ）を、１ビット目および０ビット目のデータと設定した場合、レジスタβが備えるＭ１ＢおよびＭ１Ａレジスタ、Ｍ０ＢおよびＭ０Ａレジスタの設定値が表２よりＭ＊Ｂ＝１およびＭ＊Ａ＝０（＊＝０、１）となる。これにより、Ｍ１ＢおよびＭ１Ａレジスタ、Ｍ０ＢおよびＭ０Ａレジスタの設定値が、表３のＭＷＢ１のｂｉｔ３およびｂｉｔ２からＭＷＢ１のｂｉｔ１およびｂｉｔ０まで順番に設定される。
【００６１】
表３に示すように、本実施形態では、ＭＣＢおよびＭＣＡレジスタの設定値がＭＣＢ＝１およびＭＣＡ＝０であるから、表２より３回のデータ書き込みストローブによって、１８ビット幅のデータバス信号の１回のデータ書き込みサイクルが完了する。
【００６２】
【表３】
2004164579.tif 000005
【００６３】
次に、レジスタαおよびレジスタβの設定値（レジスタ値）を、表３に示すように設定した場合の本発明のデータバス幅変換装置の動作を図１Ａ、図２および図３を用いて説明する。
【００６４】
前述のように、本実施の形態では、図１Ａに示す８ビットのデータバス幅を有するＣＰＵ１０と、１８ビットのデータバス幅を有するＬＳＩ１１とは、８−８−２の分割パターンに従って接続されている。
【００６５】
ＣＰＵ１０から８ビットデータが出力されると、その８ビットデータは、１８ビット幅のデータバス２０（図２）に入力される。ここで、ＣＰＵ１０からは、例えば８−８−２のような分割パターンに従って、３つの分割ビットデータグループそれぞれを示す信号ＤＴ１−０、ＤＴ１−１およびＤＴ１−２（８ビットデータ）として出力される。信号ＤＴ１−２においては、８ビットデータの内の２ビットデータが有効データであり、その他の６ビットデータはＤｏｎ’ｔ  Ｃａｒｅであり、他に何の影響を与えないものである。１８ビット幅のデータバス２０を介して信号ＤＴ１−０、ＤＴ１−１およびＤＴ１−２は、データ書き込み信号ＮＷＲと同期して制御回路２１に入力される。
【００６６】
データ書き込み信号ＮＷＲは、図３に示す制御回路２１内のカウンタ３１に入力される。カウンタ３１は、データ書き込み信号ＮＷＲに同期してデータ書き込みストローブの回数をカウントする。また、レジスタβは、１８ビット幅のデータの各ビットに対応するデータバス信号が、ＣＰＵ１０から何回目のデータ書き込みアクセスによってサンプリングされるかを設定する。
【００６７】
レジスタαは、データ書き込みストローブの合計回数（総伝送回数）を表すレジスタ値を、カウンタ３１に出力する。カウンタ３１は、データ書き込み信号ＮＷＲに基づいてデータ書き込みストローブの回数をカウントしたカウンタ値をコンペア部３２に出力する。
【００６８】
コンペア部３２が備える１８個のコンペアは、レジスタβからの設定されたデータ書き込みストローブの回数を表すレジスタ値と、カウンタ３１からのカウントされたデータ書き込みストローブの回数を表すカウンタ値とを比較する。これらのレジスタ値とカウンタ値とが一致したコンペアからサンプリング制御信号が、一致したコンペアに対応するサンプリング回路に出力される。
【００６９】
サンプリング部３３には、１８ビット幅のデータバス信号ＤＢ［１７：０］が入力され、各データバス信号ＤＢ［１７：０］は、それぞれのビットデータに対応して設けられた１８個のサンプリング回路に入力される。
【００７０】
サンプリング制御信号を受け取ったサンプリング回路は、そのサンプリング制御信号に基づいて、データバス信号ＤＢ［１７：０］うちの対応する所定ビット目のデータバス信号をサンプリングし、フリップフロップ２２に出力する。例えば、サンプリング部３３の１７ビット目のサンプリング回路３３Ａでは、レジスタβの設定値が表２および３よりＭ１７Ｂ＝Ｍ１７Ａ＝０であるから、データ書き込みの１サイクルにおいて、１回目のデータ書き込みストローブによって端子ＤＢ１７を介して出力されたデータバス信号がサンプリングされ、１７ビット目のサンプリング回路３３Ａからデータバス信号がフリップフロップ２２に出力される。
【００７１】
フリップフロップ２２は、各データバス信号ＤＢ［１７：０］が示す各ビットデータを記録していき、データ書き込み信号ＮＷＲに同期して、分割ビットデータグループに対するデータバス信号をサンプリングし、そのデータバス信号ＬＤＢ［１７：０］を出力制御回路２３に出力する。
【００７２】
ここで、フリップフロップ２２の機能は、サンプリング部３３に盛り込んでおいても同様な動作をする。つまり、コンペア部３２からのサンプリング制御信号を受け取ったサンプリング部３３のサンプリング回路が、そのサンプリング制御信号に基づいて所定ビット目のデータバス信号ＤＢ［１７：０］をサンプリングする時に、フリップフロップ（またはラッチ回路）を利用してデータ書き込み信号ＮＷＲに同期してサンプリングを行い、サンプリングしたデータバス信号を直接出力制御回路２３に出力することも可能である。
【００７３】
また、カウンタ３１では、データ書き込み信号ＮＷＲが入力されると、データ書き込みストローブの回数をカウントしていき、このカウントされたカウンタ値が、ＭＣＢおよびＭＣＡレジスタによって示されるレジスタ値（本実施形態ではデータ書き込みアクセスの回数が３回であるから“１０”）に達した後に、カウント値は初期値（例えば、“００”）に戻る。さらに、カウンタ３１は、リサイズされた１８ビット幅のデータをＬＳＩ内部回路２４に出力するためのデータ書き込み信号Ｗを出力制御回路２３に出力する。
【００７４】
３回のデータ書き込みアクセスによって分割ビットデータグループ毎にサンプリングされたデータは、このデータ書き込み信号Ｗに基づいて、連続した１８ビット幅のデータＩＤＢ［１７：０］として、ＬＳＩ１１のＬＳＩ内部回路２４が備えるレジスタおよびメモリ等のブロックに書き込まれる。
【００７５】
このように、本発明のデータバス幅変換装置１２０には、制御回路２１でＮビット幅のデータをサンプリングする際のＣＰＵ１０からのデータ書き込みアクセスの全回数を設定するレジスタαと、Ｎビット幅のデータの所定ビットに対応するデータバス信号を何回目のデータ書き込みアクセスでサンプリングするかを設定するレジスタβとが設けられている。このことにより、Ｍビット幅のデータバスを有するＣＰＵ１０がＮビット幅のデータバス（Ｍ＝Ｎを含む）を有する周辺デバイスであるＬＳＩ１１にアクセスする場合、ＣＰＵ１０からのデータ書き込みアクセスの回数（総伝送回数）および分割パターンが、ハードウェア的に固定されることなく、多様なバスシステムにおいてデータバス幅のリサイズが任意に設定できる。
【００７６】
図４は、本発明のデータバス幅変換装置の動作における各信号のタイミングチャートである。
【００７７】
まず、ＣＰＵ１０から８ビットのデータバス信号Ｄ［７：０］が、データ書き込み信号ＮＷＲに同期して出力され、結線部１２を介してＬＳＩ１１の１８ビット幅のデータバス２０に入力される。データバス信号Ｄ［７：０］は、例えば、ＬＳＩ１１の１８ビットのデータバス幅の１７ビット目から１０ビット目に対応するデータ信号ＤＴ１−０、ＬＳＩ１１のデータバス幅の９ビット目から２ビット目に対応するデータ信号ＤＴ１−１、ＬＳＩ１１のデータバス幅の１ビット目および０ビット目に対応するデータ信号ＤＴ１−２として出力される。尚、ＬＳＩ１１のデータバス幅の１ビット目および０ビット目に対応するデータ信号ＤＴ１−２の伝送では、８ビットのバス幅のうち２ビット分しか使用していない。
【００７８】
次に、データ信号ＤＴ１−０、ＤＴ１−１およびＤＴ１−２は、１８ビット幅のデータバス２０から制御回路２１のサンプリング部３３に入力される。
【００７９】
制御回路２１では、レジスタブロック３０のレジスタαおよびレジスタβによって、データ信号ＤＴ１１−０、ＤＴ１−１およびＤＴ１−２のサンプリング条件が設定される。すなわち、ＭＣ［Ｂ：Ａ］＝１０は、３回のデータ書き込みストローブによって、１８ビット幅のデータバス信号が１回サンプリングされることを示す。Ｍ１７［Ｂ：Ａ］＝００〜Ｍ１０［Ｂ：Ａ］＝００は、データ信号ＤＴ１−０が１回目のデータ書き込みストローブによって、１７ビット目〜１０ビット目にサンプリングされることを示す。Ｍ９［Ｂ：Ａ］＝０１〜Ｍ２［Ｂ：Ａ］＝０１は、データ信号ＤＴ１−１が２回目のデータ書き込みストローブによって、９ビット目〜２ビット目にサンプリングされることを示す。Ｍ１［Ｂ：Ａ］＝１０およびＭ０［Ｂ：Ａ］＝１０は、データ信号ＤＴ１−２が３回目のデータ書き込みストローブによって、１ビット目〜０ビット目にサンプリングされることを示す。
【００８０】
次に、データ信号ＤＴ１−０、ＤＴ１−１およびＤＴ１−２に対するデータ書き込みストローブの回数は、カウンタ３１によってカウンタ値００、０１および１０としてカウントされる。このカウンタ値が上記のレジスタβの設定値と一致すると、データ信号ＤＴ１−０、ＤＴ１−１およびＤＴ１−２は、それぞれに対応して設けられたサンプリング回路でサンプリングされる。
【００８１】
例えば、データ信号ＤＴ１−０は、データＤＴ１−０［７］〜データＤＴ１−０［０］としてサンプリングされる。データＤＴ１−０［７］〜データＤＴ１−０［０］は、サンプリング部３３の対応する出力端子からフリップフロップ２２に出力される。同様に、データ信号ＤＴ１−１は、データＤＴ１−１［７］〜データＤＴ１−１［０］としてサンプリングされ、サンプリング部３３の対応する出力端子からフリップフロップ２２に出力され、データ信号ＤＴ１−２は、データＤＴ１−２［７］〜データＤＴ１−２［６］としてサンプリングされ、それぞれサンプリング部３３の対応する出力端子からフリップフロップ２２に出力される。ここで、例えば、上記［７］〜［０］は、ＣＰＵ１０のＤ７端子〜Ｄ０端子から出力される８ビットデータの７ビット目〜０ビット目に対応する。
【００８２】
次に、フリップフロップ２２は、データ書き込み信号ＮＷＲに同期して、データＤＴ１−０［７］〜データＤＴ１−０［０］、データＤＴ１−１［７］〜データＤＴ１−１［０］およびデータＤＴ１−２［７］〜データＤＴ１−２［６］をラッチデータＬＤＢ［１７：０］として出力制御回路２３に出力する。
【００８３】
そして、出力制御回路２３は、カウンタ３１からのデータ書き込み信号Ｗに同期して、それぞれ分割ビットデータグループであるデータＤＴ１−０［７］〜データＤＴ１−０［０］、データＤＴ１−１［７］〜データＤＴ１−１［０］およびデータＤＴ１−２［７］〜データＤＴ１−２［６］を連続した１８ビット幅のデータバス信号ＩＤＢ［１７：０］であるデータＤＴ１にリサイズし、ＬＳＩ内部回路２４に出力する。
【００８４】
ここで、本実施形態では、レジスタαと、レジスタβが備える複数のレジスタそれぞれとを、それぞれ２ビットで構成しているが、レジスタαおよびレジスタβのビット幅を変えることによって、Ｎビット幅のデータバス信号をサンプリングする際のＣＰＵの総伝送回数（例えば、Ｃ回）と、Ｎビット幅のデータバス信号の各ビットに対応するデータバス信号を何回目のデータ書き込みアクセスでサンプリングするかを自由に決定する事が可能となる。
【００８５】
なお、総伝送回数および分割パターンは、ＣＰＵ１０からの命令に従ってレジスタαおよびレジスタβに設定されてもよい。また、総伝送回数および分割パターンは、レジスタブロック３０がＣＰＵ１０が有するデータバス幅のサイズ（および結線状態）を認識して、そのサイズに応じてレジスタαおよびレジスタβに設定されてもよい。この場合、レジスタブロック３０が設定した総伝送回数および分割パターンに従って、ＣＰＵ１０はデータを分割して出力する。
【００８６】
これにより、Ｍビットのデータバス幅を持つＣＰＵとＮビットのデータバス幅を持つ周辺デバイスとを接続する場合でも、両者間の結線状態をハードウェア的に制限される事なく自由に決定する事が可能となる。
【００８７】
さらに、本実施形態では、ＣＰＵからのデータ書き込みアクセス時のデータバス幅変換の一例を示したが、上記データ書き込みアクセス時のデータバス幅変換の逆のシーケンスを利用して、周辺デバイスからＣＰＵへのデータ読み出しアクセス時にＮビット幅のデータをＭビット幅のデータに分割して出力するデータバス幅変換も可能である。
【００８８】
（実施の形態２）
以下、図面を参照しながらＬＳＩ側（周辺デバイス）からＣＰＵ側（ホストシステム）へのデータ読み出しアクセス時の本発明の実施の形態を説明する。
【００８９】
図５Ａは、本発明の実施形態２におけるデータ処理システム２００を示す。
【００９０】
データ処理システム２００は、ＣＰＵ５０と、ＬＳＩ５１とを備える。ＬＳＩ５１は、データバス幅変換装置２２０（図６）を備える。
【００９１】
結線部５２では、ＣＰＵ５０とＬＳＩ５１とが、図１Ａに示すＣＰＵ１０とＬＳＩ１１と同様に接続されている。そして、ＣＰＵ５０のデータ読み出し信号ＮＲＤ用端子は、ＬＳＩ５１のデータ読み出し信号ＮＲＤ用端子と接続されている。
【００９２】
また、図５Ａに示す８ビットのデータバス幅を有するＣＰＵ５０のインターフェース部と１８ビットのデータバス幅を有するＬＳＩ５１のインターフェース部とは、図１Ａと同様の８−８−２の分割パターンによって接続されている。
【００９３】
図５Ｂに、本発明の実施の形態のデータ処理装置の一例としてディスプレイ装置２１０を示す。ディスプレイ装置２１０は例えば液晶ディスプレイ装置である。ディスプレイ装置２１０は、図５Ａに示すＬＳＩ５１と、表示パネル２１１とを備える。この場合、ＬＳＩ５１は表示パネル２１１の表示動作を制御する。このように、データバス幅変換装置２２０を備えるＬＳＩ５１は、様々なデータ処理装置に搭載され得る。
【００９４】
図６は、図５Ａに示すＬＳＩ５１が備える本発明の実施の形態のデータバス幅変換装置２２０を示す。データバス幅変換装置２２０は、データ読み出しアクセス時に、ＬＳＩ５１の１８ビットのデータバス幅をＣＰＵ５０の８ビットのデータバス幅にリサイズする。
【００９５】
ここで、図６に示すデータバス幅変換装置２２０は、図２に示すデータバス幅変換装置１２０と同様の構成であるが、フリップフロップ（ＦＦ）６２と、出力制御回路６３とを経由しない場合でも本発明のデータバス変換動作を実現することが可能である。ここで、フリップフロップ６２はラッチ回路であってもよい。
【００９６】
図７は、図６に示すデータバス幅変換装置に含まれる制御回路６１の詳細を示すブロック図である。
【００９７】
図７に示す制御回路６１は、レジスタブロック７０を備える。レジスタブロック７０は、１８ビット幅のデータをＬＳＩ側（周辺デバイス）からＣＰＵ側（ホストシステム）へ読み出す際の、データ読み出しアクセスの全回数（ＬＳＩ１１からＣＰＵ１０へ複数の分割ビットデータグループを伝送するときの総伝送回数）を任意に設定するレジスタγと、１８ビット幅のデータの各ビットデータが総伝送回数のうち何回目のデータ伝送動作で伝送されるかを設定する（すなわち、１８ビット幅のデータの各ビットデータを複数の分割ビットデータグループへ分配するための１８ビット幅のデータの分割パターンを設定する）レジスタδとを備える。
【００９８】
制御回路６１は、分割部７５を備える。この分割部７５は図３に示す取得部３５に対応する。分割部７５は、カウンタ７１と、コンペア部７２と、サンプリング部７３とを備える。
【００９９】
カウンタ７１は、ＣＰＵ５０からのデータ読み出し信号ＮＲＤに同期して、データバス信号を読み出す際の伝送回数（データ読み出しストローブの回数）のカウント値を出力する。
【０１００】
コンペア部７２には、レジスタδからのレジスタ値とカウンタ７１からのカウント値とを比較する複数のコンペアが、１８ビット幅のデータの各ビット毎に設けられている。レジスタδからのレジスタ値は、上述の分割パターンを示し、複数のコンペアそれぞれに総伝送回数のうちの何れかの回数を示すレジスタ値が入力される。レジスタ値は対応するビットデータグループ毎に値が異なる。本実施の形態では、コンペア部７２は１８個のコンペアを備える（図７は、説明の簡略化のために１８個のコンペアのうちの３個のコンペア７２Ａ、７２Ｂ、７２Ｃを示す）。
【０１０１】
サンプリング部７３には、サンプリング制御信号により１８ビット幅のデータのデータバス信号ＤＢ［１７：０］を、それぞれ分割ビットデータグループ毎に読み出しを行うための、複数のサンプリング回路が、１８ビット幅のデータバス信号の各ビット毎に設けられている。本実施の形態では、サンプリング部７３は、１８個のサンプリング回路を備える（図７は、説明の簡略化のために１８個のサンプリング回路のうちの３個のサンプリング回路７３Ａ、７３Ｂ、７３Ｃを示す）。１８個のサンプリング回路のそれぞれには、１８個のコンペアのうちの対応するコンペアからサンプリング信号が出力される。１８個のサンプリング回路のそれぞれはサンプリング信号に応じて、１８ビット幅のデータのうちの対応付けられたビットデータをサンプリングする。
【０１０２】
ここで、レジスタブロック７０に設けられているレジスタγの構成は表１のレジスタαと同様のものであり、レジスタδの構成は表１のレジスタβと同様のものである。
【０１０３】
また、１８本の各データバス信号に対応して設けられているＭ＊ＢおよびＭ＊Ａレジスタの設定値とサンプリングタイミングの関係については表２と同様のものであり、Ｍ＊ＢおよびＭ＊Ａレジスタの設定値がＭ＊Ｂ＝Ｍ＊Ａ＝０であれば、１回目のデータ読み出しストローブ、Ｍ＊Ｂ＝０およびＭ＊Ａ＝１であれば、２回目のデータ読み出しストローブ、Ｍ＊Ｂ＝１およびＭ＊Ａ＝０であれば、３回目のデータ読み出しストローブ、Ｍ＊Ｂ＝１およびＭ＊Ａ＝１であれば、４回目のデータ読み出しストローブによってＣＰＵ５０への読み出しが行われることを示している。
【０１０４】
また、所定のＮビット幅（本実施形態では１８ビット幅）のデータバス信号を１回読み出す際のデータ読み出しアクセスの全回数（総伝送回数）を示すＭＣＢおよびＭＣＡレジスタの設定値とサンプリングタイミングの関係についても表２と同様のものであり、ＭＣＢおよびＭＣＡレジスタは、ＬＳＩからＣＰＵへの読み出しを行う場合、何回のデータ読み出しストローブによって１回の読み出しを実施するかを指定する。
【０１０５】
次に、レジスタγおよびレジスタδの設定値（レジスタ値）を、表３に示すように設定した場合の本発明のデータバス幅変換装置のデータ読み出しアクセス動作を図５Ａ、図６および図７を用いて説明する。
【０１０６】
前述のように、図５Ａに示す８ビットのデータバス幅を有するＣＰＵ５０と１８ビットのデータバス幅を有するＬＳＩ５１とは、８−８−２の分割パターンによって接続されている。
【０１０７】
ＣＰＵ５０からデータ読み出し信号ＮＲＤが出力されると、そのデータ読み出し信号ＮＲＤはＬＳＩ内部回路６４に入力される。それに同期して、ＬＳＩ内部回路６４から読み出された１８ビット幅のデータＯＤＢ［１７：０］が制御回路６１に入力される。
【０１０８】
データ読み出し信号ＮＲＤは、制御回路６１内のカウンタ７１に入力され、カウンタ７１は、データ読み出し信号ＮＲＤに同期してデータバス信号を読み出す際のデータ読み出しストローブの回数をカウントする。また、レジスタδは、１８ビット幅のデータの各ビットに相当するデータバス信号が、何回目のデータ読み出しストローブによってサンプリングされるかを設定する。
【０１０９】
レジスタγは、データ読み出しストローブの合計回数（総伝送回数）を表すレジスタ値を、カウンタ７１に出力する。カウンタ７１は、データ読み出し信号ＮＷＲに基づいてデータ読み出しストローブの回数をカウントしたカウンタ値をコンペア部７２に出力する。
【０１１０】
コンペア部３２が備える１８個のコンペアは、レジスタδからの設定されたデータ読み出しストローブの回数を表すレジスタ値と、カウンタ７１からのカウントされたデータ読み出しストローブの回数を表すカウンタ値とを比較する。これらのレジスタ値とカウンタ値とが一致したコンペアからサンプリング制御信号が、一致したコンペアに対応するサンプリング回路に出力される。
【０１１１】
サンプリング部７３には、ＬＳＩ内部回路６４より１８ビット幅のデータバス信号ＯＤＢ［１７：０］が入力され、各データバス信号ＯＤＢ［１７：０］は、それぞれのビットデータに対応して設けられた１８個のサンプリング回路に入力される。
【０１１２】
サンプリング制御信号を受け取ったサンプリング回路は、そのサンプリング制御信号に基づいて、データバス信号ＤＢ［１７：０］うちの対応する所定ビット目のデータバス信号をサンプリングし、データバス６０に出力する。
【０１１３】
例えば、サンプリング部７３の１７ビット目のサンプリング回路７３Ａでは、レジスタδの設定値が表２および３よりＭ１７Ｂ＝Ｍ１７Ａ＝０であるから、データ読み出しの１サイクルにおいて、１回目のデータ読み出しストローブによって、１７ビット目に対応したサンプリング回路７３Ａにてデータバス信号ＯＤＢ１７のサンプリング（読み出し）が行われ、ＤＢ１７端子（図５Ａ）に出力される。
【０１１４】
また、カウンタ７１では、データ読み出し信号ＮＲＤが入力されると、データ読み出しストローブの回数をカウントし、このカウントされたカウンタ値がＭＣＢおよびＭＣＡレジスタのレジスタ値（本実施形態ではデータ書き込みアクセスの回数が３回であるから“１０”）に達した後に、カウント値は初期値（例えば、“００”）に戻る。
【０１１５】
このように、本発明のデータバス幅変換装置は、制御回路６１にＮビット幅のデータをサンプリングする際のＣＰＵ５０からのデータ読み出しアクセスの全回数を設定するレジスタγと、Ｎビット幅のデータの所定ビットに対応するデータバス信号を何回目のデータ読み出しアクセスでサンプリングするかを設定するレジスタδとが設けられている。このことにより、Ｍビット幅のデータバスを有するＣＰＵ５０がＮビット幅のデータバス（Ｍ＝Ｎを含む）を有する周辺デバイスであるＬＳＩ５１にアクセスする場合、ＬＳＩ５１からＣＰＵ５０へのデータ読み出しアクセスの回数およびデータバス信号の分割パターンが、ハードウェア的に固定されることなく、多様なバスシステムにおいてデータバス幅のリサイズが任意に設定できる。
【０１１６】
図８は、本発明のデータバス幅変換装置のデータ読み出し動作における各信号のタイミングチャートである。
【０１１７】
まず、ＣＰＵ５０からデータ読み出し込み信号ＮＲＤが出力され、結線部５２を介してＬＳＩ５１のＬＳＩ内部回路６４に入力される。
【０１１８】
データ読み出し込み信号ＮＲＤが入力されると、それに同期してＬＳＩ内部回路６４から読み出された１８ビット幅のデータＤＴ１が制御回路６１のサンプリング部３３に信号ＯＤＢ［１７：０］として入力される。
【０１１９】
制御回路６１では、レジスタブロック７０のレジスタγおよびレジスタδによって、データＤＴ１の読み出し条件が設定される。すなわち、ＭＣ［Ｂ：Ａ］＝１０は、３回のデータ読み出しストローブによって、１８ビット幅のデータバス信号が１回読み出されることを示す。Ｍ１７［Ｂ：Ａ］＝００〜Ｍ１０［Ｂ：Ａ］＝００は、１回目のデータ読み出しストローブによって、１７ビット目〜１０ビット目を読み出すことを示す。Ｍ９［Ｂ：Ａ］＝０１〜Ｍ２［Ｂ：Ａ］＝０１は、２回目のデータ読み出しストローブによって、９ビット目〜２ビット目を読み出すことを示す。Ｍ１［Ｂ：Ａ］＝１０およびＭ０［Ｂ：Ａ］＝１０は、３回目のデータ読み出しストローブによって、１ビット目〜０ビット目を読み出すことを示す。
【０１２０】
次に、データＤＴ１に対するデータ読み出しストローブの回数は、カウンタ７１によってカウンタ値００、０１および１０としてカウントされる。このカウンタ値が上記のレジスタδの設定値と一致すると、データＤＴ１は、それぞれサンプリング部７３の１８ビット幅のデータの所定ビットに対応して設けられたサンプリング回路から読み出しが行われる。
【０１２１】
ここで、各読み出しストローブにおいて、読み出しが行われるビット以外のサンプリング回路からの出力はＨｉ−Ｚとしておくことにより、ＣＰＵ５０へ読み出される８ビットのデータバスは、Ｄ［７：０］のように３回の読み出しストローブで１８ビットデータバスの読み出しが完了する。なお、３回目の読み出しストローブについては、下位２ビットのみ有効データであり、その他の上位６ビットはＤｏｎ’ｔ  Ｃａｒｅであり、他に何の影響を与えないものである。
【０１２２】
ここで、本実施形態では、レジスタγと、レジスタδが備える複数のレジスタそれぞれとを、それぞれ２ビットで構成しているが、レジスタγおよびレジスタδのビット幅を変えることによって、Ｎビット幅のデータバス信号を読み出す際のＣＰＵへの総伝送回数（例えば、Ｃ回）と、Ｎビット幅のデータバス信号の各ビットに対応するデータバス信号が何回目のデータ読み出しアクセスで読み出し動作を行うかを自由に決定する事が可能となる。
【０１２３】
なお、総伝送回数および分割パターンは、ＣＰＵ５０からの命令に従ってレジスタγおよびレジスタδに設定されてもよい。また、総伝送回数および分割パターンは、レジスタブロック７０がＣＰＵ５０が有するデータバス幅のサイズ（および結線状態）を認識して、そのサイズに応じてレジスタγおよびレジスタδに設定されてもよい。この場合、レジスタブロック７０が設定した総伝送回数および分割パターンに従って、分割部７５はデータを分割して出力する。
【０１２４】
これにより、Ｍビットのデータバス幅を持つＣＰＵとＮビットのデータバス幅を持つ周辺デバイスとを接続する場合でも、両者間の結線状態をハードウェア的に制限される事なく自由に決定する事が可能となる。
【０１２５】
さらに、本発明では、Ｍビット幅のデータバスを有するＣＰＵ（ホストシステム）がＮビット幅のデータバス（Ｍ＝Ｎを含む）を有するＬＳＩ（周辺デバイス）にアクセスする場合において、データバス幅をリサイズする際に、ＣＰＵからのデータ書き込み（またはＬＳＩからＣＰＵへのデータ読み出し）アクセスの回数および分割パターンが、ハードウェア的に固定されることなく、多様なバスシステムにおいて任意に設定することが可能となる。
【０１２６】
さらに、本発明では、Ｍビット幅のデータバスを有するＣＰＵ（ホストシステム）がＮビット幅のデータバス（Ｍ＝Ｎを含む）を有するＬＳＩ（周辺デバイス）にアクセスする場合において、データバス幅をリサイズする際に、Ｎビット幅のデータバス信号の分割パターンおよび分割回数が固定されていないため、ハードウェア的にＬＳＩ側のビット幅の切り替えること等を不要にすることができ、使用するＬＳＩの選択が制限されなくなるとともに、ＣＰＵ側におけるソフトによる処理等も不要になるため、ＣＰＵに対する負荷を低減することも可能となる。
【０１２７】
尚、本発明では、ＣＰＵとＬＳＩとの間でデータを伝達するための１８ビットのデータ分割パターンは、８―８―２の分割パターンであるが、本発明は、これに限定されるものではない。例えば、データ分割パターンとして、６―６―６の分割パターン、５―６―７の分割パターン等の分割パターンであっても良い。
【０１２８】
尚、本発明のデータバス幅変換装置を用いたデータ伝送は、ＣＰＵとＬＳＩとの間の双方向のデータ伝送アクセス時にも行われる。
【０１２９】
【発明の効果】
本発明のデータバス幅変換装置は、ＣＰＵ（ホストシステム）がＮ（Ｎは正数）ビットデータを分割して複数のビットデータグループとして伝送するときの総伝送回数を設定するとともに、Ｎビットデータを複数のビットデータグループそれぞれへ分配するためのＮビットデータの分割パターンを設定する設定部を備える。また、本発明のデータバス幅変換装置は、Ｎビットデータを分割して複数のビットデータグループとしてＣＰＵへ伝送するときの総伝送回数を設定するとともに、Ｎビットデータを複数のビットデータグループそれぞれへ分配するためのＮビットデータの分割パターンを設定する設定部を備える。このことによりＣＰＵ側（ホストシステム）からＬＳＩ側（周辺デバイス）にデータ書き込みアクセスを行う場合およびＬＳＩ側（周辺デバイス）からＣＰＵ側（ホストシステム）にデータ読み出しのアクセスを行う場合に、ハードウェア的に固定されることなくデータの分割回数および分割パターンを任意に設定できる。
【図面の簡単な説明】
【図１Ａ】本発明の実施形態におけるデータバス幅変換装置が設けられた、ＣＰＵおよびＬＳＩのインターフェース部の接続状態の一例を示す結線図である。
【図１Ｂ】本発明の実施の形態のデータ処理装置を示す図である。
【図２】図１Ａに示すＬＳＩのインターフェース部において、データバス幅のリサイズ（変更）を行う本発明のデータバス幅変換装置の構成を表すブロック図である。
【図３】図２に示すデータバス幅変換装置に含まれる制御回路の構成を示すブロック図である。
【図４】本発明のデータバス幅変換装置の動作における各信号のタイミングチャートである。
【図５Ａ】データ読み出しアクセスを行う、本発明の実施形態におけるデータバス幅変換装置が設けられた、ＣＰＵおよびＬＳＩのインターフェース部の接続状態の一例を示す結線図である。
【図５Ｂ】本発明の実施の形態のデータ処理装置を示す図である。
【図６】図１Ａに示すＬＳＩのインターフェース部において、データ読み出しアクセス時に、データバス幅のリサイズ（変更）を行う本発明のデータバス幅変換装置の構成を表すブロック図である。
【図７】データ読み出しアクセス時に、図５Ａに示すデータバス幅変換装置に含まれる制御回路の構成を示すブロック図である。
【図８】本発明のデータバス幅変換装置の動作における、データ読み出しアクセス時の各信号のタイミングチャートである。
【符号の説明】
１０  ＣＰＵ
１１  ＬＳＩ
１２  結線部
２０  １８ビット幅のデータバス
２１  制御回路
２２  フリップフロップまたはラッチ回路
２３  出力制御回路
２４  ＬＳＩ内部回路
３０  レジスタブロック
３１  カウンタ
３２  コンペア部
３３  サンプリング部
３４  サンプリング制御信号発生部
【図１Ａ】
2004164579.tif 000006
【図１Ｂ】
2004164579.tif 000007
【図２】
2004164579.tif 000008
【図３】
2004164579.tif 000009
【図４】
2004164579.tif 000010
【図５Ａ】
2004164579.tif 000011
【図５Ｂ】
2004164579.tif 000012
【図６】
2004164579.tif 000013
【図７】
2004164579.tif 000014
【図８】
2004164579.tif 000015