(57)【要約】【課題】  ＣＰＵ間におけるデータ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させる。【解決手段】  ＣＰＵ間を同時双方向入出力回路１、２を介して接続し、ＰＬＬ回路３にて生成されたクロック信号φ０を、同時双方向入出力回路１の送信用クロック端子ＴＸｃｌｏｃｋ１に入力し、ＰＬＬ回路３にて生成されたクロック信号φ０を、クロックラインＣＬ１およびバッファ４を介して、同時双方向入出力回路２の送信用クロック端子ＴＸｃｌｏｃｋ２および受信用クロック端子ＲＸｃｌｏｃｋ２に入力し、ＰＬＬ回路３にて生成されたクロック信号φ０を、クロックラインＣＬ１、バッファ４、５およびクロックラインＣＬ２を介して、同時双方向入出力回路１の受信用クロック端子ＲＸｃｌｏｃｋ１に入力するとともに、ＰＬＬ回路３に帰還させる。【選択図】      図１
2006013596.tif 000002
【特許請求の範囲】
【請求項１】
同一チップ上に搭載された複数のＣＰＵと、
前記ＣＰＵ間のインターコネクトを行う同時双方向入出力インターフェースとを備えることを特徴とする半導体集積回路。
【請求項２】
単一のクロックで駆動される同時双方向入出力インターフェースと、
前記同時双方向入出力インターフェースを介して接続された複数のＣＰＵとを備えることを特徴とする半導体集積回路。
【請求項３】
前記同時双方向入出力インターフェースは、
第１ＣＰＵ側に配置された第１同時双方向入出力回路と、
第２ＣＰＵ側に配置された第２同時双方向入出力回路と、
前記第１同時双方向入出力回路に取り込まれた送信データを前記第２同時双方向入出力回路に伝送するとともに、前記第２同時双方向入出力回路に取り込まれた送信データを前記第１同時双方向入出力回路に伝送するバスラインと、
前記バスラインを介して伝送される信号の遅延時間分だけ、前記第１および第２同時双方向入出力回路に入力されるクロックの位相を互いにずらす位相補償手段とを備えることを特徴とする請求項２記載の半導体集積回路。
【請求項４】
第１ＣＰＵ側に配置され、第１クロックで駆動される第１同時双方向入出力回路と、
第２ＣＰＵ側に配置され、前記第１クロックと一定量だけ位相が異なる第２クロックで駆動される第２同時双方向入出力回路と、
前記第１同時双方向入出力回路に取り込まれた送信データを前記第２同時双方向入出力回路に伝送するとともに、前記第２同時双方向入出力回路に取り込まれた送信データを前記第１同時双方向入出力回路に伝送するバスラインとを備えることを特徴とする半導体集積回路。
【請求項５】
クロック信号を生成するクロック信号生成手段と、
前記クロック信号生成手段にて生成されたクロックの立ち上がりエッジまたは立ち下がりエッジのいずれか一方に同期して送信データを取り込むとともに、前記クロック信号生成手段にて生成されたクロックの立ち上がりエッジまたは立ち下がりエッジのいずれか一方に同期して受信データを出力する第１同時双方向入出力回路と、
前記第１同時双方向入出力回路から受信データが出力されるときのクロックの立ち上がりエッジまたは立ち下がりエッジと異なる方のエッジに同期して送信データを取り込むとともに、前記第１同時双方向入出力回路に送信データが取り込まれるときのクロックの立ち上がりエッジまたは立ち下がりエッジと異なる方のエッジに同期して受信データを出力する第２同時双方向入出力回路と、
前記第１同時双方向入出力回路に取り込まれた送信データを前記第２同時双方向入出力回路に伝送するとともに、前記第２同時双方向入出力回路に取り込まれた送信データを前記第１同時双方向入出力回路に伝送するバスラインとを備えることを特徴とする半導体集積回路。
【請求項６】
基準信号と帰還信号との比較結果に基づいてクロック信号を生成するクロック信号生成手段と、
前記クロック信号生成手段にて生成されたクロック信号が入力される第１同時双方向入出力回路と、
前記第１同時双方向入出力回路に入力されるクロック信号が第１クロックラインを介して入力される第２同時双方向入出力回路と、
前記第２同時双方向入出力回路に入力されるクロック信号を前記クロック信号生成手段に帰還させる第２クロックラインと、
前記第１同時双方向入出力回路に取り込まれた送信データを前記第２同時双方向入出力回路に伝送するとともに、前記第２同時双方向入出力回路に取り込まれた送信データを前記第１同時双方向入出力回路に伝送するバスラインとを備えることを特徴とする半導体集積回路。
【請求項７】
基準信号と帰還信号との比較結果に基づいてクロック信号を生成するクロック信号生成手段と、
前記クロック信号生成手段にて生成されたクロック信号が送信用クロックとして入力される第１同時双方向入出力回路と、
前記第１同時双方向入出力回路に入力されるクロック信号が第１クロックラインを介して送信用クロックおよび受信用クロックとして入力される第２同時双方向入出力回路と、
前記第２同時双方向入出力回路に入力されるクロック信号を前記クロック信号生成手段に帰還させるとともに、前記第１同時双方向入出力回路の受信用クロックとして入力する第２クロックラインと、
前記第１同時双方向入出力回路に取り込まれた送信データを前記第２同時双方向入出力回路に伝送するとともに、前記第２同時双方向入出力回路に取り込まれた送信データを前記第１同時双方向入出力回路に伝送するバスラインとを備えることを特徴とする半導体集積回路。
【請求項８】
前記第１同時双方向入出力回路は、前記クロック信号生成から入力されたクロック信号の立ち上がりエッジまたは立ち下がりエッジのいずれか一方に同期して送信データを取り込むとともに、前記第２クロックラインを介して入力されたクロック信号の立ち上がりエッジまたは立ち下がりエッジのいずれか一方に同期して受信データを出力し、
前記第２同時双方向入出力回路は、前記第１クロックラインを介して入力されたクロック信号の立ち上がりエッジまたは立ち下がりエッジのうち、前記第１同時双方向入出力回路から受信データが出力されるときのクロックの立ち上がりエッジまたは立ち下がりエッジと異なる方のエッジに同期して送信データを取り込むとともに、前記第１クロックラインを介して入力されたクロック信号の立ち上がりエッジまたは立ち下がりエッジのうち、前記第１同時双方向入出力回路に送信データが取り込まれるときのクロックの立ち上がりエッジまたは立ち下がりエッジと異なる方のエッジに同期して受信データを出力することを特徴とする請求項７記載の半導体集積回路。
【請求項９】
基準信号と帰還信号との比較結果に基づいて、位相が互いに異なる第１および第２クロック信号を生成するクロック信号生成手段と、
前記クロック信号生成手段にて生成された第１クロック信号が送信用クロックとして入力される第１同時双方向入出力回路と、
前記第１同時双方向入出力回路に入力される第１クロック信号が第１クロックラインを介して受信用クロックとして入力される第２同時双方向入出力回路と、
前記クロック信号生成手段にて生成された第２クロック信号を送信用クロックとして前記第２同時双方向入出力回路に入力する第２クロックラインと、
前記第２同時双方向入出力回路に入力される第１クロック信号を前記クロック信号生成手段に帰還させる第３クロックラインと、
前記第２同時双方向入出力回路に入力される第２クロック信号を受信用クロックとして前記第１同時双方向入出力回路に入力する第４クロックラインと、
前記第１同時双方向入出力回路に取り込まれた送信データを前記第２同時双方向入出力回路に伝送するとともに、前記第２同時双方向入出力回路に取り込まれた送信データを前記第１同時双方向入出力回路に伝送するバスラインとを備えることを特徴とする半導体集積回路。
【請求項１０】
前記第１同時双方向入出力回路は、前記クロック信号生成から入力された第１クロック信号の立ち上がりエッジまたは立ち下がりエッジのいずれか一方に同期して送信データを取り込むとともに、前記第４クロックラインを介して入力された第２クロック信号の立ち上がりエッジまたは立ち下がりエッジのいずれか一方に同期して受信データを出力し、
前記第２同時双方向入出力回路は、前記第２クロックラインを介して入力された第２クロック信号の立ち上がりエッジまたは立ち下がりエッジのうち、前記第１同時双方向入出力回路から受信データが出力されるときのクロックの立ち上がりエッジまたは立ち下がりエッジと異なる方のエッジに同期して送信データを取り込むとともに、前記第１クロックラインを介して入力された第１クロック信号の立ち上がりエッジまたは立ち下がりエッジのうち、前記第１同時双方向入出力回路に送信データが取り込まれるときのクロックの立ち上がりエッジまたは立ち下がりエッジと異なる方のエッジに同期して受信データを出力することを特徴とする請求項９記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路に関し、特に、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）間のインターコネクトに同時双方向入出力インターフェースを用いる方法に適用して好適なものである。
【背景技術】
【０００２】
半導体集積装置では、処理能力を向上させるため、ＡＬＵ（Ａｒｉｔｈｍｅｔｉｃ  ａｎｄ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ）やバスの多ビット化が行われている。また、グラフィク処理などで扱われるデータ量の増大に伴って、データ処理に必要なバスの帯域は年々上昇している。
また、例えば、特許文献１には、バスの占有面積を減らすため、ｎビット幅のバスに複数のＣＰＵを接続し、一方のＣＰＵがメモリにアクセスしている時は、他方のＣＰＵを待機状態にすることにより、データの衝突を防止する方法が開示されている。
【０００３】
また、例えば、特許文献２には、バスの配線数の制約に対処するため、マルチプロセッサ方式における双方向のデータバスをアービトレーションしながら使用する方法が開示されている。
また、例えば、特許文献３には、プロセッサ間でデータ通信を行う場合、チップ内でシリアルパラレル変換を行うことにより、バスの占有面積を減らす方法が開示されている。
【０００４】
また、例えば、特許文献４には、シリアルインターフェースまたはパラレルインターフェースを介してＣＰＵ間を接続し、ハンドシェイクにてＣＰＵ間のデータのやり取りを行う方法が開示されている。
また、例えば、特許文献５には、スループットの低下を抑制しつつ、データバスの占有面積を減らすことができるようにするため、同時双方向入出力回路を用いることにより、データの送受信を同一のバス上で同時に行えるようにする方法が開示されている。
【特許文献１】特開平２−３００９５５号公報
【特許文献２】特開２００３−２９６２６７号公報
【特許文献３】特開２００３−１９８３５６号公報
【特許文献４】特開昭５８−６４５２８号公報
【特許文献５】特開平８−３１６８１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１から４に開示された方法では、バスの占有面積を減らすために、複数のＣＰＵ間でデータバスが共用される。このため、任意の１つのＣＰＵがデータの送信動作しているときには、他のＣＰＵは送信動作を停止させる必要があり、ＣＰＵ間でデータをやり取りするときのスループットが低下するという問題があった。
また、特許文献５に開示された方法では、双方のＣＰＵから任意のタイミングでデータが転送されても、相手のＣＰＵにデータが伝送されるようにする必要があり、データを確実に取り込むために必要なセットアップタイムとホールドタイムの制限が双方のＣＰＵに要求される。このため、同時双方向入出力回路を用いた場合には、単一方向のみにデータが転送されるバスを使用した場合に比べてＣＰＵの接続された個数倍のタイミングマージンを確保する必要があり、ＣＰＵの転送動作周波数を低下させなければならないという問題があった。
【０００６】
図７は、データ転送時のセットアップタイムとホールドタイムを示す図である。
図７において、クロックの立ち上がりでデータが確実に取り込めるようにするためには、クロック周波数はセットアップタイムＴｓｕとホールドタイムＴｈの制限を満たす必要がある。すなわち、クロックの電位が変化する時刻よりも十分な時間だけ前の時刻にデータの電位を確定させ、かつ、クロックが立ち上がった後にデータが内部ラッチに取り込まれるために必要な時間を確保する必要がある。例えば、図７の例では、最初のクロックの立ち上がりでは、セットアップタイムＴｓｕとホールドタイムＴｈを満たしているため、データ“０”を取り込むことができるが、２番目のクロックの立ち上がりでは、セットアップタイムＴｓｕとホールドタイムＴｈを満たしていないため、データ“０”を取り込むことができなくなる可能性がある。
【０００７】
また、特許文献５に開示された方法では、双方のＣＰＵを動作させるために、独立した別個のクロックが使用される。このため、両者のクロック周期の最小公倍数を周期としてデータのエラーの発生確率が増え、全体のスループットの低下を引き起こすという問題があった。
さらに、特許文献５に開示された方法では、ＣＰＵ間の配線長による遅延時間に起因して、タイミングエラーの確率が高くなるという問題があった。
【０００８】
また、特許文献５に開示された方法では、双方のＣＰＵに接続されたデータバスのバッファ間でデータの電位を引き合うことによって伝送が行われるため、データの立ち上がりおよび立下りの時間が長くなり、セットアップタイムに対するエラーの確率が高くなるという問題があった。
そこで、本発明の目的は、ＣＰＵ間におけるデータ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させることが可能な半導体集積回路を提供することである。
【課題を解決するための手段】
【０００９】
上述した課題を解決するために、本発明の一態様に係る半導体集積回路によれば、同一チップ上に搭載された複数のＣＰＵと、前記ＣＰＵ間のインターコネクトを行う同時双方向入出力インターフェースとを備えることを特徴とする。
これにより、同一チップ上に搭載されたＣＰＵ間でデータの送受信を同一のバス上で同時に行うことが可能となり、スループットの低下を抑制しつつ、データバスの占有面積を減らすことができる。
【００１０】
また、本発明の一態様に係る半導体集積回路によれば、単一のクロックで駆動される同時双方向入出力インターフェースと、前記同時双方向入出力インターフェースを介して接続された複数のＣＰＵとを備えることを特徴とする。
これにより、同一のバス上でデータが送受信されるタイミングを双方のＣＰＵ間で一致させることが可能となる。このため、双方のＣＰＵでデータを確実に取り込むために必要なセットアップタイムとホールドタイムの規定を満たすことが可能となり、ＣＰＵ間におけるデータ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させることが可能となる。
【００１１】
また、本発明の一態様に係る半導体集積回路によれば、前記同時双方向入出力インターフェースは、第１ＣＰＵ側に配置された第１同時双方向入出力回路と、第２ＣＰＵ側に配置された第２同時双方向入出力回路と、前記第１同時双方向入出力回路に取り込まれた送信データを前記第２同時双方向入出力回路に伝送するとともに、前記第２同時双方向入出力回路に取り込まれた送信データを前記第１同時双方向入出力回路に伝送するバスラインと、前記バスラインを介して伝送される信号の遅延時間分だけ、前記第１および第２同時双方向入出力回路に入力されるクロックの位相を互いにずらす位相補償手段とを備えることを特徴とする。
【００１２】
これにより、ＣＰＵ間の配線長による信号の伝播遅延がある場合においても、同一のバス上でデータが送受信されるタイミングを双方のＣＰＵ間で一致させることが可能となり、ＣＰＵ間におけるデータ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させることが可能となる。
また、本発明の一態様に係る半導体集積回路によれば、第１ＣＰＵ側に配置され、第１クロックで駆動される第１同時双方向入出力回路と、第２ＣＰＵ側に配置され、前記第１クロックと一定量だけ位相が異なる第２クロックで駆動される第２同時双方向入出力回路と、前記第１同時双方向入出力回路に取り込まれた送信データを前記第２同時双方向入出力回路に伝送するとともに、前記第２同時双方向入出力回路に取り込まれた送信データを前記第１同時双方向入出力回路に伝送するバスラインとを備えることを特徴とする。
【００１３】
これにより、第１および第２同時双方向入出力回路において信号が送受信されるタイミングに合わせて、第１および第２同時双方向入出力回路に入力されるクロックの位相をずらすことが可能となる。このため、第１および第２同時双方向入出力回路の間のバスラインの配線長による信号の伝播遅延がある場合においても、第１同時双方向入出力回路から第２同時双方向入出力回路に信号を送るタイミングと、第２同時双方向入出力回路第から送られた信号を第１同時双方向入出力回路で受け取るタイミングとを一致させることが可能となる。この結果、第１および第２同時双方向入出力回路にてデータを確実に取り込むために必要なセットアップタイムとホールドタイムの規定を満たすことを可能としつつ、第１および第２同時双方向入出力回路の間でデータの送受信を同一のバス上で同時に行うことが可能となり、ＣＰＵ間におけるデータ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させることが可能となる。
【００１４】
また、本発明の一態様に係る半導体集積回路によれば、クロック信号を生成するクロック信号生成手段と、前記クロック信号生成手段にて生成されたクロックの立ち上がりエッジまたは立ち下がりエッジのいずれか一方に同期して送信データを取り込むとともに、前記クロック信号生成手段にて生成されたクロックの立ち上がりエッジまたは立ち下がりエッジのいずれか一方に同期して受信データを出力する第１同時双方向入出力回路と、前記第１同時双方向入出力回路から受信データが出力されるときのクロックの立ち上がりエッジまたは立ち下がりエッジと異なる方のエッジに同期して送信データを取り込むとともに、前記第１同時双方向入出力回路に送信データが取り込まれるときのクロックの立ち上がりエッジまたは立ち下がりエッジと異なる方のエッジに同期して受信データを出力する第２同時双方向入出力回路と、前記第１同時双方向入出力回路に取り込まれた送信データを前記第２同時双方向入出力回路に伝送するとともに、前記第２同時双方向入出力回路に取り込まれた送信データを前記第１同時双方向入出力回路に伝送するバスラインとを備えることを特徴とする。
【００１５】
これにより、第１同時双方向入出力回路に送信データが取り込まれるタイミングと、第２同時双方向入出力回路から受信データが出力されるタイミングとをずらすことが可能となるとともに、第２同時双方向入出力回路に送信データが取り込まれるタイミングと、第１同時双方向入出力回路から受信データが出力されるタイミングとをずらすことが可能となる。このため、第１同時双方向入出力回路に取り込まれた送信データが第２同時双方向入出力回路に伝送された後に、第２同時双方向入出力回路から受信データを出力することが可能となるとともに、第２同時双方向入出力回路に取り込まれた送信データが第１同時双方向入出力回路に伝送された後に、第１同時双方向入出力回路から受信データを出力することが可能となり、ＣＰＵ間でデータの送受信を同一のバス上で同時に行った場合においても、データ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させることが可能となる。
【００１６】
また、本発明の一態様に係る半導体集積回路によれば、基準信号と帰還信号との比較結果に基づいてクロック信号を生成するクロック信号生成手段と、前記クロック信号生成手段にて生成されたクロック信号が入力される第１同時双方向入出力回路と、前記第１同時双方向入出力回路に入力されるクロック信号が第１クロックラインを介して入力される第２同時双方向入出力回路と、前記第２同時双方向入出力回路に入力されるクロック信号を前記クロック信号生成手段に帰還させる第２クロックラインと、前記第１同時双方向入出力回路に取り込まれた送信データを前記第２同時双方向入出力回路に伝送するとともに、前記第２同時双方向入出力回路に取り込まれた送信データを前記第１同時双方向入出力回路に伝送するバスラインとを備えることを特徴とする。
【００１７】
これにより、同時双方向入出力インターフェースにて伝送される信号の遅延時間を考慮して、クロック信号生成手段にクロック信号を生成させることが可能となる。このため、第１および第２同時双方向入出力回路の間の配線長による信号の伝播遅延がある場合においても、第１および第２同時双方向入出力回路にてデータが送受信されるタイミングとクロック信号の位相とを一致させることが可能となり、ＣＰＵ間におけるデータ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させることが可能となる。
【００１８】
また、本発明の一態様に係る半導体集積回路によれば、基準信号と帰還信号との比較結果に基づいてクロック信号を生成するクロック信号生成手段と、前記クロック信号生成手段にて生成されたクロック信号が送信用クロックとして入力される第１同時双方向入出力回路と、前記第１同時双方向入出力回路に入力されるクロック信号が第１クロックラインを介して送信用クロックおよび受信用クロックとして入力される第２同時双方向入出力回路と、前記第２同時双方向入出力回路に入力されるクロック信号を前記クロック信号生成手段に帰還させるとともに、前記第１同時双方向入出力回路の受信用クロックとして入力する第２クロックラインと、前記第１同時双方向入出力回路に取り込まれた送信データを前記第２同時双方向入出力回路に伝送するとともに、前記第２同時双方向入出力回路に取り込まれた送信データを前記第１同時双方向入出力回路に伝送するバスラインとを備えることを特徴とする。
【００１９】
これにより、第１および第２同時双方向入出力回路を単一のクロックで駆動することが可能となるとともに、第１および第２同時双方向入出力回路の間の配線長による信号の伝播遅延に対応させて、第１および第２同時双方向入出力回に入力されるクロックの位相をずらすことが可能となる。このため、第１および第２同時双方向入出力回路の間の配線長による信号の伝播遅延がある場合においても、第１同時双方向入出力回路から第２同時双方向入出力回路に信号を送るタイミングと、第２同時双方向入出力回路から送られた信号を第１同時双方向入出力回路で受け取るタイミングとを一致させることが可能となるとともに、同時双方向入出力インターフェースにて伝送される信号の遅延時間を考慮して、クロック信号生成手段にクロック信号を生成させることが可能となる。この結果、第１および第２同時双方向入出力回路にてデータを確実に取り込むために必要なセットアップタイムとホールドタイムの規定を満たすことを可能としつつ、第１および第２同時双方向入出力回路の間でデータの送受信を同一のバス上で同時に行うことが可能となり、ＣＰＵ間におけるデータ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させることが可能となる。
【００２０】
また、本発明の一態様に係る半導体集積回路によれば、前記第１同時双方向入出力回路は、前記クロック信号生成から入力されたクロック信号の立ち上がりエッジまたは立ち下がりエッジのいずれか一方に同期して送信データを取り込むとともに、前記第２クロックラインを介して入力されたクロック信号の立ち上がりエッジまたは立ち下がりエッジのいずれか一方に同期して受信データを出力し、前記第２同時双方向入出力回路は、前記第１クロックラインを介して入力されたクロック信号の立ち上がりエッジまたは立ち下がりエッジのうち、前記第１同時双方向入出力回路から受信データが出力されるときのクロックの立ち上がりエッジまたは立ち下がりエッジと異なる方のエッジに同期して送信データを取り込むとともに、前記第１クロックラインを介して入力されたクロック信号の立ち上がりエッジまたは立ち下がりエッジのうち、前記第１同時双方向入出力回路に送信データが取り込まれるときのクロックの立ち上がりエッジまたは立ち下がりエッジと異なる方のエッジに同期して受信データを出力することを特徴とする。
【００２１】
これにより、第１および第２同時双方向入出力回路において送信データが取り込まれるタイミングと受信データが出力されるタイミングとをずらすことが可能となり、第１同時双方向入出力回路に取り込まれた送信データが第２同時双方向入出力回路に伝送された後に、第２同時双方向入出力回路から受信データを出力することが可能となる。このため、第１および第２同時双方向入出力回路の間でデータの送受信を同一のバス上で同時に行った場合においても、データ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させることが可能となる。
【００２２】
また、本発明の一態様に係る半導体集積回路によれば、基準信号と帰還信号との比較結果に基づいて、位相が互いに異なる第１および第２クロック信号を生成するクロック信号生成手段と、前記クロック信号生成手段にて生成された第１クロック信号が送信用クロックとして入力される第１同時双方向入出力回路と、前記第１同時双方向入出力回路に入力される第１クロック信号が第１クロックラインを介して受信用クロックとして入力される第２同時双方向入出力回路と、前記クロック信号生成手段にて生成された第２クロック信号を送信用クロックとして前記第２同時双方向入出力回路に入力する第２クロックラインと、前記第２同時双方向入出力回路に入力される第１クロック信号を前記クロック信号生成手段に帰還させる第３クロックラインと、前記第２同時双方向入出力回路に入力される第２クロック信号を受信用クロックとして前記第１同時双方向入出力回路に入力する第４クロックラインと、前記第１同時双方向入出力回路に取り込まれた送信データを前記第２同時双方向入出力回路に伝送するとともに、前記第２同時双方向入出力回路に取り込まれた送信データを前記第１同時双方向入出力回路に伝送するバスラインとを備えることを特徴とする。
【００２３】
これにより、第１および第２同時双方向入出力回路において信号が送受信されるタイミングに合わせて、第１および第２同時双方向入出力回路に入力されるクロックの位相をずらすことが可能となるとともに、同時双方向入出力インターフェースにて伝送される信号の遅延時間を考慮して、クロック信号生成手段にクロック信号を生成させることが可能となる。このため、第１および第２同時双方向入出力回路の間の配線長による信号の伝播遅延がある場合においても、第１同時双方向入出力回路から第２同時双方向入出力回路に信号を送るタイミングと、第２同時双方向入出力回路から送られた信号を第１同時双方向入出力回路で受け取るタイミングとを一致させることが可能となる。この結果、第１および第２同時双方向入出力回路にてデータを確実に取り込むために必要なセットアップタイムとホールドタイムの規定を満たすことを可能としつつ、第１および第２同時双方向入出力回路の間でデータの送受信を同一のバス上で同時に行うことが可能となり、ＣＰＵ間におけるデータ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させることが可能となる。
【００２４】
また、本発明の一態様に係る半導体集積回路によれば、前記第１同時双方向入出力回路は、前記クロック信号生成から入力された第１クロック信号の立ち上がりエッジまたは立ち下がりエッジのいずれか一方に同期して送信データを取り込むとともに、前記第４クロックラインを介して入力された第２クロック信号の立ち上がりエッジまたは立ち下がりエッジのいずれか一方に同期して受信データを出力し、前記第２同時双方向入出力回路は、前記第２クロックラインを介して入力された第２クロック信号の立ち上がりエッジまたは立ち下がりエッジのうち、前記第１同時双方向入出力回路から受信データが出力されるときのクロックの立ち上がりエッジまたは立ち下がりエッジと異なる方のエッジに同期して送信データを取り込むとともに、前記第１クロックラインを介して入力された第１クロック信号の立ち上がりエッジまたは立ち下がりエッジのうち、前記第１同時双方向入出力回路に送信データが取り込まれるときのクロックの立ち上がりエッジまたは立ち下がりエッジと異なる方のエッジに同期して受信データを出力することを特徴とする。
【００２５】
これにより、第１および第２同時双方向入出力回路において送信データが取り込まれるタイミングと受信データが出力されるタイミングとをずらすことが可能となり、第１同時双方向入出力回路に取り込まれた送信データが第２同時双方向入出力回路に伝送された後に、第２同時双方向入出力回路から受信データを出力することが可能となる。このため、第１および第２同時双方向入出力回路の間でデータの送受信を同一のバス上で同時に行った場合においても、データ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させることが可能となる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施形態に係る半導体集積回路について図面を参照しながら説明する。
図１は、本発明の第１実施形態に係る半導体集積回路の概略構成を示すブロック図である。
図１において、第１ＣＰＵ側には同時双方向入出力回路１が配置され、第２ＣＰＵ側には同時双方向入出力回路２が配置されている。そして、同時双方向入出力回路１と同時双方向入出力回路２とバスラインＩＦ１を介して接続されている。なお、第１ＣＰＵおよび第２ＣＰＵとは同一チップ内に搭載することができる。ここで、バスラインＩＦ１には、Ｎ本のデータバスまたはアドレスバスを設けることができる。そして、同時双方向入出力回路１と同時双方向入出力回路２とは、データの送受信をバスラインＩＦ１上で同時に行うことができる。
【００２７】
すなわち、バスラインＩＦ１上の電位は、同時双方向入出力回路１と同時双方向入出力回路２との間の送受信のタイミングによって、“０”、“０．５”または“１”の３値のレベルをとることができる。また、同時双方向入出力回路１、２から送信される送信データは“０”または“１”の２値のレベルをとることができる。そして、送信側の同時双方向入出力回路１、２では、現在自分が送信している送信データのレベルが“０”であるか“１”であるかが判っている。このため、現在自分がバスラインＩＦ１上に送信している送信データのレベルと、バスラインＩＦ１上の現在のレベルを比較することにより、現在相手が送信している送信データのレベルを判断することができる。
【００２８】
すなわち、現在自分がバスラインＩＦ１上に送信している送信データのレベルが“０”で、バスラインＩＦ１上の電位が“０”の場合、現在相手が送信している送信データのレベルが“０”であると判断することができる。また、現在自分がバスラインＩＦ１上に送信している送信データのレベルが“０”で、バスラインＩＦ１上の電位が“０．５”の場合、現在相手が送信している送信データのレベルが“１”であると判断することができる。また、現在自分がバスラインＩＦ１上に送信している送信データのレベルが“１”で、バスラインＩＦ１上の電位が“０．５”の場合、現在相手が送信している送信データのレベルが“０”であると判断することができる。また、現在自分がバスラインＩＦ１上に送信している送信データのレベルが“１”で、バスラインＩＦ１上の電位が“１”の場合、現在相手が送信している送信データのレベルが“１”であると判断することができる。
【００２９】
ここで、同時双方向入出力回路１には、送信データＴＸＤａｔａ１を取り込むためのタイミングを指示する送信用クロック端子ＴＸｃｌｏｃｋ１が設けられるとともに、受信データＲＸＤａｔａ１を出力するためのタイミングを指示する受信用クロック端子ＲＸｃｌｏｃｋ１が設けられている。また、同時双方向入出力回路２には、送信データＴＸＤａｔａ２を取り込むためのタイミングを指示する送信用クロック端子ＴＸｃｌｏｃｋ２が設けられるとともに、受信データＲＸＤａｔａ２を出力するためのタイミングを指示する受信用クロック端子ＲＸｃｌｏｃｋ２が設けられている。
【００３０】
なお、送信データＴＸＤａｔａ１は、第１ＣＰＵから同時双方向入出力回路１に出力するとともに、受信データＲＸＤａｔａ１は、同時双方向入出力回路１から第１ＣＰＵに出力することができる。また、送信データＴＸＤａｔａ２は、第２ＣＰＵから同時双方向入出力回路２に出力するとともに、受信データＲＸＤａｔａ２は、同時双方向入出力回路２から第２ＣＰＵに出力することができる。
【００３１】
また、図１の半導体集積回路には、基準信号ＥＸＴｃｌｏｃｋと帰還信号との比較結果に基づいてクロック信号φ０を生成するＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋ  Ｌｏｏｐ）回路３が設けられている。ここで、ＰＬＬ回路３にて生成されたクロック信号φ０は、同時双方向入出力回路１の送信用クロック端子ＴＸｃｌｏｃｋ１に入力される。また、ＰＬＬ回路３にて生成されたクロック信号φ０は、クロックラインＣＬ１およびバッファ４を介して、同時双方向入出力回路２の送信用クロック端子ＴＸｃｌｏｃｋ２および受信用クロック端子ＲＸｃｌｏｃｋ２に入力される。また、ＰＬＬ回路３にて生成されたクロック信号φ０は、クロックラインＣＬ１、バッファ４、５およびクロックラインＣＬ２を介して、同時双方向入出力回路１の受信用クロック端子ＲＸｃｌｏｃｋ１に入力されるとともに、ＰＬＬ回路３に帰還されている。
【００３２】
なお、クロックラインＣＬ１およびバッファ４による信号の伝播遅延は、バスラインＩＦ１を介して同時双方向入出力回路１から同時双方向入出力回路２に信号を伝送するために必要な時間に対応させることができる。また、クロックラインＣＬ２およびバッファ５による信号の伝播遅延は、バスラインＩＦ１を介して同時双方向入出力回路２から同時双方向入出力回路１に信号を伝送するために必要な時間に対応させることができる。
【００３３】
そして、同時双方向入出力回路１に入力された送信データＴＸＤａｔａ１は、送信用クロック端子ＴＸｃｌｏｃｋ１に入力されたクロック信号φ０に同期して、同時双方向入出力回路１に取り込まれる（Ｋ１）。そして、同時双方向入出力回路１に取り込まれた送信データＴＸＤａｔａ１は、バスラインＩＦ１を介して同時双方向入出力回路２に伝送される。
【００３４】
また、同時双方向入出力回路２に入力された送信データＴＸＤａｔａ２は、クロックラインＣＬ１およびバッファ４を介して送信用クロック端子ＴＸｃｌｏｃｋ２に入力されたクロック信号φ０に同期して、同時双方向入出力回路２に取り込まれる（Ｋ２）。そして、同時双方向入出力回路２に取り込まれた送信データＴＸＤａｔａ２は、バスラインＩＦ１を介して同時双方向入出力回路１に伝送される。
【００３５】
ここで、同時双方向入出力インターフェースでは、同時双方向入出力回路１から同時双方向入出力回路２への送信データＴＸＤａｔａ１の伝送と、同時双方向入出力回路２から同時双方向入出力回路１への送信データＴＸＤａｔａ２の伝送とは、同一のバスラインＩＦ１上で同時に行うことができる。
そして、同時双方向入出力回路１は、自分が現在送信している送信データＴＸＤａｔａ１のレベルと、データバス上の信号レベルに基づいて、相手の同時双方向入出力回路２が現在送信している送信データＴＸＤａｔａ２のレベルを判定することができる。そして、同時双方向入出力回路１は、クロックラインＣＬ１、バッファ４、５およびクロックラインＣＬ２を介して受信用クロック端子ＲＸｃｌｏｃｋ１に入力されたクロック信号φ０に同期して、受信データＲＸＤａｔａ１を出力する（Ｋ３）。
【００３６】
また、同時双方向入出力回路２は、自分が現在送信している送信データＴＸＤａｔａ２のレベルと、バスラインＩＦ１上の信号レベルに基づいて、相手の同時双方向入出力回路１が現在送信している送信データＴＸＤａｔａ１のレベルを判定することができる。そして、同時双方向入出力回路２は、クロックラインＣＬ１およびバッファ４を介して受信用クロック端子ＲＸｃｌｏｃｋ２に入力されたクロック信号φ０に同期して、受信データＲＸＤａｔａ２を出力する（Ｋ２）。
【００３７】
これにより、同時双方向入出力回路１と同時双方向入出力回路２とを単一のクロック信号φ０で駆動することが可能となるとともに、同時双方向入出力回路１と同時双方向入出力回路２との間の配線長による信号の伝播遅延に対応させて、同時双方向入出力回路１と同時双方向入出力回路２に入力されるクロックの位相をずらすことが可能となる。
このため、同時双方向入出力回路１と同時双方向入出力回路２との間の配線長による信号の伝播遅延がある場合においても、同時双方向入出力回路２から同時双方向入出力回路１に送信データＴＸＤａｔａ２を送るタイミングと、同時双方向入出力回路１から送られた送信データＴＸＤａｔａ１を同時双方向入出力回路２で受け取るタイミングとを一致させることが可能となる。この結果、同時双方向入出力回路１および同時双方向入出力回路２にてデータを確実に取り込むために必要なセットアップタイムとホールドタイムの規定を満たすことを可能としつつ、同時双方向入出力回路１と同時双方向入出力回路２との間でデータの送受信を同一のバス上で同時に行うことが可能となり、同時双方向入出力回路１、２間におけるデータ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させることが可能となる。
【００３８】
また、同時双方向入出力回路１は、送信用クロック端子ＴＸｃｌｏｃｋ１に入力されたクロック信号φ０の立ち上がりエッジに同期して、送信データＴＸＤａｔａ１を取り込むことができる。また、同時双方向入出力回路２は、クロックラインＣＬ１およびバッファ４を介して受信用クロック端子ＲＸｃｌｏｃｋ２に入力されたクロック信号φ０の立ち下がりエッジに同期して、受信データＲＸＤａｔａ２を出力することができる。
【００３９】
また、同時双方向入出力回路２は、クロックラインＣＬ１およびバッファ４を介して送信用クロック端子ＴＸｃｌｏｃｋ２に入力されたクロック信号φ０の立ち上がりエッジに同期して、送信データＴＸＤａｔａ２を取り込むことができる。また、同時双方向入出力回路１は、クロックラインＣＬ１、バッファ４、５およびクロックラインＣＬ２を介して受信用クロック端子ＲＸｃｌｏｃｋ２に入力されたクロック信号φ０の立ち下がりエッジに同期して、受信データＲＸＤａｔａ１を出力することができる。
【００４０】
これにより、送信データＴＸＤａｔａ１が同時双方向入出力回路１に取り込まれるタイミングと、受信データＲＸＤａｔａ２が同時双方向入出力回路２から出力されるタイミングとをずらすことが可能となるとともに、送信データＴＸＤａｔａ２が同時双方向入出力回路２に取り込まれるタイミングと、受信データＲＸＤａｔａ１が同時双方向入出力回路１から出力されるタイミングとをずらすことが可能となる。このため、同時双方向入出力回路１に取り込まれた送信データＴＸＤａｔａ１が同時双方向入出力回路２に伝送された後に、同時双方向入出力回路２から受信データＲＸＤａｔａ２を出力することが可能となるとともに、同時双方向入出力回路２に取り込まれた送信データＴＸＤａｔａ２が同時双方向入出力回路１に伝送された後に、同時双方向入出力回路１から受信データＲＸＤａｔａ１を出力することが可能となり、同時双方向入出力回路１と同時双方向入出力回路２との間でデータの送受信を同一のバスラインＩＦ１上で同時に行った場合においても、データ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させることが可能となる。
【００４１】
また、ＰＬＬ回路３にて生成されたクロック信号φ０に基づいて双方の同時双方向入出力回路１、２を駆動することにより、独立した別個のクロックを使用する必要がなくなる。このため、両者のクロック周期の最小公倍数を周期としてデータのエラーの発生確率が増えることを防止することが可能となり、全体のスループットの低下を抑制することができる。
【００４２】
なお、同時双方向入出力回路１は、送信用クロック端子ＴＸｃｌｏｃｋ１に入力されたクロック信号φ０の立ち下がりエッジに同期して、送信データＴＸＤａｔａ１を取り込むとともに、同時双方向入出力回路２は、クロックラインＣＬ１およびバッファ４を介して受信用クロック端子ＲＸｃｌｏｃｋ２に入力されたクロック信号φ０の立ち上がりエッジに同期して、受信データＲＸＤａｔａ２を出力するようにしてもよい。
【００４３】
また、同時双方向入出力回路２は、クロックラインＣＬ１およびバッファ４を介して送信用クロック端子ＴＸｃｌｏｃｋ２に入力されたクロック信号φ０の立ち下がりエッジに同期して、送信データＴＸＤａｔａ２を取り込むとともに、同時双方向入出力回路１は、クロックラインＣＬ１、バッファ４、５およびクロックラインＣＬ２を介して受信用クロック端子ＲＸｃｌｏｃｋ２に入力されたクロック信号φ０の立ち上がりエッジに同期して、受信データＲＸＤａｔａ１を出力するようにしてもよい。
【００４４】
また、上述した実施形態では、クロック信号φ０を生成するためにＰＬＬ回路３を用いる方法について説明したが、ＰＬＬ回路３以外にも、ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋ  Ｌｏｏｐ）回路などの周波数逓倍回路を用いるようにしてもよい。
図２は、図１の半導体集積回路のデータ転送方法を示すターミングチャートである。なお、ハッチング部分は、セットアップタイムとホールドタイムの制限によるエラーの発生する可能性のある領域を示す。
【００４５】
図２において、ＰＬＬ回路３にて生成されたクロック信号φ０は、伝播遅延をほとんど伴うことなく送信用クロック端子ＴＸｃｌｏｃｋ１に伝送され、（Ｋ１）の波形のクロック信号φ０が送信用クロック端子ＴＸｃｌｏｃｋ１に入力される。そして、送信用クロック端子ＴＸｃｌｏｃｋ１に入力されたクロック信号φ０の立ち上がりエッジに同期して、同時双方向入出力回路１に入力された送信データＴＸＤａｔａ１が同時双方向入出力回路１に取り込まれる。そして、同時双方向入出力回路１に取り込まれた送信データＴＸＤａｔａ１は、バスラインＩＦ１を介して同時双方向入出力回路２に伝送される。
【００４６】
また、ＰＬＬ回路３にて生成されたクロック信号φ０は、クロックラインＣＬ１およびバッファ４を介して送信用クロック端子ＴＸｃｌｏｃｋ２に伝送され、（Ｋ２）の波形のクロック信号φ０が送信用クロック端子ＴＸｃｌｏｃｋ２に入力される。そして、送信用クロック端子ＴＸｃｌｏｃｋ２に入力されたクロック信号φ０の立ち上がりエッジに同期して、同時双方向入出力回路２に入力された送信データＴＸＤａｔａ２が同時双方向入出力回路２に取り込まれる。そして、同時双方向入出力回路２に取り込まれた送信データＴＸＤａｔａ２は、バスラインＩＦ１を介して同時双方向入出力回路１に伝送される。
【００４７】
ここで、クロックラインＣＬ１およびバッファ４による信号の伝播遅延を、バスラインＩＦ１を介して同時双方向入出力回路１から同時双方向入出力回路２に送信データＴＸＤａｔａ１が伝送されるときの伝播遅延に対応させることができる。
これにより、第１ＣＰＵから送信される送信データＴＸＤａｔａ１の送信タイミングと、第２ＣＰＵが受信データＲＸＤａｔａ２として受信する受信タイミングが両者の伝播遅延の影響を受けないようにすることが可能となる。このため、送信用クロック端子ＴＸｃｌｏｃｋ１に入力されるクロック信号φ０によって規定されるセットアップタイムおよびホールドタイムと、受信用クロック端子ＲＸｃｌｏｃｋ２に入力されるクロック信号φ０によって規定されるセットアップタイムおよびホールドタイムによるタイミングエラーが発生する危険性を回避することが可能となる。
【００４８】
また、ＰＬＬ回路３にて生成されたクロック信号φ０は、クロックラインＣＬ１およびバッファ４を介して受信用クロック端子ＲＸｃｌｏｃｋ２に伝送され、（Ｋ２）の波形のクロック信号φ０が受信用クロック端子ＲＸｃｌｏｃｋ２に入力される。そして、受信用クロック端子ＲＸｃｌｏｃｋ２に入力されたクロック信号φ０の立ち下がりエッジに同期して、受信データＲＸＤａｔａ２が同時双方向入出力回路２から出力される。
【００４９】
また、ＰＬＬ回路３にて生成されたクロック信号φ０は、クロックラインＣＬ１、バッファ４、５およびクロックラインＣＬ２を介して受信用クロック端子ＲＸｃｌｏｃｋ１に伝送され、（Ｋ３）の波形のクロック信号φ０が受信用クロック端子ＲＸｃｌｏｃｋ１に入力される。そして、受信用クロック端子ＲＸｃｌｏｃｋ１に入力されたクロック信号φ０の立ち下がりエッジに同期して、受信データＲＸＤａｔａ１が同時双方向入出力回路１から出力される。
【００５０】
ここで、クロック信号φ０の立ち上がりエッジと立ち下がりエッジに同期して、同時双方向入出力回路１による送信データＴＸＤａｔａ１の取り込みと、同時双方向入出力回路２による受信データＲＸＤａｔａ２の出力とを交互に行うことにより、同時双方向入出力回路１に送信データＴＸＤａｔａ１が取り込まれるタイミングと、同時双方向入出力回路２から受信データＲＸＤａｔａ２が出力されるタイミングとをずらすことが可能となる。このため、同時双方向入出力回路１に取り込まれた送信データＴＸＤａｔａ１が同時双方向入出力回路２に伝送されてから、同時双方向入出力回路２から受信データＲＸＤａｔａ２を出力することが可能となり、データ伝送時のデータエラーの発生を抑制することができる。
【００５１】
また、クロックラインＣＬ１、バッファ４、５およびクロックラインＣＬ２を介してクロック信号φ０を受信用クロック端子ＲＸｃｌｏｃｋ１に伝送することにより、同時双方向入出力回路２から同時双方向入出力回路１に送信データＴＸＤａｔａ２が送信される時の遅延分だけ受信用クロック端子ＲＸｃｌｏｃｋ１に入力されるクロック信号φ０を遅延させることが可能となる。このため、同時双方向入出力回路１、２間をデータが伝送するためにかかる時間分だけ、受信用クロック端子ＲＸｃｌｏｃｋ１に入力されるクロック信号φ０の立ち上がりが早くなることを防止することができ、双方のＣＰＵでデータを確実に取り込むために必要なセットアップタイムとホールドタイムの規定を満たすようにすることが可能となる。
【００５２】
図３は、本発明の第２実施形態に係る半導体集積回路の構成を示すブロック図である。
図３において、第１ＣＰＵ側には同時双方向入出力回路１１が配置され、第２ＣＰＵ側には同時双方向入出力回路１２が配置されている。そして、同時双方向入出力回路１１と同時双方向入出力回路１２とはバスラインＩＦ２を介して接続されている。
ここで、同時双方向入出力回路１１には、送信データＴＸＤａｔａ１１を取り込むためのタイミングを指示する送信用クロック端子ＴＸｃｌｏｃｋ１１が設けられるとともに、受信データＲＸＤａｔａ１１を出力するためのタイミングを指示する受信用クロック端子ＲＸｃｌｏｃｋ１１が設けられている。また、同時双方向入出力回路１２には、送信データＴＸＤａｔａ１２を取り込むためのタイミングを指示する送信用クロック端子ＴＸｃｌｏｃｋ１２が設けられるとともに、受信データＲＸＤａｔａ１２を出力するためのタイミングを指示する受信用クロック端子ＲＸｃｌｏｃｋ１２が設けられている。
【００５３】
また、基準信号ＥＸＴｃｌｏｃｋと帰還信号との比較結果に基づいて、互いに位相の異なるクロック信号φ１、φ２を生成するＰＬＬ回路１３が設けられている。ここで、ＰＬＬ回路１３にて生成されたクロック信号φ１は、同時双方向入出力回路１１の送信用クロック端子ＴＸｃｌｏｃｋ１１に入力される。また、ＰＬＬ回路１３にて生成されたクロック信号φ１は、クロックラインＣＬ１１およびバッファ１４を介して、同時双方向入出力回路１２の送信用クロック端子ＲＸｃｌｏｃｋ１２に入力される。また、ＰＬＬ回路１３にて生成されたクロック信号φ１は、クロックラインＣＬ１１、バッファ１４、１６およびクロックラインＣＬ１３を介して、ＰＬＬ回路１３に帰還される。
【００５４】
また、ＰＬＬ回路１３にて生成されたクロック信号φ２は、クロックラインＣＬ１２およびバッファ１５を介して、同時双方向入出力回路１２の送信用クロック端子ＴＸｃｌｏｃｋ１２に入力される。また、ＰＬＬ回路１３にて生成されたクロック信号φ２は、クロックラインＣＬ１２、バッファ１５、１７およびクロックラインＣＬ１４を介して、同時双方向入出力回路１１の送信用クロック端子ＲＸｃｌｏｃｋ１１に入力される。
【００５５】
なお、クロックラインＣＬ１１およびバッファ１４による信号の伝播遅延は、バスラインＩＦ２を介して同時双方向入出力回路１１から同時双方向入出力回路１２に信号を伝送するために必要な時間に対応させることができる。また、クロックラインＣＬ１２およびバッファ１５による信号の伝播遅延は、バスラインＩＦ２を介して同時双方向入出力回路１１から同時双方向入出力回路１２に信号を伝送するために必要な時間に対応させることができる。
【００５６】
また、クロックラインＣＬ１３およびバッファ１６による信号の伝播遅延は、バスラインＩＦ２を介して同時双方向入出力回路１２から同時双方向入出力回路１１に信号を伝送するために必要な時間に対応させることができる。また、クロックラインＣＬ１４およびバッファ１７による信号の伝播遅延は、バスラインＩＦ２を介して同時双方向入出力回路１２から同時双方向入出力回路１１に信号を伝送するために必要な時間に対応させることができる。
【００５７】
そして、同時双方向入出力回路１１に入力された送信データＴＸＤａｔａ１１は、送信用クロック端子ＴＸｃｌｏｃｋ１１に入力されたクロック信号φ１に同期して、同時双方向入出力回路１１に取り込まれる（Ｋ１１）。そして、同時双方向入出力回路１１に取り込まれた送信データＴＸＤａｔａ１１は、バスラインＩＦ２を介して同時双方向入出力回路１２に伝送される。
【００５８】
また、同時双方向入出力回路１２に入力された送信データＴＸＤａｔａ１２は、クロックラインＣＬ１４およびバッファ１５を介して送信用クロック端子ＴＸｃｌｏｃｋ１２に入力されたクロック信号φ２に同期して、同時双方向入出力回路１２に取り込まれる（Ｋ１５）。そして、同時双方向入出力回路１２に取り込まれた送信データＴＸＤａｔａ１２は、バスラインＩＦ２を介して同時双方向入出力回路１１に伝送される。
【００５９】
そして、同時双方向入出力回路１１は、自分が現在送信している送信データＴＸＤａｔａ１１のレベルと、バスラインＩＦ２上の信号レベルとに基づいて、相手の同時双方向入出力回路１２が現在送信している送信データＴＸＤａｔａ１２のレベルを判定することができる。そして、同時双方向入出力回路１１は、クロックラインＣＬ１４、バッファ１５、１７およびクロックラインＣＬ１４を介して受信用クロック端子ＲＸｃｌｏｃｋ１１に入力されたクロック信号φ２に同期して、受信データＲＸＤａｔａ１１を出力する（Ｋ１６）。
【００６０】
また、同時双方向入出力回路１２は、自分が現在送信している送信データＴＸＤａｔａ１２のレベルと、バスラインＩＦ２上の信号レベルとに基づいて、相手の同時双方向入出力回路１１が現在送信している送信データＴＸＤａｔａ１１のレベルを判定することができる。そして、同時双方向入出力回路１２は、クロックラインＣＬ１１およびバッファ１４を介して受信用クロック端子ＲＸｃｌｏｃｋ１２に入力されたクロック信号φ１に同期して、受信データＲＸＤａｔａ１２を出力する（Ｋ１２）。
【００６１】
また、ＰＬＬ回路１３にて生成されたクロック信号φ１は、クロックラインＣＬ１１、バッファ１４、１６およびクロックラインＣＬ１３を介して、ＰＬＬ回路１３に帰還される（Ｋ１３）。
これにより、バスラインＩＦ２の長さにかかわらず、φ１とφ２の位相差はそのまま維持され、それぞれを各同時双方向入出力回路１１、１２に入力することが可能になる。
【００６２】
このため、同時双方向入出力回路１１、１２間の配線長による信号の伝播遅延がある場合においても、同時双方向入出力回路１２から同時双方向入出力回路１１に信号を送るタイミングと、同時双方向入出力回路１１から送られた信号を同時双方向入出力回路１２で受け取るタイミングとを一致させることが可能となる。この結果、同時双方向入出力回路１１、１２にてデータを確実に取り込むために必要なセットアップタイムとホールドタイムの規定を満たすことを可能としつつ、同時双方向入出力回路１１、１２間でデータの送受信を同一のバスラインＩＦ２上で同時に行うことが可能となり、同時双方向入出力回路１１、１２間におけるデータ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させることが可能となる。
【００６３】
また、同時双方向入出力回路１１は、送信用クロック端子ＴＸｃｌｏｃｋ１１に入力されたクロック信号φ１の立ち上がりエッジに同期して、送信データＴＸＤａｔａ１１を取り込むことができる。また、同時双方向入出力回路１２は、クロックラインＣＬ１１およびバッファ１４を介して受信用クロック端子ＲＸｃｌｏｃｋ１２に入力されたクロック信号φ１の立ち下がりエッジに同期して、受信データＲＸＤａｔａ１２を出力することができる。
【００６４】
また、同時双方向入出力回路１２は、クロックラインＣＬ１２およびバッファ１５を介して送信用クロック端子ＴＸｃｌｏｃｋ１２に入力されたクロック信号φ２の立ち上がりエッジに同期して、送信データＴＸＤａｔａ１２を取り込むことができる。また、同時双方向入出力回路１１は、クロックラインＣＬ１２、バッファ１５、１７およびクロックラインＣＬ１４を介して受信用クロック端子ＲＸｃｌｏｃｋ１２に入力されたクロック信号φ２の立ち下がりエッジに同期して、受信データＲＸＤａｔａ１１を出力することができる。
【００６５】
これにより、同時双方向入出力回路１１に送信データＴＸＤａｔａ１１が取り込まれるタイミングと、同時双方向入出力回路１２から受信データＲＸＤａｔａ１２が出力されるタイミングとをずらすことが可能となるとともに、同時双方向入出力回路１２に送信データＴＸＤａｔａ１２が取り込まれるタイミングと、同時双方向入出力回路１１から受信データＲＸＤａｔａ１１が出力されるタイミングとをずらすことが可能となる。
【００６６】
このため、同時双方向入出力回路１１に取り込まれた送信データＴＸＤａｔａ１１が同時双方向入出力回路１２に伝送された後に、同時双方向入出力回路１２から受信データＲＸＤａｔａ１２を出力することが可能となるとともに、同時双方向入出力回路１２に取り込まれた送信データＴＸＤａｔａ１２が同時双方向入出力回路１１に伝送された後に、同時双方向入出力回路１１から受信データＲＸＤａｔａ１１を出力することが可能となり、同時双方向入出力回路１１と同時双方向入出力回路１２との間でデータの送受信を同一のバスラインＩＦ２上で同時に行った場合においても、データ伝送時のデータエラーの発生を抑制しつつ、スループットを向上させることが可能となる。
【００６７】
なお、上述した実施形態では、位相が互いに異なるクロック信号φ１、φ２を生成するためにＰＬＬ回路１３を用いる方法について説明したが、ＰＬＬ回路１３以外にも、ＤＬＬ回路などの周波数逓倍回路を用いるようにしてもよい。
図４は、図３の半導体集積回路のデータ転送方法を示すターミングチャートである。なお、ハッチング部分は、セットアップタイムとホールドタイムの制限によるエラーの発生する可能性のある領域を示す。
【００６８】
図４において、ＰＬＬ回路１３にて生成されたクロック信号φ１は、伝播遅延をほとんど伴うことなく送信用クロック端子ＴＸｃｌｏｃｋ１１に伝送され、（Ｋ１１）の波形のクロック信号φ１が送信用クロック端子ＴＸｃｌｏｃｋ１に入力される。そして、送信用クロック端子ＴＸｃｌｏｃｋ１１に入力されたクロック信号φ１の立ち上がりエッジに同期して、同時双方向入出力回路１１に入力された送信データＴＸＤａｔａ１１が同時双方向入出力回路１１に取り込まれる。そして、同時双方向入出力回路１１に取り込まれた送信データＴＸＤａｔａ１１は、バスラインＩＦ２を介して同時双方向入出力回路１２に伝送される。
【００６９】
また、ＰＬＬ回路１３にて生成されたクロック信号φ２は、クロックラインＣＬ１２およびバッファ１５を介して送信用クロック端子ＴＸｃｌｏｃｋ１２に伝送され、（Ｋ１５）の波形のクロック信号φ２が送信用クロック端子ＴＸｃｌｏｃｋ１２に入力される。そして、送信用クロック端子ＴＸｃｌｏｃｋ１２に入力されたクロック信号φ２の立ち上がりエッジに同期して、同時双方向入出力回路１２に入力された送信データＴＸＤａｔａ１２が同時双方向入出力回路１２に取り込まれる。そして、同時双方向入出力回路１２に取り込まれた送信データＴＸＤａｔａ１２は、バスラインＩＦ２を介して同時双方向入出力回路１１に伝送される。
【００７０】
ここで、バスラインＩＦ２を介して同時双方向入出力回路１１から同時双方向入出力回路１２に送信データＴＸＤａｔａ１１が伝送されるときの伝播遅延に対応させて、クロック信号φ１、φ２の位相差を設定することができる。これにより、同時双方向入出力回路１１から送信された送信データＴＸＤａｔａ１１を同時双方向入出力回路１２が受信する時のタイミングと、同時双方向入出力回路１２が送信データＴＸＤａｔａ１２を取り込むときのタイミングを一致させることができ、セットアップタイムとホールドタイムの規定を満たすことが可能となる。
【００７１】
また、ＰＬＬ回路１３にて生成されたクロック信号φ２は、クロックラインＣＬ１２およびバッファ１５を介して受信用クロック端子ＲＸｃｌｏｃｋ１２に伝送され、（Ｋ１５）の波形のクロック信号φ２が受信用クロック端子ＲＸｃｌｏｃｋ１２に入力される。そして、受信用クロック端子ＲＸｃｌｏｃｋ１２に入力されたクロック信号φ２の立ち下がりエッジに同期して、受信データＲＸＤａｔａ１２が同時双方向入出力回路１２から出力される。
【００７２】
また、ＰＬＬ回路１３にて生成されたクロック信号φ２は、クロックラインＣＬ１２、バッファ１５、１７およびクロックラインＣＬ１４を介して受信用クロック端子ＲＸｃｌｏｃｋ１１に伝送され、（Ｋ１６）の波形のクロック信号φ２が受信用クロック端子ＲＸｃｌｏｃｋ１１に入力される。そして、受信用クロック端子ＲＸｃｌｏｃｋ１１に入力されたクロック信号φ２の立ち下がりエッジに同期して、受信データＲＸＤａｔａ１１が同時双方向入出力回路１１から出力される。
【００７３】
ここで、クロック信号φ１の立ち上がりエッジと立ち下がりエッジに同期して、同時双方向入出力回路１１による送信データＴＸＤａｔａ１１の取り込みと、同時双方向入出力回路１２による受信データＲＸＤａｔａ１２の出力とを交互に行うことにより、同時双方向入出力回路１１に送信データＴＸＤａｔａ１１が取り込まれるタイミングと、同時双方向入出力回路１２から受信データＲＸＤａｔａ１２が出力されるタイミングとをずらすことが可能となる。このため、同時双方向入出力回路１１に取り込まれた送信データＴＸＤａｔａ１１が同時双方向入出力回路１２に伝送されてから、同時双方向入出力回路１２から受信データＲＸＤａｔａ１２を出力することが可能となり、データ伝送時のデータエラーの発生を抑制することができる。
【００７４】
また、クロック信号φ２の立ち上がりエッジと立ち下がりエッジに同期して、同時双方向入出力回路１２による送信データＴＸＤａｔａ１２の取り込みと、同時双方向入出力回路１１による受信データＲＸＤａｔａ１１の出力とを交互に行うことにより、同時双方向入出力回路１２に送信データＴＸＤａｔａ１２が取り込まれるタイミングと、同時双方向入出力回路１１から受信データＲＸＤａｔａ１１が出力されるタイミングとをずらすことが可能となる。このため、同時双方向入出力回路１２に取り込まれた送信データＴＸＤａｔａ１２が同時双方向入出力回路１１に伝送されてから、同時双方向入出力回路１１から受信データＲＸＤａｔａ１１を出力することが可能となり、データ伝送時のデータエラーの発生を抑制することができる。
【００７５】
図５は、図３のＰＬＬ回路１３の構成例を示すブロック図である。
図５において、ＰＬＬ回路１３には、位相比較器２１、チャージポンプ回路２２、ローパスフィルタ２３、電圧制御発振器２４および周波数分周器２５が設けられている。ここで、互いに位相の異なるクロック信号φ１、φ２が電圧制御発振器２４から出力される。そして、電圧制御発振器２４から出力されたクロック信号φ１は周波数分周器２５に入力され、周波数分周器２５にてクロック信号φ１が分周される。そして、周波数分周器２５にて分周された信号は位相比較器２１に入力され、位相比較器２１に入力された基準信号ＥＸＴｃｌｏｃｋと比較される。そして、位相比較器２１は、周波数分周器２５にて分周された信号と基準信号ＥＸＴｃｌｏｃｋとの位相のずれに対応して、ＵＰ信号またはＤｏｗｎ信号をチャージポンプ回路２２に出力する。そして、チャージポンプ回路２２は、ＵＰ信号が出力されると、コンデンサに電荷を充電し、Ｄｏｗｎ信号が出力されると、コンデンサに蓄積されている電荷を放電させる。そして、チャージポンプ回路２２は、コンデンサの電荷の蓄積量に対応した制御電圧Ｖｃを発生させ、ローパスフィルタ２３を介して電圧制御発振器２４に出力する。そして、電圧制御発振器２４は、制御電圧Ｖｃに応じてクロック信号φ１の周波数を変化させることにより、クロック信号φ１の周波数をロックさせることができる。
【００７６】
図６は、図５の電圧制御発振器２４の構成例を示す図である。
図６において、電圧制御発振器２４には、制御電圧Ｖｃに応じて遅延量を可変できる遅延素子３１〜３５が設けられている。そして、これらの遅延素子３１〜３５は、直列接続されるとともに、最後段の遅延素子３５の出力は、最前段の遅延素子３１に入力されることにより、リング発振器を構成している。ここで、例えば、遅延素子３３の出力をクロック信号φ１とし、遅延素子３５の出力をクロック信号φ２とすることにより、互いに位相の異なるクロック信号φ１、φ２をＰＬＬ回路１３から取り出すことができる。
【００７７】
なお、図６の例では、遅延素子３１〜３５を奇数個用いる方法について説明したが、相補型の遅延素子ならば遅延素子が偶数段でも構成することができる。また、上述した実施形態では、位相が互いに異なるクロック信号φ１、φ２を生成させるために、ＰＬＬ回路３を用いる方法について説明したが、ＰＬＬ回路３以外にも、ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋ  Ｌｏｏｐ）回路などの周波数逓倍回路を用いるようにしてもよい。
【図面の簡単な説明】
【００７８】
【図１】本発明の第１実施形態に係る半導体集積回路の構成を示すブロック図。
【図２】図１の半導体集積回路のデータ転送方法を示すターミングチャート。
【図３】本発明の第２実施形態に係る半導体集積回路の構成を示すブロック図。
【図４】図３の半導体集積回路のデータ転送方法を示すターミングチャート。
【図５】図３のＰＬＬ回路１３の構成例を示すブロック図。
【図６】図５の電圧制御発振器２４の構成例を示す図。
【図７】データ転送時のセットアップタイムとホールドタイムを示す図。
【符号の説明】
【００７９】
１、２、１１、１２  同時双方向入出力回路、３、１３  ＰＬＬ回路、４、５、１４、１５、１６、１７  バッファ、ＩＦ１、ＩＦ２  同時双方向入出力インターフェース、ＣＬ１、ＣＬ２、ＣＬ１１〜ＣＬ１４  クロックライン、２１  位相比較器、２２  チャージポンプ回路、２３  ローパスフィルタ、２４  電圧制御発振器、２５  周波数分周器、３１〜３５  遅延素子
【図１】
2006013596.tif 000003
【図２】
2006013596.tif 000004
【図３】
2006013596.tif 000005
【図４】
2006013596.tif 000006
【図５】
2006013596.tif 000007
【図６】
2006013596.tif 000008
【図７】
2006013596.tif 000009