(57)【特許請求の範囲】
【請求項１】
検証対象回路を分割して得られた複数のサブ回路のそれぞれが設けられた複数のサブシステムを備え、
前記複数のサブシステムは、それぞれ、少なくとも自身に設けられたサブ回路の状態が進んだか否かに基づいて、他のサブシステムに対して次のエミュレーションクロックサイクルに進むことを許可するか否かを判定し、許可する場合には許可通知を出力する許可通知出力部と、
自身に設けられたサブ回路から出力された信号であって他のサブシステムに設けられたサブ回路へ送信すべき信号が変化した場合には、次のエミュレーションクロックサイクルまでに該他のサブシステムに対して該信号の転送要求を出力する転送要求出力部と、
自身に設けられたサブ回路から他のサブシステムに設けられたサブ回路への信号を転送していない場合において、他のサブシステムから前記許可通知を受けるとともに、前記他のサブシステムから前記転送要求を受けていないときには、自身に設けられたサブ回路に対するエミュレーションクロック信号を出力して、自身に設けられたサブ回路を次のエミュレーションクロックサイクルに進めるクロック制御部と、を備えている、論理回路エミュレータ。
【請求項２】
前記許可通知出力部は、前記クロック制御部がエミュレーションクロック信号を出力した場合には、自身に設けられたサブ回路の状態が進んだものと判定する、請求項１に記載の論理回路エミュレータ。
【請求項３】
検証対象回路を分割して得られた複数のサブ回路のうちの第１のサブ回路が設けられた第１のサブシステムと、
前記第１のサブ回路との間で信号を送受信する第２のサブ回路が設けられた第２のサブシステムとを備え、
前記第１のサブシステムおよび前記第２のサブシステムは、それぞれ、少なくとも、前記第１のサブ回路および前記第２のサブ回路のうちの自身に設けられたサブ回路の状態が進んだか否かに基づいて、相手方のサブシステムに対して次のエミュレーションクロックサイクルに進むことを許可するか否かを判定し、許可する場合には許可通知を出力する許可通知出力部と、
前記第１のサブ回路および前記第２のサブ回路のうちの自身に設けられたサブ回路から相手方のサブシステムに設けられたサブ回路に対して送信する信号の変化を検出した場合には、次のエミュレーションクロックサイクルまでに該信号の転送要求を出力する転送要求出力部と、
相手方のサブシステムから許可通知を受信するととともに転送要求を受信していない場合に、前記第１のサブ回路及び前記第２のサブ回路のうちの自身に設けられたサブ回路に対するエミュレーションクロック信号を出力して、該サブ回路を次のエミュレーションクロックサイクルに進めるクロック制御部と、を備えている、論理回路エミュレータ。
【請求項４】
前記許可通知出力部及び前記クロック制御部は、前記第１のサブ回路および前記第２のサブ回路間のエミュレーションクロックサイクルのずれを許容する制御を行う、請求項３に記載の論理回路エミュレータ。
【請求項５】
前記許可通知出力部は、前記第１のサブ回路および前記第２のサブ回路のうちの自身に設けられたサブ回路の状態が進んだか否かに基づいて前記許可通知を出力する、請求項３又は４に記載の論理回路エミュレータ。
【請求項６】
前記許可通知出力部は、前記第１のサブ回路および前記第２のサブ回路のうちの自身に設けられたサブ回路の状態が進んだか否かを、前記クロック制御部がエミュレーションクロック信号を出力したか否かに基づいて判定することを特徴とする、請求項３乃至５のいずれか１項に記載の論理回路エミュレータ。
【請求項７】
前記第１のサブシステム及び前記第２のサブシステムは、それぞれ、前記第１のサブシステムと前記第２のサブシステムとの間におけるエミュレーションクロックサイクルのずれから算出されたカウントを保持するカウンタをさらに備えている、請求項３乃至６のいずれか１項に記載の論理回路エミュレータ。
【請求項８】
前記カウンタは、エミュレーションクロックサイクルのずれに１を加えたカウントを保持する、請求項７に記載の論理回路エミュレータ。
【請求項９】
前記許可通知出力部は、前記カウンタに１以上のカウントが格納されている場合に前記許可通知を出力する、請求項８に記載の論理回路エミュレータ。
【請求項１０】
検証対象回路を分割して得られた複数のサブ回路のそれぞれが設けられた複数のサブシステムを備えた論理回路エミュレータの制御方法であって、
前記複数のサブシステムが、それぞれ、少なくとも自身に設けられたサブ回路の状態が進んだか否かに基づいて、他のサブシステムに対して次のエミュレーションクロックサイクルに進むことを許可するか否かを判定して、許可する場合には許可通知を出力する工程と、
自身に設けられたサブ回路から出力された信号であって他のサブシステムに設けられたサブ回路へ送信すべき信号が変化した場合には、次のエミュレーションクロックサイクルまでに該他のサブシステムに対して該信号の転送要求を出力する工程と、
自身に設けられたサブ回路から他のサブシステムに設けられたサブ回路への信号を転送していない場合において、他のサブシステムから前記許可通知を受けるとともに、前記他のサブシステムから前記転送要求を受けていないときには、自身に設けられたサブ回路に対するエミュレーションクロック信号を出力して、自身に設けられたサブ回路を次のエミュレーションクロックサイクルに進める工程と、を含む、論理回路エミュレータの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１０−１０１９１０号（２０１０年４月２７日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、論理回路エミュレータ、及び、論理回路エミュレータの制御方法に関し、特に、複数のサブシステムを含む論理回路エミュレータ及び論理回路エミュレータの制御方法に関する。
【背景技術】
【０００２】
論理回路の検証において、ソフトウェアによるＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）シミュレーションが多く用いられている。しかし、大規模な論理回路を対象とした場合には、ＲＴＬシミュレーションはシミュレーション速度が遅く、十分な検証を行なうことができない。そこで、論理回路をＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）上に構成して実行する論理回路エミュレータが用いられている。【０００３】
しかしながら、非常に大規模な論理回路を対象とした場合には、論理回路を単一のＦＰＧＡ上に収めることができない。このような場合には、複数のサブシステム（ＦＰＧＡ又はエミュレータのボード）を含む論理回路エミュレータを用いることができる。すなわち、論理回路を複数のサブ回路に分割して、各サブ回路を複数のサブシステムのそれぞれに割り当てる方法が採用される。【０００４】
検証対象の論理回路（以下「検証対象回路」という。）を複数のサブ回路に分割するには、一例として、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）ベンダによって提供された回路分割ツールを用いることができる。設計者が、回路分割ツールに対して、検証対象回路を入力した後、検証対象回路の各部分を複数のサブ回路のうちのいずれに割り当てるかを指定すると、回路分割ツールは各サブ回路の回路規模を見積る。そこで、論理回路エミュレータの各サブシステムに搭載可能な回路規模となるように、検証対象回路を複数のサブ回路に分割し、これらのサブ回路をそれぞれ論理回路エミュレータのサブシステム上に搭載する。このようにして、論理回路エミュレータによる大規模な論理回路の検証が可能となる。【０００５】
ところで、検証対象回路を分割して実装した論理回路エミュレータ上において、サブシステム間の信号線の本数は限られている。そこで、特許文献１に記載された時間多重相互接続を用いたエミュレーション・システム、及び、特許文献２に記載された再構成可能な論理システムのための仮想相互接続においては、サブシステム間の信号を時間多重する方法が採用されている。【０００６】
図１６は、特許文献１に記載された時間多重相互接続を用いたエミュレーション・システムの構成を示すブロック図である。図１７は、特許文献１に記載された時間多重相互接続を用いたエミュレーション・システムの動作を示す波形図である。【０００７】
図１８は、特許文献２に記載された再構成可能な論理システムのための仮想相互接続の構成を示すブロック図である。図１９は、特許文献２に記載された再構成可能な論理システムのための仮想相互接続の動作を示す波形図である。【０００８】
図１７及び図１９を参照すると、特許文献１、２では、エミュレーションクロックに対して高速な転送用のクロックを用い、エミュレーションクロックより高速な転送速度でサブシステム間の信号を転送することにより、サブシステム間の信号線の本数が限られているという問題を解消している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特表２００２−５０７２９４号公報
【特許文献２】特表平０８−５０８５９９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記の特許文献等の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者によってなされたものである。【００１１】
特許文献１、２に記載された方式によると、Ｎ本（Ｎ：自然数）の信号をＮ倍に時間多重して転送する場合、転送速度をエミュレーションクロックのＮ倍とする必要がある。しかし、検査対象回路の規模は近年さらに増大してきており、サブシステム間で転送すべき信号本数を増加させること、又はサブシステム間における転送クロックを高速化することは困難となりつつある。【００１２】
ところで、サブシステム間における信号転送は常時生じている訳ではなく、すべての信号が変化する訳ではない。そこで、転送が行われるエミュレーションクロックサイクルにおいてのみ、転送に必要な期間にわたってエミュレーションクロックを停止して、転送を行う方法が考えられる。必要な期間にわたってエミュレーションクロックを停止する方法を用いた場合には、転送速度をエミュレーションクロックのＮ倍とする必要がなくなることから、転送クロックの高速化を回避することができる。【００１３】
論理回路エミュレータにおいて、検証対象回路を複数のサブシステムに分割して検証する場合には、検証対象回路が整合性を保ちつつ動作するように、全体のエミュレーションクロックを一貫して制御することが好ましい。【００１４】
図２０は、このような場合に用いられる一般的な論理回路エミュレータ１００の構成を一例として示す図である。論理回路エミュレータ１００は、複数のサブシステムＡ１０１及びＢ１０２を含み、検証対象の論理回路を分割して検証が行われる。ここでは、一例として、サブシステムの個数を２つとする。【００１５】
図２０を参照すると、論理回路エミュレータ１００は、サブシステムＡ１０１及びＢ１０２、並びに、全体制御回路９９０を有する。【００１６】
サブシステムＡ１０１は、コントローラ３０１、転送信号保持部５０１、サブ回路Ａ２０１及び転送信号送信部４０１を有する。コントローラ３０１は、クロック制御部９３１及び転送要求出力部３２１を有する。【００１７】
同様に、サブシステムＢ１０２は、コントローラ３０２、転送信号保持部５０２、サブ回路Ｂ２０２及び転送信号送信部４０２を有する。コントローラ３０２は、クロック制御部９３２及び転送要求出力部３２２を有する。【００１８】
全体制御回路９９０は、転送要求受信部９９１及び許可通知出力部９９２を有する。【００１９】
サブ回路Ａ２０１及びＢ２０２は、設計者が検証を行おうとしている検証対象回路を２つのサブ回路に分割し、それぞれサブシステムＡ１０１及びＢ１０２上に構成したものである。検査対象回路は、市販のＣＡＤツールなどを用いて、複数のサブ回路に分割することができる。【００２０】
コントローラ３０１及び３０２は、それぞれ、サブ回路Ａ２０１及びＢ２０２を動作させるエミュレーションクロックを制御することで、分割された検証対象回路を、整合性を保ちつつ動作させる。【００２１】
転送信号送信部４０１は、サブシステムＡ１０１に割り当てられたサブ回路Ａ２０１から、サブシステムＢ１０２に割り当てられたサブ回路Ｂ２０２に送信される転送信号（サブ回路Ａ２０１の出力信号であり、サブ回路Ｂ２０２の入力信号でもある）を受信し、受信した転送信号をサブシステムＢ１０２に送信する。逆に、転送信号送信部４０２は、サブシステムＢ１０２側からサブシステムＡ１０１へと転送信号を送信する。【００２２】
転送信号保持部５０１は、サブシステムＢ１０２の転送信号送信部４０２から転送信号を受信し、受信した転送信号をサブシステムＡ１０１のサブ回路Ａ２０１への入力として保持する。逆に、転送信号保持部５０２は、サブシステムＡ１０１上の転送信号送信部４０１から転送信号を受信し、サブシステムＢ１０２の検証対象回路２０２への入力として保持する。【００２３】
次に、コントローラ３０１及び３０２の動作について説明する。【００２４】
転送要求出力部３２１及び３２２は、それぞれ、サブ回路Ａ２０１及びＢ２０２の出力信号を観測し、出力信号が変化した場合には、次のクロックサイクルまでに全体制御回路９９０に対して転送要求を行う。【００２５】
クロック制御部９３１及び９３２は、全体制御回路９９０から許可通知を受け取っており、かつ、転送信号の送受信中でない期間に、エミュレーションクロックを出力し、それぞれ、サブ回路Ａ２０１及びＢ２０２の状態を進行させる。一方、クロック制御部９３１及び９３２は、許可通知を受け取っていない期間、又は、転送信号の送受信中には、エミュレーションクロックを停止する制御を行う。【００２６】
次に、全体制御回路９９０の動作について説明する。【００２７】
転送要求受信部９９１は、サブシステムＡ１０１及びＢ１０２上にそれぞれ構成された転送要求出力部３２１及び３２２からの転送要求を受信する。【００２８】
許可通知出力部９９２は、転送要求受信部９９１が受信した転送要求を参照し、いずれのサブシステムからも転送要求が出ていない場合には、すべてのサブシステムに対して許可通知を出力する。【００２９】
以上の構成に基づいて、いずれかのサブシステム間で転送要求が発生した場合には、全体制御回路９９０は、すべてのサブシステムを停止させ、転送が終了した後にサブシステムの動作を再開させる。【００３０】
このように、必要な期間にわたってエミュレーションクロックを停止する手法により、転送クロックの高速化の問題を回避することができる。【００３１】
しかしながら、図２０に示した論理回路エミュレータ１００によると、次のような問題がある。【００３２】
第１に、図２０に示した論理回路エミュレータ１００によると、エミュレーションクロックを高速化することができない。図２０に示した論理回路エミュレータ１００において、転送中にエミュレーションクロックを停止する信号を用いる場合、すべてのサブシステムからの転送要求を集め、すべての転送が終了するまで、すべてのサブシステムのエミュレーションクロックを停止するように信号を分配する全体制御回路９９０が用いられる。しかし、かかる構成によると、すべてのサブシステムから転送要求信号を収集する配線、及び、すべてのサブシステムにクロック制御信号を分配する配線が長大となることから、エミュレーションクロックを高速化することができない。【００３３】
第２に、図２０に示した論理回路エミュレータ１００によると、エミュレーション時間を短縮することができない。図２０に示した論理回路エミュレータ１００の構成によると、信号の変化がなく転送を待つ必要がないサブシステム、又は、転送が短時間で終了するようなサブシステムが存在する場合であっても、すべてのサブシステム間の転送が終了するまで、エミュレーションクロックが停止する。したがって、エミュレーションクロックを進めることができるサブシステムが存在していても、最も時間を要するサブシステム間の転送が完了するまで状態を進めることができず、エミュレーション時間を短縮することができない。【００３４】
そこで、複数のサブシステムを含む論理回路エミュレータにおいて、エミュレーションクロックを高速化できるようにすることが課題となる。本発明の目的は、かかる課題を解決する論理回路エミュレータ及び論理回路エミュレータの制御方法を提供することにある。
【課題を解決するための手段】
【００３５】
本発明の第１の視点に係る論理回路エミュレータは、
検証対象回路を分割して得られた複数のサブ回路のそれぞれが設けられた複数のサブシステムを備え、
複数のサブシステムは、それぞれ、少なくとも自身に設けられたサブ回路の状態が進んだか否かに基づいて、他のサブシステムに対して次のエミュレーションクロックサイクルに進むことを許可するか否かを判定し、許可する場合には許可通知を出力する許可通知出力部と、
自身に設けられたサブ回路から出力された信号であって他のサブシステムに設けられたサブ回路へ送信すべき信号が変化した場合には、次のエミュレーションクロックサイクルまでに該他のサブシステムに対して該信号の転送要求を出力する転送要求出力部と、
自身に設けられたサブ回路から他のサブシステムに設けられたサブ回路への信号を転送していない場合において、他のサブシステムから許可通知を受けるとともに、前記他のサブシステムから前記転送要求を受けていないときには、自身に設けられたサブ回路に対するエミュレーションクロック信号を出力して、自身に設けられたサブ回路を次のエミュレーションクロックサイクルに進めるクロック制御部と、を有する。
【００３６】
本発明の第２の視点に係る論理回路エミュレータは、
検証対象回路を分割して得られた複数のサブ回路のうちの第１のサブ回路が設けられた第１のサブシステムと、
第１のサブ回路との間で信号を送受信する第２のサブ回路が設けられた第２のサブシステムとを備え、
第１のサブシステムおよび第２のサブシステムは、それぞれ、少なくとも、第１のサブ回路および第２のサブ回路のうちの自身に設けられたサブ回路の状態が進んだか否かに基づいて、相手方のサブシステムに対して次のエミュレーションクロックサイクルに進むことを許可するか否かを判定し、許可する場合には許可通知を出力する許可通知出力部と、
第１のサブ回路および第２のサブ回路のうちの自身に設けられたサブ回路から相手方のサブシステムに設けられたサブ回路に対して送信する信号の変化を検出した場合には、次のエミュレーションクロックサイクルまでに該信号の転送要求を出力する転送要求出力部と、
相手方のサブシステムから許可通知を受信するととともに転送要求を受信していない場合に、前記第１のサブ回路及び前記第２のサブ回路のうちの自身に設けられたサブ回路に対するクロック信号を出力して、該サブ回路を次のエミュレーションクロックサイクルに進めるクロック制御部と、を有する。
【００３７】
本発明の第３の視点に係る、論理回路エミュレータの制御方法は、
検証対象回路を分割して得られた複数のサブ回路のそれぞれが設けられた複数のサブシステムを備えた論理回路エミュレータの制御方法であって、
複数のサブシステムが、それぞれ、少なくとも自身に設けられたサブ回路の状態が進んだか否かに基づいて、他のサブシステムに対して次のエミュレーションクロックサイクルに進むことを許可するか否かを判定し、許可する場合には許可通知を出力する工程と、
自身に設けられたサブ回路から出力された信号であって他のサブシステムに設けられたサブ回路へ送信すべき信号が変化した場合には、次のエミュレーションクロックサイクルまでに該他のサブシステムに対して該信号の転送要求を出力する工程と、
自身に設けられたサブ回路から他のサブシステムに設けられたサブ回路への信号を転送していない場合において、他のサブシステムから許可通知を受けるとともに、前記他のサブシステムから前記転送要求を受けていないときには、自身に設けられたサブ回路に対するエミュレーションクロック信号を出力して、自身に設けられたサブ回路を次のエミュレーションクロックサイクルに進める工程と、を含む。
【発明の効果】
【００３８】
本発明に係る論理回路エミュレータ及び論理回路エミュレータの制御方法によると、複数のサブシステムを含む論理回路エミュレータにおいて、エミュレーションクロックを高速化するこができる。
【図面の簡単な説明】
【００３９】
【図１】第１の実施形態に係る論理回路エミュレータの構成を示すブロック図である。
【図２】第２の実施形態に係る論理回路エミュレータの構成を示すブロック図である。
【図３】第２の実施形態に係る論理回路エミュレータの動作を示すフローチャートである。
【図４】第２の実施形態に係る論理回路エミュレータにおける許可通知出力部３１１の動作の一部を示すフローチャートである。
【図５】第２の実施形態に係る論理回路エミュレータにおける許可通知出力部３１１の動作の概要を示すフローチャートである。
【図６】第２の実施形態に係る論理回路エミュレータにおける許可通知出力部３１２の動作の概要を示すフローチャートである。
【図７】第２の実施形態においてサブシステム間で転送が行われる場合の動作概要を示すフローチャートである。
【図８】第２の実施形態に係る論理回路エミュレータにおける全体の動作を示す概念図である。
【図９】第２の実施形態に係る論理回路エミュレータにおける全体の動作を示す概念図である。
【図１０】第２の実施形態に係る論理回路エミュレータにおける全体の動作を示す概念図である。
【図１１】第３の実施形態に係る論理回路エミュレータの構成を示すブロック図である。
【図１２】第３の実施形態に係る論理回路エミュレータにおけるカウンタの動作を示すフローチャートである。
【図１３】第３の実施形態に係る論理回路エミュレータの全体の動作を示す概念図である。
【図１４】第３の実施形態に係る論理回路エミュレータの全体の動作を示す概念図である。
【図１５】第４の実施形態に係る論理回路エミュレータの構成を示すブロック図である。
【図１６】特許文献１に記載された時間多重相互接続を用いたエミュレーション・システムの構成を示すブロック図である。
【図１７】特許文献１に記載された時間多重相互接続を用いたエミュレーション・システムの動作を示す波形図である。
【図１８】特許文献２に記載された再構成可能な論理システムのための仮想相互接続の構成を示すブロック図である。
【図１９】特許文献２に記載された再構成可能な論理システムのための仮想相互接続の動作を示す波形図である。
【図２０】関連技術における論理回路エミュレータの構成を示すブロック図である。
【図２１】関連技術における論理回路エミュレータの動作を示す概念図である。
【図２２】関連技術における論理回路エミュレータの動作を示す概念図である。
【発明を実施するための形態】
【００４０】
第１の展開形態によると、上記第１の視点に係る論理回路エミュレータが提供される。
【００４１】
第２の展開形態によると、許可通知出力部は、クロック制御部がエミュレーションクロック信号を出力した場合には、自身に設けられたサブ回路の状態が進んだものと判定する、論理回路エミュレータが提供される。
【００４２】
第３の展開形態によると、上記第２の視点に係る論理回路エミュレータが提供される。
【００４３】
第４の展開形態によると、許可通知出力部及びクロック制御部は、第１のサブ回路および第２のサブ回路間のエミュレーションクロックサイクルのずれを許容する制御を行う、論理回路エミュレータが提供される。
【００４４】
第５の展開形態によると、許可通知出力部は、第１のサブ回路および第２のサブ回路のうちの自身に設けられたサブ回路の状態が進んだか否かに基づいて許可通知を出力する、論理回路エミュレータが提供される。
【００４５】
第６の展開形態によると、許可通知出力部は、第１のサブ回路および第２のサブ回路のうちの自身に設けられたサブ回路の状態が進んだか否かを、クロック制御部がクロックを出力したか否かに基づいて判定する、論理回路エミュレータが提供される。
【００４６】
第７の展開形態によると、第１のサブシステム及び第２のサブシステムは、第１のサブシステムと第２のサブシステムとの間におけるエミュレーションクロックサイクルのずれから算出されたカウントを保持するカウンタをさらに有する、論理回路エミュレータが提供される。
【００４７】
第８の展開形態によると、カウンタは、エミュレーションクロックサイクルのずれに１を加えたカウントを保持する、論理回路エミュレータが提供される。
【００４８】
第９の展開形態によると、許可通知出力部は、カウンタに１以上のカウントが格納されている場合に許可通知を出力する、論理回路エミュレータが提供される。
【００４９】
第１０の展開形態によると、上記第３の視点に係る、論理回路エミュレータの制御方法が提供される。
【００５０】
本発明では、全体の処理の整合性が保たれる範囲において、サブシステム間におけるエミュレーションクロックサイクルのずれを許容している。このとき、信号を送受信するサブ回路が設けられたサブシステム間においてのみ、エミュレーションクロックを制御する信号の送受信が行われる。すなわち、本発明によると、単一の制御回路が、すべてのサブシステムから制御信号を収集するとともに、すべてのサブシステムのエミュレーションクロックを制御する方式と比較して、制御信号の配線を簡略化し、短縮することができる。したがって、本発明に係る論理回路エミュレータ及び論理回路エミュレータの制御方法によると、エミュレーションクロックを高速化することができる。
【００５１】
また、本発明では、各サブシステムが独立してエミュレーションクロックを制御している。本発明では、入力信号の変化がなく、隣接するすべてのサブシステムからエミュレーションクロックの進行を許可されているサブシステムは、信号転送待ちのサブシステムの有無にかかわらず、エミュレーションクロックを進めることができる。したがって、本発明に係る論理回路エミュレータ及び論理回路エミュレータの制御方法によると、従来の論理回路エミュレータとエミュレーションクロックの周波数が同一であっても、エミュレーション時間を短縮することができる。エミュレーションクロックを併せて高速化した場合には、エミュレーション時間をさらに短縮することができる。
【００５２】
（実施形態１）
次に、第１の実施形態に係る論理回路エミュレータについて、図面を参照して詳細に説明する。
【００５３】
図１は、本実施形態に係る論理回路エミュレータ１０の構成を示すブロック図である。図１を参照すると、論理回路エミュレータ１０は、検証対象回路を分割して得られた複数のサブ回路のそれぞれが設けられた複数のサブシステムを有する。図１は、サブシステムの個数が２個の場合を示す。なお、サブシステムの個数は、２個に限られない。
【００５４】
図１を参照すると、論理回路エミュレータ１０は、検証対象回路に含まれる第１のサブ回路（サブ回路Ａ２１）が設けられた第１のサブシステム（サブシステムＡ１１）と、第２のサブ回路（サブ回路Ｂ２２）が設けられた第２のサブシステム（サブシステムＢ１２）とを有する。
【００５５】
第１のサブシステム（サブシステムＡ１１）及び第２のサブシステム（サブシステムＢ１２）は、それぞれ、許可通知出力部３１、３２、転送要求出力部４１、４２、クロック制御部５１、５２を有する。
【００５６】
許可通知出力部３１、３２は、自身に設けられたサブ回路（サブ回路Ａ２１ないしサブ回路Ｂ２２）の状態が進んだか否かに応じて、他のサブシステムに対して、次のエミュレーションクロックサイクルに進むことを許可する許可通知を出力する。
【００５７】
転送要求出力部４１、４２は、自身に設けられたサブ回路（サブ回路Ａ２１ないしサブ回路Ｂ２２）から出力された信号であって他のサブシステムに設けられたサブ回路へ送信すべき信号が変化した場合には、次のエミュレーションクロックサイクルまでに、当該他のサブシステムに対して該信号の転送要求を出力する。
【００５８】
クロック制御部５１、５２は、自身に設けられたサブ回路（サブ回路Ａ２１ないしサブ回路Ｂ２２）から他のサブシステムに設けられたサブ回路への信号を転送していない場合において、他のサブシステムから許可通知を受けるとともに転送要求を受けていないときには、自身に設けられたサブ回路を次のエミュレーションクロックサイクルに進めるように自身に設けられたサブ回路に対するエミュレーションクロック信号を制御する。
【００５９】
本実施形態の論理回路エミュレータ１０によると、全体の処理の整合性が保たれるが範囲において、サブシステム間におけるエミュレーションクロックサイクルのずれが許容される。エミュレーションクロックのずれを許容することにより、信号を送受信するサブ回路が設けられたサブシステム間においてのみ、エミュレーションクロックを制御する信号の送受信が行われる。すなわち、論理回路エミュレータ１０によると、単一の制御回路が、すべてのサブシステムから制御信号を収集するとともに、すべてのサブシステムのエミュレーションクロックを制御する方式（例えば、図２０に示した論理回路エミュレータ１００）と比較して、制御信号の配線を簡略化し、短縮することができる。したがって、本実施形態に係る論理回路エミュレータ１０によると、エミュレーションクロックを高速化することができる。
【００６０】
（実施形態２）
次に、第２の実施形態に係る論理回路エミュレータについて、図面を参照して詳細に説明する。
【００６１】
図２は、本実施形態に係る論理回路エミュレータ２０の構成を示すブロック図である。論理回路エミュレータ２０は、サブシステムＡ１０１及びＢ１０２を含む。ここでは、一例として、２つのサブシステムを含む論理回路エミュレータ２０について説明するが、本発明は２つのサブシステムを含む場合にのみ適用されるものではなく、任意の複数のサブシステムを含む場合にも適用することができる。
【００６２】
図２を参照すると、論理回路エミュレータ２０は、サブシステムＡ１０１及びＢ１０２を有する。サブシステムＡ１０１は、コントローラ３０１、転送信号保持部５０１、サブ回路Ａ２０１及び転送信号送信部４０１を有する。コントローラ３０１は、クロック制御部３３１、転送要求出力部３２１及び許可通知出力部３１１を有する。同様に、サブシステムＢ１０２は、コントローラ３０２、転送信号保持部５０２、サブ回路Ｂ２０２及び転送信号送信部４０２を有する。コントローラ３０２は、クロック制御部３３２、転送要求出力部３２２及び許可通知出力部３１２を有する。
【００６３】
サブ回路Ａ２０１及びＢ２０２は、設計者が検証を行おうとしている検証対象回路を分割し、それぞれサブシステムＡ１０１及びＢ１０２上に構成したものである。検査対象回路は、市販のＣＡＤツールなどを用いて分割することができる。
【００６４】
コントローラ３０１及び３０２は、それぞれ、サブ回路Ａ２０１及びＢ２０２を動作させるエミュレーションクロックを制御することで、分割された検証対象回路を整合性を保ちつつ動作させる。
【００６５】
転送信号送信部４０１は、サブシステムＡ１０１に割り当てられたサブ回路Ａ２０１から、サブシステムＢ１０２に割り当てられたサブ回路Ｂ２０２に接続される転送信号（サブ回路Ａ２０１の出力信号であり、サブ回路Ｂ２０２の入力信号でもある）を受け取り、この転送信号をサブシステムＢ１０２に送信する。逆に、転送信号送信部４０２は、サブシステムＢ１０２側からサブシステムＡ１０１へと転送信号を送信する。
【００６６】
転送信号保持部５０１は、サブシステムＢ１０２の転送信号送信部４０２から転送信号を受信し、受信した転送信号をサブシステムＡ１０１のサブ回路Ａ２０１への入力として保持する。逆に、転送信号保持部５０２は、サブシステムＡ１０１の転送信号送信部４０１から転送信号を受信し、サブシステムＢ１０２のサブ回路Ｂ２０２への入力として保持する。
【００６７】
次に、コントローラ３０１及び３０２の構成について説明する。
【００６８】
許可通知出力部３１１及び３１２は、隣接するサブシステムに対してサブ回路Ａ２０１及びＢ２０２の動作の進行を許可する許可通知を送信する。
【００６９】
なお、サブシステムＡとサブシステムＢが隣接するとは、サブシステムＡのサブ回路Ａ２０１の出力がサブシステムＢのサブ回路Ｂ２０２の入力となっているか、又は、サブシステムＢのサブ回路Ｂ２０２の出力が、サブシステムＡのサブ回路Ａ２０１の入力となっているかの少なくともいずれか一方が満たされている状態をいう。したがって、隣接する２つのサブシステムは、必ずしも物理的に近いわけではない。
【００７０】
許可通知は、サブシステムＡ１０１の許可通知出力部３１１からサブシステムＢ１０２のクロック制御部３３２へ送られるとともに、サブシステムＢ１０２の許可通知出力部３１２からサブシステムＡ１０１のクロック制御部３３１に送られる。なお、許可通知出力部３１１及び３１２は、それぞれ、サブシステムＡ３０１及びＢ３０２に内蔵する必要はなく、外部に設けることも可能である。しかし、配線長を考慮すると、許可通知出力部３１１及び３１２は、それぞれ、サブシステムＡ３０１及びＢ３０２に内蔵することが好ましい。
【００７１】
転送要求出力部３２１及び３２２は、それぞれ、サブ回路Ａ２０１及びＢ２０２の出力信号を観測し、出力信号が変化した場合には、次のエミュレーションクロックサイクルまでに、隣接するサブシステムに対して転送要求を行う。この転送要求は、サブシステムＡ１０１及びＢ１０２のクロック制御部３３１及び３３２に送られる。
【００７２】
クロック制御部３３１及び３３２は、隣接するサブシステムから許可通知を受け取っており、かつ、転送信号の送受信中でない期間に、エミュレーションクロックを出力し、それぞれ、サブ回路Ａ２０１及びＢ２０２の状態を進行させる。一方、クロック制御部３３１及び３３２は、許可通知を受け取っていない期間、又は、転送信号の送受信中には、エミュレーションクロックを停止する制御を行う。
【００７３】
ここで、許可通知出力部３１１及び３１２、並びに、クロック制御部３３１及び３３２は、サブシステムごとに独立して検証対象回路のエミュレーションクロック制御を行い、全体の整合性を保つことができる範囲でサブシステム間のエミュレーションクロックサイクルのずれを許容しつつ、検証対象回路の動作を進める。
【００７４】
本実施形態の論理回路エミュレータ２０は、図２０に示した論理回路エミュレータ１００と比較すると、全体制御回路９９０を有していない点と、各サブシステムが隣接するサブシステムに対して許可通知を行う許可通知出力部３１１及び３１２を有している点において相違する。本実施形態の論理回路エミュレータ２０は、かかる構成により、全体の整合性が保たれる範囲でサブシステム間でのエミュレーションクロックサイクルがずれることを許容する制御を実現する。
【００７５】
次に、図３〜図７のフローチャートを参照して、本実施形態に係る論理回路エミュレータ２０の動作について説明する。
【００７６】
図３は、本実施形態に係る論理回路エミュレータ２０の動作を示すフローチャートである。図３のフローチャートを参照して、本実施形態の論理回路エミュレータ２０の全体の動作について説明する。
【００７７】
なお、以下では、サブシステムＡ１０１の動作に注目して説明するが、サブシステムＢ１０２も並行して同様の動作を行なう。
【００７８】
まず、転送信号送信部４０１が転送信号を送信中でない場合には（ステップＳ１１のＮｏ）、ステップＳ１４に進む。クロック制御部３３１が他のサブシステムからの転送要求を受信している場合には（ステップＳ１４のＹｅｓ）、転送信号保持部５０１は、転送信号の受信処理を行い（ステップＳ１５）、エミュレーションクロックを出力しない（サブ回路Ａ２０１を動作させない）ことから、処理を終了する。
【００７９】
一方、転送要求を受信していない場合には（ステップＳ１４のＮｏ）、ステップＳ１６に進む。許可通知を受信していない場合には（ステップＳ１６のＮｏ）、エミュレーションクロックを出力することはできないため、処理を終了する。
【００８０】
一方、許可通知を受信している場合には（ステップＳ１６のＹｅｓ）、クロック制御部３３１はエミュレーションクロックを出力する（ステップＳ１７）。エミュレーションクロックが出力されることにより、サブ回路Ａ２０１が動作する（ステップＳ１８）。
【００８１】
サブ回路Ａ２０１が動作後、転送要求出力部３２１は、サブ回路Ａ２０１の出力信号が変化したか否を確認する（ステップＳ１９）。変化がない場合には（ステップＳ１９のＮｏ）、転送信号の送信処理は行わないため、処理を終了する。
【００８２】
一方、変化がある場合には（ステップＳ１９のＹｅｓ）、転送要求出力部３２１は、転送信号の送信先のサブシステムに対して転送要求の出力を開始する（ステップＳ２０）。次に、転送信号送信部４０１は、サブ回路Ａ２０１の出力信号である転送信号の送信を開始する（ステップＳ２１）。
【００８３】
なお、転送信号送信部４０１が転送信号の送信中であった場合には（ステップＳ１１のＹｅｓ）、ステップＳ１２に進む。最後の転送信号を送信した場合には（ステップＳ１２のＹｅｓ）、転送要求出力部３２１が転送要求の出力を終了する（ステップＳ１３）。
【００８４】
一方、最後の転送信号ではなく、転送途中であった場合には（ステップＳ１２のＮｏ）、処理を終了する。
【００８５】
図４は、本実施形態に係る論理回路エミュレータ２０における許可通知出力部３１１の動作を示すフローチャートである。図４のフローチャートを参照して、許可通知出力部３１１の動作について説明する。
【００８６】
ここでは、サブシステムＡ１０１が転送信号の送信側である場合の動作について説明する。ここで説明する処理は、エミュレーションクロックの１サイクルに相当する時間ごとに行われる。以下では、この１サイクルに相当する時間ごとに、１時刻が割り当てられるものとして説明する。
【００８７】
はじめに、許可通知出力部３１１は、１つ前の時刻から現在の時刻に進むにあたってサブ回路Ａ２０１の状態が進んだか否かを確認する（ステップＳ１０１）。この確認は、クロック制御部３３１がクロックを出力したか否かに基づいて行なうことができる。サブ回路Ａ２０１の状態が進んでいた場合には（ステップＳ１０１のＹｅｓ）、許可通知を出力する（ステップＳ１０２）。
【００８８】
一方、サブ回路Ａ２０１の状態が進んでいなかった場合には（ステップＳ１０１のＮｏ）、ステップＳ１０３に進む。検証対象回路の状態が進まない状況として、許可通知が入力されていない場合と、転送信号の送受信が行われている場合がある。
【００８９】
次に、１つ前の時刻に許可通知出力部３１１が許可通知を出力していたか否かを判定する（ステップＳ１０３）。許可通知を出力していない場合には（ステップＳ１０３のＮｏ）、許可通知を出力しない（ステップＳ１０６）。
【００９０】
一方、１つ前の時刻に許可通知を出力していた場合には（ステップＳ１０３のＹｅｓ）、ステップＳ１０４に進む。次に、１つ前の時刻に許可通知の入力があったかを判断する（ステップＳ１０４）。１つ前の時刻に許可通知の入力がなかった場合には（ステップＳ１０４のＮｏ）、サブ回路Ｂ２０２が動作していない、すなわち、１つ前の時刻の許可通知の出力がサブシステムＢ１０２側で受け取られていないことから、継続して許可通知を出力する（ステップＳ１０２）。
【００９１】
一方、許可通知の入力があった場合には（ステップＳ１０４のＹｅｓ）、ステップＳ１０５に進む。１つ前の時刻において転送信号の送受信中であった場合には（ステップＳ１０５のＹｅｓ）、サブ回路Ｂ２０２の状態を進行させることができず、サブシステムＢ１０２側は許可通知を受け取らないことから、継続して許可通知を出力する（ステップＳ１０２）。
【００９２】
一方、１つ前の時刻で転送信号の送受信中ではなかった場合には（ステップＳ１０５のＮｏ）、１つ前の時刻の許可出力をサブシステムＢ１０２が受け取ったことを表すことから、許可通知を出力しない（ステップＳ１０６）。
【００９３】
次に、図５のフローチャートを参照して、許可通知出力部３１１の動作について、図４のフローチャートと異なる方式の一例を説明する。
【００９４】
図４のフローチャートの方式においては、転送信号の送信中は受信側のサブシステムは検証対象回路の状態を進行させることができないにもかかわらず、許可通知が行われる方式となっている。全体制御として、図３のフローチャートに示す方式を用いていれば、許可通知を受け取っていても転送中には検証対象回路は動作しないため、この事実とは無関係に正しい動作が可能である。しかし、クロック制御部の制御を簡単にするために、検証対象回路の動作の進行が可能なときにのみ許可通知が行われる方式を採用することもできる。図５のフローチャートでは、かかる方式を一例として示す。
【００９５】
はじめに、許可通知出力部３１１は、１つ前の時刻から現在の時刻に進むにあたってサブ回路Ａ２０１の状態が進んだか否かを確認する（ステップＳ２０１）。この確認には、クロック制御部３３１がエミュレーションクロックを出力したか否かを用いることができる。サブ回路Ａ２０１の状態が進んでいた場合には（ステップＳ２０１のＹｅｓ）、ステップＳ２０２に進む。
【００９６】
次に、転送要求出力部３２１が転送要求を出力していない場合には（ステップＳ２０２のＮｏ）、許可通知を出力する（ステップＳ２０３）。
【００９７】
一方、転送要求出力部３２１が転送要求を出力している場合には（ステップＳ２０２のＹｅｓ）、転送信号の送信先であるサブ回路Ｂ２０２の動作を停止するために許可通知を出力しない（ステップＳ２０７）。
【００９８】
サブ回路Ａ２０１の状態が進んでいなかった場合には（ステップＳ２０１のＮｏ）、ステップＳ２０４に進む。検証対象回路の状態が進まない状況として、許可通知が入力されていない場合と、転送信号を送受信中である場合がある。これまで転送信号を送信中であり、その送信が終了した場合には（ステップＳ２０４のＹｅｓ）、転送信号の送信相手であるサブ回路Ｂ２０２は、この転送信号を入力として次の状態に進むことができるため、許可通知を出力する（ステップＳ２０３）。
【００９９】
一方、それ以外の場合には（ステップＳ２０４のＮｏ）、ステップＳ２０５に進む。次に、１つ前の時刻で許可通知を出力していたか判断する（ステップＳ２０５）。このとき、許可通知が入力されていない場合と、転送信号を転送中である場合とが考えられる。しかし、転送信号を転送中である場合には、許可通知を出力しない。したがって、許可通知を出力していないものと判定され（ステップＳ２０５のＮｏ）、許可通知を出力しない（ステップＳ２０７）。同様に、転送中以外で許可通知を出力していない場合にも（ステップＳ２０５のＮｏ）、許可通知を出力しない（ステップＳ２０７）。
【０１００】
一方、転送中以外の状態で１つ前の時刻に許可通知を出力していた場合には（ステップＳ２０５のＹｅｓ）、ステップＳ２０６に進む。次に、１つ前の時刻に許可通知の入力があったか否かを判定する（ステップＳ２０６）。許可通知の入力があった場合には（ステップＳ２０６のＹｅｓ）、１つ前の時刻の進行許可出力をサブシステムＢ１０２が受け取ったことを表すことから、許可通知を出力しない（ステップＳ２０７）。
【０１０１】
一方、１つ前の時刻に許可通知の入力がなかった場合には（ステップＳ２０６のＮｏ）、１つ前の時刻の許可通知の出力がサブシステムＢ１０２側で受け取られていないことから、継続して許可通知を出力する（ステップＳ２０３）。
【０１０２】
次に、図６のフローチャートを参照して、許可通知出力部３１２の動作について説明する。
【０１０３】
ここでは、サブシステムＢ１０２が転送信号の受信側であるとした場合について説明する。ここで説明する処理は、エミュレーションクロックの１サイクルに相当する時間である１時刻ごとに行われる。
【０１０４】
はじめに、許可通知出力部３１２は、１つ前の時刻から現在の時刻に進むにあたってサブ回路Ｂ２０２の状態が進んだか否かを確認する（ステップＳ１１１）。この確認には、クロック制御部３３２がクロックを出力したか否かを用いることができる。ここで、サブ回路Ｂ２０２の状態が進んでいた場合には（ステップＳ１１１のＹｅｓ）、許可通知を出力する（ステップＳ１１２）。
【０１０５】
一方、サブ回路Ｂ２０２の状態が進んでいなかった場合には（ステップＳ１１１のＮｏ）、ステップＳ１１３に進む。検証対象回路の状態が進まない状況として、許可通知が入力されていない場合と、転送信号の送受信中である場合がある。次に、１つ前の時刻に許可通知を出力していたか否かを判定する（ステップＳ１１３）。許可通知を出力していない場合には（ステップＳ１１３のＮｏ）、許可通知を出力しない（ステップＳ１１５）。
【０１０６】
一方、１つ前の時刻に許可通知を出力していた場合には（ステップＳ１１３のＹｅｓ）、１つ前の時刻に許可通知の入力があったか否かを判定する（ステップＳ１１４）。許可通知の入力があった場合には（ステップＳ１１４のＹｅｓ）、１つ前の時刻の進行許可出力をサブシステムＡ１０１が受け取ったことを表すことから、許可通知を出力しない（ステップＳ１１５）。
【０１０７】
一方、１つ前の時刻に許可通知の入力がなかった場合には（ステップＳ１１４のＮｏ）、１つ前の時刻の許可通知の出力がサブシステムＡ１０１側で受け取られていないことから、継続して許可通知を出力する（ステップＳ１１２）。
【０１０８】
ここでは、サブシステムＡ１０１を転送信号の送信側とし、サブシステムＢ１０２を転送信号の受信側として、許可通知出力部３１１及び３１２の動作を説明した。しかし、一般に、送受信が双方向である場合も考えられる。かかる場合には、送信側としての判断と受信側としての判断の双方を行い、いずれも許可通知を出力する判断となった場合に、実際に許可通知を出力する方法を採用することができる。
【０１０９】
次に、図７のフローチャートを参照して、サブシステム間で転送が行われる場合の動作について説明する。
【０１１０】
なお、転送信号送信部４０１及び転送信号保持部５０２は、それぞれ連携して動作するため、ここでは双方について併せて説明する。
【０１１１】
ここでは、サブシステムＡ１０１を転送信号の送信側とし、サブシステムＢ１０２を転送信号の受信側として説明する。ここで説明する処理は、エミュレーションクロックの１サイクルの時間である１時刻内における処理を表している。
【０１１２】
はじめに、送信側について説明する。
【０１１３】
サブ回路Ａ２０１の出力信号に変化があった場合、まず、転送要求出力部３２１は、送信要求をクロック制御部３３２及び転送信号保持部５０２に送信する（ステップＳ３０１）。
【０１１４】
次に、転送信号送信部４０１は、送信先のサブシステムから許可通知を受信しているか否かを確認する（ステップＳ３０２）。許可通知を受信していない場合には（ステップＳ３０２のＮｏ）、送信先のサブシステムＢ１０２が受信不能な状態にあると判断し、次の時刻にリトライすることを決定する（ステップＳ３０４）。一方、許可通知を受信している場合には（ステップＳ３０２のＹｅｓ）、転送信号の送信を開始する（ステップＳ３０３）。
【０１１５】
次に、以上の送信処理に対応する受信処理について説明する。
【０１１６】
まず、転送信号保持部５０２は、送信側のサブシステムＡ１０１から送信要求を受信しているか否か確認する（ステップＳ３１１）。送信要求を受信していない場合には（ステップＳ３１１のＮｏ）、送受信が行われないことから、処理を終了する。
【０１１７】
一方、送信要求を受信している場合には（ステップＳ３１１のＹｅｓ）、転送信号保持部５０２は、サブシステムＢ１０２からサブシステムＡ１０１に対して許可通知を出力しているか否か確認する（ステップＳ３１２）。許可通知を出力していない場合には（ステップＳ３１２のＮｏ）、サブシステムＢ１０２が転送信号を受信してもよい状態にないことから、受信処理は行わずに、処理を終了する。
【０１１８】
一方、許可通知を出力している場合には（ステップＳ３１２のＹｅｓ）、受信処理を開始する（ステップＳ３１３）。
【０１１９】
次に、本実施形態に係る論理回路エミュレータ２０の全体の動作について、４つのサブシステムが連携する場合を例として説明する。
【０１２０】
ここでは、許可通知出力部の動作は、図４のフローチャートの方式によるものとする。なお、転送信号の送受信中の許可通知の状態を除き、図４及び図５のいずれの方式を用いても、動作は同一である。
【０１２１】
図８において、縦軸のＴ０、Ｔ１、…、Ｔ７は時刻を表し、それぞれエミュレーションクロックの１サイクル分の長さの時間に相当する。時刻欄の右側の各列は、各時刻におけるサブシステム１０１〜１０４の状態を表している。
【０１２２】
各サブシステム内部のＳ：０、Ｓ：１、…、Ｓ４は、それぞれ、サブシステムのエミュレーションクロックサイクルが進んでいない状態、１サイクル進んだ状態、…、４サイクル進んだ状態を示す。
【０１２３】
一般に、転送信号は双方向で、かつ複数のサブシステムと接続される。しかしながら、ここでは、説明を簡略化するために、図８の左側のサブシステム１０１から右側のサブシステム１０４まで、一方向に信号が転送されていくものとする。
【０１２４】
ここでは、状態Ｓ：１におけるサブシステム１０１の出力信号（サブシステム１０２の入力信号となる）に変化が生じ、サブシステム１０２に対する３エミュレーションクロックサイクル分の転送時間を要する転送信号の送信が発生する場合を示す。
【０１２５】
図８を参照すると、時刻Ｔ０では、転送信号の送受信が発生しないことから、時刻Ｔ１で各サブシステムは状態Ｓ：１に進む。
【０１２６】
時刻Ｔ１では、状態Ｓ：１となったサブシステム１０１からはサブシステム１０２に対して転送信号を送信する必要が生じる。そこで、サブシステム１０１は、サブシステム１０２へ転送要求を出力するとともに送信を開始する。サブシステム１０２は、サブシステム１０１からの転送要求が出ていることから、時刻Ｔ２に進むにあたって状態が進まない。このとき、サブシステム１０２〜１０４間は転送要求がないことから、そのまま許可通知を出力する。したがって、サブシステム１０３及び１０４は、時刻Ｔ２に進むにあたって状態Ｓ：２に進む。
【０１２７】
時刻Ｔ２では、サブシステム１０１及び１０２は状態Ｓ：１のままで、サブシステム１０３及び１０４が状態Ｓ：２へと進んでいる。すなわち、論理回路エミュレータ２０を全体として見たときに、異なる進行状態のサブシステムが混在することになる。
【０１２８】
ここで、状態の差が発生するサブシステム１０２と１０３の間に注目すると、時刻Ｔ１ではサブシステム１０２から１０３への転送信号の送受信はない（サブシステム１０３の入力信号に変化がない）ことが分かっていることから、時刻Ｔ２に進むにあたってサブシステム１０２の状態を進めない場合でも、サブシステム１０３の状態を一旦先に進めて、後からサブシステム１０２の状態をサブシステム１０３と揃える操作を行っても整合性が失われないがことが分かる。本実施形態の論理回路エミュレータ２０では、このようにして、全体として整合性を保ちつつ、サブシステム間の状態（エミューレーションクロックサイクル）のずれを許容する。
【０１２９】
引き続き、時刻Ｔ２において、サブシステム１０１とサブシステム１０２の間では送受信が続けられる。また、時刻Ｔ３に進むにあたってサブシステム１０１及び１０２の状態は進まない。また、サブシステム１０１及び１０２間の許可通知は、許可通知が行われてからサブシステム１０１及び１０２間が送受信中である（サブシステム１０１及び１０２の状態を進められない）ため、図４及び図６のフローチャートに従って、出力されたままとなる。このとき、サブシステム１０３及び１０４は、これまで通り許可通知を出力するが、このとき、サブシステム１０２からサブシステム１０３に対して許可通知は出ていないことから、サブシステム１０３は時刻Ｔ３に進むにあたって状態は進まない。一方、サブシステム１０４は、状態Ｓ：３に進む。
【０１３０】
時刻Ｔ３においては、今回の転送が３エミュレーションクロックに相当する時間を要することから、サブシステム１０１とサブシステム１０２の間で送受信が続けられる。同様に、時刻Ｔ４に進むにあたって、サブシステム１０１及び１０２の状態は進まない。このとき、サブシステム１０３は、今回状態が進まなかったことから、サブシステム１０４に対する許可通知は出力していない。一方、サブシステム１０３からサブシステム１０２への許可通知は、許可通知が行われてからサブシステム１０２の状態が進んでいない（サブシステム１０２はサブシステム１０３に対して許可通知を出力しておらず、サブシステム１０３からの許可通知をサブシステム１０２が受け取っていない）ため、図６のフローチャートに従って、出力されたままとなる。サブシステム１０４は、これまで通り許可通知を出力する。このとき、サブシステム１０３からサブシステム１０４に対して許可通知は出ていないことから、サブシステム１０４は時刻Ｔ４に進むにあたって状態は進まない。
【０１３１】
時刻Ｔ４に進むと、転送信号の送受信が終了することから、サブシステム１０１はサブシステム１０２に対する転送要求を停止する。したがって、サブシステム１０１及び１０２は、時刻Ｔ５に進むにあたって状態Ｓ：２に進む。一方、サブシステム１０３及び１０４の状態は進まない。
【０１３２】
時刻Ｔ５においては、サブシステム１０１及びサブシステム１０２が許可通知を出力する。したがって、時刻Ｔ６に進むにあたって、サブシステム１０１〜１０３は状態Ｓ：３に進む。
【０１３３】
時刻Ｔ６及びＴ７においては、各サブシステム上の検証対象回路の出力信号の変化は生じない。したがって、相互に許可通知を出力し、各サブシステムは、次の時刻に進むにあたってエミュレーションクロックの進行に応じた状態Ｓ：３、Ｓ：４へと進んでいく。
【０１３４】
次に、図２０に示した論理回路エミュレータ１００の場合において、同様に状態Ｓ：１におけるサブシステム１０１の出力信号（サブシステム１０２の入力信号となる）に変化が生じ、サブシステム１０２に対する３エミュレーションクロックサイクル分の転送時間を要する転送信号の送信が発生する場合を示す。
【０１３５】
図２１において、時刻Ｔ０では転送信号の送受信が発生しないことから、時刻Ｔ１で各サブシステムは状態Ｓ：１に進む。
【０１３６】
次に、時刻Ｔ１では、状態Ｓ：１となったサブシステム１０１からはサブシステム１０２に対して転送信号を送信する必要が生じる。したがって、サブシステム１０１は、全体制御回路９９０に対して転送要求を出力する。すると、全体制御回路９９０は、すべてのサブシステム１０１〜１０４に対する許可通知の出力を停止する（エミュレーションクロックの停止指示を送信する）。このように許可通知を受け取らなくなった各サブシステムは、許可通知を受け取るまでエミュレーションクロックを停止する。このようにエミュレーションクロックの停止によって論理回路エミュレータ１００上の検証対象回路の動作が停止されることに併せて、サブシステム１０１からサブシステム１０２に対する転送信号の送信が開始される。
【０１３７】
その後、時刻Ｔ２、Ｔ３においては、今回の転送が３エミュレーションクロックに相当する時間を要することから、そのまま送受信が続けられる。
【０１３８】
ここで、時刻Ｔ４に進むと、転送信号の送受信が終了することから、サブシステム１０１は全体制御回路９９０に対する転送要求を停止する。すると、全体制御回路９９０は、すべてのサブシステム１０１〜１０４に対して許可通知を出力（エミュレーションクロックの停止指示を終了）する。したがって、各サブシステムは、エミュレーションクロックの出力を再開し、各サブシステムは時刻Ｔ５に進むにあたって状態Ｓ：２に進む。
【０１３９】
以後、時刻Ｔ５〜Ｔ７においては、各サブシステム上の検証対象回路の出力信号の変化は生じないことから、各サブシステムでは次の時刻に進むにあたってエミュレーションクロックの進行に応じた状態Ｓ：３、Ｓ：４へと進んでいく。
【０１４０】
ここで、図８と図２１を比較すると、本実施形態の論理回路エミュレータ２０では、サブシステム１０１及び１０２間で転送信号の送受信が起こることにより、これらのサブシステム１０１、１０２の状態が進行しない場合であっても、その時刻では全体の整合性に影響を及ぼすことのないサブシステム１０３及び１０４は、一旦先に状態を進める。また、最終的には、論理回路エミュレータ１００と同様に状態が進むように。したがって、検査対象回路の全体の整合性は保たれている。
【０１４１】
次に、図９は、状態Ｓ：１におけるサブシステム１０３上の検証対象回路の出力信号（サブシステム１０４上の検証対象回路の入力信号となる）に変化が生じ、サブシステム１０４に対する３エミュレーションクロックサイクル分の転送時間を要する転送信号の送信が発生する場合を示す。
【０１４２】
まず、図９において、時刻Ｔ０では、転送信号の送受信が発生しないことから、時刻Ｔ１で、各サブシステムは状態Ｓ：１に進む。
【０１４３】
次に、時刻Ｔ１では、状態Ｓ：１となったサブシステム１０３からはサブシステム１０４に対して転送信号を送信する必要が生じる。そこで、サブシステム１０３は、サブシステム１０４に転送要求を出力するとともに送信を開始する。サブシステム１０４は、サブシステム１０３からの転送要求が出ていることから、時刻Ｔ２に進むにあたって状態が進まない。このとき、サブシステム１０１〜１０３間では転送要求がないことから、サブシステム１０１及び１０２は、時刻Ｔ２に進むにあたって状態Ｓ：２に進む。
【０１４４】
時刻Ｔ２において、サブシステム１０３とサブシステム１０４の間では送受信が続けられる。また、時刻Ｔ３に進むにあたって、サブシステム１０３及び１０４の状態は進まない。また、サブシステム１０３及び１０４間の許可通知は、許可通知が行われてからサブシステム１０３及び１０４間が送受信中（サブシステム１０３及び１０４の状態を進められない）ため、図４及び図６のフローチャートに従って出力されたままとなる。このとき、サブシステム１０１及び１０２は、これまで通り許可通知を出力するが、サブシステム１０３からサブシステム１０２に対して許可通知は出力されていない。したがって、サブシステム１０２は、時刻Ｔ３に進むにあたって状態が進まない。一方、サブシステム１０１は、状態Ｓ：３に進む。
【０１４５】
送受信には３エミュレーションクロックに相当する時間を要することから、時刻Ｔ３においては、サブシステム１０３とサブシステム１０４の間で送受信が継続する。同様に、時刻Ｔ４に進むにあたって、サブシステム１０３及び１０４の状態は進まない。このとき、サブシステム１０２は今回状態が進まなかったことから、サブシステム１０１に対する許可通知は出力されていない。一方、許可通知が行われてからサブシステム１０３の状態が進んでいない（サブシステム１０３はサブシステム１０２に対して許可通知を出力しておらず、サブシステム１０２からの許可通知をサブシステム１０３が受け取っていない）ため、図４のフローチャートに従って、サブシステム１０２からサブシステム１０３への許可通知は、出力されたままとなる。サブシステム１０１は、これまで通り許可通知を出力する。このとき、サブシステム１０２からサブシステム１０１に対して許可通知が出ていないことから、サブシステム１０１は時刻Ｔ４に進むにあたって状態が進まない。
【０１４６】
時刻Ｔ４に進むと、転送信号の送受信が終了することから、サブシステム１０３はサブシステム１０４に対する転送要求を停止する。したがって、サブシステム１０３及び１０４は、時刻Ｔ５に進むにあたって状態Ｓ：２に進む。一方、サブシステム１０１及び１０２の状態は進まない。
【０１４７】
時刻Ｔ５においては、サブシステム１０３及びサブシステム１０４が許可通知を出力する。したがって、時刻Ｔ６に進むにあたって、サブシステム１０２〜１０４は状態Ｓ：３に進む。
【０１４８】
時刻Ｔ６及びＴ７においては、各サブシステム上の検証対象回路の出力信号の変化は生じない。したがって、相互に許可通知を出力し、各サブシステムは、次の時刻に進むにあたってエミュレーションクロックの進行に応じた状態Ｓ：３、Ｓ：４に進む。
【０１４９】
ここで、図２０に示した論理回路エミュレータ１００で同様の転送が発生する場合には、論理回路エミュレータ１００全体が停止することから、図２１に示した動作において、転送信号の送受信個所をサブシステム１０３から１０４へと変更した動作が行なわれる。
【０１５０】
次に、図１０は、状態Ｓ：１におけるサブシステム１０１上の検証対象回路の出力信号（サブシステム１０２上の検証対象回路の入力信号となる）に変化が生じ、サブシステム１０２に対する２エミュレーションクロックサイクル分の転送時間を要する転送信号の送受信が発生するとともに、状態Ｓ：２におけるサブシステム１０３上の検証対象回路の出力信号（サブシステム１０４上の検証対象回路の入力信号となる）に変化が生じ、サブシステム１０４に対する２エミュレーションクロックサイクル分の転送時間を要する転送信号の送信が発生する場合を示す。
【０１５１】
まず、時刻Ｔ０では、転送信号の送受信が発生しない。したがって、時刻Ｔ１で各サブシステムは状態Ｓ：１に進む。
【０１５２】
次に、時刻Ｔ１では、状態Ｓ：１となったサブシステム１０１は、サブシステム１０２に対して信号を転送する必要が生じる。そこで、サブシステム１０１は、サブシステム１０２へ転送要求を出力するととともに送信を開始する。サブシステム１０２は、サブシステム１０１から転送要求が出力されていることから、時刻Ｔ２に進むにあたって状態が進まない。このとき、サブシステム１０２〜１０４の間では転送要求がないことから、サブシステム１０３及び１０４は、時刻Ｔ２に進むにあたって状態Ｓ：２に進む。
【０１５３】
時刻Ｔ２において、今回の送受信が２エミュレーションクロックに相当する時間を要することから、サブシステム１０１とサブシステム１０２の間では送受信が続けられる。また、時刻Ｔ３に進むにあたって、サブシステム１０１及び１０２の状態は進まない。また、許可通知が行われてからサブシステム１０１及び１０２間が送受信中である（サブシステム１０１及び１０２の状態を進められない）ため、図４及び図６のフローチャートに従って、サブシステム１０１及び１０２間の許可通知は、出力されたままとなる。このとき、状態Ｓ：２となったサブシステム１０３からは、サブシステム１０４に対して転送信号を送信する必要が生じる。そこで、サブシステム１０３は、サブシステム１０４へ転送要求を出力するとともに転送を開始する。サブシステム１０４はサブシステム１０３から転送要求が出ていることから、時刻Ｔ３に進むにあたって状態が進まない。
【０１５４】
時刻Ｔ３に進むと、サブシステム１０１からの転送信号の送受信が終了する。したがって、サブシステム１０１は、サブシステム１０２に対する転送要求を停止する。このとき、サブシステム１０１及び１０２は、時刻Ｔ４に進むにあたって状態Ｓ：２に進む。一方、サブシステム１０３とサブシステム１０４の間では送受信が続けられる。また、時刻Ｔ４に進むにあたって、サブシステム１０３及び１０４の状態は進まない。また、許可通知が行われてからサブシステム１０３及び１０４間が転送中（サブシステム１０３及び１０４の状態を進められない）ため、図４及び図６のフローチャートに従って、サブシステム１０３及び１０４間の許可通知は、出力されたままとなる。
【０１５５】
時刻Ｔ４では、サブシステム１０１及び１０２は状態Ｓ：２へと進んでいる。したがって、サブシステム１０２は、サブシステム１０３へ許可通知を出力する。また、サブシステム１０３からサブシステム１０４への転送信号の送受信が終了することから、サブシステム１０３は、サブシステム１０４に対する転送要求を停止する。したがって、サブシステム１０３及び１０４は、時刻Ｔ５に進むにあたって状態Ｓ：３に進む。
【０１５６】
以後、時刻Ｔ５〜Ｔ７においては、各サブシステム上の検証対象回路の出力信号の変化は生じない。したがって、各サブシステムは相互に許可通知を出力し、次の時刻に進むにあたって、エミュレーションクロックの進行に応じた状態Ｓ：４、Ｓ：５に進む。
【０１５７】
図２２は、図２０に示した論理回路エミュレータ１００の場合において、同様に状態Ｓ：１におけるサブシステム１０１上の検証対象回路の出力信号（サブシステム１０２上の検証対象回路の入力信号となる）に変化が生じ、サブシステム１０２に対する２エミュレーションクロックサイクル分の転送時間を要する転送信号の送信が発生し、さらに、状態Ｓ：２におけるサブシステム１０３上の検証対象回路の出力信号（サブシステム１０４上の検証対象回路の入力信号となる）に変化が生じ、サブシステム１０４に対する２エミュレーションクロックサイクル分の転送時間を要する転送信号の送信が発生する場合を示す。
【０１５８】
図２２を参照すると、時刻Ｔ０では、転送信号の送受信が発生しない。したがって、時刻Ｔ１で、各サブシステムは状態Ｓ：１に進む。
【０１５９】
時刻Ｔ１では、状態Ｓ：１となったサブシステム１０１からはサブシステム１０２に対して転送信号を送信する必要が生じる。そこで、サブシステム１０１は、全体制御回路９９０に対して転送要求を出力する。すると、全体制御回路９９０は、すべてのサブシステム１０１〜１０４に対する許可通知の出力を停止する（エミュレーションクロックの停止指示を送信する）。このように許可通知を受け取らなくなった各サブシステムは、許可通知を受け取るまでエミュレーションクロックを停止する。このように、エミュレーションクロックの停止によって論理回路エミュレータ１００上の検証対象回路の動作が停止されることに併せて、サブシステム１０１からサブシステム１０２に対する転送信号の送受信が開始される。
【０１６０】
時刻Ｔ２においては、今回の転送が２エミュレーションクロックに相当する時間を要することから、そのまま送受信が続けられる。
【０１６１】
時刻Ｔ３では、転送信号の送受信が終了する。したがって、サブシステム１０１は、全体制御回路９９０に対する転送要求を停止する。すると、全体制御回路９９０は、すべてのサブシステム１０１〜１０４に対して許可通知を出力（エミュレーションクロックの停止指示を終了）する。したがって、各サブシステムは、エミュレーションクロックの出力を再開し、各サブシステムは時刻Ｔ４に進むにあたって状態Ｓ：２に進む。
【０１６２】
時刻Ｔ４では、各サブシステムが状態Ｓ：２となっている。したがって、サブシステム１０３は、サブシステム１０４に対して転送信号を送信する必要が生じる。同様に、サブシステム１０３から全体制御回路９９０に対して転送要求が出力され、各サブシステムの動作が停止されることと併せて、サブシステム１０３からサブシステム１０４に対する転送信号の送信が開始される。
【０１６３】
時刻Ｔ５では、引き続き転送が行われ、時刻Ｔ６で転送要求が解除される。したがって、時刻Ｔ７では、各サブシステムは状態Ｓ：３に進む。
【０１６４】
図２２を参照すると、論理回路エミュレータ１００では、時刻Ｔ７において状態Ｓ：３へと３エミュレーションクロック分のみ進んでいる。一方、図１０を参照すると、本実施形態の論理回路エミュレータ２０では、時刻Ｔ７において状態Ｓ：５へと５エミュレーションクロック分進んでいる。
【０１６５】
論理回路エミュレータ１００では、あるサブシステム間の転送中には全体が停止してしまう。一方、本実施形態の論理回路エミュレータ２０では、転送によりサブシステム１０１及び１０２の進行が停止している時刻にサブシステム１０３及び１０４は先の状態へと進めることから、サブシステム１０１及び１０２間の転送信号の送受信中にサブシステム１０３及び１０４間の転送信号の送受信が開始することができる。したがって、本実施形態の論理回路エミュレータ２０では、論理回路エミュレータ１００と比較して、エミュレーションクロックをより多く進めることが可能となる。
【０１６６】
なお、本実施形態では、説明を簡略化にするために、サブシステム間の転送クロックについて説明していない。しかしながら、転送時間を短縮のために、エミュレーションクロックよりも高速な転送クロックを用いた転送方式を組み合わせて利用することもできる。
【０１６７】
また、本実施形態では転送信号の送受信に遅延がないものとして、送信側のサブシステムからの転送信号の送信が終了すると、受信側のサブシステムでの受信が終了するものとしている。なお、転送に遅延が存在するエミュレータにおいては、受信側での受信終了後に、受信側から受信が終了したことを示す信号を送信するようにしてもよい。
【０１６８】
次に、本実施形態の論理回路エミュレータ２０によってもたらされる効果について説明する。
【０１６９】
本実施形態では、全体の処理の整合がとれる範囲において、サブシステム間でエミュレーションクロックサイクルのずれを許容している。ずれを許容することにより、エミュレーションクロックを制御する信号を送受信する必要があるのは、信号の接続上隣接するサブシステム間に限られる。このとき、全サブシステムから制御信号を制御回路に収集し、制御回路から全サブシステムのエミュレーションクロックを制御する方式と比較して、制御信号の配線の簡略化及び短縮が可能となる。したがって、エミュレーションクロックの高速化が可能となる。
【０１７０】
さらに、本実施形態の論理回路エミュレータ２０は、各サブシステムが独立してエミュレーションクロックを制御する。このとき、従来の論理回路エミュレータ１００とエミュレーションクロックの周波数が同一であっても、入力信号の変化がなく、隣接するすべてのサブシステムからエミュレーションクロックの進行を許可されているサブシステムは、転送信号の送受信中のサブシステムの有無にかかわらず、エミュレーションクロックを進めることができる。したがって、本実施形態の論理回路エミュレータ２０によると、エミュレーション時間を短縮することができる。なお、エミュレーションクロックを高速化した場合には、エミュレーション時間をさらに短縮することができる。
【０１７１】
（実施形態３）
次に、第３の実施形態に係る論理回路エミュレータについて、図面を参照して詳細に説明する。
【０１７２】
図１１は、本実施形態の論理回路エミュレータ３０の構成を示すブロック図である。図１１を参照すると、本実施形態の論理回路エミュレータ３０は、第２の実施形態の論理回路エミュレータ２０の構成に対して、カウンタ３４１及び３４２が追加されている。
【０１７３】
カウンタ３４１及び３４２は、隣接するサブシステムのうち、転送信号の送信先であるサブシステムとの状態のずれから算出される数値を格納する。つまり、サブシステムの転送信号の出力側に設けられる。ここでは、転送信号の送信先のサブシステムがあといくつ状態を進めてよいかを表す数値が格納される場合（隣接するサブシステムとの状態のずれに１を加えたもの）について説明する。したがって、許可通知出力部３１１−１、３１２−１は、それぞれカウンタ３４１、３４２が１以上のカウントを保持するときに、転送信号の送信先に対して許可通知を出力する。
【０１７４】
また、クロック制御部３３１−１、３３２−１は、転送信号の送信先のサブシステムから許可通知が出ていない場合であっても、検証対象回路の出力信号に変化がない場合には、エミュレーションクロックを出力する。この点において、本実施形態の論理回路エミュレータ３０は、第２の実施形態の論理回路エミュレータ２０と相違する。
【０１７５】
図１２は、本実施形態に係る論理回路エミュレータ３０におけるカウンタの動作を示すフローチャートである。次に、図１２のフローチャートを参照して、カウンタ３４１及びカウンタ３４２の動作について説明する。
【０１７６】
ここでは、サブシステムＡ１０１上のカウンタ３４１を用い、サブシステムＡ１０１を送信側とし、サブシステムＢ１０２を受信側として説明する。ここで説明する処理は、１時刻ごとに行われる。１時刻は、エミュレーションクロックの１サイクル時間に相当する。また、本フローチャートで算出されたカウンタの増減は、次の時刻に進むにあたってカウンタのカウントに反映される。
【０１７７】
カウンタ３４１は、サブシステムＡ１０１及びサブシステムＢ１０２の許可通知の状態を確認する（ステップＳ４０１）。まず、サブシステムＢ１０２から許可通知を受信しており、かつ、サブシステムＡ１０１が許可通知を出力している場合（ステップＳ４０１のＹｅｓ）について考える。サブシステムＢ１０２から許可通知を受信している状態は、サブシステムＢ１０２がその前の時刻に１つ状態が進んだことを示す。ここで、サブシステムＡ１０１の状態が進まない場合を考えると、サブシステムＢ１０２が先に進んでよい状態数は１つ減ることから、カウンタ３４１のカウントをデクリメント（−１）する。
【０１７８】
一方、この場合においてサブシステムＡ１０１が許可通知を出力していないとすると、サブシステムＢ１０２は状態が進んだか否かに関わらず許可通知を出力し続けることになる。したがって、サブシステムＢ１０２から許可通知を受信したことのみに基づいて、判定することができない。サブシステムＡ１０１が許可通知を出力した場合にはじめて、サブシステムＡ１０１側でサブシステムＢ１０２からの許可通知を受理して、処理を進めることになる。したがって、カウンタ３４１は、サブシステムＢ１０２から許可通知を受信しており、かつ、サブシステムＡ１０１が許可通知を出力している場合には、カウンタ３４１のカウントをデクリメント（−１）し（ステップＳ４０２）、ステップＳ４０３に進む。
【０１７９】
それ以外の場合には（ステップＳ４０１のＮｏ）、カウントのデクリメントを行わず、ステップＳ４０３に進む。
【０１８０】
次に、カウンタ３４１は、現在の時刻から次の時刻に進むにあたって、サブ回路Ａ２０１の状態が進むか否か確認する（ステップＳ４０３）。クロック制御部３３１がエミュレーションクロックを出力するか否かに基づいて、この確認を行なうことができる。状態が進む場合には（ステップＳ４０３のＹｅｓ）、サブシステムＢ１０２上のサブ回路Ｂ２０２は状態をさらに１つ進められるようになる。したがって、カウンタ３４１は、カウントをインクリメント（＋１）する（ステップＳ４０４）。
【０１８１】
一方、状態が進まない場合には（ステップＳ４０３のＮｏ）、処理を終了する。
【０１８２】
次に、本実施形態に係る論理回路エミュレータ３０の全体の動作について、一例として、４つのサブシステムが連携する場合について説明する。
【０１８３】
図１３において、縦軸のＴ０、Ｔ１、…、Ｔ７は時刻を表し、それぞれエミュレーションクロックの１サイクル分の長さの時間に相当する。時刻欄の右側の各列は、各時刻におけるサブシステム１０１〜１０４の状態を表している。
【０１８４】
各サブシステム内のＳ：０、Ｓ：１、…、Ｓ４は、それぞれ、サブシステムのエミュレーションクロックサイクルが進んでいない状態、１サイクル進んだ状態、…、４サイクル進んだ状態を示している。
【０１８５】
一方、各サブシステム内のＣ：０、Ｃ：１は、それぞれ、カウンタが保持するカウントを示す。ここでは、Ｃ：０、Ｃ：１における数値は、転送信号の送信先のサブシステムがあといくつ状態を進めてよいかを表す。
【０１８６】
一般に、転送信号は双方向で、かつ複数のサブシステムと接続される。しかしながら、ここでは、説明を簡略化するために、図１３の左側のサブシステム１０１から右側のサブシステム１０４まで、一方向に信号が転送されていくものとする。
【０１８７】
ここでは、状態Ｓ：１におけるサブシステム１０１の出力信号（サブシステム１０２の入力信号となる）に変化が生じ、サブシステム１０２に対する３エミュレーションクロックサイクル分の転送時間を要する転送信号の送受信が生じる場合を考える。
【０１８８】
図１３を参照すると、時刻Ｔ０では、各カウンタのカウントは１で初期化されており、それぞれ許可通知を出力する。このとき、転送信号の送受信は発生しないことから、時刻Ｔ１で各サブシステムは状態Ｓ：１に進む。
【０１８９】
時刻Ｔ１では、状態Ｓ：１となったサブシステム１０１からはサブシステム１０２に対して転送信号を送信する必要が生じる。そこで、サブシステム１０１は、サブシステム１０２への転送要求を出力するとともに送信を開始する。サブシステム１０１は、時刻Ｔ２に進むにあたって状態が進まない。ここで、サブシステム１０２は、サブシステム１０１から転送要求が出ていることから、受信処理を開始し、時刻Ｔ２に進むにあたって状態が進まない。また、このとき、サブシステム１０２のカウンタのカウントは、図１２のフローチャートに従って、時刻Ｔ２に進むにあたって０となる。このとき、サブシステム１０２〜１０４間は転送要求がなく、許可通知が出力されている。したがって、サブシステム１０３及び１０４は、時刻Ｔ２に進むにあたって状態Ｓ：２に進む。
【０１９０】
時刻Ｔ２において、サブシステム１０１とサブシステム１０２の間では送受信が続けられる。したがって、時刻Ｔ３に進むにあたって、サブシステム１０１及び１０２の状態は進まない。また、サブシステム１０１のカウンタのカウントは、サブシステム１０１及び１０２間の許可通知が行われてからサブシステム１０１及び１０２間が送受信中である（サブシステム１０１及び１０２の状態を進められない）ため、図１２のフローチャートに従って１のままとなる。したがって、許可通知は出力されたままとなる。同様に、図６のフローチャートに従って、サブシステム１０２からサブシステム１０１への許可通知は、出力されたままとなる。このとき、サブシステム１０３及び１０４は、これまで通り許可通知を出力する。しかし、サブシステム１０２のカウンタのカウントが０であることから、サブシステム１０２からサブシステム１０３に対する許可通知は出力されない。したがって、サブシステム１０３は、時刻Ｔ３に進むにあたって状態が進まない。一方、サブシステム１０４は、状態Ｓ：３に進む。
【０１９１】
時刻Ｔ３において、今回の送受信が３エミュレーションクロックに相当する時間を要することから、サブシステム１０１とサブシステム１０２の間では引き続き送受信が続けられる。時刻Ｔ２と同様に、時刻Ｔ４に進むにあたって、サブシステム１０１及び１０２の状態は進まない。このとき、サブシステム１０３は今回状態が進まなかったことから、サブシステム１０３のカウンタのカウントは０となっている。したがって、サブシステム１０４に対する許可通知は、出力されていない。一方、許可通知が行われてからサブシステム１０２の状態が進んでいない（サブシステム１０２はサブシステム１０３に対して許可通知を出力しておらず、サブシステム１０３からの許可通知をサブシステム１０２が受け取っていない）ため、図６のフローチャートに従って、サブシステム１０３からサブシステム１０２への許可通知は出力されたままとなる。サブシステム１０４は、これまで通り許可通知を出力する。このとき、サブシステム１０３からサブシステム１０４に対して、許可通知は出力されていない。したがって、サブシステム１０４は、時刻Ｔ４に進むにあたって状態が進まない。
【０１９２】
時刻Ｔ４に進むと、転送信号の送受信が終了する。そこで、サブシステム１０１は、サブシステム１０２に対する転送要求を停止する。したがって、サブシステム１０１及び１０２は、時刻Ｔ５に進むにあたって状態Ｓ：２に進む。また、サブシステム１０２のカウンタは、時刻Ｔ５に進むにあたって、図１２のフローチャートに従って１となる。一方、サブシステム１０３及び１０４の状態は進まない。
【０１９３】
時刻Ｔ５においては、サブシステム１０１及びサブシステム１０２は、許可通知を出力する。したがって、時刻Ｔ６に進むにあたって、サブシステム１０１〜１０３は状態Ｓ：３に進む。また、時刻Ｔ６に進むにあたって、図１２のフローチャートに従って、サブシステム１０３のカウンタのカウントは１となる。一方、サブシステム１０４の状態は進まない。
【０１９４】
時刻Ｔ６〜Ｔ７においては、各サブシステム上の検証対象回路の出力信号の変化は生じない。したがって、相互に許可通知を出力し、各サブシステムでは次の時刻に進むにあたってエミュレーションクロックの進行に応じた状態Ｓ：４、Ｓ：５へと進んでいく。
【０１９５】
このように、カウンタを用いる実施形態３の方式において、図８に示す実施形態２の進行と同様の制御を行うことができる。
【０１９６】
図１４は、状態Ｓ：１におけるサブシステム１０３の出力信号（サブシステム１０４の入力信号）に変化が生じ、サブシステム１０４に対する３エミュレーションクロックサイクル分の転送時間を要する転送信号の送受信が発生する場合を示す。
【０１９７】
図１４を参照すると、時刻Ｔ０では、各カウンタは１で初期化されており、それぞれ許可通知を出力する。このとき、転送信号の送受信は発生しない。したがって、時刻Ｔ１で、各サブシステムは状態Ｓ：１に進む。
【０１９８】
時刻Ｔ１では、状態Ｓ：１となったサブシステム１０３からはサブシステム１０４に対して転送信号を送信する必要が生じる。そこで、サブシステム１０３は、サブシステム１０４への転送要求を出力するとともに転送を開始する。サブシステム１０３は、時刻Ｔ２に進むにあたって状態が進まない。ここで、サブシステム１０４は、サブシステム１０３から転送要求が出ていることから、受信処理を開始し、時刻Ｔ２に進むにあたって状態が進まない。このとき、サブシステム１０１〜１０３間では転送要求がないことから、許可通知が出力される。したがって、サブシステム１０１及び１０２は、時刻Ｔ２に進むにあたって状態Ｓ：２に進む。
【０１９９】
時刻Ｔ２において、サブシステム１０３とサブシステム１０４の間では送受信が続けられる。また、時刻Ｔ３に進むにあたってサブシステム１０３及び１０４の状態は進まない。また、サブシステム１０３及び１０４間の許可通知が行われてからサブシステム１０３及び１０４間が送受信中である（サブシステム１０３及び１０４の状態を進められない）ため、図１２のフローチャートに従って、サブシステム１０３のカウンタのカウントは１のままとなる。したがって、許可通知は、出力されたままとなる。同様に、図６のフローチャートに従って、サブシステム１０４からサブシステム１０３への許可通知は、出力されたままとなる。また、サブシステム１０１及び１０２は、これまで通り、許可通知を出力する。このとき、サブシステム１０３からサブシステム１０２に対して許可通知は出力されていないものの、実施形態３の論理回路エミュレータ３０においては、時刻Ｔ３に進むにあたって、サブシステム１０２は状態Ｓ：３に進む。
【０２００】
検証対象回路の出力が変化しない限り、その検証対象回路が何エミュレーションクロックサイクル分先に進んでいるかを記憶しておけば、全体の整合性を保ちつつ検証対象回路をあらかじめ先の状態に進めておくことができる。本実施形態の論理回路エミュレータは、この事実を利用している。本実施形態の論理回路エミュレータ３０は、この点において、サブシステム１０２の状態が時刻Ｔ３に進むにあたって進まない第２の実施形態の論理回路エミュレータ２０と相違する。
【０２０１】
このとき、サブシステム１０２は、サブシステム１０３との状態のずれが増加することから、図１２のフローチャートに従って時刻Ｔ３においてカウンタのカウントが２へと増加する。また、サブシステム１０１は、そのまま状態Ｓ：３に進む。
【０２０２】
今回の送受信は３エミュレーションクロックに相当する時間を要する。したがって、時刻Ｔ３において、サブシステム１０３とサブシステム１０４との間では、引き続き転送が続けられる。一方、サブシステム１０１及び１０２は、時刻Ｔ４へ進むにあたって、時刻Ｔ２のときと同様に、状態Ｓ：４へと進み、サブシステム１０２のカウンタのカウントは３に増加する。
【０２０３】
時刻Ｔ４に進むと、転送信号の送受信が終了する。そこで、サブシステム１０３はサブシステム１０４に対する転送要求を停止する。したがって、サブシステム１０３及び１０４は、時刻Ｔ５に進むにあたって状態Ｓ：２に進む。サブシステム１０１とサブシステム１０２は、時刻Ｔ５へ進むにあたって状態Ｓ：５へと進み、サブシステム１０２のカウンタは４に増加する。
【０２０４】
時刻Ｔ５〜Ｔ７においては、各サブシステムの出力信号の変化は生じない。したがって、相互に許可通知を出力し、エミュレーションクロックの進行に応じた状態へと進んでいく。このとき、サブシステム１０１及び１０２は状態Ｓ：５〜Ｓ：７となり、サブシステム１０３及び１０４は状態Ｓ：２〜Ｓ：４となる。すなわち、３状態分のずれが生じたまま処理が進行していく。このとき、サブシステム１０２上のカウンタは、３状態分のずれに１を加えた４をカウントとして保持している。
【０２０５】
次に、本実施形態に係る論理回路エミュレータ３０によってもたらされる効果について説明する。
【０２０６】
本実施形態の論理回路エミュレータ３０は、カウンタを有することにより、転送信号の送信先のサブシステムと、何エミュレーションクロックサイクル分のずれがあるかを保持する。ここで、検証対象回路の出力する転送信号が変化しない限り、その検証対象回路の転送信号の送信先と比較して何エミュレーションクロックサイクル分先に進んでいるかを記憶しておけば、全体の整合性を保ちつつ、その検証対象回路をあらかじめ先の状態に進めておくことができる。
【０２０７】
本実施形態の論理回路エミュレータ３０は、この性質を利用し、転送信号の送信先が状態を先に進められない場合でも、カウンタによってそのずれを保持することにより、あらかじめ状態を進めておくことができる。したがって、後段のサブシステムが転送信号の送受信などで停止している間に前段のサブシステムの状態を先に進め、その後、後段のサブシステムが前段のサブシステムに追いつく間に前段のサブシステムで別の転送を開始することができる。したがって、本実施形態の論理回路エミュレータ３０によると、第２の実施形態に係る論路回路エミュレータ２０と比較して、エミュレーション時間をさらに短縮することができる。
【０２０８】
（実施形態４）
次に、第４の実施形態に係る論理回路エミュレータついて、図面を参照して詳細に説明する。
【０２０９】
本実施形態の論路回路エミュレータ４０は、第２の実施形態の論理回路エミュレータ２０における転送信号送信部４０１、４０２及び転送信号保持部５０１、５０２をコントローラ３０１、３０２内に設けるとともに、プロセッサを用いて制御を行なう。
【０２１０】
図１５は、本実施形態による論理回路エミュレータ４０の構成を示すブロック図である。論理回路エミュレータ４０は、サブシステムＡ１０１及びＢ１０２を有する。ここでは、一例として、２つのサブシステムを含む論路回路エミュレータ４０について説明する。しかし、本実施形態の論理回路エミュレータ４０は２つのサブシステムを含む場合にのみ適用されるものではなく、任意の複数のサブシステムを含む場合に適用することができる。
【０２１１】
図１５を参照すると、サブシステムＡ１０１は、コントローラ３０１及び検査対象回路２０１を有する。コントローラ３０１は、プロセッサ３５１、Ｉ／Ｏ３６１、メモリ３７１、クロック制御部３２１、並びに、レジスタ４１１及び５１１を有する。同様に、サブシステムＢ１０１は、コントローラ３０２及び検査対象回路２０２を有する。コントローラ３０２は、プロセッサ３５２、Ｉ／Ｏ３６２、メモリ３７２、クロック制御部３２２、並びに、レジスタ４１２及び５１２を有する。
【０２１２】
サブ回路Ａ２０１及びＢ２０２は、設計者が検証を行おうとしている検証対象回路を分割し、それぞれサブシステムＡ１０１及びＢ１０２上に構成したものである。検査対象回路は、市販のＣＡＤツールなどを用いて分割することができる。
【０２１３】
コントローラ３０１及び３０２は、それぞれ、サブ回路Ａ２０１及びＢ２０２の入力及び出力信号を管理し、サブ回路Ａ２０１及びＢ２０２を動作させるエミュレーションクロックを制御することで、分割された検証対象回路を整合性を保ちつつ動作させる。
【０２１４】
次に、コントローラ３０１及び３０２の内部について説明する。
【０２１５】
プロセッサ３５１は、それぞれ、プログラムに応じて、クロック制御部３２１、Ｉ／Ｏ３６１、メモリ３７１、レジスタ４１１、５１１の読み出し、書き込みを行い、サブ回路Ａ２０１の制御を行う。同様に、プロセッサ３５２は、それぞれ、プログラムに応じて、クロック制御部３２２、Ｉ／Ｏ３６２、メモリ３７２、レジスタ４１２、５１２の読み出し、書き込みを行い、サブ回路Ｂ２０２の制御を行う。
【０２１６】
Ｉ／Ｏ３６１及び３６２は、それぞれ、隣接するサブシステム間での制御信号の送受信を行い、検証対象回路の出力信号を隣接するサブシステムに転送する。
【０２１７】
メモリ３７１及び３７２は、それぞれ、プロセッサのプログラムの命令コード、データ等を保持する。
【０２１８】
レジスタ４１１及び４１２は、それぞれ、転送信号送信部４０１及び４０２の代わりとして用いられる。レジスタ４１１及び４１２は、それぞれ、サブ回路Ａ２０１及びサブ回路Ｂ２０２の出力信号を受け取り、プロセッサから参照可能なように構成される。
【０２１９】
レジスタ５１１及び５１２は、それぞれ、転送信号保持部５０１及び５０２の代わりとして用いられる。レジスタ５１１及び５１２は、それぞれ、プロセッサから書き込み可能なように構成され、サブ回路Ａ２０１及びサブ回路Ｂ２０２への入力信号を保持する。
【０２２０】
次に、本実施形態の論理回路エミュレータ４０における動作は、処理がプログラムに基づいてプロセッサ３５１、３５２によって行われる点を除いて、第２、第３の実施形態に係る論理回路エミュレータ２０、３０と同様である。
【０２２１】
次に、本実施形態に係る論理回路エミュレータ４０によってもたらされる効果について説明する。
【０２２２】
本実施形態の論理回路エミュレータ４０では、第２及び第３の実施形態の論理回路エミュレータ２０、３０におけるコントローラ３０１、３０２が行う制御を、プロセッサ３５１、３５２によって実現する。したがって、本実施形態の論理回路エミュレータ４０によると、プログラムを変更することにより制御方式を変更することができ、検証対象回路の特性に合わせて制御をカスタマイズすることができる。
【０２２３】
上記第１乃至第４の実施形態に係る論理回路エミュレータ１０〜４０は、複数のサブシステムを含み、検証対象の論理回路を複数のサブ回路に分割し、各サブ回路を複数のサブシステムのそれぞれに搭載することで検証を行う。
【０２２４】
信号の出力側である第１のサブシステムは、第２のサブシステムに対してエミュレーションクロックの進行を許可する通知を送信する許可通知出力部を有する。
【０２２５】
信号の受信側である第２のサブシステムは、第１のサブシステムに対してエミュレーションクロックの進行を許可する通知を送信する許可通知出力部を有する。
【０２２６】
さらに、第１のサブシステムは、第１のサブシステムに割り当てられた第１の検証対象回路から、第２のサブシステムに割り当てられた検証対象回路に送信される転送信号を受け取り、この転送信号を第２のサブシステムに送信する転送信号送信部を有する。
【０２２７】
また、第２のサブシステムは、転送信号送信部から受け取った転送信号を第２のサブシステム上の第２の検証対象回路の入力として保持する転送信号保持部を有する。
【０２２８】
さらに、第１のサブシステムは、第１のサブシステムから第２のサブシステムに対して送信する転送信号の出力変化を検出し、変化があった場合に転送要求を行う転送要求出力部を有する。転送要求及び許可通知は、第１及び第２のサブシステム上に構成されるクロック制御部に送られる。クロック制御部は、第２のサブシステムが転送信号の受信を完了するまでの期間及び許可通知を受け取っていない期間にはエミュレーションクロックを停止する制御を行う。
【０２２９】
許可通知出力部及びクロック制御部は、サブシステムごとに独立して検証対象回路のエミュレーションクロック制御を行い、全体の整合性が保たれる範囲で、サブシステム間のエミュレーションクロックサイクルのずれを許容しつつ、検証対象回路の動作を進める。
【０２３０】
これらの実施形態の論理回路エミュレータ１０〜４０によると、サブシステムごとに独立して検証対象回路のエミュレーションクロック制御を行い、全体の整合性が保たれる範囲で、サブシステム間におけるエミュレーションクロックサイクルのずれを許容することができる。
【０２３１】
第１〜第４の実施形態に係る論理回路エミュレータ１０〜４０は、図２０に示した論路回路エミュレータ１００の構成と比較すると、全体制御回路を有９９０していない点と、各サブシステムが隣接するサブシステムに対して許可通知を行う点において相違する。かかる構成によると、全体の整合が取れる範囲でサブシステム間でのエミュレーションクロックサイクルがずれることを許容する制御が可能となる。
【０２３２】
上記第１乃至第４の実施形態に係る論理回路エミュレータ１０〜４０は、一例として、論理回路を複数のチップに分割して動作させる実システムのクロック制御に適用することができる。
【０２３３】
本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【０２３４】
また、上記実施形態の一部又は全部は、以下の付記として記載することができるものであるが、これらに限定されるものではない。
【０２３５】
（付記１）  検証対象回路を分割して得られた複数のサブ回路のそれぞれが設けられた複数のサブシステムを備え、
前記複数のサブシステムは、それぞれ、自身に設けられたサブ回路の状態が進んだか否かに応じて、他のサブシステムに対して、次のエミュレーションクロックサイクルに進むことを許可する許可通知を出力する許可通知出力部と、
自身に設けられたサブ回路から出力された信号であって他のサブシステムに設けられたサブ回路へ送信すべき信号が変化した場合には、次のエミュレーションクロックサイクルまでに該他のサブシステムに対して該信号の転送要求を出力する転送要求出力部と、
自身に設けられたサブ回路から他のサブシステムに設けられたサブ回路への信号を転送していない場合において、他のサブシステムから前記許可通知を受けるとともに前記転送要求を受けていないときには、自身に設けられたサブ回路を次のエミュレーションクロックサイクルに進めるように自身に設けられたサブ回路に対するクロック信号を制御するクロック制御部と、を備えていることを特徴とする論理回路エミュレータ。
【０２３６】
（付記２）前記許可通知出力部は、前記クロック制御部が、サブ回路を次のエミュレーションクロックサイクルに進めるように制御した場合には、該サブ回路の状態が進んだものと判定することを特徴とする、付記１に記載の論理回路エミュレータ。
【０２３７】
（付記３）検証対象回路を分割して得られた第１のサブ回路が設けられた第１のサブシステムと、該第１のサブ回路との間で信号を送受信する第２のサブ回路が設けられた第２のサブシステムとを備え、
前記第１のサブシステムは、前記第２のサブシステムに対し、次のエミュレーションクロックサイクルに進むことを許可する許可通知を出力する許可通知出力部と、
前記第１のサブ回路から前記第２のサブ回路に対して送信する信号の変化を検出した場合には、次のエミュレーションクロックサイクルまでに該信号の転送要求を出力する転送要求出力部と、を備え、
前記第１のサブシステム及び前記第２のサブシステムは、それぞれ、隣接するすべてのサブシステムから許可通知を受信するととともに転送要求を受信していない場合に、次のエミュレーションクロックサイクルに進むようにサブ回路に対するクロック信号を出力するクロック制御部を備えていることを特徴とする論理回路エミュレータ。
【０２３８】
（付記４）前記許可通知出力部及び前記クロック制御部は、サブ回路間のエミュレーションクロックサイクルのずれを許容する制御を行うことを特徴とする、付記３に記載の論理回路エミュレータ。
【０２３９】
（付記５）前記許可通知出力部は、サブ回路の状態が進んだか否かに基づいて前記許可通知を出力することを特徴とする、付記３又は４に記載の論理回路エミュレータ。
【０２４０】
（付記６）前記許可通知出力部は、サブ回路の状態が進んだか否かを、前記クロック制御部がクロックを出力したか否かに基づいて判定することを特徴とする、付記３乃至５のいずれか一に記載の論理回路エミュレータ。
【０２４１】
（付記７）前記第１のサブシステム及び前記第２のサブシステムは、それぞれ、前記第１のサブシステムと前記第２のサブシステムとの間におけるエミュレーションクロックサイクルのずれから算出されたカウントを保持するカウンタをさらに備えていることを特徴とする、付記１乃至６のいずれか一に記載の論理回路エミュレータ。
【０２４２】
（付記８）前記カウンタは、エミュレーションクロックサイクルのずれに１を加えたカウントを保持することを特徴とする、付記７に記載の論理回路エミュレータ。
【０２４３】
（付記９）前記許可通知出力部は、前記カウンタに１以上のカウントが格納されている場合に前記許可通知を出力することを特徴とする、付記８に記載の論理回路エミュレータ。
【０２４４】
（付記１０）前記第１のサブシステムは、前記転送信号を前記第２のサブシステムに送信する転送信号送信部をさらに備えていることを特徴とする、付記３乃至９のいずれか一に記載の論理回路エミュレータ。
【０２４５】
（付記１１）前記第２のサブシステムは、前記転送信号送信部から受信した転送信号を前記第２のサブシステム上のサブ回路の入力として保持する転送信号保持部をさらに備えていることを特徴とする、付記３乃至１０のいずれか一に記載の論理回路エミュレータ。
【０２４６】
（付記１２）  検証対象回路を分割して得られた複数のサブ回路のそれぞれが設けられた複数のサブシステムを備えた論理回路エミュレータの制御方法であって、
前記複数のサブシステムが、それぞれ、自身に設けられたサブ回路の状態が進んだか否かに応じて、他のサブシステムに対して、次のエミュレーションクロックサイクルに進むことを許可する許可通知を出力する工程と、
自身に設けられたサブ回路から出力された信号であって他のサブシステムに設けられたサブ回路へ送信すべき信号が変化した場合には、次のエミュレーションクロックサイクルまでに該他のサブシステムに対して該信号の転送要求を出力する工程と、
自身に設けられたサブ回路から他のサブシステムに設けられたサブ回路への信号を転送していない場合において、他のサブシステムから前記許可通知を受けるとともに前記転送要求を受けていないときには、自身に設けられたサブ回路を次のエミュレーションクロックサイクルに進めるように自身に設けられたサブ回路に対するクロック信号を制御する工程と、を含むことを特徴とする、論理回路エミュレータの制御方法。
【０２４７】
（付記１３）検証対象回路を分割して得られた複数のサブ回路のそれぞれが設けられた複数のサブシステムを備えた論理回路エミュレータを制御するプログラムであって、
前記複数のサブシステムが、それぞれ、自身に設けられたサブ回路の状態が進んだか否かに応じて、他のサブシステムに対して、次のエミュレーションクロックサイクルに進むことを許可する許可通知を出力する処理と、
自身に設けられたサブ回路から出力された信号であって他のサブシステムに設けられたサブ回路へ送信すべき信号が変化した場合には、次のエミュレーションクロックサイクルまでに該他のサブシステムに対して該信号の転送要求を出力する処理と、
自身に設けられたサブ回路から他のサブシステムに設けられたサブ回路への信号を転送していない場合において、他のサブシステムから前記許可通知を受けるとともに前記転送要求を受けていないときには、自身に設けられたサブ回路を次のエミュレーションクロックサイクルに進めるように自身に設けられたサブ回路に対するクロック信号を制御する処理と、を前記複数のサブシステム上にそれぞれ設けられたプロセッサに実行させることを特徴とするプログラム。
【符号の説明】
【０２４８】
１０、２０、３０、４０、１００    論理回路エミュレータ
１１、１０１    サブシステムＡ
１２、１０２    サブシステムＢ
２１、２０１    サブ回路Ａ
２２、２０２    サブ回路Ｂ
３１、３２、３１１、３１２、３１１−１、３１２−１    許可通知出力部
４１、４２、３２１、３２２    転送要求出力部
５１、５２、３３１、３３２、３３１−１、３３２−１、９３１、９３２    クロック制御部
１０３    サブシステムＣ
１０４    サブシステムＤ
３０１、３０２    コントローラ
３４１、３４２    カウンタ
３５１、３５２    プロセッサ
３６１、３６２    Ｉ／Ｏ
３７１、３７２    メモリ
４０１、４０２    転送信号送信部
４１１、４１２、５１１、５１２    レジスタ
５０１、５０２    転送信号保持部
９９０    全体制御回路
９９１    転送要求受信部
９９２    許可通知出力部
【図１】
0005884729.tif 000002
【図２】
0005884729.tif 000003
【図３】
0005884729.tif 000004
【図４】
0005884729.tif 000005
【図５】
0005884729.tif 000006
【図６】
0005884729.tif 000007
【図７】
0005884729.tif 000008
【図８】
0005884729.tif 000009
【図９】
0005884729.tif 000010
【図１０】
0005884729.tif 000011
【図１１】
0005884729.tif 000012
【図１２】
0005884729.tif 000013
【図１３】
0005884729.tif 000014
【図１４】
0005884729.tif 000015
【図１５】
0005884729.tif 000016
【図１６】
0005884729.tif 000017
【図１７】
0005884729.tif 000018
【図１８】
0005884729.tif 000019
【図１９】
0005884729.tif 000020
【図２０】
0005884729.tif 000021
【図２１】
0005884729.tif 000022
【図２２】
0005884729.tif 000023