JP4394620B2 - 非同期ブロック間のハンドシェイク信号同期化回路およびそれの動作方法 - Google Patents

非同期ブロック間のハンドシェイク信号同期化回路およびそれの動作方法 Download PDF

Info

Publication number
JP4394620B2
JP4394620B2 JP2005264001A JP2005264001A JP4394620B2 JP 4394620 B2 JP4394620 B2 JP 4394620B2 JP 2005264001 A JP2005264001 A JP 2005264001A JP 2005264001 A JP2005264001 A JP 2005264001A JP 4394620 B2 JP4394620 B2 JP 4394620B2
Authority
JP
Japan
Prior art keywords
signal
flip
flop
synchronization
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005264001A
Other languages
English (en)
Other versions
JP2007079709A (ja
Inventor
季己 櫻井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC AccessTechnica Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC AccessTechnica Ltd filed Critical NEC AccessTechnica Ltd
Priority to JP2005264001A priority Critical patent/JP4394620B2/ja
Publication of JP2007079709A publication Critical patent/JP2007079709A/ja
Application granted granted Critical
Publication of JP4394620B2 publication Critical patent/JP4394620B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、非同期ブロック間のハンドシェイク信号同期化回路およびそれの動作方法に関する。
現在普及している半導体装置の多くは、複数の回路ブロックで構成されている半導体回路を備えている。それら複数の回路ブロックのそれぞれは、周波数の異なるクロックで動作している場合がある。
そのような半導体回路を適切に動作させるために、異なる周波数のクロックで動作している回路ブロック同士を接続し、それら二つの回路ブロックの間で適切に信号を転送するための技術が知られている(例えば、特許文献1〜3参照。)。従来、ある周波数で動作している送信側回路ブロックから、その周波数と異なる周波数のクロックで動作している受信側回路ブロックに信号を転送する場合、受信側ブロックにとっては、送信側ブロックから供給される入力信号は、当然非同期信号となる。非同期ブロック間(送信側ブロックと受信側ブロックとの間)で信号を転送するときには、同期化回路によって送信側ブロックから供給される入力信号の同期を取り直す必要がある。したがって、現在普及している半導体装置の多くにとって、信号の同期化技術は必須のものとなっている。
周波数が異なるクロックで動作している論理回路ブロック間で、データを転送する場合には、データ信号の他に制御のための二つの信号が用いられている。以下、データ送信側からデータ受信側に送られる制御信号を要求信号とよび、データ受信側からデータ送信側に送られる制御信号を確認信号と呼ぶ。各々の回路(データ送信側またはデータ受信側)は、要求信号および確認信号がアクティブの場合には、接続先に対して動作許可をしていることを示している。したがって、データ送信側は、相手先が動作中である場合には、接続相手先への制御信号の送信を禁止する必要がある。また、データ受信側は、自身が動作中の場合には、接続相手先からの制御信号を無視する必要がある。
図1は、従来の同期化回路を備える半導体回路の構成を示すブロック図である。図1を参照すると、従来の半導体回路は、第1論理回路ブロック101と、第2論理回路ブロック102と、要求信号同期化回路103と、確認信号同期化回路104とを含んで構成されている。図1に示されているように、第1論理回路ブロック101は、第1クロックCLK_Xに同期して動作している。また、第2論理回路ブロック102は、第2クロックCLK_Yに同期して動作している。
従来の要求信号同期化回路103は、第1論理回路ブロック101に接続され、第1論理回路ブロック101から出力される第1要求信号REQ_Xと第2クロックCLK_Yが供給されている。要求信号同期化回路103は、第1要求信号EQ_Xに応答して、第2クロックに同期して、第2要求信号REQ_Yを第2論理回路ブロック102に供給している。また、従来の確認信号同期化回路104は、第2論理回路ブロック102に接続され、第2論理回路ブロック102から出力される第1確認信号ACK_Xと第1クロックCLK_Xが供給されている。確認信号同期化回路104は、その第1確認信号ACK_Xに応答して第1クロックCLK_Xに同期して第2確認信号ACK_Xを第1論理回路ブロック101に供給している。
図2は、従来の要求信号同期化回路103の構成を示すブロック図である。図2を参照すると、従来の要求信号同期化回路103は、第1フリップフロップ107と第2フリップフロップ108とで構成されている。つまり、従来の要求信号同期化回路103は、2個のフリップフロップ(107、108)を直列接続した回路で構成されている。図2に示されているように、フリップフロップの間には、組み合わせ論理回路は存在していない。第1フリップフロップ107と第2フリップフロップ108とには、第2クロックCLK_Yが供給され、その第2クロックCLK_Yに同期して動作している。要求信号同期化回路103は、次段のフリップフロップが初段のフリップフロップの出力をサンプルする前のタイミングで、初段のフリップフロップが不安定状態から抜け出して出力信号が安定になることを保証している。なお、この回路ではフリップフロップ出力間のスキューを最小化するため、フリップフロップ同士をできるだけ接近させて配置する必要がある。
図3は、従来の確認信号同期化回路104の構成を示すブロック図である。図3を参照すると、従来の確認信号同期化回路104は、第3フリップフロップ112と、第4フリップフロップ113と、第2インバータ114と、AND回路115とで構成されている。図3に示されているように、従来の確認信号同期化回路104は、2個のフリップフロップが直列に接続された同期化部と、第2インバータ114とAND回路115とで構成された微分回路とで構成されている。第3フリップフロップ112と第4フリップフロップ113とには、第1クロックCLK_Xが供給され、その第1クロックCLK_Xに同期して動作している。第2インバータ114は、第4フリップフロップ113からの出力を反転してAND回路115に供給している。AND回路115は、その反転出力と第3フリップフロップ112の出力に基づいて第2確認信号を出力している。
図4は、従来のハンドシェイク動作を示すタイミングチャートである。図4を参照すると、このタイミングチャートは、従来のハンドシェイク動作において、第1論理回路ブロックが時刻S1のタイミングで第1要求信号REQ_Xを出力した場合の動作を示している。図4に示されているように、時刻S2のタイミングで第2要求信号REQ_Yが出力される。第2論理回路102は、時刻S3のタイミングで第1確認信号ACK_Yを1パルス(第2クロックCLK_Yの1周期分)出力する。確認信号同期化回路104は、その第1確認信号ACK_Yに応答して、時刻S4のタイミングで第2確認信号ACK_Xを出力する。第1論理回路ブロック101は、第2確認信号ACK_Xに応答して第1要求信号REQ_Xの出力を終了する。
図4に示されているように、このとき、要求信号同期化回路103は、第2要求信号REQ_Yの出力を継続している。したがって、第1論理回路ブロック101は、要求信号同期化回路103に対して第1要求信号REQ_Xの出力を禁止しておく必要がある。また、第2論理回路ブロック102は、時刻S6のタイミングで第1確認信号の出力を終了する。第2論理回路ブロック102は、第1要求信号REQ_Xの出力が終了した後、第2要求信号REQ_Yの出力が終了するまでの期間、つまり時刻S6から時刻S8の期間は、第2要求信号REQ_Yを無視しておく必要がある。
従来の半導体装置では、データ送信側の論理回路ブロックが第1要求信号の出力を禁止しておく期間(REQ_X禁止期間)を、半導体装置の設計段階で定義しておくことが求められている。また、データ受信側の論理回路ブロックが、第2要求信号を無視する期間(REQ_Y無視期間)も、半導体装置の設計段階で定義しておくことが求められている。
ここで、データ送信側とデータ受信側とが同じ周波数のクロックで動作している場合、上述のREQ_X禁止期間やREQ_Y無視期間を定義することなく回路を設計することが可能である。したがって、異なる周波数のクロックで動作している回路ブロック同士を接続する場合に比較して、短時間で適切な回路設計をすることが可能である。
異なる周波数のクロックで動作している回路ブロック同士を接続する場合であっても、REQ_X禁止期間やREQ_Y無視期間を定義することなく回路を設計することが可能な技術が望まれる。
特開2002−082902号公報 特開2003−069540号公報 特開2004−110191号公報
本発明が解決しようとする課題は、異なる周波数のクロックで動作している回路ブロック同士を接続する場合であっても、REQ_X禁止期間やREQ_Y無視期間を定義せずに動作する回路を提供することにある。
以下に、[発明を実施するための最良の形態]で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
上記課題を解決するために、以下のような同期回路を備える半導体装置を構成する。その半導体装置は、第1クロック(CLK_1、CLK_3)に同期して動作する第1論理回路ブロック(1)と、第2クロック(CLK_2,CLK_4)に同期して動作する第2論理回路ブロック(2)と、前記第1論理回路ブロック(1)から出力される第1要求信号(REQ_1)を受け、前記第1要求信号(REQ_1、REQ_3)に基づいて第2要求信号(REQ_2、REQ_4)を生成し、前記第2要求信号(REQ_2、REQ_4)を第2クロック(CLK_2,CLK_4)に同期して前記第2論理回路ブロック(2)に出力する要求信号同期化回路(3,16)と、前記第2論理回路ブロック(2)から出力される第1確認信号(ACK_1、ACK_3)を受け、前記第1確認信号(ACK_1、ACK_3)に基づいて第2確認信号(ACK_2、ACK_4)を生成し、前記第2確認信号(ACK_2、ACK_4)を前記第1クロック(CLK_1、CLK_3)に同期して前記第1論理回路ブロック(1)に出力する確認信号同期化回路(4、18)とを具備する構成であることが好ましい。
ここで、前記要求信号同期化回路(3,16)は、前記第1クロック(CLK_1、CLK_3)に同期して出力される前記第1要求信号(REQ_1、REQ_3)を、前記第2クロック(CLK_2,CLK_4)に同期させて、前記第2要求信号(REQ_2、REQ_4)を生成する同期化部(5)と、前記第2要求信号(REQ_2、REQ_4)の出力を禁止するマスク部(6、19)とを含む構成であることが好ましい。
前記第2論理回路ブロック(2)は、前記第2要求信号(REQ_2、REQ_4)に応答して第1確認信号(ACK_1、ACK_3)を出力する。そして、前記マスク部(6、19)は、前記第1確認信号(ACK_1、ACK_3)に応答して、現在出力されている前記第2要求信号(REQ_2、REQ_4)の出力を禁止する。
前記同期化部(5)は、前記第2クロック(CLK_2,CLK_4)に同期して供給される信号を保持する第1フリップフロップと、前記第2クロック(CLK_2,CLK_4)に同期して前記第2要求信号(REQ_2、REQ_4)を出力する第2フリップフロップとを含む構成であることが好ましい。また、前記マスク部(6、19)は、前記第1要求信号(REQ_1、REQ_3)と前記第1確認信号(ACK_1、ACK_3)を反転させた反転第1確認信号との論理積を演算して第1演算結果を出力する第1論理積回路と、前記第1フリップフロップから出力される信号と前記反転第1確認信号との論理積を演算して第2演算結果を出力する第2論理積回路とを含む構成であることが好ましい。そのうえで、前記第1論理積回路の出力端は、前記第1フリップフロップのデータ入力端に接続され、前記第2論理性回路の出力端は、前記第2フリップフロップのデータ入力端に接続される半導体装置を構成する。
また、その半導体装置において、前記確認信号同期化回路(4、18)は、前記第1確認信号(ACK_1、ACK_3)を受け、前記第1クロック(CLK_1、CLK_3)に同期して前記第1確認信号(ACK_1、ACK_3)を保持する第3フリップフロップと、前記第3フリップフロップから出力される第3フリップフロップ出力信号を受け、前記第3フリップフロップ出力信号を前記第1クロック(CLK_1、CLK_3)に同期して保持する第4フリップフロップと、前記第4フリップフロップから出力される第4フリップフロップ出力信号を受け、前記第4フリップフロップ出力信号を反転した反転第4フリップフロップ出力信号を出力するインバータと、前記インバータの出力端に接続され、前記反転第4フリップフロップ出力信号と前記第3フリップフロップ出力信号との論理積を演算した演算結果を前記第2確認信号(ACK_2、ACK_4)として出力する第3論理積回路とを具備する構成であることが好ましい。なお、その半導体装置は、前記第1クロック(CLK_1、CLK_3)は、前記第2クロック(CLK_2,CLK_4)より周期が長い短いクロックである場合に適している。
また、上記の課題を解決するために、第1クロック(CLK_1、CLK_3)に同期して動作する第1論理回路ブロック(1)と、第2クロック(CLK_2,CLK_4)に同期して動作する第2論理回路ブロック(2)と、前記第1論理回路ブロック(1)から出力される第1要求信号(REQ_1)を受け、前記第1要求信号(REQ_1、REQ_3)に基づいて第2要求信号(REQ_2、REQ_4)を生成し、前記第2要求信号(REQ_2、REQ_4)を第2クロック(CLK_2,CLK_4)に同期して前記第2論理回路ブロック(2)に出力する要求信号同期化回路(3,16)と、前記第2論理回路ブロック(2)から出力される第1確認信号(ACK_1、ACK_3)を受け、前記第1確認信号(ACK_1、ACK_3)に基づいて第2確認信号(ACK_2、ACK_4)を生成し、前記第2確認信号(ACK_2、ACK_4)を前記要求信号同期化回路(3,16)に供給する確認パルス伸長回路と、前記確認パルス伸長回路から出力される第2確認信号(ACK_2、ACK_4)を受け、前記第2確認信号(ACK_2、ACK_4)に基づいて第3確認信号(ACK_5)を生成し、前記第3確認信号(ACK_5)を前記第1クロック(CLK_1、CLK_3)に同期して前記要求信号同期化回路(3,16)と前記第1論理回路ブロック(1)とに出力する確認信号同期化回路(4、18)とを具備する半導体回路を構成することが好ましい。ここで、前記要求信号同期化回路(3,16)は、前記第1クロック(CLK_1、CLK_3)に同期して出力される前記第1要求信号(REQ_1、REQ_3)を、前記第2クロック(CLK_2,CLK_4)に同期させて、前記第2要求信号(REQ_2、REQ_4)を生成する同期化部(5)と、
前記第2要求信号(REQ_2、REQ_4)の出力を禁止するマスク部(6、19)とを含む構成であることが好ましい。そして、前記第2論理回路ブロック(2)は、前記第2要求信号(REQ_2、REQ_4)に応答して第1確認信号(ACK_1、ACK_3)を出力し、前記マスク部(6、19)は、前記第1確認信号(ACK_1、ACK_3)と、前記第2確認信号(ACK_2、ACK_4)と、前記第3確認信号(ACK_5)とに応答して、現在出力されている前記第2要求信号(REQ_2、REQ_4)の出力を禁止するものであると良い。
前記同期化部(5)は、前記第2クロック(CLK_2,CLK_4)に同期して供給される信号を保持する第1フリップフロップと、前記第2クロック(CLK_2,CLK_4)に同期して前記第2要求信号(REQ_2、REQ_4)を出力する第2フリップフロップとを含む構成であると良い。そして、前記マスク部(6、19)は、前記第1要求信号(REQ_1、REQ_3)と前記第2確認信号(ACK_2、ACK_4)を反転させた反転第2確認信号と前記第3確認信号(ACK_5)を反転させた反転第3確認信号(ACK_5)との論理積演算を行う第1論理積回路と、前記第1フリップフロップ出力と前記第1確認信号(ACK_1、ACK_3)を反転させた反転第1確認信号との論理積演算を行う第2論理積回路とを含む構成であると良い。そのうえで、前記第1論理積回路の出力端は、前記第1フリップフロップのデータ入力端に接続され、前記第2論理性回路の出力端は、前記第2フリップフロップのデータ入力端に接続される半導体装置を構成する。
前記確認パルス伸長回路は、論理和回路と、第2クロック(CLK_2,CLK_4)信号に基づいて動作するシフトレジスタ部とを含む構成であることが好ましい。その場合、前記シフトレジスタ部は、前記第1確認信号(ACK_1、ACK_3)を受け、前記第1確認信号(ACK_1、ACK_3)を前記第2クロック(CLK_2,CLK_4)信号に同期してシフトする複数のフリップフロップを含むものであると良い。そして、前記論理和回路には、前記第1確認信号(ACK_1、ACK_3)と、前記複数のフリップフロップの出力のそれぞれが供給される半導体装置を構成する。
前記確認信号同期化回路(4、18)は、前記第1確認信号(ACK_1、ACK_3)を受け、前記第1クロック(CLK_1、CLK_3)に同期して前記第1確認信号(ACK_1、ACK_3)を保持する第3フリップフロップと、前記第3フリップフロップから出力される第3フリップフロップ出力信号を受け、前記第3フリップフロップ出力信号を前記第1クロック(CLK_1、CLK_3)に同期して保持する第4フリップフロップと、前記第4フリップフロップから出力される第4フリップフロップ出力信号を受け、前記第4フリップフロップ出力信号を反転した反転第4フリップフロップ出力信号を出力するインバータと、前記インバータの出力端に接続され、前記反転第4フリップフロップ出力信号と前記第3フリップフロップ出力信号との論理積を演算した演算結果を前記第3確認信号(ACK_5)として出力する第3論理積回路とを備えて構成されることが好ましい。なお、上記の構成は、前記第1クロック(CLK_1、CLK_3)は、前記第2クロック(CLK_2,CLK_4)より周期が短いクロックである半導体装置に適している。
また、上記の課題を解決するために、以下のような動作方法で回路を動作させてもよい。その動作方法は、
(a)第1クロック(CLK_1、CLK_3)に同期して動作する第1論理回路ブロック(1)から出力される第1要求信号(REQ_1)を受け、前記第1要求信号(REQ_1、REQ_3)を、第2クロック(CLK_2,CLK_4)に同期させて第2要求信号(REQ_2、REQ_4)を生成し、前記第2要求信号(REQ_2、REQ_4)を第2クロック(CLK_2,CLK_4)に同期して前記第2論理回路ブロック(2)に出力するステップと、
(b)前記第2クロック(CLK_2,CLK_4)に同期して動作する第2論理回路ブロック(2)から出力される第1確認信号(ACK_1、ACK_3)を受け、前記第1確認信号(ACK_1、ACK_3)に基づいて第2確認信号(ACK_2、ACK_4)を生成し、前記第2確認信号(ACK_2、ACK_4)を前記第1クロック(CLK_1、CLK_3)に同期して前記第1論理回路ブロック(1)に出力するステップと、
(c)前記第2要求信号(REQ_2、REQ_4)に応答して前記第2論理回路ブロック(2)から出力される前記第1確認信号(ACK_1、ACK_3)を受け、前記第1確認信号(ACK_1、ACK_3)に応答して、現在出力されている前記第2要求信号(REQ_2、REQ_4)の出力を禁止するステップを具備する非同期ブロックの同期化方法である。
その非同期ブロックの同期化方法において、
前記(c)ステップは、
前記第1要求信号(REQ_1、REQ_3)と前記第1確認信号(ACK_1、ACK_3)を反転させた反転第1確認信号との論理積を演算して第1演算結果を出力するステップと、
前記第1演算結果を、前記第2クロック(CLK_2,CLK_4)に同期して動作する第1フリップフロップに供給するステップと、
前記第1フリップフロップから出力される信号と前記反転第1確認信号との論理積を演算して第2演算結果を出力するステップと、
前記第2演算結果を、前記第2要求信号(REQ_2、REQ_4)を出力する第2フリップフロップに供給するステップを含む非同期ブロックの同期化方法であっても良い。
また、その非同期ブロックの同期化方法において、
前記(b)ステップは、
前記第1確認信号(ACK_1、ACK_3)を受け、前記第1確認信号(ACK_1、ACK_3)を前記第1クロック(CLK_1、CLK_3)に同期して動作する第3フリップフロップに供給するステップと、
前記第3フリップフロップから出力される第3フリップフロップ出力信号を受け、前記第3フリップフロップ出力信号を、前記第1クロック(CLK_1、CLK_3)に同期して動作する第4フリップフロップに供給するステップと、
前記第4フリップフロップから出力される第4フリップフロップ出力信号を受け、前記第4フリップフロップ出力信号を反転した反転第4フリップフロップ出力信号を出力するステップと、
前記反転第4フリップフロップ出力信号と前記第3フリップフロップ出力信号との論理積を演算した演算結果を前記第2確認信号(ACK_2、ACK_4)として出力するステップを含む
非同期ブロックの同期化方法であっても良い。なお、その半非同期ブロックの同期化方法は、前記第1クロック(CLK_1、CLK_3)は、前記第2クロック(CLK_2,CLK_4)より周期が長い短いクロックである場合に適用可能である。
また、上記課題を解決するために、回路の動作方法として、
(a)第1クロック(CLK_1、CLK_3)に同期して動作する第1論理回路ブロック(1)から出力される第1要求信号(REQ_1)を受け、前記第1要求信号(REQ_1、REQ_3)を前記第2クロック(CLK_2,CLK_4)に同期させて第2要求信号(REQ_2、REQ_4)を生成し、前記第2要求信号(REQ_2、REQ_4)を第2クロック(CLK_2,CLK_4)に同期して前記第2論理回路ブロック(2)に出力するステップと、
(b)第2クロック(CLK_2,CLK_4)に同期して動作する第2論理回路ブロック(2)から出力される第1確認信号(ACK_1、ACK_3)を受け、前記第1確認信号(ACK_1、ACK_3)に基づいて第2確認信号(ACK_2、ACK_4)を生成し、前記第2確認信号(ACK_2、ACK_4)を前記要求信号同期化回路(3,16)に供給するステップと、
(c)前記第2確認信号(ACK_2、ACK_4)を受け、前記第2確認信号(ACK_2、ACK_4)に基づいて第3確認信号(ACK_5)を生成し、前記第3確認信号(ACK_5)を前記第1クロック(CLK_1、CLK_3)に同期して出力するステップと、
(d)前記第2要求信号(REQ_2、REQ_4)に応答して前記第2論理回路ブロック(2)から出力される前記第1確認信号(ACK_1、ACK_3)を受け、前記第1確認信号(ACK_1、ACK_3)と、前記第2確認信号(ACK_2、ACK_4)と、前記第3確認信号(ACK_5)とに応答して、現在出力されている前記第2要求信号(REQ_2、REQ_4)の出力を禁止するステップ
を具備する非同期ブロックの同期化方法を用いても良い。
その非同期ブロックの同期化方法において、
前記(d)ステップは、
前記第1要求信号(REQ_1、REQ_3)と前記第2確認信号(ACK_2、ACK_4)を反転させた反転第2確認信号と前記第3確認信号(ACK_5)を反転させた反転第3確認信号(ACK_5)との論理積を演算した第1演算結果を、前記第2クロック(CLK_2,CLK_4)に同期して動作する第1フリップフロップに供給するステップと、
前記第1フリップフロップ出力と前記第1確認信号(ACK_1、ACK_3)を反転させた反転第1確認信号との論理積を演算した第2演算結果を出力するステップと、
前記第2演算結果を、前記第2要求信号(REQ_2、REQ_4)を出力する第2フリップフロップに供給するステップを含む非同期ブロックの同期化方法であっても良い。
その非同期ブロックの同期化方法において、
前記(b)ステップは、
前記第1確認信号(ACK_1、ACK_3)を受け、前記第1確認信号(ACK_1、ACK_3)を前記第2クロック(CLK_2,CLK_4)信号に同期して動作する動作するシフトレジスタ部に供給するステップと、
前記第1確認信号(ACK_1、ACK_3)と、シフトレジスタ部の複数のフリップフロップの出力のそれぞれの論理和を演算し、その演算結果を前記第2確認信号(ACK_2、ACK_4)として出力するステップ
を含む非同期ブロックの同期化方法であっても良い。
その非同期ブロックの同期化方法において、
前記(c)ステップは、
前記第1確認信号(ACK_1、ACK_3)を受け、前記第1確認信号(ACK_1、ACK_3)を前記第1クロック(CLK_1、CLK_3)に同期して動作する第3フリップフロップに供給するステップと、
前記第3フリップフロップから出力される第3フリップフロップ出力信号を受け、前記第3フリップフロップ出力信号を、前記第1クロック(CLK_1、CLK_3)に同期して動作する第4フリップフロップに供給するステップと、
前記第4フリップフロップから出力される第4フリップフロップ出力信号を受け、前記第4フリップフロップ出力信号を反転した反転第4フリップフロップ出力信号を出力するステップと、
前記反転第4フリップフロップ出力信号と前記第3フリップフロップ信号との論理積を演算した演算結果を前記第3確認信号(ACK_5)として出力するステップ
を含む非同期ブロックの同期化方法であっても良い。なお、その非同期ブロックの同期化方法は、前記第1クロック(CLK_1、CLK_3)は、前記第2クロック(CLK_2,CLK_4)より周期が短いクロックである場合に適している。
さらに、上記課題を解決するために、以下のように同期回路を構成しても良い。その同期化回路は、第1クロック(CLK_1、CLK_3)に同期して動作する第1論理回路ブロック(1)から出力される第1要求信号(REQ_1)を受け、前記第1要求信号(REQ_1、REQ_3)に基づいて第2要求信号(REQ_2、REQ_4)を生成し、前記第2要求信号(REQ_2、REQ_4)を第2クロック(CLK_2,CLK_4)に同期して前記第2論理回路ブロック(2)に出力する要求信号同期化回路(3,16)と、第2クロック(CLK_2,CLK_4)に同期して動作する第2論理回路ブロック(2)から出力される第1確認信号(ACK_1、ACK_3)を受け、前記第1確認信号(ACK_1、ACK_3)に基づいて第2確認信号(ACK_2、ACK_4)を生成し、前記第2確認信号(ACK_2、ACK_4)を前記第1クロック(CLK_1、CLK_3)に同期して前記第1論理回路ブロック(1)に出力する確認信号同期化回路(4、18)とを具備する構成であることが好ましい。そして、前記要求信号同期化回路(3,16)は、前記第1クロック(CLK_1、CLK_3)に同期して出力される前記第1要求信号(REQ_1、REQ_3)を、前記第2クロック(CLK_2,CLK_4)に同期させて、前記第2要求信号(REQ_2、REQ_4)を生成する同期化部(5)と、前記第2要求信号(REQ_2、REQ_4)の出力を禁止するマスク部(6、19)とを含むものであると良い。そのうえで、前記第2論理回路ブロック(2)は、前記第2要求信号(REQ_2、REQ_4)に応答して第1確認信号(ACK_1、ACK_3)を出力し、前記マスク部(6、19)は、前記第1確認信号(ACK_1、ACK_3)に応答して、現在出力されている前記第2要求信号(REQ_2、REQ_4)の出力を禁止するような非同期ブロック同期化回路を構成する。
本発明によると、異なる周波数のクロックで動作している回路ブロック同士を接続する場合であっても、REQ_X禁止期間やREQ_Y無視期間を定義せずに動作する回路を構成することが可能となる。
また、本発明によると、REQ_X禁止期間やREQ_Y無視期間ができてしまうために、その要求信号の連続送信ができなくなることを抑制しているので、同期化にかかる損失時間を減少させることが可能となる。
[第1の実施形態]
以下に、図面を参照して本発明の実施の形態について説明を行う。図5は、本発明のハンドシェイク信号同期化回路を備える半導体装置の構成を例示するブロック図である。図5を参照すると、本実施形態の半導体装置は、第1論理回路ブロック1と、第2論理回路ブロック2と、要求信号同期化回路3と、確認信号同期化回路4とを含んで構成されている。本実施形態において、第1論理回路ブロック1がデータを送信するデータ送信側回路であり、第2論理回路ブロック2が、そのデータを受信するデータ受信側回路である場合を例示して説明を行う。第1論理回路ブロック1は、第1クロックCLK_1に同期して動作する回路である。図5に示されているように、第1論理回路ブロック1は第1要求信号REQ_1の送信と、第2確認信号ACK_2の受信を行っている。第2論理回路ブロック2は、第2クロックCLK_2に同期して動作する回路である。図5に示されているように、第2論理回路ブロック2は、第2要求信号REQ_2の受信と第1確認信号ACK_1の送信を行っている。
要求信号同期化回路3は、第1要求信号REQ_1に応答して、第2クロックCLK_2に同期して第2要求信号REQ_2を出力している。また、図5に示されているように、要求信号同期化回路3には、第1確認信号ACK_1が供給されている。要求信号同期化回路3は、その第1確認信号ACK_1に応答して、第2要求信号REQ_2の出力を禁止している。確認信号同期化回路4は、第1確認信号ACK_1に応答して、第1クロックCLK_1に同期して第2確認信号ACK_2を出力している。なお、要求信号同期化回路3および確認信号同期化回路4の構成および動作に関する詳細は後述する。
以下に、要求信号同期化回路3および確認信号同期化回路4の構成に関する詳細を説明する。図6は、本実施形態における要求信号同期化回路3の構成を例示する回路図である。図6を参照すると、要求信号同期化回路3は、同期化部5と、マスク部6と含んで構成されている。その同期化部5は、第1フリップフロップ7と第2フリップフロップ8とで構成されている。第1フリップフロップ7と第2フリップフロップ8は、CLK_1に同期して送信される第1要求信号REQ_1をCLK_2に同期した信号に変換するためのDタイプフリップフロップである。第1フリップフロップ7と第2フリップフロップ8には、第2クロックCLK_2が供給され、その第2クロックCLK_2に同期して、信号入力端から供給される信号を保持している。また、マスク部6は、第1AND回路9と、第2AND回路10と、第1インバータ11とで構成されている。第1インバータ11、第1AND回路9および第2AND回路10は第1確認信号ACK_1に基づいて、第2要求信号REQ_2の生成をマスクするための組合せ論理素子である。
図6に示されているように、第1AND回路9は、第1入力端と第2入力端とを備えている。第1AND回路9の第2入力端は、第1インバータ11の出力端に接続されている。また、第1AND回路9の出力端は第1フリップフロップ7の信号入力端に接続されている。同様に、第2AND回路10は、第1入力端と第2入力端とを備えている。第2AND回路10の第1入力端は、第1フリップフロップ7の出力端に接続され、第2AND回路10の第2入力端は、第1インバータ11の出力端に接続されている。また、第2AND回路10の出力端は、第2フリップフロップ8の信号入力端に接続されている。
図6に示されているように、第1インバータ11の入力端には、第1確認信号ACK_1が供給されている。第1インバータ11は、その第1確認信号ACK_1を反転させた信号(以下、反転第1確認信号ACK_1と呼ぶ。)を出力している。第1AND回路9の第1入力端には、第1要求信号REQ_1が供給されている。第1AND回路9の第2入力端には、上述の反転第1確認信号ACK_1が供給されている。第1AND回路9は、その第1要求信号REQ_1と反転第1確認信号ACK_1との論理積を実行した結果を第1フリップフロップ7の供給している。また、第2AND回路10の第1入力端には、第1フリップフロップ7から出力される信号が供給され、第2AND回路10の第2入力端には、反転第1確認信号ACK_1が供給されている。第2AND回路10は、第1AND回路9と同様に、それぞれの信号に基づいて論理積を実行した結果を第2フリップフロップ8に供給している。
図7は、本実施形態の確認信号同期化回路4の構成を例示する回路図である。図7を参照すると、確認信号同期化回路4は、第3フリップフロップ12と、第4フリップフロップ13と、第2インバータ14と、第3AND回路15とを含んで構成されている。第3フリップフロップ12と第4フリップフロップ13とは第2クロックCLK_2に同期して送信される第1確認信号ACK_1を第1クロックCLK_1に同期した信号に変換するためのDタイプフリップフロップである。第2インバータ14と第3AND回路15とは、第2確認信号ACK_2を生成するための組合せ論理素子である。第2インバータ14と第3AND回路15は、第1クロックCLK_1の1クロック分の長さのパルスを生成して、第2確認信号ACK_2として出力している。
図7に示されているように、第3フリップフロップ12と第4フリップフロップ13とは、第1クロックCLK_1に同期して動作している。第3フリップフロップ12の信号出力端は、第4フリップフロップ13の信号入力端に接続されている。第4フリップフロップ13の信号出力端は、第2インバータ14の入力端に接続されている。第3AND回路15は、第1入力端と第2入力端とを備えている。第3AND回路15の第2入力端は、第2インバータ14の出力端に接続されている。また、第3AND回路15の第1入力端は、第3フリップフロップ12の信号出力端に接続されている。
以下に、本実施形態の同期化回路が実現するハンドシェイク動作に関して説明を行う。図8は、第1論理回路ブロック1と第2論理回路ブロック2とが、同じ周波数のクロックで動作している場合のハンドシェイク動作を示すタイミングチャートである。後述するように、本実施形態の同期化回路は、第1論理回路ブロック1と第2論理回路ブロック2とが、異なる周波数のクロックに同期して動作する場合であっても、このタイミングチャートに示されている動作タイミングでハンドシェイクを実行することが可能である。したがって、本発明の同期化回路を適用すると、第1論理回路ブロック1の動作クロックや第2論理回路ブロック2の動作クロックを熟慮することなく非同期回路ブロック間でのデータ伝送を行う回路を構成することが可能になる。また、以降、この動作に対応するハンドシェイク動作をハンドシェイク仕様と称して説明を行う。
図8を参照すると、第1論理回路ブロック1は、なんらかの要求をする場合に、要求信号をアクティブにすることで、要求発生を第2論理回路ブロック2に通知する(時刻T1のタイミングを参照)。なお、以下の動作の説明においては、Highレベル=アクティブである場合を例示する。第1論理回路ブロック1は、第2論理回路ブロック2から出力される確認信号を受信するまで、その状態(要求信号=Highレベル)を保ち続ける。
第2論理回路ブロック2は、時刻T2のタイミングで要求信号による要求を受信する。第2論理回路ブロック2は、その要求信号に応答して確認信号を基準クロックの1周期分の長さだけアクティブ(Highレベル)にする。第2論理回路ブロック2は、このHighレベルの確認信号で、要求を許可したこと通知する。第1論理回路ブロック1は、確認信号の受信に応答して、要求信号をLowレベルにする(時刻T3のタイミング参照)。第1論理回路ブロック1では、要求信号をLowレベルにすることで要求に基づく動作を完了する。また、図8のタイミングチャートにおいて、時刻T4から時刻T8までの期間は、第1論理回路ブロック1が、2回連続して要求を行った場合の動作を例示している。
以下に、第1論理回路ブロック1と第2論理回路ブロック2とが異なる周波数のクロックに同期して動作している場合における、同期化回路の動作について、図面を参照して説明を行う。図9は、本実施形態の同期化回路の動作を例示するタイミングチャートである。図9の(a)は、第1論理回路ブロック1と確認信号同期化回路4の動作クロックである第1クロックCLK_1の波形を示している。図9の(f)は、第2論理回路ブロック2と要求信号同期化回路3の動作クロックである第2クロックCLK_2の波形を示している。なお、本実施形態では、第1クロックCLK_1の周期が第2クロックCLK_2の周期より短い場合の動作を例示して説明を行う。
図9の(b)は、第1論理回路ブロック1から出力される第1要求信号REQ_1の波形を示している。図9の(k)は、第2論理回路ブロック2から出力される第1確認信号ACK_1の波形を示している。図9の(j)は第2要求信号REQ_2の波形を示している。図9の(e)は、第2確認信号ACK_2の波形を示している。図9の(h)は第1フリップフロップ7から出力される信号の波形を示している。図9の(c)は、第3フリップフロップ12から出力される信号の波形を示している。図9の(d)は、第4フリップフロップ13から出力される信号の波形を示している。図9の(g)は第1AND回路9から出力される信号の波形を示している。図9の(i)は、第2AND回路10から出力される信号の波形を示している。
図9を参照すると、時刻t01において、第1論理回路ブロック1は、第1要求信号REQ_1をHighレベルにすることにより要求を通知する(図9の(b))。時刻t01において、第1AND回路9は、その第1要求信号REQ_1と反転第1確認信号ACK_1に応答して、出力信号をHighレベルにする(図9の(g))。要求は時刻t03のタイミングで、第1フリップフロップ7と第2フリップフロップ8により第2クロックCLK_2に同期化され、第2要求信号REQ_2として第2論理回路ブロック2に通知される。
第2論理回路ブロック2は、時刻t04のタイミングで、第1確認信号ACK_1をアクティブにする。つまり、第2論理回路ブロック2は、第2クロックCLK_2の1周期の期間だけ第1確認信号ACK_1をHighレベルにすることにより要求を許可したことを通知する。
Highレベルの第1確認信号ACK_1は、時刻t05のタイミングで、第3フリップフロップ12と第4フリップフロップ13により第1クロックCLK_1に同期化される。つまり、確認信号同期化回路4は、第3フリップフロップ12の出力と第4フリップフロップ13の出力の反転(第2インバータ14の出力)とを第3AND回路15で論理積をとる。それにより確認信号同期化回路4は、第2確認信号ACK_2をハンドシェイク仕様に従って、第1クロックCLK_1の1周期の期間だけHighレベルにして第1論理回路ブロック1に通知する。
ここで、要求信号同期化回路3のマスク部6は、第2論理回路ブロック2から出力される第1確認信号ACK_1により、第2要求信号REQ_2の出力マスク動作を行う。時刻t04において、第1確認信号ACK_1がHighレベルになり、次の第2クロックCLK_2の立ち上がり(時刻t07)で、第1確認信号ACK_1がLowレベルになる。第1確認信号ACK_1がHighレベルになることで第1インバータ11の出力がLowレベルになり、時刻t04における第1AND回路9の出力と第2AND回路10の出力とがLowレベルになる(図9の(g)、(i))。第2AND回路10からの出力がLowレベルになることで、時刻t07のタイミングで第2要求信号REQ_2は、Lowレベルになり第2論理回路ブロック2からみると要求は完了する。第1論理回路ブロック1は、ハンドシェイク仕様にしたがって、時刻t05のタイミングで第2確認信号ACK_2がHighレベルになった次のクロック(時刻t06のタイミング)で第1要求信号REQ_1をLowレベルにし、要求を完了する。
以下に、第1論理回路ブロック1が2回連続して第1要求信号REQ_1による要求を行った場合の動作に関して説明を行う。図10は、第1論理回路ブロック1から連続的に第1要求信号REQ_1が出力された場合の動作を例示するタイミングチャートである。図10を参照すると、第1論理回路ブロック1は、時刻t15のタイミングでハンドシェイク動作を完了した後、ハンドシェイク仕様に従い、第1要求信号REQ_1をLowレベルにしないで継続してHighレベルにすることにより、2回目の要求を通知している。
図10を参照すると、時刻t15のタイミングで出力される2回目の第1要求信号REQ_1に応答して、要求信号同期化回路3の第1AND回路9は、時刻t16のタイミングでHighレベルになる。第1フリップフロップ7は、そのHighレベルの第1要求信号REQ_1に応答して時刻t19のタイミングでHighレベルになる。第2AND回路10は、時刻t19における第1フリップフロップ7の出力とその時の第1インバータ11の論理積を実行し、その実行結果としてHighレベルの信号を出力する。
時刻t20のタイミングにおいて、第2フリップフロップ8は、第2AND回路10の出力に基づいてHighレベルの第2要求信号REQ_2を出力する。第2論理回路ブロック2は、ハンドシェイク仕様に従い、時刻t21のタイミングで第1確認信号ACK_1をアクティブにする。つまり、第2論理回路ブロック2は、一回目の要求が通知されたときと同様に、第2クロックCLK_2の1周期の期間だけ第1確認信号ACK_1をHighレベルにすることにより要求を許可したことを通知する。
以降、一回目の要求が通知されたときと同様に、要求信号同期化回路3のマスク部6は、第2論理回路ブロック2から出力される第1確認信号ACK_1により、第2要求信号REQ_2の出力マスク動作を行う。つまり、時刻t21において、第1確認信号ACK_1がHighレベルになり、次の第2クロックCLK_2の立ち上がり(時刻t24)で、第1確認信号ACK_1がLowレベルになる。第1確認信号ACK_1がHighレベルになることで第1インバータ11の出力がLowレベルになり、時刻t21における第1AND回路9の出力と第2AND回路10の出力とがLowレベルになる(図9の(g)、(i))。第2AND回路10からの出力がLowレベルになることで、時刻t24のタイミングで第2要求信号REQ_2は、Lowレベルになり、第2論理回路ブロック2からみると要求は完了する。第1論理回路ブロック1は、ハンドシェイク仕様にしたがって、時刻t22のタイミングで第2確認信号ACK_2がHighレベルになった次のクロック(時刻t23のタイミング)で第1要求信号REQ_1をLowレベルにし、要求を完了する。
上述の構成・動作によって、非同期ブロック間で、同期ブロック同士の接続の場合と同様のハンドシェイク方法を用いることができる。そのため、各論理回路ブロック(データ送信側論理回路ブロックおよびデータ受信側論理回路ブロック)の送受信先の回路の動作クロックに依存しない設計ができる。また、同期ブロック同士の接続の場合と同様のハンドシェイク方法を用いることができるので、要求信号の禁止期間や無視期間を設ける必要が無いので、要求を2回連続して行うことが可能になり、結果的にハンドシェイクサイクルを短くすることができる。
[第2の実施形態]
以下に、図面を参照して、本発明の第2の実施形態について説明を行う。以下の述べる第2の実施形態では、データ送信側の動作クロックの周波数よりもデータ受信側の動作クロックの周波数のほうが周波数が大きい場合について説明を行なう。具体的には、以下の実施形態において、第3クロックCLK_3の周期が第4クロックCLK_4の周期より長く、周期の差は3倍未満である場合に対応して説明を行う。なお、これは、本発明における周期の差を限定するものではない。なお、以下の説明に用いる図面の中には、第1の実施形態と同じ符号が付されている回路や機能ブロックが存在する。それらの回路や機能ブロックの構成・動作は、第1の実施形態の説明の中で述べた構成・動作と同様であるため、その詳細な説明は省略する。
図11は、本発明の第2の実施形態における、ハンドシェイク信号同期化回路を備える半導体装置の構成を例示するブロックである。図11を参照すると、第2の実施形態の半導体装置は、第1論理回路ブロック1と、第2論理回路ブロック2と、要求信号同期化回路16と、確認パルス伸長回路17と、確認信号同期化回路18とを含んで構成されている。以下の第2の実施形態において、第1論理回路ブロック1がデータを送信するデータ送信側回路であり、第2論理回路ブロック2が、そのデータを受信するデータ受信側回路である場合を例示して説明を行う。第1論理回路ブロック1は、第3クロックCLK_3に同期して動作する回路である。図11に示されているように、第1論理回路ブロック1は第3要求信号REQ_3の送信と、第5確認信号ACK_5の受信を行っている。第2論理回路ブロック2は、第4クロックCLK_4に同期して動作する回路である。図11に示されているように、第2論理回路ブロック2は、第4要求信号REQ_4の受信と第3確認信号ACK_3の送信を行っている。
要求信号同期化回路16は、第3要求信号REQ_3に応答して、第4クロックCLK_4に同期して第4要求信号REQ_4を出力している。また、図11に示されているように、要求信号同期化回路16には、第3確認信号ACK_3、第4確認信号ACK_4および第5確認信号ACK_5が供給されている。要求信号同期化回路3は、それらの確認信号(第3確認信号ACK_3〜第5確認信号ACK_5)に応答して、第4要求信号REQ_4の出力を禁止している。確認信号同期化回路18は、第4確認信号ACK_4に応答して、第3クロックCLK_3に同期して第5確認信号ACK_5を出力している。確認パルス伸長回路17は、第4クロックCLK_4に同期して、第3確認信号ACK_3のパルス幅を伸長して第4確認信号ACK_4に変換するパルス伸長回路である。図11に示されているように、確認パルス伸長回路17から出力される、第4確認信号ACK_4は、要求信号同期化回路16と確認信号同期化回路18とに供給されている。なお、要求信号同期化回路16、確認パルス伸長回路17および確認信号同期化回路18の構成・動作に関する詳細は後述する。
図12は、第2の実施形態の要求信号同期化回路16の構成を例示するブロック図である。図12を参照すると、要求信号同期化回路16は、同期化部5とマスク部19とを含んで構成されている。同期化部5は、第1の実施形態で説明した回路と同様の構成であるので、その詳細な説明を省略する。図12に示されているように、マスク部19は、第3確認信号ACK_3、第4確認信号ACK_4および第5確認信号ACK_5に基づいて、第4要求信号REQ_4の生成をマスクするため回路であり、第1AND回路9aと、第2AND回路10aと、第1インバータ11と、第3インバータ20と、第4インバータ21とを含んで構成されている。第1AND回路9aは、第1入力端、第2入力端および第3入力端を備えている。第1AND回路9aの第1入力端は、第1論理回路ブロック1に接続されている。また、第2入力端は第3インバータ20の出力端に接続されて、第3入力端は、第4インバータ21の出力端に接続されている。第1AND回路9aの出力端は第1フリップフロップ7の信号入力端に接続されている。図12に示されているように、第2AND回路10aは、第1入力端と、第2入力端とを備えている。第2AND回路10aの第1入力端は、第1フリップフロップ7の出力端に接続されている。第2AND回路10aの第2入力端は、第1インバータ11の出力端に接続されている。第3インバータ20の入力端は確認信号同期化回路18に接続されている。また、第4インバータ21の入力端は確認パルス伸長回路17に接続されている。
図13は、確認パルス伸長回路17の構成を例示するブロック図である。図13に示されているように、確認パルス伸長回路17は、複数のフリップフロップ(22〜25)と、第5インバータ26と、第6インバータ27と、OR回路28とを含んで構成されている。複数のフリップフロップ(22〜25)は、第3確認信号ACK_3の伸長を目的としたシフトレジスタを構成するためのDタイプフリップフロップである。第5インバータ26と、第6インバータ27は、第4クロックCLK_4を反転させるためのインバータ論理素子である。また、OR回路28は、第3確認信号ACK_3と複数のフリップフロップ(22〜25)の各出力信号の論理和をとり、第4確認信号ACK_4のパルス幅を第4クロックCLK_4の3周期分の長さに対応するパルス幅に伸長して、第4確認信号ACK_4を生成するための論理素子である。
図13に示されているように、第5インバータ26の入力端と、第6インバータ27の入力端には、第4クロックCLK_4が供給されている。第5インバータ26の出力端は第5フリップフロップ22のクロック供給端子に接続されている。同様に、第6インバータ27の入力端には第4クロックCLK_4が供給され、その出力端は第7フリップフロップ24のクロック供給端子に接続されている。また、図13に示されているように、第6フリップフロップ23と第8フリップフロップ25のクロック供給端子には、インバータを介することなく第4クロックCLK_4が供給されている。
複数のフリップフロップ(22〜25)は、直列に接続され、初段の第5フリップフロップ22には第3確認信号ACK_3が供給されている。また、第3確認信号ACK_3は、OR回路28にも要求されている。第5フリップフロップ22の出力端子は、第6フリップフロップ23の信号入力端子に接続されている。また、第5フリップフロップ22の出力端子はOR回路28にも接続されている。同様に、第6フリップフロップ23の出力端子は、第7フリップフロップ24の信号入力端子に接続されると共に、OR回路28に接続され、第7フリップフロップ24の出力端子は、第8フリップフロップ25の信号入力端子に接続されると共に、OR回路28に接続されている。また、最終段の第8フリップフロップ25の出力端子は、OR回路28に接続されている。
図14は、確認信号同期化回路18の構成を例示するブロック図である。図14に示す確認信号同期化回路18は、第1の実施形態の確認信号同期化回路4と同様の構成であるので、その詳細な説明は省略する。なお。第1の実施形態の確認信号同期化回路4を構成する各回路と、第2の実施形態の確認信号同期化回路18を構成する各回路とを区別する場合には、第2の実施形態の回路には、その符号に「a」の記号をつけて区別する。図14を参照すると、確認信号同期化回路18の第3フリップフロップ12aと第4フリップフロップ13aは、第3クロックCLK_3に同期して動作している。図14に示されているように、第3フリップフロップ12aには、第4確認信号ACK_4が供給されている。第2インバータ14aと第3AND回路15aとは、第5確認信号ACK_5を生成するための組合せ論理素子である。第2インバータ14aと第3AND回路15aは、第3クロックCLK_3の1クロック分の長さのパルスを生成して、第5確認信号ACK_5として出力している。
以下に、図面を参照して、第2の実施形態の動作について説明を行う。図15は、第2の実施形態の動作を例示するタイミングチャートである。図15を参照すると、図15の(a)は、第1論理回路ブロック1と確認信号同期化回路18の動作クロックである第3クロックCLK_3の波形を示している。図15の(f)は、第2論理回路ブロック2、要求信号同期化回路16および確認パルス伸長回路17の動作クロックである、第4クロックCLK_4の波形を示している。上述したように、本実施形態では、第3クロックCLK_3の周期が第4クロックCLK_4の周期より長くなっており、周期の差は3倍未満である。
図15の(b)は、第1論理回路ブロック1から出力される第3要求信号REQ_3の波形を示している。図15の(k)は、第2論理回路ブロック2から出力される第3確認信号ACK_3の波形を示している。また、図15の(j)は、要求信号同期化回路16で生成される第4要求信号REQ_4の波形を示している。図15の(e)は、確認信号同期化回路18で生成される第5確認信号ACK_5の波形を示している。図15の(p)は、確認パルス伸長回路17で生成される第4確認信号ACK_4の波形を示している。
図15の(h)は、第1フリップフロップ7から出力される出力信号の波形を示している。図15の(c)は、第3フリップフロップ12aから出力される出力信号の波形を示している。図15の(d)は、第4フリップフロップ13aから出力される出力信号の波形を示している。図15の(l)は、第5フリップフロップ22から出力される出力信号の波形を示している。図15の(m)は、第6フリップフロップ23から出力される出力信号の波形を示している。図15の(n)は、第7フリップフロップ24から出力される出力信号の波形を示している。図15の(o)は、第8フリップフロップ25から出力される出力信号の波形を示している。図15の(g)は第1AND回路9aから出力される出力信号の波形を示している。図15の(i)は、第2AND回路10aから出力される出力信号の波形を示している。
図15を参照すると、第1論理回路ブロック1は、第2論理回路ブロック2に要求を通知するために、時刻t31のタイミングで第3要求信号REQ_3をHighレベルにする。そのHighレベルの第3要求信号REQ_3は、要求信号同期化回路16に供給される。要求信号同期化回路16の第1AND回路9aは、そのHighレベルの第3要求信号REQ_3に応答して、時刻t32のタイミングで、出力をHighレベルにする。時刻t33において、第1フリップフロップ7は、第1AND回路9aの出力に応答して、出力をHighレベルにする。第2AND回路10aは、時刻t33における第1フリップフロップ7の出力に応答して、出力をHighレベルにする。その第2AND回路10aの出力に応答して、時刻t34のタイミングで、第2フリップフロップ8は、出力をHighレベルにする。
この一連の動作によって、第1論理回路ブロック1から出力されるHighレベルの第3要求信号REQ_3は、要求信号同期化回路16により第4クロックCLK_4に同期化される。第4クロックCLK_4の同期化された信号は、時刻t34のタイミングで第4要求信号REQ_4として第2論理回路ブロック2に通知される。
第2論理回路ブロック2は、第4要求信号REQ_4に応答して、時刻t35のタイミングで第3確認信号ACK_3をアクティブにする。具体的には、第2論理回路ブロック2は、第4クロックCLK_4の1周期の長さだけ第3確認信号ACK_3をHighレベルにする。第2論理回路ブロック2は、そのHighレベルの第3確認信号ACK_3により要求を許可したことを通知する。
そのHighレベルの第3確認信号ACK_3は、確認パルス伸長回路17に供給される。確認パルス伸長回路17に供給されるHighレベルの第3確認信号ACK_3は、第5フリップフロップ22、第6フリップフロップ23、第7フリップフロップ24および第8フリップフロップ25によりシフトされる。また、Highレベルの第3確認信号ACK_3、第5フリップフロップ22の出力信号、第6フリップフロップ23の出力信号、第7フリップフロップ24の出力信号および第8フリップフロップ25の出力信号はOR回路28に供給される。OR回路28は、論理和をとることにより、第4クロックCLK_4の3周期分のパルス幅を確保した第4確認信号ACK_4を生成する。なお、これは確認信号同期化回路18の動作クロックである第3クロックCLK_3が第4クロックCLK_4の3倍の周期を持つ場合における、第4確認信号ACK_4の生成動作である。第3クロックCLK_3と第4クロックCLK_4の周期の比がこれ以外の場合には、確認パルス伸長回路17を構成するフリップフロップの段数を変更することで、対応させることが可能となる。
確認パルス伸長回路17から出力される第4確認信号ACK_4は、確認信号同期化回路18に供給される。確認信号同期化回路18の第3フリップフロップ12aは、その第4確認信号ACK_4に応答して、時刻t36のタイミングで出力をHighレベルにする。このとき(時刻t36のタイミングで)第4フリップフロップ13aは、Lowレベルを出力している。したがって、時刻t36のタイミングにおける第2インバータ14aの出力は、Highレベルである。第3AND回路15aは、第3フリップフロップ12aの出力と第4フリップフロップ13aの出力の反転(第2インバータ14aの出力)論理積をとることにより、第5確認信号ACK_5を第3クロックCLK_3の1周期の長さだけHighレベルにする。
時刻t40のタイミングにおいて、第4フリップフロップ13aは、第3フリップフロップ12aの出力に応答して出力をHighレベルにする。このとき(時刻t40のタイミング)における第2インバータ14aの出力は、Lowレベルである。第3AND回路15aは、第3フリップフロップ12aの出力と第4フリップフロップ13aの出力の反転(第2インバータ14aの出力)論理積をとることにより、第5確認信号ACK_5Lowレベルにする。この一連の動作によって、第3確認信号ACK_3は第3クロックCLK_3に同期化されて第1論理回路ブロック1に通知される。
ここで、要求信号同期化回路16は、第3確認信号ACK_3、第4確認信号ACK_4および第5確認信号ACK_5に基づいて、第4要求信号REQ_4の出力マスク動作を行う。時刻t35で第3確認信号ACK_3がHighレベルになった次の第4クロックCLK_4の立ちあがりタイミング(時刻t37のタイミング)で、第4要求信号REQ_4信号はLowレベルになる。したがって、時刻t37のタイミングで、第2論理回路ブロック2からみると要求は完了する。第1論理回路ブロック1は、ハンドシェイク仕様にしたがって、第5確認信号ACK_5がHighレベルになった次のクロックの立ち上がりタイミング(時刻t40のタイミング)で第3要求信号REQ_3をLowレベルにし、要求を完了する。
上述の第2の実施形態の構成・動作によって、データ送信側の動作クロックの周波数が、データ受信側の動作クロックの周波数よりも低い場合にも、非同期ブロック間で、同期ブロック同士の接続の場合と同様のハンドシェイク方法を用いることができる。そのため、第1の実施形態と同様に、各論理回路ブロック(データ送信側論理回路ブロックおよびデータ受信側論理回路ブロック)の送受信先の回路の動作クロックに依存しない設計ができる。また、同期ブロック同士の接続の場合と同様のハンドシェイク方法を用いることができるので、要求信号の禁止期間や無視期間を設ける必要が無いので、要求を2回連続して行うことが可能になり、結果的にハンドシェイクサイクルを短くすることができる。
なお、上述してきた複数の実施形態は、その構成・動作に矛盾が生じない場合において、組み合わせて実施することが可能である。
図1は、従来の同期化回路を備える半導体回路の構成を示すブロック図である。 図2は、従来の要求信号同期化回路の構成を示すブロック図である。 図3は、従来の確認信号同期化回路の構成を示すブロック図である。 図4は、従来の半導体回路のハンドシェイク動作を示すタイミングチャートである。 図5は、本発明の第1の実施形態の構成を例示するブロック図である。 図6は、第1の実施形態における要求信号同期化回路の構成を例示するブロック図である。 図7は、第1の実施形態における確認信号同期化回路の構成を例示するブロック図である。 図8は、本発明が実現するハンドシェイクの様態を例示するタイミングチャートである。 図9は、第1の実施形態における同期化動作を例示するタイミングチャートである。 図10は、第1の実施形態における、連続的にハンドシェイクを行う場合の動作を例示するタイミングチャートである。 図11は、本発明の第2の実施形態の構成を例示するブロック図である。 図12は、第2の実施形態における要求信号同期化回路の構成を例示するブロック図である。 図13は、第2の実施形態における確認パルス伸長回路17の構成を例示するブロック図である。 図14は、第2の実施形態の確認信号同期化回路18の構成を例示するブロック図である。 図15は、第2の実施形態の動作を例示するタイミングチャートである。
符号の説明
1…第1論理回路ブロック
2…第2論理回路ブロック
3…要求信号同期化回路
4…確認信号同期化回路
5…同期化部
6…マスク部
7、7a…第1フリップフロップ
8、8a…第2フリップフロップ
9、9a…第1AND回路
10、10a…第2AND回路
11…第1インバータ
12、12a…第3フリップフロップ
13、13a…第4フリップフロップ
14、14a…第2インバータ
15、15a…第3AND回路
16…要求信号同期化回路
17…確認パルス伸長回路
18…確認信号同期化回路
19…マスク部
20…第3インバータ
21…第4インバータ
22…第5フリップフロップ
23…第6フリップフロップ
24…第7フリップフロップ
25…第8フリップフロップ
26…第5インバータ
27…第6インバータ
28…OR回路
REQ_1…第1要求信号
REQ_2…第2要求信号
REQ_3…第3要求信号
REQ_4…第4要求信号
ACK_1…第1確認信号
ACK_2…第2確認信号
ACK_3…第3確認信号
ACK_4…第4確認信号
ACK_5…第5確認信号
CLK_1…第1クロック
CLK_2…第2クロック
CLK_3…第3クロック
CLK_4…第4クロック
101…第1論理回路ブロック
102…第2論理回路ブロック
103…要求信号同期化回路
104…確認信号同期化回路
107…第1フリップフロップ
108…第2フリップフロップ
112…第3フリップフロップ
113…第4フリップフロップ
114…第2インバータ
115…AND回路
REQ_X…第1要求信号
REQ_Y…第2要求信号
ACK_Y…第1確認信号
ACK_X…第2確認信号
CLK_X…第1クロック
CLK_Y…第2クロック

Claims (16)

  1. 第1クロックに同期して第1要求信号を出力する第1論理回路ブロックと、
    第2クロックに同期して第1確認信号を出力する第2論理回路ブロックと、
    前記第1要求信号に基づいて第2要求信号を生成し、前記第2要求信号を第2クロックに同期して前記第2論理回路ブロックに出力する要求信号同期化回路と、
    前記第1確認信号に基づいて第2確認信号を生成し、前記第2確認信号を前記第1クロックに同期して前記第1論理回路ブロックに出力する確認信号同期化回路と
    を具備し、
    前記第2論理回路ブロックは、
    前記第2要求信号に応答して第1確認信号を出力し、
    前記要求信号同期化回路は、
    前記第1クロックに同期して出力される前記第1要求信号を、前記第2クロックに同期させて、前記第2要求信号を生成する同期化部と、
    前記第1確認信号に応答して、前記同期化部から現在出力されている前記第2要求信号の出力禁止を実行するマスク部と
    を含み、
    前記同期化部は、
    前記第2クロックに同期して供給される信号を保持する第1フリップフロップと、
    前記第2クロックに同期して前記第2要求信号を出力する第2フリップフロップと
    を含み、
    前記マスク部は、
    前記第1要求信号と前記第1確認信号を反転させた反転第1確認信号との論理積を演算して第1演算結果を出力する第1論理積回路と、
    前記第1フリップフロップから出力される信号と前記反転第1確認信号との論理積を演算して第2演算結果を出力する第2論理積回路と
    を含み、
    前記第1論理積回路の出力端は、前記第1フリップフロップのデータ入力端に接続され、
    前記第2論理積回路の出力端は、前記第2フリップフロップのデータ入力端に接続される
    導体装置。
  2. 請求項に記載の半導体装置において、
    前記確認信号同期化回路は、
    前記第1確認信号を受け、前記第1クロックに同期して前記第1確認信号を保持する第3フリップフロップと、
    前記第3フリップフロップから出力される第3フリップフロップ出力信号を受け、前記第3フリップフロップ出力信号を前記第1クロックに同期して保持する第4フリップフロップと、
    前記第4フリップフロップから出力される第4フリップフロップ出力信号を受け、前記第4フリップフロップ出力信号を反転した反転第4フリップフロップ出力信号を出力するインバータと、
    前記インバータの出力端に接続され、前記反転第4フリップフロップ出力信号と前記第3フリップフロップ出力信号との論理積を演算した演算結果を前記第2確認信号として出力する第3論理積回路と
    を具備する
    半導体装置。
  3. 請求項1または2に記載の半導体装置において、
    前記第1クロックは、前記第2クロックより周期がいクロックである
    半導体装置。
  4. 第1クロックに同期して動作する第1論理回路ブロックと、
    第2クロックに同期して動作する第2論理回路ブロックと、
    前記第1論理回路ブロックから出力される第1要求信号を受け、前記第1要求信号に基づいて第2要求信号を生成し、前記第2要求信号を第2クロックに同期して前記第2論理回路ブロックに出力する要求信号同期化回路と、
    前記第2論理回路ブロックから出力される第1確認信号を受け、前記第1確認信号に基づいて第2確認信号を生成し、前記第2確認信号を前記要求信号同期化回路に供給する確認パルス伸長回路と、
    前記確認パルス伸長回路から出力される第2確認信号を受け、前記第2確認信号に基づいて第3確認信号を生成し、前記第3確認信号を前記第1クロックに同期して前記要求信号同期化回路と前記第1論理回路ブロックとに出力する確認信号同期化回路と
    を具備し、
    前記要求信号同期化回路は、
    前記第1クロックに同期して出力される前記第1要求信号を、前記第2クロックに同期させて、前記第2要求信号を生成する同期化部と、
    前記第2要求信号の出力を禁止するマスク部と
    を含み、
    前記第2論理回路ブロックは、
    前記第2要求信号に応答して第1確認信号を出力し、
    前記マスク部は、前記第1確認信号と、前記第2確認信号と、前記第3確認信号とに応答して、現在出力されている前記第2要求信号の出力を禁止する
    半導体装置。
  5. 請求項に記載の半導体装置において、
    前記同期化部は、
    前記第2クロックに同期して供給される信号を保持する第1フリップフロップと、
    前記第2クロックに同期して前記第2要求信号を出力する第2フリップフロップと
    を含み、
    前記マスク部は、
    前記第1要求信号と前記第2確認信号を反転させた反転第2確認信号と前記第3確認信号を反転させた反転第3確認信号との論理積演算を行う第1論理積回路と、
    前記第1フリップフロップ出力と前記第1確認信号を反転させた反転第1確認信号との論理積演算を行う第2論理積回路と
    を含み、
    前記第1論理積回路の出力端は、前記第1フリップフロップのデータ入力端に接続され、
    前記第2論理回路の出力端は、前記第2フリップフロップのデータ入力端に接続される
    半導体装置。
  6. 請求項に記載の半導体装置において、
    前記確認パルス伸長回路は、
    論理和回路と、
    第2クロック信号に基づいて動作するシフトレジスタ部と
    を含み、
    前記シフトレジスタ部は、
    前記第1確認信号を受け、前記第1確認信号を前記第2クロック信号に同期してシフトする複数のフリップフロップを含み、
    前記論理和回路には、
    前記第1確認信号と、前記複数のフリップフロップの出力のそれぞれが供給される
    半導体装置。
  7. 請求項に記載の半導体装置において、
    前記確認信号同期化回路は、
    前記第2確認信号を受け、前記第1クロックに同期して前記第2確認信号を保持する第3フリップフロップと、
    前記第3フリップフロップから出力される第3フリップフロップ出力信号を受け、前記第3フリップフロップ出力信号を前記第1クロックに同期して保持する第4フリップフロップと、
    前記第4フリップフロップから出力される第4フリップフロップ出力信号を受け、前記第4フリップフロップ出力信号を反転した反転第4フリップフロップ出力信号を出力するインバータと、
    前記インバータの出力端に接続され、前記反転第4フリップフロップ出力信号と前記第3フリップフロップ出力信号との論理積を演算した演算結果を前記第3確認信号として出力する第3論理積回路と
    を具備する
    半導体装置。
  8. 請求項4から7の何れか1項に記載の半導体装置において、
    前記第1クロックは、前記第2クロックより周期が長いクロックである
    半導体装置。
  9. (a)第1クロックに同期して動作する第1論理回路ブロックから出力される第1要求信号を受け、前記第1要求信号を、第2クロックに同期させて第2要求信号を生成し、前記第2要求信号を第2クロックに同期して2論理回路ブロックに出力するステップと、
    (b)前記第2クロックに同期して動作する第2論理回路ブロックから出力される第1確認信号を受け、前記第1確認信号に基づいて第2確認信号を生成し、前記第2確認信号を前記第1クロックに同期して前記第1論理回路ブロックに出力するステップと、
    (c)前記第2要求信号に応答して前記第2論理回路ブロックから出力される前記第1確認信号を受け、前記第1確認信号に応答して、現在出力されている前記第2要求信号の出力を禁止するステップ
    を具備し、
    前記(c)ステップは、
    前記第1要求信号と前記第1確認信号を反転させた反転第1確認信号との論理積を演算して第1演算結果を出力するステップと、
    前記第1演算結果を、前記第2クロックに同期して動作する第1フリップフロップに供給するステップと、
    前記第1フリップフロップから出力される信号と前記反転第1確認信号との論理積を演算して第2演算結果を出力するステップと、
    前記第2演算結果を、前記第2要求信号を出力する第2フリップフロップに供給するステップを含む
    非同期ブロックの同期化方法。
  10. 請求項に記載の非同期ブロックの同期化方法において、
    前記(b)ステップは、
    前記第1確認信号を受け、前記第1確認信号を前記第1クロックに同期して動作する第3フリップフロップに供給するステップと、
    前記第3フリップフロップから出力される第3フリップフロップ出力信号を受け、前記第3フリップフロップ出力信号を、前記第1クロックに同期して動作する第4フリップフロップに供給するステップと、
    前記第4フリップフロップから出力される第4フリップフロップ出力信号を受け、前記第4フリップフロップ出力信号を反転した反転第4フリップフロップ出力信号を出力するステップと、
    前記反転第4フリップフロップ出力信号と前記第3フリップフロップ出力信号との論理積を演算した演算結果を前記第2確認信号として出力するステップを含む
    非同期ブロックの同期化方法。
  11. 請求項9または10に記載の半非同期ブロックの同期化方法において、
    前記第1クロックは、前記第2クロックより周期がいクロックである
    非同期ブロックの同期化方法。
  12. (a)第1クロックに同期して動作する第1論理回路ブロックから出力される第1要求信号を受け、前記第1要求信号を2クロックに同期させて第2要求信号を生成し、前記第2要求信号を第2クロックに同期して2論理回路ブロックに出力するステップと、
    (b)第2クロックに同期して動作する第2論理回路ブロックから出力される第1確認信号を受け、前記第1確認信号に基づいて第2確認信号を生成し、前記第2確認信号を前記要求信号同期化回路に供給するステップと、
    (c)前記第2確認信号を受け、前記第2確認信号に基づいて第3確認信号を生成し、前記第3確認信号を前記第1クロックに同期して出力するステップと、
    (d)前記第2要求信号に応答して前記第2論理回路ブロックから出力される前記第1確認信号を受け、前記第1確認信号と、前記第2確認信号と、前記第3確認信号とに応答して、現在出力されている前記第2要求信号の出力を禁止するステップ
    を具備する非同期ブロックの同期化方法。
  13. 請求項12に記載の非同期ブロックの同期化方法において、
    前記(d)ステップは、
    前記第1要求信号と前記第2確認信号を反転させた反転第2確認信号と前記第3確認信号を反転させた反転第3確認信号との論理積を演算した第1演算結果を、前記第2クロックに同期して動作する第1フリップフロップに供給するステップと、
    前記第1フリップフロップ出力と前記第1確認信号を反転させた反転第1確認信号との論理積を演算した第2演算結果を出力するステップと、
    前記第2演算結果を、前記第2要求信号を出力する第2フリップフロップに供給するステップを含む
    非同期ブロックの同期化方法。
  14. 請求項13に記載の非同期ブロックの同期化方法において、
    前記(b)ステップは、
    前記第1確認信号を受け、前記第1確認信号を前記第2クロック信号に同期して動作する動作するシフトレジスタ部に供給するステップと、
    前記第1確認信号と、シフトレジスタ部の複数のフリップフロップの出力のそれぞれの論理和を演算し、その演算結果を前記第2確認信号として出力するステップ
    を含む
    非同期ブロックの同期化方法。
  15. 請求項14に記載の非同期ブロックの同期化方法において、
    前記(c)ステップは、
    前記第2確認信号を受け、前記第1確認信号を前記第2クロックに同期して動作する第3フリップフロップに供給するステップと、
    前記第3フリップフロップから出力される第3フリップフロップ出力信号を受け、前記第3フリップフロップ出力信号を、前記第1クロックに同期して動作する第4フリップフロップに供給するステップと、
    前記第4フリップフロップから出力される第4フリップフロップ出力信号を受け、前記第4フリップフロップ出力信号を反転した反転第4フリップフロップ出力信号を出力するステップと、
    前記反転第4フリップフロップ出力信号と前記第3フリップフロップ出力信号との論理積を演算した演算結果を前記第3確認信号として出力するステップ
    を含む
    非同期ブロックの同期化方法。
  16. 請求項12から15の何れか1項に記載の非同期ブロックの同期化方法において、
    前記第1クロックは、前記第2クロックより周期が長いクロックである
    非同期ブロックの同期化方法。
JP2005264001A 2005-09-12 2005-09-12 非同期ブロック間のハンドシェイク信号同期化回路およびそれの動作方法 Expired - Fee Related JP4394620B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005264001A JP4394620B2 (ja) 2005-09-12 2005-09-12 非同期ブロック間のハンドシェイク信号同期化回路およびそれの動作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005264001A JP4394620B2 (ja) 2005-09-12 2005-09-12 非同期ブロック間のハンドシェイク信号同期化回路およびそれの動作方法

Publications (2)

Publication Number Publication Date
JP2007079709A JP2007079709A (ja) 2007-03-29
JP4394620B2 true JP4394620B2 (ja) 2010-01-06

Family

ID=37939980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005264001A Expired - Fee Related JP4394620B2 (ja) 2005-09-12 2005-09-12 非同期ブロック間のハンドシェイク信号同期化回路およびそれの動作方法

Country Status (1)

Country Link
JP (1) JP4394620B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014192574A1 (ja) 2013-05-31 2014-12-04 日本電気株式会社 送信回路

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5315882B2 (ja) * 2008-09-18 2013-10-16 日本電気株式会社 半導体装置及び通信方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014192574A1 (ja) 2013-05-31 2014-12-04 日本電気株式会社 送信回路
US9584349B2 (en) 2013-05-31 2017-02-28 Nec Corporation Transmission circuit

Also Published As

Publication number Publication date
JP2007079709A (ja) 2007-03-29

Similar Documents

Publication Publication Date Title
US8301932B2 (en) Synchronising between clock domains
JP2008122159A (ja) 半導体集積回路
JPH05289770A (ja) 同期装置及び同期方法
JP2002232404A (ja) データ伝送システム及びデータ伝送方法
JP4758311B2 (ja) 非同期データ保持回路
JP2002344308A (ja) 奇数分周器とそれを用いた90度移相器
JP4192228B2 (ja) データ発生装置
CN113258904A (zh) 具有减小的回路延迟的串行数据接口
JP4394620B2 (ja) 非同期ブロック間のハンドシェイク信号同期化回路およびそれの動作方法
JP4702137B2 (ja) スキャンテスト用フリップフロップ
KR100580179B1 (ko) 동시 변경 출력을 감소시키기 위한 방법 및 집적 회로 장치
JPH10133768A (ja) クロックシステム、半導体装置、半導体装置のテスト方法、及びcad装置
JP2016119617A (ja) シンクロナイザおよび半導体装置
JP4646710B2 (ja) 半導体集積回路
JP2005109955A (ja) 非同期通信回路
JP4588435B2 (ja) 出力信号を安定して生成する同期化回路
JPH05313783A (ja) 同期回路
JP3866562B2 (ja) 半導体集積回路の設計方法
KR100651888B1 (ko) 비동기 인터페이스 장치 및 방법
US7110461B2 (en) Technique to enlarge data eyes in wireline communication systems
JP2007336216A (ja) フリップフロップ回路およびそれを用いた半導体集積回路装置
JP4817688B2 (ja) 半導体集積回路装置
JPH11150451A (ja) 非同期リセット回路
JPH11154848A (ja) フリップフロップ
JP2008172156A (ja) 半導体集積回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090528

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090928

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091015

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121023

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131023

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees