(57)【要約】【課題】複数の多重化回路を利用したデバイス間の情報伝達の伝送効率を向上させる。【解決手段】本発明による回路設計方法は、所定の期間内における複数の信号の論理値の変化の有無を検出するステップと、その検出結果に基づいて、所定の期間において２つの信号が変化する動作サイクルの数を、２つの信号による信号組の同時変化回数として算出するステップと、複数の信号における信号組毎に同時変化回数を集計し、同時変化回数表７を生成するステップと、同時変化回数表７に基づいて、複数の信号の出力先となる多重化回路を割り当てるステップとを具備する。【選択図】図９
2011119862.tif 000002
【特許請求の範囲】
【請求項１】
２つのデバイス間の複数の信号の伝達を、複数の多重化回路を介して行う信号伝達回路の設計方法において、
所定の期間内における前記複数の信号の論理値の変化の有無を検出するステップと、
前記検出ステップにおける検出結果に基づいて、前記所定の期間において２つの信号が変化する動作サイクルの数を、前記２つの信号による信号組の同時変化回数として算出するステップと、
前記複数の信号における信号組毎に前記同時変化回数を集計し、同時変化回数表を生成するステップと、
前記同時変化回数表に基づいて、前記複数の信号の出力先となる多重化回路を割り当てるステップと
を具備する
回路設計方法。
【請求項２】
請求項１に記載の回路設計方法において、
前記多重化回路を割り当てるステップは、前記複数の信号における全ての信号組のうち、前記同時変化回数が最も多い第１信号組から順に、送信信号の出力先となる端子を割り当てるステップを備え、
前記第１信号組の各信号は、異なる２つの多重化回路に割り当てられる
回路設計方法。
【請求項３】
請求項２に記載の回路設計方法において、
前記複数の多重化回路は、それぞれ対応する第１端子と第２端子を備え、
前記多重化回路を割り当てるステップは、
前記同時変化回数が多い信号から順に、前記複数の多重化回路のそれぞれの第１端子に割り当てるステップと、
未割り当ての信号のうち、前記同時変化回数が最も多い信号を選択するステップと、
前記選択された信号と、前記第１端子に割り当てられた信号との同時変化回数が最も小さい多重化回路の第２端子に、前記選択された信号を割り当てるステップと
を備える
回路設計方法。
【請求項４】
請求項２又は３に記載の回路設計方法において、
前記多重化回路を割り当てるステップは、
未割り当ての信号から同時変化回数が最も多い信号組を選択するステップと、
前記選択された信号組が複数ある場合、前記未割り当ての信号のうち、次に多い同時変化回数の信号を、多重化回路に割り当てる信号として、前記選択された信号組から選択するステップと
を備える
回路設計方法。
【請求項５】
請求項２又は３に記載の回路設計方法において、
前記多重化回路を割り当てるステップは、
未割り当ての信号から同時変化回数が最も多い信号組を選択するステップと、
前記選択された信号組が複数ある場合、前記選択された信号組のうち、次に多い同時変化回数の信号を、多重化回路に割り当てる信号として、前記選択された信号組から選択するステップと
を備える
回路設計方法。
【請求項６】
請求項１から５のいずれか１項に記載の回路設計方法をコンピュータによって実行させる回路設計プログラム。
【請求項７】
２つのデバイス間の複数の信号の伝達を、複数の多重化回路を介して行う信号伝達回路を設計するための回路設計支援装置において、
所定の期間内における前記複数の信号の論理値の変化の有無を検出する同時変化回数算出部と、
前記複数の信号の出力先となる多重化回路を割り当てる信号割り当て部と
を具備し、
前記同時変化回数算出部は、前記複数の信号の論理値の変化の有無の検出結果に基づいて、前記所定の期間において２つの信号が変化する動作サイクルの数を、前記２つの信号による信号組の同時変化回数として算出し、前記複数の信号における信号組毎に前記同時変化回数を集計し、同時変化回数表を生成し、
前記同時変化回数表は記憶装置に格納され、
前記信号割り当て部は、前記同時変化回数表に基づいて、前記複数の信号の出力先となる多重化回路を割り当てる
回路設計支援装置。
【請求項８】
請求項７に記載の回路設計支援装置において、
前記信号割り当て部は、前記複数の信号における全ての信号組のうち、前記同時変化回数が最も多い第１信号組から順に、送信信号の出力先となる端子を割り当て、
前記第１信号組の各信号は、異なる２つの多重化回路に割り当てられる
回路設計支援装置。
【請求項９】
請求項８に記載の回路設計支援装置において、
前記複数の多重化回路は、それぞれ対応する第１端子と第２端子を備え、
前記信号割り当て部は、前記同時変化回数が多い信号から順に、前記複数の多重化回路のそれぞれの第１端子に割り当て、全ての第１端子に信号を割り当てた後、未割り当ての信号のうち、前記同時変化回数が最も多い信号を選択し、前記選択された信号と、前記第１端子に割り当てられた信号との同時変化回数が最も小さい多重化回路の第２端子に、前記選択された信号を割り当てる
回路設計支援装置。
【請求項１０】
請求項８又は９に記載の回路設計支援装置において、
前記信号割り当て部は、未割り当ての信号から同時変化回数が最も多い信号組を選択し、前記選択された信号組が複数ある場合、前記未割り当ての信号のうち、次に多い同時変化回数の信号を、多重化回路に割り当てる信号として、前記選択された信号組から選択する
回路設計支援装置。
【請求項１１】
請求項８又は９に記載の回路設計支援装置において、
前記信号割り当て部は、未割り当ての信号から同時変化回数が最も多い信号組を選択し、前記選択された信号組が複数ある場合、前記選択された信号組のうち、次に多い同時変化回数の信号を、多重化回路に割り当てる信号として、前記選択された信号組から選択する
回路設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多重化通信回路、及びその設計方法に関し、特に、複数の多重化回路を用いてデバイス間の通信を行う信号伝達回路、及びその設計方法に関する。
【背景技術】
【０００２】
半導体技術の進歩によりＬＳＩの集積度は年々向上し、それに伴い必要な信号数に対してデバイスの物理端子数が不足するという問題がますます大きくなっている。このような物理端子数の不足を解消する方法として、１つのデバイスを複数のデバイスに分けて設計することが行われることがある。このような場合、デバイス間の信号伝達が必要となる。デバイス間の信号伝達方法としては、パラレル−シリアル変換を用いて複数のデータを１つの信号線に時分割多重化して転送することにより物理端子数の不足をカバーする方法が最も一般的に用いられる。この方法において、データ伝送の高速化、あるいは、システム全体の高速動作を実現するためには、データ転送用のクロックの周波数を、多重化する信号数に応じて、回路動作用のクロックよりも高速に設定する必要がある。
【０００３】
デバイス間の信号伝達を、多重化回路を介して行う装置の一例として、国際公開第２００６／１２９５７９号に記載の装置が知られている（特許文献１参照）。図１〜図４を参照して、特許文献１に記載の装置の構成及び動作について説明する。
【０００４】
図１は、特許文献１に記載の信号伝達装置の構成を示すブロック図である。ここでは、デバイス１０からデバイス２０へ３本の信号Ｓ１〜Ｓ３（以下、送信信号Ｓ１〜Ｓ３と称す）が送信される場合を一例として説明する。
【０００５】
送信側のデバイス１０は送信回路１０１と送信モジュール１０２を備える。送信回路１０１から出力された送信信号Ｓ１〜Ｓ３は、送信モジュール１０２によって変更箇所信号及び変更終了信号を含む伝達情報ＳＴに変換され、受信側のデバイス２０へ送信される。
【０００６】
変更箇所信号は、送信信号Ｓ１〜Ｓ３のうちのどの論理値が変更されたかを識別するための信号である。送信信号数をＮとしたとき、変更箇所信号は、整数Ｎを２進表示するために必要な最少のビット数を有する。変更終了信号は、動作サイクルの長さ（回路動作用クロックＣＬＫＣの周期長）を決定する。詳細には、変更終了信号は、各動作サイクルにおいて送信信号Ｓ１〜Ｓ３の変更がすべて終了したこと（変更が無かったことも含む。）を示す信号である。このため、変更された送信信号の数によって変更終了信号が出力されるタイミングは前後する。例えば、全ての送信信号Ｓ１〜Ｓ３が変更された場合には、初期値として設定された動作サイクルの時間間隔に対応したタイミングで変更終了信号が出力される。送信信号Ｓ１〜Ｓ３のいずれも変更がない場合には、最短時間で（ここではデータ転送用クロックＣＬＫＤの１周期で）変更終了信号が出力される。このときの動作サイクルはデータ転送用クロックＣＬＫＤの１周期となる。クロック生成部３０は、変更終了信号を利用して回路動作用クロックＣＬＫＣを生成し、送信回路１０１、送信モジュール１０２、受信回路２０１に出力する。変更箇所信号は、有効か無効かを示すことができればよいため、少なくとも１ビットの信号であればよい。
【０００７】
受信側のデバイス２０は、受信回路２０１と受信モジュール２０２を備える。受信モジュール２０２は変更箇所信号及び変更終了信号を含む伝達情報ＳＴを受信し、変更された送信信号を検出することで、送信信号Ｓ１〜Ｓ３にそれぞれ対応した受信信号Ｓ１’〜Ｓ３’を受信回路２０１へ出力する。
【０００８】
送信モジュール１０２と受信モジュール２０２との間における伝達情報ＳＴの送受信と、受信モジュール２０２の変更検出動作はデータ転送用クロックＣＬＫＤに同期して行われる。又、送信回路１０１、送信モジュール１０２、及び受信回路２０１の動作は回路動作用クロックＣＬＫＣに同期して行われる。データ転送用クロックＣＬＫＤは発振器４０によって生成される。クロック生成部３０は、データ転送用クロックＣＬＫＤを変更終了信号の出力タイミングに従って制御することで回路動作用クロックＣＬＫＣを生成する。
【０００９】
送信モジュール１０２には、送信信号Ｓ１〜Ｓ３にそれぞれ対応した３個の変更判定部１０４〜１０６と送信部１０３とが設けられている。３個の変更判定部１０４〜１０６の各々はＤフリップフロップ回路ＤＦＦＴｉ及び排他的論理和回路Ｃｉを備える（ただし、ｉは１〜３のいずれか）。Ｄフリップフロップ回路ＤＦＦＴｉには、１つ前の動作サイクルにおける送信信号Ｓｉの値（起動時は所定値“０”）が格納される。従って、排他的論理和回路Ｃｉは、送信回路１０１から入力した現在の値（論理値）とＤフリップフロップ回路ＤＦＦＴｉに格納されている１つ前の値（論理値）とが異なれば（すなわち変更があれば）、論理値“１”の判定信号Ｓｃｉを送信部１０３へ出力し、一致すれば（すなわち変更がなければ）、論理値“０”の判定信号Ｓｃｉを送信部１０３へ出力する。
【００１０】
送信部１０３はエンコード機能を有する。排他的論理和回路Ｃ１〜Ｃ３から入力された３個の判定信号Ｓｃ１〜Ｓｃ３に基づき、どの判定信号が論理値“１”であるかに応じて変更箇所信号及び変更終了信号の値を設定する。このとき、信号の設定アルゴリズムは予め決められているものとする。判定信号Ｓｃ１〜Ｓｃ３に応じて設定された変更箇所信号及び変更終了信号は、データ転送用クロックＣＬＫＤに同期してデバイス２０へ送信される。
【００１１】
受信モジュール２０２には、受信部２０３と、受信信号Ｓ１’〜Ｓ３’にそれぞれ対応した排他的論理和回路Ｄ１〜Ｄ３及びＤフリップフロップ回路ＤＦＦＲ１〜ＤＦＦＲ３とが設けられている。
【００１２】
受信部２０３は、送信部１０３のエンコード機能に対応するデコード機能を有し、受信した変更箇所信号の値から変更のあった信号を識別する。受信部２０３は、識別結果を、排他的論理和回路Ｄ１〜Ｄ３の出力を反転させるための反転信号ＳＲ１〜ＳＲ３として出力する。この際、変更のあった送信信号に対応する反転信号ＳＲｉをアクティブにする。排他的論理和回路Ｄ１〜Ｄ３は、受信部２０３から入力される反転信号ＳＲ１〜ＳＲ３と、Ｄフリップフロップ回路ＤＦＦＲ１〜ＤＦＦＲ３に格納されていた１つ前の受信信号Ｓ１’〜Ｓ３’との排他的論理和をＤフリップフロップ回路ＤＦＦＲ１〜ＤＦＦＲ３に出力する。これにより、現在の変更を示す信号ＳＲ１〜ＳＲ３と１つ前の受信信号Ｓ１’〜Ｓ３’との一致／不一致が検出される。例えば、変更を示す信号ＳＲｉがアクティブ（“１”）であれば、対応するＤフリップフロップ回路ＤＦＦＲｉに格納された値は反転し、インアクティブ（“０”）であれば、対応するＤフリップフロップ回路ＤＦＦＲｉに格納された値はそのまま保持される。
【００１３】
このように、変更箇所信号の値により特定された信号Ｓｉ’だけが変更され、その他の信号は前サイクルのまま変化せずに保持される。従って、受信回路２０１は、回路動作用クロックＣＬＫＣに従ってＤフリップフロップ回路ＤＦＦＲ１〜ＤＦＦＲ３からデータを読み出すことで、送信信号Ｓ１〜Ｓ３の復元信号を動作サイクル毎に入力され得る。
【００１４】
図２は、送信部１０３の構成を示すブロック図である。図２に示すように、送信部１０３は、排他的論理和回路１１０〜１１２、プライオリティエンコーダ１１３、及びＳＲフリップフロップ回路１１４〜１１６を備える。排他的論理和回路１１０は、入力される判定信号Ｓｃ１とＳＲフリップフロップ回路１１４の出力Ｘ０４との排他的論理和（出力Ｘ０１）をプライオリティエンコーダ１１３の入力Ａに出力する。同様に、排他的論理和回路１１１は、入力される判定信号Ｓｃ２とＳＲフリップフロップ回路１１５の出力Ｘ０５との排他的論理和（出力Ｘ０２）をプライオリティエンコーダ１１３の入力Ｂに出力する。排他的論理和回路１１２は、入力される判定信号Ｓｃ３とＳＲフリップフロップ回路１１６の出力Ｘ０６との排他的論理和（出力Ｘ０３）をプライオリティエンコーダ１１３の入力Ｃに出力する。
【００１５】
プライオリティエンコーダ１１３の出力Ｑは、送信信号Ｓ１〜Ｓ３のどの信号が変更されたかを識別するための値（変更箇所信号）“０”、“１”、“２”及び変更無を示す値（変更終了信号）“３”のいずれかとなる。出力Ｑは、伝達情報ＳＴとして出力されるとともに、“０”、“１”、“２”及び“３”のいずれかと一致するか否かを検出する一致検出回路を介してＳＲフリップフロップ回路１１４〜１１６にフィードバックされる。
【００１６】
出力Ｑが値“０”と一致したときはＳＲフリップフロップ回路１１４のセット入力が“１”となり、次のクロック変化でＳＲフリップフロップ回路１１４の出力Ｘ０４が“１”となる。出力Ｑが値“１”と一致したときはＳＲフリップフロップ回路１１５のセット入力が“１”となり、次のクロック変化でＳＲフリップフロップ回路１１５の出力Ｘ０５が“１”となる。出力Ｑが値“２”と一致したときはＳＲフリップフロップ回路１１６のセット入力が“１”となり、次のクロック変化でＳＲフリップフロップ回路１１６の出力Ｘ０６が“１”となる。出力Ｑが値“３”と一致したときは、ＳＲフリップフロップ回路１１４、１１５、１１６のリセット入力ＣＬＲが“１”となり、次のクロック変化で出力Ｘ０４、Ｘ０５、Ｘ０６は“０”になる。
【００１７】
プライオリティエンコーダ１１３は、図３に示すような真理値表に従い、エンコーダ入力Ｘ０１〜Ｘ０３の値に応じて出力Ｑ、すなわち伝達情報ＳＴを変化させる。図３を参照して、エンコーダ入力Ｘ０１（入力Ａ）が“１”のとき、他のエンコーダ入力に関わらず出力Ｑは“０”となる。すなわち、送信信号Ｓ１が変更されたとき、出力Ｑは“０”となる。エンコーダ入力Ｘ０１（入力Ａ）が“０”、エンコーダ入力Ｘ０２（入力Ｂ）が“１”のとき、エンコーダ入力Ｘ０３に関わらず出力Ｑは“１”となる。すなわち、送信信号Ｓ２が変更されたとき、出力Ｑは“１”となる。エンコーダ入力Ｘ０１、Ｘ０２が“０”、エンコーダ入力Ｘ０３（入力Ｃ）が“１”のとき、出力Ｑは“２”となる。すなわち、送信信号Ｓ３が変更されたとき、出力Ｑは“２”となる。エンコーダ入力Ｘ０１〜Ｘ０３の全てが“０”のとき、出力Ｑは“３”となる。すなわち、送信信号Ｓ１〜Ｓ３の全てが変更されないとき出力Ｑは“０”となる。
【００１８】
受信部２０３はプライオリティエンコーダ１１３に対応するデコーダを備えており、受信した変更箇所信号の値“０”、“１”、“２”に従って、どの信号が変更されたかを知ることができる。又、受信部２０３は、変更終了信号の値“３”によって、動作サイクルの終了及び変更なしを検出できる。
【００１９】
次に、図４を参照して、特許文献１に記載の信号伝達装置の動作を説明する。図４は、特許文献１に記載の信号伝達動作を示すタイミングチャートである。
【００２０】
図４（ａ）はデータ転送用クロックＣＬＫＤ、（ｂ）は変更箇所信号及び変更終了信号を含む伝達情報ＳＴ、（ｃ）は回路動作用クロックＣＬＫＣ、（ｄ）は送信信号Ｓ１〜Ｓ３、（ｅ）は受信信号Ｓ１’〜Ｓ３’、（ｆ）は判定信号Ｓｃ１〜Ｓｃ３、（ｇ）はプライオリティエンコーダ１１３の入力となる信号Ｘ０１〜Ｘ０３、（ｈ）はＳＲフリップフロップ回路１１４〜１１６の出力Ｘ０４〜Ｘ０６の波形をそれぞれ示す。
【００２１】
ここでは、説明のために次のように仮定する。時刻ｔ０において送信信号Ｓ１〜Ｓ３が“０”から“１”へ立ち上がり、その後、送信信号Ｓ１は変化せず、送信信号Ｓ２は時刻ｔ７で“１”から“０”へ立ち下がり、送信信号Ｓ３は時刻ｔ５で“１”から“０”へ立ち下がり、時刻ｔ７で再び“０”から“１”へ立ち上がるものとする。又、時刻ｔ０において、送信側のＤフリップフロップ回路ＤＦＦＴ１〜ＤＦＦＴ３及び受信側のＤフリップフロップ回路ＤＦＦＲ１〜ＤＦＦＲ３は全て“０”に設定されるものとする。
【００２２】
時刻ｔ０において、クロック生成部３０は回路動作用クロックＣＬＫＣを立ち上げ、第１の動作サイクルＣＹＣ１を開始する。時刻ｔ１では、送信信号Ｓ１〜Ｓ３はすべて“０”から“１”へ立ち上がる。この際、Ｄフリップフロップ回路ＤＦＦＴ１〜ＤＦＦＴ３には“０”が設定されているので、排他的論理和回路Ｃ１〜Ｃ３の判定信号Ｓｃ１〜Ｓｃ３は全て“１”となる。これにより排他的論理和回路１１０〜１１２の出力Ｘ０１〜Ｘ０３は立ち上がる。エンコーダ１１３の入力Ｘ０１が“１”になることで出力Ｑ、すなわち変更箇所信号ＳＬの値が“０”となる。出力Ｑが“０”の時、ＳＲフリップフロップ回路１１４のセット入力が“１”となるので、次の時刻ｔ１におけるクロック変化でＳＲフリップフロップ回路１１４の出力Ｘ０４が立ち上がる。これによって排他的論理和回路１１０の出力Ｘ０１は“１”から“０”に立ち下がる。
【００２３】
同様の動作により、送信部１０３のプライオリティエンコーダ１１３は、変更箇所信号として値“０”（時刻ｔ０〜ｔ１）、値“１”（時刻ｔ１〜ｔ２）、値“２”（時刻ｔ２〜ｔ３）のシーケンスを生成し、すべての変更が終了すると変更終了信号ＳＥとして値“３”（時刻ｔ３〜ｔ４）を生成する。この結果、図４に示すように、送信部１０３は、データ転送用クロックＣＬＫＤに従って、“０”（時刻ｔ０〜ｔ１）、“１”（時刻ｔ１〜ｔ２）、“２”（時刻ｔ２〜ｔ３）、“３”（時刻ｔ３〜ｔ４）のシーケンスをデバイス２０へ送信する。
【００２４】
受信側のデバイス２０において、受信部２０３は、変更箇所信号ＳＬとして値“０”を受信すると、それが信号Ｓ１の変更通知であることを認識し、反転信号ＳＲ１をアクティブにし、フリップフロップ回路ＤＦＦＲ１の値を“０”から“１”へ反転させる。これによって、時刻ｔ１で受信信号Ｓ１’が“０”から“１”に立ち上がる。同様に、時刻ｔ２において受信信号Ｓ２’が“０”から“１”に立ち上がり、時刻ｔ３において受信信号Ｓ３’が“０”から“１”に立ち上がる。
【００２５】
クロック生成部３０は、変更終了信号として値“３”を検出する時刻ｔ３〜時刻ｔ４の間で回路動作用クロックＣＬＫＣを立ち下げ、時刻ｔ４でデータ転送用クロックＣＬＫＤに同期して再び回路動作用クロックＣＬＫＣを立ち上げる。こうして第１の動作サイクルＣＹＣ１の動作が終了する。
【００２６】
時刻ｔ４において、データ転送用クロックＣＬＫＤに同期して回路動作用クロックＣＬＫＣが立ち上がると、第２の動作サイクルＣＹＣ２の動作が開始する。この際、送信信号Ｓ１〜Ｓ３の全ての値が変更されないため、伝達情報ＳＴには変更終了信号として値“３”のみが出力される。従って、クロック生成部３０は、変更終了信号“３”を検出する時刻ｔ４〜ｔ５の間、回路動作用クロックＣＬＫＣを立ち下げ、時刻ｔ５でデータ転送用クロックＣＬＫＤに同期して再び回路動作用クロックＣＬＫＣを立ち上げる。こうして第２の動作サイクルＣＹＣ２の動作が終了する。
【００２７】
時刻ｔ５において、データ転送用クロックＣＬＫＤに同期して回路動作用クロックＣＬＫＣが立ち上がると、第３の動作サイクルＣＹＣ３の動作が開始する。この際、送信信号Ｓ３のみが“１”から“０”へ立ち下がる。この時点でＤフリップフロップ回路ＤＦＦＴ１〜ＤＦＦＴ３にはすべて“１”が格納されているので、排他的論理和回路Ｃ１〜Ｃ３の判定信号Ｓｃ１〜Ｓｃ３は（“０”，“０”，“１”）となる。従って、送信部１０３は、変更箇所信号として値“２”を生成し（時刻ｔ５〜ｔ６）、更に変更すべき信号が残っていないので変更終了信号“３”を生成する（時刻ｔ６〜ｔ７）。この結果、図４に示すように、送信部１０３は、データ転送用クロックＣＬＫＤ  に従って、“２”（時刻ｔ５〜ｔ６）及び“３”（時刻ｔ６〜ｔ７）のシーケンスをデバイス２０へ送信する。
【００２８】
受信側の受信部２０３は、変更箇所信号として値“２”を受信すると、それが送信信号Ｓ３の変更通知であることを認識し、反転信号ＳＲ３をアクティブにしてフリップフロップ回路ＤＦＦＲ３の値を“１”から“０”へ反転させる。これによって、時刻ｔ６において受信信号Ｓ３’が“１”から“０”に立ち下がる。その他の受信信号Ｓ１’、Ｓ２’の値は変更せず、そのままの値を維持する。
【００２９】
クロック生成部３０は、変更終了信号として値“３”を検出する時刻ｔ６〜時刻ｔ７の間で回路動作用クロックＣＬＫＣを立ち下げ、時刻ｔ７でデータ転送用クロックＣＬＫＤに同期して再び回路動作用クロックＣＬＫＣを立ち上げる。こうして第３の動作サイクルＣＹＣ３の動作が終了する。続く第４の動作サイクルＣＹＣ４も同様の動作となる。
【先行技術文献】
【特許文献】
【００３０】
【特許文献１】国際公開第２００６／１２９５７９号
【発明の概要】
【発明が解決しようとする課題】
【００３１】
一般的に、デバイス間の論理信号数が多くなった場合、送信側及び受信側の多重化回路を１組で構成すると、変化した信号数分の通信が発生してしまい、通信効率が悪くなる。このため、物理端子数が２端子以上設定できる場合は、多重化回路の組を複数で構成する必要がある。
【００３２】
従来技術では、多重化回路の組を複数で実現する場合、全ての多重化回路の組の送信モジュール１０２および受信モジュール２０２は、共通のデータ転送用クロックＣＬＫＤと回路動作用クロックＣＬＫＣに同期して動作する。
【００３３】
従来技術の構成では、複数組の多重化回路の中のある１つの送信モジュール１０２から値“３”以外の伝達情報ＳＴが送信されると、他の送信モジュール１０２からの伝達情報ＳＴとして値“３”が送信されていても回路動作用クロックＣＬＫＣは変化しない。例えば、複数の多重化回路の中のある１つの送信モジュール１０２の伝達情報ＳＴから値“０”、“１”、“２”が送信されると、別の送信モジュール１０２の伝達情報ＳＴから値“０”、“３”と送信されたとしても、回路動作用クロックＣＬＫＣは、ある１つの送信モジュール１０２の伝達情報ＳＴから“３”が送信されるまで停止した状態となる。すなわち、用意された多重化回路の全ての送信モジュール１０２から変更終了情報“３”が出力されるまで、当該動作サイクルは終了しない。
【００３４】
変更終了情報を出力済みの多重化回路は、他の多重化回路から変更終了情報が出力されるまでの間、待機状態となるため、データの転送効率は低下してしまう。又、動作サイクルが長大化するため、データの転送速度も低下してしまう。このような問題は、デバイス間に並列に設けられる多重化回路の数や、１つの多重化回路で多重化される信号数が多くなるほど、発生し易くなる。すなわち、従来技術では、デバイス間の論理信号数がデバイス間の物理端子数より多くなるにつれ、動作速度が低下するという問題がある。
【課題を解決するための手段】
【００３５】
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、［特許請求の範囲］の記載と［発明を実施するための形態］の記載との対応関係を明らかにするために、［発明を実施するための形態］で使用される番号・符号が付加されている。ただし、付加された番号・符号は、［特許請求の範囲］に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
【００３６】
本発明による回路設計方法は、２つのデバイス間の複数の信号の伝達を、複数の多重化回路を介して行う信号伝達回路の設計方法である。本発明による回路設計方法は、所定の期間内における複数の信号の論理値の変化の有無を検出するステップと、その検出結果に基づいて、所定の期間において２つの信号が変化する動作サイクルの数を、２つの信号による信号組の同時変化回数として算出するステップと、複数の信号における信号組毎に同時変化回数を集計し、同時変化回数表（７）を生成するステップと、同時変化回数表（７）に基づいて、複数の信号の出力先となる多重化回路を割り当てるステップとを具備する。
【００３７】
本発明による回路設計方法は、記録装置に記録可能な回路設計プログラム（１００）をコンピュータによって実行することで実現されることが好ましい。
【００３８】
本発明による回路設計支援装置は、２つのデバイス間の複数の信号の伝達を、複数の多重化回路を介して行う信号伝達回路を設計するための回路設計支援装置である。本発明による回路設計支援装置は、同時変化回数算出部（２）と、信号割り当て部（３）とを具備する。同時変化回路算出部（２）は、所定の期間内における複数の信号の論理値の変化の有無を検出する。又、同時変化回数算出部（２）は、複数の信号の論理値の変化の有無の検出結果に基づいて、所定の期間において２つの信号が変化する動作サイクルの数を、２つの信号による信号組の同時変化回数として算出する。更に、同時変化回数算出部（２）は、複数の信号における信号組毎に同時変化回数を集計し、同時変化回数表（７）を生成する。生成された同時変化回数表（７）は、記憶装置に記録される。信号割り当て部（３）は、同時変化回数表（７）に基づいて、複数の信号の出力先となる多重化回路を割り当てる。
【００３９】
以上のように、本発明では、２つの信号が変化する動作サイクルの数（同時変化回数）に応じて信号を割り当てる多重化装置を決定している。このため、同一サイクル内で変化する可能性の高い２つの信号を任意の多重化回路に割り当てることが可能となる。例えば、同時変化回数の大きい２つの信号をそれぞれ異なる多重化端子の端子に割り当てることが好ましい。あるいは、既に端子に割り当てられた信号との同時変化回数が少ない信号を、当該端子を有する多重化回路の他の端子に割り当てることが好ましい。これにより、１つの多重化回路で通信する回数を減らし、他の多重化回路との同時変化回数を増やすことが可能となる。
【発明の効果】
【００４０】
本発明によれば、複数の多重化回路を利用したデバイス間の情報伝達の伝送効率を向上させる。
【００４１】
又、複数の多重化回路を利用したデバイス間の情報伝達速度を向上できる。
【図面の簡単な説明】
【００４２】
【図１】図１は、特許文献１に記載の信号伝達装置の構成を示すブロック図である。
【図２】図２は、信号伝達回路における送信部の構成を示すブロック図である。
【図３】図３は、送信部におけるプライオリティエンコーダの動作を制御する真理値表である。
【図４】図４は、本発明による統計多重装置の初期化設定動作を示すフロー図である。
【図５】図５は、本発明による回路設計支援装置の実施の形態における構成図である。
【図６】図６は、本発明による回路設計支援装置の実施の形態における機能ブロック図である。
【図７Ａ】図７Ａは、本発明による回路設計支援装置で使用されるタイミング情報の一例を示す図である。
【図７Ｂ】図７Ｂは、本発明による回路設計支援装置で使用されるタイミング情報の一例を示す図である。
【図８】図８は、本発明による回路設計支援装置で作成された同時変化回数表の一例を示す図である。
【図９】図９は、本発明による回路設計動作の全体の流れを示すフロー図である。
【図１０】図１０は、本発明による回路設計支援装置によって設計される信号伝達回路の構成の一例を示す図である。
【図１１】図１１は、本発明による同時変化表の作成動作を示すフロー図である。
【図１２】図１２は、本発明による多重化回路の第１端子に対する信号の割り当て動作の詳細を示すフロー図である。
【図１３】図１３は、デバイス間に配置される予定の複数の多重化回路と端子との対応関係を示す図である。
【図１４】図１４は、本発明による多重化回路の第２の端子以降の端子に対する信号の割り当て動作の詳細を示すフロー図である。
【図１５】図１５は、本発明による設計方法によって多重化回路の第１端子に信号が割り当てられた状態の一例を示す図である。
【図１６Ａ】図１６Ａは、本発明による設計方法によって多重化回路の第２端子以降に信号が割り当てられた状態の一例を示す図である。
【図１６Ｂ】図１６Ｂは、本発明による設計方法によって多重化回路の第２端子以降に信号が割り当てられた状態の一例を示す図である。
【図１６Ｃ】図１６Ｃは、本発明による設計方法によって多重化回路の第２端子以降に信号が割り当てられた状態の一例を示す図である。
【図１６Ｄ】図１６Ｄは、本発明による設計方法によって多重化回路の第２端子以降に信号が割り当てられた状態の一例を示す図である。
【図１６Ｅ】図１６Ｅは、本発明による設計方法によって多重化回路の第２端子以降に信号が割り当てられた状態の一例を示す図である。
【図１６Ｆ】図１６Ｆは、本発明による設計方法によって多重化回路の第２端子以降に信号が割り当てられた状態の一例を示す図である。
【図１６Ｇ】図１６Ｇは、本発明による設計方法によって多重化回路の第２端子以降に信号が割り当てられた状態の一例を示す図である。
【図１７】図１７は、本発明による回路設計支援装置によって信号の多重化回路への接続画完了した信号伝達回路の構成の一例を示す図である。
【図１８Ａ】図１８Ａは、比較回路の所定の期間における信号の変化及び通信回数を示す図である。
【図１８Ｂ】図１８Ｂは、比較回路の所定の期間における信号の変化及び通信回数を示す図である。
【図１９Ａ】図１９Ａは、本発明による設計方法によって設計された信号伝達回路の所定の期間における信号の変化及び通信回数を示す図である。
【図１９Ｂ】図１９Ｂは、本発明による設計方法によって設計された信号伝達回路の所定の期間における信号の変化及び通信回数を示す図である。
【発明を実施するための形態】
【００４３】
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。本実施の形態では、一例として１２本の物理端子を有するデバイス間を４組の多重化装置によって接続する信号伝達装置を設計する方法及び設計支援装置について説明する。
【００４４】
（回路設計支援装置の構成）
図５から図８を参照して、本発明による回路設計支援装置の実施の形態における構成を説明する。図５は、本発明による回路設計支援装置の実施の形態における構成図である。本発明による回路設計支援装置は、出力装置４０１、コンピュータ本体４０２、入力装置４０３、外部記憶装置４０４を備える。回路設計支援装置は、図示しないインタフェースを介してインターネット４０６に例示されるネットワークを介して他のコンピュータ装置に接続されても良い。
【００４５】
コンピュータ本体４０２は、バスを介して相互に接続されるＣＰＵ４０８、ＲＯＭ４０９、ＲＡＭ４１０、記憶装置４１１を備える。記憶装置４１１はハードディスクやメモリ等に例示される記憶装置である。入力装置４０３は、キーボード４２１やマウス４２２に例示され、ユーザによって操作されることで、各種データをＣＰＵ４０８や記憶装置４１１に出力する。出力装置４０１は、モニタやプリンタに例示され、ＣＰＵ４０８から出力される回路設計結果をユーザに対し視認可能に出力する。外部記憶装置４０４は、持ち運びが可能な記録媒体４０５（例えば光ディスク）に対して情報を記録又は再生する。
【００４６】
記憶装置４１１は、図６に示す回路設計プログラム１００を格納する。回路設計プログラム１００は、記録媒体４０５あるいはインターネット４０６を使ったネット配信などを介して、ＣＰＵ４０８により記憶装置４１１に格納されても良い。記憶装置４１１には、図６で示すように、回路設計情報５、タイミング情報６、及び同時変化回数表７を格納できる領域を有する。尚、回路設計プログラム１００は、ＲＯＭ４０９に格納されていても良い。
【００４７】
ＣＰＵ４０８は、入力装置４０３からの入力に応答して、記憶装置４１１内（又はＲＯＭ４０９内）の回路設計プログラム１００を実行し、デバイス間の信号の多重化を行う多重化装置の配置及び信号線の接続を行う。この際、記憶装置４１１やＲＯＭ４０９からの各種データやプログラムはＲＡＭ４１０に一時格納され、ＣＰＵ４０８は、ＲＡＭ４１０内のデータを用いて各種処理を実行する。
【００４８】
回路設計プログラム１００は、ＣＰＵ４０８によって実行されることで、図６に示す多重化回路設定部１、同時変化回数算出部２、信号割り当て部３、信号接続部４の各機能を実現する。
【００４９】
図６から図８を参照して、回路設計プログラム１００を実行することで実現する各機能について説明する。
【００５０】
多重化回路設定部１は、回路設計情報５を用いて、デバイス間に設置する多重化回路の数や１つの多重化回路で多重化する信号数を設定する。回路設計情報５には、設計対象となる論理回路に関する情報が含まれる。多重化回路設定部１は、設計対象の論理回路を複数の論理グループに分割し、各論理グループに対応するデバイス、及び当該デバイスに設ける物理端子数を設定する。論理グループに対応するデバイスは、プログラム可能なデバイス（例えばＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ））で実現することが好ましい。
【００５１】
又、多重化回路設定部１は、デバイスの物理端子数とデバイス間で送受信される論理信号数との比較結果に応じてデバイス間に設ける多重化回路の数とその多重化能力（多重化する信号数等）を設定する。
【００５２】
同時変化回数算出部２は、デバイス間を伝達する論理信号のタイミング情報６を用いて、多重化回路に接続する信号間の同時変化回数を算出し、同時変化回数表７を作成する。図７Ａ及び図７Ｂにタイミング情報６の一例を示す。タイミング情報６は、所定のタイミング（所定の期間：チェックポイント）における信号の変化（論理値の遷移）の有無を、多重化される信号毎に対応付けた情報である。チェックポイントは、回路の動作サイクル（シミュレーション時における回路動作用クロックの１周期）に対応して設定される。図７Ａ及び図７Ｂに示す一例では、デバイス間において多重化される候補となる信号が１２本の信号Ａ〜Ｌであり、クロック信号の１周期目〜４５周期目のそれぞれにおける各信号の変化の有無が示される。回路シミュレーションの結果、各チェックポイントにおいて、信号Ａ〜Ｌのそれぞれは、その論理値が遷移（変化）する場合と、しない場合がある。図７Ａ及び図７Ｂでは、信号が変化する場合を“１”とし、変化しない場合を空欄として表現した。例えば、信号Ａは、１周期目から４５周期目まで全てのタイミングでその論理値が変化し、信号Ｌは、１周期目、１３周期目、２５周期目、３７周期目でその論理値が変化し、他の期間は変化しないことを示す。
【００５３】
ここで、信号Ａ〜Ｌのうち、複数の信号が同じチェックポイントにおいて変化することがある。本実施の形態では、このような状態を「複数の信号が同時に変化する」と称す。  同時変化回数算出部２は、タイミング情報６を用いて、２つの信号（信号組）が同時に変化するチェックポイント（動作サイクル）の数（以下、同時変化回数と称す）を信号組毎に集計し、図８に示すような同時変化回数表７を作成する。例えば、図７Ａを参照して、５周期目において、信号Ａと信号Ｂ、信号Ａと信号Ｃ、及び信号Ｂと信号Ｃがそれぞれ同時に変化している。この場合、図８に示す信号組Ａ−Ｂ、Ａ−Ｃ、Ｂ−Ｃに対応する同時変化回数がそれぞれ１つずつカウントアップされる。
【００５４】
図７Ａ及び図７Ｂに示すタイミング情報６に基づいて生成された同時変化回数表７を図８に示す。図８を参照して、同時変化回数表７には、縦軸に記載の信号Ａ〜Ｌと横軸に記載の他の信号とが、所定の期間中（１周期目〜４５周期目までの期間）に同時に変化した回数が記録される。例えば、縦軸に記載の信号Ａと横軸に記載の信号Ｂの交差領域には、１周期目〜４５周期目までに期間信号Ａと信号Ｂとが同時に変化した回数が記録される。換言すると、当該交差領域には、１周期目〜４５周期目までに信号組Ａ−Ｂが同時に変化した回数が記録される。尚、図８では、信号Ａと他の信号である信号Ｂとが同時に変化した回数と、信号Ｂと他の信号である信号Ａとが同時に変化した回数は同じであるため、一方の記載は省略してある。他の信号についても同様である。
【００５５】
図６を参照して、信号割り当て部３は、同時変化回数表７を用いて、多重化対象となる信号を複数の多重化回路のいずれかに割り当てる。信号割り当て部３は、同時変化回数が大きい２つの信号を、異なる多重化回路に割り当てる。又、多重化回路に既に割り当てられた信号との同時変化回数が少ない信号を当該多重化回路に割り当てる。信号の端子への割り当て動作の詳細は後述する。
【００５６】
以上のように、本発明による回路設計支援装置は、信号間において同時に変化する回数に応じて、複数の多重化回路に接続する信号を割り当てる。これにより、信号伝達時において複数の多重化回路による並列動作の回数が増大し、信号伝達回路の動作効率を向上させることが可能となる。又、回路動作用クロックＣＬＫＣの１周期における通信回数を減じることができるため、信号伝達時間を短縮することが可能となる。これらの効果についての詳細は後述する。
【００５７】
（回路設計動作）
次に、図７Ａから図１７を参照して、本発明による設計支援装置を用いた信号伝達回路の設計動作の詳細を説明する。
【００５８】
図９は、本発明による回路設計動作の全体の流れを示すフロー図である。図９を参照して、本発明による回路設計動作（多重化回路への信号割り当て動作）の全体の流れを説明する。
【００５９】
先ず、多重化回路設定部１は、論理検証対象となる論理回路を複数の論理グループに分割する（ステップＳ１０）。詳細には、多重化回路設定部１は、複数の論理グループを、複数のプログラム可能なデバイス（例えば、ＦＰＧＡ）によって実現することで、論理回路の分割を行う。例えば、図１０に示すように、論理検証対象となる論理回路を、２つの論理グループに対応するデバイス３０１、３０２に分割する。
【００６０】
多重化回路設定部１は、論理グループ間の論理信号数（以下、論理信号数と称す）が、プログラム可能なデバイス間の物理端子数（以下、物理端子数と称す）を超えているかどうかの判定を行う（ステップＳ２０）。この際、論理信号数が、物理端子数を超えていない場合は、処理を終了する（ステップＳ２０Ｙｅｓ）。この場合、論理信号数を多重化する必要がないため、多重化回路の挿入を行わずに、論理回路の複数デバイスへの分割処理（置換処理）のみで回路設計処理を終了する。
【００６１】
一方、論理信号数が物理端子数を超えている場合、多重化回路設定部１は、論理グループ間の論理信号の中から多重化候補（多重化対象）となる信号を選び出し、論理信号を多重化する多重化回路の数と、当該多重化回路に接続する信号数を決定する（ステップＳ２０Ｎｏ、ステップＳ３０）。ここでは、一例として、デバイス３０１、３０２の間の１２本の信号Ａ〜Ｌが多重化対象として選択され、それぞれが３本の信号を多重化する多重化回路が４組（送信側回路及び受信側回路を１組とする）設定される。
【００６２】
ステップＳ１０〜Ｓ３０の動作により、本発明による設計支援装置は、検証対象論理回路を、図１０に示す信号伝達回路として設定する。図１０を参照して、デバイス３０１、３０２はそれぞれ、信号送受信機能を有してもよいが、説明を簡略化するため、デバイス３０１に信号送信機能のみ、デバイス３０２には信号受信機能のみを記載している。
【００６３】
送信側のデバイス３０１は、ユーザ回路部３０３（以下、ＵＤＬ３０３（ＵＤＬ：Ｕｓｅｒ  Ｄｅｓｉｇｎ  Ｌｏｇｉｃ）と称す）と送信モジュールを備える。ＵＤＬ３０３は、従来技術による送信回路１０１と同様に、複数の信号Ａ〜Ｌを出力する。送信モジュールは、複数の多重化回路３０５〜３０８を備え、従来技術による送信モジュール１０２と同様にユーザ回路部３０３からの信号を多重化し、変更箇所信号及び変更終了信号を含む伝達情報ＳＴとしてデバイス３０２に送信する。本一例では、信号Ａ〜Ｌを、４つの多重化回路３０５〜３０８で多重化し、３本の伝達情報ＳＴとして受信側のデバイス３０２に送信する。多重化回路３０５〜３０８のそれぞれは、複数の端子Ｓ１〜Ｓ３に入力される信号を多重化し、変更箇所信号及び変更終了信号を含む伝達情報ＳＴとしてデバイス３０２内の対応する多重化回路３０９〜３１２に出力する。
【００６４】
多重化回路３０５〜３０８のそれぞれは、従来技術による送信モジュール１０２と同様な構成及び動作により、端子Ｓ１〜Ｓ３に入力された信号を多重化し、伝達情報ＳＴとして出力する。
【００６５】
受信側のデバイス３０２は、ユーザ回路部３０４（以下、ＵＤＬ３０４と称す）と受信モジュールを備える。受信モジュールは、送信モジュール内の多重化回路３０５〜３０８に対応する複数の多重化回路３０９〜３１２を備え、受信した伝達情報ＳＴに基づいて変更された送信信号を検出することで、送信された信号Ａ〜Ｌに対応した受信信号をＵＤＬ３０４に出力する。この際、多重化回路３０９〜３１２は対応する多重化回路３０５〜３０８から出力された伝達情報ＳＴに応じた信号をそれぞれの端子Ｓ１’〜Ｓ３’からＵＤＬ３０４に出力する。
【００６６】
送信モジュールと受信モジュールとの間における伝達情報ＳＴの送受信と、受信モジュールの変更検出動作はデータ転送用クロックＣＬＫＤに同期して行われる。上述の同時変化回数を算出する際のチェックポイントは、シミュレーション時における回路動作用クロックの１周期に対応して設定される。又、ＵＤＬ３０３、送信モジュール、受信モジュール、及びＵＤＬ３０４の動作は回路動作用クロックＣＬＫＣに同期して行われる。データ転送用クロックＣＬＫＤは発振器４０によって生成される。クロック生成部３０は、データ転送用クロックＣＬＫＤを変更終了信号の出力タイミングに従って制御することで回路動作用クロックＣＬＫＣを生成する。本設計対象回路におけるクロック生成部３０は、多重化回路３０５〜３０８のそれぞれから出力される伝達情報ＳＴ内の変更終了信号に応じて、回路動作用クロックＣＬＫＣの周期の長さを決定する。すなわち、クロック生成部３０は、多重化回路３０５〜３０８の全てから変更終了信号を受け付けた後に、データ転送用クロックＣＬＫＤの立ち上がりに同期して、回路動作用クロックＣＬＫＣの次のクロックパルスを立ち上げ、現動作サイクルを終了し、次の動作サイクルを開始する。
【００６７】
ステップＳ３０において、デバイス間の多重化対象となる信号及び信号数、多重化回路数、各多重化回路において多重化可能な信号数が設定されると、信号割り当て部３は、多重化回路の各端子に信号を多重化対象となる信号を割り当てる（ステップＳ４０〜Ｓ６０）。ここでは、一例として、ＵＤＬ３０３から出力された信号Ａ〜Ｌを多重化回路３０５〜３０８の各入力信号（端子Ｓ１〜Ｓ３）に割り当てる。
【００６８】
先ず、信号割り当て部３は、多重化対象となる論理信号のタイミング情報６から多重化回路３０５〜３０８に接続する信号間の同時変化回数を算出し、同時変化回数表を作成する（ステップＳ４０）。次に、信号割り当て部３は、作成した同時変化回数表７を参照して、複数の多重化回路の各々における複数の端子の第１の端子に割り当てる信号を決定する（ステップＳ５０）。例えば、多重化回路３０５〜３０８の各々の端子Ｓ１に割り当てる信号を決定する。続いて、信号割り当て部３は、同時変化回数表７を参照して、複数の多重化回路の各々における複数の端子の第２の端子以降に割り当てる信号を決定する（ステップＳ６０）。例えば、多重化回路３０５〜３０８の各々の端子Ｓ２、Ｓ３に割り当てる信号を決定する。
【００６９】
信号接続部４は、ステップＳ１０〜Ｓ６０の処理によって設定された条件に基づいてデバイス間に多重化回路を挿入し、回路設計情報５を更新する（ステップＳ７０）。詳細には、信号接続部４は、ステップＳ１０〜Ｓ３０の処理によって設定された複数の多重化回路をデバイス間に挿入する。そして、ステップＳ５０、Ｓ６０の処理によって設定された各多重化回路の端子に対する信号の割り当て結果に従い、多重化回路の各端子と、多重化対象信号との接続を行う。信号接続部４は、信号伝達回路にデバイス及び多重化回路が設けられ、デバイス間で多重化される信号と複数の多重化回路の接続が終了すると、当該信号伝達回路の構造及び信号の接続状態に関する情報を回路設計情報５として記録する。
【００７０】
次に、図１０〜図１６Ｇを参照して、本発明による信号割り当て動作（ステップＳ４０〜Ｓ６０）の動作の詳細について説明する。以下では、図１０に示す信号伝達回路に対する割り当て動作を一例に、多重化回路への信号の割り当て動作を説明する。
【００７１】
先ず、図１１を参照して、ステップＳ４０における同時変化回数表７の作成動作の詳細を説明する。図１１は、本発明による同時変化表の作成動作を示すフロー図である。ここでは、図７Ａ及び図７Ｂに示すタイミング情報６を利用して図８に示す同時変化回数表７が作成される際の動作を一例として説明する。
【００７２】
図１１を参照して、同時変化回数算出部２は、タイミング情報６を参照し、各論理信号の中から多重化候補となる信号の変化をチェックするタイミング（チェックポイント）の初期値を設定する（ステップＳ１０１）。本一例では、シミュレーション時における回路動作用の１周期目がチェックポイントの初期値として設定される。同時変化回数算出部２は、タイミング情報６を参照して、設定したチェックポイントにおいて論理値が変化（前の値と異なる値に遷移）する信号を検出する（ステップＳ１０２）。チェックポイント“１”（１周期目）では、全ての信号が変化する（タイミング情報６を参照して、１周期目において信号Ａ〜Ｌに対応する全ての値が“１”である）ため、全ての信号Ａ〜Ｌが抽出される。
【００７３】
同時変化回数算出部２は、ステップＳ１０２において抽出した全ての信号から、２つの信号の組み合わせ（信号組）を抽出し、信号間の同時変化回数を信号組毎にカウントアップする（ステップＳ１０３）。ここでは、チェックポイントにおいて同時に変化する２つの信号の組（信号組）が抽出される。チェックポイント“１”（１周期目）では、全ての信号が変化しているため、同時変化回数表７における全ての信号間（信号組）の同時変化回数に“１”が格納される。
【００７４】
同時変化回数算出部２は、タイミング情報６に示された全てのチェックポイントにおいて、信号間の同時変化の有無の検出及びその回数の計数を行ったか否かを確認する（ステップＳ１０４）。ステップＳ１０４において、全てのチェックポイントにおいて、信号間の同時変化の有無を確認すると、同時変化回数表７の作成を終了する（ステップＳ１０４Ｙｅｓ）。一方、同時変化の有無の確認が終わっていないチェックポイントが存在する場合、同時変化回数算出部２は、同時変化の確認ポイントを次のチェックポイントに更新する（ステップＳ１０４Ｎｏ、Ｓ１０５）。ここでは、次のチェックポイント“２”（２周期目）に更新される。
【００７５】
以降、タイミング情報６に示された全てのチェックポイントにおける信号組の同時変化の有無の確認及び同時変化回数の更新が終了するまで、ステップＳ１０２〜Ｓ１０５を繰り返す。例えば、チェックポイント“２”では、ステップＳ１０２において信号Ａのみが抽出される。この場合、抽出された信号は１つであるため２つの信号の組み合わせはなく、ステップＳ１０３における同時変化回数の更新は行われない。続く、チェックポイント“３”（３周期目）では、変化する信号として信号Ａ及び信号Ｂが抽出される。この場合、信号Ａと信号Ｂとが同時に変化するものとして信号組Ａ−Ｂに対応する同時変化回数が１つカウントアップされる。ここで、同時変化回数の計数動作の具体例として、チェックポイント“５”（５周期目）を一例に説明する。チェックポイント“５”では、信号Ａ、Ｂ、Ｄが変化する信号として抽出される。この場合の同時変化する信号組は、信号Ａ−Ｂ、信号Ａ−Ｄ、信号Ｂ−Ｄであり、ステップＳ１０３において、それぞれの同時変化回数が１つカウントアップされる。他のチェックポイントでも同様に同時変化回数が計数される。
【００７６】
上述の動作を、図７Ａ及び図７Ｂに示すタイミング情報６に従い、チェックポイント“１”（１周期目）からチェックポイント“４５”（４５周期目）まで行われることで、図８に示す同時変化回数表７が作成される。
【００７７】
次に、図１２及び図１３を参照して、ステップＳ５０における信号割り当て動作の詳細を説明する。
【００７８】
ステップＳ５０では、多重化回路３０５〜３０８のそれぞれの第１の端子Ｓ１に、多重化対象となる信号が割り当てられる。すなわち、多重化回路３０５〜３０８の各々に入力される３本の信号のうち第１の信号が割り当てられる。
【００７９】
図１２は、本発明による多重化回路の第１端子（端子Ｓ１）に対する信号の割り当て動作（ステップＳ５０）の詳細を示すフロー図である。図１２を参照して、信号割り当て部３は、ステップＳ２０１〜Ｓ２０７の処理によって、多重化回路に対して割り当て対象となる信号の絞り込みを行い、ステップＳ２０８の処理において、絞り込まれた信号を未割り当ての多重化回路（端子）に割り当てる。
【００８０】
図１３は、デバイス間に配置される予定の複数の多重化回路と端子との対応関係を示す図である。図１３を参照して、多重化回路３０５〜３０８は、それぞれ端子Ｓ１〜Ｓ３を有している。ステップＳ５０における割り当て処理では、多重化回路３０５〜３０８のそれぞれにおける第１の端子Ｓ１に対し、同時変化回数が多い信号順に割り当てられる。第１の端子Ｓ１への信号の割り当て処理（ステップＳ５０）では、割り当て対象として選択される多重化回路の順番は予め決められていることが好ましい。ここでは、多重化回路３０５、３０６、３０７、３０８の順に信号が割り当てられる。
【００８１】
先ず、多重化回路３０５の端子Ｓ１に割り当てる信号を決定する。図１２を参照して、信号割り当て部３は、同時変化回数表７を参照して、未割り当ての信号に対応する同時変化回数から、最大のカウント値（同時変化回数）を検出し、それに対応する信号を抽出する（ステップＳ２０１）。検出された同時変化回数の最大値は、カウント値の最大値として設定される。ここでは、未割り当ての信号の中で、他の信号と同時に変化する可能性が最も高い信号が選択される。
【００８２】
信号割り当て部３は、同時変化回数の最大値として設定されたカウント値に対応する未割り当ての信号が複数あるかどうかを判断する（ステップＳ２０２）。同時変化回数の最大値として設定されたカウント値に対応する未割り当ての信号が複数ある場合、割り当て対象信号を絞り込むためのステップＳ２０３の処理に移行し（ステップＳ２０２Ｙｅｓ）、１つである場合、ステップＳ２０８の割り当て処理に移行する（ステップＳ２０２Ｎｏ）。
【００８３】
信号割り当て部３は、ステップＳ２０１で抽出した信号毎に、同時変化回数の最大値の個数を計数し、当該個数が最大の信号をステップＳ２０１で抽出された複数の信号の中から選択する（ステップＳ２０３）。すなわち、未割り当ての信号の中で、同時変化数が最大となる信号組の数が最も多い信号が選択される。ここでは、ステップＳ２０１で選択された複数の信号の中から、他の信号と同時に変化する可能性が最も高い信号が選択される。
【００８４】
続いて、信号割り当て部３は、ステップＳ２０３において選択した信号が複数あるか否かを判定する（ステップＳ２０４）。選択された信号が複数ある場合、ステップＳ２０５の処理に移行し（ステップＳ２０４Ｙｅｓ）、選択された信号が１つである場合、ステップＳ２０８の割り当て処理に移行する（ステップＳ２０４Ｎｏ）。
【００８５】
信号割り当て部３は、同時変化回数表７を参照して、ステップＳ２０３で選択した複数の信号に対応する同時変化回数の中に、設定された同時変化回数の最大値の次に大きいカウント値があるかを検索する（ステップＳ２０５）。ステップＳ２０３で選択した複数の信号に対応する同時変化回数の中に、同時変化回数の最大値の次に大きいカウント値（同時変化回数）がある場合、信号割り当て部３は、設定されているカウント値（同時変化回数）の最大値を、当該次に大きいカウント値に変更（更新）する（ステップＳ２０５Ｙｅｓ、Ｓ２０６）。そして、ステップＳ２０２の処理に移行し、設定された最大カウント値に対応する信号に対し、割り当て対象信号の絞り込み処理が行われる。
【００８６】
一方、ステップＳ２０３で選択された複数の信号に対応する同時変化回数の中に、同時変化回数表７において同時変化回数の最大値の次に大きいカウント値（同時変化回数）がない場合、信号割り当て部３は、当該選択された信号と、既に端子に割り当てられた信号とが同時に変化する回数の中で、最も大きいカウント値（同時変化回数）に対応する信号を選択する（ステップＳ２０５Ｎｏ、Ｓ２０７）。ここでは、既に割り当てられた信号と同時に変化する可能性が最も高い信号が選択される。ステップＳ２０７において選択された信号が複数ある場合、当該複数の信号から任意の１つが選択される。ステップＳ２０７の処理において選択された信号は、多重化回路の未割り当ての端子に割り当てられる（ステップＳ２０８）。
【００８７】
信号割り当て部３は、信号を多重化回路の端子Ｓ１に割り当てると、未割り当て（未配置）の第１の端子Ｓ１（多重化回路）があるかどうかを判定する（ステップＳ２０９）。ここで割り当てられていない第１の端子Ｓ１（多重化回路）がある場合、次に割り当てる多重化回路を選択し、ステップＳ２０１に移行する（ステップＳ２０９Ｎｏ）。一方、全ての多重化回路の第１の端子Ｓ１に信号が割り当てられると、ステップＳ５０の処理を終了する（ステップＳ２０９Ｙｅｓ）。
【００８８】
ステップＳ５０の処理を実行することで、デバイス３０１、３０２間に設けられた４つの多重化回路３０５〜３０８のそれぞれの第１の端子Ｓ１に対し、同時変化回数の多い順に信号が割り当てられる。これにより、同時変化回数が最大の２つの信号は、別々の多重化回路に割り当てられ、同時変化回数が次に大きい信号は更に別の多重化回路に割り当てられる。多重化回路に割り当てられた信号間で同時に変化する確率は、他の信号間よりも高いため、多重化回路間で信号が同時に変化する可能性が高まる。
【００８９】
次に、図１４を参照して、ステップＳ６０における信号割り当て動作の詳細を説明する。
【００９０】
ステップＳ６０では、多重化回路３０５〜３０８のそれぞれの第２の端子以降の端子（端子Ｓ２、Ｓ３）に、多重化対象となる信号が割り当てられる。図１４は、本発明による多重化回路の第２の端子以降の端子に対する信号の割り当て動作（ステップＳ６０）の詳細を示すフロー図である。ステップＳ５０における第１の端子Ｓ１への信号の割り当て動作では、多重化回路３０５〜３０８の順に信号が割り当てられたが、ステップＳ６０では、ステップＳ５０のように多重化回路の割り当て順は決まっておらず、同時変化回数に応じて、割り当て対象の端子（多重化回路）が決められる。
【００９１】
このため、ステップＳ６０において信号割り当て部３は、ステップＳ３０１〜Ｓ３０７の処理によって、多重化回路に対して割り当て対象となる信号の絞り込みを行い、ステップＳ３０８、Ｓ３０９の処理によって割り当て対象となる端子（多重化回路）の絞り込みを行い、ステップＳ３１０又はＳ３１１の処理によって、絞り込まれた信号を選択された未割り当ての端子（多重化回路）に割り当てる。
【００９２】
ステップＳ６０におけるステップＳ３０１〜Ｓ３０７の割り当て対象信号の絞込み処理は、ステップＳ５０におけるステップＳ２０２〜Ｓ２０７の処理と同様な処理である。以下、ステップＳ３０１〜Ｓ３０７の処理を説明する。
【００９３】
信号割り当て部３は、同時変化回数表７において、未割り当ての信号に対応する同時変化回数の中から最大値を検出し、その最大値に対応する信号を割り当て対象信号として抽出する（ステップＳ３０１）。検出された同時変化回数の最大値は、カウント値の最大値として設定される。ここでは、未割り当ての信号の中で、他の信号と同時に変化する可能性が最も高い信号が選択される。
【００９４】
信号割り当て部３は、同時変化回数の最大値として設定されたカウント値に対応する未割り当ての信号が複数あるかどうかを判断する（ステップＳ３０２）。同時変化回数の最大値として設定されたカウント値に対応する未割り当ての信号が複数ある場合、割り当て対象信号を絞り込むためのステップＳ３０３の処理に移行し（ステップＳ３０２Ｙｅｓ）、１つである場合、割り当て対象となる端子を絞り込むためのステップＳ３０８の処理に移行する。
【００９５】
信号割り当て部３は、ステップＳ２０１で抽出した信号毎に、同時変化回数の最大値の個数を計数し、当該個数が最大の信号をステップＳ３０１で抽出された複数の信号の中から選択する（ステップＳ３０３）。すなわち、未割り当ての信号の中で、同時変化数が最大となる信号組の数が最も多い信号が選択される。ここでは、ステップＳ３０１で選択された複数の信号の中から、他の信号と同時に変化する可能性が最も高い信号が選択される。
【００９６】
続いて、信号割り当て部３は、ステップＳ３０３において選択した信号が複数あるか否かを判定する（ステップＳ３０４）。選択された信号が複数ある場合、ステップＳ３０５の処理に移行し（ステップＳ３０４Ｙｅｓ）、選択された信号が１つである場合、ステップＳ３０８の処理に移行する（ステップＳ３０４Ｎｏ）。
【００９７】
信号割り当て部３は、同時変化回数表７を参照して、ステップＳ３０３で選択した複数の信号に対応する同時変化回数の中に、設定された同時変化回数の最大値の次に大きいカウント値があるかを検索する（ステップＳ３０５）。ステップＳ３０３で選択した複数の信号に対応する同時変化回数の中に、同時変化回数の最大値の次に大きいカウント値（同時変化回数）がある場合、信号割り当て部３は、設定されているカウント値（同時変化回数）の最大値を、当該次に大きいカウント値に変更（更新）する（ステップＳ３０５Ｙｅｓ、Ｓ３０６）。そして、ステップＳ３０２の処理に移行し、設定された最大カウント値に対応する信号に対し、上述と同様な割り当て対象信号の絞り込み処理が行われる。
【００９８】
一方、ステップＳ３０３で選択された複数の信号に対応する同時変化回数の中に、同時変化回数表７において同時変化回数の最大値の次に大きいカウント値（同時変化回数）がない場合、信号割り当て部３は、当該選択された信号と、既に端子に割り当てられた信号とが同時に変化する回数の中で、最も大きいカウント値（同時変化回数）に対応する信号を選択する（ステップＳ３０５Ｎｏ、Ｓ３０７）。ここでは、既に割り当てられた信号と同時に変化する可能性が最も高い信号が選択される。信号が選択されるとステップＳ３０８の処理に移行する。
【００９９】
ステップＳ３０２、Ｓ３０４、又はＳ３０７において１つの信号が選択されると、信号割り当て部３は、既に多重化回路に割り当てられている信号と、選択された信号との同時変化回数に応じて、当該選択された信号を割り当てる多重化回路を選択する（ステップＳ３０８）。詳細には、信号割り当て部３は、多重化回路に既に割り当てられている信号の代表値と、選択された信号との間の同時変化回数を、多重化回路毎に同時変化回数表７から抽出する。この際、多重化回路に対して複数の信号が既に割り当てられている場合、選択された信号との同時変化回数が最大となる信号を当該多重化回路に割り当てられた信号の代表値として抽出される。信号割り当て部３は、抽出された多重化回路毎の同時変化回数における最小値に対応する信号を特定する。そして信号割り当て部３は、特定した信号が割り当てられている多重化回路を、ステップＳ３０２、Ｓ３０４、又はＳ３０７で選択された信号の割り当て対象として選択する。尚、ステップＳ３０８の処理は、信号が割り当てられていない端子が存在する多重化回路を対象に行われ、信号を割り当て可能な空き端子が無い多重化回路は除外される。
【０１００】
ステップＳ３０８において選択された割り当て対象の多重化回路が１つである場合、信号割り当て部３は、当該多重化回路の空き端子に、ステップＳ３０２、Ｓ３０４、又はＳ３０７において選択された信号を割り当てる（ステップＳ３０９Ｎｏ、Ｓ３１０）。一方、ステップＳ３０８において選択された割り当て対象の多重化回路が複数ある場合、信号割り当て部３は、複数の多重化回路から１つを選択してステップＳ３０２、Ｓ３０４、又はＳ３０７において選択された信号を割り当てる（ステップＳ３０９Ｙｅｓ、Ｓ３１１）。
【０１０１】
信号を端子に割り当てると、信号割り当て部３は、多重化候補となる信号の全てが多重化回路に割り当てたか（配置したか）を判断する（ステップＳ３１２）。全ての信号を多重化回路の各端子に割り当てると、信号割り当て処理を終了する（ステップＳ３１２Ｙｅｓ）。一方、割り当てられていない信号がある場合、ステップＳ３０１に移行し、上述の処理を継続する（ステップＳ３１２Ｎｏ）。
【０１０２】
次に、図１２から図１７を参照して、本発明による信号の多重化回路への割り当て動作の具体例を説明する。以下では、図８に示す同時変化回数表７を利用した信号の割り当て動作を一例として説明する。
【０１０３】
先ず、図１２及び図１５を参照して、多重化回路３０５〜３０８のそれぞれの第１の端子Ｓ１に多重化対象となる信号の割り当て動作を説明する。ここで、端子Ｓ１に対する信号の割り当ての順番は予め設定されているものとし、一例として多重化回路３０５、３０６、３０７、３０８の順に割り当てられるものとする。
【０１０４】
信号割り当て部３は、同時変化回数表７を参照して、最大のカウント値（同時変化回数）を検出し、それに対応する信号を抽出する（ステップＳ２０１）。このとき、検出された同時変化回数の最大値は、カウント値の最大値として設定される。ここでは、全ての信号Ａ〜Ｌに対応する同時変化回数のうち、信号組Ａ−Ｂの同時変化回数のカウント値が“２３”で最大値となるので、信号Ａと信号Ｂが抽出され、“２３”がカウント値の最大値として設定される。
【０１０５】
ステップＳ２０１において２つの信号Ａ、Ｂが抽出されるため、ステップＳ２０３の処理に移行する（ステップＳ２０２Ｙｅｓ）。ここでは、同時変化回数の最大値“２３”の個数は信号Ａ、信号Ｂともに１つであるため、信号Ａ及び信号Ｂが選択される（ステップＳ２０３）。ステップＳ２０３において２つの信号Ａ、Ｂが選択されているため、ステップＳ２０５の処理に移行する。図８に示す同時変化回数表７において、同時変化回数の最大値“２３”の次に大きい同時変換回数は“１５”である。これは、信号Ａと信号Ｃとが同時に変化する回数であり、ステップＳ２０３で選択された信号Ａに対応する同時変化回数である。この場合、ステップＳ２０６の処理により、同時変化回数“１５”が最大カウント値として設定される。
【０１０６】
同時変化回数の最大値が更新された後、ステップＳ２０２に移行し、割り当て信号の絞り込みが行われる。このとき、設定された同時変化回数の最大値“１５”に対応する信号は、信号Ａのみであるため、ステップＳ２０８に移行し、割り当て処理が行われる。ここでは、多重化回路３０５の端子Ｓ１への割り当てが行われる。
【０１０７】
信号割り当て部３は、信号Ａを多重化回路３０５の端子Ｓ１に割り当てると、未割り当て（未配置）の端子Ｓ１（多重化回路）があるかどうかを判定する（ステップＳ２０９）。
【０１０８】
ここでは、多重化回路３０６〜３０８の端子Ｓ１への信号の割り当ては終了していない。このため、次の割り当て対象として多重化回路３０６の端子Ｓ１が設定され、ステップＳ２０１の処理に移行する。以降の処理では、未割り当ての信号Ｂ〜Ｌから次の割り当て対象となる信号が選択される。
【０１０９】
ステップＳ２０１の処理において、信号組Ａ−Ｂの同時変化回数のカウント値が“２３”で最大値となるため、信号Ｂが抽出され、“２３”がカウント値の最大値として設定される。ここでは、１つの信号Ｂのみが抽出されるため、ステップＳ２０８に移行し、信号Ｂが多重化回路３０６の第１の端子Ｓ１に割り当てられる。
【０１１０】
信号の割り当て後、全ての多重化回路の第１の端子Ｓ１に信号が割り当てられたか否かが判断される（ステップＳ２０９）。ここでは、多重化回路多重化回路３０７〜３０８の端子Ｓ１への信号の割り当ては終了していない。このため、次の割り当て対象として多重化回路３０７の端子Ｓ１が設定され、ステップＳ２０１の処理に移行する。以降の処理では、未割り当ての信号Ｃ〜Ｌから次の割り当て対象となる信号が選択される。
【０１１１】
ステップＳ２０１の処理において、信号組Ａ−Ｃの同時変化回数のカウント値が“１５”で最大値となるため、信号Ｃが抽出され、“１５”がカウント値の最大値として設定される。ここでは、１つの信号Ｃのみが抽出されるため、ステップＳ２０８に移行し、信号Ｃが多重化回路３０７の第１の端子Ｓ１に割り当てられる。
【０１１２】
信号の割り当て後、全ての多重化回路の第１の端子Ｓ１に信号が割り当てられたか否かが判断される（ステップＳ２０９）。ここでは、多重化回路多重化回路３０８の端子Ｓ１への信号の割り当ては終了していない。このため、次の割り当て対象として多重化回路３０８の端子Ｓ１が設定され、ステップＳ２０１の処理に移行する。以降の処理では、未割り当ての信号Ｄ〜Ｌから次の割り当て対象となる信号が選択される。
【０１１３】
ステップＳ２０１の処理において、信号組Ａ−Ｄ、Ｂ−Ｄの同時変化回数のカウント値が“１２”で最大値となるため、信号Ｄが抽出され、“１２”がカウント値の最大値として設定される。ここでは、１つの信号Ｄのみが抽出されるため、ステップＳ２０８に移行し、信号Ｄが多重化回路３０８の第１の端子Ｓ１に割り当てられる。
【０１１４】
信号の割り当て後、全ての多重化回路の第１の端子Ｓ１に信号が割り当てられたか否かが判断される（ステップＳ２０９）。ここでは、全ての多重化回路３０５〜３０８の第１の端子Ｓ１に信号が配置されたので、割り当て処理を終了する（ステップＳ２０９Ｙｅｓ）。
【０１１５】
以上のように、ステップＳ５０の処理を実行することで、デバイス３０１、３０２間に設けられた４つの多重化回路３０５〜３０８のそれぞれの第１の端子Ｓ１に、信号Ａ〜Ｄが割り当てられる（図１５参照）。これにより、他の信号と同時に変化する回数が多い信号が、多重化回路３０５〜３０８のそれぞれの第１の端子Ｓ１に割り当てられる。
【０１１６】
次に、図１４から図１７を参照して、未割り当ての信号Ｅ〜Ｌを多重化回路３０５〜３０８の各々の第２の端子以降の端子（端子Ｓ２、Ｓ３）に割り当てる動作を説明する。
【０１１７】
図１４を参照して、信号割り当て部３は、同時変化回数表７を参照して、未割り当ての信号に対応する同時変化回数の中で最大のカウント値（同時変化回数）を検出し、それに対応する信号を抽出する（ステップＳ３０１）。このとき、検出された同時変化回数の最大値は、カウント値の最大値として設定される。ここでは、信号組Ａ−Ｅの同時変化回数のカウント値が“９”で最大値となる。一方、信号Ａは割り当て済みであるため、未割り当ての信号Ｅが割り当て対象信号として抽出され、“９”がカウント値の最大値として設定される。
【０１１８】
ステップＳ３０１で選択された信号は、１つであるため、選択された信号Ｅの割り当て対象となる多重化回路の選択処理（ステップＳ３０８）に移行する（ステップＳ３０２Ｎｏ）。ステップＳ３０８では、先ず、多重化回路に既に配置されている信号Ａ〜Ｄと、選択された信号Ｅとの間の同時変化回数が確認される。次に、確認された同時変化回数の中で、同時変化回数が最小となる信号が既に割り当てられた多重化回路を、信号の割り当て対象として選択する。
【０１１９】
図８を参照して、信号Ａ−Ｅ間の同時変化回数は“９”、信号Ｂ−Ｅ間の同時変化回数は“５”、信号Ｃ−Ｅ間の同時変化回数は“３”、信号Ｄ−Ｅ間の同時変化回数は“３”である。この場合、信号Ｃ−Ｅ間の同時変化回数と信号Ｄ−Ｅ間の同時変化回数が、ともに最小値“３”となる。このため、信号Ｃが割り当てられた多重化回路３０７と、信号Ｄが割り当てられた多重化回路３０８が、信号の割り当て対象候補として選択される。
【０１２０】
ステップＳ３０８において選択された多重化回路は複数存在する（ステップＳ３０９Ｙｅｓ）。この場合、信号Ｃが割り当てられた多重化回路３０７と、信号Ｄが割り当てられた多重化回路３０８のどちらの多重化回路に信号Ｅを割り当てても構わない。本一例では、信号Ｃが既に割り当てられた多重化回路３０７に、信号Ｅが割り当てられる（ステップＳ３１１）。この際、多重化回路３０７の空き端子は端子Ｓ２、Ｓ３であるため、多重化回路３０７の端子Ｓ２に信号Ｅが割り当てられる。
【０１２１】
ここまでの処理によって、４組の多重化回路には、図１６Ａのように、多重化回路３０７の端子Ｓ２に信号Ｅが割り当てられる。信号割り当て部３は、多重化回路に接続する全ての信号が割り当てられたかを判断する（ステップＳ３１２）。この時点では全ての信号が割り当てられていないので、ステップＳ３０１の処理へ移行する（ステップＳ３１２Ｎｏ）。
【０１２２】
信号割り当て部３は、同時変化回数表７を参照して、未割り当ての信号に対応する同時変化回数の中で最大のカウント値（同時変化回数）を検出し、それに対応する信号を抽出する（ステップＳ３０１）。ここでは、信号組Ａ−Ｆ、Ｂ−Ｆ、Ｃ−Ｆの同時変化回数のカウント値が“８”で最大値となる。一方、信号Ａ、Ｂ、Ｃは既に割り当て済みであるため、未割り当ての信号Ｆが割り当て対象信号として抽出され、“８”がカウント値の最大値として設定される。
【０１２３】
ステップＳ３０１で選択された信号は１つであるため、選択された信号Ｆの割り当て対象となる多重化回路の選択処理（ステップＳ３０８）に移行する（ステップＳ３０２Ｎｏ）。ステップＳ３０８では、先ず、多重化回路に既に配置されている信号Ａ〜Ｅと、選択された信号Ｆとの間の同時変化回数が確認される。次に、確認された同時変化回数の中で、同時変化回数が最小となる信号が既に割り当てられた多重化回路を、信号の割り当て対象として選択する。
【０１２４】
図１６Ａを参照して、信号Ｃと信号Ｅは同じ多重化回路３０７に割り当てられているため、信号Ｃ、Ｅと選択された信号Ｆとの同時変化回数が比較される。ここでは、選択された信号Ｆとの同時変化回数が大きい信号Ｃが、割り当て対象となる多重化回路の選択処理に利用される。
【０１２５】
図８を参照して、信号Ａ−Ｆ間の同時変化回数は“８”、信号Ｂ−Ｆ間の同時変化回数は“８”、信号Ｃ−Ｆ間の同時変化回数は“８”、信号Ｄ−Ｆ間の同時変化回数は“４”となる。この場合、信号Ｄ−Ｆ間の同時変化回数が最小値“４”となる。最小値を示す信号組が信号組Ｄ−Ｆの１つであるため、信号Ｄが既に割り当てられた多重化回路３０８に、信号Ｆが割り当てられる（ステップＳ３１０）。この際、多重化回路３０８の空き端子は端子Ｓ２であるため、多重化回路３０８の端子Ｓ２に信号Ｆが割り当てられる。
【０１２６】
ここまでの処理によって、４組の多重化回路には、図１６Ｂのように、多重化回路３０８の端子Ｓ２に信号Ｅが割り当てられる。信号割り当て部３は、多重化回路に接続する全ての信号が割り当てられたかを判断する（ステップＳ３１２）。この時点では全ての信号が割り当てられていないので、ステップＳ３０１の処理へ移行する（ステップＳ３１２Ｎｏ）。
【０１２７】
信号割り当て部３は、同時変化回数表７を参照して、未割り当ての信号に対応する同時変化回数の中で最大のカウント値（同時変化回数）を検出し、それに対応する信号を抽出する（ステップＳ３０１）。ここでは、信号組Ａ−Ｇの同時変化回数のカウント値が“７”で最大値となる。一方、信号Ａは既に割り当て済みであるため、未割り当ての信号Ｇが割り当て対象信号として抽出され、“７”がカウント値の最大値として設定される。
【０１２８】
ステップＳ３０１で選択された信号は１つであるため、選択された信号Ｇの割り当て対象となる多重化回路の選択処理（ステップＳ３０８）に移行する（ステップＳ３０２Ｎｏ）。ステップＳ３０８では、先ず、多重化回路に既に配置されている信号Ａ〜Ｆと、選択された信号Ｇとの間の同時変化回数が確認される。次に、確認された同時変化回数の中で、同時変化回数が最小となる信号が既に割り当てられた多重化回路を、信号の割り当て対象として選択する。
【０１２９】
図１６Ｂを参照して、信号Ｃと信号Ｅは同じ多重化回路３０７に割り当てられているため、信号Ｃ、Ｅと選択された信号Ｇとの同時変化回数が比較される。ここでは、選択された信号Ｇとの同時変化回数が大きい信号Ｃが、割り当て対象となる多重化回路の選択処理に利用される。又、信号Ｄと信号Ｆは同じ多重化回路３０８に割り当てられているため、信号Ｄ、Ｆと選択された信号Ｇとの同時変化回数が比較される。ここでは、信号Ｄ、Ｆの両者とも信号Ｇとの同時変化回数が“２”であるため、代表して信号Ｄが多重化回路の選択処理に利用される。
【０１３０】
図８を参照して、信号Ａ−Ｇ間の同時変化回数は“７”、信号Ｂ−Ｇ間の同時変化回数は“４”、信号Ｃ−Ｇ間の同時変化回数は“３”、信号Ｄ−Ｇ間の同時変化回数は“２”となる。この場合、信号Ｄ−Ｇ間の同時変化回数が最小値“２”となる。最小値を示す信号組が信号組Ｄ−Ｇの１つであるため、信号Ｄが既に割り当てられた多重化回路３０８に、信号Ｇが割り当てられる（ステップＳ３１０）。この際、多重化回路３０８の空き端子は端子Ｓ３であるため、多重化回路３０８の端子Ｓ３に信号Ｇが割り当てられる。
【０１３１】
ここまでの処理によって、４組の多重化回路には、図１６Ｃのように、多重化回路３０８の端子Ｓ３に信号Ｇが割り当てられる。信号割り当て部３は、多重化回路に接続する全ての信号が割り当てられたかを判断する（ステップＳ３１２）。この時点では全ての信号が割り当てられていないので、ステップＳ３０１の処理へ移行する（ステップＳ３１２Ｎｏ）。
【０１３２】
信号割り当て部３は、同時変化回数表７を参照して、未割り当ての信号に対応する同時変化回数の中で最大のカウント値（同時変化回数）を検出し、それに対応する信号を抽出する（ステップＳ３０１）。ここでは、信号組Ａ−Ｈ、Ｂ−Ｈ、Ｄ−Ｈの同時変化回数のカウント値が“６”で最大値となる。一方、信号Ａ、Ｂ、Ｄは既に割り当て済みであるため、未割り当ての信号Ｈが割り当て対象信号として抽出され、“６”がカウント値の最大値として設定される。
【０１３３】
ステップＳ３０１で選択された信号は１つであるため、選択された信号Ｈの割り当て対象となる多重化回路の選択処理（ステップＳ３０８）に移行する（ステップＳ３０２Ｎｏ）。ステップＳ３０８では、先ず、多重化回路に既に配置されている信号Ａ〜Ｇと、選択された信号Ｈとの間の同時変化回数が確認される。次に、確認された同時変化回数の中で、同時変化回数が最小となる信号が既に割り当てられた多重化回路を、信号の割り当て対象として選択する。この際、多重化回路３０８は、空き端子がないため、割り当て対象から外される。
【０１３４】
図１６Ｃを参照して、信号Ｃと信号Ｅは同じ多重化回路３０７に割り当てられているため、信号Ｃ、Ｅと選択された信号Ｈとの同時変化回数が比較される。ここでは、信号Ｃ、Ｅの両者とも信号Ｈとの同時変化回数が“２”であるため、代表して信号Ｃが多重化回路の選択処理に利用される。
【０１３５】
図８を参照して、信号Ａ−Ｈ間の同時変化回数は“６”、信号Ｂ−Ｈ間の同時変化回数は“６”、信号Ｃ−Ｈ間の同時変化回数は“２”、信号Ｄ−Ｈ間の同時変化回数は“６”となる。この場合、信号Ｃ−Ｈ間の同時変化回数が最小値“２”となる。最小値を示す信号組が信号組Ｃ−Ｈの１つであるため、信号Ｃが既に割り当てられた多重化回路３０７に、信号Ｈが割り当てられる（ステップＳ３１０）。この際、多重化回路３０７の空き端子は端子Ｓ３であるため、多重化回路３０７の端子Ｓ３に信号Ｈが割り当てられる。
【０１３６】
ここまでの処理によって、４組の多重化回路には、図１６Ｄのように、多重化回路３０７の端子Ｓ３に信号Ｈが割り当てられる。信号割り当て部３は、多重化回路に接続する全ての信号が割り当てられたかを判断する（ステップＳ３１２）。この時点では全ての信号が割り当てられていないので、ステップＳ３０１の処理へ移行する（ステップＳ３１２Ｎｏ）。
【０１３７】
信号割り当て部３は、同時変化回数表７を参照して、未割り当ての信号に対応する同時変化回数の中で最大のカウント値（同時変化回数）を検出し、それに対応する信号を抽出する（ステップＳ３０１）。ここでは、信号組Ａ−Ｉ、Ｃ−Ｉ、Ａ−Ｊ、Ｂ−Ｊ、Ｅ−Ｊ、Ａ−Ｋの同時変化回数のカウント値が“５”で最大値となる。一方、信号Ａ、Ｂ、Ｃ、Ｅは既に割り当て済みであるため、未割り当ての信号Ｉ、Ｊ、Ｋが割り当て対象信号として抽出され、“５”がカウント値の最大値として設定される。
【０１３８】
ステップＳ３０１において３つの信号Ｉ、Ｊ、Ｋが抽出されるため、ステップＳ３０３の処理に移行する（ステップＳ３０２Ｙｅｓ）。ステップＳ３０３では、同時変化回数の最大値“５”の個数は信号Ｉが２つ、信号Ｊが３つ、信号Ｋが１つであるため、同時変化回数の最大値“５”の個数が最も大きい信号Ｊが割り当て対象信号として選択される。ステップＳ３０３において選択された信号は信号Ｊの１つであるため、信号Ｊを割り当てる多重化回路を選択するステップＳ３０８の処理に移行する（ステップＳ３０４Ｎｏ）。
【０１３９】
ステップＳ３０８では、先ず、多重化回路に既に配置されている信号Ａ〜Ｄと、選択された信号Ｅとの間の同時変化回数が確認される。次に、確認された同時変化回数の中で、同時変化回数が最小となる信号が既に割り当てられた多重化回路を、信号の割り当て対象として選択する。この際、多重化回路３０７、３０８は、空き端子がないため、割り当て対象から外される。
【０１４０】
図８を参照して、信号Ａ−Ｊ間の同時変化回数は“５”、信号Ｂ−Ｊ間の同時変化回数は“５”となる。ここでは、信号Ａ−Ｊ間、信号間Ｂ−Ｊの両者とも同時変化回数が“５”であり、最小値を示す信号組が２つ存在する（ステップＳ３０９Ｙｅｓ）。この場合、信号Ａが割り当てられた多重化回路３０５と信号Ｂが割り当てられた多重化回路３０６のどちらの多重化回路に信号Ｊを割り当てても構わない。本一例では、信号Ａが既に割り当てられた多重化回路３０５に信号Ｊが割り当てられる（ステップＳ３１１）。この際、多重化回路３０５の空き端子は端子Ｓ２、Ｓ３であるため、多重化回路３０５の端子Ｓ２に信号Ｊが割り当てられる。
【０１４１】
ここまでの処理によって、４組の多重化回路には、図１６Ｅのように、多重化回路３０５の端子Ｓ２に信号Ｊが割り当てられる。信号割り当て部３は、多重化回路に接続する全ての信号が割り当てられたかを判断する（ステップＳ３１２）。この時点では全ての信号が割り当てられていないので、ステップＳ３０１の処理へ移行する（ステップＳ３１２Ｎｏ）。
【０１４２】
信号割り当て部３は、同時変化回数表７を参照して、未割り当ての信号に対応する同時変化回数の中で最大のカウント値（同時変化回数）を検出し、それに対応する信号を抽出する（ステップＳ３０１）。ここでは、信号組Ａ−Ｉ、Ｃ−Ｉ、Ａ−Ｋの同時変化回数のカウント値が“５”で最大値となる。一方、信号Ａ、Ｃは既に割り当て済みであるため、未割り当ての信号Ｉ、Ｋが割り当て対象信号として抽出され、“５”がカウント値の最大値として設定される。
【０１４３】
ステップＳ３０１において２つの信号Ｉ、Ｋが抽出されるため、ステップＳ３０３の処理に移行する（ステップＳ３０２Ｙｅｓ）。ステップＳ３０３では、同時変化回数の最大値“５”の個数は信号Ｉが２つ、信号Ｋが１つであるため、同時変化回数の最大値“５”の個数が最も大きい信号Ｉが割り当て対象信号として選択される。ステップＳ３０３において選択された信号は信号Ｉの１つであるため、信号Ｉを割り当てる多重化回路を選択するステップＳ３０８の処理に移行する（ステップＳ３０４Ｎｏ）。
【０１４４】
ステップＳ３０８では、先ず、多重化回路に既に配置されている信号Ａ〜Ｈ、Ｉと、選択された信号Ｆとの間の同時変化回数が確認される。次に、確認された同時変化回数の中で、同時変化回数が最小となる信号が既に割り当てられた多重化回路を、信号の割り当て対象として選択する。この際、多重化回路３０７、３０８は、空き端子がないため、割り当て対象から外される。
【０１４５】
図１６Ｅを参照して、信号Ａと信号Ｊは同じ多重化回路３０５に割り当てられているため、信号Ａ、Ｊと選択された信号Ｉとの同時変化回数が比較される。ここでは、選択された信号Ｉとの同時変化回数が大きい信号Ａが多重化回路の選択処理に利用される。
【０１４６】
図８を参照して、信号Ａ−Ｉ間の同時変化回数は“５”、信号Ｂ−Ｉ間の同時変化回数は“３”となる。この場合、信号Ｂ−Ｉ間の同時変化回数が最小値“３”であり、最小値を示す信号組が信号組Ｂ−Ｉの１つであるため、信号Ｂが既に割り当てられた多重化回路３０６に、信号Ｉが割り当てられる（ステップＳ３１０）。この際、多重化回路３０６の空き端子は端子Ｓ２、Ｓ３であるため、多重化回路３０６の端子Ｓ２に信号Ｉが割り当てられる。
【０１４７】
ここまでの処理によって、４組の多重化回路には、図１６Ｆのように、多重化回路３０６の端子Ｓ２に信号Ｉが割り当てられる。信号割り当て部３は、多重化回路に接続する全ての信号が割り当てられたかを判断する（ステップＳ３１２）。この時点では全ての信号が割り当てられていないので、ステップＳ３０１の処理へ移行する（ステップＳ３１２Ｎｏ）。
【０１４８】
信号割り当て部３は、同時変化回数表７を参照して、未割り当ての信号に対応する同時変化回数の中で最大のカウント値（同時変化回数）を検出し、それに対応する信号を抽出する（ステップＳ３０１）。ここでは、信号組Ａ−Ｋの同時変化回数のカウント値が“５”で最大値となる。一方、信号Ａは既に割り当て済みであるため、未割り当ての信号Ｋが割り当て対象信号として抽出され、“５”がカウント値の最大値として設定される。
【０１４９】
ステップＳ３０１で選択された信号は１つであるため、選択された信号Ｋの割り当て対象となる多重化回路の選択処理（ステップＳ３０８）に移行する（ステップＳ３０２Ｎｏ）。ステップＳ３０８では、先ず、多重化回路に既に配置されている信号Ａ〜Ｊと、選択された信号Ｋとの間の同時変化回数が確認される。次に、確認された同時変化回数の中で、同時変化回数が最小となる信号が既に割り当てられた多重化回路を、信号の割り当て対象として選択する。この際、多重化回路３０７、３０８は、空き端子がないため、割り当て対象から外される。
【０１５０】
図１６Ｆを参照して、信号Ａと信号Ｊは同じ多重化回路３０５に割り当てられているため、信号Ａ、Ｊと選択された信号Ｋとの同時変化回数が比較される。ここでは、選択された信号Ｋとの同時変化回数が大きい信号Ａが多重化回路の選択処理に利用される。又、信号Ｂと信号Ｉは同じ多重化回路３０６に割り当てられているため、選択された信号Ｋとの同時変化回数が比較される。ここでは、選択された信号Ｋとの同時変化回数が大きい信号Ｂが多重化回路の選択処理に利用される。
【０１５１】
図８を参照して、信号Ａ−Ｋ間の同時変化回数は“５”、信号Ｂ−Ｋ間の同時変化回数は“３”となる。この場合、信号Ｂ−Ｇ間の同時変化回数が最小値“３”となる。最小値を示す信号組が信号組Ｂ−Ｇの１つであるため、信号Ｂが既に割り当てられた多重化回路３０６に、信号Ｋが割り当てられる（ステップＳ３１０）。この際、多重化回路３０６の空き端子は端子Ｓ３であるため、多重化回路３０６の端子Ｓ３に信号Ｋが割り当てられる。
【０１５２】
信号割り当て部３は、多重化回路に接続する全ての信号が割り当てられたかを判断する（ステップＳ３１２）。この時点では全ての信号が割り当てられていないので、ステップＳ３０１の処理へ移行する（ステップＳ３１２Ｎｏ）。
【０１５３】
信号割り当て部３は、同時変化回数表７を参照して、未割り当ての信号に対応する同時変化回数の中で最大のカウント値（同時変化回数）を検出し、それに対応する信号を抽出する（ステップＳ３０１）。ここでは、信号組Ａ、Ｂ、Ｃ、Ｄ、Ｆのそれぞれと信号Ｌとの同時変化回数のカウント値が“４”で最大値となる。一方、信号Ａ、Ｂ、Ｃ、Ｄ、Ｆは既に割り当て済みであるため、未割り当ての信号Ｌが割り当て対象信号として抽出され、“４”がカウント値の最大値として設定される。
【０１５４】
ステップＳ３０１で選択された信号は１つであるため、選択された信号Ｌの割り当て対象となる多重化回路の選択処理（ステップＳ３０８）に移行する（ステップＳ３０２Ｎｏ）。ステップＳ３０８では、先ず、多重化回路に既に配置されている信号Ａ〜Ｋと、選択された信号Ｌとの間の同時変化回数が確認される。次に、確認された同時変化回数の中で、同時変化回数が最小となる信号が既に割り当てられた多重化回路を、信号の割り当て対象として選択する。この際、多重化回路３０６、３０７、３０８は、空き端子がないため、割り当て対象から外される。
【０１５５】
ここで、信号Ａと信号Ｊは同じ多重化回路３０５に割り当てられているため、選択された信号Ｌとの同時変化回数が比較される。ここでは、選択された信号Ｌとの同時変化回数が大きい信号Ａが多重化回路の選択処理に利用される。
【０１５６】
図８を参照して、信号Ａ−Ｇ間の同時変化回数が最小値“３”であり、最小値を示す信号組が１つであるため、信号Ａが既に割り当てられた多重化回路３０５に、信号Ｌが割り当てられる（ステップＳ３１０）。この際、多重化回路３０５の空き端子は端子Ｓ３であるため、多重化回路３０５の端子Ｓ３に信号Ｌが割り当てられる。
【０１５７】
ここまでの処理によって、４組の多重化回路には、図１６Ｇのように、多重化回路３０６の端子Ｓ３に信号Ｋが割り当てられ多重化回路３０５の端子Ｓ３に信号Ｌが割り当てられる。信号割り当て部３は、多重化回路に接続する全ての信号が割り当てられたかを判断する（ステップＳ３１２）。この時点では全ての信号が割り当てられているため、信号の多重化回路（端子）への割り当て処理を終了する（ステップＳ３１２Ｙｅｓ）。
【０１５８】
以上の処理により、多重化対象候補の信号Ａ〜Ｌが接続（入力）する多重化回路の端子が割り当てられる。
【０１５９】
信号Ａ〜Ｌの端子への割り当てが完了すると、信号接続部４は、割り当て結果に基づいて多重化回路３０５〜３０８のそれぞれの端子Ｓ１〜Ｓ３と信号Ａ〜Ｌを接続し、図１７に示す構造の信号伝達回路を生成する（ステップＳ７０）。当該信号伝達回路の構造及び信号の接続状態に関する情報は回路設計情報５として記録される。
【０１６０】
図１７を参照して、デバイス３０１の多重化回路３０５は、ＵＤＬ３０３から端子Ｓ１〜Ｓ３に入力される信号Ａ、Ｊ、Ｌを多重化し、伝達情報ＳＴとしてデバイス３０２に出力する。一方、デバイス３０２の多重化回路３０９は、伝達情報ＳＴに応じた信号Ａ、Ｊ、Ｌを端子Ｓ１’〜Ｓ３’からＵＤＬ３０４に出力する。同様に、多重化回路３０６は、端子Ｓ１〜Ｓ３に入力される信号Ｂ、Ｉ、Ｋを多重化し、多重化回路３１０は、伝達情報ＳＴに応じた信号Ｂ、Ｉ、Ｋを端子Ｓ１’〜Ｓ３’からＵＤＬ３０４に出力する。又、多重化回路３０７は、端子Ｓ１〜Ｓ３に入力される信号Ｃ、Ｅ、Ｈを多重化し、多重化回路３１１は、伝達情報ＳＴに応じた信号Ｃ、Ｅ、Ｈを端子Ｓ１’〜Ｓ３’からＵＤＬ３０４に出力する。又、多重化回路３０８は、端子Ｓ１〜Ｓ３に入力される信号Ｄ、Ｆ、Ｇを多重化し、多重化回路３１２は、伝達情報ＳＴに応じた信号Ｄ、Ｆ、Ｇを端子Ｓ１’〜Ｓ３’からＵＤＬ３０４に出力する。
【０１６１】
以上のように、本発明による設計方法（多重化回路への信号割り当て方法）によれば、信号間の同時変化回数を考慮して多重化回路に接続する信号の割り当て及び接続が行われる。これにより、信号伝達時において複数の多重化回路は効率的な並列動作を行うことができる。又、回路動作用クロックＣＬＫＣの１周期における通信回数を抑制するため、回路動作用クロックＣＬＫＣの１周期の時間を短縮できる。これにより、信号伝達処理に要する時間を短縮することができる。
【０１６２】
（効果）
図１８Ａ〜図１９Ｂを参照して、本発明による回路設計方法（信号分配方法）及び本発明よって設計された信号伝達回路の効果について詳細に説明する。以下では、本発明を利用しないで設計された信号伝達回路を、比較回路として本発明による効果を説明する。本一例による比較回路は、多重化回路３０５に信号Ａ〜Ｃ、多重化回路３０６に信号Ｄ〜Ｆ、多重化回路３０７に信号Ｇ〜Ｉ、多重化回路３０８に信号Ｊ〜Ｌが、それぞれ接続（入力）された信号伝達回路である。
【０１６３】
図１８Ａ及び図１８Ｂは、比較回路の所定の期間における信号の変化及び通信回数を示す図である。図１９Ａ及び図１９Ｂは、本発明によって設計された信号伝達回路の所定の期間における信号の変化及び通信回数を示す図である。ここで、比較回路と本発明による信号伝達回路における信号の変化するタイミングは、図７Ａ及び図７Ｂに示すタイミング情報６に従っているものとする。
【０１６４】
図１８Ａ及び図１８Ｂ、図１９Ａ及び図１９Ｂには、所定の期間（回路動作用クロックＣＬＫＣの１周期目から４５周期目までの期間）において、回路動作用クロックＣＬＫＣの各周期の信号Ａ〜Ｌの論理値の変化と通信回数が示される。
【０１６５】
デバイス間に複数の多重化回路が設けられたシステムでは、回路動作用クロックＣＬＫＣの１周期（動作サイクル）の長さは、全ての多重化回路から変更終了信号が出力される時刻によって決まる。この場合、１サイクルにおいて論理値が変化（遷移）する信号数の少ない多重化回路は、自身が変更終了信号を出力してから、他の多重化回路から変更終了信号が出力されるまでの間、待機する必要がある。例えば、図１８Ａを参照して、回路動作用クロックＣＬＫＣの７周期目の長さは、多重化回路３０５に入力される３つの信号Ａ〜Ｃの変化の後に出力される変更終了信号によって決定する。この場合、信号の変化がない多重化回路３０７、３０８や信号Ｆのみが変化する多重化回路３０６は、多重化回路３０５から変更終了信号が出力されるまでの間、待機状態となる。
【０１６６】
一方、本発明では、同時変化回数が大きい２つの信号を、異なる多重化回路に接続（入力）するように設計している。具体的には、ステップＳ５０の処理において、同時変化回数が多い順に信号組を抽出し、信号組内の２つの信号を、異なる２つの多重化回路に割り当てている。例えば、ステップＳ５０の処理では、同時変化回数が最大の２つの信号が異なる２つの多重化回路に割り当てられる。あるいは、同時変化回数が次に大きい信号は、更に別の多重化回路に割り当てられる。このように、同時に変化する可能性の高い信号が別々の多重化回路に接続されているため、多重化回路間で信号が同時に変化する可能性が高まる。すなわち、信号伝達するときの各動作サイクルにおいて、複数の多重化回路が並列動作する頻度が増大する。
【０１６７】
ここで、図１８Ａ及び図１８Ｂ、図１９Ａ及び図１９Ｂを参照して、信号伝達時における多重化回路の並列動作について検証する。以下では、検証を簡素化するため、変化する信号がなく１周期（１サイクル）の全期間において待機状態となる多重化回路を待機回路とし、その他の回路を稼動回路として検証する。
【０１６８】
１〜４５周期の間に、４つの多重化回路のうち、４つ全ての多重化回路が稼動する周期の数は、比較回路で４回、本発明による信号伝達回路で１３回となる。又、１〜４５周期の間に、４つの多重化回路のうち、３つ多重化回路が稼動し、他の１つの多重化回路が待機回路となる周期の数は、比較回路で１２回、本発明による信号伝達回路で１０回となる。更に、１〜４５周期の間に、４つの多重化回路のうち、２つ多重化回路が稼動し、他の２つの多重化回路が待機回路となる周期の数は、比較回路で１３回、本発明による信号伝達回路で１２回となる。以上のように、信号伝達の際、２つ以上の多重化回路が並列動作する周期の数は、比較回路で２９回、本発明による信号伝達回路で３５回となる。このように、本発明による信号割り当て方法によって、多重化回路の並列動作する回数が増加する。特に、４つの多重化回路が並列動作する周期の数は、比較回路に比べて２倍以上となっている。このため、各周期で待機する多重化回路が大幅に削減され、効率的な信号伝達が可能となる。
【０１６９】
又、１〜４５周期までに、４つの多重化回路のうち、１つの多重化回路が稼動し、他の３つが待機回路（変化する信号がない）となる周期の数は、比較回路で１６回、本発明による信号伝達回路で１０回となる。このように、本発明による信号割り当て方法によって、３つの多重化回路が１周期の全期間待機する期間を減少させることができる。すなわち、本発明によれば、１つの多重化装置のみが稼動し他の多重化回路が待機状態となるような非効率的な期間を削減し、効率の良い信号伝達が可能となる。
【０１７０】
更に、各周期における通信回数は、複数の多重化回路３０５〜３０８のうち、各周期における論理値が変化する信号の数（以下、変化信号数と称す）が最も多い多重化回路における信号の変化信号数に対応する。例えば、多重化回路３０５〜３０８のうち、変化信号数が３つの多重化回路が１つでもあれば、その周期における通信回数は３となる。本発明では、信号間の同時変化回数が最小となる信号が予め割り当てられた多重化回路の他の端子に、割り当て対象として選択された信号を割り当てている。このため、多重化回路毎の変化信号数が多くなる可能性が低くなり、各周期における通信回数も減少する。
【０１７１】
図１８Ａ及び図１８Ｂを参照して、比較回路において、通信回数が“３”である周期の数は８回、“２”である周期の数は２２回、“１”である周期の数は１５回である。これに対し、図１９Ａ及び図１９Ｂを参照して、本発明による信号伝達回路では、通信回数が“３”である周期の数は１回、“２”である周期の数は１５回、“１”である周期の数は３１回となる。このように、本発明は、比較回路に比べて、通信回数が“３”や“２”のように通信回数が多い周期の数は減少し、“１”のように通信回数が少ない周期が増加している。すなわち、１〜４５周期の全期間における通信回数は、比較回路が“８３”であるのに対し、本発明では“６０”と大幅に減少している。これは、回路動作用クロックＣＬＫＣの１周期の間に、多重化回路における通信回数が減少していることを示すとともに、回路動作クロックＣＬＫＣの１周期の時間が短くなっていることを示す。
【０１７２】
以上のように、本発明による設計方法（信号割り当て方法）では、多重化回路に接続する信号のうち、他の信号との同時変化が多い信号を異なった多重化回路に接続し、同時変化が少ない信号を同一の多重化回路に接続している。これにより、１つの多重化回路で通信する回数を減らし、他の多重化回路との同時変化回数を増やすことが可能となる。すなわち、シリアルに通信を行う回数を減らすことができるため、信号伝達回路全体の動作速度が向上する。
【０１７３】
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。本実施の形態では、２つのデバイス間に４つの多重化回路が設けられた信号伝達回路を一例として説明したが、その数や多重化能力（多重化可能な信号数）は上記の一例に限らない。又、ステップＳ５０における処理は、第１の端子Ｓ１の１つに対してのみ行われたが、その数はこの限りではない。例えば、各多重化回路の第１及び第２の端子Ｓ１、Ｓ２に対する信号の割り当てをステップＳ５０の処理で行い、残る端子に対する信号の割り当てをステップＳ６０の処理で行っても良い。
【符号の説明】
【０１７４】
１  ：多重化回路設定部
２  ：同時変化回数算出部
３  ：信号割り当て部
４  ：信号接続部
５  ：回路設計情報
６  ：タイミング情報
７  ：同時変化回数表  
３０：クロック生成部
４０：発振器
１００：回路設計プログラム
３０１、３０２：デバイス
３０３、３０４：ユーザ回路部
３０５〜３１２：多重化回路
４０１：出力装置
４０２：コンピュータ本体
４０３：入力装置
４０４：外部記憶装置
４０５：記録媒体
４０６：インターネット
４０８：ＣＰＵ  
４１１：記憶装置
Ｓ１’、Ｓ２’、Ｓ３’：受信信号（端子）
Ｓ１、Ｓ２、Ｓ３：送信信号（端子）
ＣＬＫＤ：データ転送用クロック
ＣＬＫＣ：回路動作用クロック
Ａ〜Ｌ  ：信号
【図１】
2011119862.tif 000003
【図２】
2011119862.tif 000004
【図３】
2011119862.tif 000005
【図４】
2011119862.tif 000006
【図５】
2011119862.tif 000007
【図６】
2011119862.tif 000008
【図７Ａ】
2011119862.tif 000009
【図７Ｂ】
2011119862.tif 000010
【図８】
2011119862.tif 000011
【図９】
2011119862.tif 000012
【図１０】
2011119862.tif 000013
【図１１】
2011119862.tif 000014
【図１２】
2011119862.tif 000015
【図１３】
2011119862.tif 000016
【図１４】
2011119862.tif 000017
【図１５】
2011119862.tif 000018
【図１６Ａ】
2011119862.tif 000019
【図１６Ｂ】
2011119862.tif 000020
【図１６Ｃ】
2011119862.tif 000021
【図１６Ｄ】
2011119862.tif 000022
【図１６Ｅ】
2011119862.tif 000023
【図１６Ｆ】
2011119862.tif 000024
【図１６Ｇ】
2011119862.tif 000025
【図１７】
2011119862.tif 000026
【図１８Ａ】
2011119862.tif 000027
【図１８Ｂ】
2011119862.tif 000028
【図１９Ａ】
2011119862.tif 000029
【図１９Ｂ】
2011119862.tif 000030