(57)【要約】【課題】簡単な方法でインピーダンス値の補正用の正確なセッティング値を決定し、セッティング値を利用してインピーダンス値を正確に補正可能にするインピーダンスコード生成回路、それを備えた半導体装置、及び半導体装置のターミネーションインピーダンス値の設定方法を提供すること。【解決手段】インピーダンスコード生成回路は、キャリブレーションノードの電圧と基準電圧ＶＲＥＦとを比較して第１インピーダンスコードＰＣＯＤＥを生成する第１コード生成部３１０と、セッティング値に応じて第１インピーダンスコードを演算し、変更されたインピーダンスコードを生成するコード変更部３２０と、変更されたインピーダンスコードに基づいて、第２インピーダンスコードＮＣＯＤＥを生成する第２コード生成部３３０とを備える。【選択図】図３
2011250392.tif 000002
【特許請求の範囲】
【請求項１】
キャリブレーションノードの電圧と基準電圧とを比較して、第１インピーダンスコードを生成する第１コード生成部と、
セッティング値に応じて前記第１インピーダンスコードを演算し、変更された前記インピーダンスコードを生成するコード変更部と、
変更された前記インピーダンスコードに基づいて、第２インピーダンスコードを生成する第２コード生成部と、
を備えることを特徴とするインピーダンスコード生成回路。
【請求項２】
前記第１コード生成部が、プルアップコード生成部であり、
前記第１インピーダンスコードが、第１プルアップインピーダンスコードであり、
変更された前記インピーダンスコードが、第２プルアップインピーダンスコードであり、
前記第２コード生成部が、プルダウンコード生成部であり、
前記第２インピーダンスコードが、プルダウンインピーダンスコードである
ことを特徴とする請求項１に記載のインピーダンスコード生成回路。
【請求項３】
前記コード変更部が、
前記第１プルアップインピーダンスコードに前記セッティング値を加算又は減算して、前記第２プルアップインピーダンスコードを生成する
ことを特徴とする請求項２に記載のインピーダンスコード生成回路。
【請求項４】
前記コード変更部が、
前記セッティング値を保持する少なくとも１つのヒューズ回路と、
前記第１プルアップインピーダンスコードに、前記セッティング値を加算又は減算する減加算器回路と、
を備えることを特徴とする請求項２に記載のインピーダンスコード生成回路。
【請求項５】
少なくとも１つの前記ヒューズ回路が、
テストモード信号が非活性化すると、少なくとも１つの前記ヒューズ回路のヒューズがカッティングされているか否かに応じて前記セッティング値を決定し、
前記テストモード信号が活性化すると、外部から入力された信号に応じて前記セッティング値を決定する
ことを特徴とする請求項４に記載のインピーダンスコード生成回路。
【請求項６】
前記コード変更部が、
前記減加算器回路の加算動作又は減算動作を行うことを決定するための信号を保持するヒューズ回路を
さらに備えることを特徴とする請求項４に記載のインピーダンスコード生成回路。
【請求項７】
前記セッティング値の個数が、前記第１プルアップインピーダンスコードの個数と同じ、又はそれより多い
ことを特徴とする請求項４に記載のインピーダンスコード生成回路。
【請求項８】
前記コード変更部のヒューズ回路の個数が、前記セッティング値の個数と同じである
ことを特徴とする請求項４に記載のインピーダンスコード生成回路。
【請求項９】
前記減加算器回路が、
少なくとも１つの排他的論理和回路と、少なくとも１つの加算器とを備える
ことを特徴とする請求項４に記載のインピーダンスコード生成回路。
【請求項１０】
前記加算器の個数が、前記第１プルアップインピーダンスコードの数に対応する個数である
ことを特徴とする請求項９に記載のインピーダンスコード生成回路。
【請求項１１】
インピーダンスコードを生成するインピーダンスコード生成回路と、
セッティング値に応じて前記インピーダンスコードを演算し、変更された前記インピーダンスコードを生成するコード変更部と、
変更された前記インピーダンスコードによって決定されたインピーダンス値を用いて、インターフェースノードをターミネーションするターミネーション回路と、
を備えることを特徴とする半導体装置。
【請求項１２】
前記コード変更部が、
前記インピーダンスコードに前記セッティング値を加算又は減算して、変更された前記インピーダンスコードを生成する
ことを特徴とする請求項１１に記載の半導体装置。
【請求項１３】
前記コード変更部が、
前記セッティング値を保持する少なくとも１つのヒューズ回路と、
前記インピーダンスコードに前記セッティング値を加算又は減算する減加算器回路と、
を備えることを特徴とする請求項１１に記載の半導体装置。
【請求項１４】
少なくとも１つの前記ヒューズ回路が、
テストモード信号が非活性化すると、少なくとも１つの前記ヒューズ回路のヒューズがカッティングされているか否かに応じて前記セッティング値を決定し、
前記テストモード信号が活性化すると、外部から入力された信号に応じて前記セッティング値を決定する
ことを特徴とする請求項１３に記載の半導体装置。
【請求項１５】
前記コード変更部が、
前記減加算器回路が加算動作又は減算動作を行うことを決定するための信号を保持するヒューズ回路を
さらに備えることを特徴とする請求項１３に記載の半導体装置。
【請求項１６】
前記インピーダンスコードが、
プルアップインピーダンス値を決定するためのプルアップインピーダンスコードを含むことを特徴とする請求項１１に記載の半導体装置。
【請求項１７】
前記インピーダンスコードが、
プルダウンインピーダンス値を決定するためのプルダウンインピーダンスコードを含むことを特徴とする請求項１１に記載の半導体装置。
【請求項１８】
前記インピーダンスコードが、
プルアップインピーダンス値を決定するためのプルアップインピーダンスコードと、
プルダウンインピーダンス値を決定するためのプルダウンインピーダンスコードとを含む
ことを特徴とする請求項１１に記載の半導体装置。
【請求項１９】
前記ターミネーション回路が、
前記インターフェースノードにデータを出力する出力ドライバであることを特徴とする請求項１８に記載の半導体装置。
【請求項２０】
前記コード変更部が、
前記プルアップインピーダンスコードを変更して、変更された前記プルアップインピーダンスコードを生成し、前記プルダウンインピーダンスコードを変更して、変更された前記プルダウンインピーダンスコードを生成し、
前記出力ドライバが、
変更された前記プルアップインピーダンスコードに応答して、前記インターフェースノードをプルアップターミネーションし、
変更された前記プルダウンインピーダンスコードに応答して、前記インターフェースノードをプルダウンターミネーションする
ことを特徴とする請求項１９に記載の半導体装置。
【請求項２１】
インピーダンスコード生成回路において、インピーダンス値を設定するためのインピーダンスコードを生成する第１ステップと、
前記インピーダンスコードによって決定されたインピーダンス値を用いて、インターフェースノードをターミネーションする第２ステップと、
前記インターフェースノードの特性を測定して、インピーダンスがマッチングしているか否かを決定する第３ステップと、
前記第３ステップで測定された値に基づいて、半導体装置にセッティング値を入力する第４ステップと、
前記セッティング値に応じて前記インピーダンスコードを演算し、変更された前記インピーダンスコードを生成する第５ステップと、
変更された前記インピーダンスコードによって決定されたインピーダンス値を用いて、前記インターフェースノードをターミネーションする第６ステップと、
前記インターフェースノードの特性を測定して、前記インピーダンスがマッチングしているか否かを決定する第７ステップと、
前記第７ステップの決定に基づいて、前記セッティング値を保持するためのヒューズ回路をプログラミングする第８ステップと、
を含むことを特徴とする半導体装置のターミネーションインピーダンス値の設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置のインピーダンスのマッチングのためのインピーダンスコードを生成するインピーダンスコード生成回路、その回路を備える半導体装置、及びターミネーションインピーダンス値の設定方法に関する。
【背景技術】
【０００２】
ＣＰＵ、メモリ及びゲートアレイなどのように集積回路チップとして実用される種々の半導体装置（ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ｄｅｖｉｃｅｓ）は、パーソナルコンピュータ、サーバ又はワークステーションのような種々の電気機器内に搭載される。多くの場合に、半導体装置は、外部から伝送される各種信号を、入力パッドを介して受信するための受信回路と、内部の信号を、出力パッドを介して、外部に提供する出力回路とを有している。
【０００３】
一方、上記電気機器の動作スピードが高速化されることに伴い、半導体装置間でインターフェースされる信号のスイング（ｓｗｉｎｇ）幅は次第に減っている。その理由は信号伝達にかかる遅延時間を最小化するためである。しかし、信号のスイング幅が減るほど外部ノイズの影響は増大し、インターフェース端におけるインピーダンスミスマッチング（ｉｍｐｅｄａｎｃｅ  ｍｉｓｍａｔｃｈｉｎｇ、「不整合」ともいう）に伴う信号の反射も深刻化する。インピーダンスミスマッチングは外部ノイズや電源電圧の変動、動作温度の変化、製造工程の変化等に起因して発生する。インピーダンスミスマッチングが発生すれば、データの高速伝送が難しくなり半導体装置のデータ出力端から出力される出力データがわい曲される。したがって、受信側の半導体装置がわい曲された出力信号を入力端で受信した場合、セットアップ／ホールドフェイル（ｓｅｔｕｐ／ｈｏｌｄ  ｆａｉｌ）又は入力レベルの判断ミスなどの問題が頻繁に発生するようになる。
【０００４】
特に動作スピードの高速化が要求されるメモリ装置は、上述した問題の解決のために、オンダイターミネーションと呼ばれるインピーダンスのマッチング回路を集積回路チップ内のパッド近辺に採用している。通常、オンダイターミネーションスキームにおいて、伝送側では出力回路によるソースターミネーションが行われ、受信側では入力パッドに接続された受信回路に対して並列に接続されたターミネーション回路によって並列ターミネーションが行われる。
【０００５】
ＺＱキャリブレーション（ＺＱ  ｃａｌｉｂｒａｔｉｏｎ）とは、ＰＶＴ（Ｐｒｏｃｅｓｓ、Ｖｏｌｔａｇｅ、Ｔｅｍｐｅｒａｔｕｒｅ：プロセス、電圧、温度）条件の変化に応じて変化するインピーダンスコードを生成する過程（Procedure）をいう。ターミネーションインピーダンス値は、ＺＱキャリブレーションの結果として生成されたインピーダンスコードを利用して、調節される。一般的にキャリブレーションの基準となる外部抵抗が接続されるパッドをＺＱパッド（ＺＱ  ＰＡＤ）という。このような理由でＺＱキャリブレーションという用語が主に使用されている。
【０００６】
以下、インピーダンスコードを生成するインピーダンスコード生成回路、生成されたインピーダンスコードを利用して入力／出力ノードをターミネーションするターミネーション回路について説明する。
【０００７】
図１は、従来のインピーダンスコード生成回路の構成を示すブロック図である。
【０００８】
図１に示されているように、従来のインピーダンスコード生成回路は、プルアップレファランスインピーダンス部１１０、ダミーレファランスインピーダンス部１２０、プルダウンレファランスインピーダンス部１３０、基準電圧発生器１０２、及び比較器１０３、１０４、カウンタ１０５、１０６を備えて構成される。
【０００９】
その動作を説明すると、比較器１０３は、キャリブレーションパッド（ＺＱ  ＰＡＤ）に接続された外部抵抗１０１（以下２４０Ωであると仮定する）及びプルアップレファランスインピーダンス部１１０の電圧分配によって生成されるキャリブレーションノードＺＱの電圧と、内部の基準電圧発生器１０２で生成される基準電圧ＶＲＥＦ（一般的に１／２ＶＤＤＱに設定される）とを比較して、アップ・ダウン信号（ＵＰ／ＤＯＷＮ）を生成する。
【００１０】
カウンタ１０５はアップ・ダウン信号（ＵＰ／ＤＯＷＮ）を受け、プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞を生成する。生成されたプルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞は、プルアップレファランスインピーダンス部１１０内の並列抵抗（各々のインピーダンス値はｂｉｎａｒｙ  ｗｅｉｇｈｔにしたがって設計されること）をオン・オフして、プルアップレファランスインピーダンス部１１０の全インピーダンス値を調節する。調節されたプルアップレファランスインピーダンス部１１０の全インピーダンス値は再びＺＱノードの電圧に影響を与え、上記したような動作が反復される。結果的に、プルアップレファランスインピーダンス部１１０の全インピーダンス値が外部抵抗１０１のインピーダンス値と同じになるまでプルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞はカウントされる。この動作は、プルアップキャリブレーションという。
【００１１】
上述したプルアップキャリブレーション動作によって生成されるプルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞は、第２プルアップレファランスインピーダンス部１２０に入力され、第２プルアップレファランスインピーダンス部１２０の全インピーダンス値を決定する。続いて、プルダウンキャリブレーション動作が開始される。プルアップキャリブレーションの場合と同様に、プルダウンキャリブレーションは、比較器１０４とカウンタ１０６とを使用して、ノードＡの電圧が基準電圧ＶＲＥＦと同じになるように、すなわち、プルダウンレファランスインピーダンス部１３０の全インピーダンス値が第２プルアップレファランスインピーダンス部１２０の全インピーダンス値と同じになるように行われる。この動作は、プルダウンキャリブレーションという。
【００１２】
上述したＺＱキャリブレーション動作の結果として生成されたインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞は、ターミネーション回路（図２）に入力され、ターミネーションインピーダンス値を調節する。
【００１３】
図２は、従来のターミネーション回路の構成を示すブロック図である。
【００１４】
ターミネーション回路とは、図１のようなインピーダンスコード生成回路で生成されたインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞の伝達を受け、インターフェースパッドＩＮＴＥＲＦＡＣＥ  ＰＡＤをターミネーションする回路をいう。
【００１５】
図２において、ターミネーション回路はプルアップターミネーション部２１０とプルダウンターミネーション部２２０とを備えて構成される。ターミネーションスキーム（ｔｅｒｍｉｎａｔｉｏｎ  ｓｃｈｅｍｅ）に応じて、ターミネーション回路は、プルアップターミネーション部２１０のみを、又はプルダウンターミネーション部２２０のみを備えて構成されてもよい。
【００１６】
プルアップターミネーション部２１０は、プルアップレファランスインピーダンス部１１０と同様に設計され、同一のプルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞の入力を受ける。したがって、プルアップターミネーション部２１０のインピーダンス値は、プルアップレファランスインピーダンス部１１０と同一の値を有する。プルアップターミネーション部２１０は、プルアップレファランスインピーダンス部１１０と同一のインピーダンス値（例えば２４０Ω）を有してもよいが、スケーリング（ｓｃａｌｉｎｇ）により、例えば１２０Ω又は６０Ωなどの別のインピーダンス値を有するように調節されてもよい。プルアップターミネーション活性化信号ＰＵ＿ＥＮは、プルアップターミネーション部２１０をオン・オフさせるための信号である。すなわち、プルアップターミネーション部２１０のオン・オフは、プルアップターミネーション活性化信号ＰＵ＿ＥＮによって決定される。ターンオン時、プルアップターミネーション部２１０がどのようなインピーダンス値を有するのかは、プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞によって決定される。
【００１７】
プルダウンターミネーション部２２０は、プルダウンレファランスインピーダンス部１３０と同様に設計され、同一のプルダウンインピーダンスコードＮＣＯＤＥ＜０：Ｎ＞の入力を受ける。したがって、プルダウンターミネーション部２２０のインピーダンス値は、プルダウンレファランスインピーダンス部１３０と同一の値を有する。プルダウンターミネーション部２２０は、プルダウンレファランスインピーダンス部１３０と同一のインピーダンス値（例えば２４０Ω）を有してもよいが、スケーリングによって１２０Ω又は６０Ωなどのような別のインピーダンス値を有するように調節されてもよい。プルダウンターミネーション活性化信号ＰＤ＿ＥＮは、プルダウンターミネーション部２２０をオン・オフさせるための信号である。すなわち、プルダウンターミネーション部２２０のオン・オフは、プルダウンターミネーション活性化信号ＰＤ＿ＥＮによって決定される。ターンオン時に、プルダウンターミネーション部２２０がどのようなインピーダンス値を有するのかは、プルダウンインピーダンスコードＮＣＯＤＥ＜０：Ｎ＞によって決定される。
【００１８】
ターミネーション回路（図２）は、半導体装置等でデータを出力する出力ドライバ（ｏｕｔｐｕｔ  ｄｒｉｖｅｒ）となってもよい。プルアップターミネーション活性化信号ＰＵ＿ＥＮが活性化され、プルアップターミネーション部２１０がインターフェースパッドＩＮＴＥＲＦＡＣＥ  ＰＡＤ（この場合にはＤＱパッド）をプルアップターミネーションすると、インターフェースパッドＩＮＴＥＲＦＡＣＥ  ＰＡＤを介しては「ハイ」レベルのデータが出力される。また、プルダウンターミネーション活性化信号ＰＤ＿ＥＮが活性化され、プルダウンターミネーション部２２０がインターフェースパッドＩＮＴＥＲＦＡＣＥ  ＰＡＤをプルダウンターミネーションすると、インターフェースパッドＩＮＴＥＲＦＡＣＥ  ＰＡＤを介して、「ロー」レベルのデータが出力される。
【００１９】
インピーダンスコード生成回路（図１）のキャリブレーション動作の結果、インピーダンスコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞が生成される。生成されたインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞がターミネーション回路（図２）に入力されると、ターミネーション回路（図２）は、本来の目標とするインピーダンス値を有する半導体装置外部の回路とインピーダンスのマッチング（ｉｍｐｅｄａｎｃｅ  ｍａｔｃｈｉｎｇ）されなければならない。ところで、実際にはターミネーション回路（図２）のインピーダンス値が本来の目標とするインピーダンス値より大きかったり小さかったりする場合が多く発生する。
【００２０】
このような問題は、インピーダンスコード生成回路（図１）に不備があり、インピーダンスコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞が誤って生成されたり、又はインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞は正しく生成されたが、ターミネーション回路のターミネーション部とインピーダンスコード生成回路内のレファランスインピーダンス部との間にレイアウト上の不整合などが発生したりする種々の要因によって発生する。このような要因を完全に除去するのは不可能なため、インピーダンスコード値又はこれによるターミネーション回路のインピーダンス値を調節できる方法が必要である。
【発明の概要】
【発明が解決しようとする課題】
【００２１】
本発明は、上記した従来技術の問題を解決するために提案されたもので、簡単な方法でインピーダンス値の補正用の正確なセッティング値を決定し、セッティング値を利用して正確にインピーダンス値を補正可能にするインピーダンスコード生成回路、それを備えた半導体装置、及び半導体装置のターミネーションインピーダンス値の設定方法を提供することにその目的がある。
【課題を解決するための手段】
【００２２】
上記した目的を達成するための本発明に係るインピーダンスコード生成回路は、キャリブレーションノードの電圧と基準電圧とを比較して、第１インピーダンスコードを生成する第１コード生成部と、セッティング値に応じて前記第１インピーダンスコードを演算し、変更された前記インピーダンスコードを生成するコード変更部と、変更された前記インピーダンスコードに基づいて、第２インピーダンスコードを生成する第２コード生成部とを備えることを特徴とする。
【００２３】
また、上記した目的を達成するための本発明に係る半導体装置は、インピーダンスコードを生成するインピーダンスコード生成回路と、セッティング値に応じて前記インピーダンスコードを演算し、変更された前記インピーダンスコードを生成するコード変更部と、変更された前記インピーダンスコードによって決定されたインピーダンス値を用いて、インターフェースノードをターミネーションするターミネーション回路とを備えることを特徴とする。
【００２４】
また、上記した目的を達成するための本発明に係る半導体装置のターミネーションインピーダンス値の設定方法は、
インピーダンスコード生成回路において、インピーダンス値を設定するためのインピーダンスコードを生成する第１ステップと、
前記インピーダンスコードによって決定されたインピーダンス値を用いて、インターフェースノードをターミネーションする第２ステップと、
前記インターフェースノードの特性を測定して、インピーダンスがマッチングしているか否かを決定する第３ステップと、
前記第３ステップで測定された値に基づいて、半導体装置にセッティング値を入力する第４ステップと、
前記セッティング値に応じて前記インピーダンスコードを演算し、変更された前記インピーダンスコードを生成する第５ステップと、
変更された前記インピーダンスコードによって決定されたインピーダンス値を用いて、前記インターフェースノードをターミネーションする第６ステップと、
前記インターフェースノードの特性を測定して、前記インピーダンスがマッチングしているか否かを決定する第７ステップと、
前記第７ステップの決定に基づいて、前記セッティング値を保持するためのヒューズ回路をプログラミングする第８ステップと、
を含むことを特徴とする。
【発明の効果】
【００２５】
本発明によれば、半導体装置の外部から入力される信号又はヒューズ回路に保持された値に応じて、インピーダンスコードを加算又は減算することが可能になる。これにより、ターミネーションインピーダンス値が目標値と異なる場合に、これを容易に補正することができるという長所がある。
【図面の簡単な説明】
【００２６】
【図１】従来のインピーダンスコード生成回路の構成を示すブロック図である。
【図２】従来のターミネーション回路の構成を示すブロック図である。
【図３】本発明の一実施形態に係るインピーダンスコード生成回路の構成を示すブロック図である。
【図４】図３のコード変更部３２０の一実施形態に係る構成を示すブロック図である。
【図５】ヒューズ回路４１１の内部構成を示す図である。
【図６】減加算器回路４２０の構成を示す図である。
【図７】減加算器回路４２０を構成する加算器６１０、６２０、６３０、６４０の内部構成を示す図である。
【図８】本発明の別の実施形態に係る半導体装置の構成を示すブロック図である。
【発明を実施するための形態】
【００２７】
以下、本発明が属する技術分野で通常の知識を有する者が本発明の技術的思想を容易に実施することができるように本発明を詳細に説明するために、本発明の最も好ましい実施形態を、添付図面を参照して説明する。
【００２８】
図３は、本発明の一実施形態に係るインピーダンスコード生成回路の構成を示すブロック図である。
【００２９】
図３に示されているように、インピーダンスコード生成回路は、キャリブレーションノードＺＱの電圧と基準電圧ＶＲＥＦとを比較して、第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞を生成するプルアップコード生成部３１０と、セッティング値ＴＭＣ＜０：Ｎ＞及び第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞を演算し、第２プルアップインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞を生成するコード変更部３２０と、第２プルアップインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞を基準として、プルダウンインピーダンスコードＮＣＯＤＥ＜０：Ｎ＞を生成するプルダウンコード生成部３３０とを含む。
【００３０】
プルアップコード生成部３１０は、インピーダンスコード生成回路においてプルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞を生成する部分で、従来のプルアップコード生成部(図１)と同様な構成を有し、比較器３１１、カウンタ３１２、及び第１プルアップレファランスインピーダンス部３１３を備えて構成される。プルアップコード生成部３１０は、比較器３１１を介してキャリブレーションノードＺＱと基準電圧ＶＲＥＦとを比較し、その結果をカウンタ３１２を介してカウントして、プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞を生成する。
【００３１】
コード変更部３２０は、本発明特有の部分で、セッティング値と第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞とを演算し、第２プルアップインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞を生成する。ここで、セッティング値は外部から入力された値又はコード変更部３２０内部に保持された値を意味する。演算とは、第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞にセッティング値を加算し、又は、第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞からセッティング値を減算することを意味する。すなわち、第２プルアップインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞は、第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞＋セッティング値、又は第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞−セッティング値になる。セッティング値に応じて、プルアップインピーダンスコード値が第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞から第２プルアップインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞に変更される。セッティング値は、ターミネーション回路（図２）が有しなければならないインピーダンスの目標値と実際のターミネーションインピーダンス値との差を補正するための値である。
【００３２】
プルダウンコード生成部３３０は、インピーダンスコード生成回路においてプルダウンインピーダンスコードＮＣＯＤＥ＜０：Ｎ＞を生成する部分で、従来と同様に比較器３３１、カウンタ３３２、第２プルアップレファランスインピーダンス部３３３、プルダウンレファランスインピーダンス部３３４を備えて構成される。プルダウンコード生成部３３０は、比較器３３１によってノードＡと基準電圧ＶＲＥＦとを比較して、その結果をカウンタ３３２によってカウントして、プルダウンインピーダンスコードＮＣＯＤＥ＜０：Ｎ＞を生成する。従来の回路では、第２プルアップレファランスインピーダンス部（図１の１２０）に第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞が入力されたため、プルダウンインピーダンスコードＮＣＯＤＥ＜０：Ｎ＞は第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞に基づいて生成された。しかし、本発明では、第２プルアップレファランスインピーダンス部３３３に第２プルアップインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞が入力されるので、プルダウンインピーダンスコードＮＣＯＤＥ＜０：Ｎ＞は第２プルアップインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞に基づいて生成される。したがって、プルダウンコード生成部３３０が生成するプルダウンインピーダンスコードＮＣＯＤＥ＜０：Ｎ＞は、セッティング値が反映されたコードとなる。
【００３３】
図４は、図３のコード変更部３２０の一実施形態に係る構成を示すブロック図である。
【００３４】
図４に示されているように、コード変更部３２０は、セッティング値ＦＣ＜０：Ｎ＋１＞を保持する複数のヒューズ回路４１１〜４１４、及び第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞にセッティング値ＦＣ＜０：Ｎ＞を加算又は減算するための減加算器回路４２０を備えて構成される。
【００３５】
ヒューズ回路４１１〜４１４は、テストモード信号ＴＭ＿ＥＮが非活性化されると、ヒューズ回路４１１〜４１４の内部ヒューズのカッティングの有無(ヒューズがカットされているか否か)に応じてセッティング値ＦＣ＜０：Ｎ＋１＞を出力し、テストモード信号ＴＭ＿ＥＮが活性化すると、外部から入力された値（ＴＭＣ＜０：Ｎ＋１＞）をそのままセッティング値ＦＣ＜０：Ｎ＋１＞として出力する。
【００３６】
減加算器回路４２０は、第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞にセッティング値ＦＣ＜０：Ｎ＞を加算し、又は減算する。加算か、又は減算かは、セッティング値ＦＣ＜Ｎ＋１＞に応じて決定される。減加算器回路４２０は、セッティング値ＦＣ＜Ｎ＋１＞が「０」ならば加算器として動作し、第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞にセッティング値ＦＣ＜０：Ｎ＞を加算して第２プルアップインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞を出力し、セッティング値ＦＣ＜Ｎ＋１＞が「１」ならば減算器として動作し、第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞からセッティング値（ＦＣ＜Ｎ＞）を減算し、第２プルアップインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞を出力する。
【００３７】
このように、コード変更部３２０は、第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞にセッティング値ＦＣ＜０：Ｎ＞を加算又は減算し、第２プルアップインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞、すなわち変更されたインピーダンスコードを生成する。セッティング値ＦＣ＜０：Ｎ＞は、先に説明したように、外部から入力される値であってもよいし、ヒューズ回路（４１１〜４１４）内部に保持された値であってもよい。
【００３８】
図５は、ヒューズ回路４１１の内部構造を示す回路図である。
【００３９】
図５に示されているように、ヒューズ回路４１１はヒューズ５０１、トランジスタ５０２〜５０５、インバータ５０６、アンドゲート５０７、オアゲート５０８を備えて構成される。テストモード信号ＴＭ＿ＥＮが「ハイ」に活性化された状態では、外部から入力される信号ＴＭＣ＜０＞によって出力信号ＦＣ＜０＞の論理値が決定され（この場合ヒューズ５０１はカッティングされていないと仮定する）、テストモード信号ＴＭ＿ＥＮが「ロー」に非活性化された状態では、ヒューズ５０１がカッティングされているか否かによって、出力信号ＦＣ＜０＞の論理値が決定される。パワーアップ信号ＰＵＰＢはパワーアップ区間の間に「ロー」レベルを維持し、パワーアップ区間が過ぎると「ハイ」レベルを有する信号である。
【００４０】
図５に示されなかったヒューズ回路４１２〜４１４もヒューズ回路４１１と同様に構成可能である。
【００４１】
図６は、減加算器回路４２０の構成を示す図であり、図７は、減加算器回路４２０を構成する加算器６１０、６２０、６３０、６４０の内部構成を示す図である。
【００４２】
加算器６１０、６２０、６３０、６４０は、図７のように構成される。ＩＮ１、ＩＮ２は入力端子、ＣＩはキャリー（ｃａｒｒｙ）値が入力される端子であり、Ｓは出力端子、ＣＯはキャリー値が出力される端子である。減加算器回路４２０の動作は表１の真理値表のとおりである。
【００４３】
【表１】
2011250392.tif 000003
加算器６１０、６２０、６３０、６４０の内部構成は、本発明が属する技術分野において通常の知識を有する者にとって周知であるため、その説明は省略するものとする。
【００４４】
図６を参照すれば、減加算器回路４２０は、複数の加算器６１０、６２０、６３０、６４０及びＸＯＲゲート６１１、６２１、６３１、６４１を備えて構成される。セッティング値ＦＣ＜Ｎ＋１＞が「０」ならば、減加算器回路４２０は、第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞とセッティング値ＦＣ＜０：Ｎ＞とを加算する演算をして、第２プルアップインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞として出力する。セッティング値ＦＣ＜Ｎ＋１＞が「１」ならば加算器６１０、６２０、６３０、６４０のＩＮ１端子にはセッティング値ＦＣ＜０：Ｎ＞の補数（反転された数）が入力され、その結果第１プルアップインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞からセッティング値ＦＣ＜０：Ｎ＞を減算した値が第２プルアップインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞として出力される。
【００４５】
図８は、本発明の別の実施形態に係る半導体装置の構成を示すブロック図である。
【００４６】
図３に示した実施形態では、インピーダンスコード生成回路内にコード変更部３２０を備える場合を示したが、図８に示す実施形態ではコード変更部８２０がインピーダンスコード生成回路８１０の外部に設けられる場合を示す。
【００４７】
図８に示されているように、半導体装置は、インピーダンスコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞を生成するインピーダンスコード生成回路８１０と、セッティング値ＴＭＣＰ＜０：Ｎ＋１＞、ＴＭＣＮ＜０：Ｎ＋１＞及びインピーダンスコードを演算して変更されたインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＋１＞、ＮＮＰＣＯＤＥ＜０：Ｎ＞を生成するコード変更部８２０と、変更されたインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞、ＮＮＣＯＤＥ＜０：Ｎ＞によって定められるインピーダンス値でインターフェースノード（ＩＮＴＥＲＦＡＣＥ  ＰＡＤに接続したノードを意味する）をターミネーションするターミネーション回路８３０とを含む。
【００４８】
インピーダンスコード生成回路８１０は、インピーダンスコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞を生成する。インピーダンスコード生成回路８１０は、図１のように構成可能であり、また、インピーダンスコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞を生成するように構成されていれば良いため、種々の変更が可能である。
【００４９】
コード変更部８２０は、インピーダンスコード生成回路８１０で生成されたコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞とセッティング値とを演算し、変更されたインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞、ＮＮＣＯＤＥ＜０：Ｎ＞を生成する。セッティング値は外部から入力された信号ＴＭＣＰ＜０：Ｎ＋１＞、ＴＭＣＮ＜０：Ｎ＋１＞によっても決定可能であり、コード変更部８２０内部に保持された値によっても決定可能である。セッティング値はコードＰＣＯＤＥ＜０：Ｎ＞の変更のための値とコードＮＣＯＤＥ＜０：Ｎ＞の変更のための値とが別途に存在可能である。
【００５０】
コード変更部８２０は、図４に示されたコード変更部３２０と同一の構成を有しても良い。もちろん、図４に示されたコード変更部３２０は１つのコードＰＣＯＤＥ＜０：Ｎ＞を変更する構成を有し、図８のコード変更部は２個のコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞を変更する構成を有するため、図８のコード変更部８２０は図４のコード変更部３２０を２個合わせた構成になる。本発明が属する技術分野で通常の知識を有する者ならば、このような変更は容易にできるため、これ以上の詳しい説明は省略するものとする。
【００５１】
ターミネーション回路８３０は、変更されたインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞、ＮＮＣＯＤＥ＜０：Ｎ＞によって定められた値で、インターフェースノードＩＮＴＥＲＦＡＣＥ  ＰＡＤをターミネーションする。このようなターミネーション回路８３０は、従来のターミネーション回路（図２）と比べて、インピーダンスコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞の代わりに変更されたインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞、ＮＮＣＯＤＥ＜０：Ｎ＞の入力を受けるという点のみが異なるため、従来のターミネーション回路（図２）と同一の構成を有しても良い。
【００５２】
図８によれば、インピーダンスコード生成回路８１０で生成されたインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞がコード変更部８２０によって適切な値に補正され、その結果、変更されたインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞、ＮＮＣＯＤＥ＜０：Ｎ＞がターミネーション回路８３０に入力され、ターミネーション回路８３０のインピーダンス値を決定する。したがって、正確な値でインピーダンスをマッチングさせることが可能になる。
【００５３】
図８には２個のインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞が使用される例を示したが、半導体装置が１つのインピーダンスコード（ＰＣＯＤＥ＜０：Ｎ＞またはＮＣＯＤＥ＜０：Ｎ＞）のみ使用する場合もありえる。それは、半導体装置のターミネーションスキームに応じて、インターフェースノードＩＮＴＥＲＦＡＣＥ  ＰＡＤをプルアップ方向にのみ、又はプルダウン方向にのみターミネーションする場合もあるためである。したがって、インピーダンスコード生成回路８１０が１つのインピーダンスコード（ＰＣＯＤＥ＜０：Ｎ＞又はＮＣＯＤＥ＜０：Ｎ＞）のみ生成し、コード変更部８２０も１つのインピーダンスコード（ＰＣＯＤＥ＜０：Ｎ＞またはＮＣＯＤＥ＜０：Ｎ＞）のコード値を変更し、ターミネーション回路８３０も１つの変更されたインピーダンスコード（ＮＰＣＯＤＥ＜０：Ｎ＞またはＮＮＣＯＤＥ＜０：Ｎ＞）のみの入力を受けて、プルアップ又はプルダウンのうち、一方向にインターフェースノードＩＮＴＥＲＦＡＣＥ  ＰＡＤをターミネーションするように構成可能である。
【００５４】
以上、本発明によるインピーダンスコード生成回路及びその回路を備えた半導体装置の構成について説明した。以下、上記のような構成を利用して、効果的にターミネーションインピーダンス値を設定する方法について説明する。
【００５５】
まず、どんなセッティング値も設定されていない状態でインピーダンスコード生成回路８１０によって、インピーダンスコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞が生成され、生成されたインピーダンスコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞によってターミネーション回路８３０がインターフェースノードＩＮＴＥＲＦＡＣＥ  ＰＡＤをターミネーションする。この状態でインターフェースノードＩＮＴＥＲＦＡＣＥ  ＰＡＤの特性の測定によって、現在、インピーダンスのマッチングが正しくなされているか否かを確認し、本来目標にしたターミネーションインピーダンス値と現在のターミネーションインピーダンス値との差異を確認する。
【００５６】
測定されたインターフェースノードＩＮＴＥＲＦＡＣＥ  ＰＡＤの特性に応じて、外部から半導体装置にセッティング値ＴＭＣＰ＜０：Ｎ＋１＞、ＴＭＣＮ＜０：Ｎ＋１＞が入力される。これからターミネーション回路８３０に入力されるインピーダンスコードは、既存のコードＰＣＯＤＥ＜０：Ｎ＞、ＮＣＯＤＥ＜０：Ｎ＞でないセッティング値ＴＭＣＰ＜０：Ｎ＋１＞、ＴＭＣＮ＜０：Ｎ＋１＞に応じて、変更されたインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞、ＮＮＣＯＤＥ＜０：Ｎ＞となる。変更されたインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞、ＮＮＣＯＤＥ＜０：Ｎ＞によって定められたインピーダンス値に応じて、ターミネーション回路８３０がインターフェースノードＩＮＴＥＲＦＡＣＥ  ＰＡＤをターミネーションすると、再びインターフェースノードＩＮＴＥＲＦＡＣＥ  ＰＡＤの特性を測定する。測定の結果、インターフェースノードＩＮＴＥＲＦＡＣＥ  ＰＡＤのインピーダンスのマッチングが正しければ、半導体装置外部から入力されたセッティングＴＭＣＰ＜０：Ｎ＋１＞、ＴＭＣＮ＜０：Ｎ＋１＞値が適切な値という結論が得られる。したがって、外部から入力されたセッティング値ＴＭＣＰ＜０：Ｎ＋１＞、ＴＭＣＮ＜０：Ｎ＋１＞と同一の値をコード変更回路８２０内のヒューズ回路にプログラミングする。ヒューズ回路がプログラミングされるとセッティング値が保持され、これ以後は、外部からセッティング値ＴＭＣＰ＜０：Ｎ＋１＞、ＴＭＣＮ＜０：Ｎ＋１＞を入力しなくても、自動的にターミネーション回路８３０には変更されたインピーダンスコードＮＰＣＯＤＥ＜０：Ｎ＞、ＮＮＣＯＤＥ＜０：Ｎ＞が入力される。
【００５７】
上記した方法は、図３〜図８で説明した構成を活用する１つの例であり、図３ないし図８で説明した構成の活用が本方法にのみ限定されるものではない。
【００５８】
本発明の技術的思想は、上記好ましい実施形態により具体的に説明したが、上記した実施形態は本発明の説明のためのものであり、本発明の制限のためのものでないことに注意しなければならない。また、本発明の技術分野において通常の知識を有する者ならば、本発明の技術的思想の範囲内で様々な実施形態が可能であることが分かるであろう。
【符号の説明】
【００５９】
１１０、３１３、３３３    プルアップレファランスインピーダンス部
１２０    ダミーレファランスインピーダンス部
１３０、３３４    プルダウンレファランスインピーダンス部
１０１    外部抵抗
１０２    基準電圧発生器
１０３、１０４、３１１、３３１    比較器
１０５、１０６、３１２、３３２    カウンタ
２１０    プルアップターミネーション部
２２０    プルダウンターミネーション部
３１０    プルアップコード生成部
３２０、８２０    コード変更部
３３０    プルダウンコード生成部
４１１〜４１４    ヒューズ回路
４２０    減加算器回路
５０１    ヒューズ
５０２〜５０５    トランジスタ
５０６    インバータ
５０７    アンドゲート
５０８    オアゲート
６１０、６２０、６３０、６４０    加算器
８１０    インピーダンスコード生成回路
８２０    コード変更部
８３０    ターミネーション回路
【図１】
2011250392.tif 000004
【図２】
2011250392.tif 000005
【図３】
2011250392.tif 000006
【図４】
2011250392.tif 000007
【図５】
2011250392.tif 000008
【図６】
2011250392.tif 000009
【図７】
2011250392.tif 000010
【図８】
2011250392.tif 000011