JP2004164579A - データバス幅変換装置およびデータ処理装置 - Google Patents
データバス幅変換装置およびデータ処理装置 Download PDFInfo
- Publication number
- JP2004164579A JP2004164579A JP2003183631A JP2003183631A JP2004164579A JP 2004164579 A JP2004164579 A JP 2004164579A JP 2003183631 A JP2003183631 A JP 2003183631A JP 2003183631 A JP2003183631 A JP 2003183631A JP 2004164579 A JP2004164579 A JP 2004164579A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bit data
- bit
- bus width
- transmissions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
Abstract
【課題】データバス幅のリサイズ(変更)が任意に設定できるようにする。
【解決手段】複数の分割に対応したデータ伝送回数を設定可能とするとともに、何回目のデータ伝送かを示すデータ伝送回数に対応した分割ビットグループを設定可能とするレジスタブロック30と、レジスタブロック30からのデータ伝送回数を所定のタイミングで初期値から最大データ伝送回数まで繰り返して出力し、出力されたデータ伝送回数と、レジスタブロック30からの分割ビットグループ毎のデータ伝送回数とを比較して、両者が一致した場合に、サンプリング制御信号を出力するサンプリング制御信号発生手段34と、サンプリング制御信号によりNビット幅のデータを分割ビットグループ毎にそれぞれサンプリングするサンプリング部33と、サンプリング部からの分割ビットグループ毎のデータを連続したNビット幅データに変換し出力する出力制御回路23とを有する。
【選択図】 図2
【解決手段】複数の分割に対応したデータ伝送回数を設定可能とするとともに、何回目のデータ伝送かを示すデータ伝送回数に対応した分割ビットグループを設定可能とするレジスタブロック30と、レジスタブロック30からのデータ伝送回数を所定のタイミングで初期値から最大データ伝送回数まで繰り返して出力し、出力されたデータ伝送回数と、レジスタブロック30からの分割ビットグループ毎のデータ伝送回数とを比較して、両者が一致した場合に、サンプリング制御信号を出力するサンプリング制御信号発生手段34と、サンプリング制御信号によりNビット幅のデータを分割ビットグループ毎にそれぞれサンプリングするサンプリング部33と、サンプリング部からの分割ビットグループ毎のデータを連続したNビット幅データに変換し出力する出力制御回路23とを有する。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、多様なバスシステムに用いられるデータバス幅変換装置に関し、特に、データバス幅が互いに異なるCPU(ホストシステム)とその周辺デバイスとの間におけるバスアクセスが可能であるデータバス幅変換装置に関する。
【0002】
【従来の技術】
M(Mは正数)ビットのデータバス幅を有するCPUが、CPUと異なるN(Nは正数)ビットのデータバス幅を有するLSI(周辺デバイス)にアクセスする場合には、データバス幅のリサイズ(変更)を行うためのデータバス幅変換装置が必要となる。なお、M=Nの場合もあり得る。
【0003】
従来のデータバス幅変換装置の一例として、データバス幅のリサイズを行うためにメモリセルアレイ部を有し、メモリセルアレイ部をキャッシュメモリあるいはローカルメモリとして使用するデータバス幅変換装置が特許文献1に開示されている。
【0004】
また、従来のデータバス幅変換装置の他の例として、データバス幅のリサイズを行うためにMビット幅のデータバスとNビット幅のデータバスとの間にラッチ回路および出力制御回路とを設けたデータバス幅変換装置が特許文献2および特許文献3に開示されている。
【0005】
【特許文献1】
特開平4−76890号公報(第579頁、第1図)
【特許文献2】
特開平3−97340号公報(第256―257頁、第1―2図)
【特許文献3】
特開平5−242016号公報(第3頁、第1図)
【0006】
【発明が解決しようとする課題】
しかしながら、特許文献1、2および3それぞれに開示されている従来のデータバス幅変換装置では、データバス幅をリサイズする際に、NビットのデータをCPUからLSIへ転送するために必要なCPUのアクセス回数、CPUとLSIとの間の結線パターン等がハードウェア的に固定されており、多様なバスシステムにおいて使用することが困難であるという問題を有している。
【0007】
例えば、従来のCPU(ホストシステム)のデータバス幅は、過去の慣例により8の倍数のビット数(8ビット、16ビット、32ビット等)に設定されている。ところが、液晶モジュール等の多くの表示装置では、データバス幅が3の倍数のビット数(18ビット、24ビット等)となっていることがある。この理由は、表示装置の表示データがRED(赤)、GREEN(緑)、BLUE(青)の3つの色要素から構成されており、これらの3つの色要素のビット幅を等しくすることによって、データバス幅が3の倍数のビット数になるからである。
【0008】
例えば、8ビットのデータバス幅を有するCPUに18ビットのデータバス幅を有する液晶モジュールを接続し、液晶モジュールの有する表示能力を最大限に生かす場合には、CPUから液晶モジュールに18ビットのデータを完全に伝達することが必要である。この場合、CPUのデータバス幅は8ビットであるから、CPUから液晶モジュールにデータを伝達するには、最低でも18ビットのデータを三つに分割する必要がある。18ビットのデータの分割パターンとしては、8−8−2の分割パターン、6−6−6の分割パターン、5−6−7の分割パターン等のいろいろな分割パターンが考えられる。
【0009】
また、上記18ビットのデータの3回の分割回数は、最低限必要な分割回数であり、CPU側の何らかの理由により、分割回数が3回より多くなる場合も考えられる(すなわち、(分割回数)≧3)。
【0010】
従来のデータバス幅変換装置では、上記18ビットのデータの分割パターンおよび分割回数がハードウェア的に固定されてしまっており、このようなCPUインターフェースをLSI化した場合、分割回数および分割パターンはLSIの設計時に固定されてしまう。このため、使用するLSIの選択肢が制限されるとともに、CPU側でもソフト処理等が必要となる。
【0011】
本発明は、このような課題を解決するものであり、その目的は、CPU側(ホストシステム)からLSI(周辺デバイス)側へデータ書き込みアクセスおよびデータ読み出しアクセスを行う場合に、分割回数および分割パターンを任意に設定できるデータバス幅変換装置を提供することにある。
【0012】
【課題を解決するための手段】
本発明のデータバス幅変換装置は、第1のバス幅を有しN(Nは正数)ビットデータを複数のビットデータグループに分割して伝送する第1のデバイスから複数のビットデータグループを受け取って、第2のバス幅を有する第2のデバイスへNビットデータを出力するデータバス幅変換装置であって、第1のデバイスが複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部と、総伝送回数と分割パターンとに基づいて、複数のビットデータグループそれぞれが示すデータを取得する取得部と、取得した複数のビットグループそれぞれが示すデータからNビットデータを生成し、生成したNビットデータを第2のデバイスへ出力する出力部とを備え、そのことにより上記目的が達成される。
【0013】
第1のデバイスは、設定部が設定した総伝送回数および分割パターンに基づいて、Nビットデータを複数のビットデータグループに分割してもよい。
【0014】
設定部は、第1のデバイスからの命令に基づいて、総伝送回数および分割パターンを設定してもよい。
【0015】
設定部は、第1のバス幅のサイズに基づいて、総伝送回数および分割パターンを設定してもよい。
【0016】
複数のビットデータグループのそれぞれは、総伝送回数のうちの対応する伝送回数における第1のデバイスの伝送動作によって伝送され、取得部は、総伝送回数のうちの現在の伝送回数をカウントするカウンタ部とカウントされた現在の伝送回数と、複数のビットデータグループのそれぞれに対応する伝送回数とを比較する比較部と、比較した結果に基づいて複数のビットデータグループをサンプリングするサンプリング部とを備えてもよい。
【0017】
カウンタ部は、現在の伝送回数が総伝送回数に達した後にカウント数を総伝送回数のうちの初期値に設定してもよい。
【0018】
設定部は、総伝送回数を設定する第1のレジスタと、分割パターンを設定する第2のレジスタとを備えてもよい。
【0019】
第1のデバイスから第2のデバイスへのデータ書き込みアクセス時に、第2のデバイスへNビットデータを出力してもよい。
【0020】
第1のデバイスと第2のデバイスとの間の双方向のデータ伝送アクセス時に、第2のデバイスへNビットデータを出力してもよい。
【0021】
本発明のデータバス幅変換装置は、第2のバス幅を有する第2のデバイスから出力されたN(Nは正数)ビットデータを複数のビットデータグループに分割して、第1のバス幅を有する第1のデバイスへ伝送するデータバス幅変換装置であって、第1のデバイスへ複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部と、総伝送回数と分割パターンとに基づいて、Nビットデータを複数のビットデータグループに分割して出力する分割部とを備え、そのことにより上記目的が達成される。
【0022】
第2のデバイスから第1のデバイスへのデータ読み出しアクセス時に、第1のデバイスへ複数のビットデータグループを出力してもよい。
【0023】
第1のデバイスと第2のデバイスとの間の双方向のデータ伝送アクセス時に、第1のデバイスへ複数のビットデータグループを出力してもよい。
【0024】
本発明のデータ処理装置は、第1のバス幅を有しN(Nは正数)ビットデータを複数のビットデータグループに分割して伝送する第1のデバイスから複数のビットデータグループを受け取り、Nビットデータを出力するデータバス幅変換装置と、データバス幅変換装置から出力されたNビットデータを受け取る第2のバス幅を有する第2のデバイスとを備えたデータ処理装置であって、データバス幅変換装置は、第1のデバイスが複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部と、総伝送回数と分割パターンとに基づいて、複数のビットデータグループそれぞれが示すデータを取得する取得部と、取得した複数のビットグループそれぞれが示すデータからNビットデータを生成し、生成したNビットデータを第2のデバイスへ出力する出力部とを備え、そのことにより上記目的が達成される。
【0025】
データ処理装置はディスプレイ装置であってもよい。
【0026】
本発明のデータ処理装置は、第2のバス幅を有しN(Nは正数)ビットデータを出力する第2のデバイスと、第2のデバイスから出力されたNビットデータを複数のビットデータグループに分割して、第1のバス幅を有する第1のデバイスへ伝送するデータバス幅変換装置とを備えたデータ処理装置であって、データバス幅変換装置は、第1のデバイスへ複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部と、総伝送回数と分割パターンとに基づいて、Nビットデータを複数のビットデータグループに分割して出力する分割部とを備え、そのことにより上記目的が達成される。
【0027】
データ処理装置はディスプレイ装置であってもよい。
【0028】
上記構成により、以下、その作用を説明する。
【0029】
本発明のデータバス幅変換装置は、CPU(ホストシステム)がN(Nは正数)ビットデータを分割して複数のビットデータグループとして伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部を備える。また、本発明のデータバス幅変換装置は、Nビットデータを分割して複数のビットデータグループとしてCPUへ伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部を備える。このことによりCPU側(ホストシステム)からLSI側(周辺デバイス)にデータ書き込みアクセスを行う場合およびLSI側(周辺デバイス)からCPU側(ホストシステム)にデータ読み出しのアクセスを行う場合に、ハードウェア的に固定されることなくデータの分割回数および分割パターンを任意に設定できる。
【0030】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
【0031】
(実施の形態1)
図1Aは、本発明の実施形態1におけるデータ処理システム100を示す。
【0032】
データ処理システム100は、CPU10と、LSI11とを備える。LSI11は、データバス幅変換装置120(図2)を備える。
【0033】
CPU10は、パーソナルコンピュータ等のホストシステムに含まれ、LSIは、液晶モジュール等の表示装置をコントロールする周辺デバイスに含まれる。CPU10は、8ビットのデータバス幅を有する。LSI11は、18ビットのデータバス幅を有する。CPU10とLSI11とは結線部12において接続されている。
【0034】
結線部12において、CPU10のインターフェース部であるデータバス端子D0〜D7およびデータ書き込み信号NWR用端子は、LSI11のインターフェース部であるデータバス端子DB0〜DB17およびデータ書き込み信号NWR用端子と接続されている。
【0035】
結線部12では、CPU10のデータバス端子D7とLSI11のデータバス端子D17、DB9およびDB1とが接続されており、以下、同様に、CPU10のデータバス端子D6とLSI11のデータバス端子DB16、DB8およびDB0とが接続され、CPU10のデータバス端子D5とLSI11のデータバス端子DB15、DB7とが接続され、CPU10のデータバス端子D4とLSI11のデータバス端子DB14、DB6とが接続され、CPU10のデータバス端子D3とLSI11のデータバス端子DB13、DB5とが接続され、CPU10のデータバス端子D2とLSI11のデータバス端子DB12、DB4とが接続され、CPU10のデータバス端子D1とLSI11のデータバス端子DB11、DB3とが接続され、CPU10のデータバス端子D0とLSI11のデータバス端子DB10、DB2とが接続されている。そして、CPU10のデータ書き込み信号NWR用端子は、LSI11のデータ書き込み信号NWR用端子と接続されている。
【0036】
ここで、図1Aに示す8ビットのデータバス幅を有するCPU10のインターフェース部と18ビットのデータバス幅を有するLSI11のインターフェース部との接続状態では、18ビットのデータを三つに分割して分割ビットデータグループ毎に伝達する。18ビットのデータの分割パターンの一例として、端子DB17から入力される17番目のデータから端子DB10から入力される10番目のデータまでの8ビットデータを一つ目の分割ビットデータグループ、DB9端子から入力される9番目のデータからDB2端子から入力される2番目のデータまでの8ビットデータを二つ目の分割ビットデータグループ、DB1端子から入力される1番目のデータからDB0端子から入力される0番目のデータまでの2ビットデータを三つ目の分割ビットデータグループとする8−8−2の分割パターンがある。
【0037】
図1Bに、本発明の実施の形態のデータ処理装置の一例としてディスプレイ装置110を示す。ディスプレイ装置110は例えば液晶ディスプレイ装置である。ディスプレイ装置110は、図1Aに示すLSI11と、表示パネル111とを備える。この場合、LSI11は表示パネル111の表示動作を制御する。このように、データバス幅変換装置120を備えるLSI11は、様々なデータ処理装置に搭載され得る。
【0038】
図2は、図1Aに示すLSI11が備える本発明の実施の形態1におけるデータバス幅変換装置120を示す。データバス幅変換装置120は、CPU10の8ビットのデータバス幅をLSI11の18ビットのデータバスの幅にリサイズ(変更)する。
【0039】
データバス幅変換装置120は、CPU10に接続された18ビット幅のデータバス20から出力されるデータのリサイズを行う制御回路21と、ビット情報を記録するフリップフロップ(FF)22と、制御回路21によってリサイズされた18ビット幅のデータをLSI11内部に出力する出力制御回路23とを備える。LSI内部回路24は、出力制御回路23から出力されるデータを受け取る。フリップフロップ22はラッチ回路であってもよい。
【0040】
図3は、図2に示す制御回路21の詳細を示すブロック図である。
【0041】
図3に示す制御回路21は、レジスタブロック30を備える。レジスタブロック30は、18ビット幅のデータをサンプリングする際のCPU10からLSI11へのデータ書き込みアクセスの全回数(CPU10からLSI11へ複数の分割ビットデータグループを伝送するときの総伝送回数)を任意に設定するレジスタαと、18ビット幅のデータの各ビットデータが総伝送回数のうち何回目のデータ伝送動作で伝送されるかを設定する(すなわち、18ビット幅のデータの各ビットデータを複数の分割ビットデータグループへ分配するための18ビット幅のデータの分割パターンを設定する)レジスタβとを備える。
【0042】
制御回路21は、レジスタαとレジスタβとによって設定された総伝送回数と分割パターンとに基づいて、複数のビットデータグループそれぞれが示すデータを取得する取得部35を備える。取得部35は、サンプリング部33と、サンプリング制御信号発生部34とを備える。サンプリング制御信号発生部34は、カウンタ31と、コンペア部32とを備える。カウンタ31は、レジスタαが設定した総伝送回数の範囲内で現在の伝送回数をカウントする。コンペア部32は、カウントされた現在の伝送回数と、複数のビットデータグループのそれぞれに対応する伝送回数とを比較する。コンペア部32は、対応付けられた伝送回数と現在の伝送回数とが一致したビットデータグループに含まれるデータをサンプリングするためのサンプリング制御信号をサンプリング部33へ出力する。カウント方法としては、インクリメント/デクリメントのどちらでもよい。
【0043】
カウンタ31は、CPU10からのデータ書き込み信号NWRに同期して、伝送回数(データ書き込みストローブの回数)のカウント値を出力する。コンペア部32には、レジスタβからのレジスタ値とカウンタ31からのカウント値とを比較する複数のコンペアが、18ビット幅のデータの各ビット毎に設けられている。レジスタβからのレジスタ値は、上述の分割パターンを示し、複数のコンペアそれぞれに総伝送回数のうちの何れかの回数を示すレジスタ値が入力される。レジスタ値は対応するビットデータグループ毎に値が異なる。本実施の形態では、コンペア部32は18個のコンペアを備える(図3は、説明の簡略化のために18個のコンペアのうちの3個のコンペア32A、32B、32Cを示す)。
【0044】
サンプリング部33には、サンプリング制御信号に従って18ビット幅のデータバス信号DB[17:0]を分割ビットデータグループ毎にサンプリングするための複数のサンプリング回路が、18ビット幅のデータの各ビット毎に設けられている。本実施の形態では、サンプリング部33は、18個のサンプリング回路を備える(図3は、説明の簡略化のために18個のサンプリング回路のうちの3個のサンプリング回路33A、33B、33Cを示す)。18個のサンプリング回路のそれぞれには、18個のコンペアのうちの対応するコンペアからサンプリング信号が出力される。18個のサンプリング回路のそれぞれはサンプリング信号に応じて、18ビット幅のデータのうちの対応付けられたビットデータをサンプリングする。
【0045】
次に、サンプリング部33から各ビットに対応するそれぞれのデータバス信号DB[17:0]がフリップフロップ22を介して出力制御回路23に出力される。また、カウンタ31からは、データ書き込み信号Wが出力制御回路23に出力される。出力制御回路23は、データ書き込み信号Wに同期して、分割ビットデータグループが示すデータをつなぎ合わせて、連続した18ビット幅のデータに変換し、LSI内部回路24に伝送する。
【0046】
ここで、フリップフロップ22が有する機能は、サンプリング部33に盛り込んでおいても同様な動作をすることは説明するまでもない。
【0047】
次に、図3に示す制御回路21のレジスタブロック30に設けられているレジスタαおよびレジスタβの構成例を表1に示す。レジスタαは、MCBおよびMCAレジスタである。レジスタβは、M0BおよびM0Aレジスタ〜M17BおよびM17Aレジスタを備える。ここで、表1のMWB0〜MWB5は、それぞれ8ビットのレジスタブロックを表している。
【0048】
表1では、18ビット幅のデータバス信号それぞれに対応して設けられているレジスタβと、18ビット幅のデータの取得に必要な総伝送回数を設定するレジスタαとは、それぞれ2ビット単位で構成されている。MCBおよびMCAレジスタは、それぞれMWB0のbit1およびbit0に格納されており、M0AおよびM0Bレジスタ〜M17AおよびM17Bレジスタは、MWB1のbit0からMWB5のbit3まで、順番に格納されている。また、表1内のXは、Don’t Careを示し、何の影響も与えないビットである。
【0049】
【表1】
【0050】
表1のMWB1〜MWB5に記載のM*BおよびM*Aレジスタの*部分には0〜17の数字が書かれている。この数字は、18本の各データバスの各ビットに対応する設定レジスタ(レジスタβ)であることを示している。M*BおよびM*Aレジスタの設定値は、18本の各データバスに対応するそれぞれのデータバス信号が何回目のデータ書き込みストローブでサンプリングされるかを示している。
【0051】
表2は、18ビット幅のデータバス信号に対応して設けられているM*BおよびM*Aレジスタの設定値とサンプリングタイミングを示している。
【0052】
M*BおよびM*Aレジスタの設定値がM*B=M*A=0であれば、1回目のデータ書き込みストローブによってサンプリングされ、M*B=0およびM*A=1であれば、2回目のデータ書き込みストローブによってサンプリングされ、M*B=1およびM*A=0であれば、3回目のデータ書き込みストローブによってサンプリングされ、M*B=1およびM*A=1であれば、4回目のデータ書き込みストローブによってサンプリングされることを示している。
【0053】
また、MWB0のbit1およびbit0にそれぞれ格納されているMCBおよびMCAレジスタは、所定のNビット幅(本実施形態では18ビット幅)のデータバス信号すべてを1回サンプリングする際のデータ書き込みアクセスの全回数(総伝送回数)を示している。MCBおよびMCAレジスタの設定値およびデータ書き込みアクセスの回数は、M*BおよびM*Aレジスタの設定値およびデータ書き込みアクセスの回数と同様に表2に示すルールに従って設定される。
【0054】
【表2】
【0055】
MCBおよびMCAレジスタは、LSI内部のホストインターフェースがデータバス上の例えば18ビット幅のデータバス信号をサンプリングする場合、何回のデータ書き込みストローブによって、18ビット幅のデータバス信号すべてをサンプリングするかを指定する。また、18ビット幅のデータバス信号は、M*BおよびM*Aレジスタで指定されるデータ書き込みストローブの回数に従って、分割ビットデータグループ毎に順に信号レベルをサンプリングされる。
【0056】
表3には、表2に示したレジスタαおよびレジスタβの設定値(レジスタ値)の一例を示す。ここでは、CPU10の8ビット幅のデータをLSI11の18ビット幅のデータに変換するために、18ビット幅のデータを8(17ビット目から10ビット目)−8(9ビット目から2ビット目)−2(1ビット目および0ビット目)の分割パターンのように三つに分割して、それぞれの分割ビットデータグループ毎に8ビット幅のデータおよび2ビット幅のデータを対応させる。
【0057】
これに応じて、18ビット幅のデータをサンプリングする際にCPU10からの8ビット幅のデータのデータ書き込みアクセスの全回数は、3回となりレジスタαであるMCBおよびMCAレジスタの設定値が、表2よりM*B=1およびM*A=0(*=C)となる。これにより、MCB=1およびMCA=0の設定値がそれぞれ表3のMWB0のbit1およびbit0にそれぞれ設定される。
【0058】
一回目のデータ書き込みストローブによってサンプリングされるデータ列(分割ビットデータグループ)を、17ビット目から10ビット目のデータと設定した場合、レジスタβが備えるM17BおよびM17Aレジスタ〜M10BおよびM10Aレジスタの設定値が表2よりM*B=M*A=0(*=10〜17)となる。これにより、M17BおよびM17Aレジスタ〜M10BおよびM10Aレジスタの設定値が、表3のMWB5のbit3およびbit2からMWB3のbit5およびbit4まで順番に設定される。
【0059】
次に、二回目のデータ書き込みストローブによってサンプリングされるデータ列(分割ビットデータグループ)を、9ビット目から2ビット目のデータと設定すると、レジスタβが備えるM9BおよびM9Aレジスタ〜M2BおよびM2Aレジスタの設定値が表2よりM*B=0およびM*A=1(*=2〜9)となる。これにより、M9BおよびM9Aレジスタ〜M2BおよびM2Aレジスタの設定値が、表3のMWB3のbit3およびbit2からMWB1のbit5およびbit4まで順番に設定される。
【0060】
次に、三回目のデータ書き込みストローブによってサンプリングされるデータ列(分割ビットデータグループ)を、1ビット目および0ビット目のデータと設定した場合、レジスタβが備えるM1BおよびM1Aレジスタ、M0BおよびM0Aレジスタの設定値が表2よりM*B=1およびM*A=0(*=0、1)となる。これにより、M1BおよびM1Aレジスタ、M0BおよびM0Aレジスタの設定値が、表3のMWB1のbit3およびbit2からMWB1のbit1およびbit0まで順番に設定される。
【0061】
表3に示すように、本実施形態では、MCBおよびMCAレジスタの設定値がMCB=1およびMCA=0であるから、表2より3回のデータ書き込みストローブによって、18ビット幅のデータバス信号の1回のデータ書き込みサイクルが完了する。
【0062】
【表3】
【0063】
次に、レジスタαおよびレジスタβの設定値(レジスタ値)を、表3に示すように設定した場合の本発明のデータバス幅変換装置の動作を図1A、図2および図3を用いて説明する。
【0064】
前述のように、本実施の形態では、図1Aに示す8ビットのデータバス幅を有するCPU10と、18ビットのデータバス幅を有するLSI11とは、8−8−2の分割パターンに従って接続されている。
【0065】
CPU10から8ビットデータが出力されると、その8ビットデータは、18ビット幅のデータバス20(図2)に入力される。ここで、CPU10からは、例えば8−8−2のような分割パターンに従って、3つの分割ビットデータグループそれぞれを示す信号DT1−0、DT1−1およびDT1−2(8ビットデータ)として出力される。信号DT1−2においては、8ビットデータの内の2ビットデータが有効データであり、その他の6ビットデータはDon’t Careであり、他に何の影響を与えないものである。18ビット幅のデータバス20を介して信号DT1−0、DT1−1およびDT1−2は、データ書き込み信号NWRと同期して制御回路21に入力される。
【0066】
データ書き込み信号NWRは、図3に示す制御回路21内のカウンタ31に入力される。カウンタ31は、データ書き込み信号NWRに同期してデータ書き込みストローブの回数をカウントする。また、レジスタβは、18ビット幅のデータの各ビットに対応するデータバス信号が、CPU10から何回目のデータ書き込みアクセスによってサンプリングされるかを設定する。
【0067】
レジスタαは、データ書き込みストローブの合計回数(総伝送回数)を表すレジスタ値を、カウンタ31に出力する。カウンタ31は、データ書き込み信号NWRに基づいてデータ書き込みストローブの回数をカウントしたカウンタ値をコンペア部32に出力する。
【0068】
コンペア部32が備える18個のコンペアは、レジスタβからの設定されたデータ書き込みストローブの回数を表すレジスタ値と、カウンタ31からのカウントされたデータ書き込みストローブの回数を表すカウンタ値とを比較する。これらのレジスタ値とカウンタ値とが一致したコンペアからサンプリング制御信号が、一致したコンペアに対応するサンプリング回路に出力される。
【0069】
サンプリング部33には、18ビット幅のデータバス信号DB[17:0]が入力され、各データバス信号DB[17:0]は、それぞれのビットデータに対応して設けられた18個のサンプリング回路に入力される。
【0070】
サンプリング制御信号を受け取ったサンプリング回路は、そのサンプリング制御信号に基づいて、データバス信号DB[17:0]うちの対応する所定ビット目のデータバス信号をサンプリングし、フリップフロップ22に出力する。例えば、サンプリング部33の17ビット目のサンプリング回路33Aでは、レジスタβの設定値が表2および3よりM17B=M17A=0であるから、データ書き込みの1サイクルにおいて、1回目のデータ書き込みストローブによって端子DB17を介して出力されたデータバス信号がサンプリングされ、17ビット目のサンプリング回路33Aからデータバス信号がフリップフロップ22に出力される。
【0071】
フリップフロップ22は、各データバス信号DB[17:0]が示す各ビットデータを記録していき、データ書き込み信号NWRに同期して、分割ビットデータグループに対するデータバス信号をサンプリングし、そのデータバス信号LDB[17:0]を出力制御回路23に出力する。
【0072】
ここで、フリップフロップ22の機能は、サンプリング部33に盛り込んでおいても同様な動作をする。つまり、コンペア部32からのサンプリング制御信号を受け取ったサンプリング部33のサンプリング回路が、そのサンプリング制御信号に基づいて所定ビット目のデータバス信号DB[17:0]をサンプリングする時に、フリップフロップ(またはラッチ回路)を利用してデータ書き込み信号NWRに同期してサンプリングを行い、サンプリングしたデータバス信号を直接出力制御回路23に出力することも可能である。
【0073】
また、カウンタ31では、データ書き込み信号NWRが入力されると、データ書き込みストローブの回数をカウントしていき、このカウントされたカウンタ値が、MCBおよびMCAレジスタによって示されるレジスタ値(本実施形態ではデータ書き込みアクセスの回数が3回であるから“10”)に達した後に、カウント値は初期値(例えば、“00”)に戻る。さらに、カウンタ31は、リサイズされた18ビット幅のデータをLSI内部回路24に出力するためのデータ書き込み信号Wを出力制御回路23に出力する。
【0074】
3回のデータ書き込みアクセスによって分割ビットデータグループ毎にサンプリングされたデータは、このデータ書き込み信号Wに基づいて、連続した18ビット幅のデータIDB[17:0]として、LSI11のLSI内部回路24が備えるレジスタおよびメモリ等のブロックに書き込まれる。
【0075】
このように、本発明のデータバス幅変換装置120には、制御回路21でNビット幅のデータをサンプリングする際のCPU10からのデータ書き込みアクセスの全回数を設定するレジスタαと、Nビット幅のデータの所定ビットに対応するデータバス信号を何回目のデータ書き込みアクセスでサンプリングするかを設定するレジスタβとが設けられている。このことにより、Mビット幅のデータバスを有するCPU10がNビット幅のデータバス(M=Nを含む)を有する周辺デバイスであるLSI11にアクセスする場合、CPU10からのデータ書き込みアクセスの回数(総伝送回数)および分割パターンが、ハードウェア的に固定されることなく、多様なバスシステムにおいてデータバス幅のリサイズが任意に設定できる。
【0076】
図4は、本発明のデータバス幅変換装置の動作における各信号のタイミングチャートである。
【0077】
まず、CPU10から8ビットのデータバス信号D[7:0]が、データ書き込み信号NWRに同期して出力され、結線部12を介してLSI11の18ビット幅のデータバス20に入力される。データバス信号D[7:0]は、例えば、LSI11の18ビットのデータバス幅の17ビット目から10ビット目に対応するデータ信号DT1−0、LSI11のデータバス幅の9ビット目から2ビット目に対応するデータ信号DT1−1、LSI11のデータバス幅の1ビット目および0ビット目に対応するデータ信号DT1−2として出力される。尚、LSI11のデータバス幅の1ビット目および0ビット目に対応するデータ信号DT1−2の伝送では、8ビットのバス幅のうち2ビット分しか使用していない。
【0078】
次に、データ信号DT1−0、DT1−1およびDT1−2は、18ビット幅のデータバス20から制御回路21のサンプリング部33に入力される。
【0079】
制御回路21では、レジスタブロック30のレジスタαおよびレジスタβによって、データ信号DT11−0、DT1−1およびDT1−2のサンプリング条件が設定される。すなわち、MC[B:A]=10は、3回のデータ書き込みストローブによって、18ビット幅のデータバス信号が1回サンプリングされることを示す。M17[B:A]=00〜M10[B:A]=00は、データ信号DT1−0が1回目のデータ書き込みストローブによって、17ビット目〜10ビット目にサンプリングされることを示す。M9[B:A]=01〜M2[B:A]=01は、データ信号DT1−1が2回目のデータ書き込みストローブによって、9ビット目〜2ビット目にサンプリングされることを示す。M1[B:A]=10およびM0[B:A]=10は、データ信号DT1−2が3回目のデータ書き込みストローブによって、1ビット目〜0ビット目にサンプリングされることを示す。
【0080】
次に、データ信号DT1−0、DT1−1およびDT1−2に対するデータ書き込みストローブの回数は、カウンタ31によってカウンタ値00、01および10としてカウントされる。このカウンタ値が上記のレジスタβの設定値と一致すると、データ信号DT1−0、DT1−1およびDT1−2は、それぞれに対応して設けられたサンプリング回路でサンプリングされる。
【0081】
例えば、データ信号DT1−0は、データDT1−0[7]〜データDT1−0[0]としてサンプリングされる。データDT1−0[7]〜データDT1−0[0]は、サンプリング部33の対応する出力端子からフリップフロップ22に出力される。同様に、データ信号DT1−1は、データDT1−1[7]〜データDT1−1[0]としてサンプリングされ、サンプリング部33の対応する出力端子からフリップフロップ22に出力され、データ信号DT1−2は、データDT1−2[7]〜データDT1−2[6]としてサンプリングされ、それぞれサンプリング部33の対応する出力端子からフリップフロップ22に出力される。ここで、例えば、上記[7]〜[0]は、CPU10のD7端子〜D0端子から出力される8ビットデータの7ビット目〜0ビット目に対応する。
【0082】
次に、フリップフロップ22は、データ書き込み信号NWRに同期して、データDT1−0[7]〜データDT1−0[0]、データDT1−1[7]〜データDT1−1[0]およびデータDT1−2[7]〜データDT1−2[6]をラッチデータLDB[17:0]として出力制御回路23に出力する。
【0083】
そして、出力制御回路23は、カウンタ31からのデータ書き込み信号Wに同期して、それぞれ分割ビットデータグループであるデータDT1−0[7]〜データDT1−0[0]、データDT1−1[7]〜データDT1−1[0]およびデータDT1−2[7]〜データDT1−2[6]を連続した18ビット幅のデータバス信号IDB[17:0]であるデータDT1にリサイズし、LSI内部回路24に出力する。
【0084】
ここで、本実施形態では、レジスタαと、レジスタβが備える複数のレジスタそれぞれとを、それぞれ2ビットで構成しているが、レジスタαおよびレジスタβのビット幅を変えることによって、Nビット幅のデータバス信号をサンプリングする際のCPUの総伝送回数(例えば、C回)と、Nビット幅のデータバス信号の各ビットに対応するデータバス信号を何回目のデータ書き込みアクセスでサンプリングするかを自由に決定する事が可能となる。
【0085】
なお、総伝送回数および分割パターンは、CPU10からの命令に従ってレジスタαおよびレジスタβに設定されてもよい。また、総伝送回数および分割パターンは、レジスタブロック30がCPU10が有するデータバス幅のサイズ(および結線状態)を認識して、そのサイズに応じてレジスタαおよびレジスタβに設定されてもよい。この場合、レジスタブロック30が設定した総伝送回数および分割パターンに従って、CPU10はデータを分割して出力する。
【0086】
これにより、Mビットのデータバス幅を持つCPUとNビットのデータバス幅を持つ周辺デバイスとを接続する場合でも、両者間の結線状態をハードウェア的に制限される事なく自由に決定する事が可能となる。
【0087】
さらに、本実施形態では、CPUからのデータ書き込みアクセス時のデータバス幅変換の一例を示したが、上記データ書き込みアクセス時のデータバス幅変換の逆のシーケンスを利用して、周辺デバイスからCPUへのデータ読み出しアクセス時にNビット幅のデータをMビット幅のデータに分割して出力するデータバス幅変換も可能である。
【0088】
(実施の形態2)
以下、図面を参照しながらLSI側(周辺デバイス)からCPU側(ホストシステム)へのデータ読み出しアクセス時の本発明の実施の形態を説明する。
【0089】
図5Aは、本発明の実施形態2におけるデータ処理システム200を示す。
【0090】
データ処理システム200は、CPU50と、LSI51とを備える。LSI51は、データバス幅変換装置220(図6)を備える。
【0091】
結線部52では、CPU50とLSI51とが、図1Aに示すCPU10とLSI11と同様に接続されている。そして、CPU50のデータ読み出し信号NRD用端子は、LSI51のデータ読み出し信号NRD用端子と接続されている。
【0092】
また、図5Aに示す8ビットのデータバス幅を有するCPU50のインターフェース部と18ビットのデータバス幅を有するLSI51のインターフェース部とは、図1Aと同様の8−8−2の分割パターンによって接続されている。
【0093】
図5Bに、本発明の実施の形態のデータ処理装置の一例としてディスプレイ装置210を示す。ディスプレイ装置210は例えば液晶ディスプレイ装置である。ディスプレイ装置210は、図5Aに示すLSI51と、表示パネル211とを備える。この場合、LSI51は表示パネル211の表示動作を制御する。このように、データバス幅変換装置220を備えるLSI51は、様々なデータ処理装置に搭載され得る。
【0094】
図6は、図5Aに示すLSI51が備える本発明の実施の形態のデータバス幅変換装置220を示す。データバス幅変換装置220は、データ読み出しアクセス時に、LSI51の18ビットのデータバス幅をCPU50の8ビットのデータバス幅にリサイズする。
【0095】
ここで、図6に示すデータバス幅変換装置220は、図2に示すデータバス幅変換装置120と同様の構成であるが、フリップフロップ(FF)62と、出力制御回路63とを経由しない場合でも本発明のデータバス変換動作を実現することが可能である。ここで、フリップフロップ62はラッチ回路であってもよい。
【0096】
図7は、図6に示すデータバス幅変換装置に含まれる制御回路61の詳細を示すブロック図である。
【0097】
図7に示す制御回路61は、レジスタブロック70を備える。レジスタブロック70は、18ビット幅のデータをLSI側(周辺デバイス)からCPU側(ホストシステム)へ読み出す際の、データ読み出しアクセスの全回数(LSI11からCPU10へ複数の分割ビットデータグループを伝送するときの総伝送回数)を任意に設定するレジスタγと、18ビット幅のデータの各ビットデータが総伝送回数のうち何回目のデータ伝送動作で伝送されるかを設定する(すなわち、18ビット幅のデータの各ビットデータを複数の分割ビットデータグループへ分配するための18ビット幅のデータの分割パターンを設定する)レジスタδとを備える。
【0098】
制御回路61は、分割部75を備える。この分割部75は図3に示す取得部35に対応する。分割部75は、カウンタ71と、コンペア部72と、サンプリング部73とを備える。
【0099】
カウンタ71は、CPU50からのデータ読み出し信号NRDに同期して、データバス信号を読み出す際の伝送回数(データ読み出しストローブの回数)のカウント値を出力する。
【0100】
コンペア部72には、レジスタδからのレジスタ値とカウンタ71からのカウント値とを比較する複数のコンペアが、18ビット幅のデータの各ビット毎に設けられている。レジスタδからのレジスタ値は、上述の分割パターンを示し、複数のコンペアそれぞれに総伝送回数のうちの何れかの回数を示すレジスタ値が入力される。レジスタ値は対応するビットデータグループ毎に値が異なる。本実施の形態では、コンペア部72は18個のコンペアを備える(図7は、説明の簡略化のために18個のコンペアのうちの3個のコンペア72A、72B、72Cを示す)。
【0101】
サンプリング部73には、サンプリング制御信号により18ビット幅のデータのデータバス信号DB[17:0]を、それぞれ分割ビットデータグループ毎に読み出しを行うための、複数のサンプリング回路が、18ビット幅のデータバス信号の各ビット毎に設けられている。本実施の形態では、サンプリング部73は、18個のサンプリング回路を備える(図7は、説明の簡略化のために18個のサンプリング回路のうちの3個のサンプリング回路73A、73B、73Cを示す)。18個のサンプリング回路のそれぞれには、18個のコンペアのうちの対応するコンペアからサンプリング信号が出力される。18個のサンプリング回路のそれぞれはサンプリング信号に応じて、18ビット幅のデータのうちの対応付けられたビットデータをサンプリングする。
【0102】
ここで、レジスタブロック70に設けられているレジスタγの構成は表1のレジスタαと同様のものであり、レジスタδの構成は表1のレジスタβと同様のものである。
【0103】
また、18本の各データバス信号に対応して設けられているM*BおよびM*Aレジスタの設定値とサンプリングタイミングの関係については表2と同様のものであり、M*BおよびM*Aレジスタの設定値がM*B=M*A=0であれば、1回目のデータ読み出しストローブ、M*B=0およびM*A=1であれば、2回目のデータ読み出しストローブ、M*B=1およびM*A=0であれば、3回目のデータ読み出しストローブ、M*B=1およびM*A=1であれば、4回目のデータ読み出しストローブによってCPU50への読み出しが行われることを示している。
【0104】
また、所定のNビット幅(本実施形態では18ビット幅)のデータバス信号を1回読み出す際のデータ読み出しアクセスの全回数(総伝送回数)を示すMCBおよびMCAレジスタの設定値とサンプリングタイミングの関係についても表2と同様のものであり、MCBおよびMCAレジスタは、LSIからCPUへの読み出しを行う場合、何回のデータ読み出しストローブによって1回の読み出しを実施するかを指定する。
【0105】
次に、レジスタγおよびレジスタδの設定値(レジスタ値)を、表3に示すように設定した場合の本発明のデータバス幅変換装置のデータ読み出しアクセス動作を図5A、図6および図7を用いて説明する。
【0106】
前述のように、図5Aに示す8ビットのデータバス幅を有するCPU50と18ビットのデータバス幅を有するLSI51とは、8−8−2の分割パターンによって接続されている。
【0107】
CPU50からデータ読み出し信号NRDが出力されると、そのデータ読み出し信号NRDはLSI内部回路64に入力される。それに同期して、LSI内部回路64から読み出された18ビット幅のデータODB[17:0]が制御回路61に入力される。
【0108】
データ読み出し信号NRDは、制御回路61内のカウンタ71に入力され、カウンタ71は、データ読み出し信号NRDに同期してデータバス信号を読み出す際のデータ読み出しストローブの回数をカウントする。また、レジスタδは、18ビット幅のデータの各ビットに相当するデータバス信号が、何回目のデータ読み出しストローブによってサンプリングされるかを設定する。
【0109】
レジスタγは、データ読み出しストローブの合計回数(総伝送回数)を表すレジスタ値を、カウンタ71に出力する。カウンタ71は、データ読み出し信号NWRに基づいてデータ読み出しストローブの回数をカウントしたカウンタ値をコンペア部72に出力する。
【0110】
コンペア部32が備える18個のコンペアは、レジスタδからの設定されたデータ読み出しストローブの回数を表すレジスタ値と、カウンタ71からのカウントされたデータ読み出しストローブの回数を表すカウンタ値とを比較する。これらのレジスタ値とカウンタ値とが一致したコンペアからサンプリング制御信号が、一致したコンペアに対応するサンプリング回路に出力される。
【0111】
サンプリング部73には、LSI内部回路64より18ビット幅のデータバス信号ODB[17:0]が入力され、各データバス信号ODB[17:0]は、それぞれのビットデータに対応して設けられた18個のサンプリング回路に入力される。
【0112】
サンプリング制御信号を受け取ったサンプリング回路は、そのサンプリング制御信号に基づいて、データバス信号DB[17:0]うちの対応する所定ビット目のデータバス信号をサンプリングし、データバス60に出力する。
【0113】
例えば、サンプリング部73の17ビット目のサンプリング回路73Aでは、レジスタδの設定値が表2および3よりM17B=M17A=0であるから、データ読み出しの1サイクルにおいて、1回目のデータ読み出しストローブによって、17ビット目に対応したサンプリング回路73Aにてデータバス信号ODB17のサンプリング(読み出し)が行われ、DB17端子(図5A)に出力される。
【0114】
また、カウンタ71では、データ読み出し信号NRDが入力されると、データ読み出しストローブの回数をカウントし、このカウントされたカウンタ値がMCBおよびMCAレジスタのレジスタ値(本実施形態ではデータ書き込みアクセスの回数が3回であるから“10”)に達した後に、カウント値は初期値(例えば、“00”)に戻る。
【0115】
このように、本発明のデータバス幅変換装置は、制御回路61にNビット幅のデータをサンプリングする際のCPU50からのデータ読み出しアクセスの全回数を設定するレジスタγと、Nビット幅のデータの所定ビットに対応するデータバス信号を何回目のデータ読み出しアクセスでサンプリングするかを設定するレジスタδとが設けられている。このことにより、Mビット幅のデータバスを有するCPU50がNビット幅のデータバス(M=Nを含む)を有する周辺デバイスであるLSI51にアクセスする場合、LSI51からCPU50へのデータ読み出しアクセスの回数およびデータバス信号の分割パターンが、ハードウェア的に固定されることなく、多様なバスシステムにおいてデータバス幅のリサイズが任意に設定できる。
【0116】
図8は、本発明のデータバス幅変換装置のデータ読み出し動作における各信号のタイミングチャートである。
【0117】
まず、CPU50からデータ読み出し込み信号NRDが出力され、結線部52を介してLSI51のLSI内部回路64に入力される。
【0118】
データ読み出し込み信号NRDが入力されると、それに同期してLSI内部回路64から読み出された18ビット幅のデータDT1が制御回路61のサンプリング部33に信号ODB[17:0]として入力される。
【0119】
制御回路61では、レジスタブロック70のレジスタγおよびレジスタδによって、データDT1の読み出し条件が設定される。すなわち、MC[B:A]=10は、3回のデータ読み出しストローブによって、18ビット幅のデータバス信号が1回読み出されることを示す。M17[B:A]=00〜M10[B:A]=00は、1回目のデータ読み出しストローブによって、17ビット目〜10ビット目を読み出すことを示す。M9[B:A]=01〜M2[B:A]=01は、2回目のデータ読み出しストローブによって、9ビット目〜2ビット目を読み出すことを示す。M1[B:A]=10およびM0[B:A]=10は、3回目のデータ読み出しストローブによって、1ビット目〜0ビット目を読み出すことを示す。
【0120】
次に、データDT1に対するデータ読み出しストローブの回数は、カウンタ71によってカウンタ値00、01および10としてカウントされる。このカウンタ値が上記のレジスタδの設定値と一致すると、データDT1は、それぞれサンプリング部73の18ビット幅のデータの所定ビットに対応して設けられたサンプリング回路から読み出しが行われる。
【0121】
ここで、各読み出しストローブにおいて、読み出しが行われるビット以外のサンプリング回路からの出力はHi−Zとしておくことにより、CPU50へ読み出される8ビットのデータバスは、D[7:0]のように3回の読み出しストローブで18ビットデータバスの読み出しが完了する。なお、3回目の読み出しストローブについては、下位2ビットのみ有効データであり、その他の上位6ビットはDon’t Careであり、他に何の影響を与えないものである。
【0122】
ここで、本実施形態では、レジスタγと、レジスタδが備える複数のレジスタそれぞれとを、それぞれ2ビットで構成しているが、レジスタγおよびレジスタδのビット幅を変えることによって、Nビット幅のデータバス信号を読み出す際のCPUへの総伝送回数(例えば、C回)と、Nビット幅のデータバス信号の各ビットに対応するデータバス信号が何回目のデータ読み出しアクセスで読み出し動作を行うかを自由に決定する事が可能となる。
【0123】
なお、総伝送回数および分割パターンは、CPU50からの命令に従ってレジスタγおよびレジスタδに設定されてもよい。また、総伝送回数および分割パターンは、レジスタブロック70がCPU50が有するデータバス幅のサイズ(および結線状態)を認識して、そのサイズに応じてレジスタγおよびレジスタδに設定されてもよい。この場合、レジスタブロック70が設定した総伝送回数および分割パターンに従って、分割部75はデータを分割して出力する。
【0124】
これにより、Mビットのデータバス幅を持つCPUとNビットのデータバス幅を持つ周辺デバイスとを接続する場合でも、両者間の結線状態をハードウェア的に制限される事なく自由に決定する事が可能となる。
【0125】
さらに、本発明では、Mビット幅のデータバスを有するCPU(ホストシステム)がNビット幅のデータバス(M=Nを含む)を有するLSI(周辺デバイス)にアクセスする場合において、データバス幅をリサイズする際に、CPUからのデータ書き込み(またはLSIからCPUへのデータ読み出し)アクセスの回数および分割パターンが、ハードウェア的に固定されることなく、多様なバスシステムにおいて任意に設定することが可能となる。
【0126】
さらに、本発明では、Mビット幅のデータバスを有するCPU(ホストシステム)がNビット幅のデータバス(M=Nを含む)を有するLSI(周辺デバイス)にアクセスする場合において、データバス幅をリサイズする際に、Nビット幅のデータバス信号の分割パターンおよび分割回数が固定されていないため、ハードウェア的にLSI側のビット幅の切り替えること等を不要にすることができ、使用するLSIの選択が制限されなくなるとともに、CPU側におけるソフトによる処理等も不要になるため、CPUに対する負荷を低減することも可能となる。
【0127】
尚、本発明では、CPUとLSIとの間でデータを伝達するための18ビットのデータ分割パターンは、8―8―2の分割パターンであるが、本発明は、これに限定されるものではない。例えば、データ分割パターンとして、6―6―6の分割パターン、5―6―7の分割パターン等の分割パターンであっても良い。
【0128】
尚、本発明のデータバス幅変換装置を用いたデータ伝送は、CPUとLSIとの間の双方向のデータ伝送アクセス時にも行われる。
【0129】
【発明の効果】
本発明のデータバス幅変換装置は、CPU(ホストシステム)がN(Nは正数)ビットデータを分割して複数のビットデータグループとして伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部を備える。また、本発明のデータバス幅変換装置は、Nビットデータを分割して複数のビットデータグループとしてCPUへ伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部を備える。このことによりCPU側(ホストシステム)からLSI側(周辺デバイス)にデータ書き込みアクセスを行う場合およびLSI側(周辺デバイス)からCPU側(ホストシステム)にデータ読み出しのアクセスを行う場合に、ハードウェア的に固定されることなくデータの分割回数および分割パターンを任意に設定できる。
【図面の簡単な説明】
【図1A】本発明の実施形態におけるデータバス幅変換装置が設けられた、CPUおよびLSIのインターフェース部の接続状態の一例を示す結線図である。
【図1B】本発明の実施の形態のデータ処理装置を示す図である。
【図2】図1Aに示すLSIのインターフェース部において、データバス幅のリサイズ(変更)を行う本発明のデータバス幅変換装置の構成を表すブロック図である。
【図3】図2に示すデータバス幅変換装置に含まれる制御回路の構成を示すブロック図である。
【図4】本発明のデータバス幅変換装置の動作における各信号のタイミングチャートである。
【図5A】データ読み出しアクセスを行う、本発明の実施形態におけるデータバス幅変換装置が設けられた、CPUおよびLSIのインターフェース部の接続状態の一例を示す結線図である。
【図5B】本発明の実施の形態のデータ処理装置を示す図である。
【図6】図1Aに示すLSIのインターフェース部において、データ読み出しアクセス時に、データバス幅のリサイズ(変更)を行う本発明のデータバス幅変換装置の構成を表すブロック図である。
【図7】データ読み出しアクセス時に、図5Aに示すデータバス幅変換装置に含まれる制御回路の構成を示すブロック図である。
【図8】本発明のデータバス幅変換装置の動作における、データ読み出しアクセス時の各信号のタイミングチャートである。
【符号の説明】
10 CPU
11 LSI
12 結線部
20 18ビット幅のデータバス
21 制御回路
22 フリップフロップまたはラッチ回路
23 出力制御回路
24 LSI内部回路
30 レジスタブロック
31 カウンタ
32 コンペア部
33 サンプリング部
34 サンプリング制御信号発生部
【発明の属する技術分野】
本発明は、多様なバスシステムに用いられるデータバス幅変換装置に関し、特に、データバス幅が互いに異なるCPU(ホストシステム)とその周辺デバイスとの間におけるバスアクセスが可能であるデータバス幅変換装置に関する。
【0002】
【従来の技術】
M(Mは正数)ビットのデータバス幅を有するCPUが、CPUと異なるN(Nは正数)ビットのデータバス幅を有するLSI(周辺デバイス)にアクセスする場合には、データバス幅のリサイズ(変更)を行うためのデータバス幅変換装置が必要となる。なお、M=Nの場合もあり得る。
【0003】
従来のデータバス幅変換装置の一例として、データバス幅のリサイズを行うためにメモリセルアレイ部を有し、メモリセルアレイ部をキャッシュメモリあるいはローカルメモリとして使用するデータバス幅変換装置が特許文献1に開示されている。
【0004】
また、従来のデータバス幅変換装置の他の例として、データバス幅のリサイズを行うためにMビット幅のデータバスとNビット幅のデータバスとの間にラッチ回路および出力制御回路とを設けたデータバス幅変換装置が特許文献2および特許文献3に開示されている。
【0005】
【特許文献1】
特開平4−76890号公報(第579頁、第1図)
【特許文献2】
特開平3−97340号公報(第256―257頁、第1―2図)
【特許文献3】
特開平5−242016号公報(第3頁、第1図)
【0006】
【発明が解決しようとする課題】
しかしながら、特許文献1、2および3それぞれに開示されている従来のデータバス幅変換装置では、データバス幅をリサイズする際に、NビットのデータをCPUからLSIへ転送するために必要なCPUのアクセス回数、CPUとLSIとの間の結線パターン等がハードウェア的に固定されており、多様なバスシステムにおいて使用することが困難であるという問題を有している。
【0007】
例えば、従来のCPU(ホストシステム)のデータバス幅は、過去の慣例により8の倍数のビット数(8ビット、16ビット、32ビット等)に設定されている。ところが、液晶モジュール等の多くの表示装置では、データバス幅が3の倍数のビット数(18ビット、24ビット等)となっていることがある。この理由は、表示装置の表示データがRED(赤)、GREEN(緑)、BLUE(青)の3つの色要素から構成されており、これらの3つの色要素のビット幅を等しくすることによって、データバス幅が3の倍数のビット数になるからである。
【0008】
例えば、8ビットのデータバス幅を有するCPUに18ビットのデータバス幅を有する液晶モジュールを接続し、液晶モジュールの有する表示能力を最大限に生かす場合には、CPUから液晶モジュールに18ビットのデータを完全に伝達することが必要である。この場合、CPUのデータバス幅は8ビットであるから、CPUから液晶モジュールにデータを伝達するには、最低でも18ビットのデータを三つに分割する必要がある。18ビットのデータの分割パターンとしては、8−8−2の分割パターン、6−6−6の分割パターン、5−6−7の分割パターン等のいろいろな分割パターンが考えられる。
【0009】
また、上記18ビットのデータの3回の分割回数は、最低限必要な分割回数であり、CPU側の何らかの理由により、分割回数が3回より多くなる場合も考えられる(すなわち、(分割回数)≧3)。
【0010】
従来のデータバス幅変換装置では、上記18ビットのデータの分割パターンおよび分割回数がハードウェア的に固定されてしまっており、このようなCPUインターフェースをLSI化した場合、分割回数および分割パターンはLSIの設計時に固定されてしまう。このため、使用するLSIの選択肢が制限されるとともに、CPU側でもソフト処理等が必要となる。
【0011】
本発明は、このような課題を解決するものであり、その目的は、CPU側(ホストシステム)からLSI(周辺デバイス)側へデータ書き込みアクセスおよびデータ読み出しアクセスを行う場合に、分割回数および分割パターンを任意に設定できるデータバス幅変換装置を提供することにある。
【0012】
【課題を解決するための手段】
本発明のデータバス幅変換装置は、第1のバス幅を有しN(Nは正数)ビットデータを複数のビットデータグループに分割して伝送する第1のデバイスから複数のビットデータグループを受け取って、第2のバス幅を有する第2のデバイスへNビットデータを出力するデータバス幅変換装置であって、第1のデバイスが複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部と、総伝送回数と分割パターンとに基づいて、複数のビットデータグループそれぞれが示すデータを取得する取得部と、取得した複数のビットグループそれぞれが示すデータからNビットデータを生成し、生成したNビットデータを第2のデバイスへ出力する出力部とを備え、そのことにより上記目的が達成される。
【0013】
第1のデバイスは、設定部が設定した総伝送回数および分割パターンに基づいて、Nビットデータを複数のビットデータグループに分割してもよい。
【0014】
設定部は、第1のデバイスからの命令に基づいて、総伝送回数および分割パターンを設定してもよい。
【0015】
設定部は、第1のバス幅のサイズに基づいて、総伝送回数および分割パターンを設定してもよい。
【0016】
複数のビットデータグループのそれぞれは、総伝送回数のうちの対応する伝送回数における第1のデバイスの伝送動作によって伝送され、取得部は、総伝送回数のうちの現在の伝送回数をカウントするカウンタ部とカウントされた現在の伝送回数と、複数のビットデータグループのそれぞれに対応する伝送回数とを比較する比較部と、比較した結果に基づいて複数のビットデータグループをサンプリングするサンプリング部とを備えてもよい。
【0017】
カウンタ部は、現在の伝送回数が総伝送回数に達した後にカウント数を総伝送回数のうちの初期値に設定してもよい。
【0018】
設定部は、総伝送回数を設定する第1のレジスタと、分割パターンを設定する第2のレジスタとを備えてもよい。
【0019】
第1のデバイスから第2のデバイスへのデータ書き込みアクセス時に、第2のデバイスへNビットデータを出力してもよい。
【0020】
第1のデバイスと第2のデバイスとの間の双方向のデータ伝送アクセス時に、第2のデバイスへNビットデータを出力してもよい。
【0021】
本発明のデータバス幅変換装置は、第2のバス幅を有する第2のデバイスから出力されたN(Nは正数)ビットデータを複数のビットデータグループに分割して、第1のバス幅を有する第1のデバイスへ伝送するデータバス幅変換装置であって、第1のデバイスへ複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部と、総伝送回数と分割パターンとに基づいて、Nビットデータを複数のビットデータグループに分割して出力する分割部とを備え、そのことにより上記目的が達成される。
【0022】
第2のデバイスから第1のデバイスへのデータ読み出しアクセス時に、第1のデバイスへ複数のビットデータグループを出力してもよい。
【0023】
第1のデバイスと第2のデバイスとの間の双方向のデータ伝送アクセス時に、第1のデバイスへ複数のビットデータグループを出力してもよい。
【0024】
本発明のデータ処理装置は、第1のバス幅を有しN(Nは正数)ビットデータを複数のビットデータグループに分割して伝送する第1のデバイスから複数のビットデータグループを受け取り、Nビットデータを出力するデータバス幅変換装置と、データバス幅変換装置から出力されたNビットデータを受け取る第2のバス幅を有する第2のデバイスとを備えたデータ処理装置であって、データバス幅変換装置は、第1のデバイスが複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部と、総伝送回数と分割パターンとに基づいて、複数のビットデータグループそれぞれが示すデータを取得する取得部と、取得した複数のビットグループそれぞれが示すデータからNビットデータを生成し、生成したNビットデータを第2のデバイスへ出力する出力部とを備え、そのことにより上記目的が達成される。
【0025】
データ処理装置はディスプレイ装置であってもよい。
【0026】
本発明のデータ処理装置は、第2のバス幅を有しN(Nは正数)ビットデータを出力する第2のデバイスと、第2のデバイスから出力されたNビットデータを複数のビットデータグループに分割して、第1のバス幅を有する第1のデバイスへ伝送するデータバス幅変換装置とを備えたデータ処理装置であって、データバス幅変換装置は、第1のデバイスへ複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部と、総伝送回数と分割パターンとに基づいて、Nビットデータを複数のビットデータグループに分割して出力する分割部とを備え、そのことにより上記目的が達成される。
【0027】
データ処理装置はディスプレイ装置であってもよい。
【0028】
上記構成により、以下、その作用を説明する。
【0029】
本発明のデータバス幅変換装置は、CPU(ホストシステム)がN(Nは正数)ビットデータを分割して複数のビットデータグループとして伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部を備える。また、本発明のデータバス幅変換装置は、Nビットデータを分割して複数のビットデータグループとしてCPUへ伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部を備える。このことによりCPU側(ホストシステム)からLSI側(周辺デバイス)にデータ書き込みアクセスを行う場合およびLSI側(周辺デバイス)からCPU側(ホストシステム)にデータ読み出しのアクセスを行う場合に、ハードウェア的に固定されることなくデータの分割回数および分割パターンを任意に設定できる。
【0030】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
【0031】
(実施の形態1)
図1Aは、本発明の実施形態1におけるデータ処理システム100を示す。
【0032】
データ処理システム100は、CPU10と、LSI11とを備える。LSI11は、データバス幅変換装置120(図2)を備える。
【0033】
CPU10は、パーソナルコンピュータ等のホストシステムに含まれ、LSIは、液晶モジュール等の表示装置をコントロールする周辺デバイスに含まれる。CPU10は、8ビットのデータバス幅を有する。LSI11は、18ビットのデータバス幅を有する。CPU10とLSI11とは結線部12において接続されている。
【0034】
結線部12において、CPU10のインターフェース部であるデータバス端子D0〜D7およびデータ書き込み信号NWR用端子は、LSI11のインターフェース部であるデータバス端子DB0〜DB17およびデータ書き込み信号NWR用端子と接続されている。
【0035】
結線部12では、CPU10のデータバス端子D7とLSI11のデータバス端子D17、DB9およびDB1とが接続されており、以下、同様に、CPU10のデータバス端子D6とLSI11のデータバス端子DB16、DB8およびDB0とが接続され、CPU10のデータバス端子D5とLSI11のデータバス端子DB15、DB7とが接続され、CPU10のデータバス端子D4とLSI11のデータバス端子DB14、DB6とが接続され、CPU10のデータバス端子D3とLSI11のデータバス端子DB13、DB5とが接続され、CPU10のデータバス端子D2とLSI11のデータバス端子DB12、DB4とが接続され、CPU10のデータバス端子D1とLSI11のデータバス端子DB11、DB3とが接続され、CPU10のデータバス端子D0とLSI11のデータバス端子DB10、DB2とが接続されている。そして、CPU10のデータ書き込み信号NWR用端子は、LSI11のデータ書き込み信号NWR用端子と接続されている。
【0036】
ここで、図1Aに示す8ビットのデータバス幅を有するCPU10のインターフェース部と18ビットのデータバス幅を有するLSI11のインターフェース部との接続状態では、18ビットのデータを三つに分割して分割ビットデータグループ毎に伝達する。18ビットのデータの分割パターンの一例として、端子DB17から入力される17番目のデータから端子DB10から入力される10番目のデータまでの8ビットデータを一つ目の分割ビットデータグループ、DB9端子から入力される9番目のデータからDB2端子から入力される2番目のデータまでの8ビットデータを二つ目の分割ビットデータグループ、DB1端子から入力される1番目のデータからDB0端子から入力される0番目のデータまでの2ビットデータを三つ目の分割ビットデータグループとする8−8−2の分割パターンがある。
【0037】
図1Bに、本発明の実施の形態のデータ処理装置の一例としてディスプレイ装置110を示す。ディスプレイ装置110は例えば液晶ディスプレイ装置である。ディスプレイ装置110は、図1Aに示すLSI11と、表示パネル111とを備える。この場合、LSI11は表示パネル111の表示動作を制御する。このように、データバス幅変換装置120を備えるLSI11は、様々なデータ処理装置に搭載され得る。
【0038】
図2は、図1Aに示すLSI11が備える本発明の実施の形態1におけるデータバス幅変換装置120を示す。データバス幅変換装置120は、CPU10の8ビットのデータバス幅をLSI11の18ビットのデータバスの幅にリサイズ(変更)する。
【0039】
データバス幅変換装置120は、CPU10に接続された18ビット幅のデータバス20から出力されるデータのリサイズを行う制御回路21と、ビット情報を記録するフリップフロップ(FF)22と、制御回路21によってリサイズされた18ビット幅のデータをLSI11内部に出力する出力制御回路23とを備える。LSI内部回路24は、出力制御回路23から出力されるデータを受け取る。フリップフロップ22はラッチ回路であってもよい。
【0040】
図3は、図2に示す制御回路21の詳細を示すブロック図である。
【0041】
図3に示す制御回路21は、レジスタブロック30を備える。レジスタブロック30は、18ビット幅のデータをサンプリングする際のCPU10からLSI11へのデータ書き込みアクセスの全回数(CPU10からLSI11へ複数の分割ビットデータグループを伝送するときの総伝送回数)を任意に設定するレジスタαと、18ビット幅のデータの各ビットデータが総伝送回数のうち何回目のデータ伝送動作で伝送されるかを設定する(すなわち、18ビット幅のデータの各ビットデータを複数の分割ビットデータグループへ分配するための18ビット幅のデータの分割パターンを設定する)レジスタβとを備える。
【0042】
制御回路21は、レジスタαとレジスタβとによって設定された総伝送回数と分割パターンとに基づいて、複数のビットデータグループそれぞれが示すデータを取得する取得部35を備える。取得部35は、サンプリング部33と、サンプリング制御信号発生部34とを備える。サンプリング制御信号発生部34は、カウンタ31と、コンペア部32とを備える。カウンタ31は、レジスタαが設定した総伝送回数の範囲内で現在の伝送回数をカウントする。コンペア部32は、カウントされた現在の伝送回数と、複数のビットデータグループのそれぞれに対応する伝送回数とを比較する。コンペア部32は、対応付けられた伝送回数と現在の伝送回数とが一致したビットデータグループに含まれるデータをサンプリングするためのサンプリング制御信号をサンプリング部33へ出力する。カウント方法としては、インクリメント/デクリメントのどちらでもよい。
【0043】
カウンタ31は、CPU10からのデータ書き込み信号NWRに同期して、伝送回数(データ書き込みストローブの回数)のカウント値を出力する。コンペア部32には、レジスタβからのレジスタ値とカウンタ31からのカウント値とを比較する複数のコンペアが、18ビット幅のデータの各ビット毎に設けられている。レジスタβからのレジスタ値は、上述の分割パターンを示し、複数のコンペアそれぞれに総伝送回数のうちの何れかの回数を示すレジスタ値が入力される。レジスタ値は対応するビットデータグループ毎に値が異なる。本実施の形態では、コンペア部32は18個のコンペアを備える(図3は、説明の簡略化のために18個のコンペアのうちの3個のコンペア32A、32B、32Cを示す)。
【0044】
サンプリング部33には、サンプリング制御信号に従って18ビット幅のデータバス信号DB[17:0]を分割ビットデータグループ毎にサンプリングするための複数のサンプリング回路が、18ビット幅のデータの各ビット毎に設けられている。本実施の形態では、サンプリング部33は、18個のサンプリング回路を備える(図3は、説明の簡略化のために18個のサンプリング回路のうちの3個のサンプリング回路33A、33B、33Cを示す)。18個のサンプリング回路のそれぞれには、18個のコンペアのうちの対応するコンペアからサンプリング信号が出力される。18個のサンプリング回路のそれぞれはサンプリング信号に応じて、18ビット幅のデータのうちの対応付けられたビットデータをサンプリングする。
【0045】
次に、サンプリング部33から各ビットに対応するそれぞれのデータバス信号DB[17:0]がフリップフロップ22を介して出力制御回路23に出力される。また、カウンタ31からは、データ書き込み信号Wが出力制御回路23に出力される。出力制御回路23は、データ書き込み信号Wに同期して、分割ビットデータグループが示すデータをつなぎ合わせて、連続した18ビット幅のデータに変換し、LSI内部回路24に伝送する。
【0046】
ここで、フリップフロップ22が有する機能は、サンプリング部33に盛り込んでおいても同様な動作をすることは説明するまでもない。
【0047】
次に、図3に示す制御回路21のレジスタブロック30に設けられているレジスタαおよびレジスタβの構成例を表1に示す。レジスタαは、MCBおよびMCAレジスタである。レジスタβは、M0BおよびM0Aレジスタ〜M17BおよびM17Aレジスタを備える。ここで、表1のMWB0〜MWB5は、それぞれ8ビットのレジスタブロックを表している。
【0048】
表1では、18ビット幅のデータバス信号それぞれに対応して設けられているレジスタβと、18ビット幅のデータの取得に必要な総伝送回数を設定するレジスタαとは、それぞれ2ビット単位で構成されている。MCBおよびMCAレジスタは、それぞれMWB0のbit1およびbit0に格納されており、M0AおよびM0Bレジスタ〜M17AおよびM17Bレジスタは、MWB1のbit0からMWB5のbit3まで、順番に格納されている。また、表1内のXは、Don’t Careを示し、何の影響も与えないビットである。
【0049】
【表1】
【0050】
表1のMWB1〜MWB5に記載のM*BおよびM*Aレジスタの*部分には0〜17の数字が書かれている。この数字は、18本の各データバスの各ビットに対応する設定レジスタ(レジスタβ)であることを示している。M*BおよびM*Aレジスタの設定値は、18本の各データバスに対応するそれぞれのデータバス信号が何回目のデータ書き込みストローブでサンプリングされるかを示している。
【0051】
表2は、18ビット幅のデータバス信号に対応して設けられているM*BおよびM*Aレジスタの設定値とサンプリングタイミングを示している。
【0052】
M*BおよびM*Aレジスタの設定値がM*B=M*A=0であれば、1回目のデータ書き込みストローブによってサンプリングされ、M*B=0およびM*A=1であれば、2回目のデータ書き込みストローブによってサンプリングされ、M*B=1およびM*A=0であれば、3回目のデータ書き込みストローブによってサンプリングされ、M*B=1およびM*A=1であれば、4回目のデータ書き込みストローブによってサンプリングされることを示している。
【0053】
また、MWB0のbit1およびbit0にそれぞれ格納されているMCBおよびMCAレジスタは、所定のNビット幅(本実施形態では18ビット幅)のデータバス信号すべてを1回サンプリングする際のデータ書き込みアクセスの全回数(総伝送回数)を示している。MCBおよびMCAレジスタの設定値およびデータ書き込みアクセスの回数は、M*BおよびM*Aレジスタの設定値およびデータ書き込みアクセスの回数と同様に表2に示すルールに従って設定される。
【0054】
【表2】
【0055】
MCBおよびMCAレジスタは、LSI内部のホストインターフェースがデータバス上の例えば18ビット幅のデータバス信号をサンプリングする場合、何回のデータ書き込みストローブによって、18ビット幅のデータバス信号すべてをサンプリングするかを指定する。また、18ビット幅のデータバス信号は、M*BおよびM*Aレジスタで指定されるデータ書き込みストローブの回数に従って、分割ビットデータグループ毎に順に信号レベルをサンプリングされる。
【0056】
表3には、表2に示したレジスタαおよびレジスタβの設定値(レジスタ値)の一例を示す。ここでは、CPU10の8ビット幅のデータをLSI11の18ビット幅のデータに変換するために、18ビット幅のデータを8(17ビット目から10ビット目)−8(9ビット目から2ビット目)−2(1ビット目および0ビット目)の分割パターンのように三つに分割して、それぞれの分割ビットデータグループ毎に8ビット幅のデータおよび2ビット幅のデータを対応させる。
【0057】
これに応じて、18ビット幅のデータをサンプリングする際にCPU10からの8ビット幅のデータのデータ書き込みアクセスの全回数は、3回となりレジスタαであるMCBおよびMCAレジスタの設定値が、表2よりM*B=1およびM*A=0(*=C)となる。これにより、MCB=1およびMCA=0の設定値がそれぞれ表3のMWB0のbit1およびbit0にそれぞれ設定される。
【0058】
一回目のデータ書き込みストローブによってサンプリングされるデータ列(分割ビットデータグループ)を、17ビット目から10ビット目のデータと設定した場合、レジスタβが備えるM17BおよびM17Aレジスタ〜M10BおよびM10Aレジスタの設定値が表2よりM*B=M*A=0(*=10〜17)となる。これにより、M17BおよびM17Aレジスタ〜M10BおよびM10Aレジスタの設定値が、表3のMWB5のbit3およびbit2からMWB3のbit5およびbit4まで順番に設定される。
【0059】
次に、二回目のデータ書き込みストローブによってサンプリングされるデータ列(分割ビットデータグループ)を、9ビット目から2ビット目のデータと設定すると、レジスタβが備えるM9BおよびM9Aレジスタ〜M2BおよびM2Aレジスタの設定値が表2よりM*B=0およびM*A=1(*=2〜9)となる。これにより、M9BおよびM9Aレジスタ〜M2BおよびM2Aレジスタの設定値が、表3のMWB3のbit3およびbit2からMWB1のbit5およびbit4まで順番に設定される。
【0060】
次に、三回目のデータ書き込みストローブによってサンプリングされるデータ列(分割ビットデータグループ)を、1ビット目および0ビット目のデータと設定した場合、レジスタβが備えるM1BおよびM1Aレジスタ、M0BおよびM0Aレジスタの設定値が表2よりM*B=1およびM*A=0(*=0、1)となる。これにより、M1BおよびM1Aレジスタ、M0BおよびM0Aレジスタの設定値が、表3のMWB1のbit3およびbit2からMWB1のbit1およびbit0まで順番に設定される。
【0061】
表3に示すように、本実施形態では、MCBおよびMCAレジスタの設定値がMCB=1およびMCA=0であるから、表2より3回のデータ書き込みストローブによって、18ビット幅のデータバス信号の1回のデータ書き込みサイクルが完了する。
【0062】
【表3】
【0063】
次に、レジスタαおよびレジスタβの設定値(レジスタ値)を、表3に示すように設定した場合の本発明のデータバス幅変換装置の動作を図1A、図2および図3を用いて説明する。
【0064】
前述のように、本実施の形態では、図1Aに示す8ビットのデータバス幅を有するCPU10と、18ビットのデータバス幅を有するLSI11とは、8−8−2の分割パターンに従って接続されている。
【0065】
CPU10から8ビットデータが出力されると、その8ビットデータは、18ビット幅のデータバス20(図2)に入力される。ここで、CPU10からは、例えば8−8−2のような分割パターンに従って、3つの分割ビットデータグループそれぞれを示す信号DT1−0、DT1−1およびDT1−2(8ビットデータ)として出力される。信号DT1−2においては、8ビットデータの内の2ビットデータが有効データであり、その他の6ビットデータはDon’t Careであり、他に何の影響を与えないものである。18ビット幅のデータバス20を介して信号DT1−0、DT1−1およびDT1−2は、データ書き込み信号NWRと同期して制御回路21に入力される。
【0066】
データ書き込み信号NWRは、図3に示す制御回路21内のカウンタ31に入力される。カウンタ31は、データ書き込み信号NWRに同期してデータ書き込みストローブの回数をカウントする。また、レジスタβは、18ビット幅のデータの各ビットに対応するデータバス信号が、CPU10から何回目のデータ書き込みアクセスによってサンプリングされるかを設定する。
【0067】
レジスタαは、データ書き込みストローブの合計回数(総伝送回数)を表すレジスタ値を、カウンタ31に出力する。カウンタ31は、データ書き込み信号NWRに基づいてデータ書き込みストローブの回数をカウントしたカウンタ値をコンペア部32に出力する。
【0068】
コンペア部32が備える18個のコンペアは、レジスタβからの設定されたデータ書き込みストローブの回数を表すレジスタ値と、カウンタ31からのカウントされたデータ書き込みストローブの回数を表すカウンタ値とを比較する。これらのレジスタ値とカウンタ値とが一致したコンペアからサンプリング制御信号が、一致したコンペアに対応するサンプリング回路に出力される。
【0069】
サンプリング部33には、18ビット幅のデータバス信号DB[17:0]が入力され、各データバス信号DB[17:0]は、それぞれのビットデータに対応して設けられた18個のサンプリング回路に入力される。
【0070】
サンプリング制御信号を受け取ったサンプリング回路は、そのサンプリング制御信号に基づいて、データバス信号DB[17:0]うちの対応する所定ビット目のデータバス信号をサンプリングし、フリップフロップ22に出力する。例えば、サンプリング部33の17ビット目のサンプリング回路33Aでは、レジスタβの設定値が表2および3よりM17B=M17A=0であるから、データ書き込みの1サイクルにおいて、1回目のデータ書き込みストローブによって端子DB17を介して出力されたデータバス信号がサンプリングされ、17ビット目のサンプリング回路33Aからデータバス信号がフリップフロップ22に出力される。
【0071】
フリップフロップ22は、各データバス信号DB[17:0]が示す各ビットデータを記録していき、データ書き込み信号NWRに同期して、分割ビットデータグループに対するデータバス信号をサンプリングし、そのデータバス信号LDB[17:0]を出力制御回路23に出力する。
【0072】
ここで、フリップフロップ22の機能は、サンプリング部33に盛り込んでおいても同様な動作をする。つまり、コンペア部32からのサンプリング制御信号を受け取ったサンプリング部33のサンプリング回路が、そのサンプリング制御信号に基づいて所定ビット目のデータバス信号DB[17:0]をサンプリングする時に、フリップフロップ(またはラッチ回路)を利用してデータ書き込み信号NWRに同期してサンプリングを行い、サンプリングしたデータバス信号を直接出力制御回路23に出力することも可能である。
【0073】
また、カウンタ31では、データ書き込み信号NWRが入力されると、データ書き込みストローブの回数をカウントしていき、このカウントされたカウンタ値が、MCBおよびMCAレジスタによって示されるレジスタ値(本実施形態ではデータ書き込みアクセスの回数が3回であるから“10”)に達した後に、カウント値は初期値(例えば、“00”)に戻る。さらに、カウンタ31は、リサイズされた18ビット幅のデータをLSI内部回路24に出力するためのデータ書き込み信号Wを出力制御回路23に出力する。
【0074】
3回のデータ書き込みアクセスによって分割ビットデータグループ毎にサンプリングされたデータは、このデータ書き込み信号Wに基づいて、連続した18ビット幅のデータIDB[17:0]として、LSI11のLSI内部回路24が備えるレジスタおよびメモリ等のブロックに書き込まれる。
【0075】
このように、本発明のデータバス幅変換装置120には、制御回路21でNビット幅のデータをサンプリングする際のCPU10からのデータ書き込みアクセスの全回数を設定するレジスタαと、Nビット幅のデータの所定ビットに対応するデータバス信号を何回目のデータ書き込みアクセスでサンプリングするかを設定するレジスタβとが設けられている。このことにより、Mビット幅のデータバスを有するCPU10がNビット幅のデータバス(M=Nを含む)を有する周辺デバイスであるLSI11にアクセスする場合、CPU10からのデータ書き込みアクセスの回数(総伝送回数)および分割パターンが、ハードウェア的に固定されることなく、多様なバスシステムにおいてデータバス幅のリサイズが任意に設定できる。
【0076】
図4は、本発明のデータバス幅変換装置の動作における各信号のタイミングチャートである。
【0077】
まず、CPU10から8ビットのデータバス信号D[7:0]が、データ書き込み信号NWRに同期して出力され、結線部12を介してLSI11の18ビット幅のデータバス20に入力される。データバス信号D[7:0]は、例えば、LSI11の18ビットのデータバス幅の17ビット目から10ビット目に対応するデータ信号DT1−0、LSI11のデータバス幅の9ビット目から2ビット目に対応するデータ信号DT1−1、LSI11のデータバス幅の1ビット目および0ビット目に対応するデータ信号DT1−2として出力される。尚、LSI11のデータバス幅の1ビット目および0ビット目に対応するデータ信号DT1−2の伝送では、8ビットのバス幅のうち2ビット分しか使用していない。
【0078】
次に、データ信号DT1−0、DT1−1およびDT1−2は、18ビット幅のデータバス20から制御回路21のサンプリング部33に入力される。
【0079】
制御回路21では、レジスタブロック30のレジスタαおよびレジスタβによって、データ信号DT11−0、DT1−1およびDT1−2のサンプリング条件が設定される。すなわち、MC[B:A]=10は、3回のデータ書き込みストローブによって、18ビット幅のデータバス信号が1回サンプリングされることを示す。M17[B:A]=00〜M10[B:A]=00は、データ信号DT1−0が1回目のデータ書き込みストローブによって、17ビット目〜10ビット目にサンプリングされることを示す。M9[B:A]=01〜M2[B:A]=01は、データ信号DT1−1が2回目のデータ書き込みストローブによって、9ビット目〜2ビット目にサンプリングされることを示す。M1[B:A]=10およびM0[B:A]=10は、データ信号DT1−2が3回目のデータ書き込みストローブによって、1ビット目〜0ビット目にサンプリングされることを示す。
【0080】
次に、データ信号DT1−0、DT1−1およびDT1−2に対するデータ書き込みストローブの回数は、カウンタ31によってカウンタ値00、01および10としてカウントされる。このカウンタ値が上記のレジスタβの設定値と一致すると、データ信号DT1−0、DT1−1およびDT1−2は、それぞれに対応して設けられたサンプリング回路でサンプリングされる。
【0081】
例えば、データ信号DT1−0は、データDT1−0[7]〜データDT1−0[0]としてサンプリングされる。データDT1−0[7]〜データDT1−0[0]は、サンプリング部33の対応する出力端子からフリップフロップ22に出力される。同様に、データ信号DT1−1は、データDT1−1[7]〜データDT1−1[0]としてサンプリングされ、サンプリング部33の対応する出力端子からフリップフロップ22に出力され、データ信号DT1−2は、データDT1−2[7]〜データDT1−2[6]としてサンプリングされ、それぞれサンプリング部33の対応する出力端子からフリップフロップ22に出力される。ここで、例えば、上記[7]〜[0]は、CPU10のD7端子〜D0端子から出力される8ビットデータの7ビット目〜0ビット目に対応する。
【0082】
次に、フリップフロップ22は、データ書き込み信号NWRに同期して、データDT1−0[7]〜データDT1−0[0]、データDT1−1[7]〜データDT1−1[0]およびデータDT1−2[7]〜データDT1−2[6]をラッチデータLDB[17:0]として出力制御回路23に出力する。
【0083】
そして、出力制御回路23は、カウンタ31からのデータ書き込み信号Wに同期して、それぞれ分割ビットデータグループであるデータDT1−0[7]〜データDT1−0[0]、データDT1−1[7]〜データDT1−1[0]およびデータDT1−2[7]〜データDT1−2[6]を連続した18ビット幅のデータバス信号IDB[17:0]であるデータDT1にリサイズし、LSI内部回路24に出力する。
【0084】
ここで、本実施形態では、レジスタαと、レジスタβが備える複数のレジスタそれぞれとを、それぞれ2ビットで構成しているが、レジスタαおよびレジスタβのビット幅を変えることによって、Nビット幅のデータバス信号をサンプリングする際のCPUの総伝送回数(例えば、C回)と、Nビット幅のデータバス信号の各ビットに対応するデータバス信号を何回目のデータ書き込みアクセスでサンプリングするかを自由に決定する事が可能となる。
【0085】
なお、総伝送回数および分割パターンは、CPU10からの命令に従ってレジスタαおよびレジスタβに設定されてもよい。また、総伝送回数および分割パターンは、レジスタブロック30がCPU10が有するデータバス幅のサイズ(および結線状態)を認識して、そのサイズに応じてレジスタαおよびレジスタβに設定されてもよい。この場合、レジスタブロック30が設定した総伝送回数および分割パターンに従って、CPU10はデータを分割して出力する。
【0086】
これにより、Mビットのデータバス幅を持つCPUとNビットのデータバス幅を持つ周辺デバイスとを接続する場合でも、両者間の結線状態をハードウェア的に制限される事なく自由に決定する事が可能となる。
【0087】
さらに、本実施形態では、CPUからのデータ書き込みアクセス時のデータバス幅変換の一例を示したが、上記データ書き込みアクセス時のデータバス幅変換の逆のシーケンスを利用して、周辺デバイスからCPUへのデータ読み出しアクセス時にNビット幅のデータをMビット幅のデータに分割して出力するデータバス幅変換も可能である。
【0088】
(実施の形態2)
以下、図面を参照しながらLSI側(周辺デバイス)からCPU側(ホストシステム)へのデータ読み出しアクセス時の本発明の実施の形態を説明する。
【0089】
図5Aは、本発明の実施形態2におけるデータ処理システム200を示す。
【0090】
データ処理システム200は、CPU50と、LSI51とを備える。LSI51は、データバス幅変換装置220(図6)を備える。
【0091】
結線部52では、CPU50とLSI51とが、図1Aに示すCPU10とLSI11と同様に接続されている。そして、CPU50のデータ読み出し信号NRD用端子は、LSI51のデータ読み出し信号NRD用端子と接続されている。
【0092】
また、図5Aに示す8ビットのデータバス幅を有するCPU50のインターフェース部と18ビットのデータバス幅を有するLSI51のインターフェース部とは、図1Aと同様の8−8−2の分割パターンによって接続されている。
【0093】
図5Bに、本発明の実施の形態のデータ処理装置の一例としてディスプレイ装置210を示す。ディスプレイ装置210は例えば液晶ディスプレイ装置である。ディスプレイ装置210は、図5Aに示すLSI51と、表示パネル211とを備える。この場合、LSI51は表示パネル211の表示動作を制御する。このように、データバス幅変換装置220を備えるLSI51は、様々なデータ処理装置に搭載され得る。
【0094】
図6は、図5Aに示すLSI51が備える本発明の実施の形態のデータバス幅変換装置220を示す。データバス幅変換装置220は、データ読み出しアクセス時に、LSI51の18ビットのデータバス幅をCPU50の8ビットのデータバス幅にリサイズする。
【0095】
ここで、図6に示すデータバス幅変換装置220は、図2に示すデータバス幅変換装置120と同様の構成であるが、フリップフロップ(FF)62と、出力制御回路63とを経由しない場合でも本発明のデータバス変換動作を実現することが可能である。ここで、フリップフロップ62はラッチ回路であってもよい。
【0096】
図7は、図6に示すデータバス幅変換装置に含まれる制御回路61の詳細を示すブロック図である。
【0097】
図7に示す制御回路61は、レジスタブロック70を備える。レジスタブロック70は、18ビット幅のデータをLSI側(周辺デバイス)からCPU側(ホストシステム)へ読み出す際の、データ読み出しアクセスの全回数(LSI11からCPU10へ複数の分割ビットデータグループを伝送するときの総伝送回数)を任意に設定するレジスタγと、18ビット幅のデータの各ビットデータが総伝送回数のうち何回目のデータ伝送動作で伝送されるかを設定する(すなわち、18ビット幅のデータの各ビットデータを複数の分割ビットデータグループへ分配するための18ビット幅のデータの分割パターンを設定する)レジスタδとを備える。
【0098】
制御回路61は、分割部75を備える。この分割部75は図3に示す取得部35に対応する。分割部75は、カウンタ71と、コンペア部72と、サンプリング部73とを備える。
【0099】
カウンタ71は、CPU50からのデータ読み出し信号NRDに同期して、データバス信号を読み出す際の伝送回数(データ読み出しストローブの回数)のカウント値を出力する。
【0100】
コンペア部72には、レジスタδからのレジスタ値とカウンタ71からのカウント値とを比較する複数のコンペアが、18ビット幅のデータの各ビット毎に設けられている。レジスタδからのレジスタ値は、上述の分割パターンを示し、複数のコンペアそれぞれに総伝送回数のうちの何れかの回数を示すレジスタ値が入力される。レジスタ値は対応するビットデータグループ毎に値が異なる。本実施の形態では、コンペア部72は18個のコンペアを備える(図7は、説明の簡略化のために18個のコンペアのうちの3個のコンペア72A、72B、72Cを示す)。
【0101】
サンプリング部73には、サンプリング制御信号により18ビット幅のデータのデータバス信号DB[17:0]を、それぞれ分割ビットデータグループ毎に読み出しを行うための、複数のサンプリング回路が、18ビット幅のデータバス信号の各ビット毎に設けられている。本実施の形態では、サンプリング部73は、18個のサンプリング回路を備える(図7は、説明の簡略化のために18個のサンプリング回路のうちの3個のサンプリング回路73A、73B、73Cを示す)。18個のサンプリング回路のそれぞれには、18個のコンペアのうちの対応するコンペアからサンプリング信号が出力される。18個のサンプリング回路のそれぞれはサンプリング信号に応じて、18ビット幅のデータのうちの対応付けられたビットデータをサンプリングする。
【0102】
ここで、レジスタブロック70に設けられているレジスタγの構成は表1のレジスタαと同様のものであり、レジスタδの構成は表1のレジスタβと同様のものである。
【0103】
また、18本の各データバス信号に対応して設けられているM*BおよびM*Aレジスタの設定値とサンプリングタイミングの関係については表2と同様のものであり、M*BおよびM*Aレジスタの設定値がM*B=M*A=0であれば、1回目のデータ読み出しストローブ、M*B=0およびM*A=1であれば、2回目のデータ読み出しストローブ、M*B=1およびM*A=0であれば、3回目のデータ読み出しストローブ、M*B=1およびM*A=1であれば、4回目のデータ読み出しストローブによってCPU50への読み出しが行われることを示している。
【0104】
また、所定のNビット幅(本実施形態では18ビット幅)のデータバス信号を1回読み出す際のデータ読み出しアクセスの全回数(総伝送回数)を示すMCBおよびMCAレジスタの設定値とサンプリングタイミングの関係についても表2と同様のものであり、MCBおよびMCAレジスタは、LSIからCPUへの読み出しを行う場合、何回のデータ読み出しストローブによって1回の読み出しを実施するかを指定する。
【0105】
次に、レジスタγおよびレジスタδの設定値(レジスタ値)を、表3に示すように設定した場合の本発明のデータバス幅変換装置のデータ読み出しアクセス動作を図5A、図6および図7を用いて説明する。
【0106】
前述のように、図5Aに示す8ビットのデータバス幅を有するCPU50と18ビットのデータバス幅を有するLSI51とは、8−8−2の分割パターンによって接続されている。
【0107】
CPU50からデータ読み出し信号NRDが出力されると、そのデータ読み出し信号NRDはLSI内部回路64に入力される。それに同期して、LSI内部回路64から読み出された18ビット幅のデータODB[17:0]が制御回路61に入力される。
【0108】
データ読み出し信号NRDは、制御回路61内のカウンタ71に入力され、カウンタ71は、データ読み出し信号NRDに同期してデータバス信号を読み出す際のデータ読み出しストローブの回数をカウントする。また、レジスタδは、18ビット幅のデータの各ビットに相当するデータバス信号が、何回目のデータ読み出しストローブによってサンプリングされるかを設定する。
【0109】
レジスタγは、データ読み出しストローブの合計回数(総伝送回数)を表すレジスタ値を、カウンタ71に出力する。カウンタ71は、データ読み出し信号NWRに基づいてデータ読み出しストローブの回数をカウントしたカウンタ値をコンペア部72に出力する。
【0110】
コンペア部32が備える18個のコンペアは、レジスタδからの設定されたデータ読み出しストローブの回数を表すレジスタ値と、カウンタ71からのカウントされたデータ読み出しストローブの回数を表すカウンタ値とを比較する。これらのレジスタ値とカウンタ値とが一致したコンペアからサンプリング制御信号が、一致したコンペアに対応するサンプリング回路に出力される。
【0111】
サンプリング部73には、LSI内部回路64より18ビット幅のデータバス信号ODB[17:0]が入力され、各データバス信号ODB[17:0]は、それぞれのビットデータに対応して設けられた18個のサンプリング回路に入力される。
【0112】
サンプリング制御信号を受け取ったサンプリング回路は、そのサンプリング制御信号に基づいて、データバス信号DB[17:0]うちの対応する所定ビット目のデータバス信号をサンプリングし、データバス60に出力する。
【0113】
例えば、サンプリング部73の17ビット目のサンプリング回路73Aでは、レジスタδの設定値が表2および3よりM17B=M17A=0であるから、データ読み出しの1サイクルにおいて、1回目のデータ読み出しストローブによって、17ビット目に対応したサンプリング回路73Aにてデータバス信号ODB17のサンプリング(読み出し)が行われ、DB17端子(図5A)に出力される。
【0114】
また、カウンタ71では、データ読み出し信号NRDが入力されると、データ読み出しストローブの回数をカウントし、このカウントされたカウンタ値がMCBおよびMCAレジスタのレジスタ値(本実施形態ではデータ書き込みアクセスの回数が3回であるから“10”)に達した後に、カウント値は初期値(例えば、“00”)に戻る。
【0115】
このように、本発明のデータバス幅変換装置は、制御回路61にNビット幅のデータをサンプリングする際のCPU50からのデータ読み出しアクセスの全回数を設定するレジスタγと、Nビット幅のデータの所定ビットに対応するデータバス信号を何回目のデータ読み出しアクセスでサンプリングするかを設定するレジスタδとが設けられている。このことにより、Mビット幅のデータバスを有するCPU50がNビット幅のデータバス(M=Nを含む)を有する周辺デバイスであるLSI51にアクセスする場合、LSI51からCPU50へのデータ読み出しアクセスの回数およびデータバス信号の分割パターンが、ハードウェア的に固定されることなく、多様なバスシステムにおいてデータバス幅のリサイズが任意に設定できる。
【0116】
図8は、本発明のデータバス幅変換装置のデータ読み出し動作における各信号のタイミングチャートである。
【0117】
まず、CPU50からデータ読み出し込み信号NRDが出力され、結線部52を介してLSI51のLSI内部回路64に入力される。
【0118】
データ読み出し込み信号NRDが入力されると、それに同期してLSI内部回路64から読み出された18ビット幅のデータDT1が制御回路61のサンプリング部33に信号ODB[17:0]として入力される。
【0119】
制御回路61では、レジスタブロック70のレジスタγおよびレジスタδによって、データDT1の読み出し条件が設定される。すなわち、MC[B:A]=10は、3回のデータ読み出しストローブによって、18ビット幅のデータバス信号が1回読み出されることを示す。M17[B:A]=00〜M10[B:A]=00は、1回目のデータ読み出しストローブによって、17ビット目〜10ビット目を読み出すことを示す。M9[B:A]=01〜M2[B:A]=01は、2回目のデータ読み出しストローブによって、9ビット目〜2ビット目を読み出すことを示す。M1[B:A]=10およびM0[B:A]=10は、3回目のデータ読み出しストローブによって、1ビット目〜0ビット目を読み出すことを示す。
【0120】
次に、データDT1に対するデータ読み出しストローブの回数は、カウンタ71によってカウンタ値00、01および10としてカウントされる。このカウンタ値が上記のレジスタδの設定値と一致すると、データDT1は、それぞれサンプリング部73の18ビット幅のデータの所定ビットに対応して設けられたサンプリング回路から読み出しが行われる。
【0121】
ここで、各読み出しストローブにおいて、読み出しが行われるビット以外のサンプリング回路からの出力はHi−Zとしておくことにより、CPU50へ読み出される8ビットのデータバスは、D[7:0]のように3回の読み出しストローブで18ビットデータバスの読み出しが完了する。なお、3回目の読み出しストローブについては、下位2ビットのみ有効データであり、その他の上位6ビットはDon’t Careであり、他に何の影響を与えないものである。
【0122】
ここで、本実施形態では、レジスタγと、レジスタδが備える複数のレジスタそれぞれとを、それぞれ2ビットで構成しているが、レジスタγおよびレジスタδのビット幅を変えることによって、Nビット幅のデータバス信号を読み出す際のCPUへの総伝送回数(例えば、C回)と、Nビット幅のデータバス信号の各ビットに対応するデータバス信号が何回目のデータ読み出しアクセスで読み出し動作を行うかを自由に決定する事が可能となる。
【0123】
なお、総伝送回数および分割パターンは、CPU50からの命令に従ってレジスタγおよびレジスタδに設定されてもよい。また、総伝送回数および分割パターンは、レジスタブロック70がCPU50が有するデータバス幅のサイズ(および結線状態)を認識して、そのサイズに応じてレジスタγおよびレジスタδに設定されてもよい。この場合、レジスタブロック70が設定した総伝送回数および分割パターンに従って、分割部75はデータを分割して出力する。
【0124】
これにより、Mビットのデータバス幅を持つCPUとNビットのデータバス幅を持つ周辺デバイスとを接続する場合でも、両者間の結線状態をハードウェア的に制限される事なく自由に決定する事が可能となる。
【0125】
さらに、本発明では、Mビット幅のデータバスを有するCPU(ホストシステム)がNビット幅のデータバス(M=Nを含む)を有するLSI(周辺デバイス)にアクセスする場合において、データバス幅をリサイズする際に、CPUからのデータ書き込み(またはLSIからCPUへのデータ読み出し)アクセスの回数および分割パターンが、ハードウェア的に固定されることなく、多様なバスシステムにおいて任意に設定することが可能となる。
【0126】
さらに、本発明では、Mビット幅のデータバスを有するCPU(ホストシステム)がNビット幅のデータバス(M=Nを含む)を有するLSI(周辺デバイス)にアクセスする場合において、データバス幅をリサイズする際に、Nビット幅のデータバス信号の分割パターンおよび分割回数が固定されていないため、ハードウェア的にLSI側のビット幅の切り替えること等を不要にすることができ、使用するLSIの選択が制限されなくなるとともに、CPU側におけるソフトによる処理等も不要になるため、CPUに対する負荷を低減することも可能となる。
【0127】
尚、本発明では、CPUとLSIとの間でデータを伝達するための18ビットのデータ分割パターンは、8―8―2の分割パターンであるが、本発明は、これに限定されるものではない。例えば、データ分割パターンとして、6―6―6の分割パターン、5―6―7の分割パターン等の分割パターンであっても良い。
【0128】
尚、本発明のデータバス幅変換装置を用いたデータ伝送は、CPUとLSIとの間の双方向のデータ伝送アクセス時にも行われる。
【0129】
【発明の効果】
本発明のデータバス幅変換装置は、CPU(ホストシステム)がN(Nは正数)ビットデータを分割して複数のビットデータグループとして伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部を備える。また、本発明のデータバス幅変換装置は、Nビットデータを分割して複数のビットデータグループとしてCPUへ伝送するときの総伝送回数を設定するとともに、Nビットデータを複数のビットデータグループそれぞれへ分配するためのNビットデータの分割パターンを設定する設定部を備える。このことによりCPU側(ホストシステム)からLSI側(周辺デバイス)にデータ書き込みアクセスを行う場合およびLSI側(周辺デバイス)からCPU側(ホストシステム)にデータ読み出しのアクセスを行う場合に、ハードウェア的に固定されることなくデータの分割回数および分割パターンを任意に設定できる。
【図面の簡単な説明】
【図1A】本発明の実施形態におけるデータバス幅変換装置が設けられた、CPUおよびLSIのインターフェース部の接続状態の一例を示す結線図である。
【図1B】本発明の実施の形態のデータ処理装置を示す図である。
【図2】図1Aに示すLSIのインターフェース部において、データバス幅のリサイズ(変更)を行う本発明のデータバス幅変換装置の構成を表すブロック図である。
【図3】図2に示すデータバス幅変換装置に含まれる制御回路の構成を示すブロック図である。
【図4】本発明のデータバス幅変換装置の動作における各信号のタイミングチャートである。
【図5A】データ読み出しアクセスを行う、本発明の実施形態におけるデータバス幅変換装置が設けられた、CPUおよびLSIのインターフェース部の接続状態の一例を示す結線図である。
【図5B】本発明の実施の形態のデータ処理装置を示す図である。
【図6】図1Aに示すLSIのインターフェース部において、データ読み出しアクセス時に、データバス幅のリサイズ(変更)を行う本発明のデータバス幅変換装置の構成を表すブロック図である。
【図7】データ読み出しアクセス時に、図5Aに示すデータバス幅変換装置に含まれる制御回路の構成を示すブロック図である。
【図8】本発明のデータバス幅変換装置の動作における、データ読み出しアクセス時の各信号のタイミングチャートである。
【符号の説明】
10 CPU
11 LSI
12 結線部
20 18ビット幅のデータバス
21 制御回路
22 フリップフロップまたはラッチ回路
23 出力制御回路
24 LSI内部回路
30 レジスタブロック
31 カウンタ
32 コンペア部
33 サンプリング部
34 サンプリング制御信号発生部
Claims (16)
- 第1のバス幅を有し、N(Nは正数)ビットデータを複数のビットデータグループに分割して伝送する第1のデバイスから前記複数のビットデータグループを受け取って、第2のバス幅を有する第2のデバイスへ前記Nビットデータを出力するデータバス幅変換装置であって、
前記第1のデバイスが前記複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、前記Nビットデータを前記複数のビットデータグループそれぞれへ分配するための前記Nビットデータの分割パターンを設定する設定部と、
前記総伝送回数と前記分割パターンとに基づいて、前記複数のビットデータグループそれぞれが示すデータを取得する取得部と、
前記取得した複数のビットグループそれぞれが示すデータから前記Nビットデータを生成し、前記生成したNビットデータを前記第2のデバイスへ出力する出力部と
を備える、データバス幅変換装置。 - 前記第1のデバイスは、前記設定部が設定した前記総伝送回数および前記分割パターンに基づいて、前記Nビットデータを前記複数のビットデータグループに分割する、請求項1に記載のデータバス幅変換装置。
- 前記設定部は、前記第1のデバイスからの命令に基づいて、前記総伝送回数および前記分割パターンを設定する、請求項1に記載のデータバス幅変換装置。
- 前記設定部は、前記第1のバス幅のサイズに基づいて、前記総伝送回数および前記分割パターンを設定する、請求項1に記載のデータバス幅変換装置。
- 前記複数のビットデータグループのそれぞれは、前記総伝送回数のうちの対応する伝送回数における前記第1のデバイスの伝送動作によって伝送され、
前記取得部は、前記総伝送回数のうちの現在の伝送回数をカウントするカウンタ部と
前記カウントされた現在の伝送回数と、前記複数のビットデータグループのそれぞれに対応する伝送回数とを比較する比較部と、
前記比較した結果に基づいて前記複数のビットデータグループをサンプリングするサンプリング部と
を備える、請求項1に記載のデータバス幅変換装置。 - 前記カウンタ部は、前記現在の伝送回数が前記総伝送回数に達した後にカウント数を前記総伝送回数のうちの初期値に設定する、請求項5に記載のデータバス幅変換装置。
- 前記設定部は、前記総伝送回数を設定する第1のレジスタと、前記分割パターンを設定する第2のレジスタとを備える、請求項1に記載のバス幅変換回路。
- 前記第1のデバイスから前記第2のデバイスへのデータ書き込みアクセス時に、前記第2のデバイスへ前記Nビットデータを出力する、請求項1に記載のデータバス幅変換装置。
- 前記第1のデバイスと前記第2のデバイスとの間の双方向のデータ伝送アクセス時に、前記第2のデバイスへ前記Nビットデータを出力する、請求項1に記載のデータバス幅変換装置。
- 第2のバス幅を有する第2のデバイスから出力されたN(Nは正数)ビットデータを複数のビットデータグループに分割して、第1のバス幅を有する第1のデバイスへ伝送するデータバス幅変換装置であって、
前記第1のデバイスへ前記複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、前記Nビットデータを前記複数のビットデータグループそれぞれへ分配するための前記Nビットデータの分割パターンを設定する設定部と、
前記総伝送回数と前記分割パターンとに基づいて、前記Nビットデータを前記複数のビットデータグループに分割して出力する分割部と
を備える、データバス幅変換装置。 - 前記第2のデバイスから前記第1のデバイスへのデータ読み出しアクセス時に、前記第1のデバイスへ前記複数のビットデータグループを出力する、請求項10に記載のデータバス幅変換装置。
- 前記第1のデバイスと前記第2のデバイスとの間の双方向のデータ伝送アクセス時に、前記第1のデバイスへ前記複数のビットデータグループを出力する、請求項10に記載のデータバス幅変換装置。
- 第1のバス幅を有し、N(Nは正数)ビットデータを複数のビットデータグループに分割して伝送する第1のデバイスから前記複数のビットデータグループを受け取り、前記Nビットデータを出力するデータバス幅変換装置と、
前記データバス幅変換装置から出力された前記Nビットデータを受け取る第2のバス幅を有する第2のデバイスと
を備えたデータ処理装置であって、
前記データバス幅変換装置は、
前記第1のデバイスが前記複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、前記Nビットデータを前記複数のビットデータグループそれぞれへ分配するための前記Nビットデータの分割パターンを設定する設定部と、
前記総伝送回数と前記分割パターンとに基づいて、前記複数のビットデータグループそれぞれが示すデータを取得する取得部と、
前記取得した複数のビットグループそれぞれが示すデータから前記Nビットデータを生成し、前記生成したNビットデータを前記第2のデバイスへ出力する出力部と
を備える、データ処理装置。 - 前記データ処理装置はディスプレイ装置である、請求項13に記載のデータ処理装置。
- 第2のバス幅を有し、N(Nは正数)ビットデータを出力する第2のデバイスと、
前記第2のデバイスから出力された前記Nビットデータを複数のビットデータグループに分割して、第1のバス幅を有する第1のデバイスへ伝送するデータバス幅変換装置と
を備えたデータ処理装置であって、
前記データバス幅変換装置は、
前記第1のデバイスへ前記複数のビットデータグループを伝送するときの総伝送回数を設定するとともに、前記Nビットデータを前記複数のビットデータグループそれぞれへ分配するための前記Nビットデータの分割パターンを設定する設定部と、
前記総伝送回数と前記分割パターンとに基づいて、前記Nビットデータを前記複数のビットデータグループに分割して出力する分割部と
を備える、データ処理装置。 - 前記データ処理装置はディスプレイ装置である、請求項15に記載のデータ処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003183631A JP2004164579A (ja) | 2002-09-24 | 2003-06-26 | データバス幅変換装置およびデータ処理装置 |
US10/668,253 US7171496B2 (en) | 2002-09-24 | 2003-09-24 | Data bus width conversion apparatus and data processing apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002278208 | 2002-09-24 | ||
JP2003183631A JP2004164579A (ja) | 2002-09-24 | 2003-06-26 | データバス幅変換装置およびデータ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004164579A true JP2004164579A (ja) | 2004-06-10 |
Family
ID=32032896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003183631A Withdrawn JP2004164579A (ja) | 2002-09-24 | 2003-06-26 | データバス幅変換装置およびデータ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7171496B2 (ja) |
JP (1) | JP2004164579A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006165665A (ja) * | 2004-12-02 | 2006-06-22 | Matsushita Electric Ind Co Ltd | 半導体集積回路 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7366864B2 (en) * | 2004-03-08 | 2008-04-29 | Micron Technology, Inc. | Memory hub architecture having programmable lane widths |
DE102005019041B4 (de) * | 2005-04-23 | 2009-04-16 | Qimonda Ag | Halbleiterspeicher und Verfahren zur Anpassung der Phasenbeziehung zwischen einem Taktsignal und Strobe-Signal bei der Übernahme von zu übertragenden Schreibdaten |
US8386676B2 (en) * | 2007-06-05 | 2013-02-26 | Intel Corporation | Systems, methods, and apparatuses for transmitting data mask bits to a memory device |
US8352785B1 (en) | 2007-12-13 | 2013-01-08 | F5 Networks, Inc. | Methods for generating a unified virtual snapshot and systems thereof |
US8549582B1 (en) | 2008-07-11 | 2013-10-01 | F5 Networks, Inc. | Methods for handling a multi-protocol content name and systems thereof |
WO2010029682A1 (ja) * | 2008-09-10 | 2010-03-18 | 株式会社ルネサステクノロジ | 情報処理装置 |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
US8463850B1 (en) | 2011-10-26 | 2013-06-11 | F5 Networks, Inc. | System and method of algorithmically generating a server side transaction identifier |
US20160173398A1 (en) * | 2014-12-12 | 2016-06-16 | Intel Corporation | Method, Apparatus And System For Encoding Command Information In a Packet-Based Network |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
US10388362B1 (en) * | 2018-05-08 | 2019-08-20 | Micron Technology, Inc. | Half-width, double pumped data path |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5930156A (ja) * | 1982-08-09 | 1984-02-17 | Sharp Corp | マイクロコンピユ−タシステム |
JPS60169893A (ja) * | 1984-02-15 | 1985-09-03 | シチズン時計株式会社 | ビツトパタ−ン変換装置 |
JPS6226561A (ja) * | 1985-07-26 | 1987-02-04 | Toshiba Corp | パ−ソナルコンピユ−タ |
US5040232A (en) * | 1987-09-07 | 1991-08-13 | Kabushiki Kaisha Toshiba | Information processing apparatus using a data format converter |
US4878166A (en) * | 1987-12-15 | 1989-10-31 | Advanced Micro Devices, Inc. | Direct memory access apparatus and methods for transferring data between buses having different performance characteristics |
JPH01233015A (ja) | 1988-03-10 | 1989-09-18 | Nippon Steel Corp | パイプのマーキング装置 |
JPH02191730A (ja) | 1989-01-11 | 1990-07-27 | Murata Mach Ltd | カバリング糸の製造方法 |
DE69016123T2 (de) * | 1989-08-02 | 1995-05-24 | Canon Kk | Bildverarbeitungsgerät. |
JP2672691B2 (ja) | 1990-06-11 | 1997-11-05 | アルパイン株式会社 | Daコンバータ |
US5680151A (en) * | 1990-06-12 | 1997-10-21 | Radius Inc. | Method and apparatus for transmitting video, data over a computer bus using block transfers |
JP2991354B2 (ja) * | 1990-11-07 | 1999-12-20 | キヤノン株式会社 | 画像読取装置およびそれを備えた画像情報処理装置 |
US5255374A (en) * | 1992-01-02 | 1993-10-19 | International Business Machines Corporation | Bus interface logic for computer system having dual bus architecture |
US5796458A (en) * | 1992-09-01 | 1998-08-18 | Fujitsu Limited | Element division liquid crystal display device and its manufacturing method |
US5745791A (en) * | 1992-09-16 | 1998-04-28 | Intel Corporation | System for interfacing first and second components having different data path width by generating first and second component address to read data into buffer |
US5487760A (en) * | 1994-03-08 | 1996-01-30 | Ats Medical, Inc. | Heart valve prosthesis incorporating electronic sensing, monitoring and/or pacing circuitry |
JP3566364B2 (ja) * | 1994-12-22 | 2004-09-15 | キヤノン株式会社 | データ処理装置及び方法 |
JPH0991197A (ja) * | 1995-09-22 | 1997-04-04 | Sharp Corp | データ転送制御装置 |
US6115020A (en) * | 1996-03-29 | 2000-09-05 | Fujitsu Limited | Liquid crystal display device and display method of the same |
US5861019A (en) * | 1997-07-25 | 1999-01-19 | Medtronic Inc. | Implantable medical device microstrip telemetry antenna |
JPH11149444A (ja) * | 1997-11-19 | 1999-06-02 | Nec Corp | データ転送制御装置及びデータ転送制御システム並びにデータ転送制御方法 |
EP0864293B1 (en) * | 1997-12-22 | 1999-08-04 | Hewlett-Packard Company | Telemetry system, in particular for medical purposes |
US6115636A (en) * | 1998-12-22 | 2000-09-05 | Medtronic, Inc. | Telemetry for implantable devices using the body as an antenna |
US6240317B1 (en) * | 1999-04-30 | 2001-05-29 | Medtronic, Inc. | Telemetry system for implantable medical devices |
US6167312A (en) * | 1999-04-30 | 2000-12-26 | Medtronic, Inc. | Telemetry system for implantable medical devices |
US6169925B1 (en) * | 1999-04-30 | 2001-01-02 | Medtronic, Inc. | Telemetry system for implantable medical devices |
US6379300B1 (en) * | 1999-10-08 | 2002-04-30 | Medtronic, Inc. | Telemtry system for implantable medical devices |
TWI268047B (en) * | 2000-03-22 | 2006-12-01 | Lg Electronics Inc | Method and apparatus for coding information, method and apparatus for decoding coded information, method of fabricating a recording medium, the recording medium and modulated signal |
US6535766B1 (en) * | 2000-08-26 | 2003-03-18 | Medtronic, Inc. | Implanted medical device telemetry using integrated microelectromechanical filtering |
US6868288B2 (en) * | 2000-08-26 | 2005-03-15 | Medtronic, Inc. | Implanted medical device telemetry using integrated thin film bulk acoustic resonator filtering |
JP2002108522A (ja) * | 2000-09-26 | 2002-04-12 | Internatl Business Mach Corp <Ibm> | データ転送装置、表示装置、データ送出装置、データ受取装置、データの転送方法 |
JP2002175060A (ja) * | 2000-09-28 | 2002-06-21 | Sharp Corp | 液晶駆動装置およびそれを備えた液晶表示装置 |
DE60142178D1 (de) * | 2000-10-11 | 2010-07-01 | Mann Alfred E Found Scient Res | Verbesserte antenne für eine implantierte medizinische miniatureinrichtung |
US6574510B2 (en) * | 2000-11-30 | 2003-06-03 | Cardiac Pacemakers, Inc. | Telemetry apparatus and method for an implantable medical device |
US6675045B2 (en) * | 2001-01-16 | 2004-01-06 | Cardiac Pacemakers, Inc. | Split-can dipole antenna for an implantable medical device |
SE0100284D0 (sv) * | 2001-01-31 | 2001-01-31 | St Jude Medical | Medical communication system |
US6708065B2 (en) * | 2001-03-02 | 2004-03-16 | Cardiac Pacemakers, Inc. | Antenna for an implantable medical device |
JP3773804B2 (ja) * | 2001-04-16 | 2006-05-10 | 富士通株式会社 | データ幅変換装置及びデータ処理装置 |
-
2003
- 2003-06-26 JP JP2003183631A patent/JP2004164579A/ja not_active Withdrawn
- 2003-09-24 US US10/668,253 patent/US7171496B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006165665A (ja) * | 2004-12-02 | 2006-06-22 | Matsushita Electric Ind Co Ltd | 半導体集積回路 |
JP4593252B2 (ja) * | 2004-12-02 | 2010-12-08 | パナソニック株式会社 | 半導体集積回路 |
Also Published As
Publication number | Publication date |
---|---|
US20040064595A1 (en) | 2004-04-01 |
US7171496B2 (en) | 2007-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4287594A (en) | Function test evaluation apparatus for evaluating a function test of a logical circuit | |
JP2004164579A (ja) | データバス幅変換装置およびデータ処理装置 | |
SE437892B (sv) | Processormodul | |
US6457148B1 (en) | Apparatus for testing semiconductor device | |
JP3027445B2 (ja) | メモリーコントロールデバイス | |
JPH0743429A (ja) | 物理アドレス変換回路 | |
US4992970A (en) | System for reading or setting printed circuit boards voltage of computer by support processor | |
US4819166A (en) | Multimode scan apparatus | |
US6629230B2 (en) | Host interface circuit | |
US5717874A (en) | Apparatus for data transfer between image memory and external I/O device wherein inner registers set the image valid area, direction and moder of transfer | |
US5937146A (en) | Binarization processing apparatus and method | |
JP3087928B2 (ja) | 試験装置 | |
JP3086135B2 (ja) | データ信号の観測方法 | |
JP3099774B2 (ja) | 半導体集積回路 | |
KR930001243B1 (ko) | 도트 프린터 문자체 45˚ 회전방법 | |
JPS62278680A (ja) | イメ−ジ情報出力装置 | |
KR970007156Y1 (ko) | 데이타 입출력장치의 엑세스 시간 제어회로 | |
JPH08195737A (ja) | 一致検出回路 | |
JPS6342751B2 (ja) | ||
JP2903351B2 (ja) | 波形発生装置 | |
JPH0434182B2 (ja) | ||
KR19990018103A (ko) | Cpu와 주변장치 사이의 인터페이스 장치 및 방법 | |
JPH08262106A (ja) | 特定用途向けテスト回路 | |
Mahmoudi | Real Time Peripheral Board Test Fixture | |
JPH05264673A (ja) | 半導体集積回路装置における内蔵ramの試験方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060905 |