(57)【特許請求の範囲】
【請求項１】
与えられた動作タイミングに従って動作する複数の回路の間で接続手段を通して複数の信号を伝達するための装置において、
送信側回路に接続され、１つ前の動作タイミングで送信された前記複数の信号の値をそれぞれ保持する送信側記憶手段と、
受信側回路に接続され、前記１つ前の動作タイミングで受信した前記複数の信号の値をそれぞれ保持する受信側記憶手段と、
現在の動作タイミングで前記送信側回路から送信された前記複数の信号の各々の値について、前記送信側記憶手段に保持された値から変更されたか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、変更された信号を識別するための第１情報と現在の動作タイミングにおける変更識別の終了を示す第２情報とを含む伝達情報を生成し、前記接続手段へ送信する送信手段と、
前記接続手段を通して前記第１情報を受信し、前記複数の信号のうち変更された信号を識別する受信手段と前記変更された信号について前記受信側記憶手段に保持された対応する値を変更し、現在の動作タイミングの受信信号として前記受信側回路へ出力する変更手段と、
前記第２情報を受信して前記動作タイミングを制御するタイミング制御手段と
を有することを特徴とする信号伝達装置。
【請求項２】
前記タイミング制御手段は、前記第２情報を受信する毎に次の動作タイミングを前記複数の回路へ与えることを特徴とする請求項１に記載の信号伝達装置。
【請求項３】
前記タイミング制御手段は、複数の送信側回路の前記送信手段のすべてから前記第２情報を受信したときのみ、次の動作タイミングを前記複数の回路へ与えることを特徴とする請求項１に記載の信号伝達装置。
【請求項４】
前記複数の信号はＮ個の信号であり（Ｎは２以上の整数）、前記接続手段はＭ個の物理的接続手段からなり（Ｍは１以上の整数）、Ｎ＞Ｍであることを特徴とする請求項１ないし請求項３のいずれかに記載の信号伝達装置。
【請求項５】
前記第１情報は、前記信号数Ｎを２進表示するために必要な最少のビット数を有することを特徴とする請求項４に記載の信号伝達装置。
【請求項６】
前記送信手段は、前記第１情報に前記第２情報を多重化して送信することを特徴とする請求項１ないし請求項３のいずれかに記載の信号伝達装置。
【請求項７】
前記第１情報は複数の変更された信号を識別することを特徴とする請求項１ないし請求項３のいずれかに記載の信号伝達装置。
【請求項８】
前記複数の回路が被検証回路を分割した複数の部分回路であり、
前記複数の部分回路の機能的動作をシミュレーションにより実現するための複数のシミュレーション手段を有し、
送信側のシミュレーション手段に前記送信側記憶手段と、前記判定手段と、前記送信手段とを設け、
受信側のシミュレーション手段に前記受信側記憶手段と、前記受信手段と、前記変更手段とを設けたことを特徴とする請求項１ないし請求項３のいずれかに記載の信号伝達装置を有する回路動作検証装置。
【請求項９】
与えられた動作タイミングに従って動作する複数の回路の間で接続手段を通して複数の信号を伝達する信号伝達装置の信号伝達方法であって、
１つ前の動作タイミングで送信された前記複数の信号の値をそれぞれ保持する送信側記憶ステップと、
前記１つ前の動作タイミングで受信した前記複数の信号の値をそれぞれ保持する受信側記憶ステップと、
現在の動作タイミングで送信された前記複数の信号の各々の値が前記送信側記憶ステップで保持された値から変更されたか否かを判定する判定ステップと、
前記判定ステップの判定結果に基づいて、変更された信号を識別するための第１情報と現在の動作タイミングにおける変更識別の終了を示す第２情報とを含む伝達情報を生成し、前記接続手段へ送信する送信ステップと、
前記接続手段を通して前記第１情報を受信し、前記複数の信号のうち変更された信号を識別する受信ステップと、
前記変更された信号について前記受信側記憶ステップで保持された対応する値を変更し、現在の動作タイミングの受信信号として受信側回路へ出力する変更ステップと、
前記第２情報を受信して前記動作タイミングを制御するタイミング制御ステップと
を有することを特徴とする信号伝達方法。
【請求項１０】
前記タイミング制御ステップで、
前記第２情報を受信する毎に次の動作タイミングを前記複数の回路へ与えることを特徴とする請求項９に記載の信号伝達方法。
【請求項１１】
前記タイミング制御ステップで、
複数の送信側回路の前記送信ステップのすべてから前記第２情報を受信したときのみ、次の動作タイミングを前記複数の回路へ与えることを特徴とする請求項９に記載の信号伝達方法。
【請求項１２】
前記複数の信号はＮ個の信号であり（Ｎは２以上の整数）、前記接続手段はＭ個の物理的接続手段からなり（Ｍは１以上の整数）、Ｎ＞Ｍであることを特徴とする請求項９ないし請求項１１のいずれかに記載の信号伝達方法。
【請求項１３】
前記第１情報は、前記信号数Ｎを２進表示するために必要な最少のビット数を有することを特徴とする請求項１２に記載の信号伝達方法。
【請求項１４】
前記送信ステップで、
前記第１情報に前記第２情報を多重化して送信することを特徴とする請求項９ないし請求項１１のいずれかに記載の信号伝達方法。
【請求項１５】
前記第１情報は複数の変更された信号を識別することを特徴とする請求項９ないし請求項１１のいずれかに記載の信号伝達装置。
【請求項１６】
前記複数の回路が被検証回路を分割した複数の部分回路であり、
前記複数の部分回路の機能的動作をシミュレーションにより実現するための複数のシミュレーションステップを有し、
送信側のシミュレーションステップが、前記送信側記憶ステップと、前記判定ステップと、前記送信ステップとを有し、
受信側のシミュレーションステップが、前記受信側記憶ステップと、前記受信ステップと、前記変更ステップとを有することを特徴とする請求項９ないし請求項１１のいずれかに記載の信号伝達方法を含む回路動作検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデバイス間の信号伝達技術にかかり、特に伝達すべき信号の数がデバイスの物理ピン数を超えている回路においてデータを高速に送受信するための方法および装置に関する。
【背景技術】
【０００２】
近年の半導体技術の進歩は論理ＬＳＩの集積度を年々向上させており、それに伴い必要な信号数に対してデバイスの物理ピンの数が不足するという問題がますます大きくなっている。このようなピン数の不足を解消する方法としては、パラレル−シリアル変換を用いて複数のデータを１つの信号線に時分割多重化し転送するのが最も一般的である（たとえば文献１を参照）。この場合、データ転送用のクロックの周波数は、多重化する信号の数に応じて、デバイスの動作クロックよりも高速に設定される必要がある。
【非特許文献１】Ｊ．Ｂａｂｂ，Ｒ．Ｔｅｓｓｉｅｒ，ａｎｄ  Ａ．Ａｇａｒｗａｌ，“Ｖｉｒｔｕａｌ  Ｗｉｒｅｓ：Ｏｖｅｒｃｏｍｉｎｇ  ｐｉｎｌｉｍｉｔａｔｉｏｎｓ  ｉｎ  ＦＰＧＡ−ｂａｓｅｄ  ｌｏｇｉｃ  ｅｍｕｌａｔｏｒｓ，”ｉｎ  Ｐｒｏｃ．ＩＥＥＥ  Ｗｏｒｋｓｈｏｐ  ｏｎ  ＦＰＧＡ−ｂａｓｅｄ  Ｃｕｓｔｏｍ  Ｃｏｍｐｕｔｉｎｇ  Ｍａｃｈｉｎｅｓ，Ｎａｐａ，ＣＡ，Ａｐｒ．１９９３，ｐｐ．１４２−１５１
【０００３】
また、特開平１１−７３４４０号公報（文献２）には、単純にパラレル−シリアル変換を用いた信号転送では相対的に回路の動作周波数の低下を招来するという問題意識から、時分割多重化する信号としない信号とを適宜混在させてデバイス間の送受信を行うエミュレーション装置が開示されている。
しかしながら、上記従来技術の基本的思想は、デバイス間の信号線数を時分割多重により仮想的に増やすことでデバイス間の物理接続本数よりも多い信号の送受信を可能にすることにある。したがって、回路動作用クロックのデータ転送用クロックに対する分周比は、そのピンに多重する信号の数によってのみ決定され、データ転送用クロックの周波数が決められると、システム全体の動作を高速化することができなくなる。
また、デバイス間の物理的接続に複数の信号を時分割多重するために、信号の有無に関係なく各信号にタイムスロットを割り当てる結果となり、物理的信号線という資源の有効利用という観点からも改善の余地が大いに残されている。
【発明の開示】
【０００４】
そこで、本発明者は、送受信データの値がいつも変更されるわけではないことに着目し、変更があったデータのみを送信するという基本的着想を得た。これを利用することで回路をより高速に動作させることが可能となる。さらに、変更があったデータのみを送信することで物理的信号線をより有効に利用することが可能となる。
本発明の第１の側面によれば、送信側デバイスに前回送信した複数の送信信号を保持する記憶手段を、受信側デバイスに前回受信した複数の受信信号を保持する記憶手段をそれぞれ設け、今回送信しようとする送信信号の変更の有無をチェックし、変更された信号を識別する情報（実施例では、変更箇所信号）を受信側デバイスへ送信する。受信側デバイスでは、この変更識別情報に基づいて記憶手段に保持された信号のうち変更されたものだけを変更することで等価的に今回の送信信号を受信することが可能となる。したがって、本発明は、信号数が物理的接続ピンの数より多い場合でも、物理的信号線を有効に活用して高速データ転送が可能となる。
また、変更識別情報が信号数Ｎを２進表示するために必要な最少のビット数を有するようにすることで、任意の送信信号の伝送が可能となると共に、信号数によっては未割当の値が残ることがあり、それを変更終了情報や複数の変更信号を識別する割り当てに使用することが可能となる。
本発明の第２の側面によれば、与えられた動作タイミングに従って動作する複数の回路の間で複数の信号の高速伝送が可能となる。すなわち、送信側に１つ前の動作タイミングで送信された複数の信号の値をそれぞれ保持する送信側記憶手段と、受信側に同じ１つ前の動作タイミングで受信した複数の信号の値をそれぞれ保持する受信側記憶手段と、を設け、現在の動作タイミングで送信される複数の信号の各々の値について変更されたか否かを判定する。判定結果に基づいて、変更された信号を識別するための第１情報と現在の動作タイミングにおける変更識別の終了を示す第２情報とを含む伝達情報を生成して送信する。受信側で第１情報を受信すると、それを用いて複数の信号のうち変更された信号を識別し、変更された信号について受信側記憶手段に保持された対応する値を変更し、現在の動作タイミングの受信信号として受信側回路へ出力する。さらに、タイミング制御手段（実施例ではクロック生成部）が第２情報を受信することで動作タイミングを制御する。
タイミング制御手段は、第２情報を受信する毎に次の動作タイミングを複数の回路へ与えることが望ましい。一実施例として、タイミング制御手段は、すべての送信側デバイスから第２情報を受信したときのみ、次の動作タイミングを複数の回路へ与える。
本発明によれば、前回送受信したデータを記憶手段に保存し、変更のあったデータのみを送受信するので、デバイス間の送受信に費やす時間を短縮することができる。送受信する信号があまり変化しない場合に更に効果的である。
またタイミング制御手段は、送受信に必要なサイクル数を変更終了信号あるいは第２情報の受信により変化させることで、まったく無駄がない動作タイミングを生成することができる。すなわち、従来の転送方式は、多重度によってクロック周波数が固定され、信号の変化が全くない場合でもクロック周波数は常に同じであり、高速に動作させることができなかったが、本発明によれば、従来手法に比べてより高速に回路を動作させることが可能となる。
【図面の簡単な説明】
【０００５】
図１は、本発明の一実施形態による信号伝達装置の概略的構成を示すブロック図である。
図２は、本発明の第１実施例による信号伝達装置の構成を示すブロック図である。
図３は、第１実施例における送信信号と伝達情報との変換を示すエンコードテーブルの一例を示す図である。
図４は、第１実施例による信号伝達装置の動作を説明するためのタイミングチャートである。
図５は、本発明の第２実施例による信号伝達装置の概略的構成を示すブロック図である。
図６は、第２実施例による信号伝達装置の動作を説明するためのタイミングチャートである。
図７は、本発明の第３実施例による信号伝達装置の動作を説明するためのタイミングチャートである。
図８は、本発明の第４実施例による信号伝達装置の構成を示すブロック図である。
図９は、図８の信号伝達装置を第１実施例と同様に動作させた場合のタイミングチャートである。
図１０は、第４実施例による信号伝達装置の動作を説明するためのタイミングチャートである。
１０、２０：デバイス、３０：クロック生成部、４０：発振器、１０１：送信回路、１０２：送信モジュール、１０３：送信部（エンコーダ）、２０１：受信回路、２０２：受信モジュール、２０３：受信部（デコーダ）、Ｓ１〜ＳＮ：送信信号、ＭＴ１〜ＭＴＮ：送信側のメモリ、ＤＦＦＴ１〜ＤＦＦＴ４：送信側のＤフリップフロップ回路、Ｃ１〜ＣＮ：比較器、ＭＲ１〜ＭＲＮ：受信側のメモリ、ＤＦＦＲ１〜ＤＦＦＲ４：受信側のＤフリップフロップ回路、Ｄ１〜ＤＮ：変更検出器、Ｓ１’〜ＳＮ’：受信信号、ＣＬＫＤ：データ転送用クロック、ＣＬＫＣ：回路動作用クロック
【発明を実施するための最良の形態】
【０００６】
１．システムの概略的構成
図１は本発明の一実施形態による信号伝達装置の概略的構成を示すブロック図である。ここでは図を煩雑にしないために、デバイス１０からデバイス２０へＮ本（Ｎは２以上の整数）の信号Ｓ１〜ＳＮが送信される場合を一例として説明する。
送信側のデバイス１０には送信回路１０１および送信モジュール１０２が設けられている。送信回路１０１から出力された送信信号Ｓ１〜ＳＮは、送信モジュール１０２によって変更箇所信号ＳＬおよび変更終了信号ＳＥからなる伝達情報に変換され、デバイス２０へ送信される。デバイス２０には受信回路２０１および受信モジュール２０２が設けられ、受信モジュール２０２は変更箇所信号ＳＬおよび変更終了信号ＳＥからなる伝達情報を受信し、変更された送信信号を検出することで、送信信号Ｓ１〜ＳＮにそれぞれ対応した受信信号Ｓ１’〜ＳＮ’を受信回路２０１へ出力する。
変更箇所信号ＳＬおよび変更終了信号ＳＥの送受信と、受信モジュール２０２の変更検出動作とはデータ転送用クロックＣＬＫＤに同期して行われる。また、送信回路１０１および送信モジュール１０２と受信回路２０１の動作とは回路動作用クロックＣＬＫＣに同期して行われる。回路動作用クロックＣＬＫＣは回路の動作サイクルを決定するクロックであり、後述するように、クロック生成部３０が変更終了信号ＳＥの出力タイミングを利用して生成する。
１．１）送信モジュール
送信モジュール１０２には、送信信号Ｓ１〜ＳＮにそれぞれ対応したＮ個の変更判定部と送信部１０３とが設けられている。Ｎ個の変更判定部の各々はメモリＭＴｉおよび比較器Ｃｉから構成される（ただし、ｉは１〜Ｎのいずれかの整数）。メモリＭＴｉには、１つ前の動作サイクルにおける送信信号Ｓｉの値（起動時は所定値）が格納される。したがって、比較器Ｃｉは、送信回路１０１から入力した現在の値とメモリＭＴｉに格納されている１つ前の値とを比較することによって、当該送信信号Ｓｉに変更が生じたか否かを判定することができる。変更があれば、比較器Ｃｉは論理値“１”を送信部１０３へ出力し、変更がなければ論理値“０”を出力するものとする。
送信部１０３は、Ｎ個の比較器Ｃ１〜ＣＮからＮ個の比較結果１／０を入力し、その“１”のパターンに応じて予め割り当てられた値を変更箇所信号ＳＬあるいは変更終了信号ＳＥとして生成し、データ転送用クロックＣＬＫＤに同期してデバイス２０へ送信する。
１．２）変更箇所／変更終了信号
変更箇所信号ＳＬは、送信信号Ｓ１〜ＳＮのうちのどれが変更されたかを識別するための信号であり、整数Ｎを２進表示するために必要な最少のビット数を有する。変更終了信号ＳＥは、各サイクルにおいて送信信号Ｓ１〜ＳＮの変更がすべて終了したこと（変更が無かったことも含む。）を示す信号であり、変更箇所信号ＳＬが有効か無効かを示す少なくとも１ビットの信号である。したがって、変更された送信信号の数によって変更終了信号ＳＥが出力されるタイミングは前後する。たとえば、全ての送信信号が変更された場合には、当初のサイクルの時間間隔に対応したタイミングで変更終了信号ＳＥが出力され、変更がない場合には、最短時間で（ここではデータ転送用クロックＣＬＫＤの１周期で）変更終了信号ＳＥが出力される。この変更終了信号ＳＥを利用して回路動作用クロックＣＬＫＣを生成する。
なお、変更終了信号ＳＥは変更箇所信号ＳＬとは別個の信号線により伝達してもよいが、整数Ｎを２進表示するために必要な最少のビット数を有する変更箇所信号ＳＬに空きがあれば（たとえば５つの信号を３ビットで識別する場合など）、それを変更終了信号ＳＥに割り当てることで１つの信号線で必要な情報をすべて伝達することができる。多重化する信号の数が２のべき乗の場合（８つの信号を３ビットで識別する場合など）のように変更箇所信号ＳＬに空きが無ければ、別個に変更終了信号ＳＥ用に１ビットを割り当てる必要がある。
１．３）受信モジュール
受信モジュール２０２には、受信部２０３と受信信号Ｓ１’〜ＳＮ’にそれぞれ対応したＮ個の変更検出器Ｄ１〜ＤＮとが設けられている。受信部２０３は、受信した変更箇所信号ＳＬの値から変更のあった信号を特定し、変更のあった旨を対応する変更検出器へ通知する。なお、受信部２０３は、変更終了信号ＳＥを受信しても無視するように設定しておけばよい。
各変更検出器ＤｉにはメモリＭＲｉが設けられており、受信部２０３から変更を通知されると当該メモリＭＲｉに格納した値を変更する。こうしてメモリＭＲ１〜ＭＲＮには、各サイクル内で更新された受信信号Ｓ１’〜ＳＮ’が記憶される。したがって、受信回路２０１は、回路動作用クロックＣＬＫＣに従ってメモリＭＲ１〜ＭＲＮからデータを読み出すことで、送信信号Ｓ１〜ＳＮの復元信号を入力することができる。
１．４）クロック生成
クロック生成部３０は、変更終了信号ＳＥの出力タイミングに従って、データ転送用クロックＣＬＫＤに同期した回路動作用クロックＣＬＫＣを生成する。具体例は後述するが、クロック生成部３０は、変更終了信号ＳＥの出力タイミングで送信回路１０１および受信回路２０１の動作サイクルを１つ先に進めるように回路動作用クロックＣＬＫＣを生成する。上述したように、変更された送信信号の数によって変更終了信号ＳＥが出力されるタイミングは変化するので、変更終了信号ＳＥを利用して回路動作用クロックＣＬＫＣを生成することで、後述するように、システム全体の動作を高速化することができる。
２．第１実施例
２．１）装置構成
図２は、本発明の第１実施例による信号伝達装置の構成を示すブロック図である。本実施例では、デバイス１０からデバイス２０へ３本の信号Ｓ１〜Ｓ３が送信される場合を一例として説明する。なお、図１に示す回路と同じ機能を有するブロックには同じ参照番号を付して説明は適宜省略する。
送信側のデバイス１０には送信回路１０１および送信モジュール１０２が設けられている。送信回路１０１から出力された送信信号Ｓ１〜Ｓ３は、送信モジュール１０２によって変更箇所信号ＳＬおよび変更終了信号ＳＥからなる伝達情報ＳＴに変換され、受信側のデバイス２０へ送信される。受信側のデバイス２０には受信回路２０１および受信モジュール２０２が設けられ、受信モジュール２０２は変更箇所信号ＳＬおよび変更終了信号ＳＥからなる伝達情報ＳＴを受信し、変更された送信信号を検出することで、送信信号Ｓ１〜Ｓ３にそれぞれ対応した受信信号Ｓ１’〜Ｓ３’を受信回路２０１へ出力する。
変更箇所信号ＳＬおよび変更終了信号ＳＥの送受信と、受信モジュール２０２の変更検出動作とはデータ転送用クロックＣＬＫＤに同期して行われる。また、送信回路１０１および送信モジュール１０２と受信回路２０１の動作とは回路動作用クロックＣＬＫＣに同期して行われる。データ転送用クロックＣＬＫＤは発振器４０によって生成される。クロック生成部３０は、回路動作用クロックＣＬＫＣを変更終了信号ＳＥの出力タイミングに従って制御することでデータ転送用クロックＣＬＫＤを生成する。
送信モジュール１０２には、送信信号Ｓ１〜Ｓ３にそれぞれ対応した３個の変更判定部と送信部１０３とが設けられている。３個の変更判定部の各々はＤフリップフロップ回路ＤＦＦＴｉおよび排他的論理和（ＥＸＯＲ）回路Ｃｉから構成される（ただし、ｉは１〜３のいずれかの整数）。Ｄフリップフロップ回路ＤＦＦＴｉには、１つ前の動作サイクルにおける送信信号Ｓｉの値（起動時は所定値”０”）が格納される。したがって、排他的論理和回路Ｃｉは、送信回路１０１から入力した現在の値とＤフリップフロップ回路ＤＦＦＴｉに格納されている１つ前の値とが異なれば（すなわち変更があれば）、論理値“１”の判定信号ＳＣｉを送信部１０３へ出力し、一致すれば（すなわち変更がなければ）、論理値”０”の判定信号ＳＣｉを送信部１０３へ出力する。
送信部１０３はエンコード機能を有する。排他的論理和回路Ｃ１〜Ｃ３から３個の判定信号ＳＣ１〜ＳＣ３をそれぞれ入力し、どの判定信号が論理値“１”であるかに応じて予め割り当てられた値に変換する。こうして得られた値を変更箇所信号ＳＬあるいは変更終了信号ＳＥとしてデータ転送用クロックＣＬＫＤに同期してデバイス２０へ送信する。なお、本実施例では、信号数３を２進表示するために必要な最少のビット数が２であるから、後述するように、変更箇所信号ＳＬには１つ空きが存在し、そこに変更終了信号ＳＥが割り当てられている。
受信モジュール２０２には、受信部２０３と、受信信号Ｓ１’〜Ｓ３’にそれぞれ対応した排他的論理和回路Ｄ１〜Ｄ３およびＤフリップフロップ回路ＤＦＦＲ１〜ＤＦＦＲ３とが設けられている。
受信部２０３は、送信部１０３のエンコード機能に対応するデコード機能を備えており、受信した変更箇所信号ＳＬの値から変更のあった信号を識別する。そして、ＤＦＦを反転させるための反転信号ＳＲ１〜ＳＲ３のうち、変更のあった信号に対応する反転信号ＳＲをアクティブにする。反転信号ＳＲ１〜ＳＲ３は排他的論理和回路Ｄ１〜Ｄ３にそれぞれ入力する。排他的論理和回路Ｄ１〜Ｄ３は、さらに、Ｄフリップフロップ回路ＤＦＦＲ１〜ＤＦＦＲ３から１つ前の受信信号Ｓ１’〜Ｓ３’を入力し、現在の変更を示す信号ＳＲ１〜ＳＲ３と１つ前の受信信号Ｓ１’〜Ｓ３’との一致／不一致を検出する。したがって、変更を示す信号ＳＲｉがアクティブ（“１”）であれば、対応するＤフリップフロップ回路ＤＦＦＲｉに格納された値は反転し、インアクティブ（”０”）であれば、対応するＤフリップフロップ回路ＤＦＦＲｉに格納された値はそのまま保持される。
こうして変更箇所信号ＳＬの値により特定された信号Ｓｉ’だけが変更され、その他の信号は前サイクルのまま変化せずに保持される。したがって、受信回路２０１は、回路動作用クロックＣＬＫＣに従ってＤフリップフロップ回路ＤＦＦＲ１〜ＤＦＦＲ３からデータを読み出すことで、送信信号Ｓ１〜Ｓ３の復元信号をサイクル毎に入力することができる。
クロック生成部３０は、変更終了信号ＳＥを検出する機能を有し、その検出タイミングに従って、送信回路１０１および受信回路２０１の動作サイクルを１つ先に進めるように回路動作用クロックＣＬＫＣを生成する（詳細は後述する）。
２．２）送信部のエンコーダ
図３（Ａ）は、第１実施例における送信部の構成を示すブロック図であり、（Ｂ）は送信部におけるエンコーダの真理値表を示す図である。本実施例では３つの送信信号Ｓ１〜Ｓ３を識別できればよいので伝達情報のビット数は２である。
図３（Ａ）に示すように、送信部１０３は、排他的論理和回路１１０〜１１２、プライオリティエンコーダ１１３およびＳＲフリップフロップ回路１１４〜１１６から主に構成される。排他的論理和回路１１０は判定信号ＳＣ１とＳＲフリップフロップ回路１１４の出力Ｘ０４とを入力し、その出力Ｘ０１をプライオリティエンコーダ１１３の入力Ａに出力する。同様に、排他的論理和回路１１１は判定信号ＳＣ２とＳＲフリップフロップ回路１１５の出力Ｘ０５とを入力し、その出力Ｘ０２をプライオリティエンコーダ１１３の入力Ｂに出力する。排他的論理和回路１１２は判定信号ＳＣ３とＳＲフリップフロップ回路１１６の出力Ｘ０６とを入力し、その出力Ｘ０３をプライオリティエンコーダ１１３の入力Ｃに出力する。
プライオリティエンコーダ１１３の出力Ｑは、送信信号Ｓ１〜Ｓ３のどの信号が変更したかを識別するための値“０”、“１”、“２”および変更無を示す値“３”と比較するためにフィードバックされる。出力Ｑが値“０”と一致したときはＳＲフリップフロップ回路１１４のセット入力が“１”となり、次のクロック変化でＳＲフリップフロップ回路１１４の出力Ｘ０４が“１”となる。出力Ｑが値“１”と一致したときはＳＲフリップフロップ回路１１５のセット入力が“１”となり、次のクロック変化でＳＲフリップフロップ回路１１５の出力Ｘ０５が“１”となる。出力Ｑが値“２”と一致したときはＳＲフリップフロップ回路１１６のセット入力が“１”となり、次のクロック変化でＳＲフリップフロップ回路１１６の出力Ｘ０６が“１”となる。出力Ｑが値“３”と一致したときは、ＳＲフリップフロップ回路１１４、１１５、１１６のリセット入力ＣＬＲが“１”となり、次のクロック変化で出力Ｘ０４、Ｘ０５、Ｘ０６は“０”になる。
プライオリティエンコーダ１１３は図３（Ｂ）に示すような真理値表を有し、Ｘ０１〜Ｘ０３の値に応じて出力Ｑ、すなわち伝達情報ＳＴ、を変化させる。本実施例では、３つの送信信号Ｓ１〜Ｓ３を上述したように２ビットで識別するので値“３”（２ビット表示で“１１”）が未割当となる。この値“３”に変更無しあるいは変更終了を示す信号ＳＥが割り当てられる。この変更終了信号ＳＥは、後述するように、クロック生成部３０が回路動作用クロックＣＬＫＣを変化させるタイミングを提供する。
なお、受信部２０３はプライオリティエンコーダ１１３に対応するデコーダを備えており、受信した変更箇所信号ＳＬの値“０”、“１”、“２”に従って、どの信号が変更されたかを知ることができる。
２．３）動作
図４は本発明の第１実施例による信号伝達装置の動作を説明するためのタイミングチャートである。図４のａ）はデータ転送用クロックＣＬＫＤ、ｂ）は変更箇所信号ＳＬおよび変更終了信号ＳＥからなる伝達情報ＳＴ、ｃ）は回路動作用クロックＣＬＫＣ、ｄ）は送信信号Ｓ１〜Ｓ３、ｅ）は受信信号Ｓ１’〜Ｓ３’、ｆ）は判定信号ＳＣ１〜ＳＣ３、ｇ）はプライオリティエンコーダの入力となる信号Ｘ０１〜Ｘ０３、ｈ）はＳＲフリップフロップ回路の出力Ｘ０４〜Ｘ０６の波形をそれぞれ示す。
ここでは、説明のために次のように仮定する。時刻ｔ０において送信信号Ｓ１〜Ｓ３が“０”から“１”へ立ち上がり、その後、送信信号Ｓ１は変化せず、送信信号Ｓ２は時刻ｔ７で“１”から“０”へ立ち下がり、送信信号Ｓ３は時刻ｔ５で“１”から“０”へ立ち下がり、時刻ｔ７で再び“０”から“１”へ立ち上がるものとする。また、時刻ｔ０で、送信側のフリップフロップ回路ＤＦＦＴ１〜ＤＦＦＴ３および受信側のフリップフロップ回路ＤＦＦＲ１〜ＤＦＦＲ３は全て“０”に設定されるものとする。
時刻ｔ０でクロック生成部３０は回路動作用クロックＣＬＫＣを立ち上げ、第１の動作サイクルＣＹＣ１を開始する。これによって送信信号Ｓ１〜Ｓ３がすべて“０”から“１”へ立ち上がり、フリップフロップ回路ＤＦＦＴ１〜ＤＦＦＴ３には“０”が設定されているので、排他的論理和回路Ｃ１〜Ｃ３の判定信号ＳＣ１〜ＳＣ３は全て“１”となる。これにより排他的論理和回路１１０〜１１２の出力Ｘ０１〜Ｘ０３は立ち上がり、エンコーダ１１３の入力Ｘ０１が“１”になることで出力Ｑ、すなわち変更箇所信号ＳＬの値が“０”となる。Ｑ＝０の時、ＳＲフリップフロップ回路１１４のセット入力が“１”となるので、次の時刻ｔ１におけるクロック変化でＳＲフリップフロップ回路１１４の出力Ｘ０４が立ち上がる。これによって排他的論理和回路１１０の出力Ｘ０１は“１”から“０”にたち下がる。
以下同様の動作により、送信部１０３のプライオリティエンコーダ１１３は、変更箇所信号ＳＬとして値“０”、値“１”、値“２”のシーケンスを生成し、すべての変更が終了すると変更終了信号ＳＥとして値“３”を生成する。このようにして、図４のｂ）に示すように、送信部１０３は、データ転送用クロックＣＬＫＤに従って、値“０”，“１”，“２”，“３”のシーケンスをデバイス２０へ送信する。
受信側のデバイス２０において、受信部２０３は、変更箇所信号ＳＬとして値“０”を受信すると、それが信号Ｓ１の変更通知であることを認識し、反転信号ＳＲ１をアクティブにし、フリップフロップ回路ＤＦＦＲ１の値を“０”から“１”へ反転させる。これによって、時刻ｔ１で受信信号Ｓ１’が“０”から“１”に立ち上がる。同様に、時刻ｔ２において受信信号Ｓ２’が“０”から“１”に立ち上がり、時刻ｔ３において受信信号Ｓ３’が“０”から“１”に立ち上がる。
クロック生成部３０は、変更終了信号ＳＥとして値“３”を検出する時刻ｔ３〜時刻ｔ４の間で回路動作用クロックＣＬＫＣを立ち下げ、時刻ｔ４でデータ転送用クロックＣＬＫＤに同期して再び回路動作用クロックＣＬＫＣを立ち上げる。こうして第１の動作サイクルＣＹＣ１の動作が終了する。
時刻ｔ４でデータ転送用クロックＣＬＫＤに同期して回路動作用クロックＣＬＫＣが立ち上がると、第２の動作サイクルＣＹＣ２の動作が開始する。しかしながら、この時点では送信信号Ｓ１〜Ｓ３の値がすべて変更されないため、伝達情報には変更終了信号ＳＥとしての値“３”が出力されるだけである。したがって、クロック生成部３０は、変更終了信号ＳＥとして値“３”を検出する時刻ｔ４〜時刻ｔ５の間で回路動作用クロックＣＬＫＣを立ち下げ、時刻ｔ５でデータ転送用クロックＣＬＫＤに同期して再び回路動作用クロックＣＬＫＣを立ち上げる。こうして第２の動作サイクルＣＹＣ２の動作が終了する。
時刻ｔ５でデータ転送用クロックＣＬＫＤに同期して回路動作用クロックＣＬＫＣが立ち上がると、第３の動作サイクルＣＹＣ３の動作が開始する。これによって送信信号Ｓ３のみが“１”から“０”へ立ち下がり、この時点でＤフリップフロップ回路ＤＦＦＴ１〜ＤＦＦＴ３にはすべて“１”が格納されているので、排他的論理和回路Ｃ１〜Ｃ３の判定信号ＳＣ１〜ＳＣ３は（０，０，１）となる。したがって、送信部１０３は、変更箇所信号ＳＬとして値“２”を生成し、さらに変更すべき信号が残っていないので変更終了信号ＳＥとして値“３”を生成する。これによって、図４のｂ）に示すように、送信部１０３は、データ転送用クロックＣＬＫＤに従って、値“２”および値“３”のシーケンスをデバイス２０へ送信する。
変更箇所信号ＳＬとして値“２”を受信すると、受信側の受信部２０３は、それが信号Ｓ３の変更通知であることを認識し、反転信号ＳＲ３をアクティブにしてフリップフロップ回路ＤＦＦＲ３の値を“１”から“０”へ反転させる。これによって、時刻ｔ６で受信信号Ｓ３’が“１”から“０”に立ち下がる。その他の受信信号Ｓ１’およびＳ２’の値は変更なしであるから、そのままである。
クロック生成部３０は、変更終了信号ＳＥとして値“３”を検出する時刻ｔ６〜時刻ｔ７の間で回路動作用クロックＣＬＫＣを立ち下げ、時刻ｔ７でデータ転送用クロックＣＬＫＤに同期して再び回路動作用クロックＣＬＫＣを立ち上げる。こうして第３の動作サイクルＣＹＣ３の動作が終了する。続く第４の動作サイクルＣＹＣ４も同様の動作となる。
２．４）効果
図４に示すように、本実施例によれば、４サイクル（ＣＹＣ１〜ＣＹＣ４）分のデータを転送するために必要なデータ転送クロック数は、それぞれ４個、１個、２個、３個の合計１０クロックとなる。これが従来手法であると、常に４サイクル分のクロック数を消費するため１６クロックが必要である。したがって、本実施例の場合には、従来よりも約１．６倍の高速性が得られることがわかる。
計算によれば、たとえば、デバイス１０とデバイス２０とが２０本の物理的信号線で接続され、送信回路１０１と受信回路２０１とが４０本の信号を送受信する場合、本実施例による信号伝達装置は、従来の時分割多重により全部の信号を送信する場合に比べて高速に伝達できる確率は０．３３となり、１００本の信号を送受信する場合の確率は０．２となる。
なお、本実施例では、変更箇所信号ＳＬや回路動作用クロックＣＬＫＣのタイミングを図４のようにしているが、これに限定されるものではない。各タイミングをずらした無数の形態が考えることができる。ただし、基本動作は上述したものと同様である。
３．第２実施例
上述した実施例では送信側と受信側の２つのデバイスを例示したが、本発明は複数のデバイスを接続した場合であっても同様に適用可能である。
図５は本発明の第２実施例による信号伝達装置の概略的構成を示すブロック図である。本実施例では、一例として、３個のデバイス１０Ａ、１０Ｂおよび１０Ｃが相互接続された回路を示すが、３個以上のデバイスが相互接続された回路であっても同様である。
図５において、デバイス１０Ａ、１０Ｂおよび１０Ｃの各々は同様の構成を有し、送受信を行う回路Ａ、ＢおよびＣの各々に双方向の送信を行うための２個の送信モジュールＴおよび２個の受信モジュールＲが設けられている。送信モジュールＴおよび受信モジュールＲの構成は、基本的に図２に示したものと同様であるから説明は省略する。
ただし、本実施例における送信モジュールＴでは、変更終了信号ＳＥが変更箇所信号ＳＬとは別個の１ビットの信号線で引き出されており、合計６本の変更終了信号ＳＥＡ１およびＳＥＡ２、ＳＥＢ１およびＳＥＢ２、ＳＥＣ１およびＳＥＣ２がＯＲ回路５０に接続されている。本実施例では、変更終了信号ＳＥの値は変更終了の時に“０”となり、通常“１”である。ＯＲ回路５０はこれら６本の変更終了信号の論理和をとってクロック一時停止信号ＳＳＴＯＰを変化させる。クロック一時停止信号ＳＳＴＯＰは通常“１”に設定されているが、６本の変更終了信号ＳＥがすべて“０”になるとその期間だけ“０”になる。クロック生成部３０は、このクロック一時停止信号ＳＳＴＯＰに従って、データ転送用クロックＣＬＫＤを通過させたり、通過を阻止して所定の値“１”を出力したりする。
図６は第２実施例による信号伝達装置の動作を説明するためのタイミングチャートである。クロック生成部３０はクロック一時停止信号ＳＳＴＯＰが“０”のときに、データ転送用クロックＣＬＫＤと同じクロック信号を回路動作用クロックＣＬＫＣとして出力し、クロック一時停止信号ＳＳＴＯＰが“１”のときには一定値“１”を出力する。したがって、回路動作用クロックＣＬＫＣは、６本の変更終了信号ＳＥがすべて“０”になる時に変化し、回路動作サイクルを進めることができる。すべての送信モジュールＴが送信を終了、つまり、すべての変更終了信号ＳＥが“０”にならない限り、回路の次の動作には進めないという観点から、このような動作になる。
このように構成することで、接続されたデバイスが３つ以上の場合でも、第１実施例と同様に回路動作用クロックＣＬＫＣを最大限高速にできる。
４．第３実施例
図７は本発明の第３実施例による信号伝達装置の動作を説明するためのタイミングチャートである。図７のａ）〜ｅ）は、図４のａ）〜ｅ）と同じ信号の波形を示しているが、伝達情報ＳＴがデータ転送用クロックＣＬＫＤの両エッジを利用して転送される点が異なる。両エッジを利用することにより、各転送時間を約半分にすることができ、より高速にデータを転送できる。
５．第４実施例
上述した第１実施例では、デバイス間で３本の信号Ｓ１〜Ｓ３が送信される場合を一例として説明した。その際、信号数３を２進表示するために必要な最少のビット数が２であるから、変更箇所信号ＳＬには１つ空きが存在し、そこに変更終了信号ＳＥが割り当てられた。この信号の本数は既に述べたように特定値に限定されるものではないが、信号数によっては変更箇所信号ＳＬに複数の未割当値が生じる。このように複数の空きがある場合は、１つを変更終了信号ＳＥに割り当て、その他の空きを複数の信号変更が同時発生した場合に割り当てることができ、それによって更に高速化を図ることができる。以下、具体例を示す。
図８は、本発明の第４実施例による信号伝達装置の構成を示すブロック図である。本実施例において、４つの信号Ｓ１〜Ｓ４がデバイス６０からデバイス７０へ送信される場合が示されている。
送信側のデバイス６０には送信回路６０１および送信モジュール６０２が設けられている。送信回路６０１から出力された送信信号Ｓ１〜Ｓ４は、送信モジュール６０２によって変更箇所信号ＳＬおよび変更終了信号ＳＥからなる伝達情報ＳＴに変換され、受信側のデバイス７０へ送信される。受信側のデバイス７０には受信回路７０１および受信モジュール７０２が設けられ、受信モジュール７０２は変更箇所信号ＳＬおよび変更終了信号ＳＥからなる伝達情報ＳＴを受信し、変更された信号を検出することで、送信信号Ｓ１〜Ｓ４にそれぞれ対応した受信信号Ｓ１’〜Ｓ４’を受信回路７０１へ出力する。
送信モジュール６０２にはエンコーダを備えた送信部６０３が設けられ、受信モジュール７０３には送信部６０３に対応するデコーダを備えた受信部７０３が設けられている。基本的には第１実施例で説明した構成を有するので詳細な説明は省略する。また、第１実施例と同じ回路には同じ参照番号あるいは参照符号を付している。
図９は信号伝達装置を第１実施例と同様に動作させた場合（図４参照）のタイミングチャートである。信号数が４であるから、変更終了情報を含めて、伝達情報ＳＴは５つの場合を区別するために３ビットが必要になる。図９では、信号Ｓ１、Ｓ２、Ｓ３、Ｓ４にそれぞれ値“０”、“１”、“２”、“３”を割り当て、すべての信号が変化していない場合に値“４”を割り当てている。
しかしながら、３ビットの伝達情報ＳＴは、値“５”、“６”および“７”が未使用のまま残っており、これらに情報を割り当てることで伝達速度の高速化を図ることができる。
図１０は本発明の第４実施例による信号伝達装置の動作を説明するためのタイミングチャートである。本実施例では、３ビットの伝達情報ＳＴの値“５”に信号Ｓ１、Ｓ２、Ｓ３、Ｓ４のすべてが変化したという情報を持たせ、値“６”に信号Ｓ１およびＳ２が変化したという情報を持たせ、値“７”に信号Ｓ３およびＳ４が変化したという情報を持たせている。このように未割当の値を使用することにより、たとえば図９の場合には時刻ｔ０〜ｔ４までの期間を要した情報伝達動作を時刻ｔ０〜ｔ１の１クロック期間で実行することができる。このように、本実施例によれば、図９に示す動作例よりも１．５倍の高速動作が可能となる。
なお、伝達情報ＳＴの未割当の値をどのような信号変化に割り当てるかは本実施例に限定されるものではない。
６．第５実施例
本発明は、被検証回路の機能的動作をシミュレーションにより検証する回路動作検証装置に適用することができる。特に被検証回路を複数の部分回路に分割し、それぞれの機能的動作をシミュレーションにより実現する複数のシミュレータが相互接続された回路動作検証装置において、各シミュレータに、例えば図２あるいは図８に示す送信モジュールおよび受信モジュールを設けることで、上述したように、物理的接続の制限を緩和し、回路の高速動作検証が可能となる。論理回路エミュレータ装置などに適用しても同様の効果を得ることができる。
【産業上の利用可能性】
【０００７】
本発明は、デバイス間でデータ転送するシステム一般に適用可能であり、たとえば論理回路エミュレータ装置や論理回路動作検証装置などにおける複数のデバイス間でデータを送受するという用途に適用可能である。
【図１】
0004683047.tif 000002
【図２】
0004683047.tif 000003
【図３】
0004683047.tif 000004
【図４】
0004683047.tif 000005
【図５】
0004683047.tif 000006
【図６】
0004683047.tif 000007
【図７】
0004683047.tif 000008
【図８】
0004683047.tif 000009
【図９】
0004683047.tif 000010
【図１０】
0004683047.tif 000011