(57)【特許請求の範囲】
【請求項１】
第１クロックに同期して第１要求信号を出力する第１論理回路ブロックと、
第２クロックに同期して第１確認信号を出力する第２論理回路ブロックと、
前記第１要求信号に基づいて第２要求信号を生成し、前記第２要求信号を第２クロックに同期して前記第２論理回路ブロックに出力する要求信号同期化回路と、
前記第１確認信号に基づいて第２確認信号を生成し、前記第２確認信号を前記第１クロックに同期して前記第１論理回路ブロックに出力する確認信号同期化回路と
を具備し、
前記第２論理回路ブロックは、
前記第２要求信号に応答して第１確認信号を出力し、
前記要求信号同期化回路は、
前記第１クロックに同期して出力される前記第１要求信号を、前記第２クロックに同期させて、前記第２要求信号を生成する同期化部と、
前記第１確認信号に応答して、前記同期化部から現在出力されている前記第２要求信号の出力禁止を実行するマスク部と
を含み、
前記同期化部は、
前記第２クロックに同期して供給される信号を保持する第１フリップフロップと、
前記第２クロックに同期して前記第２要求信号を出力する第２フリップフロップと
を含み、
前記マスク部は、
前記第１要求信号と前記第１確認信号を反転させた反転第１確認信号との論理積を演算して第１演算結果を出力する第１論理積回路と、
前記第１フリップフロップから出力される信号と前記反転第１確認信号との論理積を演算して第２演算結果を出力する第２論理積回路と
を含み、
前記第１論理積回路の出力端は、前記第１フリップフロップのデータ入力端に接続され、
前記第２論理積回路の出力端は、前記第２フリップフロップのデータ入力端に接続される
半導体装置。
【請求項２】
請求項１に記載の半導体装置において、
前記確認信号同期化回路は、
前記第１確認信号を受け、前記第１クロックに同期して前記第１確認信号を保持する第３フリップフロップと、
前記第３フリップフロップから出力される第３フリップフロップ出力信号を受け、前記第３フリップフロップ出力信号を前記第１クロックに同期して保持する第４フリップフロップと、
前記第４フリップフロップから出力される第４フリップフロップ出力信号を受け、前記第４フリップフロップ出力信号を反転した反転第４フリップフロップ出力信号を出力するインバータと、
前記インバータの出力端に接続され、前記反転第４フリップフロップ出力信号と前記第３フリップフロップ出力信号との論理積を演算した演算結果を前記第２確認信号として出力する第３論理積回路と
を具備する
半導体装置。
【請求項３】
請求項１または２に記載の半導体装置において、
前記第１クロックは、前記第２クロックより周期が短いクロックである
半導体装置。
【請求項４】
第１クロックに同期して動作する第１論理回路ブロックと、
第２クロックに同期して動作する第２論理回路ブロックと、
前記第１論理回路ブロックから出力される第１要求信号を受け、前記第１要求信号に基づいて第２要求信号を生成し、前記第２要求信号を第２クロックに同期して前記第２論理回路ブロックに出力する要求信号同期化回路と、
前記第２論理回路ブロックから出力される第１確認信号を受け、前記第１確認信号に基づいて第２確認信号を生成し、前記第２確認信号を前記要求信号同期化回路に供給する確認パルス伸長回路と、
前記確認パルス伸長回路から出力される第２確認信号を受け、前記第２確認信号に基づいて第３確認信号を生成し、前記第３確認信号を前記第１クロックに同期して前記要求信号同期化回路と前記第１論理回路ブロックとに出力する確認信号同期化回路と
を具備し、
前記要求信号同期化回路は、
前記第１クロックに同期して出力される前記第１要求信号を、前記第２クロックに同期させて、前記第２要求信号を生成する同期化部と、
前記第２要求信号の出力を禁止するマスク部と
を含み、
前記第２論理回路ブロックは、
前記第２要求信号に応答して第１確認信号を出力し、
前記マスク部は、前記第１確認信号と、前記第２確認信号と、前記第３確認信号とに応答して、現在出力されている前記第２要求信号の出力を禁止する
半導体装置。
【請求項５】
請求項４に記載の半導体装置において、
前記同期化部は、
前記第２クロックに同期して供給される信号を保持する第１フリップフロップと、
前記第２クロックに同期して前記第２要求信号を出力する第２フリップフロップと
を含み、
前記マスク部は、
前記第１要求信号と前記第２確認信号を反転させた反転第２確認信号と前記第３確認信号を反転させた反転第３確認信号との論理積演算を行う第１論理積回路と、
前記第１フリップフロップ出力と前記第１確認信号を反転させた反転第１確認信号との論理積演算を行う第２論理積回路と
を含み、
前記第１論理積回路の出力端は、前記第１フリップフロップのデータ入力端に接続され、
前記第２論理積回路の出力端は、前記第２フリップフロップのデータ入力端に接続される
半導体装置。
【請求項６】
請求項５に記載の半導体装置において、
前記確認パルス伸長回路は、
論理和回路と、
第２クロック信号に基づいて動作するシフトレジスタ部と
を含み、
前記シフトレジスタ部は、
前記第１確認信号を受け、前記第１確認信号を前記第２クロック信号に同期してシフトする複数のフリップフロップを含み、
前記論理和回路には、
前記第１確認信号と、前記複数のフリップフロップの出力のそれぞれが供給される
半導体装置。
【請求項７】
請求項６に記載の半導体装置において、
前記確認信号同期化回路は、
前記第２確認信号を受け、前記第１クロックに同期して前記第２確認信号を保持する第３フリップフロップと、
前記第３フリップフロップから出力される第３フリップフロップ出力信号を受け、前記第３フリップフロップ出力信号を前記第１クロックに同期して保持する第４フリップフロップと、
前記第４フリップフロップから出力される第４フリップフロップ出力信号を受け、前記第４フリップフロップ出力信号を反転した反転第４フリップフロップ出力信号を出力するインバータと、
前記インバータの出力端に接続され、前記反転第４フリップフロップ出力信号と前記第３フリップフロップ出力信号との論理積を演算した演算結果を前記第３確認信号として出力する第３論理積回路と
を具備する
半導体装置。
【請求項８】
請求項４から７の何れか１項に記載の半導体装置において、
前記第１クロックは、前記第２クロックより周期が長いクロックである
半導体装置。
【請求項９】
（ａ）第１クロックに同期して動作する第１論理回路ブロックから出力される第１要求信号を受け、前記第１要求信号を、第２クロックに同期させて第２要求信号を生成し、前記第２要求信号を第２クロックに同期して第２論理回路ブロックに出力するステップと、
（ｂ）前記第２クロックに同期して動作する第２論理回路ブロックから出力される第１確認信号を受け、前記第１確認信号に基づいて第２確認信号を生成し、前記第２確認信号を前記第１クロックに同期して前記第１論理回路ブロックに出力するステップと、
（ｃ）前記第２要求信号に応答して前記第２論理回路ブロックから出力される前記第１確認信号を受け、前記第１確認信号に応答して、現在出力されている前記第２要求信号の出力を禁止するステップ
を具備し、
前記（ｃ）ステップは、
前記第１要求信号と前記第１確認信号を反転させた反転第１確認信号との論理積を演算して第１演算結果を出力するステップと、
前記第１演算結果を、前記第２クロックに同期して動作する第１フリップフロップに供給するステップと、
前記第１フリップフロップから出力される信号と前記反転第１確認信号との論理積を演算して第２演算結果を出力するステップと、
前記第２演算結果を、前記第２要求信号を出力する第２フリップフロップに供給するステップを含む
非同期ブロックの同期化方法。
【請求項１０】
請求項９に記載の非同期ブロックの同期化方法において、
前記（ｂ）ステップは、
前記第１確認信号を受け、前記第１確認信号を前記第１クロックに同期して動作する第３フリップフロップに供給するステップと、
前記第３フリップフロップから出力される第３フリップフロップ出力信号を受け、前記第３フリップフロップ出力信号を、前記第１クロックに同期して動作する第４フリップフロップに供給するステップと、
前記第４フリップフロップから出力される第４フリップフロップ出力信号を受け、前記第４フリップフロップ出力信号を反転した反転第４フリップフロップ出力信号を出力するステップと、
前記反転第４フリップフロップ出力信号と前記第３フリップフロップ出力信号との論理積を演算した演算結果を前記第２確認信号として出力するステップを含む
非同期ブロックの同期化方法。
【請求項１１】
請求項９または１０に記載の半非同期ブロックの同期化方法において、
前記第１クロックは、前記第２クロックより周期が短いクロックである
非同期ブロックの同期化方法。
【請求項１２】
（ａ）第１クロックに同期して動作する第１論理回路ブロックから出力される第１要求信号を受け、前記第１要求信号を第２クロックに同期させて第２要求信号を生成し、前記第２要求信号を第２クロックに同期して第２論理回路ブロックに出力するステップと、
（ｂ）第２クロックに同期して動作する第２論理回路ブロックから出力される第１確認信号を受け、前記第１確認信号に基づいて第２確認信号を生成し、前記第２確認信号を前記要求信号同期化回路に供給するステップと、
（ｃ）前記第２確認信号を受け、前記第２確認信号に基づいて第３確認信号を生成し、前記第３確認信号を前記第１クロックに同期して出力するステップと、
（ｄ）前記第２要求信号に応答して前記第２論理回路ブロックから出力される前記第１確認信号を受け、前記第１確認信号と、前記第２確認信号と、前記第３確認信号とに応答して、現在出力されている前記第２要求信号の出力を禁止するステップ
を具備する非同期ブロックの同期化方法。
【請求項１３】
請求項１２に記載の非同期ブロックの同期化方法において、
前記（ｄ）ステップは、
前記第１要求信号と前記第２確認信号を反転させた反転第２確認信号と前記第３確認信号を反転させた反転第３確認信号との論理積を演算した第１演算結果を、前記第２クロックに同期して動作する第１フリップフロップに供給するステップと、
前記第１フリップフロップ出力と前記第１確認信号を反転させた反転第１確認信号との論理積を演算した第２演算結果を出力するステップと、
前記第２演算結果を、前記第２要求信号を出力する第２フリップフロップに供給するステップを含む
非同期ブロックの同期化方法。
【請求項１４】
請求項１３に記載の非同期ブロックの同期化方法において、
前記（ｂ）ステップは、
前記第１確認信号を受け、前記第１確認信号を前記第２クロック信号に同期して動作する動作するシフトレジスタ部に供給するステップと、
前記第１確認信号と、シフトレジスタ部の複数のフリップフロップの出力のそれぞれの論理和を演算し、その演算結果を前記第２確認信号として出力するステップ
を含む
非同期ブロックの同期化方法。
【請求項１５】
請求項１４に記載の非同期ブロックの同期化方法において、
前記（ｃ）ステップは、
前記第２確認信号を受け、前記第１確認信号を前記第２クロックに同期して動作する第３フリップフロップに供給するステップと、
前記第３フリップフロップから出力される第３フリップフロップ出力信号を受け、前記第３フリップフロップ出力信号を、前記第１クロックに同期して動作する第４フリップフロップに供給するステップと、
前記第４フリップフロップから出力される第４フリップフロップ出力信号を受け、前記第４フリップフロップ出力信号を反転した反転第４フリップフロップ出力信号を出力するステップと、
前記反転第４フリップフロップ出力信号と前記第３フリップフロップ出力信号との論理積を演算した演算結果を前記第３確認信号として出力するステップ
を含む
非同期ブロックの同期化方法。
【請求項１６】
請求項１２から１５の何れか１項に記載の非同期ブロックの同期化方法において、
前記第１クロックは、前記第２クロックより周期が長いクロックである
非同期ブロックの同期化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非同期ブロック間のハンドシェイク信号同期化回路およびそれの動作方法に関する。
【背景技術】
【０００２】
現在普及している半導体装置の多くは、複数の回路ブロックで構成されている半導体回路を備えている。それら複数の回路ブロックのそれぞれは、周波数の異なるクロックで動作している場合がある。
【０００３】
そのような半導体回路を適切に動作させるために、異なる周波数のクロックで動作している回路ブロック同士を接続し、それら二つの回路ブロックの間で適切に信号を転送するための技術が知られている（例えば、特許文献１〜３参照。）。従来、ある周波数で動作している送信側回路ブロックから、その周波数と異なる周波数のクロックで動作している受信側回路ブロックに信号を転送する場合、受信側ブロックにとっては、送信側ブロックから供給される入力信号は、当然非同期信号となる。非同期ブロック間（送信側ブロックと受信側ブロックとの間）で信号を転送するときには、同期化回路によって送信側ブロックから供給される入力信号の同期を取り直す必要がある。したがって、現在普及している半導体装置の多くにとって、信号の同期化技術は必須のものとなっている。
【０００４】
周波数が異なるクロックで動作している論理回路ブロック間で、データを転送する場合には、データ信号の他に制御のための二つの信号が用いられている。以下、データ送信側からデータ受信側に送られる制御信号を要求信号とよび、データ受信側からデータ送信側に送られる制御信号を確認信号と呼ぶ。各々の回路（データ送信側またはデータ受信側）は、要求信号および確認信号がアクティブの場合には、接続先に対して動作許可をしていることを示している。したがって、データ送信側は、相手先が動作中である場合には、接続相手先への制御信号の送信を禁止する必要がある。また、データ受信側は、自身が動作中の場合には、接続相手先からの制御信号を無視する必要がある。
【０００５】
図１は、従来の同期化回路を備える半導体回路の構成を示すブロック図である。図１を参照すると、従来の半導体回路は、第１論理回路ブロック１０１と、第２論理回路ブロック１０２と、要求信号同期化回路１０３と、確認信号同期化回路１０４とを含んで構成されている。図１に示されているように、第１論理回路ブロック１０１は、第１クロックＣＬＫ＿Ｘに同期して動作している。また、第２論理回路ブロック１０２は、第２クロックＣＬＫ＿Ｙに同期して動作している。
【０００６】
従来の要求信号同期化回路１０３は、第１論理回路ブロック１０１に接続され、第１論理回路ブロック１０１から出力される第１要求信号ＲＥＱ＿Ｘと第２クロックＣＬＫ＿Ｙが供給されている。要求信号同期化回路１０３は、第１要求信号ＥＱ＿Ｘに応答して、第２クロックに同期して、第２要求信号ＲＥＱ＿Ｙを第２論理回路ブロック１０２に供給している。また、従来の確認信号同期化回路１０４は、第２論理回路ブロック１０２に接続され、第２論理回路ブロック１０２から出力される第１確認信号ＡＣＫ＿Ｘと第１クロックＣＬＫ＿Ｘが供給されている。確認信号同期化回路１０４は、その第１確認信号ＡＣＫ＿Ｘに応答して第１クロックＣＬＫ＿Ｘに同期して第２確認信号ＡＣＫ＿Ｘを第１論理回路ブロック１０１に供給している。
【０００７】
図２は、従来の要求信号同期化回路１０３の構成を示すブロック図である。図２を参照すると、従来の要求信号同期化回路１０３は、第１フリップフロップ１０７と第２フリップフロップ１０８とで構成されている。つまり、従来の要求信号同期化回路１０３は、２個のフリップフロップ（１０７、１０８）を直列接続した回路で構成されている。図２に示されているように、フリップフロップの間には、組み合わせ論理回路は存在していない。第１フリップフロップ１０７と第２フリップフロップ１０８とには、第２クロックＣＬＫ＿Ｙが供給され、その第２クロックＣＬＫ＿Ｙに同期して動作している。要求信号同期化回路１０３は、次段のフリップフロップが初段のフリップフロップの出力をサンプルする前のタイミングで、初段のフリップフロップが不安定状態から抜け出して出力信号が安定になることを保証している。なお、この回路ではフリップフロップ出力間のスキューを最小化するため、フリップフロップ同士をできるだけ接近させて配置する必要がある。
【０００８】
図３は、従来の確認信号同期化回路１０４の構成を示すブロック図である。図３を参照すると、従来の確認信号同期化回路１０４は、第３フリップフロップ１１２と、第４フリップフロップ１１３と、第２インバータ１１４と、ＡＮＤ回路１１５とで構成されている。図３に示されているように、従来の確認信号同期化回路１０４は、２個のフリップフロップが直列に接続された同期化部と、第２インバータ１１４とＡＮＤ回路１１５とで構成された微分回路とで構成されている。第３フリップフロップ１１２と第４フリップフロップ１１３とには、第１クロックＣＬＫ＿Ｘが供給され、その第１クロックＣＬＫ＿Ｘに同期して動作している。第２インバータ１１４は、第４フリップフロップ１１３からの出力を反転してＡＮＤ回路１１５に供給している。ＡＮＤ回路１１５は、その反転出力と第３フリップフロップ１１２の出力に基づいて第２確認信号を出力している。
【０００９】
図４は、従来のハンドシェイク動作を示すタイミングチャートである。図４を参照すると、このタイミングチャートは、従来のハンドシェイク動作において、第１論理回路ブロックが時刻Ｓ１のタイミングで第１要求信号ＲＥＱ＿Ｘを出力した場合の動作を示している。図４に示されているように、時刻Ｓ２のタイミングで第２要求信号ＲＥＱ＿Ｙが出力される。第２論理回路１０２は、時刻Ｓ３のタイミングで第１確認信号ＡＣＫ＿Ｙを１パルス（第２クロックＣＬＫ＿Ｙの１周期分）出力する。確認信号同期化回路１０４は、その第１確認信号ＡＣＫ＿Ｙに応答して、時刻Ｓ４のタイミングで第２確認信号ＡＣＫ＿Ｘを出力する。第１論理回路ブロック１０１は、第２確認信号ＡＣＫ＿Ｘに応答して第１要求信号ＲＥＱ＿Ｘの出力を終了する。
【００１０】
図４に示されているように、このとき、要求信号同期化回路１０３は、第２要求信号ＲＥＱ＿Ｙの出力を継続している。したがって、第１論理回路ブロック１０１は、要求信号同期化回路１０３に対して第１要求信号ＲＥＱ＿Ｘの出力を禁止しておく必要がある。また、第２論理回路ブロック１０２は、時刻Ｓ６のタイミングで第１確認信号の出力を終了する。第２論理回路ブロック１０２は、第１要求信号ＲＥＱ＿Ｘの出力が終了した後、第２要求信号ＲＥＱ＿Ｙの出力が終了するまでの期間、つまり時刻Ｓ６から時刻Ｓ８の期間は、第２要求信号ＲＥＱ＿Ｙを無視しておく必要がある。
【００１１】
従来の半導体装置では、データ送信側の論理回路ブロックが第１要求信号の出力を禁止しておく期間（ＲＥＱ＿Ｘ禁止期間）を、半導体装置の設計段階で定義しておくことが求められている。また、データ受信側の論理回路ブロックが、第２要求信号を無視する期間（ＲＥＱ＿Ｙ無視期間）も、半導体装置の設計段階で定義しておくことが求められている。
【００１２】
ここで、データ送信側とデータ受信側とが同じ周波数のクロックで動作している場合、上述のＲＥＱ＿Ｘ禁止期間やＲＥＱ＿Ｙ無視期間を定義することなく回路を設計することが可能である。したがって、異なる周波数のクロックで動作している回路ブロック同士を接続する場合に比較して、短時間で適切な回路設計をすることが可能である。
【００１３】
異なる周波数のクロックで動作している回路ブロック同士を接続する場合であっても、ＲＥＱ＿Ｘ禁止期間やＲＥＱ＿Ｙ無視期間を定義することなく回路を設計することが可能な技術が望まれる。
【００１４】
【特許文献１】特開２００２−０８２９０２号公報
【特許文献２】特開２００３−０６９５４０号公報
【特許文献３】特開２００４−１１０１９１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明が解決しようとする課題は、異なる周波数のクロックで動作している回路ブロック同士を接続する場合であっても、ＲＥＱ＿Ｘ禁止期間やＲＥＱ＿Ｙ無視期間を定義せずに動作する回路を提供することにある。
【課題を解決するための手段】
【００１６】
以下に、［発明を実施するための最良の形態］で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１７】
上記課題を解決するために、以下のような同期回路を備える半導体装置を構成する。その半導体装置は、第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して動作する第１論理回路ブロック（１）と、第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して動作する第２論理回路ブロック（２）と、前記第１論理回路ブロック（１）から出力される第１要求信号（ＲＥＱ＿１）を受け、前記第１要求信号（ＲＥＱ＿１、ＲＥＱ＿３）に基づいて第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を生成し、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して前記第２論理回路ブロック（２）に出力する要求信号同期化回路（３，１６）と、前記第２論理回路ブロック（２）から出力される第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を受け、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）に基づいて第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）を生成し、前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）を前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して前記第１論理回路ブロック（１）に出力する確認信号同期化回路（４、１８）とを具備する構成であることが好ましい。
ここで、前記要求信号同期化回路（３，１６）は、前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して出力される前記第１要求信号（ＲＥＱ＿１、ＲＥＱ＿３）を、前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期させて、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を生成する同期化部（５）と、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）の出力を禁止するマスク部（６、１９）とを含む構成であることが好ましい。
前記第２論理回路ブロック（２）は、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）に応答して第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を出力する。そして、前記マスク部（６、１９）は、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）に応答して、現在出力されている前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）の出力を禁止する。
【００１８】
前記同期化部（５）は、前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して供給される信号を保持する第１フリップフロップと、前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を出力する第２フリップフロップとを含む構成であることが好ましい。また、前記マスク部（６、１９）は、前記第１要求信号（ＲＥＱ＿１、ＲＥＱ＿３）と前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を反転させた反転第１確認信号との論理積を演算して第１演算結果を出力する第１論理積回路と、前記第１フリップフロップから出力される信号と前記反転第１確認信号との論理積を演算して第２演算結果を出力する第２論理積回路とを含む構成であることが好ましい。そのうえで、前記第１論理積回路の出力端は、前記第１フリップフロップのデータ入力端に接続され、前記第２論理性回路の出力端は、前記第２フリップフロップのデータ入力端に接続される半導体装置を構成する。
【００１９】
また、その半導体装置において、前記確認信号同期化回路（４、１８）は、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を受け、前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を保持する第３フリップフロップと、前記第３フリップフロップから出力される第３フリップフロップ出力信号を受け、前記第３フリップフロップ出力信号を前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して保持する第４フリップフロップと、前記第４フリップフロップから出力される第４フリップフロップ出力信号を受け、前記第４フリップフロップ出力信号を反転した反転第４フリップフロップ出力信号を出力するインバータと、前記インバータの出力端に接続され、前記反転第４フリップフロップ出力信号と前記第３フリップフロップ出力信号との論理積を演算した演算結果を前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）として出力する第３論理積回路とを具備する構成であることが好ましい。なお、その半導体装置は、前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）は、前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）より周期が長い短いクロックである場合に適している。
【００２０】
また、上記の課題を解決するために、第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して動作する第１論理回路ブロック（１）と、第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して動作する第２論理回路ブロック（２）と、前記第１論理回路ブロック（１）から出力される第１要求信号（ＲＥＱ＿１）を受け、前記第１要求信号（ＲＥＱ＿１、ＲＥＱ＿３）に基づいて第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を生成し、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して前記第２論理回路ブロック（２）に出力する要求信号同期化回路（３，１６）と、前記第２論理回路ブロック（２）から出力される第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を受け、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）に基づいて第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）を生成し、前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）を前記要求信号同期化回路（３，１６）に供給する確認パルス伸長回路と、前記確認パルス伸長回路から出力される第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）を受け、前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）に基づいて第３確認信号（ＡＣＫ＿５）を生成し、前記第３確認信号（ＡＣＫ＿５）を前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して前記要求信号同期化回路（３，１６）と前記第１論理回路ブロック（１）とに出力する確認信号同期化回路（４、１８）とを具備する半導体回路を構成することが好ましい。ここで、前記要求信号同期化回路（３，１６）は、前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して出力される前記第１要求信号（ＲＥＱ＿１、ＲＥＱ＿３）を、前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期させて、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を生成する同期化部（５）と、
前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）の出力を禁止するマスク部（６、１９）とを含む構成であることが好ましい。そして、前記第２論理回路ブロック（２）は、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）に応答して第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を出力し、前記マスク部（６、１９）は、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）と、前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）と、前記第３確認信号（ＡＣＫ＿５）とに応答して、現在出力されている前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）の出力を禁止するものであると良い。
【００２１】
前記同期化部（５）は、前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して供給される信号を保持する第１フリップフロップと、前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を出力する第２フリップフロップとを含む構成であると良い。そして、前記マスク部（６、１９）は、前記第１要求信号（ＲＥＱ＿１、ＲＥＱ＿３）と前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）を反転させた反転第２確認信号と前記第３確認信号（ＡＣＫ＿５）を反転させた反転第３確認信号（ＡＣＫ＿５）との論理積演算を行う第１論理積回路と、前記第１フリップフロップ出力と前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を反転させた反転第１確認信号との論理積演算を行う第２論理積回路とを含む構成であると良い。そのうえで、前記第１論理積回路の出力端は、前記第１フリップフロップのデータ入力端に接続され、前記第２論理性回路の出力端は、前記第２フリップフロップのデータ入力端に接続される半導体装置を構成する。
【００２２】
前記確認パルス伸長回路は、論理和回路と、第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）信号に基づいて動作するシフトレジスタ部とを含む構成であることが好ましい。その場合、前記シフトレジスタ部は、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を受け、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）信号に同期してシフトする複数のフリップフロップを含むものであると良い。そして、前記論理和回路には、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）と、前記複数のフリップフロップの出力のそれぞれが供給される半導体装置を構成する。
【００２３】
前記確認信号同期化回路（４、１８）は、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を受け、前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を保持する第３フリップフロップと、前記第３フリップフロップから出力される第３フリップフロップ出力信号を受け、前記第３フリップフロップ出力信号を前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して保持する第４フリップフロップと、前記第４フリップフロップから出力される第４フリップフロップ出力信号を受け、前記第４フリップフロップ出力信号を反転した反転第４フリップフロップ出力信号を出力するインバータと、前記インバータの出力端に接続され、前記反転第４フリップフロップ出力信号と前記第３フリップフロップ出力信号との論理積を演算した演算結果を前記第３確認信号（ＡＣＫ＿５）として出力する第３論理積回路とを備えて構成されることが好ましい。なお、上記の構成は、前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）は、前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）より周期が短いクロックである半導体装置に適している。
【００２４】
また、上記の課題を解決するために、以下のような動作方法で回路を動作させてもよい。その動作方法は、
（ａ）第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して動作する第１論理回路ブロック（１）から出力される第１要求信号（ＲＥＱ＿１）を受け、前記第１要求信号（ＲＥＱ＿１、ＲＥＱ＿３）を、第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期させて第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を生成し、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して前記第２論理回路ブロック（２）に出力するステップと、
（ｂ）前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して動作する第２論理回路ブロック（２）から出力される第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を受け、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）に基づいて第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）を生成し、前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）を前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して前記第１論理回路ブロック（１）に出力するステップと、
（ｃ）前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）に応答して前記第２論理回路ブロック（２）から出力される前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を受け、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）に応答して、現在出力されている前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）の出力を禁止するステップを具備する非同期ブロックの同期化方法である。
【００２５】
その非同期ブロックの同期化方法において、
前記（ｃ）ステップは、
前記第１要求信号（ＲＥＱ＿１、ＲＥＱ＿３）と前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を反転させた反転第１確認信号との論理積を演算して第１演算結果を出力するステップと、
前記第１演算結果を、前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して動作する第１フリップフロップに供給するステップと、
前記第１フリップフロップから出力される信号と前記反転第１確認信号との論理積を演算して第２演算結果を出力するステップと、
前記第２演算結果を、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を出力する第２フリップフロップに供給するステップを含む非同期ブロックの同期化方法であっても良い。
【００２６】
また、その非同期ブロックの同期化方法において、
前記（ｂ）ステップは、
前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を受け、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して動作する第３フリップフロップに供給するステップと、
前記第３フリップフロップから出力される第３フリップフロップ出力信号を受け、前記第３フリップフロップ出力信号を、前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して動作する第４フリップフロップに供給するステップと、
前記第４フリップフロップから出力される第４フリップフロップ出力信号を受け、前記第４フリップフロップ出力信号を反転した反転第４フリップフロップ出力信号を出力するステップと、
前記反転第４フリップフロップ出力信号と前記第３フリップフロップ出力信号との論理積を演算した演算結果を前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）として出力するステップを含む
非同期ブロックの同期化方法であっても良い。なお、その半非同期ブロックの同期化方法は、前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）は、前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）より周期が長い短いクロックである場合に適用可能である。
【００２７】
また、上記課題を解決するために、回路の動作方法として、
（ａ）第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して動作する第１論理回路ブロック（１）から出力される第１要求信号（ＲＥＱ＿１）を受け、前記第１要求信号（ＲＥＱ＿１、ＲＥＱ＿３）を前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期させて第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を生成し、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して前記第２論理回路ブロック（２）に出力するステップと、
（ｂ）第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して動作する第２論理回路ブロック（２）から出力される第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を受け、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）に基づいて第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）を生成し、前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）を前記要求信号同期化回路（３，１６）に供給するステップと、
（ｃ）前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）を受け、前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）に基づいて第３確認信号（ＡＣＫ＿５）を生成し、前記第３確認信号（ＡＣＫ＿５）を前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して出力するステップと、
（ｄ）前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）に応答して前記第２論理回路ブロック（２）から出力される前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を受け、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）と、前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）と、前記第３確認信号（ＡＣＫ＿５）とに応答して、現在出力されている前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）の出力を禁止するステップ
を具備する非同期ブロックの同期化方法を用いても良い。
【００２８】
その非同期ブロックの同期化方法において、
前記（ｄ）ステップは、
前記第１要求信号（ＲＥＱ＿１、ＲＥＱ＿３）と前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）を反転させた反転第２確認信号と前記第３確認信号（ＡＣＫ＿５）を反転させた反転第３確認信号（ＡＣＫ＿５）との論理積を演算した第１演算結果を、前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して動作する第１フリップフロップに供給するステップと、
前記第１フリップフロップ出力と前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を反転させた反転第１確認信号との論理積を演算した第２演算結果を出力するステップと、
前記第２演算結果を、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を出力する第２フリップフロップに供給するステップを含む非同期ブロックの同期化方法であっても良い。
【００２９】
その非同期ブロックの同期化方法において、
前記（ｂ）ステップは、
前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を受け、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）信号に同期して動作する動作するシフトレジスタ部に供給するステップと、
前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）と、シフトレジスタ部の複数のフリップフロップの出力のそれぞれの論理和を演算し、その演算結果を前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）として出力するステップ
を含む非同期ブロックの同期化方法であっても良い。
【００３０】
その非同期ブロックの同期化方法において、
前記（ｃ）ステップは、
前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を受け、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して動作する第３フリップフロップに供給するステップと、
前記第３フリップフロップから出力される第３フリップフロップ出力信号を受け、前記第３フリップフロップ出力信号を、前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して動作する第４フリップフロップに供給するステップと、
前記第４フリップフロップから出力される第４フリップフロップ出力信号を受け、前記第４フリップフロップ出力信号を反転した反転第４フリップフロップ出力信号を出力するステップと、
前記反転第４フリップフロップ出力信号と前記第３フリップフロップ信号との論理積を演算した演算結果を前記第３確認信号（ＡＣＫ＿５）として出力するステップ
を含む非同期ブロックの同期化方法であっても良い。なお、その非同期ブロックの同期化方法は、前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）は、前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）より周期が短いクロックである場合に適している。
【００３１】
さらに、上記課題を解決するために、以下のように同期回路を構成しても良い。その同期化回路は、第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して動作する第１論理回路ブロック（１）から出力される第１要求信号（ＲＥＱ＿１）を受け、前記第１要求信号（ＲＥＱ＿１、ＲＥＱ＿３）に基づいて第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を生成し、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して前記第２論理回路ブロック（２）に出力する要求信号同期化回路（３，１６）と、第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期して動作する第２論理回路ブロック（２）から出力される第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を受け、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）に基づいて第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）を生成し、前記第２確認信号（ＡＣＫ＿２、ＡＣＫ＿４）を前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して前記第１論理回路ブロック（１）に出力する確認信号同期化回路（４、１８）とを具備する構成であることが好ましい。そして、前記要求信号同期化回路（３，１６）は、前記第１クロック（ＣＬＫ＿１、ＣＬＫ＿３）に同期して出力される前記第１要求信号（ＲＥＱ＿１、ＲＥＱ＿３）を、前記第２クロック（ＣＬＫ＿２，ＣＬＫ＿４）に同期させて、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）を生成する同期化部（５）と、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）の出力を禁止するマスク部（６、１９）とを含むものであると良い。そのうえで、前記第２論理回路ブロック（２）は、前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）に応答して第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）を出力し、前記マスク部（６、１９）は、前記第１確認信号（ＡＣＫ＿１、ＡＣＫ＿３）に応答して、現在出力されている前記第２要求信号（ＲＥＱ＿２、ＲＥＱ＿４）の出力を禁止するような非同期ブロック同期化回路を構成する。
【発明の効果】
【００３２】
本発明によると、異なる周波数のクロックで動作している回路ブロック同士を接続する場合であっても、ＲＥＱ＿Ｘ禁止期間やＲＥＱ＿Ｙ無視期間を定義せずに動作する回路を構成することが可能となる。
【００３３】
また、本発明によると、ＲＥＱ＿Ｘ禁止期間やＲＥＱ＿Ｙ無視期間ができてしまうために、その要求信号の連続送信ができなくなることを抑制しているので、同期化にかかる損失時間を減少させることが可能となる。
【発明を実施するための最良の形態】
【００３４】
［第１の実施形態］
以下に、図面を参照して本発明の実施の形態について説明を行う。図５は、本発明のハンドシェイク信号同期化回路を備える半導体装置の構成を例示するブロック図である。図５を参照すると、本実施形態の半導体装置は、第１論理回路ブロック１と、第２論理回路ブロック２と、要求信号同期化回路３と、確認信号同期化回路４とを含んで構成されている。本実施形態において、第１論理回路ブロック１がデータを送信するデータ送信側回路であり、第２論理回路ブロック２が、そのデータを受信するデータ受信側回路である場合を例示して説明を行う。第１論理回路ブロック１は、第１クロックＣＬＫ＿１に同期して動作する回路である。図５に示されているように、第１論理回路ブロック１は第１要求信号ＲＥＱ＿１の送信と、第２確認信号ＡＣＫ＿２の受信を行っている。第２論理回路ブロック２は、第２クロックＣＬＫ＿２に同期して動作する回路である。図５に示されているように、第２論理回路ブロック２は、第２要求信号ＲＥＱ＿２の受信と第１確認信号ＡＣＫ＿１の送信を行っている。
【００３５】
要求信号同期化回路３は、第１要求信号ＲＥＱ＿１に応答して、第２クロックＣＬＫ＿２に同期して第２要求信号ＲＥＱ＿２を出力している。また、図５に示されているように、要求信号同期化回路３には、第１確認信号ＡＣＫ＿１が供給されている。要求信号同期化回路３は、その第１確認信号ＡＣＫ＿１に応答して、第２要求信号ＲＥＱ＿２の出力を禁止している。確認信号同期化回路４は、第１確認信号ＡＣＫ＿１に応答して、第１クロックＣＬＫ＿１に同期して第２確認信号ＡＣＫ＿２を出力している。なお、要求信号同期化回路３および確認信号同期化回路４の構成および動作に関する詳細は後述する。
【００３６】
以下に、要求信号同期化回路３および確認信号同期化回路４の構成に関する詳細を説明する。図６は、本実施形態における要求信号同期化回路３の構成を例示する回路図である。図６を参照すると、要求信号同期化回路３は、同期化部５と、マスク部６と含んで構成されている。その同期化部５は、第１フリップフロップ７と第２フリップフロップ８とで構成されている。第１フリップフロップ７と第２フリップフロップ８は、ＣＬＫ＿１に同期して送信される第１要求信号ＲＥＱ＿１をＣＬＫ＿２に同期した信号に変換するためのＤタイプフリップフロップである。第１フリップフロップ７と第２フリップフロップ８には、第２クロックＣＬＫ＿２が供給され、その第２クロックＣＬＫ＿２に同期して、信号入力端から供給される信号を保持している。また、マスク部６は、第１ＡＮＤ回路９と、第２ＡＮＤ回路１０と、第１インバータ１１とで構成されている。第１インバータ１１、第１ＡＮＤ回路９および第２ＡＮＤ回路１０は第１確認信号ＡＣＫ＿１に基づいて、第２要求信号ＲＥＱ＿２の生成をマスクするための組合せ論理素子である。
【００３７】
図６に示されているように、第１ＡＮＤ回路９は、第１入力端と第２入力端とを備えている。第１ＡＮＤ回路９の第２入力端は、第１インバータ１１の出力端に接続されている。また、第１ＡＮＤ回路９の出力端は第１フリップフロップ７の信号入力端に接続されている。同様に、第２ＡＮＤ回路１０は、第１入力端と第２入力端とを備えている。第２ＡＮＤ回路１０の第１入力端は、第１フリップフロップ７の出力端に接続され、第２ＡＮＤ回路１０の第２入力端は、第１インバータ１１の出力端に接続されている。また、第２ＡＮＤ回路１０の出力端は、第２フリップフロップ８の信号入力端に接続されている。
【００３８】
図６に示されているように、第１インバータ１１の入力端には、第１確認信号ＡＣＫ＿１が供給されている。第１インバータ１１は、その第１確認信号ＡＣＫ＿１を反転させた信号（以下、反転第１確認信号ＡＣＫ＿１と呼ぶ。）を出力している。第１ＡＮＤ回路９の第１入力端には、第１要求信号ＲＥＱ＿１が供給されている。第１ＡＮＤ回路９の第２入力端には、上述の反転第１確認信号ＡＣＫ＿１が供給されている。第１ＡＮＤ回路９は、その第１要求信号ＲＥＱ＿１と反転第１確認信号ＡＣＫ＿１との論理積を実行した結果を第１フリップフロップ７の供給している。また、第２ＡＮＤ回路１０の第１入力端には、第１フリップフロップ７から出力される信号が供給され、第２ＡＮＤ回路１０の第２入力端には、反転第１確認信号ＡＣＫ＿１が供給されている。第２ＡＮＤ回路１０は、第１ＡＮＤ回路９と同様に、それぞれの信号に基づいて論理積を実行した結果を第２フリップフロップ８に供給している。
【００３９】
図７は、本実施形態の確認信号同期化回路４の構成を例示する回路図である。図７を参照すると、確認信号同期化回路４は、第３フリップフロップ１２と、第４フリップフロップ１３と、第２インバータ１４と、第３ＡＮＤ回路１５とを含んで構成されている。第３フリップフロップ１２と第４フリップフロップ１３とは第２クロックＣＬＫ＿２に同期して送信される第１確認信号ＡＣＫ＿１を第１クロックＣＬＫ＿１に同期した信号に変換するためのＤタイプフリップフロップである。第２インバータ１４と第３ＡＮＤ回路１５とは、第２確認信号ＡＣＫ＿２を生成するための組合せ論理素子である。第２インバータ１４と第３ＡＮＤ回路１５は、第１クロックＣＬＫ＿１の１クロック分の長さのパルスを生成して、第２確認信号ＡＣＫ＿２として出力している。
【００４０】
図７に示されているように、第３フリップフロップ１２と第４フリップフロップ１３とは、第１クロックＣＬＫ＿１に同期して動作している。第３フリップフロップ１２の信号出力端は、第４フリップフロップ１３の信号入力端に接続されている。第４フリップフロップ１３の信号出力端は、第２インバータ１４の入力端に接続されている。第３ＡＮＤ回路１５は、第１入力端と第２入力端とを備えている。第３ＡＮＤ回路１５の第２入力端は、第２インバータ１４の出力端に接続されている。また、第３ＡＮＤ回路１５の第１入力端は、第３フリップフロップ１２の信号出力端に接続されている。
【００４１】
以下に、本実施形態の同期化回路が実現するハンドシェイク動作に関して説明を行う。図８は、第１論理回路ブロック１と第２論理回路ブロック２とが、同じ周波数のクロックで動作している場合のハンドシェイク動作を示すタイミングチャートである。後述するように、本実施形態の同期化回路は、第１論理回路ブロック１と第２論理回路ブロック２とが、異なる周波数のクロックに同期して動作する場合であっても、このタイミングチャートに示されている動作タイミングでハンドシェイクを実行することが可能である。したがって、本発明の同期化回路を適用すると、第１論理回路ブロック１の動作クロックや第２論理回路ブロック２の動作クロックを熟慮することなく非同期回路ブロック間でのデータ伝送を行う回路を構成することが可能になる。また、以降、この動作に対応するハンドシェイク動作をハンドシェイク仕様と称して説明を行う。
【００４２】
図８を参照すると、第１論理回路ブロック１は、なんらかの要求をする場合に、要求信号をアクティブにすることで、要求発生を第２論理回路ブロック２に通知する（時刻Ｔ１のタイミングを参照）。なお、以下の動作の説明においては、Ｈｉｇｈレベル＝アクティブである場合を例示する。第１論理回路ブロック１は、第２論理回路ブロック２から出力される確認信号を受信するまで、その状態（要求信号＝Ｈｉｇｈレベル）を保ち続ける。
【００４３】
第２論理回路ブロック２は、時刻Ｔ２のタイミングで要求信号による要求を受信する。第２論理回路ブロック２は、その要求信号に応答して確認信号を基準クロックの１周期分の長さだけアクティブ（Ｈｉｇｈレベル）にする。第２論理回路ブロック２は、このＨｉｇｈレベルの確認信号で、要求を許可したこと通知する。第１論理回路ブロック１は、確認信号の受信に応答して、要求信号をＬｏｗレベルにする（時刻Ｔ３のタイミング参照）。第１論理回路ブロック１では、要求信号をＬｏｗレベルにすることで要求に基づく動作を完了する。また、図８のタイミングチャートにおいて、時刻Ｔ４から時刻Ｔ８までの期間は、第１論理回路ブロック１が、２回連続して要求を行った場合の動作を例示している。
【００４４】
以下に、第１論理回路ブロック１と第２論理回路ブロック２とが異なる周波数のクロックに同期して動作している場合における、同期化回路の動作について、図面を参照して説明を行う。図９は、本実施形態の同期化回路の動作を例示するタイミングチャートである。図９の（ａ）は、第１論理回路ブロック１と確認信号同期化回路４の動作クロックである第１クロックＣＬＫ＿１の波形を示している。図９の（ｆ）は、第２論理回路ブロック２と要求信号同期化回路３の動作クロックである第２クロックＣＬＫ＿２の波形を示している。なお、本実施形態では、第１クロックＣＬＫ＿１の周期が第２クロックＣＬＫ＿２の周期より短い場合の動作を例示して説明を行う。
【００４５】
図９の（ｂ）は、第１論理回路ブロック１から出力される第１要求信号ＲＥＱ＿１の波形を示している。図９の（ｋ）は、第２論理回路ブロック２から出力される第１確認信号ＡＣＫ＿１の波形を示している。図９の（ｊ）は第２要求信号ＲＥＱ＿２の波形を示している。図９の（ｅ）は、第２確認信号ＡＣＫ＿２の波形を示している。図９の（ｈ）は第１フリップフロップ７から出力される信号の波形を示している。図９の（ｃ）は、第３フリップフロップ１２から出力される信号の波形を示している。図９の（ｄ）は、第４フリップフロップ１３から出力される信号の波形を示している。図９の（ｇ）は第１ＡＮＤ回路９から出力される信号の波形を示している。図９の（ｉ）は、第２ＡＮＤ回路１０から出力される信号の波形を示している。
【００４６】
図９を参照すると、時刻ｔ０１において、第１論理回路ブロック１は、第１要求信号ＲＥＱ＿１をＨｉｇｈレベルにすることにより要求を通知する（図９の（ｂ））。時刻ｔ０１において、第１ＡＮＤ回路９は、その第１要求信号ＲＥＱ＿１と反転第１確認信号ＡＣＫ＿１に応答して、出力信号をＨｉｇｈレベルにする（図９の（ｇ））。要求は時刻ｔ０３のタイミングで、第１フリップフロップ７と第２フリップフロップ８により第２クロックＣＬＫ＿２に同期化され、第２要求信号ＲＥＱ＿２として第２論理回路ブロック２に通知される。
【００４７】
第２論理回路ブロック２は、時刻ｔ０４のタイミングで、第１確認信号ＡＣＫ＿１をアクティブにする。つまり、第２論理回路ブロック２は、第２クロックＣＬＫ＿２の１周期の期間だけ第１確認信号ＡＣＫ＿１をＨｉｇｈレベルにすることにより要求を許可したことを通知する。
【００４８】
Ｈｉｇｈレベルの第１確認信号ＡＣＫ＿１は、時刻ｔ０５のタイミングで、第３フリップフロップ１２と第４フリップフロップ１３により第１クロックＣＬＫ＿１に同期化される。つまり、確認信号同期化回路４は、第３フリップフロップ１２の出力と第４フリップフロップ１３の出力の反転（第２インバータ１４の出力）とを第３ＡＮＤ回路１５で論理積をとる。それにより確認信号同期化回路４は、第２確認信号ＡＣＫ＿２をハンドシェイク仕様に従って、第１クロックＣＬＫ＿１の１周期の期間だけＨｉｇｈレベルにして第１論理回路ブロック１に通知する。
【００４９】
ここで、要求信号同期化回路３のマスク部６は、第２論理回路ブロック２から出力される第１確認信号ＡＣＫ＿１により、第２要求信号ＲＥＱ＿２の出力マスク動作を行う。時刻ｔ０４において、第１確認信号ＡＣＫ＿１がＨｉｇｈレベルになり、次の第２クロックＣＬＫ＿２の立ち上がり（時刻ｔ０７）で、第１確認信号ＡＣＫ＿１がＬｏｗレベルになる。第１確認信号ＡＣＫ＿１がＨｉｇｈレベルになることで第１インバータ１１の出力がＬｏｗレベルになり、時刻ｔ０４における第１ＡＮＤ回路９の出力と第２ＡＮＤ回路１０の出力とがＬｏｗレベルになる（図９の（ｇ）、（ｉ））。第２ＡＮＤ回路１０からの出力がＬｏｗレベルになることで、時刻ｔ０７のタイミングで第２要求信号ＲＥＱ＿２は、Ｌｏｗレベルになり第２論理回路ブロック２からみると要求は完了する。第１論理回路ブロック１は、ハンドシェイク仕様にしたがって、時刻ｔ０５のタイミングで第２確認信号ＡＣＫ＿２がＨｉｇｈレベルになった次のクロック（時刻ｔ０６のタイミング）で第１要求信号ＲＥＱ＿１をＬｏｗレベルにし、要求を完了する。
【００５０】
以下に、第１論理回路ブロック１が２回連続して第１要求信号ＲＥＱ＿１による要求を行った場合の動作に関して説明を行う。図１０は、第１論理回路ブロック１から連続的に第１要求信号ＲＥＱ＿１が出力された場合の動作を例示するタイミングチャートである。図１０を参照すると、第１論理回路ブロック１は、時刻ｔ１５のタイミングでハンドシェイク動作を完了した後、ハンドシェイク仕様に従い、第１要求信号ＲＥＱ＿１をＬｏｗレベルにしないで継続してＨｉｇｈレベルにすることにより、２回目の要求を通知している。
【００５１】
図１０を参照すると、時刻ｔ１５のタイミングで出力される２回目の第１要求信号ＲＥＱ＿１に応答して、要求信号同期化回路３の第１ＡＮＤ回路９は、時刻ｔ１６のタイミングでＨｉｇｈレベルになる。第１フリップフロップ７は、そのＨｉｇｈレベルの第１要求信号ＲＥＱ＿１に応答して時刻ｔ１９のタイミングでＨｉｇｈレベルになる。第２ＡＮＤ回路１０は、時刻ｔ１９における第１フリップフロップ７の出力とその時の第１インバータ１１の論理積を実行し、その実行結果としてＨｉｇｈレベルの信号を出力する。
【００５２】
時刻ｔ２０のタイミングにおいて、第２フリップフロップ８は、第２ＡＮＤ回路１０の出力に基づいてＨｉｇｈレベルの第２要求信号ＲＥＱ＿２を出力する。第２論理回路ブロック２は、ハンドシェイク仕様に従い、時刻ｔ２１のタイミングで第１確認信号ＡＣＫ＿１をアクティブにする。つまり、第２論理回路ブロック２は、一回目の要求が通知されたときと同様に、第２クロックＣＬＫ＿２の１周期の期間だけ第１確認信号ＡＣＫ＿１をＨｉｇｈレベルにすることにより要求を許可したことを通知する。
【００５３】
以降、一回目の要求が通知されたときと同様に、要求信号同期化回路３のマスク部６は、第２論理回路ブロック２から出力される第１確認信号ＡＣＫ＿１により、第２要求信号ＲＥＱ＿２の出力マスク動作を行う。つまり、時刻ｔ２１において、第１確認信号ＡＣＫ＿１がＨｉｇｈレベルになり、次の第２クロックＣＬＫ＿２の立ち上がり（時刻ｔ２４）で、第１確認信号ＡＣＫ＿１がＬｏｗレベルになる。第１確認信号ＡＣＫ＿１がＨｉｇｈレベルになることで第１インバータ１１の出力がＬｏｗレベルになり、時刻ｔ２１における第１ＡＮＤ回路９の出力と第２ＡＮＤ回路１０の出力とがＬｏｗレベルになる（図９の（ｇ）、（ｉ））。第２ＡＮＤ回路１０からの出力がＬｏｗレベルになることで、時刻ｔ２４のタイミングで第２要求信号ＲＥＱ＿２は、Ｌｏｗレベルになり、第２論理回路ブロック２からみると要求は完了する。第１論理回路ブロック１は、ハンドシェイク仕様にしたがって、時刻ｔ２２のタイミングで第２確認信号ＡＣＫ＿２がＨｉｇｈレベルになった次のクロック（時刻ｔ２３のタイミング）で第１要求信号ＲＥＱ＿１をＬｏｗレベルにし、要求を完了する。
【００５４】
上述の構成・動作によって、非同期ブロック間で、同期ブロック同士の接続の場合と同様のハンドシェイク方法を用いることができる。そのため、各論理回路ブロック（データ送信側論理回路ブロックおよびデータ受信側論理回路ブロック）の送受信先の回路の動作クロックに依存しない設計ができる。また、同期ブロック同士の接続の場合と同様のハンドシェイク方法を用いることができるので、要求信号の禁止期間や無視期間を設ける必要が無いので、要求を２回連続して行うことが可能になり、結果的にハンドシェイクサイクルを短くすることができる。
【００５５】
［第２の実施形態］
以下に、図面を参照して、本発明の第２の実施形態について説明を行う。以下の述べる第２の実施形態では、データ送信側の動作クロックの周波数よりもデータ受信側の動作クロックの周波数のほうが周波数が大きい場合について説明を行なう。具体的には、以下の実施形態において、第３クロックＣＬＫ＿３の周期が第４クロックＣＬＫ＿４の周期より長く、周期の差は３倍未満である場合に対応して説明を行う。なお、これは、本発明における周期の差を限定するものではない。なお、以下の説明に用いる図面の中には、第１の実施形態と同じ符号が付されている回路や機能ブロックが存在する。それらの回路や機能ブロックの構成・動作は、第１の実施形態の説明の中で述べた構成・動作と同様であるため、その詳細な説明は省略する。
【００５６】
図１１は、本発明の第２の実施形態における、ハンドシェイク信号同期化回路を備える半導体装置の構成を例示するブロックである。図１１を参照すると、第２の実施形態の半導体装置は、第１論理回路ブロック１と、第２論理回路ブロック２と、要求信号同期化回路１６と、確認パルス伸長回路１７と、確認信号同期化回路１８とを含んで構成されている。以下の第２の実施形態において、第１論理回路ブロック１がデータを送信するデータ送信側回路であり、第２論理回路ブロック２が、そのデータを受信するデータ受信側回路である場合を例示して説明を行う。第１論理回路ブロック１は、第３クロックＣＬＫ＿３に同期して動作する回路である。図１１に示されているように、第１論理回路ブロック１は第３要求信号ＲＥＱ＿３の送信と、第５確認信号ＡＣＫ＿５の受信を行っている。第２論理回路ブロック２は、第４クロックＣＬＫ＿４に同期して動作する回路である。図１１に示されているように、第２論理回路ブロック２は、第４要求信号ＲＥＱ＿４の受信と第３確認信号ＡＣＫ＿３の送信を行っている。
【００５７】
要求信号同期化回路１６は、第３要求信号ＲＥＱ＿３に応答して、第４クロックＣＬＫ＿４に同期して第４要求信号ＲＥＱ＿４を出力している。また、図１１に示されているように、要求信号同期化回路１６には、第３確認信号ＡＣＫ＿３、第４確認信号ＡＣＫ＿４および第５確認信号ＡＣＫ＿５が供給されている。要求信号同期化回路３は、それらの確認信号（第３確認信号ＡＣＫ＿３〜第５確認信号ＡＣＫ＿５）に応答して、第４要求信号ＲＥＱ＿４の出力を禁止している。確認信号同期化回路１８は、第４確認信号ＡＣＫ＿４に応答して、第３クロックＣＬＫ＿３に同期して第５確認信号ＡＣＫ＿５を出力している。確認パルス伸長回路１７は、第４クロックＣＬＫ＿４に同期して、第３確認信号ＡＣＫ＿３のパルス幅を伸長して第４確認信号ＡＣＫ＿４に変換するパルス伸長回路である。図１１に示されているように、確認パルス伸長回路１７から出力される、第４確認信号ＡＣＫ＿４は、要求信号同期化回路１６と確認信号同期化回路１８とに供給されている。なお、要求信号同期化回路１６、確認パルス伸長回路１７および確認信号同期化回路１８の構成・動作に関する詳細は後述する。
【００５８】
図１２は、第２の実施形態の要求信号同期化回路１６の構成を例示するブロック図である。図１２を参照すると、要求信号同期化回路１６は、同期化部５とマスク部１９とを含んで構成されている。同期化部５は、第１の実施形態で説明した回路と同様の構成であるので、その詳細な説明を省略する。図１２に示されているように、マスク部１９は、第３確認信号ＡＣＫ＿３、第４確認信号ＡＣＫ＿４および第５確認信号ＡＣＫ＿５に基づいて、第４要求信号ＲＥＱ＿４の生成をマスクするため回路であり、第１ＡＮＤ回路９ａと、第２ＡＮＤ回路１０ａと、第１インバータ１１と、第３インバータ２０と、第４インバータ２１とを含んで構成されている。第１ＡＮＤ回路９ａは、第１入力端、第２入力端および第３入力端を備えている。第１ＡＮＤ回路９ａの第１入力端は、第１論理回路ブロック１に接続されている。また、第２入力端は第３インバータ２０の出力端に接続されて、第３入力端は、第４インバータ２１の出力端に接続されている。第１ＡＮＤ回路９ａの出力端は第１フリップフロップ７の信号入力端に接続されている。図１２に示されているように、第２ＡＮＤ回路１０ａは、第１入力端と、第２入力端とを備えている。第２ＡＮＤ回路１０ａの第１入力端は、第１フリップフロップ７の出力端に接続されている。第２ＡＮＤ回路１０ａの第２入力端は、第１インバータ１１の出力端に接続されている。第３インバータ２０の入力端は確認信号同期化回路１８に接続されている。また、第４インバータ２１の入力端は確認パルス伸長回路１７に接続されている。
【００５９】
図１３は、確認パルス伸長回路１７の構成を例示するブロック図である。図１３に示されているように、確認パルス伸長回路１７は、複数のフリップフロップ（２２〜２５）と、第５インバータ２６と、第６インバータ２７と、ＯＲ回路２８とを含んで構成されている。複数のフリップフロップ（２２〜２５）は、第３確認信号ＡＣＫ＿３の伸長を目的としたシフトレジスタを構成するためのＤタイプフリップフロップである。第５インバータ２６と、第６インバータ２７は、第４クロックＣＬＫ＿４を反転させるためのインバータ論理素子である。また、ＯＲ回路２８は、第３確認信号ＡＣＫ＿３と複数のフリップフロップ（２２〜２５）の各出力信号の論理和をとり、第４確認信号ＡＣＫ＿４のパルス幅を第４クロックＣＬＫ＿４の３周期分の長さに対応するパルス幅に伸長して、第４確認信号ＡＣＫ＿４を生成するための論理素子である。
【００６０】
図１３に示されているように、第５インバータ２６の入力端と、第６インバータ２７の入力端には、第４クロックＣＬＫ＿４が供給されている。第５インバータ２６の出力端は第５フリップフロップ２２のクロック供給端子に接続されている。同様に、第６インバータ２７の入力端には第４クロックＣＬＫ＿４が供給され、その出力端は第７フリップフロップ２４のクロック供給端子に接続されている。また、図１３に示されているように、第６フリップフロップ２３と第８フリップフロップ２５のクロック供給端子には、インバータを介することなく第４クロックＣＬＫ＿４が供給されている。
【００６１】
複数のフリップフロップ（２２〜２５）は、直列に接続され、初段の第５フリップフロップ２２には第３確認信号ＡＣＫ＿３が供給されている。また、第３確認信号ＡＣＫ＿３は、ＯＲ回路２８にも要求されている。第５フリップフロップ２２の出力端子は、第６フリップフロップ２３の信号入力端子に接続されている。また、第５フリップフロップ２２の出力端子はＯＲ回路２８にも接続されている。同様に、第６フリップフロップ２３の出力端子は、第７フリップフロップ２４の信号入力端子に接続されると共に、ＯＲ回路２８に接続され、第７フリップフロップ２４の出力端子は、第８フリップフロップ２５の信号入力端子に接続されると共に、ＯＲ回路２８に接続されている。また、最終段の第８フリップフロップ２５の出力端子は、ＯＲ回路２８に接続されている。
【００６２】
図１４は、確認信号同期化回路１８の構成を例示するブロック図である。図１４に示す確認信号同期化回路１８は、第１の実施形態の確認信号同期化回路４と同様の構成であるので、その詳細な説明は省略する。なお。第１の実施形態の確認信号同期化回路４を構成する各回路と、第２の実施形態の確認信号同期化回路１８を構成する各回路とを区別する場合には、第２の実施形態の回路には、その符号に「ａ」の記号をつけて区別する。図１４を参照すると、確認信号同期化回路１８の第３フリップフロップ１２ａと第４フリップフロップ１３ａは、第３クロックＣＬＫ＿３に同期して動作している。図１４に示されているように、第３フリップフロップ１２ａには、第４確認信号ＡＣＫ＿４が供給されている。第２インバータ１４ａと第３ＡＮＤ回路１５ａとは、第５確認信号ＡＣＫ＿５を生成するための組合せ論理素子である。第２インバータ１４ａと第３ＡＮＤ回路１５ａは、第３クロックＣＬＫ＿３の１クロック分の長さのパルスを生成して、第５確認信号ＡＣＫ＿５として出力している。
【００６３】
以下に、図面を参照して、第２の実施形態の動作について説明を行う。図１５は、第２の実施形態の動作を例示するタイミングチャートである。図１５を参照すると、図１５の（ａ）は、第１論理回路ブロック１と確認信号同期化回路１８の動作クロックである第３クロックＣＬＫ＿３の波形を示している。図１５の（ｆ）は、第２論理回路ブロック２、要求信号同期化回路１６および確認パルス伸長回路１７の動作クロックである、第４クロックＣＬＫ＿４の波形を示している。上述したように、本実施形態では、第３クロックＣＬＫ＿３の周期が第４クロックＣＬＫ＿４の周期より長くなっており、周期の差は３倍未満である。
【００６４】
図１５の（ｂ）は、第１論理回路ブロック１から出力される第３要求信号ＲＥＱ＿３の波形を示している。図１５の（ｋ）は、第２論理回路ブロック２から出力される第３確認信号ＡＣＫ＿３の波形を示している。また、図１５の（ｊ）は、要求信号同期化回路１６で生成される第４要求信号ＲＥＱ＿４の波形を示している。図１５の（ｅ）は、確認信号同期化回路１８で生成される第５確認信号ＡＣＫ＿５の波形を示している。図１５の（ｐ）は、確認パルス伸長回路１７で生成される第４確認信号ＡＣＫ＿４の波形を示している。
【００６５】
図１５の（ｈ）は、第１フリップフロップ７から出力される出力信号の波形を示している。図１５の（ｃ）は、第３フリップフロップ１２ａから出力される出力信号の波形を示している。図１５の（ｄ）は、第４フリップフロップ１３ａから出力される出力信号の波形を示している。図１５の（ｌ）は、第５フリップフロップ２２から出力される出力信号の波形を示している。図１５の（ｍ）は、第６フリップフロップ２３から出力される出力信号の波形を示している。図１５の（ｎ）は、第７フリップフロップ２４から出力される出力信号の波形を示している。図１５の（ｏ）は、第８フリップフロップ２５から出力される出力信号の波形を示している。図１５の（ｇ）は第１ＡＮＤ回路９ａから出力される出力信号の波形を示している。図１５の（ｉ）は、第２ＡＮＤ回路１０ａから出力される出力信号の波形を示している。
【００６６】
図１５を参照すると、第１論理回路ブロック１は、第２論理回路ブロック２に要求を通知するために、時刻ｔ３１のタイミングで第３要求信号ＲＥＱ＿３をＨｉｇｈレベルにする。そのＨｉｇｈレベルの第３要求信号ＲＥＱ＿３は、要求信号同期化回路１６に供給される。要求信号同期化回路１６の第１ＡＮＤ回路９ａは、そのＨｉｇｈレベルの第３要求信号ＲＥＱ＿３に応答して、時刻ｔ３２のタイミングで、出力をＨｉｇｈレベルにする。時刻ｔ３３において、第１フリップフロップ７は、第１ＡＮＤ回路９ａの出力に応答して、出力をＨｉｇｈレベルにする。第２ＡＮＤ回路１０ａは、時刻ｔ３３における第１フリップフロップ７の出力に応答して、出力をＨｉｇｈレベルにする。その第２ＡＮＤ回路１０ａの出力に応答して、時刻ｔ３４のタイミングで、第２フリップフロップ８は、出力をＨｉｇｈレベルにする。
【００６７】
この一連の動作によって、第１論理回路ブロック１から出力されるＨｉｇｈレベルの第３要求信号ＲＥＱ＿３は、要求信号同期化回路１６により第４クロックＣＬＫ＿４に同期化される。第４クロックＣＬＫ＿４の同期化された信号は、時刻ｔ３４のタイミングで第４要求信号ＲＥＱ＿４として第２論理回路ブロック２に通知される。
【００６８】
第２論理回路ブロック２は、第４要求信号ＲＥＱ＿４に応答して、時刻ｔ３５のタイミングで第３確認信号ＡＣＫ＿３をアクティブにする。具体的には、第２論理回路ブロック２は、第４クロックＣＬＫ＿４の１周期の長さだけ第３確認信号ＡＣＫ＿３をＨｉｇｈレベルにする。第２論理回路ブロック２は、そのＨｉｇｈレベルの第３確認信号ＡＣＫ＿３により要求を許可したことを通知する。
【００６９】
そのＨｉｇｈレベルの第３確認信号ＡＣＫ＿３は、確認パルス伸長回路１７に供給される。確認パルス伸長回路１７に供給されるＨｉｇｈレベルの第３確認信号ＡＣＫ＿３は、第５フリップフロップ２２、第６フリップフロップ２３、第７フリップフロップ２４および第８フリップフロップ２５によりシフトされる。また、Ｈｉｇｈレベルの第３確認信号ＡＣＫ＿３、第５フリップフロップ２２の出力信号、第６フリップフロップ２３の出力信号、第７フリップフロップ２４の出力信号および第８フリップフロップ２５の出力信号はＯＲ回路２８に供給される。ＯＲ回路２８は、論理和をとることにより、第４クロックＣＬＫ＿４の３周期分のパルス幅を確保した第４確認信号ＡＣＫ＿４を生成する。なお、これは確認信号同期化回路１８の動作クロックである第３クロックＣＬＫ＿３が第４クロックＣＬＫ＿４の３倍の周期を持つ場合における、第４確認信号ＡＣＫ＿４の生成動作である。第３クロックＣＬＫ＿３と第４クロックＣＬＫ＿４の周期の比がこれ以外の場合には、確認パルス伸長回路１７を構成するフリップフロップの段数を変更することで、対応させることが可能となる。
【００７０】
確認パルス伸長回路１７から出力される第４確認信号ＡＣＫ＿４は、確認信号同期化回路１８に供給される。確認信号同期化回路１８の第３フリップフロップ１２ａは、その第４確認信号ＡＣＫ＿４に応答して、時刻ｔ３６のタイミングで出力をＨｉｇｈレベルにする。このとき（時刻ｔ３６のタイミングで）第４フリップフロップ１３ａは、Ｌｏｗレベルを出力している。したがって、時刻ｔ３６のタイミングにおける第２インバータ１４ａの出力は、Ｈｉｇｈレベルである。第３ＡＮＤ回路１５ａは、第３フリップフロップ１２ａの出力と第４フリップフロップ１３ａの出力の反転（第２インバータ１４ａの出力）論理積をとることにより、第５確認信号ＡＣＫ＿５を第３クロックＣＬＫ＿３の１周期の長さだけＨｉｇｈレベルにする。
【００７１】
時刻ｔ４０のタイミングにおいて、第４フリップフロップ１３ａは、第３フリップフロップ１２ａの出力に応答して出力をＨｉｇｈレベルにする。このとき（時刻ｔ４０のタイミング）における第２インバータ１４ａの出力は、Ｌｏｗレベルである。第３ＡＮＤ回路１５ａは、第３フリップフロップ１２ａの出力と第４フリップフロップ１３ａの出力の反転（第２インバータ１４ａの出力）論理積をとることにより、第５確認信号ＡＣＫ＿５Ｌｏｗレベルにする。この一連の動作によって、第３確認信号ＡＣＫ＿３は第３クロックＣＬＫ＿３に同期化されて第１論理回路ブロック１に通知される。
【００７２】
ここで、要求信号同期化回路１６は、第３確認信号ＡＣＫ＿３、第４確認信号ＡＣＫ＿４および第５確認信号ＡＣＫ＿５に基づいて、第４要求信号ＲＥＱ＿４の出力マスク動作を行う。時刻ｔ３５で第３確認信号ＡＣＫ＿３がＨｉｇｈレベルになった次の第４クロックＣＬＫ＿４の立ちあがりタイミング（時刻ｔ３７のタイミング）で、第４要求信号ＲＥＱ＿４信号はＬｏｗレベルになる。したがって、時刻ｔ３７のタイミングで、第２論理回路ブロック２からみると要求は完了する。第１論理回路ブロック１は、ハンドシェイク仕様にしたがって、第５確認信号ＡＣＫ＿５がＨｉｇｈレベルになった次のクロックの立ち上がりタイミング（時刻ｔ４０のタイミング）で第３要求信号ＲＥＱ＿３をＬｏｗレベルにし、要求を完了する。
【００７３】
上述の第２の実施形態の構成・動作によって、データ送信側の動作クロックの周波数が、データ受信側の動作クロックの周波数よりも低い場合にも、非同期ブロック間で、同期ブロック同士の接続の場合と同様のハンドシェイク方法を用いることができる。そのため、第１の実施形態と同様に、各論理回路ブロック（データ送信側論理回路ブロックおよびデータ受信側論理回路ブロック）の送受信先の回路の動作クロックに依存しない設計ができる。また、同期ブロック同士の接続の場合と同様のハンドシェイク方法を用いることができるので、要求信号の禁止期間や無視期間を設ける必要が無いので、要求を２回連続して行うことが可能になり、結果的にハンドシェイクサイクルを短くすることができる。
【００７４】
なお、上述してきた複数の実施形態は、その構成・動作に矛盾が生じない場合において、組み合わせて実施することが可能である。
【図面の簡単な説明】
【００７５】
【図１】図１は、従来の同期化回路を備える半導体回路の構成を示すブロック図である。
【図２】図２は、従来の要求信号同期化回路の構成を示すブロック図である。
【図３】図３は、従来の確認信号同期化回路の構成を示すブロック図である。
【図４】図４は、従来の半導体回路のハンドシェイク動作を示すタイミングチャートである。
【図５】図５は、本発明の第１の実施形態の構成を例示するブロック図である。
【図６】図６は、第１の実施形態における要求信号同期化回路の構成を例示するブロック図である。
【図７】図７は、第１の実施形態における確認信号同期化回路の構成を例示するブロック図である。
【図８】図８は、本発明が実現するハンドシェイクの様態を例示するタイミングチャートである。
【図９】図９は、第１の実施形態における同期化動作を例示するタイミングチャートである。
【図１０】図１０は、第１の実施形態における、連続的にハンドシェイクを行う場合の動作を例示するタイミングチャートである。
【図１１】図１１は、本発明の第２の実施形態の構成を例示するブロック図である。
【図１２】図１２は、第２の実施形態における要求信号同期化回路の構成を例示するブロック図である。
【図１３】図１３は、第２の実施形態における確認パルス伸長回路１７の構成を例示するブロック図である。
【図１４】図１４は、第２の実施形態の確認信号同期化回路１８の構成を例示するブロック図である。
【図１５】図１５は、第２の実施形態の動作を例示するタイミングチャートである。
【符号の説明】
【００７６】
１…第１論理回路ブロック
２…第２論理回路ブロック
３…要求信号同期化回路
４…確認信号同期化回路
５…同期化部
６…マスク部
７、７ａ…第１フリップフロップ
８、８ａ…第２フリップフロップ
９、９ａ…第１ＡＮＤ回路
１０、１０ａ…第２ＡＮＤ回路
１１…第１インバータ
１２、１２ａ…第３フリップフロップ
１３、１３ａ…第４フリップフロップ
１４、１４ａ…第２インバータ
１５、１５ａ…第３ＡＮＤ回路
１６…要求信号同期化回路
１７…確認パルス伸長回路
１８…確認信号同期化回路
１９…マスク部
２０…第３インバータ
２１…第４インバータ
２２…第５フリップフロップ
２３…第６フリップフロップ
２４…第７フリップフロップ
２５…第８フリップフロップ
２６…第５インバータ
２７…第６インバータ
２８…ＯＲ回路
ＲＥＱ＿１…第１要求信号
ＲＥＱ＿２…第２要求信号
ＲＥＱ＿３…第３要求信号
ＲＥＱ＿４…第４要求信号
ＡＣＫ＿１…第１確認信号
ＡＣＫ＿２…第２確認信号
ＡＣＫ＿３…第３確認信号
ＡＣＫ＿４…第４確認信号
ＡＣＫ＿５…第５確認信号
ＣＬＫ＿１…第１クロック
ＣＬＫ＿２…第２クロック
ＣＬＫ＿３…第３クロック
ＣＬＫ＿４…第４クロック
１０１…第１論理回路ブロック
１０２…第２論理回路ブロック
１０３…要求信号同期化回路
１０４…確認信号同期化回路
１０７…第１フリップフロップ
１０８…第２フリップフロップ
１１２…第３フリップフロップ
１１３…第４フリップフロップ
１１４…第２インバータ
１１５…ＡＮＤ回路
ＲＥＱ＿Ｘ…第１要求信号
ＲＥＱ＿Ｙ…第２要求信号
ＡＣＫ＿Ｙ…第１確認信号
ＡＣＫ＿Ｘ…第２確認信号
ＣＬＫ＿Ｘ…第１クロック
ＣＬＫ＿Ｙ…第２クロック
【図１】
0004394620.tif 000002
【図２】
0004394620.tif 000003
【図３】
0004394620.tif 000004
【図４】
0004394620.tif 000005
【図５】
0004394620.tif 000006
【図６】
0004394620.tif 000007
【図７】
0004394620.tif 000008
【図８】
0004394620.tif 000009
【図９】
0004394620.tif 000010
【図１０】
0004394620.tif 000011
【図１１】
0004394620.tif 000012
【図１２】
0004394620.tif 000013
【図１３】
0004394620.tif 000014
【図１４】
0004394620.tif 000015
【図１５】
0004394620.tif 000016