JP2009033553A - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP2009033553A JP2009033553A JP2007196266A JP2007196266A JP2009033553A JP 2009033553 A JP2009033553 A JP 2009033553A JP 2007196266 A JP2007196266 A JP 2007196266A JP 2007196266 A JP2007196266 A JP 2007196266A JP 2009033553 A JP2009033553 A JP 2009033553A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- data
- semiconductor device
- received
- circuit
- 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.)
- Withdrawn
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
【課題】メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することが可能な半導体装置を提供する。
【解決手段】クロックに同期していない非同期信号を本体回路B1へ転送する半導体装置101であって、非同期信号をクロックに基づいて保持し、かつ保持した非同期信号を出力する順序回路FF1と、クロックを所定時間遅延させ、遅延させたクロックを遅延クロックとして出力する遅延素子DL1とを備え、本体回路B1は、順序回路FF1から受けた非同期信号を遅延素子DL1から受けた遅延クロックに同期して処理する。
【選択図】図1
【解決手段】クロックに同期していない非同期信号を本体回路B1へ転送する半導体装置101であって、非同期信号をクロックに基づいて保持し、かつ保持した非同期信号を出力する順序回路FF1と、クロックを所定時間遅延させ、遅延させたクロックを遅延クロックとして出力する遅延素子DL1とを備え、本体回路B1は、順序回路FF1から受けた非同期信号を遅延素子DL1から受けた遅延クロックに同期して処理する。
【選択図】図1
Description
本発明は、半導体装置に関し、特に、非同期信号を処理する半導体装置に関する。
論理回路は、状態を記憶しない「組み合わせ素子」と呼ばれる回路要素と、状態を記憶可能な「順序素子」と呼ばれる回路要素から構成されている。この2つの回路要素のうち、順序素子は状態を記憶する必要から、内部に正帰還回路を持つ。
ここで、順序素子内部の正帰還ループにおいて、論理ハイレベルでも論理ローレベルでもない、中途半端な中間レベルを保持している状態であるメタステーブルが生じる場合がある。この状態では順序素子は正常な動作をせず、中間レベルを出力するか、出力タイミングが遅延するか、または出力が発振する。このような状態では、メタステーブルの生じた順序素子の出力に接続される複数の素子間で論理値の認識に不整合が起きる等、論理回路の正しい動作は期待できない。このため、メタステーブルが発生しないように、順序素子の入力クロックの立ち上がり遷移を基準に、順序素子の入力信号に対して所定の遷移禁止時間が設けられている。すなわち、入力クロックの立ち上がり遷移を基準に、その立ち上がり遷移よりどれぐらい前から入力データが確定している必要があるかを示すのがセットアップ時間である。また、入力クロックの立ち上がり遷移後、入力データがどれだけの期間一定レベルで維持されなければならないかを示すのがホールド時間である。
現在の集積回路に内蔵される論理回路の多くは同期型と呼ばれる構成になるように設計されている。同期型回路では、使用されるすべての順序素子が所定の基準タイミングに同期して動作する。たとえば順序素子にエッジトリガ・フリップフロップ(以下FFとも称する)を使用した回路においては、すべてのFFは共通のクロックで動作し、入力タイミングおよび出力タイミングの共通の基準を持つ。このようにすべてのFFが所定の基準タイミングで動作すれば、FFが受けるすべての信号がそのFFが受けるクロックに対するセットアップ時間およびホールド時間を保証することは容易である。したがって、論理回路が完全な同期型であれば、正しい設計手順を取る限り、メタステーブルが発生するおそれは無いと考えられる。
しかしながら、現実の回路において、同期設計が完全に適用できる場合はまれである。なぜならば、消費電力の削減、通信規格その他の都合により、同一集積回路上に互いに非同期である複数のクロックが存在し、また、外部信号のカウントおよび外部信号の周期測定のように集積回路に対してまったく非同期である入力信号を集積回路内で扱う必要があるからである。このような場合、複数の相異なるクロックを基準とする回路間のデータ転送においては、セットアップ時間およびホールド時間を守る方法は無いため、一定の確率でメタステーブルが発生する。
このようなメタステーブルによる不具合を回避し、かつ高効率で高品質な回路を設計するために、複数のクロックの各々で「クロックドメイン」という領域を作り、クロックドメインごとに同期設計を行なう。そして、クロックドメイン間を「非同期渡り回路」と呼ばれる、メタステーブルの不具合を回避するための特殊な形式のインターフェース回路で接続する構成が採用されている。
このような「非同期渡り回路」の一例として、データ受信側の回路で用いるクロックで動作する直列接続された2段のFFを設け、このクロックと非同期な転送データをサンプリングする構成が知られている。この構成では、メタステーブルの発生期間がクロックの1サイクルよりも短い場合には、前段のFFにおけるメタステーブルが消滅してから後段のFFが転送データをサンプリングすることができるため、メタステーブルの影響を防ぐことができる(たとえば、非特許文献1〜4参照)。
米田友洋著、「非同期式回路の設計」、共立出版株式会社、2003年9月10日発行、第1刷、pp.347−348 Cypress Semiconductor Corporation, "Are your PLDs Metastable?", 1997 Texas Instruments , "74ACT11478 METASTABLE-RESISTAND OCTAL D-TYPE DUAL-RANK FLIP-FLOP WITH 3-STATE OUTPUTS ", April 1990, pp.1-6 Texas Instruments , "Metastability ", August 1996
米田友洋著、「非同期式回路の設計」、共立出版株式会社、2003年9月10日発行、第1刷、pp.347−348 Cypress Semiconductor Corporation, "Are your PLDs Metastable?", 1997 Texas Instruments , "74ACT11478 METASTABLE-RESISTAND OCTAL D-TYPE DUAL-RANK FLIP-FLOP WITH 3-STATE OUTPUTS ", April 1990, pp.1-6 Texas Instruments , "Metastability ", August 1996
しかしながら、非特許文献1〜4記載の構成では、転送データを受けるFFが転送データを取りこぼすことを防ぐために、「データ送信側クロックの周波数<データ受信側クロックの周波数」の関係を満たす必要があることから、クロック周波数の選択に制限が生じてしまう。さらに、メタステーブルの消滅を待つ、すなわちメタステーブルが消滅してから後段のFFで転送データをサンプリングすることから、送信側の回路と受信側の回路との間でデータ転送1ビットあたり1クロックサイクルの遅延(レイテンシ)が生じてしまう。特に、クロックドメイン間で双方向にデータおよび制御信号をやりとりする場合、たとえば受信側の回路がデータまたは制御信号を送信側の回路から受けて送信側の回路に対して行なう制御が、次の送信側の回路の動作に間に合わないといった問題が生じる。
それゆえに、本発明の目的は、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することが可能な半導体装置を提供することである。
本発明に係る半導体装置は、要約すれば、非同期信号をクロックに基づいて保持し、かつ保持した非同期信号を出力する順序回路と、クロックを所定時間遅延させ、遅延させたクロックを遅延クロックとして出力する遅延素子とを備える。
本発明によれば、遅延素子によって遅延されたクロックの立ち上がり遷移は、メタステーブルが消滅した後に生じることから、後段回路がメタステーブルの影響を受けることを防ぐことができる。また、転送データをサンプリングするためのフリップフロップを複数段設ける必要がないことから、「データ送信側クロックの周波数<データ受信側クロックの周波数」の関係を満たす必要がない。また、送信側の回路と受信側の回路との間で生じるレイテンシは遅延素子の遅延時間だけで済むため、レイテンシを大幅に短縮することができる。したがって、本発明によれば、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第1の実施の形態>
図1は、本発明の第1の実施の形態に係る半導体装置の構成を示す図である。図1を参照して、半導体装置101は、転送制御回路1と、本体回路B1とを備える。転送制御回路1は、フリップフロップFF1と、遅延素子DL1とを含む。
図1は、本発明の第1の実施の形態に係る半導体装置の構成を示す図である。図1を参照して、半導体装置101は、転送制御回路1と、本体回路B1とを備える。転送制御回路1は、フリップフロップFF1と、遅延素子DL1とを含む。
データD0はたとえば1ビットのデータ転送フラグである。クロックCLK2とデータD0とは非同期である。フリップフロップFF1は、外部から受けたクロックCLK2のたとえば立ち上がり遷移のタイミングにおいて、外部から受けたデータD0をサンプリングし、サンプリングしたデータD0を保持するとともにデータD1として出力する。
遅延素子DL1は、外部から受けたクロックCLK2を所定の遅延時間DLTだけ遅延させ、遅延させたクロックを遅延CLK2Dとして出力する。ここで、遅延素子DL1による遅延時間DLTは、フリップフロップFF1において生じるメタステーブルの発生期間MTより長い時間が設定される。
なお、メタステーブルの発生期間は、理論的には無限であるが、本発明の実施の形態においては、半導体装置の寿命から考えた現実的なメタステーブルの発生期間を算出する。このメタステーブルの発生期間は、素子特性、温度および電圧等の使用条件、MTBF(Mean Time Between Failure)ならびに順序回路の形式から算出される。そして、遅延時間DLTは、この算出されたメタステーブルの発生期間より長い時間が設定される。
本体回路B1は、フリップフロップFF1から受けたデータD1を、遅延素子DL1から受けたクロックCLK2Dに同期して処理する。たとえば、本体回路B1は、クロックCLK2Dのたとえば立ち上がり遷移のタイミングにおいてデータD1をサンプリングし、サンプリングしたデータD1を保持するとともに出力するフリップフロップを含む。
図2は、本発明の第1の実施の形態に係る半導体装置におけるフリップフロップの構成を示す図である。
図2を参照して、フリップフロップFF1は、エッジトリガ・フリップフロップである。フリップフロップFF1は、PチャネルMOS(Metal Oxide Semiconductor)トランジスタM1,M3と、NチャネルMOSトランジスタM2,M4と、インバータINV1,INV2,INV3,CINV1,CINV2と、バッファBUF1とを含む。
クロックCLKの立ち上がり遷移のタイミングで入力ノードDに接続されるPチャネルMOSトランジスタM1およびNチャネルMOSトランジスタM2からなる伝送スイッチがオフ状態となる。そうすると、オフ状態となる直前のデータがインバータINV1,CINV1からなる帰還ループにより保持される。
ここで、インバータINV1は通常のインバータ素子であり、インバータCINV1は「クロックド・インバータ」と呼ばれる素子である。すなわち、インバータCINV1は、制御端子CtおよびCbがアサートされている場合には通常のインバータとして機能し、ネゲートされている場合には出力がハイインピーダンスとなる。
このインバータINV1,CINV1からなる正帰還ループのノードAおよびノードBの電圧レベルは、入力ノードDの電圧レベルすなわち論理値と、入力ノードDの電圧レベルの遷移タイミングと、クロックCLKの立ち上がり遷移のタイミングとにより決定される。
たとえば、クロックCLKが論理値0(論理ローレベル)である状態において、入力ノードDが論理値1(論理ハイレベル)を示す電圧レベルに遷移して充分な時間が経過した後、クロックCLKが立ち上がる。この場合、ノードAは入力ノードDと同じ論理値1を示し、ノードBは論理値1の反転である論理値0を示すので、この正帰還ループは安定に論理値を記憶し続けることが可能である。
しかしながら、クロックCLKの立ち上がり遷移の直前および直後、または立ち上がり遷移の途中でデータDの遷移が起こった場合には、フリップフロップFF1においてメタステーブルが発生する。すなわち、ノードAは論理値0でも論理値1でもない、中途半端な電圧レベルとなり、また、ノードAのレベルを受けるインバータINV1の出力であるノードBもやはり中途半端な電圧レベルとなる。
図3は、フリップフロップの出力が正常な状態およびフリップフロップの出力にメタステーブルが発生している状態を示す図である。
図3を参照して、メタステーブルが発生していない場合には、フリップフロップの出力はクロックCLKに対してW1で示すような波形となる。一方、メタステーブルが発生している場合には、フリップフロップFF1は中間レベルを出力するか(波形W2)、出力タイミングが遅延するか(波形W3)、または出力が発振する(波形W4)。
図4は、本発明の第1の実施の形態に係る半導体装置の動作を示すタイムチャートである。
図4を参照して、データD0とクロックCLK2とは非同期であるため、クロックCLK2の立ち上がり遷移の直前および直後、または立ち上がり遷移の途中でデータD0の遷移が起こる場合がある。この場合、前述のようにフリップフロップFF1の出力にメタステーブルが発生する。
ここで、非特許文献1〜4記載の構成では、受信側の回路が転送データを取りこぼすことを防ぐために、「データ送信側クロックの周波数<データ受信側クロックの周波数」の関係を満たす必要があることから、クロック周波数の選択に制限が生じてしまう。さらに、メタステーブルの消滅を待つために、送信側の回路と受信側の回路との間でデータ転送1ビットあたり1クロックサイクルの遅延(レイテンシ)が生じてしまう。
しかしながら、本発明の第1の実施の形態に係る半導体装置では、フリップフロップFF1は、クロックCLK2に同期していない非同期信号であるデータD0をクロックCLK2のタイミングで保持し、保持したデータをデータD1として出力する。遅延素子DL1は、クロックCLK2を所定時間遅延させ、遅延させたクロックをクロックCLK2Dとして出力する。そして、本体回路B1は、フリップフロップFF1から受けたデータD1を遅延素子DL1から受けたクロックCLK2Dに同期して処理する。
このような構成により、図4に示すように、遅延素子DL1によって遅延されたクロックCLK2Dの立ち上がり遷移は、メタステーブルが消滅した後に生じることから、本体回路B1がメタステーブルの影響を受けることを防ぐことができる。また、転送データをサンプリングするためのフリップフロップを複数段設ける必要がないことから、「データ送信側クロックの周波数<データ受信側クロックの周波数」の関係を満たす必要がない。
図5は、クロック周波数の選択についての問題点を解決するための転送制御回路の一例を示す図である。
図5を参照して、転送制御回路91は、直列接続されたフリップフロップFF91,FF92と、遅延素子DL91とを備える。半導体装置101と同様に、遅延素子DL91の遅延時間は前段のフリップフロップFF91におけるメタステーブルの発生期間よりも長い時間が設定される。すなわち、後段のフリップフロップFF92が受けるクロックを前段のフリップフロップFF91におけるメタステーブルが消滅するまで遅延させる。これにより、後段のフリップフロップFF92が前段のフリップフロップFF91において発生するメタステーブルの影響を受けることを防ぐことができる。
しかしながら、このような構成では、2段のフリップフロップFF91,FF92により、半導体装置101と比べて1クロックサイクルの遅延(レイテンシ)がさらに生じてしまう。
一方、本発明の第1の実施の形態に係る半導体装置では、送信側の回路と受信側の回路との間で生じるレイテンシはデータ転送1ビットあたり遅延時間DLTで済むため、非特許文献1〜4記載の構成および図5に示す回路と比べてレイテンシを大幅に短縮することができる。
したがって、本発明の第1の実施の形態に係る半導体装置では、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
また、クロックCLK2が継続的に出力されず、バースト的に出力される回路において、メタステーブルの発生時より後でクロックCLK2が出力されない場合には、非特許文献1〜4記載の構成および図5に示す回路では、受信側の回路はメタステーブルの消滅を待って転送データを処理することができない。しかしながら、本発明の第1の実施の形態に係る半導体装置では、メタステーブルの発生時より後でクロックCLK2が出力されない場合でも、本体回路B1は、フリップフロップFF1から受けたデータD1を、メタステーブルの影響を受けることなくクロックCLK2Dで処理することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第2の実施の形態>
本実施の形態は、クロックと非同期な信号を用いてそのクロックを制御する半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
本実施の形態は、クロックと非同期な信号を用いてそのクロックを制御する半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
図6は、本発明の第2の実施の形態に係る半導体装置の構成を示す図である。図6を参照して、半導体装置102は、転送制御回路2と、本体回路B2とを備える。転送制御回路2は、フリップフロップFF1と、遅延素子DL1と、ANDゲートG1とを含む。
データD0はたとえばクロックイネーブル信号である。クロックイネーブル信号D0とクロックCLK2とは非同期である。クロックイネーブル信号D0が論理ハイレベルの場合にはクロックCLK2が本体回路B2に供給され、論理ローレベルの場合にはクロックCLK2が本体回路B2に供給されない。
フリップフロップFF1は、外部から受けたクロックCLK2のたとえば立ち上がり遷移のタイミングにおいて、外部から受けたクロックイネーブル信号D0をサンプリングし、サンプリングしたクロックイネーブル信号D0を保持するとともにクロックイネーブル信号(第1の転送制御信号)D1として出力する。
遅延素子DL1は、外部から受けたクロックCLK2を所定の遅延時間DLTだけさせて出力する。ここで、遅延素子DL1による遅延時間DLTは、フリップフロップFF1において生じるメタステーブルの発生期間MTより長い時間が設定される。
ANDゲートG1は、クロックイネーブル信号D1に基づいて、遅延素子DL1から受けた遅延クロックCLK2Dを出力するか否かを切り替える。すなわち、ANDゲートG1は、フリップフロップFF1から受けたクロックイネーブル信号D1と遅延素子DL1から受けたクロックCLK2Dとの論理積を示す信号をクロックCLK2Gとして出力する。
本体回路B2は、ANDゲートG1から受けたクロックCLK2Gに同期して信号処理を行なう。たとえば、本体回路B2は、クロックCLK2Gのたとえば立ち上がり遷移のタイミングにおいて、外部から受けた信号をサンプリングし、サンプリングした信号を保持するとともに出力するフリップフロップを含む。
図7は、本発明の第2の実施の形態に係る半導体装置の動作を示すタイムチャートである。
図7を参照して、クロックイネーブル信号D0とクロックCLK2とは非同期であるため、クロックCLK2の立ち上がり遷移の直前および直後、または立ち上がり遷移の途中でデータD0の遷移が起こる場合がある。この場合、フリップフロップFF1の出力にメタステーブルが発生する。
ここで、非特許文献1〜4記載の構成および図5に示す回路では、受信側の回路が転送データを取りこぼすことを防ぐために、「データ送信側クロックの周波数<データ受信側クロックの周波数」の関係を満たす必要があることから、クロック周波数の選択に制限が生じてしまう。さらに、メタステーブルの消滅を待つために、送信側の回路と受信側の回路との間でデータ転送1ビットあたり1クロックサイクルの遅延(レイテンシ)が生じてしまう。
しかしながら、本発明の第2の実施の形態に係る半導体装置では、図6に示すように、遅延素子DL1によって遅延されたクロックCLK2Dの立ち上がり遷移は、メタステーブルが消滅した後に生じている。すなわち、フリップフロップFF1の出力であるクロックイネーブル信号D1は、フリップフロップFF1におけるメタステーブルの発生期間MTより長く遅延素子DL1により遅延されたクロックCLK2DとANDゲートG1において論理積がとられる。このため、メタステーブルはクロックCLK2Gには伝達されない。そして、本体回路B2は、ANDゲートG1から受けたクロックCLK2Gに同期して信号処理を行なう。
このような構成により、本体回路B2がメタステーブルの影響を受けることを防ぐことができる。また、転送データをサンプリングするためのフリップフロップを複数段設ける必要がないことから、「データ送信側クロックの周波数<データ受信側クロックの周波数」の関係を満たす必要がない。また、送信側の回路と受信側の回路との間で生じるレイテンシはデータ転送1ビットあたり遅延時間DLTで済むため、レイテンシを大幅に短縮することができる。
したがって、本発明の第2の実施の形態に係る半導体装置では、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
また、クロックCLK2が継続的に出力されず、バースト的に出力される回路において、メタステーブルの発生時より後でクロックCLK2が出力されない場合には、非特許文献1〜4記載の構成および図5に示す回路では、受信側の回路はメタステーブルの消滅を待って転送データを処理することができない。しかしながら、本発明の第2の実施の形態に係る半導体装置では、メタステーブルの発生時より後でクロックCLK2が出力されない場合でも、本体回路B2は、メタステーブルの影響を受けることなく、ANDゲートG1から受けたクロックCLK2Gを用いて信号処理を行なうことができる。
なお、本発明の第2の実施の形態に係る半導体装置は、ANDゲートG1を備える構成であるとしたが、これに限定するものではない。ANDゲートG1の代わりに、他の組み合わせ回路を備える構成であってもよい。組み合わせ回路とは、前述のように状態を記憶しない回路、すなわち、入力信号の処理にクロックを必要とせずに、入力信号が決まれば瞬時に結果が得られる回路である。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第3の実施の形態>
本実施の形態は、複数ビットを有する非同期データを転送する半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
本実施の形態は、複数ビットを有する非同期データを転送する半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
図8は、本発明の第3の実施の形態に係る半導体装置の構成を示す図である。図8を参照して、半導体装置103は、フリップフロップFF1,FF3と、転送制御回路3と、本体回路B3とを備える。転送制御回路3は、フリップフロップFF4と、遅延素子DL1と、ANDゲートG2とを含む。本体回路B3は、フリップフロップFF2,FF5を含む。
クロックCLK1とクロックCLK2とは非同期である。データ転送フラグACとクロックCLK2とは非同期である。転送データD0[N:0]は(N+1)ビットである(Nは1以上の自然数)。
フリップフロップFF1は、外部から受けたクロックCLK1のたとえば立ち上がり遷移のタイミングにおいて、外部から受けた転送データD0をサンプリングし、サンプリングした転送データD0を保持するとともに転送データD1として出力する。
フリップフロップFF3は、外部から受けたクロックCLK1のたとえば立ち上がり遷移のタイミングにおいて、外部から受けたデータ転送フラグACをサンプリングし、サンプリングしたデータ転送フラグACを保持するとともにデータ転送フラグAC0として出力する。
転送制御回路3におけるANDゲートG2は、データ転送フラグAC0がクロックCLK2の所定の遷移タイミングたとえば立ち上がり遷移のタイミングにおいてアサートされている場合には、クロックCLK2GのフリップフロップFF2への出力を停止する。
より詳細には、フリップフロップFF4は、外部から受けたクロックCLK2のたとえば立ち上がり遷移のタイミングにおいて、フリップフロップFF3から受けたデータ転送フラグAC0をサンプリングし、サンプリングしたデータ転送フラグAC0を保持するとともにデータ転送フラグAC1として出力する。
遅延素子DL1は、外部から受けたクロックCLK2を所定の遅延時間DLTだけ遅延させ、遅延させたクロックをクロックCLK2DとしてANDゲートG2および本体回路B3へ出力する。ここで、遅延素子DL1による遅延時間DLTは、フリップフロップFF4において生じるメタステーブルの発生期間MTより長い時間が設定される。
ANDゲートG2は、フリップフロップFF4から受けたデータ転送フラグAC1の論理レベルを反転させたデータと遅延素子DL1から受けたクロックCLK2Dとの論理積を示す信号をクロックCLK2Gとして出力する。
本体回路B3において、フリップフロップFF2は、ANDゲートG2から受けたクロックCLK2Gの所定の遷移タイミングたとえば立ち上がり遷移のタイミングにおいて、フリップフロップFF1から受けた転送データD1をサンプリングし、サンプリングした転送データD1を保持するとともにデータD2として出力する。
本体回路B3は、遅延素子DL1から受けたクロックCLK2Dをクロックとして用い、フリップフロップFF2から受けたデータD2をクロックCLK2Dに同期して処理する。たとえば、フリップフロップFF5は、クロックCLK2Dのたとえば立ち上がり遷移のタイミングにおいて、データD2をサンプリングし、サンプリングしたデータD2を保持するとともに出力する。
図9は、本発明の第3の実施の形態に係る半導体装置の動作を示すタイムチャートである。
図9を参照して、データ転送フラグAC0は、転送データD1が変化するタイミングの所定時間前にアサートされ、かつ転送データD1が変化するタイミングにおいてネゲートされる。データ転送フラグAC0は、クロックCLK1系の回路で生成される、すなわち、クロックCLK1に同期している。
クロックCLK1で動作するフリップフロップFF1から出力される転送データD1[N:0]は、データ転送フラグAC0の立ち下がり遷移に同期して変化する。
データ転送フラグAC0とクロックCLK2とは非同期であるため、クロックCLK2の立ち上がり遷移の直前および直後、または立ち上がり遷移の途中でデータ転送フラグAC0の遷移が起こる場合がある。この場合、フリップフロップFF4の出力にメタステーブルが発生する。
しかしながら、本発明の第3の実施の形態に係る半導体装置では、図9に示すように、遅延素子DL1によって遅延されたクロックCLK2Dの立ち上がり遷移は、メタステーブルが消滅した後に生じている。すなわち、フリップフロップFF4の出力であるデータ転送フラグAC1は、フリップフロップFF4におけるメタステーブルの発生期間MTより長く遅延素子DL1により遅延されたクロックCLK2DとANDゲートG2において論理積がとられる。このため、メタステーブルはクロックCLK2Gには伝達されない。そして、本体回路B3は、ANDゲートG2から受けたクロックCLK2Gに同期して信号処理を行なう。このような構成により、本体回路B3がメタステーブルの影響を受けることを防ぐことができる。
図9において示す条件Aでは、クロックCLK2の立ち上がり遷移のタイミングにおいて、データ転送フラグAC0が論理ローレベルである。ここで、データ転送フラグAC0のアサート期間TASは、遅延時間DLTより長い。したがって、フリップフロップFF1から出力される転送データD1[N:0]は、フリップフロップFF2が受けるクロックCLK2Gが論理ローレベルから論理ハイレベルへ遷移する時点でMに確定している。
このため、転送制御回路3は、ANDゲートG2においてクロックCLK2Dをマスクせずに、クロックCLK2GをフリップフロップFF2へ出力する。そうすると、フリップフロップFF2から出力されるデータD2[N:0]がM−1からMに更新される。
一方、図9において示す条件Bでは、クロックCLK2の立ち上がり遷移のタイミングにおいて、データ転送フラグAC0が論理ハイレベルである。したがって、フリップフロップFF1から出力される転送データD1[N:0]は、フリップフロップFF2が受けるクロックCLK2Gが論理ローレベルから論理ハイレベルへ遷移する時点で変化するおそれがある。
このため、転送制御回路3は、ANDゲートG2においてクロックCLK2Dをマスクする。そうすると、フリップフロップFF2から出力されるデータD2[N:0]は更新されず、従来の値M−1が維持される。ここで、データ転送フラグAC0のアサート期間TASは、遅延時間DLTより長い。このような構成により、転送データD1の変化に対して確実にクロックCLK2Dをマスクすることができる。
本発明の第3の実施の形態に係る半導体装置では、条件Aおよび条件Bいずれの場合でもクロックCLK2の1サイクル分のみで転送データD1を本体回路B3へ転送することができるため、レイテンシが増加することを防ぐことができる。
ここで、非特許文献1〜4記載の構成および図5に示した回路では、複数ビットを有するデータの転送を行なう場合、スキュー等、微小なタイミングばらつきの影響により、本来転送されるべきデータとは異なるデータがフリップフロップでサンプリングされる可能性がある。
しかしながら、本発明の第3の実施の形態に係る半導体装置では、上記の条件BにおいてフリップフロップFF2へのクロックを停止することにより、複数ビットを有する転送データD0の転送を正常に行なうことができる。
その他の構成および動作は第1の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第3の実施の形態に係る半導体装置では、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第4の実施の形態>
本実施の形態は、本体回路の動作クロック自体をゲートオフする半導体装置に関する。以下で説明する内容以外は第3の実施の形態に係る半導体装置と同様である。
本実施の形態は、本体回路の動作クロック自体をゲートオフする半導体装置に関する。以下で説明する内容以外は第3の実施の形態に係る半導体装置と同様である。
図10は、本発明の第4の実施の形態に係る半導体装置の構成を示す図である。図10を参照して、半導体装置104は、フリップフロップFF1,FF3と、転送制御回路3と、本体回路B4とを備える。転送制御回路4は、フリップフロップFF4と、遅延素子DL1と、ANDゲートG2とを含む。本体回路B4は、フリップフロップFF2,FF5を含む。
本体回路B4において、フリップフロップFF2は、ANDゲートG2から受けたクロックCLK2Gのたとえば立ち上がり遷移のタイミングにおいて、フリップフロップFF1から受けた転送データD1をサンプリングし、サンプリングしたデータD1を保持するとともにデータD2として出力する。
本体回路B4は、ANDゲートG2から受けたクロックCLK2Gをクロックとして用い、フリップフロップFF2の出力データD2をクロックCLK2Gに同期して処理する。たとえば、フリップフロップFF5は、クロックCLK2Gのたとえば立ち上がり遷移のタイミングにおいて、データD2をサンプリングし、サンプリングしたデータD2を保持するとともに出力する。
このような構成により、本体回路が遅延クロックCLK2Dを用いる構成である本発明の第3の実施の形態に係る半導体装置と比べて本体回路の消費電力を低減することができる。
その他の構成および動作は本発明の第3の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第4の実施の形態に係る半導体装置では、複数ビットを有するデータを非同期回路間で転送し、転送遅延を抑制し、かつメタステーブルの影響を防ぐことができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第5の実施の形態>
本実施の形態は、クロックCLK2に同期した信号をCLK1系の回路へ転送する半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
本実施の形態は、クロックCLK2に同期した信号をCLK1系の回路へ転送する半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
図11は、本発明の第5の実施の形態に係る半導体装置の構成を示す図である。図11を参照して、半導体装置105は、フリップフロップFF3と、データ転送用レベルセンシティブラッチLT1と、転送制御回路5と、本体回路B5と、受信回路CK1と、アドレスデコーダADECとを備える。転送制御回路5は、フリップフロップFF4と、遅延素子DL1と、ANDゲートG2とを含む。本体回路B5は、フリップフロップFF1を含む。受信回路CK1は、フリップフロップFF6を含む。
クロックCLK1とクロックCLK2とは非同期である。データ読み出しフラグREとクロックCLK2とは非同期である。データ読み出しフラグREは、本体回路B5の記憶データの転送要求を示すために所定時間アサートされる信号である。転送データD0[N:0]は(N+1)ビットである(Nは1以上の自然数)。
受信回路CK1は、クロックCLK1によって動作するクロックCLK1系の回路である。受信回路CK1は、本体回路B5のアドレスを示す複数ビットのアドレス信号ADを出力する。
アドレスデコーダADECは、受信回路CK1から受けたアドレス信号ADの示すアドレスに対応する本体回路B5へのデータ読み出しフラグREをアサートする。
フリップフロップFF3は、外部から受けたクロックCLK1のたとえば立ち上がり遷移のタイミングにおいて、アドレスデコーダADECから受けたデータ読み出しフラグREをサンプリングし、サンプリングしたデータ読み出しフラグREを保持するとともにデータ読み出しフラグRE0として出力する。
転送制御回路5におけるANDゲートG2は、データ読み出しフラグRE0がクロックCLK2の所定の遷移タイミングたとえば立ち上がり遷移のタイミングにおいてアサートされている場合には、クロックCLK2Gのデータ転送用レベルセンシティブラッチLT1への出力を停止する。
より詳細には、フリップフロップFF4は、外部から受けたクロックCLK2のたとえば立ち上がり遷移のタイミングにおいて、フリップフロップFF3から受けたデータ読み出しフラグRE0をサンプリングし、サンプリングしたデータ読み出しフラグRE0を保持するとともにデータ読み出しフラグRE1として出力する。
遅延素子DL1は、外部から受けたクロックCLK2を所定の遅延時間DLTだけ遅延させ、遅延させたクロックをクロックCLK2DとしてANDゲートG2および本体回路B5へ出力する。ここで、遅延素子DL1による遅延時間DLTは、フリップフロップFF4において生じるメタステーブルの発生期間MTより長い時間が設定される。
ANDゲートG2は、フリップフロップFF4から受けたデータ読み出しフラグRE1の論理レベルを反転させたデータと遅延素子DL1から受けたクロックCLK2Dとの論理積を示す信号をクロックCLK2Gとして出力する。
ここで、データ読み出しフラグRE0とクロックCLK2とは非同期であるため、フリップフロップFF4はある確率でメタステーブルを起こす。しかしながら、フリップフロップFF4の出力データであるデータ読み出しフラグRE1は、フリップフロップFF4におけるメタステーブルの発生期間MTより長く遅延素子DL1により遅延されたクロックCLK2DとANDゲートG2において論理積がとられる。このため、メタステーブルはデータ転送用レベルセンシティブラッチLT1には伝達されない。このような構成により、受信回路CK1がメタステーブルの影響を受けることを防ぐことができる。
フリップフロップFF1は、遅延素子DL1から受けたクロックCLK2Dのたとえば立ち上がり遷移のタイミングにおいて、本体回路B5において記憶されている記憶データD0をサンプリングし、サンプリングした記憶データD0を保持するとともにデータD1として出力する。
データ転送用レベルセンシティブラッチLT1は、転送制御回路5から受けたクロックCLK2Gのタイミングに基づいて、フリップフロップFF1から受けたデータD1を保持するとともにデータD2として出力する。より詳細には、データ転送用レベルセンシティブラッチLT1は、ANDゲートG2から受けたクロックCLK2Gがたとえばハイレベルである場合において、フリップフロップFF1から新たに受けたデータD1が保持しているデータD1から変化したときには、変化したデータD1を保持するとともにデータD2として出力する。一方、データ転送用レベルセンシティブラッチLT1は、ANDゲートG2から受けたクロックCLK2Gがたとえばローレベルである場合には、フリップフロップFF1から受けたデータD1の変化に関わらず、以前から保持しているデータD1をデータD2として出力する。
受信回路CK1は、データ転送用レベルセンシティブラッチLT1から受けたデータD2をクロックCLK1に同期して処理する。たとえば、フリップフロップFF6は、データ読み出しフラグRE0の立ち下がり遷移のタイミングにおいて、データD2をサンプリングし、サンプリングしたデータD2を保持するとともに出力する。
図12は、本発明の第5の実施の形態に係る半導体装置の動作を示すタイムチャートである。
図12において示す条件Aでは、クロックCLK2の立ち上がり遷移のタイミングにおいて、データ読み出しフラグRE0が論理ローレベルである。ここで、データ読み出しフラグRD0のアサート期間TASは、遅延時間DLTより長い。したがって、フリップフロップFF1から出力されるデータD1[N:0]の変化と、受信回路CK1によるデータD2のサンプリングとが同時に発生しない。すなわち、フリップフロップFF1から出力されるデータD1[N:0]は、データ読み出しフラグRE0の立ち下がり遷移のタイミングでMに確定している。
このため、転送制御回路5は、ANDゲートG2においてクロックCLK2Dをマスクせずに、クロックCLK2Gをデータ転送用レベルセンシティブラッチLT1へ出力する。そうすると、データ転送用レベルセンシティブラッチLT1から出力されるデータD2[N:0]がM−1からMに更新される。
一方、図12において示す条件Bでは、クロックCLK2の立ち上がり遷移のタイミングにおいて、データ読み出しフラグRE0が論理ハイレベルである。したがって、フリップフロップFF1から出力されるデータD1[N:0]の変化と、受信回路CK1によるデータD2のサンプリングとが同時に発生するおそれがある。
このため、転送制御回路5は、ANDゲートG2においてクロックCLK2Gをマスクする。そうすると、データ転送用レベルセンシティブラッチLT1から出力されるデータD2[N:0]は更新されず、従来の値M−1が維持される。ここで、データ読み出しフラグRE0のアサート期間TASは、遅延時間DLTより長い。このような構成により、転送データD0の変化に対して確実にクロックCLK2Dをマスクすることができる。
本発明の第5の実施の形態に係る半導体装置では、条件Aおよび条件Bいずれの場合でもクロックCLK2の1サイクル分のみで転送データD0を受信回路CK1へ転送することができるため、レイテンシが増加することを防ぐことができる。
また、本発明の第5の実施の形態に係る半導体装置では、上記の条件Bにおいてデータ転送用レベルセンシティブラッチLT1へのクロックを停止することにより、複数ビットを有する転送データD1の転送を正常に行なうことができる。
その他の構成および動作は第1の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第5の実施の形態に係る半導体装置では、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第6の実施の形態>
本実施の形態は、タイマのカウント値の読み出しが可能な半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
本実施の形態は、タイマのカウント値の読み出しが可能な半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
図13は、本発明の第6の実施の形態に係る半導体装置の構成を示す図である。図13を参照して、半導体装置106は、転送制御回路6と、本体回路B6と、受信回路CK11とを備える。転送制御回路6は、セレクタK12と、フリップフロップFF11,FF12と、ANDゲートG11と、ORゲートG12と、遅延素子DL1とを含む。本体回路B6は、カウンタK11と、フリップフロップFF13と、読み出し用レベルセンシティブラッチLT11と、ANDゲートG13とを含む。受信回路CK11は、フリップフロップFF61を含む。
クロックCLK1とクロックCLK1a,1b,1cとは非同期である。データ読み出しフラグREは、クロックCLK1に同期してアサートおよびネゲートされる、すなわちデータ読み出しフラグREとクロックCLK1a,1b,1cとは非同期である。データ読み出しフラグREは、タイマである本体回路B6のカウント値の転送要求を示すために所定時間アサートされる信号である。カウント値を示すカウント信号CNT0[N:0]は(N+1)ビットである(Nは1以上の自然数)。
セレクタK12は、外部から受けたクロック1a,1b,1cのうちいずれかを選択し、選択したクロックをクロックCLK2として出力する。
遅延素子DL1は、セレクタK12から受けたクロックCLK2を所定の遅延時間DLTだけ遅延させ、遅延させたクロックをクロックCLK2Dとして出力する。ここで、遅延素子DL1による遅延時間DLTは、フリップフロップFF11において生じるメタステーブルの発生期間MTより長い時間が設定される。
カウンタK11は、遅延素子DL1から受けたクロックCLK2Dのたとえば立ち上がり遷移のタイミングでカウントアップを行ない、カウント結果を示すカウント信号CNT0をフリップフロップFF13へ出力する。
フリップフロップFF13は、遅延素子DL1から受けたクロックCLK2Dのたとえば立ち上がり遷移のタイミングにおいて、カウンタK11から受けたカウント信号CNT0をサンプリングし、サンプリングしたカウント信号CNT0を保持するとともにカウント信号CNT1として出力する。
フリップフロップFF12は、外部から受けたクロックCLK1のたとえば立ち上がり遷移のタイミングにおいて、データ読み出しフラグREをサンプリングし、サンプリングしたデータ読み出しフラグREを保持するとともにデータ読み出しフラグRE1として出力する。
ORゲートG12は、データ読み出しフラグREとフリップフロップFF12から受けたデータ読み出しフラグRE1との論理和を示す信号をマスク信号MSK1として出力する。
フリップフロップFF11は、セレクタK12から受けたクロックCLK2のたとえば立ち上がり遷移のタイミングにおいて、ORゲートG12から受けたマスク信号MSK1をサンプリングし、サンプリングしたマスク信号MSK1を保持するとともにマスク信号MSK2として出力する。
ANDゲートG11は、フリップフロップFF11から受けたマスク信号MSK2の論理レベルを反転させたデータと遅延素子DL1から受けたクロックCLK2Dとの論理積を示す信号をクロックCLK2Gとして出力する。
ここで、データ読み出しフラグREとクロックCLK2とは非同期であるため、フリップフロップFF11はある確率でメタステーブルを起こす。しかしながら、フリップフロップFF11の出力データであるマスク信号MSK2は、フリップフロップFF11におけるメタステーブルの発生期間MTより長く遅延素子DL1により遅延されたクロックCLK2DとANDゲートG11において論理積がとられることから、メタステーブルは読み出し用レベルセンシティブラッチLT11には伝達されない。
読み出し用レベルセンシティブラッチLT11は、転送制御回路6から受けたクロックCLK2Gのタイミングに基づいてフリップフロップFF13から受けたカウント信号CNT1をサンプリングして保持し、保持したカウント信号CNT1をカウント信号CNT2として出力する。
ANDゲートG13は、読み出し用レベルセンシティブラッチLT11から受けたカウント信号CNT2とフリップフロップFF12から受けたデータ読み出しフラグRE1との論理積を示す信号をカウント信号CNTOUTすなわち本体回路B6のカウント値の読み出し結果として出力する。
受信回路CK11は、クロックCLK1によって動作するクロックCLK1系の回路である。すなわち、受信回路CK11は、ANDゲートG13から受けたカウント信号CNTOUTをクロックCLK1に同期して処理する。たとえば、フリップフロップFF61は、データ読み出しフラグRE1の立ち下がり遷移のタイミングにおいて、カウント信号CNTOUTをサンプリングし、サンプリングしたカウント信号CNTOUTを保持するとともに出力する。
図14は、本発明の第6の実施の形態に係る半導体装置の動作を示すタイムチャートである。図14は、C2がカウント値として読み出される場合を示している。
図14において示すタイミングAでは、データ読み出しフラグREはネゲートされている。すなわち、クロックCLK2の立ち上がり遷移のタイミングにおいて、データ読み出しフラグREが論理ローレベルである。ここで、データ読み出しフラグREのアサート期間TASは、遅延時間DLTより長い。したがって、カウント信号CNTOUTの変化と、受信回路CK11によるカウント信号CNTOUTのサンプリングとが同時に発生しない。
このため、転送制御回路6は、ANDゲートG11においてクロックCLK2Dをマスクせずに、クロックCLK2Gを読み出し用レベルセンシティブラッチLT11へ出力する。そうすると、読み出し用レベルセンシティブラッチLT11から出力されるカウント信号CNT2がC1からC2に更新される。
一方、図14において示すタイミングBでは、データ読み出しフラグREはアサートされている。すなわち、クロックCLK2の立ち上がり遷移のタイミングにおいて、データ読み出しフラグREが論理ハイレベルである。したがって、カウント信号CNTOUTの変化と、受信回路CK11によるカウント信号CNTOUTのサンプリングとが同時に発生するおそれがある。
このため、転送制御回路6は、ANDゲートG11においてクロックCLK2Dをマスクする。そうすると、読み出し用レベルセンシティブラッチLT11から出力されるカウント信号CNT2は更新されず、従来の値C2が維持される。ここで、データ読み出しフラグREのアサート期間TASは、遅延時間DLTより長い。このような構成により、カウント値の転送要求に従って確実にクロックCLK2Dをマスクすることができる。
また、本発明の第6の実施の形態に係る半導体装置では、上記のタイミングBにおいて読み出し用レベルセンシティブラッチLT11へのクロックを停止することにより、複数ビットを有するカウント信号の転送を正常に行なうことができる。
その他の構成および動作は第1の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第6の実施の形態に係る半導体装置では、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第7の実施の形態>
本実施の形態は、タイマのカウント初期値の書き込みが可能な半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
本実施の形態は、タイマのカウント初期値の書き込みが可能な半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
図15は、本発明の第7の実施の形態に係る半導体装置の構成を示す図である。図15を参照して、半導体装置107は、フリップフロップFF23と、ORゲートG22と、転送制御回路7と、本体回路B7とを備える。転送制御回路7は、セレクタK12と、フリップフロップFF22と、遅延素子DL1と、ANDゲートG21とを含む。本体回路B7は、フリップフロップFF21と、カウンタK11とを含む。
クロックCLK1とクロックCLK1a,1b,1cとは非同期である。データ書き込みフラグWRとクロックCLK1a,1b,1cとは非同期である。データ書き込みフラグWRは、タイマである本体回路B7のカウント初期値(リロード値)の書き込み要求を示すために所定時間アサートされる信号である。カウント初期値を示すリロードデータWD[N:0]は(N+1)ビットである(Nは1以上の自然数)。
転送制御回路7におけるANDゲートG21は、データ書き込みフラグWRがクロックCLK2の所定の遷移タイミングたとえば立ち上がり遷移のタイミングにおいてアサートされている場合には、クロックCLK2GのフリップフロップFF21への出力を停止する。
より詳細には、セレクタK12は、受けたクロック1a,1b,1cのうちいずれかを選択し、選択したクロックをクロックCLK2として出力する。
遅延素子DL1は、セレクタK12から受けたクロックCLK2を所定の遅延時間DLTだけ遅延させ、遅延させたクロックをクロックCLK2Dとして出力する。ここで、遅延素子DL1による遅延時間DLTは、フリップフロップFF22において生じるメタステーブルの発生期間MTより長い時間が設定される。
フリップフロップFF22は、セレクタK12から受けたクロックCLK2のたとえば立ち上がり遷移のタイミングにおいて、外部から受けたデータ書き込みフラグWRをサンプリングし、サンプリングしたデータ書き込みフラグWRを保持するとともにマスク信号MSKとして出力する。
ANDゲートG21は、フリップフロップFF22から受けたマスク信号MSKの論理レベルを反転させたデータと遅延素子DL1から受けたクロックCLK2Dとの論理積を示す信号をクロックCLK2Gとして出力する。
ORゲートG22は、外部から受けたデータ書き込みフラグWRの論理レベルを反転させたデータと外部から受けたクロックCLK1との論理和を示す信号をデータ書き込みフラグWR1として出力する。
フリップフロップFF23は、ORゲートG22から受けたデータ書き込みフラグWR1のたとえば立ち上がり遷移のタイミングにおいて、外部から受けたリロードデータWDをサンプリングし、サンプリングしたリロードデータWDを保持するとともにリロードデータWD1として出力する。
本体回路B7において、フリップフロップFF21は、ANDゲートG21から受けたクロックCLK2Gのたとえば立ち上がり遷移のタイミングにおいて、フリップフロップFF23から受けたリロードデータWD1をサンプリングし、サンプリングしたリロードデータWD1を保持するとともにリロードデータWD2として出力する。
カウンタK11は、遅延素子DL1から受けたクロックCLK2Dのたとえば立ち上がり遷移のタイミングでカウントアップを行ない、カウント結果を示すカウント信号を出力する。また、カウンタK11は、フリップフロップFF21から受けたリロードデータWD2を所定のタイミングでカウント初期値に設定する。
ここで、データ書き込みフラグWRとクロックCLK2とは非同期であるため、フリップフロップFF22はある確率でメタステーブルを起こす。しかしながら、フリップフロップFF22の出力データであるマスク信号MSKは、フリップフロップFF22におけるメタステーブルの発生期間MTより長く遅延素子DL1により遅延されたクロックCLK2DとANDゲートG21において論理積がとられる。このため、メタステーブルは本体回路B7には伝達されない。
図16は、本発明の第7の実施の形態に係る半導体装置の動作を示すタイムチャートである。図16は、RLD1がカウント初期値としてタイマに書き込まれている状態から新たにRLD2がカウント初期値としてタイマに書き込まれる場合を示している。
図16において示すタイミングAでは、データ書き込みフラグWRはネゲートされている。すなわち、クロックCLK2の立ち上がり遷移のタイミングにおいて、データ書き込みフラグWRが論理ローレベルである。ここで、データ書き込みフラグWRのアサート期間TASは、遅延時間DLTより長い。したがって、リロードデータWD1の変化と、本体回路B7におけるフリップフロップFF21によるリロードデータWD1のサンプリングとが同時に発生しない。
このため、転送制御回路7は、ANDゲートG21においてクロックCLK2Dをマスクせずに、クロックCLK2GをフリップフロップFF21へ出力する。そうすると、フリップフロップFF21はフリップフロップFF23から新たに受けたリロードデータWD1をサンプリングして保持する。
一方、図16において示すタイミングBでは、データ書き込みフラグWRはアサートされている。すなわち、クロックCLK2の立ち上がり遷移のタイミングにおいて、データ書き込みフラグWRが論理ハイレベルである。したがって、リロードデータWD1の変化と、本体回路B7におけるフリップフロップFF21によるリロードデータWD1のサンプリングとが同時に発生するおそれがある。
このため、転送制御回路7は、ANDゲートG21においてクロックCLK2Dをマスクする。そうすると、フリップフロップFF21はフリップフロップFF23から新たに受けたリロードデータWD1のサンプリングを行なわない。ここで、データ書き込みフラグWRのアサート期間TASは、遅延時間DLTより長い。このような構成により、カウント初期値の書き込み要求に従って確実にクロックCLK2Dをマスクすることができる。
そして、図16において示すタイミングCで、フリップフロップFF23がRLD2に変更されたリロードデータWDをサンプリングして保持し、RLD2のリロードデータWD1を出力する。
そして、図16において示すタイミングDで、フリップフロップFF21がRLD2に変更されたリロードデータWD1をサンプリングして保持し、RLD2を示すリロードデータWD2をカウンタK11へ出力する。
また、本発明の第7の実施の形態に係る半導体装置では、上記のタイミングBにおいてフリップフロップFF21へのクロックを停止することにより、複数ビットを有するリロードデータの転送を正常に行なうことができる。
その他の構成および動作は第1の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第7の実施の形態に係る半導体装置では、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第8の実施の形態>
本実施の形態は、第6の実施の形態に係る半導体装置と比べてタイマのカウント値の読み出し機能を向上させた半導体装置に関する。以下で説明する内容以外は第6の実施の形態に係る半導体装置と同様である。
本実施の形態は、第6の実施の形態に係る半導体装置と比べてタイマのカウント値の読み出し機能を向上させた半導体装置に関する。以下で説明する内容以外は第6の実施の形態に係る半導体装置と同様である。
図17は、本発明の第8の実施の形態に係る半導体装置の構成を示す図である。図17を参照して、半導体装置108は、転送制御回路8と、本体回路B8と、受信回路CK11とを備える。転送制御回路8は、セレクタK12と、フリップフロップFF12,FF14,FF15と、ANDゲートG11,G14と、ORゲートG12,G15と、遅延素子DL1とを含む。本体回路B8は、カウンタK11と、フリップフロップFF13と、読み出し用レベルセンシティブラッチLT11と、ANDゲートG13とを含む。受信回路CK11は、フリップフロップFF61を含む。
フリップフロップFF14は、外部から受けたクロックCLK1のたとえば立ち下がり遷移のタイミングにおいて、フリップフロップFF12から受けたデータ読み出しフラグRE1をサンプリングし、サンプリングしたデータ読み出しフラグRE1を保持するとともに出力する。
ANDゲートG14は、外部から受けたクロックCLK1とフリップフロップFF14から受けたデータ読み出しフラグRE1との論理積を示す信号をマスク信号MSKNとして出力する。
フリップフロップFF15は、セレクタK12から受けたクロックCLK2のたとえば立ち上がり遷移のタイミングにおいて、ORゲートG12から受けたマスク信号MSK1をサンプリングし、サンプリングしたマスク信号MSK1を保持するとともにマスク信号MSK2として出力する。また、フリップフロップFF15は、ANDゲートG14から受けたマスク信号MSKNが論理ハイレベルの場合にリセットされ、論理ローレベルのマスク信号MSK2を出力する。
ANDゲートG11は、フリップフロップFF15から受けたマスク信号MSK2の論理レベルを反転させたデータと遅延素子DL1から受けたクロックCLK2Dとの論理積を示す信号をクロックCLK2GAとして出力する。
ORゲートG15は、ANDゲートG11から受けたクロックCLK2GAとANDゲートG14から受けたマスク信号MSKNとの論理和を示す信号をクロックCLK2GBとして出力する。
読み出し用レベルセンシティブラッチLT11は、転送制御回路8から受けたクロックCLK2GBのタイミングに基づいてフリップフロップFF13から受けたカウント信号CNT1を保持し、保持したカウント信号CNT1をカウント信号CNT2として出力する。
ANDゲートG13は、読み出し用レベルセンシティブラッチLT11から受けたカウント信号CNT2とフリップフロップFF12から受けたデータ読み出しフラグRE1との論理積を示す信号をカウント信号CNTOUTすなわち本体回路B8のカウント値の読み出し結果として出力する。
図18は、本発明の第8の実施の形態に係る半導体装置の動作を示すタイムチャートである。図18は、C2がカウント値として読み出された後、カウンタK11のカウント値がC3に更新された場合を示している。また、図18は、クロックCLK2の周期がクロックCLK1の周期と比べて大幅に長い場合を示している。
図18において示すタイミングBでは、データ読み出しフラグREはアサートされている。このため、転送制御回路8は、本発明の第6の実施の形態に係る半導体装置106と同様に、ANDゲートG11においてクロックCLK2Dをマスクする。
ここで、半導体装置106では、ANDゲートG11においてクロックCLK2Dがマスクされることにより、読み出し用レベルセンシティブラッチLT11から出力されるカウント値CNT2の更新が停止される。この場合、データ読み出しフラグREがネゲートされるすなわち論理ローレベルになっても、次のクロックCLK2が出力されるまでは、読み出し用レベルセンシティブラッチLT11においてカウント値CNT2の更新が行なわれない。
しかしながら、半導体装置108では、フリップフロップFF14と、ANDゲートG14と、ORゲートG15とで構成される回路は、アサートされたデータ読み出しフラグREがネゲートされた後にクロックCLK1を受けた場合には、マスク信号MSNを出力することにより、ANDゲートG11によるクロックCLK2GAの読み出し用レベルセンシティブラッチLT11への出力停止を解除する。そして、読み出し用レベルセンシティブラッチLT11は、フリップフロップFF13から受けたカウント信号CNT1をマスク信号MSNに基づいて保持し、保持したカウント信号CNT1をカウント信号CNT2として出力する。
すなわち、半導体装置108では、データ読み出しフラグREがネゲートされた後にクロックCLK1が出力されると(タイミングC)、マスク信号MSNがアサートされる。そうすると、フリップフロップFF15がリセットされてマスク信号MSK2がネゲートされ、また、ORゲートG15からクロックCLK2GBが出力される。これにより、読み出し用レベルセンシティブラッチLT11から出力されるカウント信号CNT2がC2からC3に更新される。
このような構成により、クロックCLK2の周期がクロックCLK1の周期と比べて大幅に長い場合でも、カウント値を読み出した後にデータ読み出しフラグREを再びアサートすることにより、次のクロックCLK1の立ち上がり遷移のタイミングにおいて最新のカウント値を読み出すことができる。また、データ読み出しフラグREがアサートされて読み出し用レベルセンシティブラッチLT11におけるカウント値CNT2の更新が停止された直後にクロックCLK2が出力されなくなった場合も同様に、最新のカウント値を読み出すことができる。
その他の構成および動作は第6の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第8の実施の形態に係る半導体装置では、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第9の実施の形態>
本実施の形態は、第7の実施の形態に係る半導体装置と比べてタイマのカウント初期値の書き込み機能を向上させた半導体装置に関する。以下で説明する内容以外は第7の実施の形態に係る半導体装置と同様である。
本実施の形態は、第7の実施の形態に係る半導体装置と比べてタイマのカウント初期値の書き込み機能を向上させた半導体装置に関する。以下で説明する内容以外は第7の実施の形態に係る半導体装置と同様である。
図19は、本発明の第9の実施の形態に係る半導体装置の構成を示す図である。図19を参照して、半導体装置109は、フリップフロップFF23と、ORゲートG22と、転送制御回路9と、本体回路B9とを備える。転送制御回路9は、セレクタK12と、フリップフロップFF22,FF24と、遅延素子DL1と、ANDゲートG21,G23,G24と、ORゲートG25とを含む。本体回路B9は、フリップフロップFF21と、カウンタK11とを含む。
ANDゲートG23は、外部から受けたデータ書き込みフラグWRと外部から受けたクロックフラグCLKFLG1との論理積を示す信号をデータ書き込みフラグWRLD1として出力する。
フリップフロップFF24は、外部から受けたクロックCLK1のたとえば立ち上がり遷移のタイミングにおいて、ANDゲートG23から受けたデータ書き込みフラグWRLD1をサンプリングし、サンプリングしたデータ書き込みフラグWRLD1を保持するとともにデータ書き込みフラグWRLD2として出力する。
ANDゲートG24は、外部から受けたクロックCLK1の論理レベルを反転させたデータとフリップフロップFF24から受けたデータ書き込みフラグWRLD2との論理積を示す信号をデータ書き込みフラグWRLD3として出力する。
ORゲートG25は、ANDゲートG21から受けたクロックCLK2GAとANDゲートG24から受けたデータ書き込みフラグWRLD3との論理和を示す信号をクロックCLK2GBとして出力する。
本体回路B9において、フリップフロップFF21は、ORゲートG25から受けたクロックCLK2GBのたとえば立ち上がり遷移のタイミングにおいて、フリップフロップFF23から受けたリロードデータWD1をサンプリングし、サンプリングしたリロードデータWD1を保持するとともにリロードデータWD2として出力する。
図20は、本発明の第9の実施の形態に係る半導体装置の動作を示すタイムチャートである。図20は、クロックCLK2が出力されていない状態において、RLD1がカウント初期値としてタイマに書き込まれている状態から新たにRLD2がカウント初期値としてタイマに書き込まれる場合を示している。
図20を参照して、クロック1a,1b,1cの出力が停止されているため、クロックCLK2は論理ローレベルであり、出力されていない状態である。この場合、クロックフラグCLKFLG1は、論理ハイレベルにアサートされる。
本発明の第7の実施の形態に係る半導体装置107では、クロックCLK2が出力されている場合のみ、クロックCLK2GがフリップフロップFF21へ出力され、フリップフロップFF21によってリロードデータWD1がサンプリングされる。すなわち、クロックCLK2が出力されている場合のみ、フリップフロップFF23に書き込まれたリロードデータWDがフリップフロップFF21によってカウンタK11へ転送される。このため、クロック1a,1b,1cの出力が停止されているときにフリップフロップFF23に書き込まれたリロードデータWDは、クロックCLK2の出力が再開された直後のカウンタK11のカウント動作に反映させることができない。
しかしながら、半導体装置109では、ANDゲートG23,G24と、フリップフロップFF24とで構成される回路が、クロックCLK2が出力されていない場合には、アサートされたデータ書き込みフラグWRを受けてデータ書き込みフラグWRLD3を出力する。そして、フリップフロップFF21は、フリップフロップFF23から受けたリロードデータWD1をデータ書き込みフラグWRLD3に基づいて保持し、かつ保持したリロードデータWD1をリロードデータWD2として出力する。
すなわち、クロック1a,1b,1cの出力が停止された場合であっても、データ書き込みフラグWRがアサートされると、データ書き込みフラグWRLD3がアサートされる。これにより、ORゲートG25からクロックCLK2GBがフリップフロップFF21へ出力される。
このような構成により、たとえばカウンタK11のカウント初期値が更新された直後にクロック1a,1b,1cの出力が停止された場合でも、フリップフロップFF23に書き込まれたリロードデータWDがフリップフロップFF21によってカウンタK11へ転送される。したがって、フリップフロップFF23に書き込まれたリロードデータWDを、クロックCLK2の出力が再開された直後のカウンタK11のカウント動作に反映させることができる。
その他の構成および動作は第7の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第9の実施の形態に係る半導体装置では、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第10の実施の形態>
本実施の形態は、第8および第9の実施の形態に係る半導体装置の両方の機能を有する半導体装置に関する。以下で説明する内容以外は第8および第9の実施の形態に係る半導体装置と同様である。
本実施の形態は、第8および第9の実施の形態に係る半導体装置の両方の機能を有する半導体装置に関する。以下で説明する内容以外は第8および第9の実施の形態に係る半導体装置と同様である。
図21は、本発明の第10の実施の形態に係る半導体装置の構成を示す図である。図21を参照して、半導体装置110は、フリップフロップFF23と、ORゲートG22と、転送制御回路10と、本体回路B10と、受信回路CK11とを備える。転送制御回路10は、セレクタK12と、フリップフロップFF12,FF14,FF15,FF22,FF24と、ANDゲートG11,G14,G21,G23,G24,G25と、ORゲートG12,G15と、遅延素子DL1とを含む。本体回路B10は、カウンタK11と、フリップフロップFF13,FF21と、読み出し用レベルセンシティブラッチLT11と、ANDゲートG13とを含む。受信回路CK11は、フリップフロップFF61を含む。
その他の構成および動作は第8および第9の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第10の実施の形態に係る半導体装置では、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第11の実施の形態>
本実施の形態は、第10の実施の形態に係る半導体装置と比べてカウント初期値の読み出し機能を追加した半導体装置に関する。以下で説明する内容以外は第10の実施の形態に係る半導体装置と同様である。
本実施の形態は、第10の実施の形態に係る半導体装置と比べてカウント初期値の読み出し機能を追加した半導体装置に関する。以下で説明する内容以外は第10の実施の形態に係る半導体装置と同様である。
図22は、本発明の第11の実施の形態に係る半導体装置の構成を示す図である。図22を参照して、半導体装置111は、フリップフロップFF23と、ORゲートG22と、転送制御回路11と、本体回路B11と、受信回路CK11とを備える。転送制御回路11は、セレクタK12と、フリップフロップFF12,FF14,FF15,FF22,FF24と、ラッチLT12と、ANDゲートG11,G14,G21,G23,G24,G25,G31と、ORゲートG12,G15,G32と、遅延素子DL1とを含む。本体回路B11は、カウンタK11と、フリップフロップFF13,FF21と、セレクタK31と、読み出し用レベルセンシティブラッチLT11と、ANDゲートG13とを含む。受信回路CK11は、フリップフロップFF61を含む。
フリップフロップFF31は、外部から受けたクロックCLK1に基づいて、ANDゲートG23から受けたデータ書き込みフラグWRLD1をサンプリングし、サンプリングしたデータ書き込みフラグWRLD1を保持するとともにデータ書き込みフラグRRLD1として出力する。
ANDゲートG31は、外部から受けたクロックCLK1とラッチLT12から受けたデータ書き込みフラグRRLD1との論理積を示す信号をデータ書き込みフラグRRLD2として出力する。
ORゲートG32は、ANDゲートG31から受けたデータ書き込みフラグRRLD2とORゲートG15から受けたクロックCLK2GBとの論理和を示す信号をクロックCLK2GCとして出力する。
セレクタK31は、ANDゲートG31から受けたデータ書き込みフラグRRLD2に基づいて、フリップフロップFF23から受けたリロードデータWD1およびフリップフロップFF13から受けたカウント信号CNT1のいずれかを選択して出力する。
読み出し用レベルセンシティブラッチLT11は、転送制御回路11から受けたクロックCLK2GCのタイミングに基づいて、セレクタK31から受けた信号を保持し、保持した信号をカウント信号CNT2として出力する。
図23は、本発明の第11の実施の形態に係る半導体装置の動作を示すタイムチャートである。図23は、クロックCLK2が出力されていない状態において、RLD1がカウント初期値としてタイマに書き込まれている状態から新たにRLD2がカウント初期値としてタイマに書き込まれる場合を示している。
図23を参照して、クロック1a,1b,1cの出力が停止されているため、クロックCLK2は出力されない。この場合、クロックフラグCLKFLG1は、論理ハイレベルにアサートされる。
半導体装置111では、本発明の第9の実施の形態に係る半導体装置109と同様に、クロック1a,1b,1cの出力が停止された場合であっても、データ書き込みフラグWRがアサートされると、フリップフロップFF23に書き込まれたリロードデータWDがフリップフロップFF21によってカウンタK11へ転送される。
さらに、半導体装置111では、転送制御回路11において、ラッチLT12と、ANDゲートG23,G31と、ORゲートG32とで構成される回路は、クロックCLK2が出力されていない場合には、アサートされたデータ書き込みフラグWRを受けてデータ書き込みフラグRRLD2およびクロックCLK2GCを出力する。
すなわち、クロック1a,1b,1cの出力が停止された場合であっても、データ書き込みフラグWRがアサートされると、フリップフロップFF23に書き込まれたリロードデータWDがリロードデータWD1としてセレクタK31へも出力される。そして、アサートされたデータ書き込みフラグWRによってデータ書き込みフラグRRLD2がアサートされ、かつクロックCLK2GCが生成される。セレクタK31は、アサートされたデータ書き込みフラグRRLD2を受けて、フリップフロップFF23から受けたリロードデータWD1を選択し、読み出し用レベルセンシティブラッチLT11へ出力する。そして、読み出し用レベルセンシティブラッチLT11は、クロックCLK2GCを受けて、セレクタK31から受けたリロードデータWD1であるRLD2を保持し、カウント信号CNT2をカウンタK11のカウント値CXからカウント初期値RLD2に更新する。
このような構成により、半導体装置111にカウント初期値を書き込むと同時にそのカウント初期値を受信回路CK11において読み出すことができる。
その他の構成および動作は第10の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第11の実施の形態に係る半導体装置では、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第12の実施の形態>
本実施の形態は、データの書き込み、かつ書き込まれたデータの読み出しが可能な半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
本実施の形態は、データの書き込み、かつ書き込まれたデータの読み出しが可能な半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
図24は、本発明の第12の実施の形態に係る半導体装置の構成を示す図である。図24を参照して、半導体装置112は、NANDゲートG51,G52と、バッファBUF51,BUF52と、アドレスデコーダK51と、転送制御回路12と、本体回路B12とを備える。転送制御回路12は、フリップフロップFF53、FF54,FF55と、遅延素子DL1と、ANDゲートG53,G54とを含む。本体回路B12は、フリップフロップFF51,FF52とを含む。
クロックCLK1とクロックCLK2とは非同期である。データ書き込みフラグWRとクロックCLK2とは非同期である。データ書き込みフラグWRは、本体回路B12への書き込みデータWDの書き込み要求を示すために所定時間アサートされる信号である。書き込みデータWD[N:0]は(N+1)ビットである(Nは1以上の自然数)。
アドレスデコーダK51は、外部から受けたアドレス信号の示すアドレスに対応する本体回路B12へのデータ書き込みフラグDECをアサートするすなわち論理ローレベルとする。
NANDゲートG51は、外部から受けたデータ書き込みフラグWRの論理レベルを反転させたデータとアドレスデコーダK51から受けたデータ書き込みフラグDECの論理レベルを反転させたデータとの論理積の反転を示す信号をデータ書き込みフラグWR1として出力する。
NANDゲートG52は、外部からバッファBUF51を介して受けたクロックCLK1の論理レベルを反転させたデータとNANDゲートG51から受けたデータ書き込みフラグWR1の論理レベルを反転させたデータとの論理積の反転を示す信号をデータ書き込みフラグWCKとして出力する。
すなわち、データ書き込みフラグWCKは、後述する図25〜図27に示すように、転送データであるフリップフロップFF51からの読み出しデータRDが変化するタイミングの所定時間前にアサートされ、読み出しデータRDが変化するタイミングにおいてネゲートされる。データ書き込みフラグWCKのアサート期間は、遅延素子DL1の遅延時間より長い。
転送制御回路12におけるANDゲートG54は、データ書き込みフラグWRから生成されるデータ書き込みフラグWCKがクロックCLK2の所定の遷移タイミングたとえば立ち上がり遷移のタイミングにおいてアサートされている場合には、クロックCLK2GのフリップフロップFF52への出力を停止する。
より詳細には、フリップフロップFF53は、NANDゲートG52からバッファBUF52を介して受けたデータ書き込みフラグWCKのたとえば立ち上がり遷移のタイミングにおいて、論理ハイレベルに対応する信号をサンプリングし、論理ハイレベルの信号を保持するとともにANDゲートG53へ出力する。また、フリップフロップFF53は、フリップフロップFF55から受けた信号が論理ローレベルの場合にリセットされ、論理ローレベルの信号を出力する。
ANDゲートG53は、NANDゲートG52からバッファBUF52を介して受けたデータ書き込みフラグWCKとフリップフロップFF53から受けた信号との論理積を示す信号を出力する。
フリップフロップFF54は、外部から受けたクロックCLK2のたとえば立ち上がり遷移のタイミングにおいて、ANDゲートG53から受けた信号をサンプリングし、サンプリングした信号を保持するとともに出力する。
遅延素子DL1は、外部から受けたクロックCLK2を所定の遅延時間DLTだけ遅延させ、遅延させたクロックをクロックCLK2Dとして出力する。ここで、遅延素子DL1による遅延時間DLTは、フリップフロップFF54において生じるメタステーブルの発生期間MTより長い時間が設定される。
ANDゲートG54は、フリップフロップFF54から受けた信号と遅延素子DL1から受けたクロックCLK2Dとの論理積を示す信号をクロックCLK2Gとして出力する。
ここで、データ書き込みフラグWRとクロックCLK2とは非同期であるため、フリップフロップFF54はある確率でメタステーブルを起こす。しかしながら、フリップフロップFF54の出力信号は、フリップフロップFF54におけるメタステーブルの発生期間MTより長く遅延素子DL1により遅延されたクロックCLK2DとANDゲートG54において論理積がとられる。このため、メタステーブルは本体回路B12には伝達されない。
フリップフロップFF55は、ANDゲートG54から受けたクロックCLK2Gのたとえば立ち上がり遷移のタイミングにおいて、論理ハイレベルに対応する信号をサンプリングして保持し、論理ローレベルの信号をフリップフロップFF53へ出力する。また、フリップフロップFF55は、NANDゲートG52からバッファBUF52を介して受けたデータ書き込みフラグWCKが論理ローレベルの場合にリセットされ、論理ローレベルの信号を出力する。
本体回路B12において、フリップフロップFF51は、NANDゲートG52からバッファBUF52を介して受けたデータ書き込みフラグWCKのたとえば立ち上がり遷移のタイミングにおいて、外部から受けた書き込みデータWDをサンプリングし、サンプリングした書き込みデータWDを保持するとともに読み出しデータRDとして出力する。
フリップフロップFF52は、ANDゲートG54から受けたクロックCLK2Gのたとえば立ち上がり遷移のタイミングにおいて、フリップフロップFF51から受けた読み出しデータRDをサンプリングし、サンプリングした読み出しデータRDを保持するとともに読み出しデータRDOUTすなわち本体回路B12に対する読み出し結果として出力する。
図25は、クロックCLK1の周波数がクロックCLK2の周波数より小さい場合における本発明の第12の実施の形態に係る半導体装置の動作を示すタイムチャートである。図26は、クロックCLK1の周波数がクロックCLK2の周波数と等しい場合における本発明の第12の実施の形態に係る半導体装置の動作を示すタイムチャートである。図27は、クロックCLK1の周波数がクロックCLK2の周波数より大きい場合における本発明の第12の実施の形態に係る半導体装置の動作を示すタイムチャートである。図25〜図27は、WD1が本体回路B12に書き込まれている状態から新たにWD2が本体回路B12に書き込まれる場合を示している。
図25〜図27において示すタイミングAでは、データ書き込みフラグWCKはアサートされている。すなわち、クロックCLK2の立ち上がり遷移のタイミングにおいて、データ書き込みフラグWCKが論理ローレベルである。したがって、読み出しデータRDの変化と、本体回路B12におけるフリップフロップFF52による読み出しデータRDのサンプリングとが同時に発生するおそれがある。
このため、転送制御回路12におけるANDゲートG54は、データ書き込みフラグWRから生成されるデータ書き込みフラグWCKがクロックCLK2の所定の遷移タイミングたとえば立ち上がり遷移のタイミングにおいてアサートされている場合には、クロックCLK2GのフリップフロップFF52への出力を停止する。すなわち、ANDゲートG54においてクロックCLK2Dをマスクする。そうすると、フリップフロップFF52はフリップフロップFF51から新たに受けた読み出しデータRDのサンプリングを行なわない。ここで、データ書き込みフラグWCKのアサート期間TASは、遅延時間DLTより長い。このような構成により、書き込み要求に従って確実にクロックCLK2Dをマスクすることができる。
そして、図25〜図27において示すタイミングBで、フリップフロップFF52がWD2に変更された読み出しデータRDをサンプリングして保持し、WD2を示す読み出しデータRDOUTを出力する。
さらに、本発明の第12の実施の形態に係る半導体装置では、転送制御回路12におけるANDゲートG54は、データ書き込みフラグWCKがクロックCLK2の所定の遷移タイミングたとえば立ち上がり遷移のタイミングにおいてアサートされており(タイミングA)、かつクロックCLK2の次の所定の遷移タイミングにおいてネゲートされている(タイミングC)場合には、遅延クロックCLK2Dを所定周期分たとえば1周期分だけフリップフロップFF52へ出力し、所定周期経過後、クロックCLK2GのフリップフロップFF52への出力を再び停止する(タイミングD)。
すなわち、転送制御回路12では、データ書き込みフラグWCKがアサートされるとANDゲートG54からCLK2Gが出力される。そして、フリップフロップ55は、CLK2Gを受けて論理ローレベルの信号をフリップフロップ53へ出力する。フリップフロップ55は、フリップフロップ53から論理ローレベルの信号を受けてリセットされ、論理ローレベルの信号をANDゲートG53へ出力する。これにより、ANDゲートG53から論理ローレベルの信号がフリップフロップ54へ出力されるため、ANDゲートG54がCLK2Gの出力を停止する。すなわち、データ書き込みフラグWCKが次にアサートされるまでCLK2Gは出力されない。このような構成により、読み出しデータRDを転送する必要がある場合のみ本体回路B12におけるフリップフロップFF52を動作させることができるため、消費電力を低減することができる。
また、本発明の第12の実施の形態に係る半導体装置では、上記のタイミングAにおいてフリップフロップFF52へのクロックを停止することにより、複数ビットを有するデータの転送を正常に行なうことができる。
その他の構成および動作は第1の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第12の実施の形態に係る半導体装置では、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第13の実施の形態>
本実施の形態は、記憶データの読み出しが可能な半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
本実施の形態は、記憶データの読み出しが可能な半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
図28は、本発明の第13の実施の形態に係る半導体装置の構成を示す図である。図28を参照して、半導体装置113は、NANDゲートG61と、ORゲートG62と、バッファBUF61と、フリップフロップFF61と、アドレスデコーダK61と、転送制御回路13と、本体回路B13とを備える。転送制御回路13は、バッファBUF62,BUF63と、フリップフロップFF63,FF64と、遅延素子DL1と、ANDゲートG63と、NORゲートG64とを含む。本体回路B13は、フリップフロップFF62と、データ転送用レベルセンシティブラッチLT61とを含む。
クロックCLK1とクロックCLK2とは非同期である。データ読み出しフラグREとクロックCLK2とは非同期である。データ読み出しフラグREは、本体回路B13の記憶データの転送要求を示すために所定時間アサートされる信号である。記憶データRD1[N:0]は(N+1)ビットである(Nは1以上の自然数)。
アドレスデコーダK61は、外部から受けたアドレス信号の示すアドレスに対応する本体回路B13へのデータ読み出しフラグDECをアサートするすなわち論理ローレベルとする。
NANDゲートG61は、外部から受けたデータ読み出しフラグREの論理レベルを反転させたデータとアドレスデコーダK51から受けたデータ読み出しフラグDECの論理レベルを反転させたデータとの論理積の反転を示す信号を出力する。
フリップフロップFF61は、外部からバッファ61を介して受けたクロックCLK1のたとえば立ち上がり遷移のタイミングにおいて、NANDゲートG61から受けた信号をサンプリングし、サンプリングした信号を保持するとともに出力する。
ORゲートG62は、外部から受けたデータ読み出しフラグREの論理レベルを反転させたデータとフリップフロップFF61から受けた信号の論理レベルを反転させたデータとの論理和を示す信号を転送制御信号INH1として出力する。
転送制御回路13において、NORゲートG64は、ORゲートG62から受けた転送制御信号INH1の論理レベルを反転させたデータと外部から受けたリセット信号Resetの論理レベルを反転させたデータとの論理和の反転を示す信号を出力する。
フリップフロップFF63は、外部からバッファBUF62を介して受けたクロックCLK2のたとえば立ち上がり遷移のタイミングにおいて、ORゲートG62から受けた転送制御信号INH1をサンプリングし、サンプリングした転送制御信号INH1を保持するとともに転送制御信号INH2として出力する。また、フリップフロップFF63は、NORゲートG64から受けた信号が論理ローレベルの場合にリセットされ、論理ローレベルの転送制御信号INH2を出力する。
遅延素子DL1は、外部からバッファBUF62を介して受けたクロックCLK2を所定の遅延時間DLTだけ遅延させ、遅延させたクロックをクロックCLK2Dとして出力する。ここで、遅延素子DL1による遅延時間DLTは、フリップフロップFF63において生じるメタステーブルの発生期間MTより長い時間が設定される。
ANDゲートG63は、フリップフロップFF63から受けた転送制御信号INH2と遅延素子DL1から受けたクロックCLK2Dとの論理積を示す信号を出力する。
ここで、データ読み出しフラグREとクロックCLK2とは非同期であるため、フリップフロップFF63はある確率でメタステーブルを起こす。しかしながら、フリップフロップFF63の出力信号は、フリップフロップFF63におけるメタステーブルの発生期間MTより長く遅延素子DL1により遅延されたクロックCLK2DとANDゲートG63において論理積がとられる。このため、メタステーブルはフリップフロップFF64および本体回路B13には伝達されない。
フリップフロップFF64は、ANDゲートG63から受けた信号のたとえば立ち上がり遷移のタイミングにおいて、論理ハイレベルに対応する信号をサンプリングして保持し、論理ローレベルの信号を転送制御信号INH3として出力する。また、フリップフロップFF64は、NORゲートG64から受けた信号が論理ローレベルの場合にリセットされ、論理ローレベルの転送制御信号INH3を出力する。
本体回路B13において、フリップフロップFF62は、遅延素子DL1から受けたクロックCLK2Dのたとえば立ち上がり遷移のタイミングにおいて、本体回路B13において記憶されている記憶データRD1をサンプリングし、サンプリングした記憶データRD1を保持するとともに読み出しデータRD2として出力する。
データ転送用レベルセンシティブラッチLT61は、転送制御回路13から受けた転送制御信号INH3のタイミングに基づいて、フリップフロップFF62から受けた読み出しデータRD2を保持するとともに読み出しデータRDOUTすなわち本体回路B13に対する読み出し結果として出力する。
図29は、クロックCLK1の周波数がクロックCLK2の周波数より小さい場合における本発明の第13の実施の形態に係る半導体装置の動作を示すタイムチャートである。図30は、クロックCLK1の周波数がクロックCLK2の周波数と等しい場合における本発明の第13の実施の形態に係る半導体装置の動作を示すタイムチャートである。図31は、クロックCLK1の周波数がクロックCLK2の周波数より大きい場合における本発明の第13の実施の形態に係る半導体装置の動作を示すタイムチャートである。図29〜図31は、本体回路B13が記憶しているデータ値RD1が読み出される場合を示している。また、記憶データRD1は、クロックCLK2に同期して変化している。
図29〜図31において示すタイミングAでは、データ読み出しフラグREはアサートされている。すなわち、クロックCLK2の立ち上がり遷移のタイミングにおいて、データ読み出しフラグREが論理ローレベルである。したがって、読み出しデータRDOUTの変化と、クロックCLK1と非同期な回路による読み出しデータRDOUTのサンプリングとが同時に発生するおそれがある。
このため、転送制御回路13は、データ書き込みフラグWCKがクロックCLK2の所定の遷移タイミングたとえば立ち上がり遷移のタイミングにおいてアサートされている場合には、ANDゲートG63においてクロックCLK2Dをマスクする。
そうすると、転送制御信号INH3がネゲートされるすなわち論理ローレベルとなるため、データ転送用レベルセンシティブラッチLT61は、保持している読み出しデータRD2の出力を継続する。すなわち、データ転送用レベルセンシティブラッチLT61から出力される読み出しデータRDOUTは更新されず、従来の値RD1が維持される。ここで、データ読み出しフラグREのアサート期間TASは、遅延時間DLTより長い。このような構成により、読み出し要求に従って確実にクロックCLK2Dをマスクすることができる。
そして、転送制御回路13は、転送制御信号INH3をネゲートしてから所定時間経過後に転送制御信号INH3をアサートする。すなわち、図29〜図31において示すタイミングBすなわちデータ読み出し終了後、転送制御信号INH3が論理ハイレベルとなるため、データ転送用レベルセンシティブラッチLT61は、新たにフリップフロップFF62から受けた読み出しデータRD2の保持および出力を行なう。すなわち、データ転送用レベルセンシティブラッチLT61から出力される読み出しデータRDOUTがRD1からRD6に更新される。
さらに、本発明の第13の実施の形態に係る半導体装置では、フリップフロップFF63,FF64のリセット動作により、転送制御信号INH3はクロックのように周期的に論理ハイレベルおよび論理ローレベルを繰り返さず、データ読み出しフラグREのアサートまたはネゲートに対応して論理ローレベルまたは論理ハイレベルに維持される。このような構成により、消費電力を低減することができる。
また、本発明の第13の実施の形態に係る半導体装置では、タイミングAの時点で記憶データRD1の転送が完了しているため、読み出しデータRDOUTを受ける回路側で迅速に読み出しデータRDOUTの処理を行なうことができる。
また、本発明の第13の実施の形態に係る半導体装置では、上記のタイミングAにおいてデータ転送用レベルセンシティブラッチLT61の出力データの更新を停止することにより、複数ビットを有するデータの転送を正常に行なうことができる。
その他の構成および動作は第1の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第13の実施の形態に係る半導体装置では、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第14の実施の形態>
本実施の形態は、クロックを選択する機能を追加した半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
本実施の形態は、クロックを選択する機能を追加した半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
図32は、本発明の第14の実施の形態に係る半導体装置の構成を示す図である。図32を参照して、半導体装置114は、転送制御回路14と、本体回路B14とを備える。転送制御回路14は、フリップフロップFF1と、遅延素子DL1と、セレクタK61とを含む。
セレクタK71は、外部から受けたクロックCLK2および遅延素子DL1から受けた遅延クロックCLK2Dのいずれかを選択して本体回路B14へ出力する。より詳細には、セレクタK71は、通常動作モードにおいては、遅延素子DL1から受けたクロックCLK2DをクロックCLK2DSとして本体回路B14へ出力する。一方、セレクタK71は、バウンダリスキャンモードにおいては、外部から受けたクロックCLK2をクロックCLK2DSとして本体回路B14へ出力する。
本体回路B14は、フリップフロップFF1から受けたデータD1を、セレクタK71から受けたクロックCLK2DSに同期して処理する。
このような構成により、半導体装置114に対してバウンダリスキャンを行なう場合には、フリップフロップFF1と、本体回路B14が含むすべての順序回路とを同じクロックタイミングに基づいて動作させることができるため、バウンダリスキャンを適切に実行することができる。
その他の構成および動作は第1の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第14の実施の形態に係る半導体装置では、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第15の実施の形態>
本実施の形態は、クロックを選択する機能を追加した半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
本実施の形態は、クロックを選択する機能を追加した半導体装置に関する。以下で説明する内容以外は第1の実施の形態に係る半導体装置と同様である。
図33は、本発明の第15の実施の形態に係る半導体装置の構成を示す図である。図33を参照して、半導体装置115は、転送制御回路15と、本体回路B15とを備える。転送制御回路15は、フリップフロップFF1と、遅延素子DL1と、セレクタK72とを含む。
セレクタK72は、外部から受けたクロックCLK2および遅延素子DL1から受けた遅延クロックCLK2Dのいずれかを選択してANDゲートG1へ出力する。より詳細には、セレクタK72は、通常動作モードにおいては、遅延素子DL1から受けたクロックCLK2DをクロックCLK2DSとしてANDゲートG1へ出力する。一方、セレクタK72は、バウンダリスキャンモードにおいては、外部から受けたクロックCLK2をクロックCLK2DSとしてANDゲートG1へ出力する。
本体回路B15は、フリップフロップFF1から受けたデータD1を、セレクタK72からANDゲートG1を介して受けたクロックCLK2DSに同期して処理する。
このような構成により、半導体装置115に対してバウンダリスキャンを行なう場合には、フリップフロップFF1と、本体回路B15が含むすべての順序回路とを同じクロックタイミングに基づいて動作させることができるため、バウンダリスキャンを適切に実行することができる。
その他の構成および動作は第1の実施の形態に係る半導体装置と同様であるため、ここでは詳細な説明を繰り返さない。したがって、本発明の第15の実施の形態に係る半導体装置では、メタステーブルの影響を防ぎながら非同期回路間で信号を転送し、クロック周波数の選択の自由度を高め、かつ転送遅延を抑制することができる。
なお、本発明は、送信側回路と受信側回路との間のデータ転送のレイテンシを特に小さくする必要のある場合、たとえば連続的に出力される信号ではなく、間欠的に出力される信号を、この信号と非同期なクロックに基づいて動作する回路に転送する場合において好適である。
また、本発明は、たとえばワンチップマイクロコントローラのように、多数の外部センサーおよび多数のスイッチから非同期に出力される信号に基づいてシステムを制御するLSIであって、かつ、低消費電力が要求されるLSIに好適である。
また、本発明は、半導体集積回路の非同期信号インターフェースに関し、たとえば、マイクロコントローラのCPUコアと、CPUコアのタイミングとは異なる外部のタイミングにより動作するタイマ回路との間の信号伝達に好適である。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1a,1b,1c クロック、1〜15,91 転送制御回路、53,54,55 フリップフロップ、61 バッファ、91 転送制御回路、101〜115 半導体装置、B1〜B15 本体回路、BUF1,BUF51,BUF52,BUF61,BUF62,BUF63 バッファ、INV1,INV2,INV3,CINV1,CINV2 インバータ、CK1,CK11 受信回路、DL1,D91 遅延素子、FF1,FF2,FF3,FF4,FF5,FF6,FF11,FF12,FF13,FF14,FF15,FF21,FF22,FF23,FF24,FF31,FF51,FF52,FF53,FF54,FF55,FF61,FF62,FF63,FF64,FF91,FF92 フリップフロップ、G1,G2,G11,G13,G14,G21,G23,G24,G25,G31,G53,G54,G63 ANDゲート、G12,G15,G22,G25,G32,G62 ORゲート、G51,G52,G61 NANDゲート、G64 NORゲート、K11 カウンタ、K12,K31,K71,K72 セレクタ、K51,K61 アドレスデコーダ、LT1,LT61 データ転送用レベルセンシティブラッチ、LT11 読み出し用レベルセンシティブラッチ、LT12 ラッチ、M1,M3 PチャネルMOSトランジスタ、M2,M4 NチャネルMOSトランジスタ。
Claims (13)
- クロックに同期していない非同期信号を本体回路へ転送する半導体装置であって、
前記非同期信号を前記クロックに基づいて保持し、かつ前記保持した非同期信号を出力する順序回路と、
前記クロックを所定時間遅延させ、前記遅延させた前記クロックを遅延クロックとして出力する遅延素子とを備え、
前記本体回路は、前記順序回路から受けた前記非同期信号を前記遅延素子から受けた前記遅延クロックに同期して処理する半導体装置。 - 前記半導体装置は、さらに、
前記クロックおよび前記遅延クロックのいずれかを選択して前記本体回路へ出力するセレクタを備え、
前記本体回路は、前記順序回路から受けた前記非同期信号を前記セレクタから受けたクロックに同期して処理する請求項1記載の半導体装置。 - 転送制御回路と、
第1のクロックを所定時間遅延させ、前記遅延させた第1のクロックを遅延クロックとして出力する遅延素子とを備え、
前記転送制御回路は、
前記第1のクロックに同期していない非同期信号を前記第1のクロックに基づいて保持し、かつ前記保持した非同期信号を第1の転送制御信号として出力する第1の順序回路と、
前記第1の転送制御信号に基づいて、前記遅延素子から受けた前記遅延クロックを出力するか否かを切り替える出力制御回路とを含む半導体装置。 - 前記半導体装置は、さらに、
受けた転送データを前記転送制御回路から受けた前記遅延クロックの所定の遷移タイミングに基づいて保持し、かつ前記保持した転送データを出力する第2の順序回路を備え、
前記非同期信号は、前記転送データが変化するタイミングの所定時間前にアサートされ、前記転送データが変化するタイミングにおいてネゲートされ、かつ前記アサート期間は、前記遅延素子の遅延時間より長く、
前記出力制御回路は、前記非同期信号が前記第1のクロックの前記所定の遷移タイミングにおいてアサートされている場合には、前記遅延クロックの前記第2の順序回路への出力を停止する請求項3記載の半導体装置。 - 前記半導体装置は、さらに、
前記第2の順序回路から受けた前記転送データを前記遅延素子から受けた前記遅延クロックに同期して処理する論理回路を備える請求項4記載の半導体装置。 - 前記半導体装置は、さらに、
前記第2の順序回路から受けた前記転送データを前記転送制御回路から受けた前記遅延クロックに同期して処理する論理回路を備える請求項4記載の半導体装置。 - 前記転送制御回路は、さらに、
前記第1のクロックを受けていない場合には、アサートされた前記非同期信号を受けて第2の転送制御信号を出力する転送制御信号生成回路を備え、
前記第2の順序回路は、さらに、受けた転送データを前記第2の転送制御信号に基づいて保持し、かつ前記保持した転送データを出力する請求項4記載の半導体装置。 - 前記転送制御回路は、さらに、
前記第1のクロックを受けていない場合には、アサートされた前記非同期信号を受けて第2の転送制御信号を出力する転送制御信号生成回路を含み、
前記半導体装置は、さらに、
前記転送データおよび前記半導体装置において記憶されているデータのいずれかを選択して出力し、かつ前記第2の転送制御信号を受けた場合には前記転送データを選択して出力するセレクタと、
前記セレクタから受けたデータを前記第2の転送制御信号に基づいて保持し、かつ前記保持した記憶データを出力する第3の順序回路とを備える請求項4記載の半導体装置。 - 前記出力制御回路は、さらに、前記非同期信号が前記第1のクロックの前記所定の遷移タイミングにおいてアサートされており、かつ前記第1のクロックの次の前記所定の遷移タイミングにおいてネゲートされている場合には、前記遅延クロックを所定周期分だけ前記第2の順序回路へ出力し、前記所定周期経過後、前記遅延クロックの前記第2の順序回路への出力を再び停止する請求項4記載の半導体装置。
- 前記半導体装置は、さらに、
前記半導体装置において記憶されているデータを前記遅延素子から受けた前記遅延クロックの所定の遷移タイミングに基づいて保持し、かつ前記保持した記憶データを出力する第2の順序回路と、
前記第2の順序回路から受けた前記記憶データを前記転送制御回路から受けた前記遅延クロックに基づいて保持し、かつ前記保持した記憶データを出力する第3の順序回路とを備え、
前記非同期信号は、前記記憶データの転送要求を示すために所定時間アサートされる信号であり、前記アサート期間は、前記遅延素子の遅延時間より長く、
前記出力制御回路は、前記非同期信号が前記第1のクロックの前記所定の遷移タイミングにおいてアサートされている場合には、前記遅延クロックの前記第3の順序回路への出力を停止する請求項3記載の半導体装置。 - 前記非同期信号は、前記第1のクロックより周波数の高い第2のクロックに同期してアサートおよびネゲートされ、
前記第3の順序回路から出力される前記記憶データは、アサートされた前記非同期信号がネゲートされるタイミングに基づいて論理回路によって処理され、
前記転送制御回路は、さらに、
アサートされた前記非同期信号がネゲートされた後に前記第2のクロックを受けた場合に第2の転送制御信号を出力する転送制御信号生成回路を含み、
前記第3の順序回路は、さらに、前記第2の順序回路から受けた前記記憶データを前記第2の転送制御信号に基づいて保持し、かつ前記保持した記憶データを出力する請求項10記載の半導体装置。 - 前記転送制御回路は、さらに、
前記出力制御回路から受けた前記遅延クロックに基づいて第2の転送制御信号を生成する転送制御信号生成回路を含み、
前記半導体装置は、さらに、
前記半導体装置において記憶されているデータを前記遅延素子から受けた前記遅延クロックの所定の遷移タイミングに基づいて保持し、かつ前記保持した記憶データを出力する第2の順序回路と、
前記第2の順序回路から受けた前記記憶データを前記転送制御信号生成回路から受けた前記第2の転送制御信号に基づいて保持し、かつ前記保持した記憶データを出力する第3の順序回路とを備え、
前記非同期信号は、前記記憶データの転送要求を示すために所定時間アサートされる信号であり、前記アサート期間は、前記遅延素子の遅延時間より長く、
前記出力制御回路および前記転送制御信号生成回路は、前記非同期信号が前記第1のクロックの前記所定の遷移タイミングにおいてアサートされている場合には、前記第2の転送制御信号をネゲートし、かつ前記第2の転送制御信号をネゲートしてから所定時間経過後に前記第2の転送制御信号をアサートし、
前記第3の順序回路は、前記第2の転送制御信号がアサートされている場合には前記第2の順序回路から新たに受けた前記記憶データの保持および出力を行ない、前記第2の転送制御信号がネゲートされている場合には保持している前記記憶データの出力を継続する請求項3記載の半導体装置。 - 前記半導体装置は、さらに、
前記第1のクロックおよび前記遅延クロックのいずれかを選択して出力するセレクタを備え、
前記出力制御回路は、前記第1の転送制御信号に基づいて、前記セレクタから受けたクロックの出力および停止を制御する請求項3記載の半導体装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007196266A JP2009033553A (ja) | 2007-07-27 | 2007-07-27 | 半導体装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007196266A JP2009033553A (ja) | 2007-07-27 | 2007-07-27 | 半導体装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009033553A true JP2009033553A (ja) | 2009-02-12 |
Family
ID=40403544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007196266A Withdrawn JP2009033553A (ja) | 2007-07-27 | 2007-07-27 | 半導体装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009033553A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011030220A (ja) * | 2009-07-24 | 2011-02-10 | Korea Electronics Telecommun | 異種周期クロックドメイン間の同期化システム、同期化装置、同期化失敗検出回路及びデータ受信方法 |
AT522431A4 (de) * | 2019-10-07 | 2020-11-15 | Pfaff Dipl Ing Dr Markus | Synchronisationsschaltung mit verringerter latenz |
-
2007
- 2007-07-27 JP JP2007196266A patent/JP2009033553A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011030220A (ja) * | 2009-07-24 | 2011-02-10 | Korea Electronics Telecommun | 異種周期クロックドメイン間の同期化システム、同期化装置、同期化失敗検出回路及びデータ受信方法 |
US8433019B2 (en) | 2009-07-24 | 2013-04-30 | Electronics And Telecommunications Research Institute | System and apparatus for synchronization between heterogeneous periodic clock domains, circuit for detecting synchronization failure and data receiving method |
AT522431A4 (de) * | 2019-10-07 | 2020-11-15 | Pfaff Dipl Ing Dr Markus | Synchronisationsschaltung mit verringerter latenz |
AT522431B1 (de) * | 2019-10-07 | 2020-11-15 | Pfaff Dipl Ing Dr Markus | Synchronisationsschaltung mit verringerter latenz |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5193846B2 (ja) | 同期化回路 | |
US6345328B1 (en) | Gear box for multiple clock domains | |
US8134387B2 (en) | Self-gating synchronizer | |
JP2009288056A (ja) | スキャン出力信号遮断機能付きスキャンフリップフロップ | |
KR100660639B1 (ko) | 더블 데이터 레이트 반도체 장치의 데이터 출력 회로 및이를 구비하는 반도체 장치 | |
JP3900126B2 (ja) | 論理処理回路、半導体デバイス及び論理処理装置 | |
KR20130097574A (ko) | 커맨드디코더 | |
KR100498473B1 (ko) | 제어신호 발생회로 및 상기 제어신호 발생회로를 구비하는데이터 전송회로 | |
JP2008061169A (ja) | 電子回路 | |
US7843244B1 (en) | Low latency synchronizer circuit | |
US20080195774A1 (en) | Structure for an asynchronous data interface | |
JP2009033553A (ja) | 半導体装置 | |
US7692564B2 (en) | Serial-to-parallel conversion circuit and method of designing the same | |
US8363766B2 (en) | Device and method of synchronizing signals | |
EP2171719B1 (en) | Synchronous memory devices and control methods for performing burst write operations | |
US20070177698A1 (en) | Signal Transfer Across Circuits Operating in Different Clock Domains | |
US6026473A (en) | Method and apparatus for storing data in a sequentially written memory using an interleaving mechanism | |
EP2241008B1 (en) | System and method of conditional control of latch circuit devices | |
JP2008283248A (ja) | ホールドフリーレジスタセル | |
JP2007304073A (ja) | 半導体装置および半導体装置のテスト実行方法 | |
JP2001223574A (ja) | 半導体集積回路 | |
JP2015119307A (ja) | 弛張発振器 | |
JP2008085519A (ja) | クロック制御回路および半導体集積回路 | |
JP2009503640A (ja) | 非同期データバッファ | |
JP3246487B2 (ja) | 半導体集積回路とその制御信号の生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20101005 |