説明

半導体集積回路

【課題】送信データ内容によらずデータ転送レートを一定に保ち、かつ同時スイッチング出力本数を低減することのできる技術を提供する。
【解決手段】送信データ制御部10は、Nビットの送信データをM(但し、2≦M)回に分けて送信する。つまり、NビットデータのうちのN/Mビットを有効データとし、残りのN-N/Mビットを無効データして、NビットデータをM回送信することで、Nビットの有効データを送信する。この際、無効データ(N-N/Mビット)は、直前に送信したNビットデータの状態をそのまま保持する。一方、受信データ制御部20では、M回に分けて送信された最後のNビットデータをNビットの送信データとして受信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路に関する。
【背景技術】
【0002】
LSI(Large Scale Integration)、プリント基板などの入出力に用いられるインターフェース回路において、複数の出力ピンの信号が同時に変化する場合に、近接する入力ピン、出力ピンの信号にノイズが発生する。このノイズは同時スイッチングノイズと呼ばれている。また、同時に変化する出力ピンの信号を同時スイッチング出力と呼ぶ。例えば、4ビットの出力データが”0000”から”1111”に変化する場合、同時スイッチング出力本数は4本である。同時スイッチング出力本数が増大すると、同時スイッチングノイズも大きくなる。この同時スイッチングノイズは、LSI内部の電源レベル、GNDレベルが変動してLSI自身が誤動作する原因となったり、この同時スイッチング出力を受信する次段の回路が誤動作する原因となったりする。
【0003】
同時スイッチング出力本数を減らす技術として、特許文献1に記載の技術がある。この技術では、同時スイッチング出力本数が所定の閾値以上の場合に出力信号を反転させる。そして、出力信号に反転指示信号を付加して送出する。
【0004】
また、同時スイッチング出力本数を減らす別の技術として、特許文献2に記載の技術がある。この技術では、出力信号の同時スイッチング出力本数が所定の閾値以上の場合に、同時スイッチング本数がこの閾値より少なくなるダミーデータを生成し、このダミーデータに無効指示信号を付加して送出する。それから、出力信号を送出する。
【0005】
【特許文献1】特開平8-316840号公報
【特許文献2】特開2005-20169号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の技術では、Nビットの出力データに対して同時スイッチング出力本数をより多くの場合に低減させようとした場合、出力信号の反転の有無を判断するために使用する閾値はN/2となる。つまり、この技術では、同時スイッチング出力本数の最大数をN/2までしか低減できない。また、特許文献2に記載の技術では、ダミーデータの有無、つまり送信データの内容によってデータ転送レートが変化してしまう。
【0007】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、送信データ内容によらずデータ転送レートを一定に保ち、かつ同時スイッチング出力本数を低減することのできる技術を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明は、送信側において、Nビットの送信データをM(但し、2≦M)回に分けて送信する。つまり、NビットデータのうちのN/Mビットを有効データとし、残りのN-N/Mビットを無効データとして、NビットデータをM回送信することで、Nビットの有効データを送信する。この際、無効データ(N-N/Mビット)は、直前に送信したNビットデータの状態をそのまま保持する。一方、受信側では、M回に分けて送信された最後のNビットデータをNビットの送信データとして受信する。
【0009】
なお、送信側において、NビットデータのうちのN/Mビットの有効データの同時スイッチング出力本数が所定の閾値より大きい場合に、この有効データの出力信号を反転させ、反転指示信号と共に送出してもよい。反転指示信号は、Nビットデータ用のデータ線とは別に設けられた信号線を用いて送信するようにしてもよいし、あるいは、無効データを利用して送信するようにしてもよい。
【0010】
例えば、本発明は、Nビットデータを送信する送信データ制御部と、前記送信データ制御部が送信したNビットデータを受信する受信データ制御部と、を有するデータ送受信システムであって、
前記送信データ制御部は、
NビットデータのうちのN/Mビット(但し2≦M)を有効データとし、残りのN-N/Mビットを無効データとし、有効データに送信対象Nビットデータの当該N/Mビットと同じビット位置のデータを割り当て、無効データに直前に出力されたNビットデータの当該N-N/Mビットと同じビット位置のデータを割り当てて、1サイクルでNビットデータをM回送信し、
前記受信データ制御部は、
1サイクルでM回送信されたNビットデータのM番目のNビットデータを、前記送信対象Nビットデータとして受信する。
【発明の効果】
【0011】
本発明によれば、送信データの内容によらずデータ転送レートを一定に保ちつつ、同時スイッチング出力本数を低減することができる。
【発明を実施するための最良の形態】
【0012】
以下に、本発明の実施の形態について図面を参照して説明する。
<第1実施形態>
図1は、本発明の第1実施形態が適用されたデータ送受信システムの概略図である。
【0013】
図示するように、本実施形態のデータ送受信システムは、Nビットデータを送信する送信側半導体集積回路1と、送信側半導体集積回路1が送信したNビットデータを受信する受信側半導体集積回路2と、を有する。
【0014】
送信側半導体集積回路1は、NビットデータをM(但し、2≦M)回に分けて送出する送信データ制御部10を有する。送信データ制御部10は、送信側半導体集積回路1の本体から出力されたNビットデータを入力するためのN本のデータ信号入力ピン11と、Nビットデータを出力するためのN本のデータ信号出力ピン12と、M本の制御信号出力ピン13と、を有する。
【0015】
送信データ制御部10は、データ信号入力ピン11に入力されたNビットデータ(入力ビットデータと呼ぶ)のうちのN/Mビットを有効データとし、残りのN-N/Mビットを無効データして、Nビットデータ(出力ビットデータと呼ぶ)をデータ信号出力ピン12から出力する。この際、無効データ(N-N/Mビット)は、一つ前の出力ビットデータの状態をそのまま保持する。これを有効データのビット位置を変えながらM回繰り返すことにより、Nビットの有効データ、つまり入力ビットデータを送信する。
【0016】
また、送信データ制御部10は、i番目(但し1≦i≦M)の出力ビットデータに含まれている有効データ(N/Mビット)の同時スイッチング出力本数が所定の閾値より大きい場合、この有効データのデータ信号を反転させて、データ信号出力ピン12から出力する。また、i番目の出力ビットデータに対応する制御信号出力ピン13から出力される制御信号のビット値を、反転していることを示すビット値に変更する。
【0017】
図2は、送信データ制御部10の機能をソフトウエア的に実現する場合の動作フロー図である。
【0018】
先ず、送信データ制御部10は、送信側半導体集積回路1の本体からデータ信号入力ピン11に入力ビットデータが入力されると(S101でYES)、カウンタ値iを初期値「1」に設定する(S102)。
【0019】
次に、送信データ制御部10は、i番目の出力ビットデータに割り当てる入力ビットデータのN/Mビットについて、ビット値が直前の出力ビットデータから変化したビットの数(変化数k)を測定する(S103)。なお、入力ビットデータのN/Mビットの出力ビットデータへの割当て方法としては、入力ビットデータをM個のビットグループ(N/Mビット)に分け、1番目〜M番目の出力ビットデータのそれぞれにいずれかのビットグループを割り当てる。
【0020】
次に、送信データ制御部10は、変化数kが所定の閾値より大きいか否かを判断する(S104)。ここでは、所定の閾値としてN/2Mを用いている。
【0021】
変化数kが所定の閾値より大きい場合(S104でYES)、送信データ制御部10は、i番目の出力ビットデータに割り当てる入力ビットデータのN/Mビットのビット値を反転させる。そして、このビット値を反転させたN/Mビットを有効データに設定する。また、i番目の出力ビットデータのうち、このN/Mビット以外のN-N/Mビットを無効データに設定し、その内容を直前の出力ビットデータの対応するN-N/Mビットとする。これにより、i番目の出力ビットデータの各ビットを設定する。また、i番目の出力ビットデータに対応する制御信号のビット値を、反転していることを示すビット値(「オン」=”1”)に設定する(S105)。
【0022】
一方、変化数kが所定の閾値以下の場合(S104でNO)、送信データ制御部10は、i番目の出力ビットデータに割り当てる入力ビットデータのN/Mビットをそのまま有効データに設定する。また、i番目の出力ビットデータのうち、このN/Mビット以外のN-N/Mビットを無効データに設定し、その内容を直前の出力ビットデータの対応するN-N/Mビットとする。これにより、i番目の出力ビットデータの各ビットを設定する。また、i番目の出力ビットデータに対応する制御信号のビット値を、反転していないことを示すビット値(「オフ」=”0”)に設定する(S106)。
【0023】
次に、送信データ制御部10は、カウンタ値iがMに到達したか否かを判断する(S107)。到達していない場合は(S107でNO)、カウンタ値iを一つインクリメントして(S108)、S103に戻る。一方、到達している場合は(S107でYES)、1番目からM番目までの出力ビットデータを設定内容に従って順番に出力する。また、1番目からM番目までの制御信号を設定内容に従って出力する(S109)。
【0024】
図3は、送信データ制御部10の機能をハードウエア的に実現する場合の概略構成図である。
【0025】
図示するように、送信データ制御部10は、N本のデータ信号入力ピン11と、N本のデータ信号出力ピン12と、M本の制御信号出力ピン13と、ラッチ部101と、M個の変化数検出部102〜102と、M個の比較部103〜103と、M個のデータ変換部104〜104と、選択部105と、を有する。
【0026】
ラッチ部101は、出力ビットデータをラッチする。
【0027】
変化数検出部102〜102には、入力ビットデータのうちの所定のN/Mビットがそれぞれ割当てられている。割当て方法としては、入力ビットデータをM個のビットグループに分け、それぞれの変化数検出部102〜102にいずれかのビットグループを割り当てる。変化数検出部102〜102は、自身に割当てられたN/Mビットを、ラッチ部101にラッチされている出力ビットデータの対応するN/Mビットと比較して、ビット値が出力ビットデータから変化したビットの数(変化数k)を検出する。
【0028】
比較部103(但し、1≦i≦M)は、変化数検出部102で検出された変化数kを所定の閾値と比較する。そして、比較結果をi番目の制御信号として、i番目の制御信号出力ピン13から出力する。本実施形態では、所定の閾値としてN/2Mを用いている。そして、変化数>N/2Mの場合に制御信号をオンとし、変化数≦N/2Mの場合に制御信号をオフとしている。
【0029】
データ変換部104(但し、1≦i≦M)は、入力ビットデータのうち変化数検出部102に割り当てられたN/Mビットが入力される。そして、比較部103から出力された制御信号がオンの場合は、この入力されたN/Mビットの各ビットのビット値を反転させて出力する。一方、比較部103から出力された制御信号がオフの場合は、この入力されたN/Mビットをそのまま出力する。データ変換部104〜104から出力されたi×N/Mビットは、ラッチ部101でラッチされている出力ビットデータのうち、このi×N/Mビット以外のビットデータ(N-i×N/Mビット)と共に、i番目のNビットデータとして選択部105に入力される。
【0030】
選択部105は、入力されている1番目のNビットデータ〜M番目のNビットデータを、1番目から順番に選択して出力する。
【0031】
以下に、8ビットデータ(N=8)を2回(M=2)に分けて出力する場合を例にとり、本実施形態をより具体的に説明する。
【0032】
なお、入力ビットデータのN/M(=4)ビットの出力ビットデータへの割当て方法としては、入力ビットデータをMSB(Most Significant Bit)側4ビットおよびLSB(Least Significant Bit)側4ビット2個のビットグループに分け、1番目および2番目の出力ビットデータのそれぞれにいずれかのビットグループを割り当てる方法、あるいは、入力ビットデータを奇数ビットおよび偶数ビット2個のビットグループに分け、1番目および2番目の出力ビットデータのそれぞれにいずれかのビットグループを割り当てる方法などが考えられる。ここでは前者を採用して、1番目の出力ビットデータにLSB側4ビットを割り当て、2番目の出力ビットデータにMSB側4ビットを割り当て、1番目の制御信号に1ビット目(ビット番号「0」)の制御信号出力ピン13(flg[0])を割り当て、そして、2番目の制御信号に2ビット目(ビット番号「1」)の制御信号出力ピン13(flg[1])を割り当てた場合を例にとり説明する。
【0033】
図4は、8ビットの入力ビットデータを2回の出力ビットデータに分けて送信する送信データ制御部10の機能をソフトウエア的に実現する場合の動作フロー図である。
【0034】
先ず、送信データ制御部10は、送信側半導体集積回路1の本体からデータ信号入力ピン11に入力ビットデータが入力されると(S111でYES)、この入力ビットデータ(次送信データ)をxとし、出力ビットデータ(前送信データ)をyとする(S112)。ここでは、入力ビットデータx=”0000 0000”、出力ビットデータy=”1101 0101”として説明する。
【0035】
次に、送信データ制御部10は、MSB側4ビット[7:4]およびLSB側4ビット[3:0]のそれぞれについて、入力ビットデータxおよび出力ビットデータy間の変化数kを測定する。そして、MSB側4ビット[7:4]の変化数kをkmsbとし、LSB側4ビット[3:0]の変化数kをklsbとする(S113)。
【0036】
次に、送信データ制御部10は、変化数klsbが所定の閾値N/2M=2より大きいか否かを判断する(S114)。
【0037】
変化数klsbが閾値「2」より大きい場合(S114でYES)、送信データ制御部10は、1番目の出力ビットデータに割り当てる入力ビットデータxのLSB側4ビットx[3:0]のビット値を反転させる。そして、このビット値を反転させたLSB側4ビットnot(x[3:0])を有効データに設定する。また、1番目の出力ビットデータのMSB側4ビット[7:4]を無効データに設定し、その内容を直前の出力ビットデータ(前送信データ)yのMSB側4ビットy[7:4]とする。これにより、1番目の出力ビットデータの各ビットを設定する。また、1番目の出力ビットデータに対応する制御信号flg[0]をオンに設定する(S115)。
【0038】
一方、変化数klsbが閾値「2」以下の場合(S114でNO)、送信データ制御部10は、1番目の出力ビットデータに割り当てる入力ビットデータxのLSB側4ビットx[3:0]のビット値をそのまま有効データに設定する。また、1番目の出力ビットデータのMSB側4ビット[7:4]を無効データに設定し、その内容を直前の出力ビットデータ(前送信データ)yのMSB側4ビットy[7:4]とする。これにより、1番目の出力ビットデータの各ビットを設定する。また、1番目の出力ビットデータに対応する制御信号flg[0]をオフに設定する(S116)。
【0039】
入力ビットデータx=”1101 0101”、出力ビットデータy=”0000 0000”の場合、変化数klsb=2であるため、S116が実行される。その結果、1番目の出力ビットデータ=”0000 0101”に設定される。これにより、1番目の出力ビットデータの直前の出力ビットデータ(前送信データy)からの変化数kは2となる。
【0040】
次に、送信データ制御部10は、変化数kmsbが所定の閾値N/2M=2より大きいか否かを判断する(S117)。
【0041】
変化数kmsbが閾値「2」より大きい場合(S117でYES)、送信データ制御部10は、2番目の出力ビットデータに割り当てる入力ビットデータxのMSB側4ビットx[7:4]のビット値を反転させる。そして、このビット値を反転させたMSB側4ビットnot(x[7:4])を有効データに設定する。また、2番目の出力ビットデータのLSB側4ビット[3:0]を無効データに設定し、その内容を直前の出力ビットデータ(1番目の出力ビットデータ)のLSB側4ビット[3:0](x[3:0]あるいはnot(x[3:0]))とする。これにより、2番目の出力ビットデータの各ビットを設定する。また、2番目の出力ビットデータに対応する制御信号flg[1]をオンに設定する(S118)。
【0042】
一方、変化数kmsbが閾値「2」以下の場合(S117でNO)、送信データ制御部10は、2番目の出力ビットデータに割り当てる入力ビットデータxのMSB側4ビットx[7:4]のビット値をそのまま有効データに設定する。また、2番目の出力ビットデータのLSB側4ビット[3:0]を無効データに設定し、その内容を直前の出力ビットデータ(1番目の出力ビットデータ)のLSB側4ビット[3:0](x[3:0]あるいはnot(x[3:0]))とする。これにより、2番目の出力ビットデータの各ビットを設定する。また、2番目の出力ビットデータに対応する制御信号flg[1]をオフに設定する(S119)。
【0043】
入力ビットデータx=”1101 0101”、出力ビットデータy=”0000 0000”の場合、変化数kmsb=3であるため、S118が実行される。その結果、2番目の出力ビットデータ=”0010 0101”に設定される。これにより、2番目の出力ビットデータの直前の出力ビットデータ(1番目の出力ビットデータ)からの変化数kは1となる。
【0044】
次に、送信データ制御部10は、1番目および2番目の出力ビットデータを設定内容に従って順番に出力する。また、1番目および2番目の制御信号を設定内容に従って出力する(S120)。
【0045】
図5は、8ビットの入力ビットデータを2回の出力ビットデータに分けて送信する送信データ制御部10の機能をハードウエア的に実現する場合の概略構成図である。ここで、図3に示すものと同じ機能を有するものには同じ符号を付している。
【0046】
図示するように、送信データ制御部10は、8本のデータ信号入力ピン11と、8本のデータ信号出力ピン12と、2本の制御信号出力ピン13と、クロック信号入力ピン14と、ラッチ部101と、2個の変化数検出部102、102と、2個の比較部103、103と、2個のデータ変換部104、104と、選択部105と、を有する。
【0047】
ラッチ部101は、フリップフロップで構成されている。変化数検出部102、102は、EX-OR回路1021および加算器1022で構成されている。比較部103、103は、比較器で構成されている。データ変換部104、104は、NOT回路1041およびセレクタ1042で構成されている。そして、選択部105は、セレクタ1051およびタイミング生成回路1052で構成されている。
【0048】
以上のような構成において、変化数検出部102は、ラッチ部(フリップフロップ)101にラッチされている直前の出力ビットデータと、データ信号入力ピン11に入力された入力ビットデータとについて、EX-OR回路1021でLSB側4ビット[3:0]を比較し、ビット値に変化のあるビットの数(変化数klsb)を加算器1022で求める。同様に、変化数検出部102は、EX-OR回路1021でMSB側4ビット[7:4]を比較し、ビット値に変化のあるビットの数(変化数kmsb)を加算器1022で求める。
【0049】
比較部103は、変化数検出部102の加算器1022からの出力(変化数klsb)を所定の閾値(=2)と比較し、閾値より大きい場合はオン、閾値以下の場合はオフとなるように、1番目の制御信号flg[0]を生成する。同様に、比較部103は、変化数検出部102の加算器1022からの出力(変化数kmsb)を所定の閾値(=2)と比較し、閾値より大きい場合はオン、閾値以下の場合はオフとなるように、2番目の制御信号flg[1]を生成する。この2つの制御信号flg[1:0]は、制御信号出力ピン13から出力される。
【0050】
一方、データ変換部104は、データ信号入力ピン11に入力された入力ビットデータのLSB側4ビット[3:0]をNOT回路1041で反転させる。そして、1番目の制御信号flg[0]に従い、このNOT回路1041の出力(not([3:0]))および入力ビットデータのLSB側4ビット[3:0]のいずれか一方を、セレクタ1042で選択して出力する。制御信号flg[0]がオンの場合は、NOT回路1041の出力(not([3:0]))を選択し、オフの場合は入力ビットデータのLSB側4ビット[3:0]を選択する。
【0051】
同様に、データ変換部104は、データ信号入力ピン11に入力された入力ビットデータのMSB側4ビット[7:4]をNOT回路1041で反転させる。そして、2番目の制御信号flg[1]に従い、このNOT回路1041の出力(not([7:4]))および入力ビットデータのMSB側4ビット[7:4]のいずれか一方を、セレクタ1042で選択して出力する。制御信号flg[1]がオンの場合は、NOT回路1041の出力(not([7:4]))を選択し、オフの場合は入力ビットデータのMSB側4ビット[7:4]を選択する。
【0052】
データ変換部104から出力されたデータは、1番目の出力ビットデータのLSB側4ビット[3:0]に割り当てられる。また、ラッチ部101にラッチされている直前の出力ビットデータのMSB側4ビット[7:4]が1番目の出力ビットデータのMSB側4ビット[7:4]に割り当てられる。そして、1番目の出力ビットデータは、選択部105に入力される。
【0053】
同様に、データ変換部104から出力されたデータは、2番目の出力ビットデータのMSB側4ビット[7:4]に割り当てられる。また、データ変換部104から出力されたデータが2番目の出力ビットデータのLSB側4ビット[3:0]に割り当てられる。そして、2番目の出力ビットデータは、選択部105に入力される。
【0054】
選択部105は、クロック信号入力ピン14に入力されたクロック信号に従い、タイミング生成回路1052で出力ビットデータの出力タイミング信号を生成する。そして、この出力タイミング信号に従い、セレクタ1051により1番目の出力ビットデータおよび2番目の出力ビットデータを順番に選択する。選択された出力ビットデータは、データ信号出力ピン12から出力される。なお、入力ビットデータを2回に分けて出力する場合、タイミング生成回路1052は、クロック信号を出力タイミング信号としてそのまま用いることができる。一方、入力ビットデータを4回に分けて出力する場合、タイミング生成回路1052にPLL(Phase Locked Loop)を用いることで、クロック信号から出力タイミング信号を生成することができる。
【0055】
図6は、本実施形態において、連続して入力された2つの入力ビットデータDx-1、Dをそれぞれ”0000 0000”、”1101 0101”とし、各入力ビットデータDx-1、Dを2回に分けて送信する場合のタイミングチャートを示す図である。ここで、符号601はクロック信号、符号602は出力ビットデータ、そして、符号603は制御信号を示している。
【0056】
図示するように、入力ビットデータDの1番目の出力ビットデータD1の直前の出力ビットデータDx-12に対する変化数kは「2」である。また、入力ビットデータDの2番目の出力ビットデータD2の直前の出力ビットデータD1に対する変化数kは「1」である。一方、入力ビットデータを1回で送信する場合、入力ビットデータDx1の入力ビットデータDx-1からの変化数kは「5」である。したがって、同時スイッチング本数を低減することができる。
【0057】
図1に戻って説明を続ける。
【0058】
受信側半導体集積回路2は、送信側半導体集積回路1の送信データ制御部10からM回に分けて送出されたNビットデータから、この送信データ制御部10に入力されたNビットデータを復元する受信データ制御部20を有する。受信データ制御部20は、送信側半導体集積回路1の送信データ制御部10から送出されたNビットデータを入力するためのN本のデータ信号入力ピン21と、Nビットデータを出力するためのN本のデータ信号出力ピン22と、M本の制御信号入力ピン23と、を有する。
【0059】
受信データ制御部20は、送信側半導体集積回路1の送信データ制御部10からM回に分けて送出されたNビットデータのM番目を受信する。また、この送信データ制御部10から送出されたM本の制御信号を受信する。そして、i番目(但し、1≦i≦M)の制御信号に従い、M番目のNビットデータのi番目の制御信号に対応するN/Mビットを反転制御する。この処理をM本の制御信号各々に対して行うことで、送信データ制御部10に入力されたNビットデータを復元する。そして、復元したNビットデータを、受信側半導体集積回路2の本体へ送出する。
【0060】
図7は、受信データ制御部20の機能をソフトウエア的に実現する場合の動作フロー図である。
【0061】
先ず、受信データ制御部20は、送信側半導体集積回路1から1サイクルでM回送信されるNビットデータのM番目がデータ信号入力ピン21に入力されると(S201でYES)、カウンタ値iを初期値「1」に設定する(S202)。
【0062】
次に、受信データ制御部20は、制御信号入力ピン23を介して送信側半導体集積回路1から受信したi番目の制御信号のビット値を確認する(S203)。
【0063】
i番目の制御信号のビット値がオンの場合(S204でYES)、受信データ制御部20は、M番目のNビットデータの、i番目の制御信号に対応付けられている(送信データ制御部10のi番目の出力ビットデータに割り当てられている)N/Mビットのビット値を反転させる(S205)。一方、i番目の制御信号のビット値がオフの場合(S204でNO)、受信データ制御部20は、M番目のNビットデータの、i番目の制御信号に対応付けられているN/Mビットのビット値をそのままとする(S206)。
【0064】
次に、受信データ制御部20は、カウンタ値iがMに到達したか否かを判断する(S207)。到達していない場合は(S207でNO)、カウンタ値iを一つインクリメントして(S208)、S203に戻る。一方、到達している場合は(S207でYES)、以上のようにして反転制御されたM番目のNビットデータを、送信側半導体集積回路1から受信した送信データとして、受信側半導体集積回路2の本体へ送出する(S209)。
【0065】
図8は、受信データ制御部20の機能をハードウエア的に実現する場合の概略構成図である。
【0066】
図示するように、受信データ制御部20は、N本のデータ信号入力ピン21と、N本のデータ信号出力ピン22と、M本の制御信号入力ピン23と、ラッチ部201と、ラッチ部202と、M個のデータ変換部203〜203と、を有する。
【0067】
ラッチ部201は、送信側半導体集積回路1の送信データ制御部10から1サイクルでM回送信されるNビットデータのM番目をラッチする。
【0068】
ラッチ部202は、送信側半導体集積回路1の送信データ制御部10から送信されるMビットの制御信号をラッチする。
【0069】
データ変換部203(但し、1≦i≦M)は、ラッチ部201でラッチされているM番目のNビットデータのうち、i番目の制御信号に対応付けられている(送信データ制御部10のi番目の出力ビットデータに割り当てられている)N/Mビットが割り当てられている。データ変換部203は、ラッチ部202でラッチされているi番目の制御信号に従い、ラッチ部201でラッチされているM番目のNビットデータのうち、自身に割り当てられているN/Mビットを反転制御する。i番目の制御信号がオンの場合は、自身に割り当てられているN/Mビットを反転させて出力する。一方、i番目の制御信号がオフの場合は、自身に割り当てられているN/Mビットをそのまま出力する。
【0070】
データ変換部203〜データ変換部203のそれぞれから出力されたN/Mビットデータは、送信側半導体集積回路1の送信データ(Nビットデータ)として、データ信号出力ピン22から受信側半導体集積回路2の本体へ送出される。
【0071】
以下に、送信側半導体集積回路1の送信データ制御部10から2回(M=2)に分けて送出された8ビットデータ(N=8)から、送信側半導体集積回路1の送信データ(8ビットデータ)を復元する場合を例にとり、本実施形態をより具体的に説明する。なお、ここでは、1番目(1ビット目)の制御信号にLSB側4ビットが割り当てられ、2番目(2ビット目)の制御信号にMSB側4ビットが割り当てられているものとして説明する。
【0072】
図9は、送信側半導体集積回路1の送信データ制御部10から2回に分けて送出された8ビットデータから、送信側半導体集積回路1の送信データを復元する受信データ制御部20の機能をソフトウエア的に実現する場合の動作フロー図である。ここでは、1サイクルで2回送信される8ビットデータの2番目が”0010 1010”、2ビットの制御信号が”10”である場合を例にとり説明する。
【0073】
先ず、受信データ制御部20は、送信側半導体集積回路1から1サイクルで2回送信される8ビットデータの2番目がデータ信号入力ピン21に入力されると(S211でYES)、制御信号入力ピン23に入力されている1ビット目の制御信号のビット値を確認する(S212)。
【0074】
1ビット目の制御信号のビット値がオンの場合(S213でYES)、受信データ制御部20は、2番目の8ビットデータのLSB側4ビット[3:0]のビット値を反転させる(S214)。一方、1ビット目の制御信号のビット値がオフの場合(S213でNO)、受信データ制御部20は、2番目の8ビットデータのLSB側4ビット[3:0]のビット値をそのままとする(S215)。この例では、1ビット目の制御信号が「オフ」(=”0”)なので、2番目の8ビットデータのLSB側4ビット[3:0]は、”1010”そのままとする。
【0075】
次に、受信データ制御部20は、制御信号入力ピン23に入力されている2ビット目の制御信号のビット値を確認する(S216)。
【0076】
2ビット目の制御信号のビット値がオンの場合(S217でYES)、受信データ制御部20は、2番目の8ビットデータのMSB側4ビット[7:4]のビット値を反転させる(S218)。一方、2ビット目の制御信号のビット値がオフの場合(S217でNO)、受信データ制御部20は、2番目の8ビットデータのMSB側4ビット[7:4]のビット値をそのままとする(S219)。この例では、2ビット目の制御信号が「オン」(=”1”)なので、2番目の8ビットデータのMSB側4ビット[7:4]は、”0010”から”1101”に反転される。
【0077】
次に、受信データ制御部20は、以上のようにして反転制御された2番目の8ビットデータを、送信側半導体集積回路1から受信した送信データとして、受信側半導体集積回路2の本体へ送出する(S220)。この例では、LSB側4ビット[3:0]がそのままで、MSB側4ビット[7:4]が反転した8ビットデータ”1101 0101”が、受信側半導体集積回路2の本体へ送出される。
【0078】
図10は、送信側半導体集積回路1の送信データ制御部10から2回に分けて送出された8ビットデータから、送信側半導体集積回路1の送信データを復元する受信データ制御部20の機能をハードウエア的に実現する場合の概略構成図である。ここで、図8に示すものと同じ機能を有するものには同じ符号を付している。
【0079】
図示するように、受信データ制御部20は、8本のデータ信号入力ピン21と、8本のデータ信号出力ピン22と、2本の制御信号入力ピン23と、ラッチ部201と、ラッチ部202と、2個のデータ変換部203、203と、を有する。ラッチ部201、202は、フリップフロップで構成されている。データ変換部203、203は、NOT回路2031およびセレクタ2032で構成されている。
【0080】
以上のような構成において、ラッチ部201は、データ信号入力ピン201に入力された、1サイクル2回送られてくる8ビットデータの2番目の8ビットデータをラッチする。また、ラッチ部202は、制御信号入力ピン23に入力された、1サイクルで1回送られてくる2ビットの制御信号をラッチする。
【0081】
データ変換部203は、ラッチ部201でラッチされている8ビットデータのLSB側4ビット[3:0]をNOT回路2031で反転させる。そして、ラッチ部202でラッチされている1ビット目の制御信号flg[0]に従い、このNOT回路2031の出力(not([3:0]))およびラッチ部201でラッチされている8ビットデータのLSB側4ビット[3:0]のいずれか一方を、セレクタ2032で選択して出力する。制御信号flg[0]がオンの場合は、NOT回路2031の出力(not([3:0]))を選択し、オフの場合は8ビットデータのLSB側4ビット[3:0]を選択する。
【0082】
同様に、データ変換部203は、ラッチ部201でラッチされている8ビットデータのMSB側4ビット[7:4]をNOT回路2031で反転させる。そして、ラッチ部202でラッチされている2ビット目の制御信号flg[1]に従い、このNOT回路2031の出力(not([7:4]))およびラッチ部201でラッチされている8ビットデータのMSB側4ビット[7:4]のいずれか一方を、セレクタ2032で選択して出力する。制御信号flg[1]がオンの場合は、NOT回路2031の出力(not([7:4]))を選択し、オフの場合は入力ビットデータのMSB側4ビット[7:4]を選択する。
【0083】
データ変換部203、203のそれぞれから出力されたLSB側4ビット[3:0」、MSB側4ビット[7:4]は、送信側半導体集積回路1の送信データ(8ビットデータ)としてデータ信号出力ピン22から受信側半導体集積回路2の本体へ送出される。
【0084】
図11は、本実施形態において、1サイクルで2回送出された8ビットデータD1、D2をそれぞれ”0000 1010”、”0010 1010”とし、1サイクルで1回送出された2ビットの制御信号を”10”とした場合におけるデータ受信のタイミングチャートを示す図である。ここで、符号611はクロック信号、符号612はデータ信号入力ピン21に入力された8ビットデータ、符号613は制御信号入力ピン23に入力されたデータ、そして、符号614はデータ信号出力ピン22から出力された8ビットデータを示している。図示するように、1サイクルで2回送信された8ビットデータの2番目D2”0010 1010”と、同じサイクルで送出された2ビットの制御信号”10”とから、送信側半導体集積回路1の送信データD”11011010”を復元することができる。
【0085】
以上、本発明の第1実施形態について説明した。本実施形態では、送信側において、Nビットの送信データをM(但し、2≦M)回に分けて送信する。つまり、NビットデータのうちのN/Mビットを有効データとし、残りのN-N/Mビットを無効データして、NビットデータをM回送信することで、Nビットの有効データを送信する。この際、無効データ(N-N/Mビット)は、直前に送信したNビットデータの状態をそのまま保持する。一方、受信側では、M回に分けて送信された最後のNビットデータをNビットの送信データとして受信する。また、本実施形態では、送信側において、NビットデータのうちのN/Mビットの有効データの同時スイッチング出力本数が所定の閾値(ここではN/2M)より大きい場合に、この有効データの出力信号を反転させる。このようにすることで、送信データの内容にかかわらずデータ転送レートを一定に保ちつつ、同時スイッチング出力本数を最大でN/2M以下に低減することができる。
<第2実施形態>
上記の第1実施形態では、Mビットの制御信号を専用のM本の制御信号線を用いて、送信側半導体装置1および受信側半導体装置2間で送受している。これに対して、本実施形態では、Mビットの制御信号を、1サイクルでM回送信されるNビットデータの所定番目の無効データに挿入することで、Mビットの制御信号を送信側半導体装置1および受信側半導体装置2間で送受する。
【0086】
図12は、送信データ制御部10の機能をハードウエア的に実現する場合の概略構成図である。なお、図12において、図3に示す第1実施形態のものと同じ機能を有するものには同じ符号を付している。
【0087】
図12に示す本実施形態の送信データ制御部10が図3に示す第1実施形態のものと異なる点は、M本の送信データ出力ピン13が省略されていること、およびスイッチ部106を設けたことである。スイッチ部106は、選択部105に入力される所定番目(図12に示す例では1番目)のNビットデータに含まれている無効データ(N-N/Mビット)の所定のMビットを、比較部103〜103から出力されたMビットの制御信号に置き換える。
【0088】
図13は、受信データ制御部20の機能をハードウエア的に実現する場合の概略構成図である。なお、図13において、図8に示す第1実施形態のものと同じ機能を有するものには同じ符号を付している。
【0089】
図13に示す本実施形態の受信データ制御部20が図8に示す第1実施形態のものと異なる点は、ラッチ部202に代えてラッチ部204を設けたことである。ラッチ部204は、1サイクルでM回送信されるNビットデータの所定番目(Mビットの制御信号が挿入されているNビットデータ)に含まれている無効データ(N-N/M)ビットの所定のMビット(制御信号が挿入されているビット)をラッチする。
【0090】
図14は、本実施形態において、連続して入力された2つの入力ビットデータDx-1、Dをそれぞれ”0000 0000”、”1101 0101”とし、各入力ビットデータDx-1、Dを2回に分けて送信する場合のタイミングチャートを示す図である。ここで、符号621はクロック信号、符号622は出力ビットデータを示している。この例では、1番目の入力ビットデータDx-1の無効データであるMSB側4ビットの下位2ビットに制御信号を埋め込んでいる。
【0091】
図示するように、入力ビットデータDの1番目の出力ビットデータD1の直前の出力ビットデータDx-12に対する変化数kは、有効データの変化数に制御信号による変化数が加わり「3」である。また、入力ビットデータDの2番目の出力ビットデータD2の直前の出力ビットデータD1に対する変化数kは「0」である。一方、入力ビットデータを1回で送信する場合、入力ビットデータDx1の入力ビットデータDx-1からの変化数kは「5」である。したがって、同時スイッチング出力本数を低減することができる。なお、本実施形態は、図6に示す第1実施形態の場合に比べて同時スイッチング出力本数が増加する。しかし、専用の制御信号線を別途設けなくて済むという利点がある。
【0092】
なお、本実施形態においても、上記の第1実施形態と同様に、送信データ制御部10の機能をソフトウエア的に実現してもよい。また、受信データ制御部20の機能をソフトウエア的に実現してもよい。
<第3実施形態>
上記の第1、2実施形態では、Mビットの制御信号を送信側半導体装置1および受信側半導体装置2間で送受している。これに対して、本実施形態では、Mビットの制御信号を用いることなく、送信側半導体装置1および受信側半導体装置2間でデータを送受する。
【0093】
図15は、送信データ制御部10の機能をハードウエア的に実現する場合の概略構成図である。なお、図15において、図3に示す第1実施形態のものと同じ機能を有するものには同じ符号を付している。
【0094】
図15に示すように、本実施形態の送信データ制御部10は、ラッチ部101と、N本のデータ信号入力ピン11と、N本のデータ信号出力ピン12と、データ変換部107と、選択部105と、を有する。
【0095】
ラッチ部101は、出力ビットデータをラッチする。
【0096】
データ変換部107は、データ信号入力ピン11に入力した入力ビットデータおよびデータ信号出力ピン12から出力した出力ビットデータを用いて、1番目〜M番目のNビットデータを生成する。i(但し1≦i≦M)番目のNビットデータは、入力ビットデータから抽出した1番目〜i番目のNビットデータ各々に割り当てられているN/Mビット(合計i×N/Mビット)と、出力ビットデータから抽出した該i×N/Mビット以外のN-i×N/Mビットとを連結して生成する。
【0097】
選択部105は、入力されている1番目のNビットデータ〜M番目のNビットデータを、1番目から順番に選択して出力する。
【0098】
なお、本実施形態の受信データ制御部20は、1サイクルでM回送信されるNビットデータのM番目をラッチし、これを送信側半導体装置1から送られてきた送信データとして、受信側半導体装置2の本体に送出するラッチ部を備えて構成される。
【0099】
図16は、本実施形態において、連続して入力された2つの入力ビットデータDx-1、Dをそれぞれ”0000 0000”、”1101 0101”とし、各入力ビットデータDx-1、Dを2回に分けて送信する場合のタイミングチャートを示す図である。ここで、符号631はクロック信号、符号632は出力ビットデータを示している。
【0100】
図示するように、入力ビットデータDの1番目の出力ビットデータD1の直前の出力ビットデータDx-12に対する変化数kは「2」である。また、入力ビットデータDの2番目の出力ビットデータD2の直前の出力ビットデータD1に対する変化数kは「3」である。一方、入力ビットデータを1回で送信する場合、入力ビットデータDx1の入力ビットデータDx-1からの変化数kは「5」である。したがって、同時スイッチング本数を低減することができる。
【0101】
上記の第1実施形態が同時スイッチング本数を最大でN/2M以下まで低減できるのに対し、本実施形態ではN/Mまでしか低減できない。しかし、制御信号線を処理する回路を別途設けなくて済むという利点がある。
【0102】
なお、本実施形態においても、上記の第1実施形態と同様に、送信データ制御部10の機能をソフトウエア的に実現してもよい。また、受信データ制御部20の機能をソフトウエア的に実現してもよい。
【0103】
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。また、本実施形態は、様々なデータ送受信システムに適用できる。図17は、本実施形態の第1実施形態をマザーボード5およびマザーボード5に装着されるメモリモジュール6間のデータ転送に利用した例を示している。
【0104】
マザーボード5は、マイクロプロセッサ3、送信データ制御部10A、および受信データ制御部20Bを有する。また、メモリモジュール6は、RAM4、受信データ制御部20A、および送信データ制御部10Bを有する。
【0105】
マザーボード5において、送信データ制御部10Aは、マイクロプロセッサ3からアドレス、データを受け取り、それぞれを1サイクルでM回に分けて送信する。この際、それぞれの有効データを同時スイッチング出力本数に応じて反転制御する。メモリモジュール6において、受信データ制御部20Aは、アドレス、データそれぞれについて、1サイクルでM回に分けて受信したデータおよび制御信号から、マイクロプロセッサ3が送出したアドレス、データを復元し、RAM4に送出する。
【0106】
マイクロプロセッサ3が読出しを要求した場合、メモリモジュール6において、送信データ制御部10Bは、RAM4からデータを受け取り、これを1サイクルでM回に分けて送信する。この際、有効データを同時スイッチング出力本数に応じて反転制御する。マザーボード5において、受信データ制御部20Bは、1サイクルでM回に分けて受信したデータおよび制御信号から、RAM4から読み出されたデータをを復元し、マイクロプロセッサ3に送出する。
【図面の簡単な説明】
【0107】
【図1】図1は、本発明の第1実施形態が適用されたデータ送受信システムの概略図である。
【図2】図2は、送信データ制御部10の機能をソフトウエア的に実現する場合の動作フロー図である。
【図3】図3は、送信データ制御部10の機能をハードウエア的に実現する場合の概略構成図である。
【図4】図4は、8ビットの入力ビットデータを2回の出力ビットデータに分けて送信する送信データ制御部10の機能を、ソフトウエア的に実現する場合の動作フロー図である。
【図5】図5は、8ビットの入力ビットデータを2回の出力ビットデータに分けて送信する送信データ制御部10の機能をハードウエア的に実現する場合の概略構成図である。
【図6】図6は、本実施形態において、連続して入力された2つの入力ビットデータDx-1、Dをそれぞれ”0000 0000”、”1101 0101”とし、各入力ビットデータDx-1、Dを2回に分けて送信する場合のタイミングチャートを示す図である。
【図7】図7は、受信データ制御部20の機能をソフトウエア的に実現する場合の動作フロー図である。
【図8】図8は、受信データ制御部20の機能をハードウエア的に実現する場合の概略構成図である。
【図9】図9は、送信側半導体集積回路1の送信データ制御部10から2回に分けて送出された8ビットデータから、送信側半導体集積回路1の送信データを復元する受信データ制御部20の機能をソフトウエア的に実現する場合の動作フロー図である。
【図10】図10は、送信側半導体集積回路1の送信データ制御部10から2回に分けて送出された8ビットデータから、送信側半導体集積回路1の送信データを復元する受信データ制御部20の機能をハードウエア的に実現する場合の概略構成図である。
【図11】図11は、本実施形態において、1サイクルで2回送出された8ビットデータD1、D2をそれぞれ”0000 1010”、”0010 1010”とし、1サイクルで1回送出された2ビットの制御信号を”10”とした場合におけるデータ受信のタイミングチャートを示す図である。
【図12】図12は、送信データ制御部10の機能をハードウエア的に実現する場合の概略構成図である。
【図13】図13は、受信データ制御部20の機能をハードウエア的に実現する場合の概略構成図である。
【図14】図14は、本実施形態において、連続して入力された2つの入力ビットデータDx-1、Dをそれぞれ”0000 0000”、”1101 0101”とし、各入力ビットデータDx-1、Dを2回に分けて送信する場合のタイミングチャートを示す図である。
【図15】図15は、送信データ制御部10の機能をハードウエア的に実現する場合の概略構成図である。
【図16】図16は、本実施形態において、連続して入力された2つの入力ビットデータDx-1、Dをそれぞれ”0000 0000”、”1101 0101”とし、各入力ビットデータDx-1、Dを2回に分けて送信する場合のタイミングチャートを示す図である。
【図17】図17は、本実施形態の第1実施形態をマザーボード5およびマザーボード5に装着されるメモリモジュール6間のデータ転送に利用した例を示す図である。
【符号の説明】
【0108】
1:送信側半導体集積回路、2:受信側半導体集積回路、10:送信データ制御部、11:データ信号入力ピン、12:データ信号出力ピン、13:制御信号出力ピン、20:受信データ制御部、21:データ信号入力ピン、22:データ信号出力ピン、23:制御信号入力ピン

【特許請求の範囲】
【請求項1】
Nビットデータを送信する送信データ制御部と、前記送信データ制御部が送信したNビットデータを受信する受信データ制御部と、を有するデータ送受信システムであって、
前記送信データ制御部は、
NビットデータのうちのN/Mビット(但し2≦M)を有効データとし、残りのN-N/Mビットを無効データとし、有効データにNビットの送信データの当該N/Mビットと同じビット位置のデータを割り当て、無効データに直前に出力されたNビットデータの当該N-N/Mビットと同じビット位置のデータを割り当てて、1サイクルでNビットデータをM回出力し、
前記受信データ制御部は、
1サイクルでM回出力されたNビットデータのM番目のNビットデータを、前記Nビットの送信データとして受信すること
を特徴とするデータ送受信システム。
【請求項2】
請求項1に記載のデータ送受信システムであって、
前記送信データ制御部は、
i(但し1≦i≦M)番目のNビットデータに含める有効データの同時スイッチング出力本数が所定の閾値より大きい場合に、当該有効データの各ビット値を反転させて、当該i番目のNビットデータをi番目の反転指示信号と共に出力し、
前記受信データ制御部は、
前記i番目の反転指示信号に従い、前記M番目のビットデータの、前記i番目のNビットデータに含まれている有効データと同じビット位置の各ビット値を反転させること
を特徴とするデータ送受信システム。
【請求項3】
請求項2に記載のデータ送受信システムであって、
前記送信データ制御部は、
Nビットデータ出力用の出力端子とは別に、M本の反転指示信号を出力するための専用の出力端子を有し、
前記受信データ制御部は、
Nビットデータ入力用の入力端子とは別に、M本の反転指示信号を入力するための専用の入力端子を有すること
を特徴とするデータ送受信システム。
【請求項4】
請求項2に記載のデータ送受信システムであって、
前記送信データ制御部は、
所定番目のNビットデータに含める無効データの所定のMビットにM本の反転指示信号を割り当て、
前記受信データ制御部は、
前記所定番目のNビットデータに含まれている無効データの前記所定のMビットをM本の反転指示信号として受信すること
を特徴とするデータ送受信システム。
【請求項5】
請求項1乃至4のいずれか一項に記載の送信データ制御部を備えた半導体集積回路。
【請求項6】
請求項1乃至4のいずれか一項に記載の受信データ制御部を備えた半導体集積回路。
【請求項7】
請求項5又は6に記載の半導体集積回路を備えたマザーボード。
【請求項8】
請求項5又は6に記載の半導体集積回路を備えたメモリモジュール。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2007−325018(P2007−325018A)
【公開日】平成19年12月13日(2007.12.13)
【国際特許分類】
【出願番号】特願2006−153797(P2006−153797)
【出願日】平成18年6月1日(2006.6.1)
【出願人】(000153465)株式会社日立コミュニケーションテクノロジー (770)
【Fターム(参考)】