1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕(内部クロック信号の異常状態を検出したらODT回路のインピーダンスを変更する)
本発明の代表的な実施の形態に係る半導体装置(1〜4)は、内部のインピーダンスが変更可能に構成され、入力信号(K)を伝播する外部の伝送路のインピーダンスと整合させるための終端回路(10)と、前記終端回路を介して入力された前記入力信号の信号レベルに応じてクロック信号(intCLK)を生成するクロック信号生成部(50)と、前記クロック信号に基づいて、前記終端回路のインピーダンスを調整する制御部(20〜22)と、を有する。前記制御部は、前記クロック信号に同期して、目標とするインピーダンスになるように前記終端回路のインピーダンスを調整するための処理を行うとともに、前記クロック信号が異常であると判断したら、前記終端回路のインピーダンスを所定のインピーダンスに変更する。
例えば、前記終端回路のインピーダンスが適切な値に設定されないことにより前記入力信号の信号レベルが異常となり、前記クロック信号がハイレベル又はローレベルに固定された信号となった場合を考える。前述した図15の半導体装置8では、このような場合、クロック信号が実質的に出力されない状態となるので、制御部によるクロック信号に同期した終端回路のインピーダンスの調整は停止してしまう。そこで、項1の半導体装置によれば、前記制御部が前記クロック信号の異常を検出すると、前記終端回路のインピーダンスを前記所定のインピーダンスに変更するので、前記クロック信号生成部に入力される前記入力信号の信号レベルを変化させることができる。これにより、異常なクロック信号が生成されている状態から脱することが可能となる。
〔2〕(所定のインピーダンスは)
項1の半導体装置において、前記入力信号は外部クロック信号であって、前記クロック信号生成部は、前記外部クロック信号の信号レベルと基準電圧(VREF)の信号レベルを比較する比較回路(50)を含み、前記比較回路は比較結果を前記クロック信号として出力する。前記所定のインピーダンスは、前記クロック信号生成部に入力される前記外部クロック信号のハイレベルの電圧が前記基準電圧より大きく、且つ前記外部クロック信号のローレベルの電圧が前記基準電圧よりも小さくなるようなインピーダンスである。
これによれば、前記終端回路のインピーダンスの異常に起因して前記入力信号の信号レベルが異常となることにより停止してしまったクロック信号を、再度出力させることが可能となる。これにより、クロック信号の異常を検出した後に、終端回路のインピーダンスを目標とする値に設定するための処理を再開することができる。
〔3〕(クロック異常検出回路の具体例)
項1又は2の半導体装置(1、3、4)において、前記制御部は、前記クロック信号が期待されるハイレベル期間又はローレベル期間よりも長い所定期間(td)ハイレベル又はローレベルとなったら、前記クロック信号が異常であると判断する。
これによれば、例えば、クロック信号がハイレベル又はローレベルに固定された場合のみならず、クロック信号のデューティ比が目標とする範囲から外れた場合も、クロック信号の異常として検出することができる。
〔4〕(異常状態の検出期間は変更可能)
項3の半導体装置(2)において、前記所定期間が変更可能に構成される。
これによれば、例えば、当該半導体装置の仕様等に応じて、クロック信号が異常であると判断する基準を変更することができる。
〔5〕(クロック信号の異常状態を検出したらリセット信号を出力する)
項2乃至4のいずれかの半導体装置において、前記終端回路のインピーダンスの初期値は前記所定のインピーダンスである。前記制御部は、前記終端回路のインピーダンスを調整するインピーダンス調整部(201、202、205)と、前記クロック信号を監視し、前記クロック信号が異常であると判断したらリセット信号を出力する監視部(204)と、を有する。前記インピーダンス調整部は、前記クロック信号に同期して、目標とするインピーダンスになるように前記終端回路のインピーダンスを調整するとともに、前記リセット信号が出力されたら、前記終端回路のインピーダンスを前記初期値に再設定する。
これによれば、前記終端回路のインピーダンスに起因したクロック信号の異常状態から脱するための機能を容易に実現することができる。
〔6〕(初期値は中間のインピーダンス値)
項2乃至5のいずれかの半導体装置において、前記所定のインピーダンスは、前記終端回路のインピーダンスとして設定可能な範囲の中間の値に基づいて決定される。
これによれば、例えば、外部クロック信号のハイレベルが電源電圧、ローレベルがグラウンド電圧であり、前記基準電圧が電源電圧の半分の電圧であるとすると、多くの場合、容易に、前記クロック信号生成部に入力される前記外部信号のハイレベルの電圧を前記基準電圧よりも高くし、且つローレベルの電圧を前記基準電圧よりも低くすることができる。
〔7〕(コアロジック回路のリセット信号として用いる)
項5の半導体装置(4)は、前記クロック信号に基づいて動作する内部回路(60、61)を更に有する。前記内部回路は、前記リセット信号によって初期化が可能に構成される。
これによれば、クロック信号が異常になった場合に前記内部回路をリセットすることが可能となる。例えば、外部クロック信号を停止することで、電源再投入を行うことなく前記内部回路をリセットすることが可能となり、また、リセット専用の外部端子を更に設ける必要もない。
〔8〕(メモリ回路)
項7の半導体装置(4)において、前記内部回路は、データを格納するための記憶領域を備えるメモリ部(613)と、前記クロック信号に基づく信号(C_CLK)に同期して前記メモリ部に対するデータの書き込みと読み出しを行うためのメモリ制御部(610、611、612、614)と、を有する。
これによれば、例えば、外部クロック信号を停止することで、電源再投入を行うことなく前記メモリ部及び前記メモリ制御部をリセットすることが可能となり、また、リセット専用の外部端子を更に設ける必要もない。
〔9〕(ODT回路の強制オフ)
項2乃至5、7、又は8のいずれかの半導体装置(3)において、前記所定のインピーダンスは、前記終端回路が高インピーダンス状態になることによって決定される。
これによれば、例えば、外部クロック信号のハイレベルが電源電圧、ローレベルがグラウンド電圧であり、前記基準電圧が電源電圧の半分の電圧であるとすると、波形の品質は落ちるが、前記クロック信号生成部に入力される前記外部信号のハイレベルの電圧が電源電圧程度の電圧となり、ローレベルの電圧がグラウンド電圧程度の電圧となる。すなわち、容易に、前記クロック信号生成部に入力される前記外部信号のハイレベルの電圧を前記基準電圧よりも高くし、且つローレベルの電圧を前記基準電圧よりも低くすることができる。
〔10〕(リセット検出後、所定期間Hiz)
項2乃至4のいずれかの半導体装置(3)において、前記制御部は、前記終端回路のインピーダンスを調整するインピーダンス調整部(201、202、205、210)と、前記クロック信号を監視し、前記クロック信号が異常であると判断したらリセット信号(stopc)を出力する監視部(204)と、を有する。前記インピーダンス調整部は、前記リセット信号が出力されたら、前記終端回路を高インピーダンス状態にするとともに、前記クロック信号に同期して前記目標とするインピーダンスの値を算出する処理を行い、所定時間(例えば1024サイクル)の経過後、前記終端回路のインピーダンスを前記算出した値に更新する。
前記入力信号を供給する外部ドライバ回路のオン抵抗や電源電圧範囲等の条件によっては、前記入力信号のパルスを前記半導体装置の内部に伝播して前記クロック信号を発生させることができるようなインピーダンスコードの初期値を見つけることが困難な場合がある。一方、項9で述べたように、例えば、外部クロック信号のハイレベルが電源電圧、ローレベルがグラウンド電圧であり、前記基準電圧が電源電圧の半分の電圧である場合には、前記終端回路を高インピーダンス(Hi−Z)状態にすることでより確実にクロック信号を生成することができる。そこで、項10の半導体装置のように、前記クロック信号の異常状態を検出してから一定期間は前記終端回路を高インピーダンス状態にすることで、より確実に前記クロック信号を発生させ、そのクロック信号に基づいて、前記目標とするインピーダンスの値を算出する。これにより、クロック信号の異常を検出してから、前記初期値にリセットする場合に比べて、より確実に終端回路のインピーダンスを目標とする値に設定することができる。
2.実施の形態の詳細
実施の形態について更に詳述する。
図1に、外部クロック信号が入力される入力端子の終端回路として、インピーダンスが変更可能なODT回路を適用した半導体装置のブロック図を例示する。
同図に示される半導体装置1は、特に制限されないが、公知のCMOS集積回路の製造技術によって1個の単結晶シリコンのような半導体基板に形成されている。
半導体装置1は、入力端子Kから入力された外部クロック信号に基づいて動作するロジック回路である。具体的には、半導体装置1は、入力端子Kのインピーダンスを整合するためのODT回路(ODT)10と、前記ODT回路10のインピーダンスを調整する制御部(IMP_CNT)20と、基準電圧ZREFを生成する基準電圧生成回路30と、リセット回路(RESET)40と、内部クロック信号CLKを生成する比較器(CMP)50と、内部クロック信号CLKに基づいて動作するコアロジック回路(CIR)60と、を含んで構成される。コアロジック回路60は、例えばメモリ回路であり、データを格納するためのメモリアレイと、前記メモリアレイに対するデータの書き込みと読み出しを制御するためのメモリ制御部等から構成され、内部クロック信号CLKに同期して、前記メモリアレイに対するデータの書き込みと読み出しが制御される。その他に、図示されないが、メモリ回路に対するアドレス信号やリード信号及びライト信号等の入力信号を受けるための入力インターフェース回路や、データ等を出力するための出力インターフェース回路も備える。
また半導体装置1は、外部端子として、外部クロック信号が入力される入力端子Kと、基準電圧が供給される入力端子VREFと、ODT回路のインピーダンスを決定するための基準となる外付け抵抗を接続するための入力端子ZQと、を備える。その他、図示されないが、電源電圧が供給される電源端子VDDQ、電源電圧が供給される電源端子VDDI、グラウンド電圧が供給されるグラウンド端子GND等も備える。なお、参照符号VDDQ、VDDI、及びGNDは、端子のみならず、その端子に供給される電圧をも表すものとする。電源電圧VDDIは、コアロジック回路60等の内部回路の電源として供給される。電源電圧VDDQは、ODT回路10等のI/O部の電源として供給される。電源電圧VDDI及び電源電圧VDDQの電圧は、半導体装置1の製造プロセスに依存するが、例えば、電源電圧VDDIは1.1Vであり、電源電圧VDDQは1.5V〜1.8Vである。
なお以下の説明では、参照符号Kは、入力端子のみならず、その端子に接続されるノード及びその端子に供給される外部クロック信号をも表すものとする。また参照符号VREFは、入力端子のみならず、その端子に接続されるノード及びその端子に供給される基準電圧をも表すものとする。更に参照符号ZQは、入力端子のみならず、その端子に接続されるノード及びその端子に発生する電圧をも表すものする。
図1に示されるように、入力端子Kに外部ドライバ回路6から外部クロック信号が供給される。入力された外部クロック信号Kは、ODT回路10を介して比較器50の一方の入力端子に入力される。外部ドライバ回路6から入力端子Kに供給される外部クロック信号Kは、例えば、HSTL(High Speed Transceiver Logic)レベルの信号であり、振幅が比較的小さい。そのため、比較回路50によって、当該外部クロック信号Kの電圧レベルと基準電圧VREFの電圧レベルとを比較し、その比較結果を出力することで、小さい振幅の外部クロック信号Kから大きな振幅(VDDQ−GND)の内部クロック信号intCLKを生成することができる。これにより、外部クロック信号Kの同相ノイズを低減しつつ、外部クロック信号Kの高速伝送を可能とする。基準電圧VREFは、例えば、1/2VDDQとなる電圧であって、外部抵抗Rによって電源電圧VDDQを分圧することにより生成される。
外部クロック信号Kは、比較的高い周波数の信号であり、例えば500MHz以上の周波数の信号である。そのため、入力端子Kにおける信号の反射等を抑えるため、外部クロック信号Kを伝播する外部の伝送路のインピーダンスと整合させる必要がある。そこで、半導体装置1は入力端子Kに接続されるODT回路10を備える。詳細は後述するが、ODT回路10は、内部クロック信号intCLKの生成に適した信号レベルの外部クロック信号Kが比較器50に伝播されるように終端抵抗の抵抗値が調整される。例えば、比較器50に入力される外部クロック信号Kが、基準電圧VREFを略中心とする振幅の信号となるように抵抗値が調整される。これにより、内部クロック信号intCLKは、外部クロック信号Kの周期と略等しい周期であって、ハイレベルがVDDQレベルであり、ローレベルがGNDレベルの信号となる。内部クロック信号intCLKは、コアロジック回路60や制御部20等に供給される。
リセット回路40は、電源電圧VDDIを監視し、リセット信号rstを生成する。例えば、電源VDDIの投入直後に一定期間リセット信号rstをハイレベルにする。
ODT回路10は、ノードKのインピーダンスを変更可能にするため、ノードKに接続される複数の抵抗の接続が切り替え可能に構成される。ODT回路は、例えばテブナン終端を構成する終端回路であって、プルアップ(pull−up)抵抗RP0〜RP7、プルダウン(pull−down)抵抗RN0〜RN7、PMOSトランジスタMP0〜MP7、及びNMOSトランジスタMN0〜MN7を備える。具体的には、複数のプルアップ抵抗RP0〜RP7の一端が夫々ノードKに接続され、プルアップ抵抗RP0〜RP7の他端が対応するPMOSトランジスタMP0〜MP7のドレイン側に接続され、PMOSトランジスタMP0〜MP7のソース側が電源ノードVDDQに接続される。また、複数のプルダウン抵抗RN0〜RN7の一端が夫々ノードKに接続され、プルダウン抵抗RN0〜RN7の他端が対応するNMOSトランジスタMN0〜MN7のドレイン側に接続され、NMOSトランジスタMN0〜MN7のソース側がグラウンドノードGNDに接続される。PMOSトランジスタMP0〜MP7及びNMOSトランジスタMN0〜MN7は、スイッチとして機能し、制御部20から供給されるインピーダンスコードによってオン・オフが制御されることにより、ノードKのプルアップ抵抗値及びプルダウン抵抗値が調整される。前述の図16と同様に、前記インピーダンスコードのうち、PチャネルMOSトランジスタMP0〜MP7のゲートを制御するP側インピーダンスコードをpcodeと表し、NチャネルMOSトランジスタMN0〜MN7のゲートを制御するN側インピーダンスコードをncodeと表す。図1では、8個のPMOSトランジスタ及び8個のNMOSトランジスタを制御するため、P側インピーダンスコードpcode及びN側インピーダンスコードncodeのビット数を8ビットとしている。なお、図1では、8個のプルアップ抵抗及び8個のプルダウン抵抗の接続と遮断を制御するために8個のPMOSトランジスタ及び8個のNMOSトランジスタを備えるODT回路を例示しているが、これに限られず、インピーダンスの調整幅によって、抵抗及びMOSトランジスタの数を任意に変更してもよい。
制御部20は、ODT回路10のインピーダンスを調整するための回路である。制御部20は、目標とするインピーダンスになるように、ODT回路10のプルアップ抵抗及びプルダウン抵抗を調整する。前記目標とするインピーダンスは、入力端子ZQに接続される外付け抵抗RQに基づいて決定される。例えば、制御部20は、ODT回路10のプルアップ抵抗及びプルダウン抵抗が、外付け抵抗RQと同一の抵抗値になるように調整する。
具体的に、制御部20は、インピーダンス検出回路(REP)201、インピーダンスコード生成回路(IMPC_GEN)202、インピーダンスコード保持レジスタ205、カウンタ(CTR)203、クロック信号異常検出回路204、及びOR回路206を含んで構成される。
インピーダンス検出回路201は、入力端子ZQに接続された抵抗RQの抵抗値を検出するための回路である。具体的には、インピーダンス検出回路201は、入力端子ZQに接続された抵抗RQに基づいて生成された電圧と基準電圧ZREFとを比較し、比較結果n_up,p_dnを出力する。
図2に、インピーダンス検出回路201の回路構成の一例を示す。インピーダンス検出回路201は、ODT回路10のプルアップ側の抵抗値を決定するためのレプリカ回路2011と、ODT回路10のプルダウン側の抵抗値を決定するためのレプリカ回路2012とから構成される。
レプリカ回路2011において、複数のプルアップ抵抗RPR0〜RPR7の夫々の一端は、入力端子ZQが接続されるノードZQに接続され、プルアップ抵抗RPR0〜RPR7の夫々の他端は、対応するPMOSトランジスタMPR0〜MPR7のドレイン側に接続される。PMOSトランジスタMPR0〜MPR7のソース側は電源ラインVDDQに接続される。プルアップ抵抗RPR0〜RPR7は、例えば、ODT回路10のプルアップ抵抗RP0〜RP7と同一の抵抗値とされる。
インピーダンスコード生成回路202から出力された制御信号pre_pcodeが、レベル変換回路2013によって反転されるとともに、電源電圧VDDQレベルの信号に変換されて、PMOSトランジスタMPR0〜MPR7のゲートに供給される。制御信号pre_pcodeは、レプリカ回路2011のプルアップ抵抗値を決めるためのインピーダンスコードであり、PMOSトランジスタMPR0〜MPR7のオン・オフを制御するゲート駆動信号である。制御信号pre_pcodeは、例えば、PMOSトランジスタMPR0〜MPR7のゲート数に応じたビット数の信号であり、図2の場合、8ビットの信号である。制御信号pre_pcodeにより、PMOSトランジスタMPR0〜MPR7のオン・オフが制御されることにより、ノードZQのプルアップ抵抗の抵抗値が調整される。
比較器(CMP)2014は、ノードZQの電圧と基準電圧生成回路30によって生成された基準電圧ZREFとを比較し、比較結果p_dnを出力する。基準電圧ZREFは、例えば、1/2VDDQとなる電圧であり、抵抗分圧によって生成される。ノードZQの電圧は、ノードZQのプルアップ抵抗と、外付け抵抗RQとの抵抗分圧によって決定される。したがって、例えば、ノードZQのプルアップ抵抗が外付け抵抗RQより小さい場合には、ノードZQの電圧は1/2VDDQよりも高くなる。
比較器2014による比較結果p_dnは、インピーダンスコード生成回路202に供給される。インピーダンスコード生成回路202は、内部クロック信号intCLKに同期して動作し、比較結果p_dn、n_upに基づいて制御信号pre_pcode、pre_ncodeを生成する。具体的には、インピーダンスコード生成回路202は、比較結果p_dnに応じて、制御信号pre_pcodeを内部クロック信号intCLKに同期して随時更新することで、ノードZQが基準電圧ZREFと同電位になるまで制御信号pre_pcodeの更新を繰り返し行う。例えば、比較結果p_dnがハイ(High)の場合には、インピーダンスコード生成回路202は、次のコード値の更新時(アップデート時)に、制御信号pre_pcodeを現状のコード値から“−1”したコード値に変更する。また、比較結果p_dnがロー(Low)の場合には、インピーダンスコード生成回路202は、次のコード値の更新時(コードアップデート時)に、制御信号pre_pcodeを現状のコード値から“+1”したコード値に変更する。これらの処理は、ノードZQが基準電圧ZREFと同電位になるまで繰り返し行われる。これにより、ノードZQのプルアップ抵抗の抵抗値が外付け抵抗RQと略同一の抵抗値になるような制御信号pre_pcodeが生成される。
レプリカ回路2012は、電源ノードVDDQとグラウンドノードGNDとの間に、ODT回路10と同様の回路構成の抵抗群とMOSトランジスタ群を備える。
レプリカ回路2012の電源ノードVDDQ側の具体的な回路構成は以下である。複数のプルアップ抵抗RNPR0〜RNPR7の夫々の一端がノードZNに接続され、プルアップ抵抗RNPR0〜RNPR7の他端が、対応するPMOSトランジスタMNPR0〜MNPR7のドレイン側に接続され、PMOSトランジスタMNPR0〜MNPR7のソース側が電源ラインVDDQに接続される。プルアップ抵抗RNPR0〜RNPR7は、例えば、レプリカ回路2011のプルアップ抵抗RPR0〜RPR7と同一の抵抗値とされる。すなわち、ODT回路10のプルアップ抵抗RP0〜RP7と同一の抵抗値とされる。レプリカ回路2011と同様に、インピーダンスコード生成回路202から出力された制御信号pre_pcodeに基づいてPMOSトランジスタMPR0〜MPR7のオン・オフが制御されることにより、ノードZNのプルアップ側の抵抗値が調整される。
レプリカ回路2012のグラウンドノードGND側の具体的な回路構成は以下である。複数のプルダウン抵抗RNNR0〜RNNR7の夫々の一端がノードZNに並列に接続され、プルダウン抵抗RNNR0〜RNNR7の夫々の他端が対応するNMOSトランジスタMNNR0〜MNNR7のドレイン側に接続され、NMOSトランジスタMNNR0〜MNNR7のソース側がグラウンドラインGNDに接続される。プルダウン抵抗RNNR0〜RNNR7は、例えば、ODT回路10のプルダウン抵抗RN0〜RN7と同一の抵抗値とされる。
インピーダンスコード生成回路202から出力された制御信号pre_ncode[7:0]がレベル変換回路2016によって電源電圧VDDQレベルの信号に変換されて、NMOSトランジスタMNNR0〜MNNR7のゲートに供給される。制御信号pre_ncodeは、レプリカ回路2012のプルダウン抵抗値を決めるためのインピーダンスコードである。これにより、NMOSトランジスタMNNR0〜MNNR7のオン・オフが制御されることにより、ノードZNのプルダウン側の抵抗値が調整される。
比較器(CMP)2015は、ノードZNの電圧と基準電圧ZREFとを比較し、比較結果n_upを出力する。ノードZNの電圧は、ノードZNのプルアップ抵抗とプルダウン抵抗との抵抗分圧によって決定される。したがって、例えば、ノードZNのプルアップ抵抗がプルダウン抵抗より小さい場合には、ノードZQの電圧はZVREF(=1/2VDDQ)よりも高くなる。
比較器2015による比較結果n_upは、インピーダンスコード生成回路202に供給される。インピーダンスコード生成回路202は、比較結果n_dnに応じて、制御信号pre_ncodeを内部クロック信号intCLKに同期して随時更新することで、ノードZNが基準電圧ZREFと同電位になるまで制御信号pre_ncodeの更新を繰り返し行う。例えば、インピーダンスコード生成回路202は、比較結果n_upがハイ(High)の場合には制御信号pre_ncodeを現状のコード値から“+1”したコード値に変更し、比較結果n_upがロー(Low)の場合には制御信号pre_ncodeを現状のコード値から“−1”したコード値に変更する。これにより、最終的に、ノードZNのプルダウン側の抵抗値が、ノードZNのプルアップ側の抵抗値と同一の抵抗値となるように調整される。すなわち、ノードZNのプルダウン抵抗が外付け抵抗RQと略同一の抵抗値になるような制御信号pre_ncodeが生成される。
インピーダンスコード生成部202は、信号rstodtをリセット信号として入力する。信号rstodtは、リセット回路40から出力されるリセット信号rstとクロック信号異常検出回路204から出力される検出信号stopcとの論理和を取った信号である。例えば、インピーダンスコード生成部202は、信号rstodtの信号レベルがハイ(High)レベルになったら、制御信号pre_pcode、nre_pcodeのコード値を初期値に再設定する。前記初期値は、比較器50に入力される外部クロック信号Kのハイレベルの電圧が基準電圧VREFよりも大きく、且つ外部クロック信号Kのローレベルの電圧が基準電圧VREFよりも小さくなるようなコード値である。例えば、ODT回路10のインピーダンスが設定可能なインピーダンス範囲の中間値となるようなコード値を初期値とする。ここでは、一例として、制御信号pre_pcode、pre_ncodeの初期値を、制御信号pre_pcode、pre_ncodeとして設定可能な8ビットの値の中間値、すなわち、“8’b10000000”とする。
インピーダンスコード生成部202によって生成された制御信号pre_pcode、pre_ncodeは、インピーダンス検出回路201に出力されるとともに、インピーダンスコード保持レジスタ205にも出力される。インピーダンスコード保持レジスタ205は、P側の制御信号pre_pcodeを保持するフリップフロップ(FF)回路2051と、N側の制御信号pre_ncodeを保持するFF回路2052と、から構成される。FF回路2051は、例えば、カウンタ203によって内部クロック信号intCLKを256分周したstrb信号をクロック入力とし、信号rstodtをリセット信号として入力する。これにより、FF回路2051は、256サイクル毎に制御信号pre_pcodeの値を取り込む。取り込んだ値は、P側インピーダンスコードpcode[7:0]としてODT回路10に出力される。FF回路2052も同様に、256サイクル毎に制御信号pre_ncode[7:0]を取り込み、取り込んだ値をN側インピーダンスコードncode[7:0]としてODT回路10に出力する。すなわち、外付け抵抗RQと同一の抵抗値になるように調整された制御信号pre_pcode,pre_ncodeがインピーダンスコードpcode,ncodeとして、ODT回路10に供給される。これにより、ODT回路10のプルアップ抵抗とプルダウン抵抗が、外付け抵抗RQと同一の抵抗値になるように調整される。なお、P側インピーダンスコードpcode及びN側インピーダンスコードncodeを更新する時間間隔は、256サイクルに限られず、任意に設定可能である。
クロック信号異常検出回路204は、内部クロック信号intCLKを監視し、内部クロック信号intCLKの異常を検出したら、検出信号stopcの信号レベルを、例えばローレベルからハイレベルに切り替える。本実施の形態において、内部クロック信号intCLKの異常とは、例えば、内部クロック信号intCLKが期待されるローベル期間よりも長い所定期間(td)ローレベルになること、及び、内部クロック信号intCLKが期待されるハイベル期間よりも長い所定期間(td)ハイレベルになることをいう。
図3にクロック信号異常検出回路204の回路構成の一例を示す。同図に示されるように、クロック信号異常検出回路204は2つの検出部を有する。1つの検出部は、ローレベル検出部2040であり、内部クロック信号intCLKが期待されるローベル期間よりも長い期間ローレベルとなったことを検出する。ローベル検出回路2040は、遅延回路101を含んで構成される。遅延回路101は、内部クロック信号intCLKを入力し、内部クロック信号intCLKが所定期間td以上ローレベルとなったら、出力信号LFIXをハイレベルからローレベルに切り替える。前記所定期間tdは、ノードN1の電圧が次段のインバータ(INV)の閾値電圧を上回るまでの時間であり、図3における抵抗R1と容量C1とに基づく時定数によって決定される。ここで、抵抗R1は抵抗R2よりも十分大きい抵抗値とされる。これにより、ノードN1の電圧降下に要する時間よりも電圧上昇に要する時間の方が長くなる。ローベル検出回路2040の出力信号LFIXはNAND回路100に入力され、NAND回路100の出力が検出信号stopcとなる。
図4は、ローレベル検出部2040の動作を例示するタイミングチャートである。
同図に示されるように、例えば、時刻t40において内部クロック信号intCLKがローレベルになると、ノードN1の電圧が上昇する。そして、抵抗R1と容量C1との時定数に基づいて決定される所定時間tdが経過した時刻t41において、出力信号LFIXがハイレベルからローレベルに切り替わる。これにより、検出信号stopcの信号レベルがローレベルからハイレベルに切り替わる。その後、時刻t42において再び内部クロック信号intCLKが正常に出力されると、抵抗R2と容量C1との時定数に基づいて決定される時間が経過した時刻t43において、出力信号LFIXがローレベルからハイレベルに切り替わり、検出信号stopcの信号レベルがハイレベルからローレベルに切り替わる。
クロック信号異常検出回路204におけるもう1つの検出部は、ハイレベル検出部2041であり、内部クロック信号intCLKが期待されるハイレベル期間よりも長い期間ハイレベルとなったことを検出する。ハイレベル検出回路2041は、インバータ104と、遅延回路101を含んで構成される。内部クロック信号intCLKがインバータ104に入力され、インバータ104によって反転された信号が後段の遅延回路101の入力となる。以降の動作は、ローレベル検出回路2040の遅延回路101と同様である。ハイベル検出回路2041の出力信号HFIXは、出力信号LFIXと同様に、NAND回路100に入力される。
検出信号stopcは、リセット回路40からのリセット信号rstともにOR回路206に入力され、OR回路206の出力信号rstodtが、インピーダンスコード生成回路202、インピーダンスコード保持レジスタ205、及びカウンタ203のリセット信号となる。したがって、P側インピーダンスコードpcode、N側インピーダンスncode、及び制御信号pre_pcode、pre_ncodeは、電源投入直後のみならず、ODT回路10のインピーダンスコードが異常となり、内部クロック信号intCLKがハイレベル又はローレベルに固定となった場合にもリセットされる。
図5は、ODT回路10のインピーダンス調整方法の流れの一例を示すフローチャートである。
先ず、半導体装置1に電源電圧VDDI、VDDQが投入される(S101)。電源投入後、リセット信号rstが有効にされると、インピーダンスコード生成回路202が、制御信号pre_pcode,pre_ncodeとして、初期値“8’b10000000”を設定する(S102)。その後外部クロック信号Kが入力されて、内部クロック信号intCLKが生成されると、インピーダンスコード生成回路202がpre_pcode,pre_ncodeの更新を開始する(S103)。そして、カウンタ203は内部クロック信号intCLKのカウントを開始する(S104)。カウンタ203のカウント値が、256サイクルのN(Nは1以上の整数)倍の値となったら、インピーダンスコード生成回路202は、制御信号pcode、ncodeの値を夫々、pre_pcode、pre_ncodeの値に更新する(S104)。これにより、ODT回路10の抵抗値が更新され、入力端子Kのインピーダンス整合が行われる。
その間、クロック信号異常検出回路204は、内部クロック信号intCLKが所定期間td以上ローレベル又はハイレベルになったか否かを判別する(S106)。内部クロック信号intCLKが正常に出力されている場合には、ステップ103に移行し、制御信号pre_pcode,pre_ncodeの更新を継続する。一方、内部クロック信号intCLKが所定期間td以上ローレベル又はハイレベルになった場合には、クロック信号異常検出回路204は検出信号stopcをローレベルからハイレベルに切り替える(S107)。これにより、インピーダンスコード生成回路202等がリセットされ、ステップ102に移行する。
図6は、半導体装置1における各ノードの電圧変化の一例を示すタイミングチャートである。
先ず、時刻t60において電源電圧VDDIが投入されると、リセット回路40からのリセット信号rstがハイレベルにされることにより、リセット信号rstodtがハイレベルになる。これにより、インピーダンスコード生成回路202等がリセットされ、インピーダンスコード生成回路202は、P側のインピーダンスコードpcodeとN側のインピーダンスコードncodeとして、初期値(initial code)“8’10000000“を設定する。このとき、外部クロック信号Kを生成する外部ドライバ回路6が非活性状態(出力が高インピーダンス(Hi−Z)状態)である場合とする。
その後、時刻t61において電源電圧VDDQが供給されるとともに、基準電圧VREFが供給される。電源電圧VDDQが上昇している間、外部ドライバ回路6が非活性状態であると、入力端子Kに接続されるノードKの電圧は、基準電圧VREFに近接した電圧となる。この状態において、何らかの原因でグラウンドノイズが発生し、入力端子Kに接続されるノードにグラウンドノイズが重畳されると、前述したように、比較器50における2つの入力端子の電圧の大小関係が反転し、正常でない内部クロック信号intCLKが発生する。この正常でない内部クロック信号intCLKは、インピーダンスコード生成回路202の動作クロックとして供給されるため、インピーダンスコード生成回路202はインピーダンスコードの更新を開始する。しかしながら、電源電圧VDDQや基準電圧VREFが十分に立ち上がっておらず、また、クロック信号CLKのパルス幅及び周期が正常ではない状態では、不正なインピーダンスコードをODT回路10に設定してしまう虞がある。図6では、不正なインピーダンスコードの一例として、プルアップ抵抗が最大となるP側インピーダンスコードpcode“11111111”が設定され、プルダウン抵抗が最小となるN側インピーダンスコードncode“00000000”が設定された場合が示されている。この場合、入力端子Kのプルダウン抵抗がプルアップ抵抗よりも十分小さい抵抗値となってしまうため、比較器50に伝播される外部クロック信号Kの信号レベルが低くなる。例えば、外部クロック信号Kのハイレベルの電圧が基準電圧VREFを下回ることになる。一旦このような状態に陥ると、比較器52の2つの入力端子の電圧の大小関係が変化しないことになり、時刻t62において内部クロック信号CLKはローレベルに固定される。内部クロック信号intCLKがローレベルに固定されてからtd時間経過した時刻t63において、クロック信号異常検出回路204は、内部クロック信号intCLKの異常を検出して、検出信号stopcをローレベルからハイレベルに切り替える。その結果、リセット信号rstodtがハイレベルとなり、インピーダンスコード生成回路202等がリセットされ、P側のインピーダンスコードpcodeとN側のインピーダンスコードncodeが、初期値(initial code)“8’10000000“に再設定される。これにより、ノードKのインピーダンスが異常な状態から脱することができるため、適正な信号レベルの外部クロック信号Kが比較回路50に伝播され、内部クロック信号intCLKが正常に出力される。その後、インピーダンスコード生成回路202によって、インピーダンスコードの更新が正常に行われ、外部抵抗RQに基づくインピーダンスコードになるようにODT回路10の抵抗値が調整される。
前述した図15の半導体装置8では、ODT回路のインピーダンスの異常により内部クロック信号CLKがローレベル又はハイレベルに固定されてしまうと、デッドロック状態となり、電源電圧の再投入等によらなければ復帰できなかった。しかしながら、本実施の形態に係る半導体装置1によれば、ODT回路のインピーダンスの異常により内部クロック信号CLKがローレベル又はハイレベルに固定されたとしても、その状態が一定期間継続した場合には、インピーダンスコードがリセットされるため、ODT回路のインピーダンスの異常状態から脱することができる。これにより、より安定したODT回路を実現することができる。
≪実施の形態2≫
図7に、実施の形態2に係るインピーダンスが変更可能なODT回路を適用した半導体装置のブロック図を例示する。同図において、実施の形態1に係る半導体装置1と同様の構成要素には同一の符号を付して、その詳細な説明を省略する。
実施の形態2では、内部クロック信号intCLKが異常であると判断するための、内部クロック信号intCLKがハイレベル又はローレベルに固定される所定時間が選択可能に構成される。具体的には、半導体装置2は、クロック信号異常検出回路204の代わりに、クロック信号異常検出回路214を備える。
図8にクロック信号異常検出回路214の回路構成の一例を示す。同図に示されるクロック信号異常検出回路214は、2つの検出部を有する。クロック信号異常検出回路214における1つの検出部は、ローレベル検出部2140であり、内部クロック信号intCLKが期待されるローベル期間よりも長い期間ローレベルとなったことを検出する。具体的には、ローベル検出回路2142は、複数の遅延回路101_A〜101_Cとセレクタ102を含んで構成される。遅延回路101_A〜101_Cの回路構成は、前述の遅延回路101と同様である。遅延回路101_A〜101_Cは複数個直列に接続され、夫々の遅延回路101の出力がセレクタ102に入力される。具体的には、遅延回路101_Aは、内部クロック信号intCLKを入力し、遅延回路101_Bは、遅延回路101_Aの出力信号SEL01Lを入力し、遅延回路101_Cは、遅延回路101_Bの出力信号SEL00Lを入力する。これにより、内部クロック信号intCLKがローレベルに切り替わってから一定時間経過後に信号レベルが切り替わる信号を、3種類生成することができる。セレクタ102は、上記3種類の信号のうち1つの信号を指示する選択信号SEL[1:0]に基づいて、対応する遅延回路101_A〜101_Cの出力信号を選択して出力する。例えば、選択信号SEL[1:0]=2’b00の場合には、遅延回路101_Bの出力が選択され、出力信号LFIXのパルス幅はtLow−2tdとなる。この場合、内部クロック信号intCLKのローレベルの期間が2td以上となると、検出信号stopcがハイレベルとなる。また、選択信号SEL[1:0]=2’b01の場合には、遅延回路101_Aの出力が選択され、内部クロック信号intCLKのローレベルの期間がtd以上となると、検出信号stopcがハイレベルとなる。更に、選択信号SEL[1:0]=2’b10の場合には、遅延回路101_Cの出力が選択され、内部クロック信号intCLKのローレベルの期間が3td以上となると、検出信号stopcがハイレベルとなる。なお、選択信号SELは、外部から入力しても良いし、半導体装置2の内部に設けられたレジスタ等の値を入力しても良い。また、選択信号SELを、ヒューズ(FUSE)やボンディングオプションで変更できるようにすれば、使用されるシステムにあわせた調整が可能となる。
図9にローレベル検出部2140の動作状態を表すタイミングチャートを例示する。同図において、時刻t90で内部クロック信号intCLKがローレベルになると、遅延回路101_AにおけるノードN1の電圧が上昇する。その後、時刻t91でノードN1の電圧がインバータの閾値電圧に到達すると、遅延回路101_Aの出力信号SEL01Lの信号レベルがハイレベルからローレベルに切り替わる。これにより、遅延回路101_BにおけるノードN1の電圧上昇が開始される。そして、時刻t92で当該ノードN1の電圧がインバータの閾値電圧に到達すると、遅延回路101_Bの出力信号SEL00Lの信号レベルがハイレベルからローレベルに切り替わる。これにより、遅延回路101_CにおけるノードN1の電圧上昇が開始される。そして、時刻t93で当該ノードN1の電圧がインバータの閾値電圧に到達すると、遅延回路101_Cの出力信号SEL10Lの信号レベルがハイレベルからローレベルに切り替わる。前述したように、セレクタ102は、選択信号SELに基づいて、遅延回路101_A〜101_Cのいずれかの出力信号を選択する。図9では、例えば選択信号SEL[1:0]=2’b00であり、遅延回路101_Bの出力信号SEL00Lが選択されて、ローレベル検出部2140の出力信号LFIXとして出力される場合が例示される。これにより、検出信号stopcは、時刻t92でハイレベルとなり、クロック信号が正常に戻った時刻t94でローレベルとなる。
クロック信号異常検出回路214におけるもう1つの検出部は、ハイレベル検出部2141であり、内部クロック信号intCLKが期待されるハイレベル期間よりも長い期間ハイレベルとなったことを検出する。具体的には、図8に示されるように、ハイレベル検出回路2143は、インバータ104と、複数の遅延回路101_D〜101_Fと、セレクタ103とを含んで構成される。遅延回路101_D〜101_Fの回路構成は、前述の遅延回路101と同様である。内部クロック信号intCLKがインバータ104に入力され、インバータの出力が遅延回路101_Dの入力となる。その他の接続関係は、ローレベル検出部2140と同様である。
以上、実施の形態2に係る半導体装置2によれば、半導体装置1と同様に、より安定したODT回路を実現することができる。また、内部クロック信号intCLKが異常であると判断するための、内部クロック信号intCLKがハイレベル又はローレベルに固定される所定時間を選択信号SELによって選択することができるので、適用するシステムに合わせて容易に前記所定時間を調整することができる。
≪実施の形態3≫
図10に、実施の形態3に係るインピーダンスが変更可能なODT回路を適用した半導体装置のブロック図を例示する。同図において、半導体装置1、2と同様の構成要素には同一の符号を付して、その詳細な説明を省略する。
半導体装置1では内部クロック信号intCLKの異常状態が検出されると、インピーダンスコードを初期値に再設定する。しかしながら、外部クロック信号Kを供給する外部ドライバ回路6のオン抵抗や電源電圧範囲等の条件によっては、外部クロック信号Kのパルスを比較器50に伝播して内部クロック信号intCLKを発生させることができるようなインピーダンスコードの初期値を見つけることが困難な場合がある。そこで、半導体装置3では、インピーダンス整合がなされていない初期状態において、より確実に内部クロック信号intCLKを発生させるため、クロック信号の異常状態を検出してから一定期間は、入力端子Kが接続されるノードを高インピーダンス状態にする。具体的には、半導体装置3は、図10に示されるように、インピーダンスコード保持レジスタ205とODT回路10との間にインピーダンスコード制御部210を設ける。
インピーダンスコード制御部210は、カウンタ2101と、2つのAND回路2102、2103とを含んで構成される。カウンタ2101は、内部クロック信号intCLKをカウントし、カウント値が所定のサイクル数となったら、出力信号hzodtの信号レベルをローレベルからハイレベルに切り替える。カウント値は、リセット信号rstodtによってリセット可能とされる。前記所定のサイクル数は、特に制限されないが、例えば1024サイクルとする。
出力信号hzodtは、インピーダンスコード保持レジスタ205に保持されたコード値と共にAND回路2102、2103に入力される。そして、AND回路2102の出力がP側インピーダンスpcodeとしてPMOSトランジスタMP0〜MP7のゲートに入力され、AND回路2103の出力がN側インピーダンスncodeとしてNMOSトランジスタMN0〜MN7のゲートに入力される。したがって、出力信号hzodtがローレベルである場合には、P側インピーダンスコードpcode及びN側インピーダンスコードncodeは、インピーダンスコード保持レジスタ205に保持されたコード値によらず、“8’00000000”となる。これにより、ODT回路10の電源VDDQ側のPMOSトランジスタMP0〜MP7はオフとなり、ODT回路10のグラウンドGND側のNMOSトランジスタMP0〜MP7はオフとなるため、ノードKは高インピーダンス状態となる。仮に、この状態で外部クロック信号Kが入力端子Kに供給されると、外部クロック信号Kは、外部ドライバ回路6が出力する信号レベルのまま比較回路50に伝播される。例えば、外部ドライバ回路6が出力する外部クロック信号KのハイレベルがVDDQであり、ローレベルがGNDレベルである場合には、波形の品質は落ちるが、ハイレベルがVDDQ電位と同程度の電位であり、且つローレベルがGND電位と同程度の電位となる信号が比較回路50に入力される。これにより、基準電圧VREFを1/2VDDQとすれば、比較回路50の入力の大小関係が交互に切り替わることになるので、ハイレベルとローレベルが交互に切り替わる内部クロック信号intCLKを生成することができる。
一方、出力信号hzodtがハイレベルである場合には、インピーダンスコード保持レジスタ205の値がP側インピーダンスコードpcode及びN側インピーダンスコードncodeとしてODT回路10に供給される。
図11は、半導体装置3におけるODT回路10のインピーダンス調整方法の流れの一例を示すフローチャートである。
先ず、半導体装置1に電源電圧VDDI,VDDQが投入される(S201)。電源投入後、リセット信号rstが有効にされると、インピーダンスコード生成回路202が、制御信号pre_pcode,pre_ncodeに初期値“8’b10000000”を設定する(S202)。また、リセット信号rstに応じて、インピーダンスコード制御部210が出力信号hzodtの信号レベルをローレベルすることで、ODT回路10のMOSトランジスタMP0〜MP7及びMN0〜MN7が強制的にオフにされ、ノードKが高インピーダンス状態(ODT回路10が強制オフ状態)となる(S203)。その後、外部クロック信号Kが入力されて、内部クロック信号intCLKが生成されると、インピーダンスコード生成回路202が制御信号pre_pcode,pre_ncodeの更新を開始する(S204)。
その間、インピーダンスコード制御部210におけるカウンタ2101は、カウント値が1024サイクルになるまでカウントを続ける(S205)。カウンタ2101のカウント値が“1024”になったら、インピーダンスコード制御部210が出力信号hzodtの信号レベルをローレベルからハイレベルに切り替えることで、ODT回路10の強制オフ状態が解除される(S206)。その後も、インピーダンスコード生成回路202による制御信号pre_pcode,pre_pcodeの更新が継続される(S207)。その間、カウンタ203は、カウント値が256サイクルのN(Nは1以上の整数)倍の値となるまで、内部クロック信号intCLKのカウントを続ける(S208)。カウンタ203のカウント値が、256サイクルのN(Nは1以上の整数)倍の値となったら、インピーダンスコード生成回路202は、制御信号pcode、ncodeの値を夫々、pre_pcode、pre_ncodeの値に更新する(S209)。その間、クロック信号異常検出回路204は、内部クロック信号intCLKが正常に出力されているか否かを監視する(S210)。内部クロック信号intCLKが正常に出力されている場合には、ステップ207に移行し、pre_pcode,pre_ncodeの更新を継続する。一方、内部クロック信号intCLKの異常が検出された場合には、クロック信号異常検出回路204は検出信号stopcをローレベルからハイレベルに切り替える(S211)。これにより、インピーダンスコード生成回路202等がリセットされ、ステップ202に移行する。
図12は、半導体装置3における各ノードの電圧変化の一例を示すタイミングチャートである。
先ず、時刻t120において電源電圧VDDIが投入されると、リセット回路40からのリセット信号rstがハイレベルにされることに伴いリセット信号rstodtがハイレベルとなり、インピーダンスコード生成回路202及びインピーダンスコード制御部210等がリセットされる。これにより、カウンタ2101の出力信号hzodtがローレベルとなり、P側のインピーダンスコードpcode[7:0]とN側のインピーダンスコードncode[7:0]は“8’00000000“となる。また、インピーダンスコード生成回路202は、リセット信号rstodtに応じて、制御信号pre_pcode,pre_ncodeとして初期値“8’10000000“を設定する。
その後、時刻t121において電源電圧VDDQが供給されるとともに、基準電圧VREFが供給される。電源電圧VDDQが上昇している間、何らかの原因でグラウンドノイズが発生し、入力端子Kに接続されるノードにグラウンドノイズが重畳されると、前述したように、比較器50における2つの入力端子の電圧の大小関係が反転し、正常でない内部クロック信号intCLKが発生する。この正常でない内部クロック信号intCLKは、インピーダンスコード生成回路202の動作クロックとして供給されるため、インピーダンスコード生成回路202はインピーダンスコードの更新を開始する。しかしながら、半導体装置3によれば、制御信号pre_pcode,pre_ncodeのコード値は更新されるが、インピーダンスコード制御部210により、ODT回路10が強制オフ状態となっているため、ODT回路10の抵抗値は更新されず、ノードKは高インピーダンス状態が維持される。
その後、時刻t122で異常な内部クロック信号intCLKの出力が停止すると、クロック信号異常検出回路204が計時を開始し、時刻t122からtd時間経過した時刻t123において、クロック信号異常検出回路204は、検出信号stopcをローレベルからハイレベルに切り替える。これにより、リセット信号rstodtがハイレベルとなり、インピーダンスコード生成回路202等がリセットされ、制御信号pre_pcode,pre_ncode[7:0]として、初期値“8’10000000“が再設定される。
その後、外部ドライバ回路6が活性状態となり、外部クロック信号Kが供給されると、比較回路50に入力される外部クロック信号Kの振幅は、略VDDQとなる。これは、ODT回路10が強制オフ状態であることからノードKが高インピーダンス状態であるため、外部ドライバ回路6が出力する信号レベルのまま外部クロック信号Kが伝播されるからである。そして、時刻t124で、リセット状態が解除されると、インピーダンスコード制御部210におけるカウンタ2101がカウントを開始し、カウント値が“1024サイクル”となった時刻t125で、カウンタ2101の出力信号hzodtがハイレベルとなる。これにより、インピーダンスコード保持レジスタ206に保持されていたインピーダンスコードが、P側インピーダンスコードpcode及びN側インピーダンスコードncodeとして、ODT回路10に供給される。
以上、実施の形態3に係る半導体装置3によれば、内部クロック信号intCLKが所定回数(上記例では1024サイクル)入力されるまでは、ODT回路10を強制オフ状態としてノードKを高インピーダンス状態にするので、外部クロック信号Kは十分な振幅を持って比較器50に伝播される。これにより、比較器50は内部クロック信号intCLKを出力することができ、内部クロック信号intCLKを動作クロックとするインピーダンスコード生成部202は、目標とするインピーダンスコードを生成することができる。したがって、半導体装置1と同様に、より安定したODT回路を実現することができる。
≪実施の形態4≫
図13に、実施の形態4に係るインピーダンスが変更可能なODT回路を適用した半導体装置のブロック図を例示する。同図に示される半導体装置4において、半導体装置1乃至3と同様の構成要素には同一の符号を付して、その詳細な説明を省略する。
半導体装置4は、例えば、QDR(Quad Data Rate) SRAM(Double Data Rate)であり、データ入力端子Dとデータ出力端子DQが分離され、メモリアレイ(MRY_ARR)613に対するデータの読み出しと書き込みを同時に行うことが可能とされる。
半導体装置4は、入力端子として、入力アドレス端子SA、リード端子XR、ライト端子XW、バイトライト端子XBW、データ入力端子D、入力端子K、入力端子VREF、及び入力端子ZQと、出力端子としてデータ出力端子DQを備える。なお図示されないが、半導体装置4は、半導体装置1乃至3と同様に、電源電圧VDDQが供給される電源端子VDDQ、電源電圧VDDIが供給される電源端子VDDI、グラウンド電圧が供給されるグラウンド端子GND等も備える。入力アドレス端子SAは、メモリアレイにおけるデータの書き込み先や読み出し先を指定するアドレス信号が入力される。リード端子XRは、読み出しを指示するリード信号が入力される。ライト端子XWは、書き込みを指示するライト信号が入力される。バイトライト端子XBは、入力されたデータのうち特定のバイトをメモリアレイに書き込むことを指示するバイトライト信号が入力される。なお、リード信号、ライト信号、及びバイトライト信号はアクティブロー(active−Low)の信号である。データ入力端子Dは、書き込み対象のデータが入力される。入力端子K、入力端子VREF、入力端子ZQは、半導体装置1乃至3と同様である。
データ入力端子Dに入力される入力データは、外部クロック信号Kと同様に、HSTLレベルの信号であり振幅が比較的小さい。そのため、外部クロック信号Kと同様に、比較器50_2によって、当該外部クロック信号Kの電圧レベルと基準電圧VREFの電圧レベルとを比較し、その比較結果を出力することで、小さい振幅の入力データから大きな振幅(VDDQ−GND)のデータに変換することができる。当該比較結果はデータレジスタ62に入力される。データレジスタ62は比較器50_1から出力される内部クロック信号intCLKに同期して、比較器50_2の比較結果を保持する。バックライト信号XBW、ライト信号XW、リード信号XR、及びアドレス信号SAも同様に振幅の小さい信号であり、比較器50_3、50_4、50_5、50_6によって基準電圧VREFと比較された結果が、内部クロック信号intCLKに同期して、コントロールレジスタ63、64、65、及びアドレスレジスタ66に夫々取り込まれる。
データ入力端子Dに入力される入力データは、外部クロック信号Kと同様に、500MHz以上の周波数の信号となる可能性が高いので、データ入力端子Dには、終端回路としてODT回路10_2が接続される。ODT回路10_1、10_2の回路構成は、前述のODT回路10と同様であり、制御部20からのP側インピーダンスコードpcode及びN側インピーダンスコードncodeによってインピーダンスが調整される。
コアロジック回路61は、例えば、データを格納するためのメモリアレイ613と、前記メモリアレイ613に対するデータの書き込みと読み出しを制御するためのメモリ制御部と、内部クロック信号intCLKに基づいてクロック信号C_CLKを生成するPLL回路(PLL)615と、から構成される。前記メモリ制御部は、例えば、アドレスデコーダ(ADD_DEC)610、リード/ライト制御部(R/W_CNT)611、ライトデータバス(W_DATA_BUS)612、及びリードデータバス(R_DATA_BUS)614を含んで構成される。アドレスデコーダ610は、アドレスレジスタ66に保持されたアドレス情報に基づいて、Xアドレス(X_ADD)、及びYアドレス(Y_ADD)を生成してメモリアレイ613に出力する。リード/ライト制御部611は、コントロールレジスタ63〜65に保持された情報に基づいて、リード命令MR_CNT及びライト命令MW_CNTを発行する。ライトデータバス612は、リード/ライト制御部611から発行されたライト命令MW_CNTに応じて、データレジスタ62に格納されたライトデータW_DATAをメモリアレイ613に出力する。リードデータバス614は、リード/ライト制御部611から発行されたリード命令MR_CNTに応じて、メモリアレイ613から読み出されたリードデータR_DATAを出力バッファ67に出力する。出力バッファ67は、PLL回路615から出力されるクロック信号C_CLKに同期して、リードデータR_DATAをデータ出力端子DQから出力する。
図14に、入力端子K周辺の詳細なブロック図を例示する。制御部20、ODT回路10、基準電圧生成回路30、比較器50_1、及びリセット回路40の接続関係は、実施の形態1の半導体装置1と同様である。異なるのは、制御部20におけるクロック信号異常検出回路204の出力信号stopcがコアロジック回路61のリセット信号として入力される点である。すなわち、メモリアレイ613を含むコアロジック回路61は、電源監視を行うリセット回路40からのリセット信号rstのみならず、クロック信号異常検出回路204の出力信号stopcによってもリセット可能とされる。これによれば、内部クロック信号intCLKが異常になった場合に、ODT回路10のインピーダンスのみならず、コアロジック回路61もリセットすることが可能となる。すなわち、半導体装置4によれば、外部クロック信号Kを停止する(外部クロック信号Kの信号レベルをハイレベル又はローレベルに固定する)ことで、コアロジック回路61をリセットすることが可能となるから、コアロジック回路61をリセットするために電源を再投入したり、リセット専用端子を別途設けてリセット信号を入力したりする必要がない。
以上、実施の形態4によれば、実施の形態1と同様に、内部クロック信号CLKがローレベル又はハイレベルに固定されたとしても、その状態が一定期間継続した場合には、インピーダンスコードがリセットされるため、ODT回路のインピーダンスの異常状態から脱することができ、より安定したODT回路を実現することができる。また、内部クロック信号intCLKの異常検出に係る信号stopcを、コアロジック回路61のリセット信号として用いることで、電源を再投入したり、リセット専用端子を別途設けてリセット信号を入力したりすることなく、コアロジック回路61をリセットすることができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、実施の形態1において、制御信号pre_pcode,pre_ncode、P側インピーダンスコードpcode、及びN側インピーダンスコードncodeの初期値として、ODT回路10のインピーダンスがODT回路10のインピーダンスとして設定可能な範囲の中間値となるようなコード値“8’b10000000”とする場合を例示したが、これに限られない。例えば、実施の形態3のように、入力端子Kが接続されるノードKが高インピーダンス状態となるコード値“8’b00000000”でもよい。これによれば、より確実に、内部クロック信号intCLKが停止した状態から、内部クロック信号intCLKが出力される状態に移行させることができる。
また、実施の形態4における半導体装置4において、ODT回路10_1、10_2のインピーダンス調整を行う回路として制御部20を適用する場合を例示したが、これに限られない。例えば、制御部20の代わりに、制御部21、22を適用することも可能である。