(57)【要約】【課題】ＳＴＡ検証、及びテストパターンの作成を増大させることなく検証可能な、送信側ブロックと受信側ブロックとの間での、データ送信およびデータ受信ができる非同期インターフェース回路を提供する。【解決手段】マスタクロック信号をそれぞれ有する送信側ブロックと受信側ブロックとの間の非同期インターフェース回路であって、送信側ブロックと受信側ブロックとのうち一方のブロックが、他方のブロックのマスタクロック信号を受信し、該受信したマスタクロック信号の立ち上りまたは立ち下りから、一方のブロックのマスタクロック信号に基いてカウントした値が、予め定められている値と一致する場合に、一方のブロックのマスタクロック信号をマスクして一方のブロックに供給するクロック生成回路を有する。【選択図】図１
2010021950.tif 000002
【特許請求の範囲】
【請求項１】
マスタクロック信号をそれぞれ有する送信側ブロックと受信側ブロックとの間の非同期インターフェース回路であって、
前記送信側ブロックと受信側ブロックとのうち一方のブロックが、
他方のブロックのマスタクロック信号を受信し、該受信したマスタクロック信号の立ち上りまたは立ち下りから、前記一方のブロックのマスタクロック信号に基いてカウントした値が、予め定められている値と一致する場合に、前記一方のブロックのマスタクロック信号をマスクして前記一方のブロックに供給するクロック生成回路、
を有していることを特徴とする非同期インターフェース回路。
【請求項２】
前記一方のブロックが受信側ブロックである場合には、
前記送信側ブロックが、
前記送信側ブロックのマスタクロック信号に同期して送信データを送信するとともに、前記送信側ブロックのマスタクロック信号に同期して動作し、
前記受信側ブロックが、
前記クロック生成回路がマスクしたマスタクロック信号に同期して前記送信側ブロックからの送信データを受信するとともに、前記クロック生成回路がマスクしたマスタクロック信号に同期して動作する、
ことを特徴とする請求項１に記載の非同期インターフェース回路。
【請求項３】
前記一方のブロックが送信側ブロックである場合には、
前記送信側ブロックが、
前記クロック生成回路がマスクしたマスタクロック信号に同期して送信データを送信するとともに、前記クロック生成回路がマスクしたマスタクロック信号に同期して動作し、
前記受信側ブロックが、
前記受信側ブロックのマスタクロック信号に同期して前記送信側ブロックからの送信データを受信するとともに、前記受信側ブロックのマスタクロック信号に同期して動作する、
ことを特徴とする請求項１に記載の非同期インターフェース回路。
【請求項４】
前記クロック生成回路が、
前記他方のブロックのマスタクロック信号を受信し、該受信したマスタクロック信号の立ち上りを検出する立ち上り検出回路と、
前記立ち上り検出回路が検出した立ち上りに基づいて、前記一方のブロックのマスタクロック信号に基いてカウントし、該カウントした値が予め定められている値と一致する場合にマスク信号を出力するマスク信号出力回路と、
前記マスク信号発生回路が出力するマスク信号に基づいて、前記一方のブロックのマスタクロック信号をマスクして前記一方のブロックに供給するマスク回路と、
を有していることを特徴とする請求項１から請求項３のいずれかに記載の非同期インターフェース回路。
【請求項５】
前記クロック生成回路が、
前記他方のブロックのマスタクロック信号を受信し、該受信したマスタクロック信号と位相同期した信号を位相同期信号として生成する位相同期回路と、
前記位相同期回路が生成した位相同期信号のＨｉｇｈレベルである期間に応じて、前記一方のブロックのマスタクロック信号に基いてカウントし、該カウントした値が予め定められている値と一致する場合にマスク信号を出力するマスク信号出力回路と、
前記マスク信号発生回路が出力するマスク信号に基づいて、前記一方のブロックのマスタクロック信号をマスクして前記一方のブロックに供給するマスク回路と、
を有していることを特徴とする請求項１から請求項３のいずれかに記載の非同期インターフェース回路。
【請求項６】
マスタクロック信号をそれぞれ有する送信側ブロックと受信側ブロックとの間の非同期インターフェース回路において用いられる非同期インターフェース方法であって、
前記送信側ブロックと受信側ブロックとのうち一方のブロックが、
他方のブロックのマスタクロック信号を受信し、該受信したマスタクロック信号の立ち上りまたは立ち下りから、前記一方のブロックのマスタクロック信号に基いてカウントした値が、予め定められている値と一致する場合に、前記一方のブロックのマスタクロック信号をマスクして前記一方のブロックに供給する、
ことを特徴とする非同期インターフェース方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非同期インターフェース回路に関し、特に、それぞれが独立した同期回路として動作する送信側ブロックと受信側ブロックとの間の非同期インターフェース回路に関する。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integration）などの半導体装置の開発において、送信側ブロックと受信側ブロックとが、それぞれ独立したクロック信号で動作し、この送信側ブロックから受信側ブロックにデータが非同期転送される場合には、たとえば、図５に示すような非同期インターフェース回路を用いて設計する技術が知られている。
【０００３】
まず、送信側ブロックと受信側ブロックとの回路構成を、次の（Ａ１）から（Ａ４）に示すように設計する。
（Ａ１）送信側ブロックと受信側ブロックとの間に、イネーブル信号線を１本設ける。
（Ａ２）送信側ブロックは、フリップフロップ回路２０１０とフリップフロップ回路２０１１とで、送信側クロックに基いて、送信データを送信し、イネーブル信号を送信するようにする。
（Ａ３）受信側ブロックにおいて、イネーブル信号線を介して送信側ブロックから受信したイネーブル信号を、フリップフロップ回路１０１０とフリップフロップ回路１０１１との２段のフリップフロップ回路で、受信側クロックに基いて、２段打ちして受信するようにする。これは、メタステーブル対策である。
（Ａ４）送信側ブロックにおいて、２段打ちして受信したイネーブル信号に基いて、フリップフロップ回路１０１２（ＦＦ１０１２）で、送信データを取り込むようにする。
【０００４】
なお、図６は、図５の非同期インターフェース回路のシーケンス図である。このような非同期インターフェース回路に関する技術として、たとえば、特許文献１による技術が知られている。
【特許文献１】特開２００２−２１５５６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に示す非同期インターフェース回路にあっては、次のような問題がある。送信側ブロックと受信側ブロックとの回路構成を設計した後、設計者は、次の（Ｂ１）から（Ｂ２）に示すような検証を行う必要がある。
【０００６】
（Ｂ１）レイアウト、及び、ＳＴＡ（Static Timing Analysis）検証において、取り込む送信データと２段打ちして受信したイネーブル信号との関係において、フリップフロップ回路１０１２が、確実にセットアップ時間およびホールド時間の条件を満たしていることを検証する必要がある。
（Ｂ２）また、設計時に、非同期インターフェースごとに、上記の詳細設計を行う必要がある。
【０００７】
ここで、送信側ブロックと受信側ブロックとが、互いに同期したクロック信号で動作し、送信側ブロックから送信されたデータが受信側ブロックに同期転送される場合には、上記のような設計上のケアが不要である。しかしながら、非同期インターフェースとなる箇所が多いと、上記のような設計上のケアの工数が増大するという問題がある。
【０００８】
また、出荷試験の為のテストパターン作成においても、最大遅延時間と最小遅延時間とで、データの送受信のタイミングが１サイクルずれる可能性がある。そのため、特に、非同期インターフェース箇所が複数個所あると、テストパターンを作成する工数が増大するという問題がある。また、末端のフリップフロップ回路でのクロックパスは、遅延が大きくなり、クロックツリーでスキューを合わせる必要が生じる可能性がある。テストパターンでは、このようなクロックツリーでスキューを合わせるためのテストパターンも作成する必要が生じ、その工数が増大するという問題がある。
【０００９】
本発明は、このような事情に鑑みてなされたもので、その目的は、ＳＴＡ検証、及びテストパターンの作成を増大させることなく検証可能な、送信側ブロックと受信側ブロックとの間での、データ送信およびデータ受信ができる非同期インターフェース回路および非同期インターフェース方法を提供することにある。
【課題を解決するための手段】
【００１０】
この発明は上述した課題を解決するためになされたもので、請求項１に記載の発明は、マスタクロック信号をそれぞれ有する送信側ブロックと受信側ブロックとの間の非同期インターフェース回路であって、前記送信側ブロックと受信側ブロックとのうち一方のブロックが、他方のブロックのマスタクロック信号を受信し、該受信したマスタクロック信号の立ち上りまたは立ち下りから、前記一方のブロックのマスタクロック信号に基いてカウントした値が、予め定められている値と一致する場合に、前記一方のブロックのマスタクロック信号をマスクして前記一方のブロックに供給するクロック生成回路、を有していることを特徴とする非同期インターフェース回路である。
【００１１】
請求項２に記載の発明は、前記一方のブロックが受信側ブロックである場合には、前記送信側ブロックが、前記送信側ブロックのマスタクロック信号に同期して送信データを送信するとともに、前記送信側ブロックのマスタクロック信号に同期して動作し、前記受信側ブロックが、前記クロック生成回路がマスクしたマスタクロック信号に同期して前記送信側ブロックからの送信データを受信するとともに、前記クロック生成回路がマスクしたマスタクロック信号に同期して動作する、ことを特徴とする請求項１に記載の非同期インターフェース回路である。
【００１２】
請求項３に記載の発明は、前記一方のブロックが送信側ブロックである場合には、前記送信側ブロックが、前記クロック生成回路がマスクしたマスタクロック信号に同期して送信データを送信するとともに、前記クロック生成回路がマスクしたマスタクロック信号に同期して動作し、前記受信側ブロックが、前記受信側ブロックのマスタクロック信号に同期して前記送信側ブロックからの送信データを受信するとともに、前記受信側ブロックのマスタクロック信号に同期して動作する、ことを特徴とする請求項１に記載の非同期インターフェース回路である。
【００１３】
請求項４に記載の発明は、前記クロック生成回路が、前記他方のブロックのマスタクロック信号を受信し、該受信したマスタクロック信号の立ち上りを検出する立ち上り検出回路と、前記立ち上り検出回路が検出した立ち上りに基づいて、前記一方のブロックのマスタクロック信号に基いてカウントし、該カウントした値が予め定められている値と一致する場合にマスク信号を出力するマスク信号出力回路と、前記マスク信号発生回路が出力するマスク信号に基づいて、前記一方のブロックのマスタクロック信号をマスクして前記一方のブロックに供給するマスク回路と、を有していることを特徴とする請求項１から請求項３のいずれかに記載の非同期インターフェース回路である。
【００１４】
請求項５に記載の発明は、前記クロック生成回路が、前記他方のブロックのマスタクロック信号を受信し、該受信したマスタクロック信号と位相同期した信号を位相同期信号として生成する位相同期回路と、前記位相同期回路が生成した位相同期信号のＨｉｇｈレベルである期間に応じて、前記一方のブロックのマスタクロック信号に基いてカウントし、該カウントした値が予め定められている値と一致する場合にマスク信号を出力するマスク信号出力回路と、前記マスク信号発生回路が出力するマスク信号に基づいて、前記一方のブロックのマスタクロック信号をマスクして前記一方のブロックに供給するマスク回路と、を有していることを特徴とする請求項１から請求項３のいずれかに記載の非同期インターフェース回路である。
【００１５】
請求項６に記載の発明は、マスタクロック信号をそれぞれ有する送信側ブロックと受信側ブロックとの間の非同期インターフェース回路において用いられる非同期インターフェース方法であって、前記送信側ブロックと受信側ブロックとのうち一方のブロックが、他方のブロックのマスタクロック信号を受信し、該受信したマスタクロック信号の立ち上りまたは立ち下りから、前記一方のブロックのマスタクロック信号に基いてカウントした値が、予め定められている値と一致する場合に、前記一方のブロックのマスタクロック信号をマスクして前記一方のブロックに供給する、ことを特徴とする非同期インターフェース方法である。
【発明の効果】
【００１６】
この発明によれば、マスタクロック信号をそれぞれ有する送信側ブロックと受信側ブロックとの間の非同期インターフェース回路において、送信側ブロックと受信側ブロックとのうち一方のブロックが、他方のブロックのマスタクロック信号を受信し、該受信したマスタクロック信号の立ち上りまたは立ち下りから、一方のブロックのマスタクロック信号に基いてカウントした値が、予め定められている値と一致する場合に、一方のブロックのマスタクロック信号をマスクして一方のブロックに供給する。
【００１７】
そのため、この非同期インターフェース回路によれば、メタステーブルが発生するようなタイミング、または、セットアップ時間およびホールド時間が満たされないようなタイミングで、受信側ブロックが送信側ブロックからの送信データを取り込むことがない。または、受信側で、メタステーブルが発生するようなタイミング、または、セットアップ時間およびホールド時間が満たされないようなタイミングで、送信側ブロックが受信側ブロックに送信データを送信しない。
【００１８】
よって、メタステーブルが発生しないように、かつ、セットアップ時間およびホールド時間が満たされているようにして、それぞれのマスタクロック信号を有する送信側ブロックと受信側ブロックとの間で、送信データの送信および受信ができる。また、送信側ブロックと受信側ブロックとは、それぞれのマスタクロック信号に同期して、同期回路として動作している。そのため、それぞれのブロックの検証などは、同期回路として検証可能である。よって、ＳＴＡ検証、及びテストパターンの作成なども、増大することなく、検証可能となる。
【発明を実施するための最良の形態】
【００１９】
＜第１の実施形態＞
以下、図面を参照して、本発明の実施の形態について説明する。図１は、この発明の第１の実施形態による非同期インターフェース回路１の構成を示す概略ブロック図である。この非同期インターフェース回路１は、送信側ブロックと受信側ブロックとの間の非同期インターフェースに用いられる回路である。この送信側ブロックと受信側ブロックとは、それぞれのマスタクロック信号を有している。ここでは、受信側ブロックが、この非同期インターフェース回路１を有する場合について説明する。なお、ここでは、送信側ブロックでの同期処理に用いられているマスタクロック信号より、受信側ブロックでの同期処理に用いられているマスタクロック信号の方が、早いものとして説明する。
【００２０】
非同期インターフェース回路１は、送信側ブロックのマスタクロック信号を受信し、この受信したマスタクロック信号の立ち上りまたは立ち下りから、受信側ブロックのマスタクロック信号に基いてカウントした値が、予め定められている値と一致する場合に、受信側ブロックのマスタクロック信号をマスクして受信側ブロックに供給するクロック生成回路２を有している。
【００２１】
このクロック生成回路２は、立ち上り検出回路１０と、マスク信号出力回路２０と、マスク回路３０とを有している。立ち上り検出回路１０は、送信側ブロックのマスタクロック信号を受信し、該受信したマスタクロック信号の立ち上りを検出する。マスク信号出力回路２０は、立ち上り検出回路１０が検出した立ち上りに基づいて、受信側ブロックのマスタクロック信号に基いてカウントし、該カウントした値が予め定められている値と一致する場合にマスク信号を出力する。マスク回路３０は、マスク信号出力回路２０が出力するマスク信号に基づいて、受信側ブロックのマスタクロック信号をマスクして受信側ブロックに供給する。
【００２２】
そして、送信側ブロックは、送信側ブロックのマスタクロック信号に同期して送信データを送信するとともに、送信側ブロックのマスタクロック信号に同期して動作する。たとえば、送信側ブロックにおいて、送信データを生成する前段回路が、送信側ブロックのマスタクロック信号に同期して動作する。また、この前段回路が生成した送信データを、送信回路が、送信側ブロックのマスタクロック信号に同期して送信データを送信する。
【００２３】
また、受信側ブロックが、クロック生成回路２がマスクしたマスタクロック信号に同期して送信側ブロックからの送信データを受信するとともに、クロック生成回路２がマスクしたマスタクロック信号に同期して動作する。たとえば、受信側ブロックにおいて、受信回路が、クロック生成回路２がマスクしたマスタクロック信号に同期して送信側ブロックからの送信データを受信する。また、この受信回路が受信した送信データを、後段回路が、クロック生成回路２がマスクしたマスタクロック信号に同期して、信号処理などの動作を実行する。
【００２４】
次に、各構成の詳細について説明する。立ち上り検出回路１０は、複数段のフリップフロップ回路１００と、リセット信号出力回路２００と、を有している。複数段のフリップフロップ回路１００は、受信した送信側ブロックのマスタクロック信号を、受信側ブロックのマスタクロック信号に基いて順にラッチする。
【００２５】
たとえば、複数段のフリップフロップ回路１００の段数が３段の場合には、この複数段のフリップフロップ回路１００は、フリップフロップ回路１０１、１０２および１０３を有している。この各フリップフロップ回路は、受信側ブロックのマスタクロック信号の立ち上がりに応じて入力信号をラッチして、出力信号として出力する。フリップフロップ回路１０１の入力端子には、送信側ブロックのマスタクロック信号が入力されている。フリップフロップ回路１０１の出力は、フリップフロップ回路１０１の入力端子に入力されている。フリップフロップ回路１０２の出力は、フリップフロップ回路１０３の入力端子に入力されている。
【００２６】
このフリップフロップ回路１０１と１０２とは、送信側ブロックのマスタクロック信号を、受信側ブロックのマスタクロック信号で、２段打ちして入力するフリップフロップ回路である。そして、フリップフロップ回路１０３は、２段打ちして入力した送信側ブロックのマスタクロック信号について、その立ち上がりを検出するためのフリップフロップ回路である。
【００２７】
リセット信号出力回路２００は、複数段のフリップフロップ回路１００が出力する信号に基づいて、受信したマスタクロック信号の立ち上りを検出してリセット信号を出力する。たとえば、リセット信号出力回路２００は、論理回路２０１とインバータ回路２０２とを有している。この論理回路２０１は、たとえば、フリップフロップ回路１０２の出力を、インバータ回路２０２を介して一方の入力端子に入力し、フリップフロップ回路１０３の出力を他方の入力端子に入力する、ＯＲ回路である。
このリセット信号出力回路２００の論理回路２０１としてのＯＲ回路は、フリップフロップ回路１０２の出力がＨｉｇｈレベルとなり、すなわち、インバータ回路２０２を介して入力されるフリップフロップ回路１０２の出力がＬｏｗレベルとなり、かつ、フリップフロップ回路１０３の出力がＬｏｗレベルとなった場合に、Ｌｏｗレベルのリセット信号を出力する。
【００２８】
そして、上述したマスク信号出力回路２０は、立ち上り検出回路１０のリセット信号出力回路２００からリセット信号が入力されたことに応じて、受信側ブロックのマスタクロック信号に基いてカウントし、該カウントした値が予め定められている値と一致する場合にマスク信号を出力する。
【００２９】
このマスク信号出力回路２０は、たとえば、カウンタ部と、比較値記憶部と、比較部とを有している。カウンタ部は、立ち上り検出回路１０のリセット信号出力回路２００からリセット信号が入力されたことに応じて、受信側ブロックのマスタクロック信号に基いて、カウント値の値をリセットするとともに、カウントを開始する。比較値記憶部には、カウンタ部がカウントした値と比較する値が比較値として、予め記憶されている。比較部は、カウンタ部がカウントした値と、比較値記憶部から読み出した比較する値とを比較し、比較した結果が一致する場合に、マスク信号を出力する。
【００３０】
なお、比較値記憶部には、比較値として、複数の比較値、または、連続する複数の比較値が、予め記憶されていてもよい。この場合、比較部は、複数の比較値、または、連続する複数の比較値に応じた期間を有するマスク信号を出力することができる。なお、この比較値記憶部には、比較値として、後述するように、送信側ブロックからの送信データを、メタステーブルが発生するようなタイミング、または、セットアップ時間およびホールド時間を満たされないようなタイミングで、受信側ブロックの受信回路が、受信側マスタクロックの立ち上がりに同期して取り込まない値が、予め記憶されている。
【００３１】
次に、図２を用いて、第１の実施形態による非同期インターフェース回路１の動作について説明する。まず、時刻ｔ１において、送信側マスタクロックが立ち下がる。ここでは、マスク信号出力回路２０はマスク信号を出力していない。すなわち、マスク信号出力回路２０はＬｏｗレベルのマスク信号を出力している。よって、マスク回路３０は、受信側マスタクロックをマスクすることなく、受信側クロックとして、受信側ブロックに供給している。
【００３２】
その後、時刻ｔ３で、マスク信号出力回路２０において、カウントした値が予め定められている値と一致し、マスク信号をマスク回路３０に出力する。すなわち、マスク信号出力回路２０は、Ｈｉｇｈレベルのマスク信号を出力する。マスク回路３０は、マスク信号出力回路２０から入力されたマスク信号に応じて、受信側マスタクロックをマスクし、このマスクした受信側マスタクロックを受信側クロックとして、受信側ブロックに供給する。そのため、時刻ｔ５から時刻ｔ６の期間、および、時刻ｔ７から時刻ｔ８の期間では、受信側マスタクロックのＨｉｇｈパルスは、マスク回路３０により、マスクされている。なお、この時刻ｔ３で一致したマスク信号出力回路２０のカウントは、たとえば、この図２に示しているシーケンスの直前に、送信側マスタクロックの立ち上がりからカウントされたものである。
【００３３】
その後、時刻ｔ６で、送信側マスタクロックが立ち上がる。送信側ブロックは、時刻ｔ６の送信側マスタクロックが立ち上がりに応じて、送信データを送信する。そのため、たとえば、時刻ｔ６の送信側マスタクロックが立ち上がりから所定の遅延時間が経過した後、送信側ブロックからの送信データが、受信側ブロックに入力される。たとえば、時刻ｔ７前後で、送信側ブロックからの送信データが、受信側ブロックの受信回路に入力される。
【００３４】
ここで、時刻ｔ５または時刻ｔ７において、受信側ブロックでは、マスク回路３０が、マスクした受信側マスタクロックを受信側クロックとして、受信側ブロックに供給している。そのため、時刻ｔ５または時刻ｔ７においては、受信側ブロックの受信回路では、送信側ブロックからの送信データを、取り込まない。
【００３５】
その後、時刻ｔ７で、マスク信号出力回路２０が、マスク信号をマスク回路３０に出力しなくなる。すなわち、時刻ｔ７で、マスク信号出力回路２０は、Ｌｏｗレベルのマスク信号を出力する。マスク回路３０は、マスク信号出力回路２０から入力されたマスク信号に応じて、受信側マスタクロックをマスクせず、このマスクしない受信側マスタクロックを受信側クロックとして、受信側ブロックに供給する。
【００３６】
次に、マスクしない受信側マスタクロックを受信側クロックとして供給された受信側ブロックの受信回路は、時刻ｔ９の受信側クロックの立ち上がりに応じて、入力されていた送信データを取り込み受信する。その後、この受信回路が受信した送信データを、後段回路が、クロック生成回路２がマスクしたマスタクロック信号に同期して、信号処理などの動作を実行する。
【００３７】
なお、時刻ｔ７の、受信側マスタクロックの立ち上がりに応じて、立ち上り検出回路１０は、受信した送信側マスタクロックの立ち上がりを検出して、リセット信号をマスク信号出力回路２０に出力する。リセット信号が入力されたマスク信号出力回路２０は、カウンタの値をリセットするとともに、受信側マスタクロックの立ち上がりに応じて、カウントを開始する。このカウントは、マスク信号出力回路２０で、後の時刻ｔ１３および時刻ｔ１５のマスク信号の生成に用いられる。
【００３８】
上記に説明したように、この第１の実施形態による非同期インターフェース回路１は、受信ブロックにおいて、時刻ｔ５や時刻ｔ７のような、送信側ブロックからの送信データが入力され、メタステーブルが発生するようなタイミング、または、セットアップ時間およびホールド時間を満たされないようなタイミングにおいて、受信側マスタクロックの立ち上がりに同期して、この送信データを取り込んで受信することがない。これは、受信側ブロックにおいては、受信側ブロックの受信回路に送信データが入力される時刻ｔ５からｔ７においては、この受信回路には、クロック生成回路２によりマスクされた受信側マスタクロックが受信側クロックとして入力されているためである。
【００３９】
そして、受信ブロックにおいて、送信データに対して、メタステーブルが発生しないようなタイミング、かつ、セットアップ時間およびホールド時間が満たされているタイミングにおいて（たとえば、時刻ｔ９において）、クロック生成回路２から供給された受信側クロックの立ち上がりに応じて、すなわち受信側クロックに同期して、受信回路が入力された送信データを取り込んで受信する。
【００４０】
よって、この非同期インターフェース回路１によれば、メタステーブルが発生しないように、かつ、セットアップ時間およびホールド時間が満たされているようにして、それぞれのマスタクロック信号に同期して動作している送信側ブロックと受信側ブロックとの間で、送信データの送信および受信ができる。
【００４１】
また、送信側ブロックと受信側ブロックとは、それぞれのマスタクロック信号に同期して、同期回路として動作している。また、マスク回路３０がマスクする期間は、ＳＴＡ検証において、送信側ブロックと受信側ブロックとのインターフェースが、同期インターフェースとして扱えるように十分か期間のマージンを有するようにしておく。これにより、それぞれのブロックは、同期回路として検証可能である。よって、テストパターンの作成なども、非同期回路の検証の場合にように増大することなく、検証可能となる。
【００４２】
また、非同期動作の検証については、このクロック生成回路２などの非同期インターフェース回路１の部分のみについて、検証すればよい。そのため、送信側ブロックと受信側ブロックとの全体の検証において、非同期動作の検証は、容易となる。
【００４３】
上記の説明においては、受信側ブロックが非同期インターフェース回路１を有している場合について説明したが、送信側ブロックが非同期インターフェース回路１を有していてもよい。この場合、受信側ブロックでの同期処理に用いられているマスタクロック信号より、送信側ブロックでの同期処理に用いられているマスタクロック信号の方が、早いものとする。そして、この場合、クロック生成回路２は、受信側ブロックのマスタクロック信号を受信し、該受信したマスタクロック信号の立ち上りまたは立ち下りから、送信側ブロックのマスタクロック信号に基いてカウントした値が、予め定められている値と一致する場合に、送信側ブロックのマスタクロック信号をマスクして送信側ブロックに供給する。
【００４４】
また、この場合には、送信側ブロックが、クロック生成回路２がマスクしたマスタクロック信号に同期して送信データを送信するとともに、クロック生成回路２がマスクしたマスタクロック信号に同期して動作する。また、受信側ブロックが、受信側ブロックのマスタクロック信号に同期して送信側ブロックからの送信データを受信するとともに、受信側ブロックのマスタクロック信号に同期して動作する。
【００４５】
なお、上記に説明した第１の実施形態においては、受信側ブロックでの同期処理に用いられているマスタクロック信号と、送信側ブロックでの同期処理に用いられているマスタクロック信号とで、周波数の早いマスタクロック信号を有するブロックが、非同期インターフェース回路１を有するようにする。これは、早い周波数のマスタクロック信号で動作するクロック生成回路２であれば、受信した遅い周波数のマスタクロック信号の立ち上りまたは立ち下りから、早い周波数のマスタクロック信号でカウントすることが可能であるからである。また、これにより、マスク信号の生成などが可能となるからである。
【００４６】
なお、クロック生成回路２は、マスタクロック信号を予め定められている倍率で倍周するＰＬＬ（Phase-Locked Loop）回路を有していてもよい。ここでは、受信側ブロックが、クロック生成回路２を有している場合について説明する。この場合、ＰＬＬ回路は、受信側ブロックのマスタクロック信号を予め定められている倍率で倍周する。
【００４７】
クロック生成回路２がＰＬＬ回路を有していない場合には、上記に説明したように、クロック生成回路２は、送信側ブロックのマスタクロック信号を受信し、この受信したマスタクロック信号の立ち上りまたは立ち下りから、受信側ブロックのマスタクロック信号に基いてカウントした値が、予め定められている値と一致する場合に、受信側ブロックのマスタクロック信号をマスクして受信側ブロックに供給していた。
【００４８】
これに対して、クロック生成回路２がＰＬＬ回路を有している場合には、クロック生成回路２は、送信側ブロックのマスタクロック信号を受信し、この受信したマスタクロック信号の立ち上りまたは立ち下りから、ＰＬＬ回路が倍周した受信側ブロックのマスタクロック信号に基いてカウントした値が、予め定められている値と一致する場合に、受信側ブロックのマスタクロック信号をマスクして受信側ブロックに供給する。具体的には、立ち上り検出回路１０とマスク信号出力回路２０とが、受信側ブロックのマスタクロック信号に基いて動作することに代わって、ＰＬＬ回路が倍周した受信側ブロックのマスタクロック信号に基いて動作する。
【００４９】
このＰＬＬ回路を有するクロック生成回路２は、送信側ブロックと受信側ブロックとのマスタクロック信号の周波数が同じ場合、または、ほぼ同じ場合でも、この受信したマスタクロック信号の立ち上りまたは立ち下りからカウントすることができる。
【００５０】
そのため、このＰＬＬ回路を有するクロック生成回路２は、送信側ブロックと受信側ブロックとで一方のマスタクロック信号の周波数が早い場合のクロック生成回路２と同様に、メタステーブルが発生しないように、かつ、セットアップ時間およびホールド時間が満たされているようにして、それぞれのマスタクロック信号を有する送信側ブロックと受信側ブロックとの間で、送信データの送信および受信ができる。
【００５１】
なお、ここでは、受信側ブロックがクロック生成回路２を有している場合について説明したが、送信側ブロックがクロック生成回路２を有していても良い。この場合には、ＰＬＬ回路は、送信側ブロックのマスタクロック信号を予め定められている倍率で倍周する。なお、クロック生成回路２は、受信側ブロックがクロック生成回路２を有している場合と同様である。
【００５２】
＜第２の実施形態＞
次に、図３と図４とを用いて、第２の実施形態について説明する。なお、ここでは、受信側ブロックが、非同期インターフェース回路３を有している場合について説明する。
【００５３】
この第２の実施形態によるクロック生成回路４は、位相同期回路１１と、マスク信号出力回路２１と、マスク回路３０とを有している。位相同期回路１１は、送信側ブロックのマスタクロック信号を受信し、該受信したマスタクロック信号と位相同期した信号を位相同期信号として生成する。
【００５４】
マスク信号出力回路２１は、位相同期回路１１が生成した位相同期信号のＨｉｇｈレベルである期間に応じて、受信側ブロックのマスタクロック信号に基いてカウントし、該カウントした値が予め定められている値と一致する場合に、マスク信号出力回路２０と同様に、マスク信号を出力する。マスク回路３１は、マスク信号出力回路２１が出力するマスク信号に基づいて、受信側ブロックのマスタクロック信号をマスクして受信側ブロックに、マスク回路３０と同様に、供給する。
【００５５】
次に、各構成の詳細について説明する。位相同期回路１１は、位相比較器１１１と、ループフィルタ回路１１２と、ＤＣＯ（digitally controlled oscillator）１１３と、分周器１１４と、を有している。位相比較器１１１の一方の入力端子には、送信側ブロックのマスタクロック信号が入力され、位相比較器１１１の他方の端子には、分周器１１４で生成された位相同期信号が入力されている。この位相比較器１１１は、入力された二つの信号の位相差を電圧に変換して、出力する。
【００５６】
ループフィルタ回路１１２は、位相比較器１１１から入力された信号を位相補償して出力するローパスフィルタである。ＤＣＯ１１３は、デジタル信号で発振周波数を制御するデジタル制御発振器であり、ループフィルタ回路１１２から入力されたデジタル信号によって出力パルスの周波数を制御する。
【００５７】
分周器１１４は、ＤＣＯ１１３から入力された周波数を、Ｎ分割（このＮは予め定められた任意の整数または分数である。）して、位相同期信号として出力する。たとえば、このＮの値は１に固定されていてもよい。Ｎの値が１の場合には、この位相同期回路１１は、送信側ブロックのマスタクロック信号に位相同期した１倍の位相同期信号を生成する。
【００５８】
マスク信号出力回路２１は、マスク信号出力回路２０と同様の構成を有している。ただし、マスク信号出力回路２０のカウンタ部は、位相同期回路１１が生成した位相同期信号のＨｉｇｈレベルである期間に応じて、受信側ブロックのマスタクロック信号に基いてカウントする。マスク回路３１は、マスク回路３０と同様の構成を有している。
【００５９】
次に、図４を用いて、第２の実施形態によるクロック生成回路４の動作について説明する。第１の実施形態によるクロック生成回路２と同様に、たとえば、時刻ｔ４から時刻ｔ６の期間において、マスク信号出力回路２１が、マスク信号を出力する。すなわち、マスク信号出力回路２１が、Ｈｉｇｈレベルのマスク信号を出力する。そして、マスク回路３１が、時刻ｔ４から時刻ｔ６の期間において、このＨｉｇｈレベルのマスク信号に応じて、受信側マスタクロックをマスクし、このマスクした受信側マスタクロックを受信側クロックとして、受信側ブロックに供給する。
【００６０】
その後、時刻ｔ６以降においては、マスク信号出力回路２１は、マスク信号を出力しない。すなわち、マスク信号出力回路２１が、Ｌｏｗレベルのマスク信号を出力する。そして、マスク回路３１が、時刻ｔ６以降において、このＬｏｗレベルのマスク信号に応じて、受信側マスタクロックをマスクせず、このマスクしない受信側マスタクロックを受信側クロックとして、受信側ブロックに供給する。
【００６１】
そして、たとえば、時刻ｔ６において、マスク回路３１から供給された受信側クロックの立ち上がりに応じて、すなわち、受信側クロックに同期して、受信側ブロックの受信回路が、送信データを取り込んで受信する。
【００６２】
よって、第２の実施形態による非同期インターフェース回路３も、第１の実施形態による非同期インターフェース回路１と同様に、メタステーブルが発生しないように、かつ、セットアップ時間およびホールド時間が満たされているようにして、それぞれのマスタクロック信号を有する送信側ブロックと受信側ブロックとの間で、送信データの送信および受信ができる。
【００６３】
なお、ここでは、クロック生成回路４を受信側ブロックが有する場合について説明したが、第１の実施形態によるクロック生成回路２と同様に、この第２の実施形態によるクロック生成回路４を、送信側ブロックが有するようにしてもよい。
【００６４】
また、第１の実施形態によるクロック生成回路２と第２の実施形態によるクロック生成回路４とを組み合わせて用いてもよい。たとえば、第２の実施形態によるクロック生成回路４は、位相同期回路１１を用いているが、電源投入時などにおいて、この位相同期回路１１が、受信したマスタクロック信号と位相同期した位相同期信号を出力するまでには、所定の期間を要することがある。
【００６５】
このような電源投入時などにおいて、第１の実施形態を第２の実施形態に組み合わせることにより、電源投入時などにおいて位相同期回路１１が位相同期していない期間においても、第１の実施形態と同様に、送信側ブロックと受信側ブロックとの間で、送信データを送信および受信することが可能となる。
【００６６】
なお、組み合わせる場合には、たとえば、第２の実施形態によるクロック生成回路４が、第１の実施形態によるクロック生成回路２の立ち上り検出回路１０を有するようにする。そして、この立ち上り検出回路１０が、リセット信号を、位相同期回路１１の分周器１１４に入力するようにする。そして、分周器１１４が、リセット信号が入力されたことに応じて、位相を同期させる処理を開始し、位相同期信号を出力する。これにより、マスク信号出力回路２１とマスク回路３１とは、第２の実施形態と同様に、動作することが可能である。
【００６７】
なお、上記の説明においては、非同期インターフェース回路１または３の回路構成について説明したが、この回路構成を有する非同期インターフェース回路１または３を用いて、送信ブロックおよび受信ブロックを、ハードウェア記述言語で記述して設計し、また、これをＳＴＡ検証してもよい。また、この記述による設計およびＳＴＡ検証を、コンピュータ装置上で行ってもよい。また、これを、コンピュータ装置上で動作させるためのプログラムとしてもよいし、このプログラムを記録媒体に記録してもよい。
【００６８】
なお、比較値記憶部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）内部のレジスタやＲＡＭ、ＲＯＭやフラッシュメモリ等の不揮発性メモリ、あるいはこれらの組み合わせにより構成されるものとする。
【００６９】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００７０】
【図１】この発明の第１の実施形態による非同期インターフェース回路の構成を示すブロック図である。
【図２】図１の非同期インターフェース回路の動作を示すシーケンス図である。
【図３】この発明の第２の実施形態による非同期インターフェース回路の構成を示すブロック図である。
【図４】図３の非同期インターフェース回路の動作を示すシーケンス図である。
【図５】従来技術による非同期インターフェース回路の構成を示すブロック図である。
【図６】図５の非同期インターフェース回路の動作を示すシーケンス図である。
【符号の説明】
【００７１】
１、３…非同期インターフェース回路、２、４…クロック生成回路、１０…立ち上り検出回路、１１…位相同期回路、２０、２１…マスク信号出力回路、３０、３１…マスク回路、１００…複数段のフリップフロップ回路、１０１、１０２、１０３、１０１０、１０１１、１０１２、２０１０、２０１１…フリップフロップ回路、１１１…位相比較器、１１２…ループフィルタ回路、１１３…ＤＣＯ、１１４…分周器、２００…リセット信号出力回路、２０１…論理回路、２０２…インバータ回路
【図１】
2010021950.tif 000003
【図２】
2010021950.tif 000004
【図３】
2010021950.tif 000005
【図４】
2010021950.tif 000006
【図５】
2010021950.tif 000007
【図６】
2010021950.tif 000008