(57)【要約】【課題】改変による手間や間違い、設計規模の増大による検証の困難性を伴うことなく、同期設計手法を適用したユニットに対して、内部クロック供給の停止／再開の機能を設ける。【解決手段】送信側ユニット１００が内部クロック供給の停止を望むとき、受信側ユニット２００に対して内部クロック供給の停止を要求し、受信側ユニット２００が内部クロック供給の停止を承認して送信側ユニット１００に通知したとき、送信側ユニット１００が内部クロック供給を停止する。受信側ユニット２００から送信側ユニット１００に提示されている相の内容が変化したとき、送信側ユニット１００がこれを検出すると、送信側ユニット１００が内部クロック供給を再開する。【選択図】図１
2010141803.tif 000002
【特許請求の範囲】
【請求項１】
送信側ユニットと受信側ユニットとの間で相互に内部の状態を示す相を相手側に提示するすることによって、前記送信側ユニットから前記受信側ユニットにデータを伝達するデータ伝達方法において、
前記送信側ユニットと前記受信側ユニットの一方である自分側ユニットが内部クロック供給の停止を望むとき、前記送信側ユニットと前記受信側ユニットの他方である相手側ユニットに対して内部クロック供給の停止を要求し、前記相手側ユニットが内部クロック供給の停止を承認して前記自分側ユニットに通知したとき、前記自分側ユニットが内部クロック供給を停止し、
前記相手側ユニットから前記自分側ユニットに提示されている前記相の内容が変化したとき、前記自分側ユニットがこれを検出すると、前記自分側ユニットが内部クロック供給を再開することを特徴とするデータ伝達方法。
【請求項２】
請求項１に記載のデータ伝達方法において、
前記送信側ユニットと前記受信側ユニットが、同時に相手側ユニットに内部クロック供給の停止を要求したとき、双方の要求を伝達しない、一方の要求のみを伝達する、のいずれかを予め決めておくことを特徴とするデータ伝達方法。
【請求項３】
送信側ユニットと受信側ユニットとの間で相互に内部の状態を示す相を相手側に提示するすることによって、前記送信側ユニットと前記受信側ユニットとの間でデータを伝達するデータ伝達システムにおいて、
前記送信側ユニットおよび前記受信側ユニットに、相手側ユニットからの内部クロック供給の停止要求を承認／非承認する供給停止承認手段を設けるとともに、前記相手側ユニットの前記供給停止承認手段からの供給停止承認を示す信号を受信すると内部クロック供給を停止し、且つ前記相手側ユニットから通知される前記相の変化を検出すると内部クロック供給を再開するクロック供給管理手段を設けたことを特徴とするデータ伝達システム。
【請求項４】
請求項３に記載のデータ伝達システムにおいて、
前記送信側ユニットおよび前記受信側ユニットが同時に相手側のユニットに内部クロック供給の停止を要求したとき、双方の要求を伝達しない、又は一方の要求のみを伝達する衝突防止ユニットを備えたことを特徴とするデータ伝達システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同期設計手法で構築されたディジタル処理装置を構成するデータ通信システムにおいて、送信側ユニットと受信側ユニットとの間で相互に内部の状態を示す相を相手側に提示するすることによって、送信側ユニットから受信側ユニットにデータを伝達するデータ伝達方法およびシステムに関するものである。
【背景技術】
【０００２】
従来では、同期設計手法を適用した処理ユニットに対して、消費電力の削減や節約などの目的で、クロック供給を停止／再開する機構を設けることがあるが、その手法は、機能設計後に、分析ならびに設計段階を別に設けて解決していた（例えば、非特許文献１参照）。これは、本来の機能とは別に、クロック供給の停止と再開を実行する処理モジュールとその制御を行うモジュールを、あらかじめ設計しておき、いったん機能検証した設計ファイルに、そのモジュールを加えて設計を改変していくものである。
【非特許文献１】「第１１回６都市  ＦＰＧＡカンファレンス  ２００８」、組み込みネットニュース、[平成２０年１０月１０日検索]、インターネット＜http://www.kumikomi.net/article/news/2007/03/26_01.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところが、上記手法では、手間が多くなることとともに、その際に間違いの混入があった。間違いを防ぐ手法としては、設計の自動化とともに、改変を加えた設計の前後で、両者の機能が完全に等しいことを証明することが必要であり、そうした技法やツールも存在するが、設計規模が大きくなるほど、適用がむずかしくなっていた。
【０００４】
本発明の目的は、改変による手間や間違い、および設計規模の増大による検証の困難性を伴うことなく、同期設計手法を適用したユニットに対して、内部クロック供給の停止／再開機能を設けることができるようにしたデータ伝達方法およびシステムを提供することである。
【課題を解決するための手段】
【０００５】
請求項１にかかる発明は、送信側ユニットと受信側ユニットとの間で相互に内部の状態を示す相を相手側に提示するすることによって、前記送信側ユニットから前記受信側ユニットにデータを伝達するデータ伝達方法において、前記送信側ユニットと前記受信側ユニットの一方である自分側ユニットが内部クロック供給の停止を望むとき、前記送信側ユニットと前記受信側ユニットの他方である相手側ユニットに対して内部クロック供給の停止を要求し、前記相手側ユニットが内部クロック供給の停止を承認して前記自分側ユニットに通知したとき、前記自分側ユニットが内部クロック供給を停止し、前記相手側ユニットから前記自分側ユニットに提示されている前記相の内容が変化したとき、前記自分側ユニットがこれを検出すると、前記自分側ユニットが内部クロック供給を再開することを特徴とする。
請求項２にかかる発明は、請求項１に記載のデータ伝達方法において、前記送信側ユニットと前記受信側ユニットが、同時に相手側ユニットに内部クロック供給の停止を要求したとき、双方の要求を伝達しない、一方の要求のみを伝達する、のいずれかを予め決めておくことを特徴とする。
請求項３にかかる発明は、送信側ユニットと受信側ユニットとの間で相互に内部の状態を示す相を相手側に提示するすることによって、前記送信側ユニットと前記受信側ユニットとの間でデータを伝達するデータ伝達システムにおいて、前記送信側ユニットおよび前記受信側ユニットに、相手側ユニットからの内部クロック供給の停止要求を承認／非承認する供給停止承認手段を設けるとともに、前記相手側ユニットの前記供給停止承認手段からの供給停止承認を示す信号を受信すると内部クロック供給を停止し、且つ前記相手側ユニットから通知される前記相の変化を検出すると内部クロック供給を再開するクロック供給管理手段を設けたことを特徴とする。
請求項４にかかる発明は、請求項３に記載のデータ伝達システムにおいて、前記送信側ユニットおよび前記受信側ユニットが同時に相手側のユニットに内部クロック供給の停止を要求したとき、双方の要求を伝達しない、又は一方の要求のみを伝達する衝突防止ユニットを備えたことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、自分側ユニットの内部クロック供給の停止要求によりそれが相手側ユニットで承認されれば自分側ユニットの内部クロック供給が停止され、相手側ユニットの相が変化すれば自分側ユニットの内部クロック供給が再開される手法であるので、改変による手間や間違い、および設計規模の増大による検証の困難性を伴うことなく、同期設計手法を適用したユニットに対して、内部クロック供給の停止／再開を実現できる。
【発明を実施するための最良の形態】
【０００７】
本発明は、トランザクションを次のように実装したシステムに対して適用することで大きい効果を発揮する。すなわち、対向した２個のユニットについて、どちらかのユニットが表示する相を変動させることによってトランザクションを開始し、トランザクションが対向（相手側ユニット）に到達したとき、すなわち、対向が反応をおこしたときに、反応の完了として対向が表示する相をトランザクション開始側に合致させる、というトランザクション実装方式を採用しているシステムに好適である。
【０００８】
その条件のシステムにおいて、相の物理的表現は、ビットパタンでもよいし、光の波長等でもよい。このような実装方式によってトランザクションを生成する機能と、解釈反応する機能をあらかじめ用意しておき、対向するユニット間の接続では必ずこれを利用するという設計手法において、各ユニットに自律制御で内部クロック供給を停止する機能を設けるとともに、トランザクションの検出によって内部クロック供給を再開する機能を設ける。
【０００９】
ここで、３種の相の表示によるトランザクションを実装したシステムに対して、本発明を適用した場合について説明する。３種の相の表示によるトランザクションの実装とは、たとえば次のようなものである。簡単のために、相を「１」，「２」，「３」の数字で表現する。一方のユニットが、対向する他方のユニットにトランザクションのあることを示すために、それまで該一方のユニットが相が「１」で表示していたものを、相を「２」に変える。対向する他方のユニットは、該一方のユニットで表示されている相が「１」から「２」に変わったことを検出する。そして、当該他方のユニットが受信側の場合はデータを受け取り、送信側の場合はデータを提示する状態とし、当該他方のユニットの提示する相を前記一方のユニットの相と同じ「２」にする。トランザクションが無い間は、どちらのユニットも相を変えることはない。また、相の変動を知っても、データの授受ができない状態にあるユニットは相を変えない。すなわち、トランザクションの授受は、片方（情報の送り側だけでなく受け側のこともある）が相を変えることから始まり、双方の相が一致したところで完了する。なお、対向する２つのユニット間では一般に相の遷移は同じ規則を用いる。
【００１０】
＜実施例＞
図１に本発明の１つの実施例の内部クロック供給の停止／再開システムを備えるデータ伝達システムの構成を示す。１００は送信側ユニット、２００は受信側ユニット、３００は衝突防止ユニットである。
【００１１】
送信側ユニット１００は、内部クロックＣＬＫ＿Ｓで動作する送信側モジュール１１０と、その送信側モジュール１００に対する内部クロックＣＬＫ＿Ｓの供給の停止／再開を制御するクロック供給制御部１２０を備える。送信側モジュール１１０は、内部状態を「１」，「２」，「３」のいずれかで示す相Ｃｓを格納する相Ｃｓ用レジスタ１１１、内部クロック供給の停止要求を承認したとき供給停止承認信号を「１」にする供給停止承認用レジスタ１１２、および相遷移やデータ送出その他を行う処理部１１３を有する。クロック供給制御部１２０は、トランザクション検出手段１２１とクロック供給管理手段１２２を有する。
【００１２】
受信側ユニット２００は、内部クロックＣＬＫ＿Ｓで動作する受信側モジュール２１０と、その受信側モジュール２００に対する内部クロックＣＬＫ＿Ｄの供給の停止／再開を制御するクロック供給制御部２２０を備える。受信側モジュール２１０は、内部状態を「１」，「２」，「３」のいずれかで示す相Ｃｄを格納する相Ｃｄ用レジスタ２１１、内部クロック供給の停止要求を承認したとき供給停止承認信号を「１」にする供給停止承認用レジスタ２１２、および相遷移やデータ受信その他を行う処理部２１３を有する。クロック供給制御部２２０は、トランザクション検出手段２２１とクロック供給管理手段２２２を有する。
【００１３】
送信側ユニット１００の送信側モジュール１１０において、相Ｃｓの値は、「出力あり」のフラグが「１」のときは、(1)式のｆ関数（遷移関数）で決まるが、そのフラグが「０」のときは、(2)式のように、変化しない。
Ｃｓ（ｎ）＝ｆ（Ｃｓ（ｎ−１），Ｃｄ（ｎ−１））        (1)
Ｃｓ（ｎ）＝Ｃｓ（ｎ−１）                            (2)
ここで、Ｃｓ（ｎ）は内部クロックＣＬＫ＿Ｓのｎクロックサイクル時のＣｓの値を、Ｃｓ（ｎ−１）その１つ前のクロックサイクル時のＣｓの値を示す。
【００１４】
受信側ユニット２００の受信側モジュール２１０において、相Ｃｄの値は、データの受け付け可能を示す「入力可能」のフラグが「１」のときは、(3)式のｆ関数（遷移関数）で決まるが、そのフラグが「０」のときは、(4)式のように、変化しない。
Ｃｄ（ｎ）＝ｆ（Ｃｄ（ｎ−１），Ｃｓ（ｎ−１））        (3)
Ｃｄ（ｎ）＝Ｃｄ（ｎ−１）                            (4)
ここで、Ｃｄ（ｎ）は内部クロックＣＬＫ＿Ｄのｎクロックサイクル時のＣｄの値を、Ｃｄ（ｎ−１）その１つ前のクロックサイクル時のＣｄの値を示す。
【００１５】
図２にそのｆ関数の遷移の表形式表現を示す。ここでは相信号Ｃｓ，Ｃｄの種類を３種（＝「１」，「２」，「３」）とする。図５(a)のａ，ｂ，ｃの値の取り方によって、２３から８組のｆ関数を得ることができ、そのいずれか１つを選び、送信側、受信側の双方のモジュール１１０，２１０で共通に用い、得られた値をＣｓ，Ｃｄとする。図５(b)は８種類の内の１つの関数の例である。
【００１６】
衝突防止ユニット３００は、送信側モジュール１１０からの内部クロック供給停止の要求と受信側ユニット２１０からの内部クロック供給停止の要求が衝突したとき、それを解決するためのものである。図３にその衝突防止ユニット３００の真理値を示す。入力をＳ０，Ｄ０、出力をＳ１，Ｄ１として、Ｓ０＝「１」，Ｄ０＝「１」となったとき、つまり衝突したときは、どちらも承認しない、Ｓ０を承認する、Ｄ０を承認する、のいずれかで対処する。これは予め決めておく。
【００１７】
トランザクション検出手段１２１は、受信側ユニット２００からのトランザクションの開始として、レジスタ２１１に格納されている相Ｃｄが変化すると、その変化をメインクロックＣＬＫに同期して検知する。また、トランザクション検出手段２２１は、送信側ユニット１００からのトランザクションの開始として、レジスタ１１１に格納されている相Ｃｓが変化すると、その変化をメインクロックＣＬＫに同期して検知する。そして、いずれも、変化が確定したクロックサイクルの間、検出信号を「１」にする。
【００１８】
クロック供給管理手段１２２は、トランザクション検出手段１２１からの検出信号が「１」になることにより、送信側モジュール１１０に内部クロックＣＬＫ＿Ｓの供給を開始する。なお、すでにそのクロックＣＬＫ＿Ｓを供給している場合は、そのまま供給を維持する。クロック供給管理手段２２２も、トランザクション検出手段２２１からの検出信号が「１」になることにより、受信側モジュール２１０に内部クロックＣＬＫ＿Ｄの供給を開始する。なお、すでにそのクロックＣＬＫ＿Ｄを供給している場合は、そのまま供給を維持する。
【００１９】
送信側モジュール１１０からの出力する供給停止要求信号が「１」になり、受信側モジュール２１０の内部クロックＣＬＫ＿Ｄに同期して供給停止承認レジスタ２１２によりそれが承認されると、供給停止承認信号が送信側ユニット１００の側のクロック供給管理手段１２２に提示される。この供給停止承認信号が「１」のとき、クロック供給管理手段１２２は、メインクロックＣＬＫの次のサイクルから、送信側モジュール１１０への内部クロックＣＬＫ＿Ｓの供給を停止する。
【００２０】
同様に、受信側モジュール２１０からの出力する供給停止要求信号が「１」になり、送信側モジュール１１０の内部クロックＣＬＫ＿Ｓに同期して供給停止承認レジスタ１１２によりそれが承認されると、供給停止承認信号が受信側ユニット２００の側のクロック供給管理手段２２２に提示される。この供給停止承認信号が「１」のとき、クロック供給管理手段２２２は、メインクロックＣＬＫの次のサイクルから、受信側モジュール２１０への内部クロックＣＬＫ＿Ｓの供給を停止する。
【００２１】
対向する送信側ユニット１００と受信側ユニット２００間で、同時に供給停止要求信号が提示された場合には、図３に示す真理値にしたがって、どちらも承認しない、又はどちらか一方だけを承認するように、衝突防止ユニット３００が作用する。
【００２２】
内部クロック供給の停止と開始はトグルであり、いったん指示されると、その後は、反対の指示がない限り、そのままの状態（供給／停止）を維持する。
【００２３】
送信側ユニット１００、受信側ユニット２００の処理部１１３，２１３から相手側ユニットへ送る供給停止要求信号は、自分側ユニットにおいて、処理対象に施す処理がすべて終わってデータ出力を伝達し終えたとき、データ入力が途中であるが新たなデータ入力がないかぎり処理が継続できないとき、あるいはデータ出力が途中であるが出力受理が許可されないままのとき等、それぞれの処理の内容に応じて、内部クロック供給の停止が妥当な状態にあるときに、それを提示できるように設計される。この供給停止要求信号の値は、その時点ではクロックが供給されているので、クロック１サイクル分の「１」とする。それが相手側ユニットで承認された場合は、自分側ユニットのモジュールに供給される内部クロック供給が停止されることになる。なお、相手側ユニットでの承認の条件も、上記と同様である。
【００２４】
その後、トランザクション検出手段１２１，２２１からの検出信号が「１」になると、クロック供給管理手段１２２，２２２によって、内部クロック供給の開始が自分側ユニットのモジュールに対して行われるまでは、当該自分側ユニットのモジュールでは内部クロックの供給がない状態となる。
【００２５】
次に、図４を参照して本実施例の動作を説明する。図４では、クロックサイクル６までは、送信側ユニット１００から受信側ユニット２００に対して、毎サイクルのトランザクション転送が行われている。これは、サイクル１から６までの間、相Ｃｓ，Ｃｄの値が相が各サイクルで一致していることに現れている。
【００２６】
送信側ユニット１００においては、次のクロックサイクルに、トランザクションとすべき出力があるかどうかを、「出力あり」のフラグで表示しているが、クロックサイクル６において、これは「０」となっている。よって、クロックサイクル７では、トランザクションを発生させていない。これは、相Ｃｓの値が「３」のままであることに現れる。このとき、受信側ユニット２００は、相Ｃｄが「１」であり、このとき相ＣｓとＣｄは不一致となる。これは、トランザクション未完了にあたる。一致しない状態はこのままクロック１３まで続く。
【００２７】
その途中で、クロックサイクル９において、受信側ユニット２００において、その処理のなんらかの状況により供給停止要求信号が「１」となっている。このように、受信側ユニット２００の処理部２１１の中での条件判断により、供給停止要求信号が１サイクルの間だけ「１」なると、この供給停止要求信号は、送信側モジュール１１０の内部クロックＣＬＫ＿Ｓの次のエッジ、すなわち、クロックサイクル１０においてレジスタ１１２で承認される。これは、送信側ユニット１００に内部クロックＣＬＫ＿Ｓが供給されていることを確認したことになる。一般に、対向するモジュールのうちのどれかに内部クロックが供給されていることを確認できた場合に、供給停止要求が承認される。これにより、クロックサイクル１１以降では、受信側モジュール２１０には内部クロックＣＬＫ＿Ｄの供給が停止される。
【００２８】
一方で、クロックサイクル１２では、送信側ユニット１００の「出力あり」のフラグが「１」に復帰し、この結果、クロックサイクル１３で、相Ｃｓの値に変動が生じる。これを受信側ユニット２００のクロック供給制御部２２０のトランザクション検出手段２２１が検出し、受信側モジュール２１０への内部クロックＣＬＫ＿Ｄの供給が再開する。その結果、クロックサイクル１４で、相ＣｓとＣｄが一致し、データの伝達がおこなわれ、トランザクションが完了する。
【００２９】
クロックサイクル１６〜２１では、逆に受信側ユニット２００の処理で、「入力可能」のフラグが「０」になる間に、送信側ユニット１００の内部クロックＣＬＫ＿Ｓの供給停止、および再度の開始を行っている。
【００３０】
以上、例示したものは、３相によるトランザクションの実装で１対１の転送に対して、本技術を適用して、内部クロック供給の停止／再開を実現したものである。まとめると、相手側モジュールに内部クロックが供給されているならば、相手側モジュールからのトランザクションがないときに、自分側モジュールのなかでの処理がないなどで内部クロック供給を停止することが妥当ならば、相手側モジュールに対して、内部クロック供給停止要求信号を「１」にすることで打診し、相手側モジュールに内部クロックが供給されていることで、承認が得られるので、自分側モジュールのクロックを停止できる。さらに、その後、相手側モジュールがトランザクションを発生させると、トランザクション検出手段１２１や２２１およびクロック供給管理手段１２２や２２２が働いて、自分側モジュールへの内部クロック供給が再開される。
【００３１】
以上のように、本実施例では、同期設計手法を適用したユニットに対して、消費電力削減や節約などの目的で内部クロック供給の停止／再開機能を設ける際、改変による手間、間違い、設計規模の増大による検証の困難などが減少できる。
【００３２】
＜他の実施例＞
１対Ｎの転送（１つのユニットに対して複数のユニットからの転送が集まっている場合、また、その逆の場合）に対しても、同じく内部クロック供給の停止／再開を実現することができる。図５に、１対２の場合のデータ伝達システムの例を示す。ここでは、受信側ユニット２００Ａが２つの送信側ユニット１００Ａ，１００Ｂに対向しており、各送信側ユニット１００Ａ，１００Ｂごとに、受信側モジュール２１０Ａ，２２０Ａとクロック供給制御部２２０Ａ，２２０Ｂが備え付けられる。ここでは、クロック供給制御部２２０Ａ，２２０Ｂでクロック供給管理手段２２２を共通化している。このクロック供給管理手段２２２は、送信側ユニット１００Ａ，１００Ｂからのクロックの供給停止要求承認信号をＯＲ回路４０１を経由して受信する。また、クロック供給制御部２２０Ａ，２２０Ｂのトランザクション検出手段２２１からの検出信号をＯＲ回路４０２を経由して受信する。そして、受信側モジュール２１０Ａ，２１０Ｂの内部クロックＣＬＫ＿Ｄの供給を共通に停止／再開する。
【００３３】
図５のデータ伝達システムでは、ある時点で、送信側ユニット１００Ａ，１００Ｂのいずれも内部クロックＣＬＫ＿Ｓの供給が停止しているときは、受信側ユニット２００Ａから送信側ユニット１００Ａ，１００Ｂのいずれに対しても、クロックの供給停止要求が承認されることはない。また、送信側ユニット１００Ａ，１００Ｂのいずれかに内部クロックが供給されているときは、当該の送信側ユニット１００Ａ又は１００Ｂについて、１対１で前記の手順を行う。そして、停止要求の承認を得られたときに、受信側ユニット２００Ａでの内部クロックＣＬＫ＿Ｄの供給を停止できる。その後、送信側ユニット１００Ａ，１００Ｂのいずれかのトランザクションが発生したときに、受信側ユニット２００Ａの受信側モジュール２１０Ａ，２１０Ｂへの内部クロックＣＬＫ＿Ｄの供給が再開することになる。
【図面の簡単な説明】
【００３４】
【図１】本発明の１つの実施例の内部クロック供給の停止／再開システムを備えるデータ伝達システムの説明図である。
【図２】相Ｃｓ，Ｃｄの値を決めるｆ関数の真理値の説明図である。
【図３】衝突防止ユニットの説明図である。
【図４】本実施例のデータ伝達システムの動作のタイムチャートである。
【図５】別の実施例のデータ伝達システムの説明図である。
【符号の説明】
【００３５】
１００，１００Ａ，１００Ｂ：送信側システム
１１０：送信側モジュール、１１１：相Ｃｓ用レジスタ、１１２：供給停止承認用レジスタ、１１３：処理部
１２０：クロック供給制御部、１２１：トランザクション検出手段、１２２：クロック供給管理手段
２００：受信側システム
２１０，２１０Ａ：受信側モジュール、２１１：相Ｃｄ用レジスタ、２１２：供給停止承認用レジスタ、２１３：処理部
２２０，２２０Ａ，２２０Ｂ：クロック供給制御部、２２１：トランザクション検出手段、２２２：クロック供給管理手段
【図１】
2010141803.tif 000003
【図２】
2010141803.tif 000004
【図３】
2010141803.tif 000005
【図４】
2010141803.tif 000006
【図５】
2010141803.tif 000007