(57)【要約】【課題】消費電力を低減することのできるダブルバッファ方式のタイムスロット入れ替え回路を提供する。【解決手段】タイムスロット入れ替え回路は、ダブルバッファと、前記ダブルバッファのうち何れかのバッファにおいて入力の変化が検出され、変化前のデータと変化後のデータとをタイムスロットグループ単位で書き込み及び読み出しを行うときに、前記ダブルバッファのうち入力の変化が検出された、書き込み及び読み出しの対象となるバッファのみにクロックを供給するクロック制御部と、を備える。【選択図】図８
2020166576.tif 000002
【特許請求の範囲】
【請求項１】
ダブルバッファと、
前記ダブルバッファのうち何れかのバッファにおいて入力の変化が検出され、変化前のデータと変化後のデータとをタイムスロットグループ単位で書き込み及び読み出しを行うときに、前記ダブルバッファのうち入力の変化が検出された、書き込み及び読み出しの対象となるバッファのみにクロックを供給するクロック制御部と、
を備えるタイムスロット入れ替え回路。
【請求項２】
ダブルバッファを備えるタイムスロット入れ替え回路によるクロック制御方法であって、
前記ダブルバッファのうち何れかのバッファにおいて入力の変化が検出され、変化前のデータと変化後のデータとをタイムスロットグループ単位で書き込み及び読み出しを行うときに、前記ダブルバッファのうち入力の変化が検出された、書き込み及び読み出しの対象となるバッファのみにクロックを供給すること、
を含むクロック制御方法。
【請求項３】
ダブルバッファを備えるタイムスロット入れ替え回路のコンピュータに、
前記ダブルバッファのうち何れかのバッファにおいて入力の変化が検出され、変化前のデータと変化後のデータとをタイムスロットグループ単位で書き込み及び読み出しを行うときに、前記ダブルバッファのうち入力の変化が検出された、書き込み及び読み出しの対象となるバッファのみにクロックを供給すること、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タイムスロット入れ替え回路、クロック制御方法及びプログラムに関する。
【背景技術】
【０００２】
有線や無線による通信において、時分割多重化されたデジタル信号をダブルバッファに格納し、入力順と異なる順番で読み出すことでタイムスロットの入れ替えを行う場合がある。
特許文献１には、関連する技術として、ダブルバッファ方式のタイムスロット入れ替え回路に関する技術が開示されている。
特許文献２には、関連する技術として、データの書き込み及びデータの読み出しに関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０４−１３１９５１号公報
【特許文献２】特開２００５−１４１６９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ダブルバッファ方式のタイムスロット入れ替え回路において、低消費電力化が求められている。
【０００５】
本発明の各態様は、上記の課題を解決することのできるタイムスロット入れ替え回路、クロック制御方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の一態様によれば、タイムスロット入れ替え回路は、ダブルバッファと、前記ダブルバッファのうち何れかのバッファにおいて入力の変化が検出され、変化前のデータと変化後のデータとをタイムスロットグループ単位で書き込み及び読み出しを行うときに、前記ダブルバッファのうち入力の変化が検出された、書き込み及び読み出しの対象となるバッファのみにクロックを供給するクロック制御部と、を備える。
【０００７】
上記目的を達成するために、本発明の別の態様によれば、クロック制御方法は、ダブルバッファを備えるタイムスロット入れ替え回路によるクロック制御方法であって、前記ダブルバッファのうち何れかのバッファにおいて入力の変化が検出され、変化前のデータと変化後のデータとをタイムスロットグループ単位で書き込み及び読み出しを行うときに、前記ダブルバッファのうち入力の変化が検出された、書き込み及び読み出しの対象となるバッファのみにクロックを供給すること、を含む。
【０００８】
上記目的を達成するために、本発明の別の態様によれば、プログラムは、ダブルバッファを備えるタイムスロット入れ替え回路のコンピュータに、前記ダブルバッファのうち何れかのバッファにおいて入力の変化が検出され、変化前のデータと変化後のデータとをタイムスロットグループ単位で書き込み及び読み出しを行うときに、前記ダブルバッファのうち入力の変化が検出された、書き込み及び読み出しの対象となるバッファのみにクロックを供給すること、を実行させる。
【発明の効果】
【０００９】
本発明の各態様によれば、ダブルバッファ方式のタイムスロット入れ替え回路の消費電力を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態によるタイムスロット入れ替え回路の構成の一例を示す図である。
【図２】本発明の一実施形態による入力データ変化点検出回路の構成の一例を示す図である。
【図３】本発明の一実施形態によるライトコントロール部の構成の一例を示す図である。
【図４】本発明の一実施形態による変化点情報テーブルの構成の一例を示す図である。
【図５】本発明の一実施形態によるリードコントロール部の構成の一例を示す図である。
【図６】本発明の別の実施形態によるタイムスロット入れ替え回路のタイミングチャートを示す第１の図である。
【図７】本発明の別の実施形態によるタイムスロット入れ替え回路のタイミングチャートを示す第２の図である。
【図８】本発明の実施形態による最小構成のタイムスロット入れ替え回路を示す図である。
【図９】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら実施形態について詳しく説明する。
＜実施形態＞
本発明の一実施形態によるタイムスロット入れ替え回路１００は、データを格納するバッファを２面備えるダブルバッファ方式のタイムスロット入れ替え回路である。タイムスロット入れ替え回路１００は、入力データの変化の有無を検出し、データ格納バッファに対して書き込み制御を行う対象データ、及び、読み出し制御を行う対象データを、変化時の新しいデータと、入れ替えを行う単位であるタイムスロットグループの先頭データのみに限定する。そして、タイムスロット入れ替え回路１００は、その対象データの書き込みを行う際にのみ、データ格納バッファに対して書き込みクロックを供給する。また、タイムスロット入れ替え回路１００は、その対象データの読み出しを行う際にのみ、データ格納バッファに対して読み出しクロックを供給する。タイムスロット入れ替え回路１００は、それ以外のデータ箇所ではデータ格納バッファへのアクセスは行わず（その際、書き込みクロック及び読み出しクロックの供給を停止して）、消費電力を低減する。
タイムスロット入れ替え回路１００の特徴は、データの書き込み及びデータの読み出しを行うためのデータ格納バッファ以外にクロックを供給しないことによって、消費電力を低減することである。特に、消費電力を低減する際のタイムスロット入れ替え回路１００のクロックの停止方法に特徴がある。
【００１２】
タイムスロット入れ替え回路１００は、図１に示すように、データ格納バッファ０面１（ダブルバッファのうちの１つのバッファの一例）、データ格納バッファ１面２（ダブルバッファのうちの１つのバッファの一例）、入力データ変化点検出回路３、ライトコントロール部４（クロック制御部の一例）、リードコントロール部５（クロック制御部の一例）、出力データセレクタ６、変化点情報テーブル７を備える。
【００１３】
データ格納バッファ０面１、データ格納バッファ１面２は、入力データＤＩＮを一時的に保持するダブルバッファである。
入力データ変化点検出回路３は、入力データＤＩＮの変化点を検出する回路である。
【００１４】
ライトコントロール部４は、データ格納バッファ０面１、データ格納バッファ１面２に対する書き込みアドレス、書き込みクロックの生成を行う。
リードコントロール部５は、データ格納バッファ０面１、データ格納バッファ１面２に対する読み出しアドレス、読み出しクロックの生成を行う。
【００１５】
出力データセレクタ６は、データ格納バッファ０面１、データ格納バッファ１面２から読み出すデータを選択する。
変化点情報テーブル７は、データ格納バッファ０面１、データ格納バッファ１面２に保持しているデータの変化点情報を保持する。
【００１６】
入力データ変化点検出回路３は、図２に示すように、ｎビットＤ−ＦＦ３０ａ、比較回路３０ｂを備える。
ｎビットＤ−ＦＦ３０ａは、入力データＤＩＮを保持するフリップフロップである。ｎビットＤ−ＦＦ３０ａは、クロックが入力される度に、入力データＤＩＮの１クロック前のデータを比較回路へ出力する。
【００１７】
比較回路３０ｂは、２つの入力データを比較する回路である。比較回路３０ｂは、入力データＤＩＮをＡ入力から入力する。また、比較回路３０ｂは、入力データＤＩＮの１クロック前のデータをＢ入力から入力する。比較回路３０ｂは、Ａ入力のデータとＢ入力のデータを比較し、Ａ入力とＢ入力の値が等しい場合、Ｙ出力に０を出力する。また、比較回路３０ｂは、Ａ入力のデータとＢ入力のデータを比較し、Ａ入力とＢ入力の値が異なる場合、Ｙ出力に１を出力する。
【００１８】
ライトコントロール部４、変化点情報テーブル７、リードコントロール部５について図３〜図５を用いて説明する。なお、図３〜図５に示す構成は、タイムスロット入れ替えを行う単位であるタイムスロットグループの数が２個、タイムスロットグループ内のデータの数が４個、データ格納バッファ０面１、データ格納バッファ１面２の各２ポートＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のワード数が８の場合の一例である。
【００１９】
まず、ライトコントロール部４について説明する。
ライトコントロール部４は、図３に示すように、４ビットバイナリカウンタ４ａ、クロックゲーティング回路４ｂ、４ｃ、周辺回路４ｄを備える。
【００２０】
４ビットバイナリカウンタ４ａは、クロックが入力される度にカウント値を＋１し、カウント値が１５になるとカウント値を０に戻す。４ビットバイナリカウンタ４ａは、入力フレームパルスＦＰＩＮが１のときに、カウンタ値を１（バイナリ値”０００１“）にする。４ビットバイナリカウンタ４ａの下位３ビット（ｃｎｔ（２：０））は、データ格納バッファ０面１、データ格納バッファ１面２に共通のライトアドレスと、変化点情報テーブル７のライトアドレスとに使用される。４ビットバイナリカウンタ４ａの最上位１ビット（ｃｎｔ（３））は、クロックゲーティング回路４ｂ、４ｃの制御と、変化点情報テーブル７のライト面選択とに使用される。
【００２１】
クロックゲーティング回路４ｂは、データ格納バッファ０面１のライトクロックＷＣＬＫ０の供給及び停止を制御する。クロックゲーティング回路４ｂは、Ｄ−Ｌａｔｃｈ４ｂ１、ＡＮＤ４ｂ２を備える。
クロックゲーティング回路４ｃは、データ格納バッファ１面２のライトクロックＷＣＬＫ１の供給及び停止を制御する。クロックゲーティング回路４ｃは、Ｄ−Ｌａｔｃｈ４ｃ１、ＡＮＤ４ｃ２を備える。
【００２２】
周辺回路４ｄは、比較回路４ｄ１、ＯＲ４ｄ２、インバータ４ｄ３、ＡＮＤ４ｄ４、４ｄ５を備える。
【００２３】
次に、クロックゲーティング回路４ｂと周辺回路４ｄの動作について説明する。
ＯＲ４ｄ２は、４ビットバイナリカウンタ４ａの下位２ビットｃｎｔ（１：０）が“００”の時のみ１となる比較回路４ｄ１の出力と、ライト処理用の入力データ変化点情報ＷＦＬＧ端子から入力データ変化点検出回路３の結果とを入力し、それらの入力についてＯＲの演算を行う。ＯＲ４ｄ２の出力は、１クロック前のデータと異なるデータが入力された場合、及び、４ビットバイナリカウンタ４ａのカウント値が０、４、８、１２の場合に１となる。
【００２４】
ＡＮＤ４ｄ４は、ＯＲ４ｄ２の出力と、４ビットバイナリカウンタ４ａのビットｃｎｔ（３）がインバータ４ｄ３によって反転された信号とを入力し、それらの入力についてＡＮＤの演算を行う。ｃｎｔ（３）は、カウンタ値が０から７の間は０（反転後は１）となり、８から１５の間は１（反転後は０）となる。よって、ＡＮＤ４ｄ４の出力は、カウント値が０から７の間はＯＲ４ｄ２の出力となり、カウント値が８から１５の間は０となる。
【００２５】
ＡＮＤ４ｄ４の出力がＤ−Ｌａｔｃｈ４ｂ１のＤ入力に接続され、Ｄ−Ｌａｔｃｈ４ｂ１のＧ入力にはクロックＣＬＫが接続される。Ｄ−Ｌａｔｃｈ４ｂ１は、Ｇ入力が０の間はＤ入力の値をそのままＱ出力へ伝搬し、Ｇ入力が１の間はＧ入力の立ち上がりエッジで保持したＤ入力の値をＱ出力へ伝搬する。
ＡＮＤ４ｂ２は、Ｄ−Ｌａｔｃｈ４ｂ１のＱ出力と、クロックＣＬＫとを入力し、それらの入力についてＡＮＤの演算を行う。こうすることにより、データ格納バッファ０面１のライトクロックＷＣＬＫ０として、カウント値が０と４の場合、及び、カウント値が１から３の区間と５から７の区間で入力データが変化した場合にクロックが出力（供給）され、それ以外のカウンタ値の場合には０が出力（停止）される。
【００２６】
次に、クロックゲーティング回路４ｃと周辺回路４ｄの動作について説明する。
クロックゲーティング回路４ｃと周辺回路４ｄの動作と上述のクロックゲーティング回路４ｂと周辺回路４ｄの動作との違いは、４ビットバイナリカウンタ４ａのｃｎｔ（３）による制御のみである。それ以外のクロックゲーティング回路４ｃと周辺回路４ｄの動作については、上述のクロックゲーティング回路４ｂと周辺回路４ｄの動作と同様に考えればよい。
【００２７】
ＯＲ４ｄ２は、４ビットバイナリカウンタ４ａの下位２ビットｃｎｔ（１：０）が“００”の時のみ１となる比較回路４ｄ１の出力と、ＷＦＬＧ端子から入力データ変化点検出回路３の結果とを入力し、それらの入力についてＯＲの演算を行う。
ＡＮＤ４ｄ５は、ＯＲ４ｄ２の出力と、４ビットバイナリカウンタ４ａのビットｃｎｔ（３）とを入力し、それらの入力についてＡＮＤの演算を行う。
【００２８】
ＡＮＤ４ｄ５の出力は、Ｄ−Ｌａｔｃｈ４ｃ１のＤ入力に入力される。また、クロックＣＬＫがＤ−Ｌａｔｃｈ４ｃ１のＧ入力に入力される。Ｄ−Ｌａｔｃｈ４ｃ１は、Ｇ入力が０の間はＤ入力の値をそのままＱ出力へ伝搬し、Ｇ入力が１の間はＧ入力の立ち上がりエッジで保持したＤ入力の値をＱ出力へ伝搬する。
【００２９】
ＡＮＤ４ｃ２は、Ｄ−Ｌａｔｃｈ４ｃ１のＱ出力と、クロックＣＬＫとを入力し、それらの入力についてＡＮＤの演算を行う。こうすることにより、データ格納バッファ１面２のライトクロックＷＣＬＫ１として、カウント値が８と１２の場合、及び、カウント値が９から１１の区間と１３から１５の区間で入力データが変化した場合にクロックが出力（供給）され、それ以外のカウンタ値の場合には０が出力（停止）される。
【００３０】
次に、変化点情報テーブル７について説明する。
変化点情報テーブル７は、図４に示すように、第１回路７１、第２回路７２、セレクタ７３、インバータ７４を備える。
第１回路７１、第２回路７２のそれぞれは、デコーダ７ａ、保持機能付Ｄ−ＦＦ７ｂ１、７ｂ２、７ｂ３、７ｂ４、７ｂ５、７ｂ６、７ｂ７、７ｂ８、セレクタ７ｃ、ＡＮＤ７ｄ１、７ｄ２、７ｄ３、７ｄ４、７ｄ５、７ｄ６、７ｄ７、７ｄ８を備える。第１回路７１は、データ格納バッファ０面１用の回路である。第２回路７２は、データ格納バッファ１面２用の回路である。
なお、保持機能付Ｄ−ＦＦ７ｂ１、７ｂ２、７ｂ３、７ｂ４、７ｂ５、７ｂ６、７ｂ７、７ｂ８を総称して、保持機能付Ｄ−ＦＦ７ｂと呼ぶ。また、ＡＮＤ７ｄ１、７ｄ２、７ｄ３、７ｄ４、７ｄ５、７ｄ６、７ｄ７、７ｄ８を総称して、ＡＮＤ７ｄと呼ぶ。
【００３１】
デコーダ７ａは、ライトアドレスをデコードする。
保持機能付Ｄ−ＦＦ７ｂのそれぞれは、入力データの変化点情報を保持する。
セレクタ７ｃは、リードアドレスを基に保持している変化点情報を選択する。
セレクタ７３は、第１回路７１、第２回路７２それぞれから出力される変化点情報を選択する。
【００３２】
変化点情報テーブル７の動作について説明する。
第１回路７１、第２回路７２それぞれの保持機能付Ｄ−ＦＦ７ｂのＤ入力には、入力データ変化点情報としてＷＦＬＧ端子が接続される。
第１回路７１の保持機能付Ｄ−ＦＦ７ｂのＥＮ入力には、ライト面選択信号ＷＢＡＮＫ＿ＳＥＬがインバータ７４によって反転された信号とライトアドレスＷＡＤＤ（２：０）のデコード結果とについて第１回路７１のＡＮＤ７ｄによってＡＮＤ演算された結果が入力される。
第２回路７２の保持機能付Ｄ−ＦＦ７ｂのＥＮ入力には、ライト面選択信号ＷＢＡＮＫ＿ＳＥＬとＷＡＤＤ（２：０）のデコード結果とについて第２回路７２のＡＮＤ７ｄによってＡＮＤ演算された結果が入力される。
上述のように、ＷＢＡＮＫ＿ＳＥＬとＷＡＤＤ（２：０）の値と１対１に対応する保持機能付Ｄ−ＦＦ７ｂに、ＷＦＬＧ端子より入力される変化点情報が格納される。第１回路７１、第２回路７２それぞれの保持機能付Ｄ−ＦＦ７ｂは、Ｑ出力から、ＲＡＤＤ（２：０）及びリード面選択信号ＲＢＡＮＫ＿ＳＥＬを選択制御信号として使用するセレクタ７ｃとセレクタ７３を介して、信号をリード変化点情報ＲＦＬＧとして出力する。
【００３３】
次に、リードコントロール部５について説明する。
リードコントロール部５は、図５に示すように、４ビットバイナリカウンタ５ａ、クロックゲーティング回路５ｂ、５ｃ、周辺回路５ｄ、を備える。
【００３４】
４ビットバイナリカウンタ５ａは、クロックが入力される度にカウント値を＋１し、カウント値が１５になるとカウント値を０に戻す。入力フレームパルスＦＰＩＮが１のとき、４ビットバイナリカウンタ５ａに９（バイナリ値”１００１“）がロードされる。４ビットバイナリカウンタ５ａの下位２ビット（ｃｎｔ（１：０））は、データ格納バッファ０面１、データ格納バッファ１面２に共通のリードアドレスの下位２ビットＲＡＤＤ（１：０）に使用される。４ビットバイナリカウンタ５ａのｃｎｔ（２）は、出力タイムスロットグループ位相を示し、タイムスロット入れ替え設定の選択制御信号として使用される。タイムスロット入れ替え設定から入力される値は、各出力タイムスロットグループ位相で出力する入力タイムスロットグループの番号であり、４ビットバイナリカウンタ５ａのｃｎｔ（２）により、データ格納バッファ０面１、データ格納バッファ１面２に共通のリードアドレスＲＡＤＤ（２）として選択され、出力される。４ビットバイナリカウンタ５ａのｃｎｔ（３）は、変化点情報テーブルのリード面選択信号ＲＢＡＮＫ＿ＳＥＬとして出力されるとともに、クロックゲーティング回路の制御に使用される。
【００３５】
クロックゲーティング回路５ｂは、データ格納バッファ０面１のリードクロックＲＣＬＫ０の供給及び停止を制御する。クロックゲーティング回路５ｂは、Ｄ−Ｌａｔｃｈ５ｂ１、ＡＮＤ５ｂ２を備える。
クロックゲーティング回路５ｃは、データ格納バッファ１面２のリードクロックＲＣＬＫ１の供給及び停止を制御する。クロックゲーティング回路５ｃは、Ｄ−Ｌａｔｃｈ５ｃ１、ＡＮＤ５ｃ２を備える。
【００３６】
周辺回路５ｄは、比較回路５ｄ１、ＯＲ５ｄ２、インバータ５ｄ３、ＡＮＤ５ｄ４、５ｄ５を備える。
【００３７】
次に、クロックゲーティング回路５ｂと周辺回路５ｄの動作について説明する。
ＯＲ５ｄ２は、４ビットバイナリカウンタ５ａの下位２ビットｃｎｔ（１：０）が“００”の時のみ１となる比較回路５ｄ１の出力と、変化点情報テーブル７に一時保存されたリード変化点情報ＲＦＬＧとを入力し、それらの入力についてＯＲの演算を行う。ＯＲ５ｄ２の出力は、入力データ変化時の新たな入力データをデータ格納バッファから読み出す場合、及び、４ビットバイナリカウンタ５ａのカウント値が０、４、８、１２の場合に１となる。
【００３８】
ＡＮＤ５ｄ４は、ＯＲ５ｄ２の出力と、４ビットバイナリカウンタ５ａのビットｃｎｔ（３）がインバータ５ｄ３によって反転された信号とを入力し、それらの入力についてＡＮＤの演算を行う。ｃｎｔ（３）は、カウンタ値が０から７の間は０（反転後は１）となり、８から１５の間は１（反転後は０）となる。よって、ＡＮＤ５ｄ４の出力は、カウント値が０から７の間はＯＲ５ｄ２の出力となり、カウント値が８から１５の間は０となる。
【００３９】
ＡＮＤ５ｄ４の出力がＤ−Ｌａｔｃｈ５ｂ１のＤ入力に接続され、Ｄ−Ｌａｔｃｈ５ｂ１のＧ入力にはクロックＣＬＫが接続される。Ｄ−Ｌａｔｃｈ５ｂ１は、Ｇ入力が０の間はＤ入力の値をそのままＱ出力へ伝搬し、Ｇ入力が１の間はＧ入力の立ち上がりエッジで保持したＤ入力の値をＱ出力へ伝搬する。
ＡＮＤ５ｂ２は、Ｄ−Ｌａｔｃｈ５ｂ１のＱ出力と、クロックＣＬＫとを入力し、それらの入力についてＡＮＤの演算を行う。こうすることにより、データ格納バッファ０面１のリードロックＲＣＬＫ０として、カウント値が０と４の場合、及び、カウント値が１から３の区間と５から７の区間で入力データが変化して新たな入力データをデータ格納バッファから読み出す場合にクロックが出力（供給）され、それ以外のカウンタ値の場合には０が出力（停止）される。
【００４０】
次に、クロックゲーティング回路５ｃと周辺回路５ｄの動作について説明する。
クロックゲーティング回路５ｃと周辺回路５ｄの動作と上述のクロックゲーティング回路５ｂと周辺回路５ｄの動作との違いは、４ビットバイナリカウンタ５ａのｃｎｔ（３）による制御のみである。それ以外のクロックゲーティング回路５ｃと周辺回路５ｄの動作については、上述のクロックゲーティング回路５ｂと周辺回路５ｄの動作と同様に考えればよい。
【００４１】
ＯＲ５ｄ２は、４ビットバイナリカウンタ５ａの下位２ビットｃｎｔ（１：０）が“００”の時のみ１となる比較回路５ｄ１の出力と、リード変化点情報ＲＦＬＧとを入力し、それらの入力についてＯＲの演算を行う。
ＡＮＤ５ｄ５は、ＯＲ５ｄ２の出力と、４ビットバイナリカウンタ５ａのビットｃｎｔ（３）とを入力し、それらの入力についてＡＮＤの演算を行う。
【００４２】
ＡＮＤ５ｄ５の出力は、Ｄ−Ｌａｔｃｈ５ｃ１のＤ入力に入力される。また、クロックＣＬＫがＤ−Ｌａｔｃｈ５ｃ１のＧ入力に入力される。Ｄ−Ｌａｔｃｈ５ｃ１は、Ｇ入力が０の間はＤ入力の値をそのままＱ出力へ伝搬し、Ｇ入力が１の間はＧ入力の立ち上がりエッジで保持したＤ入力の値をＱ出力へ伝搬する。
【００４３】
ＡＮＤ５ｃ２は、Ｄ−Ｌａｔｃｈ５ｃ１のＱ出力と、クロックＣＬＫとを入力し、それらの入力についてＡＮＤの演算を行う。こうすることにより、データ格納バッファ１面２のリードクロックＲＣＬＫ１として、カウント値が８と１２の場合、及び、カウント値が９から１１の区間と１３から１５の区間で入力データが変化して新たな入力データをデータ格納バッファから読み出す場合にクロックが出力（供給）され、それ以外のカウンタ値の場合には０が出力（停止）される。
【００４４】
次に、図１に示したタイムスロット入れ替え回路１００の動作について、図６、図７を用いて説明する。
図６は、タイムスロット入れ替え回路１００の動作概要を示すタイミングチャートである。
入力データＤＩＮによって図６に示すようにＳｌｏｔ０、Ｓｌｏｔ１、Ｓｌｏｔ０、・・・の順に入力されるタイムスロットグループデータは、タイムスロットグループの入れ替え後の出力データＤＯＵＴからＳｌｏｔ１、Ｓｌｏｔ０、Ｓｌｏｔ１、・・・の順に出力される。フレームパルスは、タイムスロットグループ４×Ｎ個分（Ｎは１以上の整数）の時間間隔で周期的に入力され、ライトコントロール部４とリードコントロール部５の４ビットバイナリカウンタ４ａ、５ａのロード信号として使用される（図６における入力フレームパルスＦＰＩＮは、Ｎ＝１の場合のフレームパルスを示している）。
その結果、ライトコントロール部４とリードコントロール部５の４ビットバイナリカウンタ４ａ，５ａのカウント動作は、入力フレームパルスＦＰＩＮを基準に決まり、図６に示すように、データ格納バッファのライト側アクセス面は、フレームパルス入力位相からデータ格納バッファ０面１、データ格納バッファ１面２の順となり、データ格納バッファのリード側アクセス面は、データ格納バッファ１面２、データ格納バッファ０面１の順となる。
【００４５】
図７は、図６に示したタイミングチャートの点線箇所の動作の詳細を示すタイミングチャートである。
入力データＤＩＮによって図７に示すようにＳｌｏｔ０（データＤ０、Ｄ０、Ｄ１、Ｄ２）、Ｓｌｏｔ１（データＤ２、Ｄ２、Ｄ２、Ｄ３）、Ｓｌｏｔ０（データＤ４、Ｄ５、Ｄ６、Ｄ７）、・・・順に入力されたタイムスロットグループデータは、タイムスロットグループの入れ替え後の出力データＤＯＵＴからＳｌｏｔ１（データＤ２、Ｄ２、Ｄ２、Ｄ３）、Ｓｌｏｔ０（データＤ０、Ｄ０、Ｄ１、Ｄ２）、Ｓｌｏｔ１（データＤ８、Ｄ８、Ｄ８、Ｄ８）、・・・の順に出力される。
【００４６】
図７において、太線で示される枠は、タイムスロットグループの位置を示している。図７において、“黒丸”で示される箇所は、データ格納バッファに書き込みまたは読み出しを行うデータの位置を示している。図７において、“白丸”で示される箇所は、書き込みも読み出しも行わないデータ（タイムスロットグループ内の連続データ箇所）の位置を示している。図７において、“＊１”で示される箇所は、タイムスロットグループ内の先頭データのライト用クロックの位置を示している。図７において、“＊２”で示される箇所は、タイムスロットグループ内の先頭データのリード用クロックの位置を示している。
【００４７】
入力データ変化点検出回路３は、１番目のデータ（Ｄ０）を保持して、次の２番目データ（Ｄ０）と、保持した１番目のデータ（Ｄ０）とを比較する。入力データ変化点検出回路３は、比較データが同じであるため、入力データ変化点検出結果として０を出力する。次に、入力データ変化点検出回路３は、２番目のデータ（Ｄ０）を保持して、その次の３番目のデータ（Ｄ１）と、保持した２番目のデータとを比較する。入力データ変化点検出回路３は、比較データが異なるため、入力データ変化点検出結果として１を出力する。入力データ変化点検出回路３は、入力データＤＩＮに対して同様の処理を順次行い、入力データ変化点検出結果を、ライトコントロール部４及び変化点情報テーブル７へ出力する。
【００４８】
次に、データ格納バッファへのライト処理について説明する。ライトコントロール部４は、データ格納バッファに対する、ライトアドレス及び、ライトクロックを生成する。ライトコントロール部４は、入力フレームパルスＦＰＩＮが１の時に、内部の４ビットバイナリカウンタに１をロードし、以降はクロックＣＬＫが入力される度に＋１ずつインクリメントする事によりライトアドレス（０、１、２、・・・７）を生成する（アドレスが７になったら０へ戻す）。
【００４９】
ライトコントロール部４は、入力変化点検出結果が１の時は、データ格納バッファ０面１のライトクロックを生成し、入力変化点検出結果が０の時は、データ格納バッファ０面１のライトクロックを停止する。
【００５０】
また、ライトコントロール部４は、入力変化点検出結果とは別に、タイムスロットグループの先頭データ位置では、データ格納バッファ０面１のライトクロックを生成する（＊１の箇所）。さらに、ライトコントロール部４は、データ格納バッファ０面１へデータをライトしている場合、データ格納バッファ１面２のライトクロックを停止し、データ格納バッファ１面２へデータをライトしている場合、データ格納バッファ０面１のライトクロックは停止する。
【００５１】
その結果、最初のデータ（Ｄ０）は、データ格納バッファ０面１のアドレス０番地へ書き込まれる。しかしながら、次のデータ（Ｄ０）は、前のデータ（Ｄ０）と同じであるため、ライトコントロール部４は、アドレス１番地への書き込みを行わない。一方、タイムスロットグループＳｌｏｔ１の最初のデータ（Ｄ２）は、直前の入力データと同じであるが、ライトコントロール部４は、アドレス４番地への書き込みを行う。
【００５２】
次に、変化点情報テーブル７の処理について説明する。
入力データ変化点検出結果は、変化点情報テーブル７の第１回路７１及び第２回路７２が備える各アドレス毎に用意された保持機能付Ｄ−ＦＦ７ｂに保持される。リードコントロール部５で生成されたリードアドレスは、変化点情報テーブル７に通知される。変化点情報テーブル７は、通知されたアドレス順に、入力データ変化点検出結果をリード変化点情報として、リードコントロール部へ返す。
【００５３】
次に、データ格納バッファからのリード処理について説明する。
リードコントロール部５は、データ格納バッファに対する、リードアドレス及び、リードクロックを生成する。リードコントロール部５は、入力フレームパルスＦＰＩＮが１の時に、内部の４ビットバイナリカウンタに９（バイナリ値”１００１”）をロードする。以降、クロックＣＬＫが入力される度に＋１ずつインクリメントする事によりリードアドレスは４ビットバイナリカウンタの下位３ビットを使用し（０、１、２、・・・７）を生成する（アドレスが７になったら０へ戻す）。リードコントロール部５は、リード変化点情報が１の時は、データ格納バッファ０面１のリードクロックを生成し、リード変化点情報が０の時は、データ格納バッファ０面１のリードクロックを停止する。またリード変化点情報とは別に、タイムスロットグループの先頭データ位置ではデータ格納バッファ０面１のリードクロックを生成する（＊２の箇所）。さらに、リードコントロール部５は、データ格納バッファ０面１からデータをリードしている場合は、データ格納バッファ１面２のリードクロックを停止し、データ格納バッファ１面２からデータをリードしている場合は、データ格納バッファ０面１のリードクロックを停止する。
その結果、４番地のデータ（Ｄ２）は、データ格納バッファ０面１から読み出されるが、次の５番地、６番地のデータ（Ｄ２）は、前のデータ（Ｄ２）と同じ為、アドレス５番地、６番地からの読み出しは行われない。また、アドレス４番地から読み出されたデータ（Ｄ２）が保持されている為、タイムスロットグループ１のデータが再現される。
【００５４】
以上、本発明の一実施形態によるタイムスロット入れ替え回路１００について説明した。
本発明の一実施形態によるタイムスロット入れ替え回路１００において、ライトコントロール部４及びリードコントロール部５は、データ格納バッファ０面１及びデータ格納バッファ１面２において入力の変化が検出され、変化前のデータと変化後のデータとをタイムスロットグループ単位で書き込み及び読み出しを行うときに、入力の変化が検出された、書き込み及び読み出しの対象となるバッファのみにクロックを供給する。
こうすることで、タイムスロット入れ替え回路１００は、消費電力を低減することができる。
【００５５】
なお、本発明の一実施形態では、タイムスロット入れ替えを行う単位であるタイムスロットグループの数が２個、タイムスロットグループ内のデータの数が４個、データ格納バッファ０面１、データ格納バッファ１面２の各２ポートＲＡＭのワード数が８の場合に、Ｓｌｏｔ０、Ｓｌｏｔ１の２つのタイムスロットグループの順序を入れ替える例について説明した。
本発明の別の実施形態では、タイムスロットグループの数が４個以上であってもよい。この場合、図３、図５に示した４ビットバイナリカウンタのビット幅を増やし、ライトアドレスＷＡＤＤ、リードアドレスＲＡＤＤ及び２ポートＲＡＭのワード数を拡張させる。また、同時にタイムスロット入れ替え設定、及び図４に示した保持機能付Ｄ−ＦＦを増やす事で、４個以上のタイムスロットグループの置き換えが可能となる。また、タイムスロット入れ替え設定により、入れ替えの有無や、入れ替え順が任意に設定可能となる。
【００５６】
本発明の実施形態による最小構成のタイムスロット入れ替え回路１００について説明する。
本発明の実施形態による最小構成のタイムスロット入れ替え回路１００は、図８に示すように、ダブルバッファ１００ａ、クロック制御部１００ｂを備える。
クロック制御部１００ｂは、ダブルバッファ１００ａのうち何れかのバッファにおいて入力の変化が検出され、変化前のデータと変化後のデータとをタイムスロットグループ単位で書き込み及び読み出しを行うときに、ダブルバッファ１００ａのうち入力の変化が検出された、書き込み及び読み出しの対象となるバッファのみにクロックを供給する。
【００５７】
以上、本発明の実施形態による最小構成のタイムスロット入れ替え回路１００について説明した。
このように、タイムスロット入れ替え回路１００を構成することで、タイムスロット入れ替え回路１００は、消費電力を低減することができる。
【００５８】
なお、本発明の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
【００５９】
本発明の実施形態における記憶部、記憶装置、その他の記憶装置（レジスタ、ラッチを含む）のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、本発明の実施形態における記憶部、記憶装置、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
【００６０】
本発明の実施形態について説明したが、上述のタイムスロット入れ替え回路１００、クロック制御部１００ｂ、ライトコントロール部４、リードコントロール部５、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
【００６１】
図９は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ５０は、図９に示すように、ＣＰＵ６０、メインメモリ７０、ストレージ８０、インターフェース９０を備える。
例えば、上述のタイムスロット入れ替え回路１００、クロック制御部１００ｂ、ライトコントロール部４、リードコントロール部５、その他の制御装置のそれぞれは、コンピュータ５０に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ８０に記憶されている。ＣＰＵ６０は、プログラムをストレージ８０から読み出してメインメモリ７０に展開し、当該プログラムに従って上記処理を実行する。また、ＣＰＵ６０は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ７０に確保する。
【００６２】
ストレージ８０の例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、半導体メモリ等が挙げられる。ストレージ８０は、コンピュータ５０のバスに直接接続された内部メディアであってもよいし、インターフェース９０または通信回線を介してコンピュータ５０に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ５０に配信される場合、配信を受けたコンピュータ５０が当該プログラムをメインメモリ７０に展開し、上記処理を実行してもよい。少なくとも１つの実施形態において、ストレージ８０は、一時的でない有形の記憶媒体である。
【００６３】
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル（差分プログラム）であってもよい。
【００６４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例であり、発明の範囲を限定しない。これらの実施形態は、発明の要旨を逸脱しない範囲で、種々の追加、省略、置き換え、変更を行ってよい。
【符号の説明】
【００６５】
１・・・データ格納バッファ０面
２・・・データ格納バッファ１面
３・・・入力データ変化点検出回路
４・・・ライトコントロール部
４ａ、５ａ・・・４ビットバイナリカウンタ
４ｂ、４ｃ、５ｂ、５ｃ・・・クロックゲーティング回路
４ｂ１、４ｃ１、５ｂ１、５ｃ１・・・Ｄ−Ｌａｔｃｈ
４ｂ２、４ｃ２、４ｄ４、４ｄ５、５ｂ２、５ｃ２、５ｄ４、５ｄ５、７ｄ、７ｄ１、７ｄ２、７ｄ３、７ｄ４、７ｄ５、７ｄ６、７ｄ７、７ｄ８・・・ＡＮＤ
４ｄ、５ｄ・・・周辺回路
４ｄ１、５ｄ１、３０ｂ・・・比較回路
４ｄ２、５ｄ２・・・ＯＲ
４ｄ３、５ｄ３、７４・・・インバータ
５・・・リードコントロール部
５ｅ、７ｃ、７３・・・セレクタ
６・・・出力データセレクタ
７・・・変化点情報テーブル
７ａ・・・デコーダ
７ｂ、７ｂ１、７ｂ２、７ｂ３、７ｂ４、７ｂ５、７ｂ６、７ｂ７、７ｂ８・・・保持機能付Ｄ−ＦＦ
３０ａ・・・ｎビットＤ−ＦＦ
５０・・・コンピュータ
６０・・・ＣＰＵ
７０・・・メインメモリ
７１・・・第１回路
７２・・・第２回路
８０・・・ストレージ
９０・・・インターフェース
１００・・・タイムスロット入れ替え回路
１００ａ・・・ダブルバッファ
１００ｂ・・・クロック制御部
【図１】
2020166576.tif 000003
【図２】
2020166576.tif 000004
【図３】
2020166576.tif 000005
【図４】
2020166576.tif 000006
【図５】
2020166576.tif 000007
【図６】
2020166576.tif 000008
【図７】
2020166576.tif 000009
【図８】
2020166576.tif 000010
【図９】
2020166576.tif 000011