(57)【特許請求の範囲】
【請求項１】
各々が調整可能なインピーダンスを備える複数の単位バッファを含む出力回路と、
前記複数の単位バッファのうちの１または複数個の単位バッファを選択的に活性化する制御回路と、
前記複数の単位バッファのそれぞれのインピーダンスを調整するインピーダンス調整部であって、当該インピーダンス調整部は、前記制御回路によって選択的に活性化された前記１又は複数個の単位バッファの個数が変化することに応じて前記複数の単位バッファのそれぞれのインピーダンスを調整する、前記インピーダンス調整部と、
を備えることを特徴とする半導体装置。
【請求項２】
第１の端子と、前記第１の端子に接続された外部抵抗とをさらに備え、
前記インピーダンス調整部は、
前記外部抵抗の抵抗値に応じて、前記複数の単位バッファのそれぞれのインピーダンスを調整するための第１のインピーダンス調整信号を発生するインピーダンス調整回路と、
前記第１のインピーダンス調整信号を受け取り、前記第１のインピーダンス調整信号に、前記制御回路によって選択的に活性化された前記１又は複数個の単位バッファの個数に応じた補正を実行して第２のインピーダンス調整信号を発生する補正回路とを含み、
前記補正回路は、前記第２のインピーダンス調整信号を前記複数の単位バッファに供給して前記複数の単位バッファのそれぞれの前記調整可能なインピーダンスを調整することを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記補正回路は、
予め設定された補正値を記憶する第１の補正値記憶部と、
前記制御回路によって選択的に活性化される前記１又は複数個の単位バッファの個数に応じて前記第１の補正値記憶部が記憶する補正値を選択する選択回路と、
前記選択回路が選択する前記補正値を前記第１のインピーダンス調整信号に加算して前記第２のインピーダンス調整信号を発生する加算回路と、を有することを特徴とする請求項２に記載の半導体装置。
【請求項４】
前記１又は複数個の単位バッファの個数を示すデータを記憶するモードレジスタを備え、
前記第１の補正値記憶部は、それぞれが前記補正値を記憶する第２の補正値記憶部を複数個有し、
前記モードレジスタは、前記単位バッファの個数を示すデータに基づいて、前記選択回路の選択を切り替える設定信号を出力し、
前記選択回路は、前記設定信号が入力されると前記第２の補正値記憶部のいずれか一つを選択することを特徴とする請求項３に記載の半導体装置。
【請求項５】
第２の端子を備え、
前記複数の単位バッファ各々は、前記第２の端子を第１の電源電圧レベルへ駆動するプルアップ回路と、前記第２の端子を第２の電源電圧レベルへ駆動するプルダウン回路を有し、
前記設定信号には、第１の設定信号と第２の設定信号とが含まれており、
前記制御回路は、
前記半導体装置に、内部に記憶するデータの前記第２の端子へデータを読み出し、前記第２の端子へ出力する動作を指示するリードコマンドが入力されると、前記第１の設定信号に応じて、前記１又は複数個の単位バッファにおける前記プルアップ回路または前記プルダウン回路のいずれか一方を活性化させて前記第２の端子を駆動し、
前記半導体装置に、前記出力回路を終端抵抗として機能させる指示をするオンダイターミネーション信号が入力されると、前記第２の設定信号に応じて、前記１又は複数個の単位バッファにおける前記プルアップ回路及び前記プルダウン回路の両方を活性化させて前記第２の端子を駆動することを特徴とする請求項４に記載の半導体装置。
【請求項６】
前記第１の補正値記憶部は、不揮発性記憶素子を含んで構成され、
前記半導体装置に、外部からテスト動作への移行を指示するテストコマンドが供給されると、前記不揮発性記憶素子に前記補正値が書き込まれることを特徴とする請求項３から請求項５いずれか一項に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関する。
【背景技術】
【０００２】
近年、半導体装置間（ＣＰＵとメモリとの間など）におけるデータ転送には、より高いデータ転送レートが要求されている。データ転送レートをより高くする必要から、入出力信号レベルの振幅がますます小さくなってきている。入出力信号が小さくなるに従って、正確な振幅の信号を出力する必要があるため、出力バッファのインピーダンスに対して厳しい要求精度が要求されている。
【０００３】
しかし、出力バッファのインピーダンスは、製造時のプロセス条件によりばらつくだけでなく、半導体装置の実使用時においても、周辺温度の変化や電源電圧の変動の影響を受けて変動する。このため、出力バッファに高いインピーダンス精度が要求される場合、インピーダンス調整機能を持った出力バッファが採用されている。このような出力バッファに対するインピーダンスの調整は、一般に「キャリブレーション（Calibration）回路」と呼ばれる、半導体装置内に設けられた回路を用いて行われる（特許文献１、及び特許文献２参照）。
【０００４】
キャリブレーション回路には出力バッファと同じ構成を有するレプリカバッファが含まれている。キャリブレーション動作を行う場合、半導体装置が有するキャリブレーション用の外部端子（キャリブレーション端子）に外部抵抗を接続し、キャリブレーション端子に現れる電圧と基準電圧とを比較し、比較結果に応じてレプリカバッファのインピーダンスを調整する。そして、レプリカバッファの調整内容を出力バッファに反映させることにより、出力バッファのインピーダンスを所望の値に調整する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２２８３３２号公報
【特許文献２】特開２００７−２１３７８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の半導体装置では、出力バッファを構成する複数の単位バッファのそれぞれのインピーダンスを、キャリブレーション回路内のレプリカバッファを用いて所定の設定値に調整し、データ出力時やＯＤＴ（On Die Termination；オンダイターミネーション）時に、複数の単位バッファのうちのいくつかの単位バッファを選択的に活性化させることで、出力バッファのインピーダンスを目標値に設定する。
【０００７】
しかしながら、データ出力時やＯＤＴ時に複数の単位バッファ回路を活性化させた場合、複数の単位バッファが共通に接続される電源配線による電圧降下が、活性させた単位バッファの個数に依存して変化する。そのため、活性化させた複数の単位バッファ回路各々のインピーダンスが、データ出力時やＯＤＴ時に、所定の設定値に調整したインピーダンスと異なってしまい、出力バッファのインピーダンスが目標値からずれてしまうという問題がある。
【０００８】
なお、特許文献２には、出力バッファのインピーダンスを低下させ、出力バッファのドライビング能力を向上させるためのプリエンファシス機能を備える半導体装置について開示されている。この半導体装置は、プリエンファシス機能を別途のドライバなしで行うために、出力バッファのインピーダンス値を調整するためのコードに対し、所定の期間オフセットデータによる調整コードを加算することで、出力バッファのドライビング能力を強化する。しかしながら、特許文献２に記載された半導体装置では、活性化させた複数の単位バッファ回路各々のインピーダンスが、所定の設定値に調整したインピーダンスと異なることにより、出力バッファのインピーダンスが目標値からずれてしまうという問題がある。
【課題を解決するための手段】
【０００９】
本発明は、各々が調整可能なインピーダンスを備える複数の単位バッファを含む出力回路と、前記複数の単位バッファのうちの１または複数個の単位バッファを選択的に活性化する制御回路と、前記複数の単位バッファのそれぞれのインピーダンスを調整するインピーダンス調整部であって、当該インピーダンス調整部は、前記制御回路によって選択的に活性化された前記１又は複数個の単位バッファの個数が変化することに応じて前記複数の単位バッファのそれぞれのインピーダンスを調整する、前記インピーダンス調整部と、を備えることを特徴とする半導体装置である。
【発明の効果】
【００１０】
本発明によれば、制御回路によって選択的に活性化された１又は複数個の単位バッファの個数が変化することに応じて、複数の単位バッファのそれぞれのインピーダンスを調整する。このため、活性化させる単位バッファの数の違いによる出力回路のインピーダンスの目標値からのずれを低減することができ、出力バッファ（出力回路）のインピーダンス調整の精度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の好ましい実施形態による半導体装置１０の構成を示すブロック図である。
【図２】データ入出力部１００の構成を示すブロック図である。
【図３】単位バッファ１１１の回路図である。
【図４】キャリブレーション回路１３０の構成を示すブロック図である。
【図５】プルアップ回路１３１、プルダウン回路１３３の回路図である。
【図６】前段回路１６１の回路図である。
【図７】補正回路４０の構成を示すブロック図である。
【図８】補正回路部４０ｄの回路図である。
【図９】補正回路部４０ｏの回路図である。
【図１０】補正回路４０の動作を説明するための図である。
【図１１】ＤＳ設定コード及びＯＤＴ設定コードを示すテーブルである。
【図１２】キャリブレーション動作を説明するためのフローチャートである。
【図１３】半導体装置１０の動作タイミングチャートである。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
図１は、本発明を半導体装置、例えば外部から供給されるクロック信号に同期して動作するＳＤＲＡＭ（シンクロナス・ダイナミック・ランダム・アクセス・メモリ）に適用した場合の半導体装置１０の概略構成を示す。なお、図１に示されている各回路ブロックは、全て単結晶シリコンからなる同一の半導体チップ上に形成される。各回路ブロックは、例えば、ＰＭＯＳトランジスタ（Ｐ型チャネルＭＯＳトランジスタ）及びＮＭＯＳトランジスタ（Ｎ型チャネルＭＯＳトランジスタ）等の複数のトランジスタで構成される。また、○印で示されているのは、当該半導体チップに設けられる外部端子としてのパッドである。
【００１３】
半導体装置１０は、メモリセルアレイ２０、制御回路２１、モードレジスタ２２、及びデータ入出力部１００を含んで構成される。
本発明の半導体装置１０の特徴部分となるデータ入出力部１００は、ＤＳ機能、ＯＤＴ機能を有している。ＤＳ（Driver Strengthen）機能とは、データ出力時に、出力バッファのインピーダンスを調整する機能である。半導体装置１０は、ＤＳ設定信号に応じて、出力バッファを構成する単位バッファの活性化する個数を変更することで、このＤＳ機能を有効にする。
また、ＯＤＴ（On Die Termination）機能とは、データ端子ＤＱに接続された外部バス上で他の半導体装置がデータ転送を行っている場合に、出力バッファを終端抵抗として機能させることによって信号の反射を防止する機能である。半導体装置１０は、ＯＤＴ設定信号に応じて、出力バッファを構成する単位バッファにおける活性化する個数を変更することで、このＯＤＴ機能を有効にする。
これらＤＳ機能、ＯＤＴ機能に関する詳細については後述することとし、まず以下に、半導体装置１０の概略について説明する。
【００１４】
半導体装置１０は、外部端子（半導体チップ上のパッド）として、コマンド端子１２ａ、オンダイターミネーション端子１２ｂ、アドレス端子１３、データ端子ＤＱ０〜ＤＱｎ、キャリブレーション端子ＺＱを備えている。その他、クロック端子、電源端子等の外部端子も備えるが、これらについては本発明とは関連がないため図示を省略してある。
【００１５】
コマンド端子１２ａは、例えばロウアドレスストローブ信号／ＲＡＳ、カラムアドレスストローブ信号／ＣＡＳ、ライトイネーブル信号／ＷＥ、チップセレクト信号／ＣＳ等の信号が供給される端子を総称して示した端子である。これらの端子に入力される信号の組合せによりコマンド信号ＣＭＤが構成される。このコマンド端子１２ａは、制御回路２１に接続される。なお、本明細書において信号名の先頭に「／」が付されている信号は、対応する信号の反転信号又はローアクティブな信号であることを意味する。
また、オンダイターミネーション端子１２ｂは、オンダイターミネーション信号ＯＤＴが供給される端子である。このオンダイターミネーション端子１２ｂは、制御回路２１に接続される。
アドレス端子１３は、アドレス信号ＡＤＤが供給される端子であり、制御回路２１に接続される。
データ端子ＤＱは、リードデータの出力及びライトデータの入力を行うための端子であり、データ入出力部１００に接続されている。また、データ入出力部１００はキャリブレーション端子ＺＱにも接続されている。データ入出力部１００におけるキャリブレーション動作（後述）は、このキャリブレーション端子ＺＱに外部抵抗を接続して行われる。
【００１６】
メモリセルアレイ２０は、複数のワード線と複数のビット線と、ワード線とビット線との交点に配置された複数のメモリセルを含む。
制御回路２１は、外部からコマンド端子１２ａを介して供給されるコマンド信号ＣＭＤと、外部からアドレス端子１３を介して供給されるアドレス信号ＡＤＤとに応じて、メモリセルアレイ２０の動作を制御する各種動作制御信号ＩＣＮＴを、メモリセルアレイ２０に供給する。
制御回路２１は、各種動作制御信号ＩＣＮＴを、メモリセルアレイ２０に供給することで、メモリセルアレイ２０におけるメモリセルからのデータ読み出し動作であるリード動作と、メモリセルへのデータ書き込み動作であるライト動作とを制御する。
【００１７】
また、制御回路２１は、外部からコマンド端子１２ａを介して、コマンド信号ＣＭＤとしてモードレジスタセットコマンド（ＭＲＳコマンド）が供給された場合、このＭＲＳコマンドとともにアドレス端子１３からアドレス信号ＡＤＤとして供給されるモード設定コードに応じたモードレジスタセット信号ＭＲＳをモードレジスタ２２に供給する。
また、制御回路２１は、外部からコマンド端子１２ａを介して、コマンド信号ＣＭＤとしてキャリブレーション動作の実行を示すコマンド（ＣＡＬコマンド）が供給された場合、制御信号ＡＣＴ１，２をデータ入出力部１００に供給する。
さらに、制御回路２１は、外部からオンダイターミネーション端子１２ｂを介して供給されるオンダイターミネーション信号ＯＤＴのレベルに応じて、内部オンダイターミネーション制御信号ＩＯＤＴの活性レベルと非活性レベルとを制御する。
【００１８】
モードレジスタ２２（ＭＲ）は、制御回路２１からのモードレジスタセット信号ＭＲＳに応じて設定されたＤＳ設定信号及びＯＤＴ設定信号を、データ入出力部１００に供給する。データ入出力部１００では、これらの設定信号に応じて、それぞれＤＳ設定、ＯＤＴ設定が行われる。ここで、ＤＳ設定とは、データ出力動作において選択的に活性化された単位バッファの個数に応じて単位バッファのインピーダンスを調整し、出力バッファを構成する複数の単位バッファのうちから、活性化される単位バッファを選択し、出力バッファのインピーダンスを目標インピーダンスとすることである。また、ＯＤＴ設定とは、半導体装置１０の終端抵抗としてのＯＤＴ動作において、選択的に活性化された単位バッファの個数に応じて単位バッファのインピーダンスを調整し、出力バッファを構成する複数の単位バッファのうちから、活性化される単位バッファを選択し、出力バッファのインピーダンスを目標インピーダンスとすることである。
データ入出力部１００は、リード動作時には、メモリセルアレイ２０から供給されるデータＤａｔａを、データ端子ＤＱ０〜ＤＱｎを介して外部に供給し、一方、ライト動作時には、外部からデータ端子ＤＱ０〜ＤＱｎを介して供給されるデータＤａｔａをメモリセルアレイ２０に供給する。
【００１９】
次にデータ入出力部１００について、図２を用いて説明する。
図２は、データ入出力部１００の構成を示すブロック図である。図２に示すように、データ入出力部１００は、データ端子ＤＱに接続された第１の出力バッファ１１０及び第２の出力バッファ１２０と、キャリブレーション端子ＺＱに接続されたインピーダンス調整部３０と、データ端子ＤＱに接続された入力バッファ１７０とを備えている。なお、入力バッファ１７０は、データ入力時に活性化される回路であるが、入力バッファ１７０の構成やデータ入力動作の詳細は、本発明の要旨と直接関係がないため、本明細書での説明は省略する。また、本明細書において、第１の出力バッファ１１０及び第２の出力バッファ１２０により、データ入出力部１００の出力バッファ１０１が構成されるものとする。
【００２０】
出力バッファ１０１を構成する第１の出力バッファ１１０は、並列接続された４つの単位バッファ１１１〜１１４によって構成される。また、出力バッファ１０１を構成する第２の出力バッファ１２０は並列接続された３つの単位バッファ１２１〜１２３によって構成される。単位バッファ１１１〜１１４，１２１〜１２３は、リード動作時においてデータ端子ＤＱを駆動するための回路であり、図２に示すようにデータ端子ＤＱに対して並列に接続されている。これら単位バッファ１１１〜１１４，１２１〜１２３は互いに同一の回路構成を有しており、一例として、本実施形態ではいずれも２４０Ω（調整後の値）のインピーダンスを有している。このインピーダンスは、キャリブレーション動作（後述）において、インピーダンス調整部３０により生成されるインピーダンス制御信号ＤＲＺＱ２（コード）により調整可能なインピーダンスである。
従って、例えば、全ての単位バッファ１１１〜１１４，１２１〜１２３が活性化されれば、データ端子ＤＱからみた出力バッファ１０１のインピーダンス（目標値）は、約３４．３Ω（＝２４０Ω／７）となる。また、例えば、第１の出力バッファ１１０を構成する４つの単位バッファ１１１〜１１４と、第２の出力バッファ１２０を構成する３つの単位バッファ１２１〜１２３のうち、２つの単位バッファ１２１，１２２が活性化されれば、データ端子ＤＱからみた出力バッファ１０１のインピーダンス（目標値）は４０Ω（＝２４０Ω／６）となる。
しかしながら、問題点において述べたように、これら複数の単位バッファが共通に接続される電源配線の抵抗が、活性された単位バッファの個数に依存して変化する。そのため、活性化された複数の単位バッファ回路各々のインピーダンスが、データ出力時やＯＤＴ時に、キャリブレーション動作において調整された所定の設定値（この場合２４０Ω）と異なってしまい、結果として出力バッファ１０１のインピーダンスが目標値からずれてしまう。例えば、上記例の場合、全ての単位バッファ（この場合７個）が選択的に活性化された場合は、１個の単位バッファが選択的に活性化された場合に比べて、各単位バッファが共通に接続される電源配線が電圧降下しやすくなる。キャリブレーション動作では、１個の単位バッファに相当するレプリカバッファを用いて複数の単位バッファ各々のインピーダンスを２４０Ωに設定するため、７個の単位バッファが選択的に活性化されると、単位バッファのインピーダンスは調整された２４０Ωより高くなり、出力バッファ１０１のインピーダンスも目標である約３４．３Ωより高めに設定されてしまう。このように、選択的に活性化された単位バッファの個数に応じて、データ出力時やＯＤＴ時に、所定の設定値（この場合２４０Ω）に調整したインピーダンスと異なってしまい、結果として出力バッファ１０１のインピーダンスが目標値からずれてしまう。
【００２１】
そのため、インピーダンス調整部３０は、活性される単位バッファの個数に応じて、インピーダンス制御信号ＤＲＺＱ１を補正してインピーダンス制御信号ＤＲＺＱ２を生成する。インピーダンス調整部３０は、このインピーダンス制御信号ＤＲＺＱ２に基づいて単位バッファのインピーダンスを調整し、出力バッファ１０１のインピーダンスを目標値に近づける。上記例で言えば、７個の単位バッファが選択的に活性化される場合、各単位バッファのインピーダンスを２４０Ωより高めに調整することで、出力バッファ１０１のインピーダンスを目標である約３４．３Ωに近づける。
従って、単位バッファ１１１〜１１４，１２１〜１２３のインピーダンスは、キャリブレーショ動作（後述）においては、活性させる単位バッファの個数に応じて調整される。例えば、補正がなければ、図２に示すように２４０オームのまま設定されることもあれば、補正により２４０オームより低い値、或いは高い値に設定される場合もある。もちろん、このキャリブレーション動作において単位バッファのインピーダンスがインピーダンス制御信号ＤＲＺＱ２により一度調整されても、インピーダンス制御信号ＤＲＺＱ２を生成する際の補正値は、予め設定された補正値の範囲内で更新することが可能であり（後述）、選択的に活性化された単位バッファの個数に応じて、単位バッファのインピーダンスは、再度のキャリブレーション動作なしに調整される。
【００２２】
インピーダンス調整部３０は、このインピーダンス制御信号ＤＲＺＱ１、及びインピーダンス制御信号ＤＲＺＱ２を生成する回路である。
インピーダンス調整部３０は、キャリブレーション回路１３０（インピーダンス調整回路）と、補正回路４０（補正回路）とを含んで構成される。
キャリブレーション回路１３０は、キャリブレーション端子ＺＱに接続される外部抵抗の抵抗値に応じて、複数の単位バッファ（単位バッファ１１１〜１１４，１２１〜１２３）のそれぞれのインピーダンスを調整するためのインピーダンス制御信号ＤＲＺＱ１（第１のインピーダンス制御信号）を発生する回路である。
また、補正回路４０は、キャリブレーション回路１３０からインピーダンス制御信号ＤＲＺＱ１を受け取り、このインピーダンス制御信号ＤＲＺＱ１に、活性化される単位バッファ回路の個数に応じた補正を実行してインピーダンス制御信号ＤＲＺＱ２（第２のインピーダンス調整信号）を発生する回路である。補正回路４０は、活性化される単位バッファ回路の個数として、ＤＳ設定信号、またはＯＤＴ設定信号をモードレジスタから受け取り、この設定信号を基に補正を行い、インピーダンス制御信号ＤＲＺＱ２（第２のインピーダンス調整信号）を発生する。また、補正回路４０は、インピーダンス制御信号ＤＲＺＱ２を、前段回路を介して複数の単位バッファ（単位バッファ１１１〜１１４，１２１〜１２３）に供給して複数の単位バッファのそれぞれのインピーダンスを調整する。
【００２３】
単位バッファ１１１〜１１４の動作は、前段回路１６１より供給される動作信号１６１Ｐ，１６１Ｎによって制御され、単位バッファ１２１，１２２の動作は、前段回路１６２より供給される動作信号１６２Ｐ，１６２Ｎによって制御され、単位バッファ１２３の動作は、前段回路１６３より供給される動作信号１６３Ｐ，１６３Ｎによって制御される。
前段回路１６１〜１６３は、それぞれ対応する単位バッファ１１１〜１１４，１２１〜１２３に含まれる複数の出力トランジスタ（後述）のいずれをオンさせるかを指定する回路であり、これら出力トランジスタのオン（導通）またオフ（非導通）は、動作信号１６１Ｐ〜１６３Ｐ及び動作信号１６１Ｎ〜１６３Ｎによって制御される。図２に示すように、前段回路１６１〜１６３には、キャリブレーション回路１３０からインピーダンス制御信号ＤＲＺＱ２が共通に供給されるとともに、出力制御回路１５０から選択信号１５１Ｐ〜１５３Ｐ及び選択信号１５１Ｎ〜１５３Ｎが個別に供給される。
【００２４】
出力制御回路１５０は、複数の単位バッファ１１１〜１１ｎのうち活性化させる単位バッファを指定するとともに、ＤＱ端子を駆動する際の出力レベルを指定する回路である。活性化させる単位バッファの指定は、ＤＳ設定信号、またはＯＤＴ設定信号をモードレジスタから受け取り、これらの設定信号に基づき、選択信号１５１Ｐ〜１５３Ｐ及び選択信号１５１Ｎ〜１５３Ｎを前段回路１６１〜１６３に出力することにより行う。また、活性化させる単位バッファの出力レベルは、リード動作ではメモリセルアレイ２０から供給されるデータＤａｔａに基づいて定められる。
【００２５】
以下、データ入出力部１００を構成する各回路ブロックについてより詳細に説明する。
図３は、単位バッファ１１１の回路図である。
図３に示すように、単位バッファ１１１は、並列接続された複数（本実施形態では５つ）のＰチャンネルＭＯＳトランジスタ２１１〜２１５と、並列接続された複数（本実施形態では５つ）のＮチャンネルＭＯＳトランジスタ２２１〜２２５と、これらトランジスタ２１１〜２１５とトランジスタ２２１〜２２５との間に直列に接続された抵抗２３１，２３２とを備え、抵抗２３１と抵抗２３２の接続点がデータ端子ＤＱに接続されている。単位バッファ１１１のうち、ＰチャンネルＭＯＳトランジスタ２１１〜２１５及び抵抗２３１からなる部分はプルアップ回路ＰＵを構成しており、ＮチャンネルＭＯＳトランジスタ２２１〜２２５及び抵抗２３２からなる部分はプルダウン回路ＰＤを構成している。
【００２６】
トランジスタ２１１〜２１５のゲートには、動作信号１６１Ｐを構成する５つの動作信号１６１Ｐ１〜１６１Ｐ５が供給されており、トランジスタ２２１〜２２５のゲートには、動作信号１６１Ｎを構成する５つの動作信号１６１Ｎ１〜１６１Ｎ５が供給されている。これにより、単位バッファ１１１に含まれる１０個のトランジスタは、１０本の動作信号１６１Ｐ１〜１６１Ｐ５及び動作信号１６１Ｎ１〜１６１Ｎ５によって、個別にオンまたはオフ制御を行うことができる。
【００２７】
トランジスタ２１１〜２１５からなる並列回路及びトランジスタ２２１〜２２５からなる並列回路は、いずれも導通時に１２０Ωとなるように設計されている。しかしながら、トランジスタのオン抵抗は製造条件によってばらつくとともに、動作時における環境温度や電源電圧によって変動することから、必ずしも所望のインピーダンスが得られるとは限らない。このため、キャリブレーション動作において実際にインピーダンスを１２０Ωとするためには、オンさせるべきトランジスタの数を調整する必要があり、かかる目的のために、複数のトランジスタからなる並列回路を用いている。インピーダンスを微細且つ広範囲に調整するためには、並列回路を構成する複数のトランジスタのＷ／Ｌ比（ゲート幅／ゲート長比）を互いに異ならせることが好ましく、２のべき条の重み付けをすることが特に好ましい。この点を考慮して、本実施形態では、トランジスタ２１１のＷ／Ｌ比を「１」とした場合、トランジスタ２１２〜２１５のＷ／Ｌ比をそれぞれ「２」、「４」、「８」、「１６」に設定している（Ｗ／Ｌ比の値は相対値であり、実際のＷ／Ｌ比を表しているものではない。以下同様）。
これにより、動作信号１６１Ｐ１〜１６１Ｐ５及び動作信号１６１Ｎ１〜１６１Ｎ５によってオンさせるトランジスタを適宜選択することによって、製造条件によるばらつきや温度変化などにかかわらず、並列回路のオン抵抗をキャリブレーション動作においてほぼ１２０Ωに固定させることができる。
【００２８】
また、抵抗２３１，２３２の抵抗値は、いずれも１２０Ωに設計されている。これにより、トランジスタ２１１〜２１５からなる並列回路及びトランジスタ２２１〜２２５からなる並列回路の少なくとも一方がオン状態となれば、データ端子ＤＱからみた単位バッファ１１１のインピーダンスは２４０Ωとなる。抵抗２３１，２３２としては、例えばタングステン（Ｗ）抵抗を用いることができる。
【００２９】
第１の出力バッファ１１０を構成する他の単位バッファ１１２〜１１４も、図３に示す単位バッファ１１１と同じ回路構成を有し、かつ、同じ動作信号１６１Ｐ１〜１６１Ｐ５及び動作信号１６１Ｎ１〜１６１Ｎ５によって制御される。一方、第２の出力バッファ１２０を構成する他の単位バッファ１２１〜１２３は、図３に示す単位バッファ１１１と同じ回路構成を有しているものの、単位バッファ１２１，１２２の動作は動作信号１６２Ｐ，１６２Ｎによって制御され、単位バッファ１２３の動作は動作信号１６３Ｐ，１６３Ｎによって制御される。動作信号１６２Ｐ，１６２，１６３Ｐ，１６３Ｎについても、それぞれ５つの動作信号によって構成されており、それぞれ対応するプルアップ回路ＰＵ又はプルダウン回路ＰＤを制御する。
【００３０】
図４は、キャリブレーション回路１３０の回路図である。キャリブレーション回路１３０は、プルアップ回路１３１，１３２と、プルダウン回路１３３と、プルアップ回路１３１，１３２の動作を制御するカウンタ１３４と、プルダウン回路１３３の動作を制御するカウンタ１３５と、カウンタ１３４を制御するコンパレータ１３６と、カウンタ１３５を制御するコンパレータ１３７とを備えている。
【００３１】
図５は、図４に示すプルアップ回路１３１及びプルダウン回路１３３の回路図である。図５（ａ）に示すように、プルアップ回路１３１は、単位バッファ１１１〜１１４，１２１〜１２３に含まれるプルアップ回路ＰＵと実質的に同じ回路構成を有している。つまり、プルアップ回路１３１は、並列接続された５つのＰチャンネルＭＯＳトランジスタ３１１〜３１５と、一端がこれらトランジスタのドレインに接続された抵抗３３１とを備え、抵抗３３１の他端がキャリブレーション端子ＺＱに接続されている。
プルアップ回路１３１に含まれるトランジスタ３１１〜３１５は、図３に示すトランジスタ２１１〜２１５に対応しており、それぞれ同一のインピーダンスを有している。したがって、トランジスタ２１１〜２１５のＷ／Ｌ比と同様、トランジスタ３１１〜３１５のＷ／Ｌ比もそれぞれ「１」、「２」、「４」、「８」、「１６」に設定されている。
ただし、インピーダンスが実質的に同じである限り、プルアップ回路１３１に含まれるトランジスタ３１１〜３１５と、図３に示すトランジスタ２１１〜２１５とが全く同じトランジスタサイズである必要はなく、シュリンクしたトランジスタを用いても構わない。
抵抗３３１も、図３に示す抵抗２３１に対応しており、したがって、その抵抗値は１２
０Ωに設定されている。
【００３２】
トランジスタ３１１〜３１５のゲートには、カウンタ１３４よりインピーダンス制御信号ＤＲＺＱＰ１１〜ＤＲＺＱＰ１５がそれぞれ供給されており、これによってプルアップ回路１３１の動作が制御される。インピーダンス制御信号ＤＲＺＱＰ１１〜ＤＲＺＱＰ１５は、動作信号１６１Ｐ１〜１６１Ｐ５に対応する信号である。
プルアップ回路１３２も、図５（ａ）に示すプルアップ回路１３１と同一の回路構成を有しており、プルアップ回路１３２に含まれる５つのトランジスタのゲートには、同じくインピーダンス制御信号ＤＲＺＱＰ１〜ＤＲＺＱＰ５が供給される。
【００３３】
図５（ｂ）は、プルダウン回路１３３の回路図である。図５（ｂ）に示すように、プルダウン回路１３３は、単位バッファ１１１〜１１４，１２１〜１２３に含まれるプルダウン回路ＰＤと実質的に同じ回路構成を有している。つまり、プルダウン回路１３３は、並列接続された５つのＮチャンネルＭＯＳトランジスタ３２１〜３２５と、一端がこれらトランジスタのドレインに接続された抵抗３３２とを備えている。プルダウン回路１３３に含まれるトランジスタ３２１〜３２５は、図３に示すトランジスタ２２１〜２２５に対応しており、それぞれ同一のインピーダンスを有している。この点は、プルアップ回路１３１と同様である。抵抗３３２も、図３に示す抵抗２３２に対応しており、したがって、その抵抗値は１２０Ωに設定されている。
トランジスタ３２１〜３２５のゲートには、カウンタ１３５よりインピーダンス制御信号ＤＲＺＱＮ１１〜ＤＲＺＱＮ１５がそれぞれ供給されており、これによってプルダウン回路１３３の動作が制御される。インピーダンス制御信号ＤＲＺＱＮ１〜ＤＲＺＱＮ５は、動作信号１６１Ｎ１〜１６１Ｎ５に対応する信号である。
【００３４】
このように、プルアップ回路１３１，１３２は、いずれも単位バッファ１１１〜１１４，１２１〜１２３に含まれるプルアップ回路ＰＵと実質的に同じ回路構成を有しており、プルダウン回路１３３は、単位バッファ１１１〜１１４，１２１〜１２３に含まれるプルダウン回路ＰＤと実質的に同じ回路構成を有している。したがって、プルアップ回路１３１，１３２及びプルダウン回路１３３のインピーダンスは、いずれも２４０Ω（キャリブレーション動作における調整後の値）である。このうち、プルアップ回路１３２とプルダウン回路１３３は、「レプリカバッファ」を構成しており、したがって、レプリカバッファは単位バッファ１１１〜１１４，１２１〜１２３と実質的に同じ回路構成を有していることになる。ここでいう「実質的に同じ」とは、レプリカバッファに含まれるトランジスタがシュリンクされている場合であっても同じとみなす意である。
【００３５】
図４に戻って、レプリカバッファの出力端である接点Ａは、コンパレータ１３７の非反転入力端子（＋）に接続されている。
カウンタ１３４は、制御信号ＡＣＴ１が活性化するとカウントアップ又カウントダウンするカウンタであり、コンパレータ１３６の出力である比較信号ＣＯＭＰ１がハイレベルである場合にはカウントアップを続け、比較信号ＣＯＭＰ１がローレベルである場合にはカウントダウンを続ける。コンパレータ１３６の非反転入力端子（＋）はキャリブレーション端子ＺＱに接続されており、反転入力端子（−）は電源電位（ＶＤＤ）とグランド電位（ＧＮＤ）間に直列接続された抵抗１３８及び抵抗１３９の中点に接続されている。かかる構成により、コンパレータ１３６は、キャリブレーション端子ＺＱの電位と中間電位（ＶＤＤ／２）とを比較し、前者の方の電位が高ければその出力である比較信号ＣＯＭＰ１をハイレベルとし、後者の方の電位が高ければ比較信号ＣＯＭＰ１をローレベルとする。
【００３６】
一方、カウンタ１３５は、制御信号ＡＣＴ２が活性化するとカウントアップ又カウントダウンするカウンタであり、コンパレータ１３７の出力である比較信号ＣＯＭＰ２がハイレベルである場合にはカウントアップを続け、比較信号ＣＯＭＰ２がローレベルである場合にはカウントダウンを続ける。コンパレータ１３７の非反転入力端子（＋）はレプリカバッファの出力端である接点Ａに接続され、反転入力端子（−）は抵抗１３８，１３９の中点に接続されている。かかる構成により、コンパレータ１３７は、レプリカバッファの出力電位と中間電圧（ＶＤＤ／２）とを比較し、前者の方の電位が高ければその出力である比較信号ＣＯＭＰ２をハイレベルとし、後者の方の電位が高ければ比較信号ＣＯＭＰ２をローレベルとする。
【００３７】
そして、カウンタ１３４，１３５は、制御信号ＡＣＴ１，ＡＣＴ２が非活性化するとカウント動作を停止し、現在のカウント値を保持する。上述のとおり、カウンタ１３４のカウント値はインピーダンス制御信号ＤＲＺＱＰ１として用いられ、カウンタ１３５のカウント値はインピーダンス制御信号ＤＲＺＱＮ１として用いられる。そして、これらの総称であるインピーダンス制御信号ＤＲＺＱ１は、キャリブレーション動作において、補正回路４０により補正され、インピーダンス制御信号ＤＲＺＱ２（インピーダンス制御信号ＤＲＺＱＰ２とインピーダンス制御信号ＤＲＺＱＮ２の総称）として、図２に示す前段回路１６１〜１６３に共通に供給される。
【００３８】
図６は、前段回路１６１の回路図である。前段回路１６１は、論理和回路であるＯＲ回路４１１〜４１５と、論理積回路であるＡＮＤ回路４２１〜４２５によって構成されている。ＯＲ回路４１１〜４１５には、出力制御回路１５０からの選択信号１５１Ｐが共通に供給されているとともに、補正回路４０からのインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がそれぞれ供給されている。一方、ＡＮＤ回路４２１〜４２５には、出力制御回路１５０からの選択信号１５１Ｎが共通に供給されているとともに、補正回路４０からのインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がそれぞれ供給されている。
【００３９】
ＯＲ回路４１１〜４１５の出力である動作信号１６１Ｐ１〜１６１Ｐ５（動作信号１６１Ｐを構成する）、並びに、ＡＮＤ回路４２１〜４２５の出力である動作信号１６１Ｎ１〜１６１Ｎ５（動作信号１６１Ｎを構成する）は、図２に示すように、単位バッファ１１１〜１１４に共通に供給され、それぞれ対応するトランジスタを制御する。
他の前段回路１６２，１６３も、図６に示す前段回路１６１と同様の回路構成を有している。前段回路１６２に含まれるＯＲ回路４１１〜４１５及びＡＮＤ回路４２１〜４２５は、出力制御回路１５０からの選択信号１５２Ｐ，１５２Ｎがそれぞれ共通に供給され、動作信号１６２Ｐ１〜１６２Ｐ５（動作信号１６２Ｐを構成する）、並びに、動作信号１６２Ｎ１〜１６２Ｎ５（動作信号１６２Ｎを構成する）を単位バッファ１２１〜１２２に共通に供給する。また、前段回路１６３に含まれるＯＲ回路４１１〜４１５及びＡＮＤ回路４２１〜４２５は、出力制御回路１５０からの選択信号１５３Ｐ，１５３Ｎがそれぞれ共通に供給され、動作信号１６３Ｐ１〜１６３Ｐ５（動作信号１６３Ｐを構成する）、並びに、動作信号１６３Ｎ１〜１６３Ｎ５（動作信号１６３Ｎを構成する）を単位バッファ１２３に供給する。
【００４０】
前段回路１６１〜１６３と出力制御回路１５０の間の制御動作を、より具体的に説明する。
まず、出力制御回路１５０は、制御回路２１にコマンド端子１２ａを介して、コマンド信号ＣＭＤとしてメモリセルアレイ２０からのデータＤａｔａをデータ端子ＤＱから外部へ出力する指示を示すコマンド（ＲＥＡＤコマンド）が供給されると、制御回路２１からデータアウトイネーブル信号ＯＥが供給される。
このデータアウトイネーブル信号ＯＥが供給されると、出力制御回路１５０は、データＤａｔａが「１」（Ｈレベル）、かつ、内部オンダイターミネーション制御信号ＩＯＤＴがＬレベル（非活性レベル）の場合、前段回路１６１〜１６３を制御して出力バッファ１０１に接続されたデータ端子ＤＱをＨレベルに駆動する。また、出力制御回路１５０は、データＤａｔａが「０」（Ｌレベル）、かつ、内部オンダイターミネーション制御信号ＩＯＤＴがＬレベルの場合、前段回路１６１〜１６３を制御して出力バッファ１０１に接続されたデータ端子ＤＱをＬレベルに駆動する。
また、データ端子ＤＱをＨレベルまたはＬレベルに駆動する際、出力制御回路１５０は、モードレジスタ２２から供給されるＤＳ設定信号に応じて、前段回路１６１〜１６３に出力する選択信号１５１Ｐ〜１５３Ｐ、選択信号１５１Ｎ〜１５３ＮをＨレベルまたはＬレベルに変化させる。
【００４１】
具体的には、出力制御回路１５０は、ＤＳ設定信号がモードレジスタ２２から入力されると、ＤＳ設定コード「００」であって、データＤａｔａが「１」、かつ、内部オンダイターミネーション制御信号ＩＯＤＴがＬレベルの場合、選択信号１５１Ｐ、１５２ＰをＬレベル、選択信号１５３ＰをＨレベル、選択信号１５１Ｎ〜１５３Ｎを全てＬレベルとする。これにより、前段回路１６１〜１６２に含まれるＯＲ回路のうち、入力信号として対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＬレベルとなっているものはＬレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＨレベルとなっているものはＨレベルの動作信号を出力することになる。また、前段回路１６３に含まれるＯＲ回路は、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５のレベルにかかわらず、全てＨレベルの動作信号を出力する。また、前段回路１６１〜１６３に含まれるＡＮＤ回路は、インピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５のレベルにかかわらず、全てＬレベルの動作信号を出力する。
【００４２】
また、出力制御回路１５０は、ＤＳ設定信号がモードレジスタ２２から入力されると、ＤＳ設定コード「０１」であって、データＤａｔａが「１」、かつ、内部オンダイターミネーション制御信号ＩＯＤＴがＬレベルの場合、選択信号１５１Ｐ〜１５３Ｐを全てＬレベル、１５１Ｎ〜１５３Ｎを全てＬレベルとする。これにより、前段回路１６１〜１６３に含まれるＯＲ回路のうち、入力信号として対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＬレベルとなっているものはＬレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＨレベルとなっているものはＨレベルの動作信号を出力することになる。また、前段回路１６１〜１６３に含まれるＡＮＤ回路は、インピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５のレベルにかかわらず、全てＬレベルの動作信号を出力する。
【００４３】
また、出力制御回路１５０は、ＤＳ設定信号がモードレジスタ２２から入力されると、ＤＳ設定コード「００」であって、データＤａｔａが「０」、かつ、内部オンダイターミネーション制御信号ＩＯＤＴがＬレベルの場合、選択信号１５１Ｐ〜１５３Ｐを全てＨレベル、選択信号１５１Ｎ〜１５２ＮをＨレベル、選択信号１５３ＮをＬレベルとする。これにより、前段回路１６１〜１６３に含まれるＯＲ回路は、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５のレベルにかかわらず、全てＨレベルの動作信号を出力する。また、前段回路１６１〜１６２に含まれるＡＮＤ回路は、入力信号として対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＨレベルとなっているものはＨレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＬレベルとなっているものはＬレベルの動作信号を出力することになる。前段回路１６３に含まれるＯＲ回路は、インピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５のレベルにかかわらず、全てＬレベルの動作信号を出力する。
【００４４】
また、出力制御回路１５０は、ＤＳ設定信号がモードレジスタ２２から入力されると、ＤＳ設定コード「０１」であって、データＤａｔａが「０」、かつ、内部オンダイターミネーション制御信号ＩＯＤＴがＬレベルの場合、選択信号１５１Ｐ〜１５３Ｐを全てＨレベル、選択信号１５１Ｎ〜１５３Ｎを全てＨレベルとする。これにより、前段回路１６１〜１６３に含まれるＯＲ回路は、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５のレベルにかかわらず、全てＨレベルの動作信号を出力する。また、前段回路１６１〜１６３に含まれるＡＮＤ回路は、入力信号として対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＨレベルとなっているものはＨレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＬレベルとなっているものはＬレベルの動作信号を出力することになる。
【００４５】
また、出力制御回路１５０は、制御回路２１にオンダイターミネーション端子１２ｂを介して、出力バッファ１０１（出力回路）を終端抵抗として機能させる指示をするオンダイターミネーション信号ＯＤＴが供給されると、制御回路２１から、活性レベル（Ｈレベル）の内部オンダイターミネーション制御信号ＩＯＤＴ信号が供給される。
このＨレベルの内部オンダイターミネーション制御信号ＩＯＤＴ信号が供給されると、出力制御回路１５０は、データＤａｔａのレベルに関らず、前段回路１６１〜１６３を制御して出力バッファ１０１に接続されたデータ端子ＤＱを、（電源電位ＶＤＤと接地電位ＧＮＤ）の中間電位（ＶＤＤ／２電位）に駆動する。
また、データ端子ＤＱを中間電位に駆動する際、出力制御回路１５０は、モードレジスタ２２から供給されるＯＤＴ設定信号に応じて、前段回路１６１〜１６３に出力する選択信号１５１Ｐ〜１５３Ｐ、選択信号１５１Ｎ〜１５３ＮをＨレベルまたはＬレベルに変化させる。
【００４６】
具体的には、出力制御回路１５０は、ＯＤＴ設定信号がモードレジスタ２２から入力されると、ＯＤＴ設定コードが「０１０」であって、内部オンダイターミネーション制御信号ＩＯＤＴがＨレベルの場合、選択信号１５２ＰをＬレベル、選択信号１５１Ｐ、１５３ＰをＨレベル、選択信号１５２ＮをＨレベル、選択信号１５１Ｎ、１５３ＮをＬレベルとする。
これにより、前段回路１６２に含まれるＯＲ回路のうち、入力信号として対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＬレベルとなっているものはＬレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＨレベルとなっているものはＨレベルの動作信号を出力することになる。
また、前段回路１６１、１６３に含まれるＯＲ回路は、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５のレベルにかかわらず、Ｈレベルの動作信号を出力する。
また、前段回路１６２に含まれるＡＮＤ回路のうち、入力信号として対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＨレベルとなっているものはＨレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＬレベルとなっているものはＬレベルの動作信号を出力することになる。
また、前段回路１６１、１６３に含まれるＡＮＤ回路は、インピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５のレベルにかかわらず、Ｌレベルの動作信号を出力する。
【００４７】
また、出力制御回路１５０は、ＯＤＴ設定信号がモードレジスタ２２から入力されると、ＯＤＴ設定コードが「００１」であって、内部オンダイターミネーション制御信号ＩＯＤＴがＨレベルの場合、選択信号１５１ＰをＬレベル、選択信号１５２Ｐ〜１５３ＰをＨレベル、選択信号１５１ＮをＨレベル、選択信号１５２Ｎ〜１５３ＮをＬレベルとする。
これにより、前段回路１６１に含まれるＯＲ回路のうち、入力信号として対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＬレベルとなっているものはＬレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＨレベルとなっているものはＨレベルの動作信号を出力することになる。
また、前段回路１６２、１６３に含まれるＯＲ回路は、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５のレベルにかかわらず、Ｈレベルの動作信号を出力する。
また、前段回路１６１に含まれるＡＮＤ回路のうち、入力信号として対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＨレベルとなっているものはＨレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＬレベルとなっているものはＬレベルの動作信号を出力することになる。
また、前段回路１６２、１６３に含まれるＡＮＤ回路は、インピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５のレベルにかかわらず、Ｌレベルの動作信号を出力する。
【００４８】
また、出力制御回路１５０は、ＯＤＴ設定信号がモードレジスタ２２から入力されると、ＯＤＴ設定コードが「０１１」であって、内部オンダイターミネーション制御信号ＩＯＤＴがＨレベルの場合、選択信号１５１Ｐ〜１５２ＰをＬレベル、選択信号１５３ＰをＨレベル、選択信号１５１Ｎ〜１５２ＮをＨレベル、選択信号１５３ＮをＬレベルとする。
これにより、前段回路１６１〜１６２に含まれるＯＲ回路のうち、入力信号として対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＬレベルとなっているものはＬレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＨレベルとなっているものはＨレベルの動作信号を出力することになる。
また、前段回路１６３に含まれるＯＲ回路は、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５のレベルにかかわらず、Ｈレベルの動作信号を出力する。
また、前段回路１６１〜１６２に含まれるＡＮＤ回路のうち、入力信号として対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＨレベルとなっているものはＨレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＬレベルとなっているものはＬレベルの動作信号を出力することになる。
また、前段回路１６３に含まれるＡＮＤ回路は、インピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５のレベルにかかわらず、Ｌレベルの動作信号を出力する。
【００４９】
続いて、インピーダンス調整部３０における補正回路４０ついて、図７〜図１１を用いて説明する。図７は、補正回路４０の構成を示すブロック図であり、図８は補正回路部４０ｄの回路図、図９は補正回路部４０ｏの回路図、図１０は補正回路部４０ｄの主要信号の真理値表、図１１は、ＤＳ設定信号及びＯＤＴ設定信号を示すテーブルである。
補正回路４０は、図７に示すように、補正回路部４０ｄ、補正回路部４０ｏ、及びマルチプレクサ４０ｓを含んで構成される。なお、インピーダンス制御信号ＤＲＺＱ１は、インピーダンス制御信号ＤＲＺＱＰ１（５ビット）とインピーダンス制御信号ＤＲＺＱＮ１（５ビット）を総称しているので、この補正回路４０は、インピーダンス制御信号ＤＲＺＱＰ１補正用に１台、インピーダンス制御信号ＤＲＺＱＮ１補正用に１台、それぞれ設けられる。以下の説明では、インピーダンス制御信号ＤＲＺＱＮ１補正用に設けられた補正回路４０について、インピーダンス制御信号ＤＲＺＱＮ１（インピーダンス制御信号ＤＲＺＱＮ１１〜ＤＲＺＱＮ１５）をインピーダンス制御信号ＤＲＺＱ１として説明するが、補正動作は同時に、インピーダンス制御信号ＤＲＺＱＰ１補正用に設けられた補正回路４０においても行われる。
補正回路部４０ｄは、あらかじめ確認した補正値をＤＳ設定信号に応じて選択するマルチプレクサ５０ｍと、選択結果である補正値ｄをインピーダンス制御信号ＤＲＺＱ１（キャリブレーション動作においてレプリカバッファのインピーダンスを２４０Ωに調整することにより確定したコード）に対して加減算し、インピーダンス制御信号ＤＲＺＱ２ｄを発生する加減算器５０ａを含んで構成される。
補正回路部４０ｏは、あらかじめ確認した補正値をＯＤＴ設定信号に応じて選択するマルチプレクサ６０ｍと、選択結果である補正値ｏをインピーダンス制御信号ＤＲＺＱ１に対して加減算し、インピーダンス制御信号ＤＲＺＱ２ｏを発生する加減算器６０ａを含んで構成される。
マルチプレクサ４０ｓは、内部オンダイターミネーション制御信号ＩＯＤＴ信号のレベルにより、インピーダンス制御信号ＤＲＺＱ２ｄまたはインピーダンス制御信号ＤＲＺＱ２ｏのいずれかを選択し、インピーダンス制御信号ＤＲＺＱ２（補正したＺＱコード）を、前段回路１６１〜１６３に対して出力する。
【００５０】
まず、補正回路部４０ｄについて、図８を用いて説明する。
補正回路部４０ｄにおけるマルチプレクサ５０ｍ（選択回路）は、図８に示すように、補正値−１設定部５０ｍ１（第２の補正値記憶部）、補正値０設定部５０ｍ２（第２の補正値記憶部）、及びマルチプレクサ５６１〜５６５を含んで構成される。補正値−１設定部５０ｍ１、補正値０設定部５０ｍ２により、マルチプレクサ５０ｍが有する第１の補正値記憶部を構成する。
補正−１設定部５０ｍ１、補正値０設定部５０ｍ２は、それぞれ、例えばヒューズ、アンチヒューズ等の５つ不揮発性素子で構成され、不揮発性素子はそれぞれデータ０（Ｌレベル）またはデータ１（Ｈレベル）を記憶する。図８に示す例では、補正値−１設定部５０ｍ１は、マルチプレクサ５６１側の素子を最下位、マルチプレクサ５６５側の素子を最上位として、２進数でデータ「１１１１１」を記憶している。なお、「１１１１１」は、５ビットの最上位側ビットから最下位側ビットを左側から順番に並べて示しており、本実施形態においては、２進数を以下、例えば「５’ｂ１１１１１」のように表すものとする。また、この「５’ｂ１１１１１」を１６進数で表す場合、「１Ｆｈ」のように１６進数とｈを用いて表すものとする。これらの２進数、１６進数での表し方を用いると、補正値０設定部５０ｍ２は、「５’ｂ０００００」（＝「００ｈ」）を記憶している。
【００５１】
マルチプレクサ５６１〜５６５は、モードレジスタ２２（ＭＲ）から入力されるＤＳ設定信号に応じて、補正値−１設定部５０ｍ１または補正値０設定部５０ｍ２が記憶する５ビットのデータを選択し、選択したデータを補正値ｄ１〜補正値ｄ５として後段の加減算器５０ａに出力する。
このＤＳ設定信号は、次のように、モードレジスタ２２から供給される。
半導体装置１０にコマンド信号ＣＭＤとしてＭＲＳコマンドが供給されたときに、ＭＲＳコマンドとともにアドレス端子１３にアドレス信号ＡＤＤとして供給されるモード設定コード（例えばアドレスＡ５，Ａ１の２ビットに対応したコード「Ａ５、Ａ１」からなるＤＳ設定コード）に応じて、制御回路２１が、モードレジスタセット信号ＭＲＳをモードレジスタ２２（ＭＲ）に出力する。モードレジスタ２２は、例えば内部に上記アドレスに対応するレジスタ（レジスタＲ５１とする）を有し、このＤＳ設定コード「Ａ５、Ａ１」をレジスタＲ５１に記憶する。
例えば、図１１（ａ）に示すように、データ入出力部１００の出力バッファ１０１の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗ＲＺＱの１／６に設定する（以下、ＤＳ設定するという）場合、レジスタＲ５１はＤＳ設定コード「００」を記憶する。
また、図１１（ｂ）に示すように、データ入出力部１００の出力バッファ１０１の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗ＲＺＱの１／７にＤＳ設定する場合、レジスタＲ５１はＤＳ設定コード「０１」を記憶する。このように、レジスタＲ５１が記憶するＤＳ設定コードは、半導体装置１０にコマンド信号ＣＭＤとしてＭＲＳコマンドが供給されるたびに更新することが可能である。そして、モードレジスタ２２は、上記レジスタＲ５１に記憶されたＤＳ設定コードに応じて、ＤＳ設定信号をマルチプレクサ５６１〜５６５に出力する。
【００５２】
マルチプレクサ５６１〜５６５は、ＤＳ設定コード「００」の場合、ＤＳ設定信号がモードレジスタ２２から入力されると、補正値０設定部５０ｍ２が記憶する５ビットのデータ（「５’ｂ０００００」＝「００ｈ」）を選択し、選択したデータを補正値ｄ１〜補正値ｄ５として後段の加減算器５０ａに出力する。
また、マルチプレクサ５６１〜５６５は、ＤＳ設定コード「０１」の場合、ＤＳ設定信号がモードレジスタ２２から入力されると、補正値−１設定部５０ｍ１が記憶する５ビットのデータ（「５’ｂ１１１１１」＝「１Ｆｈ」）を選択し、選択したデータを補正値ｄ１〜補正値ｄ５として後段の加減算器５０ａに出力する。
なお、補正値−１設定部５０ｍ１または補正値０設定部５０ｍ２が記憶する補正値は、予め半導体装置１０の回路設計時に行う回路シミュレーション（半導体装置１０が正常に動作しているか否かを計算機上で検証する工程）において、出力バッファ１０１の目標インピーダンスに応じて設定される。さらに、この補正値は、半導体装置１０が製造された後、例えば評価サンプルとして組立てた製品を用いて、出力バッファ１０１のインピーダンスを測定し、目標インピーダンスに設定されているか否かが評価される。そして、目標インピーダンスとずれている場合、上述の通り、補正値−１設定部５０ｍ１または補正値０設定部５０ｍ２は不揮発性記憶素子で構成されているので、最適となる変更後の補正値が、未だウエハー工程にある半導体装置１０にフィードバックされ、不揮発性素子に書き込まれ、固定値として設定される。
【００５３】
加減算器５０ａは、図８に示すように、排他的論理和回路であるＥＸＯＲ回路５０１〜ＥＸＯＲ回路５０５、ＥＸＯＲ回路５２２〜ＥＸＯＲ回路５２５、論理積回路であるＡＮＤ回路５１１〜ＡＮＤ回路５１５、ＡＮＤ回路５３２〜ＡＮＤ回路５３５、及び論理和回路であるＯＲ回路５４２〜ＯＲ回路５４５を含んで構成される。加減算器５０ａは、インピーダンス制御信号ＤＲＺＱ１に補正値ｄを加減算してインピーダンス制御信号ＤＲＺＱ１ｄを生成する。
【００５４】
ＥＸＯＲ回路５０１は、インピーダンス制御信号ＤＲＺＱ１１と補正値ｄ１との排他的論理和を演算し、インピーダンス制御信号ＤＲＺＱ１ｄ１を出力する。
また、ＡＮＤ回路５１１は、インピーダンス制御信号ＤＲＺＱ１１と補正値ｄ１との論理積を演算し、当該演算結果を出力信号として出力する。
【００５５】
ＥＸＯＲ回路５０２は、インピーダンス制御信号ＤＲＺＱ１２と補正値ｄ２との排他的論理和を演算し、当該演算結果を出力信号として出力する。
また、ＡＮＤ回路５１２は、インピーダンス制御信号ＤＲＺＱ１２と補正値ｄ２との論理積を演算し、当該演算結果を出力信号として出力する。
ＥＸＯＲ回路５２２は、ＥＸＯＲ回路５０２の出力信号とＡＮＤ回路５１１の出力信号との排他的論理和を演算し、インピーダンス制御信号ＤＲＺＱ１ｄ２を出力する。
また、ＡＮＤ回路５３２は、ＥＸＯＲ回路５０２の出力信号とＡＮＤ回路５１１の出力信号との論理積を演算し、当該演算結果を出力信号として出力する。
また、ＯＲ回路５４２は、ＡＮＤ回路５３２の出力信号とＡＮＤ回路５１２の出力信号との論理和を演算し、当該演算結果を出力信号として出力する。
【００５６】
ＥＸＯＲ回路５０３は、インピーダンス制御信号ＤＲＺＱ１３と補正値ｄ３との排他的論理和を演算し、当該演算結果を出力信号として出力する。
また、ＡＮＤ回路５１３は、インピーダンス制御信号ＤＲＺＱ１３と補正値ｄ３との論理積を演算し、当該演算結果を出力信号として出力する。
ＥＸＯＲ回路５２３は、ＥＸＯＲ回路５０３の出力信号とＯＲ回路５４２の出力信号との排他的論理和を演算し、インピーダンス制御信号ＤＲＺＱ１ｄ３を出力する。
また、ＡＮＤ回路５３３は、ＥＸＯＲ回路５０３の出力信号とＯＲ回路５４２の出力信号との論理積を演算し、当該演算結果を出力信号として出力する。
また、ＯＲ回路５４３は、ＡＮＤ回路５３３の出力信号とＡＮＤ回路５１３の出力信号との論理和を演算し、当該演算結果を出力信号として出力する。
【００５７】
ＥＸＯＲ回路５０４は、インピーダンス制御信号ＤＲＺＱ１４と補正値ｄ４との排他的論理和を演算し、当該演算結果を出力信号として出力する。
また、ＡＮＤ回路５１４は、インピーダンス制御信号ＤＲＺＱ１４と補正値ｄ４との論理積を演算し、当該演算結果を出力信号として出力する。
ＥＸＯＲ回路５２４は、ＥＸＯＲ回路５０４の出力信号とＯＲ回路５４３の出力信号との排他的論理和を演算し、インピーダンス制御信号ＤＲＺＱ１ｄ４を出力する。
また、ＡＮＤ回路５３４は、ＥＸＯＲ回路５０４の出力信号とＯＲ回路５４３の出力信号との論理積を演算し、当該演算結果を出力信号として出力する。
また、ＯＲ回路５４４は、ＡＮＤ回路５３４の出力信号とＡＮＤ回路５１４の出力信号との論理和を演算し、当該演算結果を出力信号として出力する。
【００５８】
ＥＸＯＲ回路５０５は、インピーダンス制御信号ＤＲＺＱ１５と補正値ｄ５との排他的論理和を演算し、当該演算結果を出力信号として出力する。
また、ＡＮＤ回路５１５は、インピーダンス制御信号ＤＲＺＱ１５と補正値ｄ５との論理積を演算し、当該演算結果を出力信号として出力する。
ＥＸＯＲ回路５２５は、ＥＸＯＲ回路５０５の出力信号とＯＲ回路５４４の出力信号との排他的論理和を演算し、インピーダンス制御信号ＤＲＺＱ１ｄ５を出力する。
また、ＡＮＤ回路５３５は、ＥＸＯＲ回路５０５の出力信号とＯＲ回路５４４の出力信号との論理積を演算し、当該演算結果を出力信号として出力する。
また、ＯＲ回路５４５は、ＡＮＤ回路５３５の出力信号とＡＮＤ回路５１５の出力信号との論理和を演算し、当該演算結果をキャリー信号ＣＡＲＹＹ５ｄとして出力する。
【００５９】
図１０は、加減算器５０ａが、インピーダンス制御信号ＤＲＺＱ１１〜ＤＲＺＱ１５と、補正値ｄ１〜ｄ５とからインピーダンス制御信号ＤＲＺＱ１ｄ１〜ＤＲＺＱ１ｄ５を生成する場合のインピーダンス制御信号ＤＲＺＱ１ｄ１〜ＤＲＺＱ１ｄ５のレベル（２進数で「０」または「１」）と、上記各回路の出力のレベルを示している。
図１０（ａ）に示すように、インピーダンス制御信号ＤＲＺＱ１１〜ＤＲＺＱ１５が「５’ｂ１００００」（＝「１０ｈ」）であって、補正値ｄ１〜ｄ５（補正値＝−１）が「５’ｂ１１１１１」（＝「１Ｆｈ」）のとき、加減算器５０ａは、インピーダンス制御信号ＤＲＺＱ１ｄ１〜ＤＲＺＱ１ｄ５として、「５’ｂ０１１１１」（＝「０Ｆｈ」）を出力する。なお、このように、補正値がマイナスの値の時は、２の補数で設定するものとする。例えば、補正値が−２のときは、２の補数で「５’ｂ１１１１０」（＝「１Ｅｈ」）が設定される。
また、図１０（ｂ）に示すように、インピーダンス制御信号ＤＲＺＱ１１〜ＤＲＺＱ１５が「５’ｂ１００００」（＝「１０ｈ」）であって、補正値ｄ１〜ｄ５（補正値＝０）が「５’ｂ０００００」（＝「００ｈ」）のとき、加減算器５０ａは、インピーダンス制御信号ＤＲＺＱ１ｄ１〜ＤＲＺＱ１ｄ５として、「５’ｂ１００００」（＝「１０ｈ」）を出力する。
図１０（ａ）、図１０（ｂ）に示すこれらの場合は、先に説明した補正値−１設定部５０ｍ１または補正値０設定部５０ｍ２に補正値として、それぞれ−１、０が設定されている場合に対応する。
【００６０】
補正値が図１０（ａ）に示す場合のようにマイナスに設定されている場合、加減算器５０ａは、インピーダンス制御信号ＤＲＺＱ１１〜ＤＲＺＱ１５を減算し、インピーダンス制御信号ＤＲＺＱ１ｄ１〜ＤＲＺＱ１ｄ５を生成する。図７に示すマルチプレクサ４０ｓは、内部オンダイターミネーション制御信号ＩＯＤＴが非活性レベル（Ｌレベル）のとき、インピーダンス制御信号ＤＲＺＱ１ｄ１〜ＤＲＺＱ１ｄ５をインピーダンス制御信号ＤＲＺＱ２として出力する。インピーダンス制御信号ＤＲＺＱ２は、前段回路１６１〜１６３に供給され、それぞれ対応する単位バッファのインピーダンスが、２４０Ωより高くなるように調整される。なお、インピーダンス制御信号ＤＲＺＱＮ１は、上述の通り補正回路部４０ｄにより減算され、インピーダンス制御信号ＤＲＺＱＮ２となり、前段回路１６１に供給され、それぞれ対応する単位バッファのプルダウン回路ＰＤのインピーダンスが高くなるように調整される。一方、インピーダンス制御信号ＤＲＺＱＰ１は、補正回路部４０ｄにより加算され（補正値設定部の補正値をプラス値に設定しておく）、インピーダンス制御信号ＤＲＺＱＰ２となり、前段回路１６１に供給され、それぞれ対応する単位バッファのプルアップ回路ＰＵのインピーダンスが高くなるように調整される。
【００６１】
なお、インピーダンス制御信号ＤＲＺＱ１が最大値のときに加算された場合、または最小値のときに減算された場合には、補正後のインピーダンス制御信号ＤＲＺＱ１ｄがオーバーフローして、不正値となってしまう。例えば、図１０（ｅ）に示すように、インピーダンス制御信号ＤＲＺＱ１１〜ＤＲＺＱ１５が「５’ｂ１１１１１」（＝「１Ｆｈ」）であって、補正値ｄ１〜ｄ５（補正値＝＋１）が「５’ｂ００００１」（＝「０１ｈ」）のとき、加減算器５０ａは、インピーダンス制御信号ＤＲＺＱ１ｄ１〜ＤＲＺＱ１ｄ５として、「５’ｂ０００００」（＝「００ｈ」）を出力する。この場合、単位バッファのプルダウン回路ＰＤのインピーダンスが無限大（ハイインピーダンス状態）となってしまう。このように、単位バッファのプルダウン回路ＰＤのインピーダンスが無限大となることを防ぐために、プルダウン回路ＰＤのトランジスタ２２１〜２２５のいずれか１つを常時オンになるようにインピーダンス制御信号ＤＲＺＱ１に制限を設けることも可能だが、その場合においても、たとえインピーダンスが無限大とならなくとも、プルダウン回路ＰＤのインピーダンスが補正により大幅にずれてしまうことになる。そのため、このようにオーバーフローした場合を考えて、加減算器５０ａの出力であるキャリー信号ＣＡＲＹ５ｄを入力信号とするマルチプレクサ５２ｓを、補正回路部４０ｄ内に設ける構成としている。
【００６２】
マルチプレクサ５２ｓは、キャリー信号ＣＡＲＹ５ｄが「１」（Ｈレベル）のとき、補正後のインピーダンス制御信号ＤＲＺＱ１ｄでなく、補正前のインピーダンス制御信号ＤＲＺＱ１を、インピーダンス制御信号ＤＲＺＱ２ｄとしてマルチプレクサ４０ｓに対して出力する。また、マルチプレクサ５２ｓは、キャリー信号ＣＡＲＹ５ｄが「０」（Ｌレベル）のとき、補正後のインピーダンス制御信号ＤＲＺＱ１ｄを、インピーダンス制御信号ＤＲＺＱ２ｄとしてマルチプレクサ４０ｓに対して出力する。
【００６３】
次に、補正回路部４０ｏについて、図９を用いて説明する。
補正回路部４０ｏにおけるマルチプレクサ６０ｍ（選択回路）は、図９に示すように、補正値０設定部６０ｍ１（第２の補正値記憶部）、補正値１設定部６０ｍ２（第２の補正値記憶部）、補正値２設定部６０ｍ３（第２の補正値記憶部）、及びマルチプレクサ６６１〜６６５を含んで構成される。補正値０設定部６０ｍ１、補正値１設定部６０ｍ２、補正値２設定部６０ｍ３により、マルチプレクサ６０ｍが有する第１の補正値記憶部を構成する。
図９に示す例では、補正値０設定部６０ｍ１は、「５’ｂ０００００」（＝「００ｈ」）を記憶している。また、補正値１設定部６０ｍ２は、「５’ｂ００００１」（＝「０１ｈ」）を記憶している。また、補正値２設定部６０ｍ３は、「５’ｂ０００１０」（＝「０２ｈ」）を記憶している。
【００６４】
マルチプレクサ６６１〜６６５は、モードレジスタ２２（ＭＲ）から入力されるＯＤＴ設定信号に応じて、補正値０設定部６０ｍ１、補正値１設定部６０ｍ２、及び補正値２設定部６０ｍ３のいずれかの補正値設定部が記憶する５ビットのデータを選択し、選択したデータを補正値ｏ１〜補正値ｏ５として後段の加減算器６０ａに出力する。
このＯＤＴ設定信号は、上述したＤＳ設定信号と同様に、モードレジスタ２２から供給される。半導体装置１０にコマンド信号ＣＭＤとしてＭＲＳコマンドが供給されたときに、このＭＲＳコマンドとともにアドレス端子１３にアドレス信号ＡＤＤとして供給されるモード設定コード（例えばアドレスＡ９，Ａ６，Ａ２の３ビットに対応したコード「Ａ９、Ａ６、Ａ２」からなるＯＤＴ設定コード）に応じて、制御回路２１が、モードレジスタセット信号ＭＲＳをモードレジスタ２２（ＭＲ）に出力する。モードレジスタ２２は、例えば内部に上記アドレスに対応するレジスタ（レジスタＲ９６２とする）を有し、このＯＤＴ設定コード「Ａ９、Ａ６、Ａ２」をレジスタＲ９６２に記憶する。
例えば、図１１（ｂ）に示すように、データ入出力部１００の出力バッファ１０１を終端抵抗として使用する場合の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗ＲＺＱの１／２に設定する（以下、ＯＤＴ設定するという）場合、例えばレジスタＲ９６２はＯＤＴ設定コード「０１０」を記憶する。
また、図１１（ｂ）に示すように、データ入出力部１００の出力バッファ１０１を終端抵抗として使用する場合の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗ＲＺＱの１／４にＯＤＴ設定する場合、例えばレジスタＲ９６２はＯＤＴ設定コード「００１」を記憶する。
また、図１１（ｂ）に示すように、データ入出力部１００の出力バッファ１０１を終端抵抗として使用する場合の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗ＲＺＱの１／６にＯＤＴ設定する場合、例えばレジスタＲ９６２はＯＤＴ設定コード「０１１」を記憶する。
このように、レジスタＲ９６２が記憶するＯＤＴ設定コードは、半導体装置１０にコマンド信号ＣＭＤとしてＭＲＳコマンドが供給されるたびに更新することが可能である。また、設定コードに用いるアドレス端子１３がＤＳコードとは異なるため、ＤＳコードとＯＤＴコードは、モードレジスタ２２に同時設定可能である。
モードレジスタ２２は、上記レジスタＲ９６２に記憶されたＯＤＴ設定コードに応じて、ＯＤＴ設定信号をマルチプレクサ６６１〜６６５に出力する。
【００６５】
マルチプレクサ６６１〜６６５は、ＯＤＴ設定コード「０１１」の場合、ＯＤＴ設定信号がモードレジスタ２２から入力されると、補正値０設定部６０ｍ１が記憶する５ビットのデータ（「５’ｂ０００００」＝「００ｈ」）を選択し、選択したデータを補正値ｏ１〜補正値ｏ５として後段の加減算器６０ａに出力する。
また、マルチプレクサ６６１〜６６５は、ＯＤＴ設定コード「００１」の場合、ＯＤＴ設定信号がモードレジスタ２２から入力されると、補正値１設定部６０ｍ２が記憶する５ビットのデータ（「５’ｂ００００１」＝「０１ｈ」）を選択し、選択したデータを補正値ｏ１〜補正値ｏ５として後段の加減算器６０ａに出力する。
また、マルチプレクサ６６１〜６６５は、ＯＤＴ設定コード「０１０」の場合、ＯＤＴ設定信号がモードレジスタ２２から入力されると、補正値２設定部６０ｍ３が記憶する５ビットのデータ（「５’ｂ０００１０」＝「０２ｈ」）を選択し、選択したデータを補正値ｏ１〜補正値ｏ５として後段の加減算器６０ａに出力する。
なお、補正値０設定部６０ｍ１、補正値１設定部６０ｍ２、及び補正値２設定部６０ｍ３が記憶する補正値は、補正値−１設定部５０ｍ１及び補正値０設定部５０ｍ２と同様に、予め設計工程、評価工程を経て、最適となる変更後の補正値が、不揮発性素子に書き込まれ、固定値として設定される。
【００６６】
加減算器６０ａは、図９に示すように、入出力の信号名が相違する以外、図８に示す加減算器５０ａと同一の構成であるので、図９において図８と同一の符号を付し、その回路接続についての説明を省略する。補正値ｏ１〜ｏ５が、図８に示す補正値ｄ１〜ｄ５にそれぞれ対応し、インピーダンス制御信号ＤＲＺＱ１ｏ１〜ＤＲＺＱ１ｏ５が、図８に示すインピーダンス制御信号ＤＲＺＱ１ｄ１〜ＤＲＺＱ１ｄ５にそれぞれ対応し、キャリー信号ＣＡＲＹ５ｏが、図８に示すキャリー信号ＣＡＲＹ５ｄに対応する。
【００６７】
加減算器６０ａがインピーダンス制御信号ＤＲＺＱ１１〜ＤＲＺＱ１５と、補正値ｏ１〜ｏ５とを加減算してインピーダンス制御信号ＤＲＺＱ１ｏ１〜ＤＲＺＱ１ｏ５を生成する場合のインピーダンス制御信号ＤＲＺＱ１ｏ１〜ＤＲＺＱ１ｏ５のレベルと、上記各回路の出力のレベルは、図１０において、補正値ｄ１〜ｄ５をそれぞれ補正値ｏ１〜ｏ５とし、インピーダンス制御信号ＤＲＺＱ１ｄ１〜ＤＲＺＱ１ｄ５をそれぞれインピーダンス制御信号ＤＲＺＱ１ｏ１〜ＤＲＺＱ１ｏ５と読み換えた場合に対応する。
図１０（ｂ）に示すように、インピーダンス制御信号ＤＲＺＱ１１〜ＤＲＺＱ１５が「５’ｂ１００００」（＝「１０ｈ」）であって、補正値ｏ１〜ｏ５（補正値＝０）が「５’ｂ０００００」（＝「００ｈ」）のとき、加減算器６０ａは、インピーダンス制御信号ＤＲＺＱ１ｏ１〜ＤＲＺＱ１ｏ５として、「５’ｂ１００００」（＝「１０ｈ」）を出力する。
また、図１０（ｃ）に示すように、インピーダンス制御信号ＤＲＺＱ１１〜ＤＲＺＱ１５が「５’ｂ１００００」（＝「１０ｈ」）であって、補正値ｏ１〜ｏ５（補正値＝１）が「５’ｂ００００１」（＝「０１ｈ」）のとき、加減算器６０ａは、インピーダンス制御信号ＤＲＺＱ１ｏ１〜ＤＲＺＱ１ｏ５として、「５’ｂ１０００１」（＝「１１ｈ」）を出力する。
また、図１０（ｄ）に示すように、インピーダンス制御信号ＤＲＺＱ１１〜ＤＲＺＱ１５が「５’ｂ１００００」（＝「１０ｈ」）であって、補正値ｏ１〜ｏ５（補正値＝２）が「５’ｂ０００１０」（＝「０２ｈ」）のとき、加減算器６０ａは、インピーダンス制御信号ＤＲＺＱ１ｏ１〜ＤＲＺＱ１ｏ５として、「５’ｂ１００１０」（＝「１２ｈ」）を出力する。
図１０（ｂ）〜図１０（ｄ）に示すこれらの場合は、補正値０設定部６０ｍ１、補正値１設定部６０ｍ２、補正値２設定部６０ｍ３に、補正値としてそれぞれ０、１、２がそれぞれ設定されている場合に対応する。
【００６８】
補正値が図１０（ｃ）、図１０（ｄ）に示す場合のようにプラスの値に設定されている場合、加減算器６０ａは、インピーダンス制御信号ＤＲＺＱ１１〜ＤＲＺＱ１５を加算し、インピーダンス制御信号ＤＲＺＱ１ｏ１〜ＤＲＺＱ１ｏ５を生成する。図７に示すマルチプレクサ４０ｓは、内部オンダイターミネーション制御信号ＩＯＤＴが活性レベル（Ｈレベル）のとき、インピーダンス制御信号ＤＲＺＱ１ｏ１〜ＤＲＺＱ１ｏ５をインピーダンス制御信号ＤＲＺＱ２として出力する。インピーダンス制御信号ＤＲＺＱ２は、前段回路１６１〜１６３に供給され、それぞれ対応する単位バッファのインピーダンスが、２４０Ωより低くなるように調整される。なお、インピーダンス制御信号ＤＲＺＱＮ１は、上述の通り補正回路部４０ｄにより加算され、インピーダンス制御信号ＤＲＺＱＮ２となり、前段回路１６１に供給され、それぞれ対応する単位バッファのプルダウン回路ＰＤのインピーダンスが低くなるように調整される。一方、インピーダンス制御信号ＤＲＺＱＰ１は、補正回路部４０ｏにより減算され（補正値設定部の補正値をマイナス値に設定しておく）、インピーダンス制御信号ＤＲＺＱＰ２となり、前段回路１６１に供給され、それぞれ対応する単位バッファのプルアップ回路ＰＵのインピーダンスが低くなるように調整される。
【００６９】
マルチプレクサ６２ｓは、マルチプレクサ５２ｓと同様に、キャリー信号ＣＡＲＹ５ｏが「１」（Ｈレベル）のとき、補正後のインピーダンス制御信号ＤＲＺＱ１ｏでなく、補正前のインピーダンス制御信号ＤＲＺＱ１を、インピーダンス制御信号ＤＲＺＱ２ｏとしてマルチプレクサ４０ｓに対して出力する。また、マルチプレクサ６２ｓは、キャリー信号ＣＡＲＹ５ｏが「０」（Ｌレベル）のとき、補正後のインピーダンス制御信号ＤＲＺＱ１ｏを、インピーダンス制御信号ＤＲＺＱ２ｏとしてマルチプレクサ４０ｓに対して出力する。
【００７０】
以上が、本実施形態によるデータ入出力部１００の構成である。次に、本実施形態によるデータ入出力部１００の動作について、キャリブレーション動作、データ出力動作（ＤＳ設定によるデータ出力動作、及びＯＤＴ動作の順に説明する。
【００７１】
［キャリブレーション動作］
キャリブレーション動作は、上述のとおり、出力バッファ１０１のインピーダンスを調整するために行う動作であり、製造時のプロセス条件によるインピーダンスのばらつきを修正するのみならず、周辺温度の変化や電源電圧の変動によるインピーダンスの変化を修正するために行う。したがって、高い精度が要求される場合には、電源投入時やリセット時などの初期設定時に１回だけキャリブレーション動作を行うのではなく、実際の動作時においても定期的に実行することが好ましく、本実施形態によるデータ入出力部１００は、このように実際の動作時において定期的にキャリブレーション動作を実行する場合に特に有効である。以下、具体的に説明する。
【００７２】
キャリブレーション動作を行う場合には、あらかじめ、キャリブレーション端子ＺＱに外部抵抗ＲＺＱを接続しておく必要がある（図２、図４参照）。外部抵抗ＲＺＱとしては、単位バッファ１１１〜１１４，１２１〜１２３の目的とするインピーダンス（＝レプリカバッファのインピーダンス）と同じインピーダンスを持つ抵抗を用いる必要がある。従って、本実施形態では、２４０Ωの外部抵抗ＲＺＱが用いられる。
また、半導体装置１０にコマンド信号ＣＭＤとしてキャリブレーション動作を指示するキャリブレーションコマンド（ＣＡＬコマンド）が供給される以前において、半導体装置１０にはコマンド信号ＣＭＤとしてモードレジスタコマンド（ＭＲＳコマンド）が供給されているものとする。また、半導体装置１０には、このＭＲＳコマンドとともに、アドレス端子１３にアドレス信号ＡＤＤとしてモード設定コード（コード「Ａ５、Ａ１」からなるＤＳ設定コード、及びコード「Ａ９、Ａ６、Ａ２」からなるＯＤＴ設定コード）が供給され、レジスタＲ５１はＤＳ設定コード「００」を記憶しているものとする。また、オンダイターミネーション端子１２ｂから供給されるオンダイターミネーション信号ＯＤＴはＬレベルであり、制御回路２１は、内部オンダイターミネーション制御信号ＩＯＤＴを非活性レベル（Ｌレベル）に維持しているものとする。
【００７３】
図１２は、キャリブレーション動作を説明するためのフローチャートである。
まず、ＣＡＬコマンドによってキャリブレーション動作が指示されると（ステップＳ１１：ＹＥＳ）、制御信号ＡＣＴ１を活性化し、キャリブレーション回路１３０に含まれるカウンタ１３４のカウント動作を開始させる（ステップＳ１２）。電源投入後などの初期状態においては、カウンタ１３４のカウント値は、一例としてオール１（本実施例では、「５’ｂ１１１１１」）にリセットされており、そのため、カウンタ１３４の出力であるインピーダンス制御信号ＤＲＺＱＰ１１〜ＤＲＺＱＰ１５は、いずれもハイレベルである。したがって、プルアップ回路１３１に含まれるトランジスタ３１１〜３１５は全てオフ状態となり、その結果、コンパレータ１３６の出力である比較信号ＣＯＭＰ１はローレベルとなる。
【００７４】
このため、カウンタ１３４はカウントダウンを進め、これに連動してトランジスタ３１１〜３１５のオンまたはオフ状態が切り替わる。具体的には、トランジスタ３１１〜３１５のＷ／Ｌ比がそれぞれ「１」、「２」、「４」、「８」、「１６」に設定されていることから、カウンタ１３４の最下位ビット（ＭＬＢ）がインピーダンス制御信号ＤＲＺＱＰ１１に割り当てられ、カウンタ１３４の最上位ビット（ＭＳＢ）がインピーダンス制御信号ＤＲＺＱＰ１５に割り当てられる。これにより、プルアップ回路１３１のインピーダンスを最小ピッチで変化させることができる。
【００７５】
このようなカウントダウンが進むに連れて、プルアップ回路１３１のインピーダンスは徐々に低下し、キャリブレーション端子ＺＱの電位は徐々に上昇する。そして、プルアップ回路１３１のインピーダンスが目的とするインピーダンス（２４０Ω）未満まで低下すると、キャリブレーション端子ＺＱの電位が中間電圧（ＶＤＤ／２）を超えることから、コンパレータ１３６の出力である比較信号ＣＯＭＰ１はハイレベルに反転する。これに応答してカウンタ１３４はカウントアップを進め、今度はプルアップ回路１３１のインピーダンスを上昇させる。
【００７６】
このような動作を繰り返すことにより、キャリブレーション端子ＺＱの電位は中間電圧（ＶＤＤ／２）近傍で安定する。その後、制御信号ＡＣＴ１を非活性化し、カウンタ１３４のカウント動作を停止させる（ステップＳ１３）。これにより、カウンタ１３４のカウント値は固定され、インピーダンス制御信号ＤＲＺＱＰ１１〜ＤＲＺＱＰ１５のレベルが確定する。
【００７７】
以上の動作により、プルアップ回路１３１，１３２のインピーダンスが２４０Ωに調整される。尚、カウンタ１３４の初期値をオール１ではなく、設計値で２４０Ωとなるような値とし、比較信号ＣＯＭＰ１のレベルに応じてカウントアップ又カウントダウンすることにより、調整を行っても構わない。
【００７８】
次に、制御信号ＡＣＴ２を活性化し、キャリブレーション回路１３０に含まれるカウンタ１３５のカウント動作を開始させる（ステップＳ１４）。初期状態においては、カウンタ１３５のカウント値は、一例としてオール０（本実施例では、「５’ｂ０００００」）にリセットされており、そのため、カウンタ１３５の出力であるインピーダンス制御信号ＤＲＺＱＮ１１〜ＤＲＺＱＮ１５は、いずれもローレベルである。したがって、プルダウン回路１３３に含まれるトランジスタ３２１〜３２５は全てオフ状態となり、その結果、コンパレータ１３７の出力である比較信号ＣＯＭＰ２はハイレベルとなる。
【００７９】
これに応答してカウンタ１３５はカウントアップを進め、これに連動して、トランジスタ３２１〜３２５のオンまたはオフ状態が切り替わる。この場合も、トランジスタ３２１〜３２５のＷ／Ｌ比がそれぞれ「１」、「２」、「４」、「８」、「１６」に設定されていることに対応して、カウンタ１３５の最下位ビット（ＭＬＢ）がインピーダンス制御信号ＤＲＺＱＮ１１に割り当てられ、カウンタ１３５の最上位ビット（ＭＳＢ）がインピーダンス制御信号ＤＲＺＱＮ１５に割り当てられる。これにより、プルダウン回路１３３のインピーダンスを最小ピッチで変化させることができる。
【００８０】
このようなカウントアップが進むに連れて、プルダウン回路１３３のインピーダンスは徐々に低下し、接点Ａの電位は徐々に低下する。そして、プルダウン回路１３３のインピーダンスが目的とするインピーダンス（２４０Ω）未満まで低下すると、接点Ａの電位は中間電圧（ＶＤＤ／２）を下回るため、コンパレータ１３７の出力である比較信号ＣＯＭＰ２はローレベルに反転する。これに応答してカウンタ１３５はカウントダウンを進め、今度はプルダウン回路１３３のインピーダンスを上昇させる。
【００８１】
このようなカウントアップおよびカウントダウン動作を繰り返すことにより、接点Ａの電位は中間電圧（ＶＤＤ／２）近傍で安定する。その後、制御信号ＡＣＴ２を非活性化し、カウンタ１３５のカウント動作を停止させる（ステップＳ１５）。これにより、カウンタ１３５のカウント値は固定され、インピーダンス制御信号ＤＲＺＱＮ１１〜ＤＲＺＱＮ１５のレベルが確定する。
以上の動作により、プルダウン回路１３３のインピーダンスも２４０Ωに調整される。この場合も、カウンタ１３５の初期値をオール０ではなく、設計値で２４０Ωとなるような値とし、比較信号ＣＯＭＰ２のレベルに応じてカウントアップ又カウントダウンするこ
とにより、調整を行っても構わない。
【００８２】
このキャリブレーション動作のステップＳ１２〜Ｓ１５の間、補正回路４０では、マルチプレクサ５６１〜５６５が、補正値０設定部５０ｍ２が記憶するデータ「５’ｂ０００００」（＝「００ｈ」）を選択して出力している。加減算器５０ａは、入力されるインピーダンス制御信号ＤＲＺＱ１に、補正値０設定部５０ｍ２から入力される補正値ｄを加減算し、インピーダンス制御信号ＤＲＺＱ１ｄを出力する。この場合、補正値ｄは０であるので、インピーダンス制御信号ＤＲＺＱ１ｄとしてインピーダンス制御信号ＤＲＺＱ１を出力する。
そして、上述の通り、ステップＳ１３及びＳ１５の後、インピーダンス制御信号ＤＲＺＱ１（インピーダンス制御信号ＤＲＺＱＰ１１〜ＤＲＺＱＰ１５、及びインピーダンス制御信号ＤＲＺＱＮ１１〜ＤＲＺＱＮ１５）のレベルが確定すると、インピーダンス制御信号ＤＲＺＱ２（インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５、及びインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５）のレベルも確定する。この場合、補正値は０であるので、インピーダンス制御信号ＤＲＺＱ２のレベルは、インピーダンス制御信号ＤＲＺＱ１のレベルと等しくなる。
【００８３】
そして、ステップＳ１１に戻り、ＣＡＬコマンドによるキャリブレーション動作の指示を待ち、キャリブレーション動作が指示されると（ステップＳ１１：ＹＥＳ）、上記一連の動作を再び実行する。
【００８４】
以上がキャリブレーション動作である。このようなキャリブレーション動作によって確定したインピーダンス制御信号ＤＲＺＱ２は、図２に示す前段回路１６１〜１６３に共通に供給されることから、前段回路１６１〜１６３によって制御される単位バッファ１１１〜１１４，１２１〜１２３についても、正確に２４０Ωのインピーダンスで動作することが可能となる。つまり、複数の単位バッファに対するキャリブレーション動作を一括して行うことができる。
なお、キャリブレーション動作を指示するＣＡＬコマンドが供給される以前において、ＭＲＳコマンドとともに、ＤＳ設定コード「０１」が与えられる場合、モードレジスタ２２におけるレジスタＲ５１はＤＳ設定コード「０１」を記憶している。この場合、マルチプレクサ５６１〜５６５が、補正値−１設定部５０ｍ１が記憶するデータ「５’ｂ１１１１１」（＝「１Ｆｈ」）を選択して出力している。加減算器５０ａは、入力されるインピーダンス制御信号ＤＲＺＱ１に、補正値−１設定部５０ｍ１から入力される補正値ｄを加減算し、インピーダンス制御信号ＤＲＺＱ１ｄを出力する。この場合、補正値ｄは−１であるので、補正回路４０は、インピーダンス制御信号ＤＲＺＱ１を減算して、インピーダンス制御信号ＤＲＺＱ２を出力する。
この確定したインピーダンス制御信号ＤＲＺＱ２は、前段回路１６１〜１６３に共通に供給され、前段回路１６１〜１６３によって制御される単位バッファ１１１〜１１４，１２１〜１２３は、２４０Ωより高いインピーダンス（２４０Ω＋α、α＞０とする）で動作することが可能となる。
【００８５】
次に、データ出力動作及びＯＤＴ動作について、図１３を用いて説明する。
なお、図１３において示すインピーダンス制御信号ＤＲＺＱ１のレベルは、インピーダンス制御信号ＤＲＺＱＮ１１〜ＤＲＺＱＮ１１のレベルであり、インピーダンス制御信号ＤＲＺＱ２のレベルは、インピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２１のレベルである。インピーダンス制御信号ＤＲＺＱＰ１１〜ＤＲＺＱＰ１１のレベルは、キャリブレーション動作においてインピーダンス制御信号ＤＲＺＱＮ１１〜ＤＲＺＱＮ１１を論理反転したレベルに設定されるものとし、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２１のレベルは、補正回路４０による補正動作においてインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２１の論理反転したレベルに設定されるものとする。例えば、インピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５のレベルが「５’ｂ１００００」（＝「１０ｈ」）の場合で、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５のレベルは、「５’ｂ０１１１１」（＝「０Ｆｈ」）であるものとする。
【００８６】
データ出力動作及びＯＤＴ動作は、上述したキャリブレーション動作を少なくとも１回実行した後に行う必要があり、これによって、正しいインピーダンスで動作することが可能となる。
時刻ｔ１において、例えば、メモリコントローラから、半導体装置１０のコマンド端子１２ａにコマンド信号ＣＭＤとしてＭＲＳコマンドを供給するとともに、半導体装置１０のアドレス端子１３にアドレス信号ＡＤＤとしてＤＳ設定コード「００」及びＯＤＴ設定コード「００１」を供給する。また、メモリコントローラは、オンダイターミネーション端子１２ｂをＬレベルに維持する。
これにより、制御回路２１は、モードレジスタ信号ＭＲＳをモードレジスタ２２に出力する。また、制御回路２１は、内部オンダイターミネーション制御信号ＩＯＤＴを非活性レベル（Ｌレベル）に維持する。
モードレジスタ２２は、ＤＳ設定信号及びＯＤＴ設定信号を補正回路４０に出力する。
補正回路４０におけるマルチプレクサ５０ｍは、ＤＳ設定信号がモードレジスタ２２から入力されると、ＤＳ設定コード「００」であるので、補正値０設定部５０ｍ２が記憶する５ビットのデータ（「５’ｂ０００００」＝「００ｈ」）を選択し、選択したデータを補正値ｄ１〜補正値ｄ５（補正値ｄ＝０）として、加減算器５０ａに出力する。
また、補正回路４０におけるマルチプレクサ６０ｍは、ＯＤＴ設定信号がモードレジスタ２２から入力されると、ＯＤＴ設定コード「００１」であるので、補正値０設定部６０ｍ２が記憶する５ビットのデータ（「５’ｂ００００１」＝「０１ｈ」）を選択し、選択したデータを補正値ｏ１〜補正値ｏ５（補正値ｏ＝＋１）として、加減算器６０ａに出力する。
【００８７】
このとき、ＣＡＬコマンドは、まだ供給されていないので、インピーダンス制御信号ＤＲＺＱ１（インピーダンス制御信号ＤＲＺＱＮ１１〜ＤＲＺＱＮ１５）のレベルは、カウンタ１３５の初期値であるオール０（「５’ｂ０００００」＝「００ｈ」）である。
補正回路４０における加減算器５０ａは、インピーダンス制御信号ＤＲＺＱ１に補正値ｄ＝０を加算して、インピーダンス制御信号ＤＲＺＱ２ｄとして、「５’ｂ０００００」（＝「００ｈ」）を出力する。
また、補正回路４０における加減算器６０ａは、インピーダンス制御信号ＤＲＺＱ１に補正値ｏ＝１を加算して、インピーダンス制御信号ＤＲＺＱ２ｏとして、「５’ｂ００００１」（＝「０１ｈ」）を出力する。
このとき、内部オンダイターミネーション制御信号ＩＯＤＴはＬレベルであるので、補正回路４０におけるマルチプレクサ４０ｓは、インピーダンス制御信号ＤＲＺＱ２ｄを選択して、インピーダンス制御信号ＤＲＺＱ２を出力する。インピーダンス制御信号ＤＲＺＱ２のレベルは、「５’ｂ０００００」（＝「００ｈ」）である。
【００８８】
また、出力制御回路１５０は、データ出力動作またはＯＤＴ動作を指示されていないので、選択信号１５１Ｐ〜１５３Ｐを全てＨレベル、選択信号１５１Ｎ〜１５３Ｎとしている。これにより、前段回路１６１〜１６３の出力である動作信号１６１Ｐ〜１６３Ｐは全てＨレベル、動作信号１６１Ｎ〜１６３Ｎは全てＬレベルとなり、出力バッファ１０１に含まれる７個の単位バッファの全てのトランジスタをオフさせる（非導通とする）ことから、インピーダンス制御信号ＤＲＺＱ２のレベルに関らず、出力バッファ１０１は非活性状態となる。
【００８９】
時刻ｔ２において、メモリコントローラから、半導体装置１０のコマンド端子１２ａにコマンド信号ＣＭＤとしてＣＡＬコマンドを供給すると、キャリブレーション回路１３０は制御信号ＡＣＴ１、ＡＣＴ２が制御回路２１から入力され、上述したキャリブレーション動作を実行する。これにより、プルアップ回路１３１，１３２及びプルダウン回路１３３のインピーダンスが２４０Ωに調整され、インピーダンス制御信号ＤＲＺＱ１のレベルが、「５’ｂ１００００」（＝「１０ｈ」）に確定する。
補正回路４０におけるマルチプレクサ５０ｍは、モードレジスタ２２のレジスタの内容が更新されていないので、時刻ｔ１において発生したＤＳ設定信号が入力されており、つまり、ＤＳ設定コード「００」であるので、補正値０設定部５０ｍ２が記憶する５ビットのデータ（「５’ｂ０００００」＝「００ｈ」）を選択し、選択したデータを補正値ｄ１〜補正値ｄ５（補正値ｄ＝０）として、加減算器５０ａに出力している。
また、補正回路４０におけるマルチプレクサ６０ｍは、モードレジスタ２２のレジスタの内容が更新されていないので、時刻ｔ１において発生したＯＤＴ設定信号が入力されており、つまり、ＯＤＴ設定コード「００１」であるので、補正値０設定部６０ｍ２が記憶する５ビットのデータ（「５’ｂ００００１」＝「０１ｈ」）を選択し、選択したデータを補正値ｏ１〜補正値ｏ５（補正値ｏ＝＋１）として、加減算器６０ａに出力している。
【００９０】
補正回路４０における加減算器５０ａは、インピーダンス制御信号ＤＲＺＱ１に補正値ｄ＝０を加算して、インピーダンス制御信号ＤＲＺＱ２ｄとして、「５’ｂ１００００」（＝「１０ｈ」）を出力する。
また、補正回路４０における加減算器６０ａは、インピーダンス制御信号ＤＲＺＱ１に補正値ｏ＝１を加算して、インピーダンス制御信号ＤＲＺＱ２ｏとして、「５’ｂ１０００１」（＝「１１ｈ」）を出力する。
このとき、内部オンダイターミネーション制御信号ＩＯＤＴはＬレベルであるので、補正回路４０におけるマルチプレクサ４０ｓは、インピーダンス制御信号ＤＲＺＱ２ｄを選択して、インピーダンス制御信号ＤＲＺＱ２を出力している。インピーダンス制御信号ＤＲＺＱ２のレベルは、「５’ｂ１００００」（＝「１０ｈ」）である。
【００９１】
また、出力制御回路１５０は、制御回路２１にコマンド端子１２ａを介して、コマンド信号ＣＭＤとしてメモリセルアレイ２０からのデータＤａｔａをデータ端子ＤＱから外部へ出力する指示を示すコマンド（ＲＥＡＤコマンド）が供給されると、制御回路２１からデータアウトイネーブル信号ＯＥが供給される。
このデータアウトイネーブル信号ＯＥが供給されると、出力制御回路１５０は、データＤａｔａが「１」（Ｈレベル）、かつ、内部オンダイターミネーション制御信号ＩＯＤＴがＬレベルの場合、前段回路１６１〜１６３を制御して出力バッファ１０１に接続されたデータ端子ＤＱをＨレベルに駆動し、データＤａｔａが「０」（Ｌレベル）、かつ、内部オンダイターミネーション制御信号ＩＯＤＴがＬレベルの場合、前段回路１６１〜１６３を制御して出力バッファ１０１に接続されたデータ端子ＤＱをＬレベルに駆動する。
また、データ端子ＤＱをＨレベルまたはＬレベルに駆動する際、出力制御回路１５０は、モードレジスタ２２から供給されるＤＳ設定信号に応じて、前段回路１６１〜１６３に出力する選択信号１５１Ｐ〜１５３Ｐ、選択信号１５１Ｎ〜１５３ＮをＨレベルまたはＬレベルに変化させる。
【００９２】
データ端子ＤＱをＨレベルに駆動する場合、出力制御回路１５０は、ＤＳ設定信号がモードレジスタ２２から入力されると、ＤＳ設定コードが「００」であって、データＤａｔａが「１」、かつ、内部オンダイターミネーション制御信号ＩＯＤＴがＬレベルであるので、選択信号１５１Ｐ、１５２ＰをＬレベル、選択信号１５３ＰをＨレベル、選択信号１５１Ｎ〜１５３Ｎを全てＬレベルとする。これにより、前段回路１６１〜１６２に含まれるＯＲ回路のうち、入力信号として対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＬレベルとなっているものはＬレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＨレベルとなっているものはＨレベルの動作信号を出力することになる。
このとき、図１３に示すようにインピーダンス制御信号ＤＲＺＱ２１〜ＤＲＺＱ２５のレベルは、「５’ｂ１００００」（＝「１０ｈ」）であるので、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５のレベルは、この論理反転したレベルである「５’ｂ０１１１１」（＝「０Ｆｈ」）である。そのため、動作信号１６１Ｐのうち、動作信号１６１Ｐ５がＬレベル、動作信号１６１Ｐ１〜１６１Ｐ４がＨレベルとなる。また、動作信号１６２Ｐのうち、動作信号１６２Ｐ５がＬレベル、動作信号１６２Ｐ１〜１６２Ｐ４がＨレベルとなる。
また、前段回路１６３に含まれるＯＲ回路は、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５のレベルにかかわらず、全てＨレベルの動作信号を出力する。そのため、動作信号１６３Ｐのうち、動作信号１６３Ｐ１〜１６３Ｐ５が全てＨレベルとなる。
また、前段回路１６１〜１６３に含まれるＡＮＤ回路は、インピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５のレベルにかかわらず、全てＬレベルの動作信号を出力する。そのため、動作信号１６１Ｎ〜１６３Ｎが全てＬレベルとなる。
これにより、単位バッファ１１１〜１１４，１２１〜１２２に含まれるプルアップ回路ＰＵは、キャリブレーション回路１３０に含まれるプルアップ回路１３１，１３２と同じインピーダンスである２４０Ωでオンする。また、単位バッファ１２３に含まれるプルアップ回路ＰＵ、及び単位バッファ１１１〜１１４，１２１〜１２３に含まれるプルダウン回路ＰＤは、全てオフとなる。つまり、６つの単位バッファ１１１〜１１４，１２１〜１２２に含まれるプルアップ回路ＰＵが全て正確に２４０Ωでオンすることから、データ端子ＤＱは、出力バッファ１０１により正確に４０Ω（＝２４０Ω／６）のインピーダンスでＨレベル（ＶＤＤ電位）に駆動されることになる。
【００９３】
一方、データ端子ＤＱをＬレベルに駆動する場合、出力制御回路１５０は、ＤＳ設定信号がモードレジスタ２２から入力されると、ＤＳ設定コードが「００」であって、データＤａｔａが「０」、かつ、内部オンダイターミネーション制御信号ＩＯＤＴがＬレベルであるので、選択信号１５１Ｐ〜１５３ＰをＨレベル、選択信号１５１Ｎ〜１５２ＮをＨレベル、選択信号１５３ＮをＬレベルとする。これにより、前段回路１６１〜１６３に含まれるＯＲ回路は、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５のレベルにかかわらず、全てＨレベルの動作信号を出力する。そのため、動作信号１６１Ｐ〜１６３Ｐが全てＨレベルとなる。
また、前段回路１６１〜１６２に含まれるＡＮＤ回路のうち、入力信号として対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＨレベルとなっているものはＨレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＬレベルとなっているものはＬレベルの動作信号を出力することになる。
このとき、図１３に示すようにインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５のレベルは、「５’ｂ１００００」（＝「１０ｈ」）である。そのため、動作信号１６１Ｎのうち、動作信号１６１Ｎ５がＨレベル、動作信号１６１Ｎ１〜１６１Ｎ４がＬレベルとなる。また、動作信号１６２Ｎのうち、動作信号１６２Ｎ５がＨレベル、動作信号１６２Ｎ１〜１６２Ｎ４がＬレベルとなる。
また、前段回路１６３に含まれるＡＮＤ回路は、インピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５のレベルにかかわらず、全てＬレベルの動作信号を出力する。そのため、動作信号１６３Ｎが全てＬレベルとなる。
これにより、単位バッファ１１１〜１１４，１２１〜１２２に含まれるプルダウン回路ＰＤは、キャリブレーション回路１３０に含まれるプルダウン回路１３３と同じインピーダンスである２４０Ωでオンする。また、単位バッファ１２３に含まれるプルダウン回路ＰＤ、及び単位バッファ１１１〜１１４，１２１〜１２３に含まれるプルアップ回路ＰＵは、全てオフとなる。つまり、６つの単位バッファ１１１〜１１４，１２１〜１２２に含まれるプルダウン回路ＰＤが全て正確に２４０Ωでオンすることから、データ端子ＤＱは、出力バッファ１０１により正確に４０Ω（＝２４０Ω／６）のインピーダンスでＬレベル（ＧＮＤ電位）に駆動されることになる。
【００９４】
時刻ｔ３において、メモリコントローラから、半導体装置１０のコマンド端子１２ａにコマンド信号ＣＭＤとしてＭＲＳコマンドを供給するとともに、半導体装置１０のアドレス端子１３にアドレス信号ＡＤＤとしてＤＳ設定コード「０１」及びＯＤＴ設定コード「０１０」を供給する。また、メモリコントローラは、オンダイターミネーション端子１２ｂをＬレベルに維持する。
これにより、制御回路２１は、モードレジスタ信号ＭＲＳをモードレジスタ２２に出力する。また、制御回路２１は、内部オンダイターミネーション制御信号ＩＯＤＴを非活性レベル（Ｌレベル）に維持する。
モードレジスタ２２は、ＤＳ設定信号及びＯＤＴ設定信号を補正回路４０に出力する。
補正回路４０におけるマルチプレクサ５０ｍは、ＤＳ設定信号がモードレジスタ２２から入力されると、ＤＳ設定コード「０１」であるので、補正値−１設定部５０ｍ１が記憶する５ビットのデータ（「５’ｂ１１１１１」＝「１Ｆｈ」）を選択し、選択したデータを補正値ｄ１〜補正値ｄ５（補正値ｄ＝−１）として、加減算器５０ａに出力する。
また、補正回路４０におけるマルチプレクサ６０ｍは、ＯＤＴ設定信号がモードレジスタ２２から入力されると、ＯＤＴ設定コード「０１０」であるので、補正値２設定部６０ｍ３が記憶する５ビットのデータ（「５’ｂ０００１０」＝「０２ｈ」）を選択し、選択したデータを補正値ｏ１〜補正値ｏ５（補正値ｏ＝＋２）として、加減算器６０ａに出力する。
【００９５】
このとき、時刻ｔ１に開始されたキャリブレーション動作が終わっているので、インピーダンス制御信号ＤＲＺＱ１（インピーダンス制御信号ＤＲＺＱＮ１１〜ＤＲＺＱＮ１５）のレベルは、図１３に示すように、（「５’ｂ１００００」＝「１０ｈ」）である。
補正回路４０における加減算器５０ａは、インピーダンス制御信号ＤＲＺＱ１に補正値ｄ＝−１を加算して（１を減算して）、インピーダンス制御信号ＤＲＺＱ２ｄとして、「５’ｂ０１１１１」（＝「０Ｆｈ」）を出力する。
また、補正回路４０における加減算器６０ａは、インピーダンス制御信号ＤＲＺＱ１に補正値ｏ＝２を加算して、インピーダンス制御信号ＤＲＺＱ２ｏとして、「５’ｂ１００１０」（＝「１２ｈ」）を出力する。
このとき、内部オンダイターミネーション制御信号ＩＯＤＴはＬレベルであるので、補正回路４０におけるマルチプレクサ４０ｓは、インピーダンス制御信号ＤＲＺＱ２ｄを選択して、インピーダンス制御信号ＤＲＺＱ２を出力する。インピーダンス制御信号ＤＲＺＱ２のレベルは、「５’ｂ０１１１１」（＝「０Ｆｈ」）である。
【００９６】
出力制御回路１５０は、制御回路２１にコマンド端子１２ａを介して、コマンド信号ＣＭＤとしてＲＥＡＤコマンドが供給されると、制御回路２１からデータアウトイネーブル信号ＯＥが供給される。
データ端子ＤＱをＨレベルに駆動する場合、出力制御回路１５０は、ＤＳ設定信号がモードレジスタ２２から入力されると、ＤＳ設定コードが「０１」であって、データＤａｔａが「１」、かつ、内部オンダイターミネーション制御信号ＩＯＤＴがＬレベルであるので、選択信号１５１Ｐ〜１５３ＰをＬレベル、選択信号１５１Ｎ〜１５３Ｎを全てＬレベルとする。これにより、前段回路１６１〜１６３に含まれるＯＲ回路のうち、入力信号として対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＬレベルとなっているものはＬレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＨレベルとなっているものはＨレベルの動作信号を出力することになる。
このとき、図１３に示すようにインピーダンス制御信号ＤＲＺＱ２１〜ＤＲＺＱ２５のレベルは、「５’ｂ０１１１１」（＝「０Ｆｈ」）であるので、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５のレベルは、この論理反転したレベルである「５’ｂ１００００」（＝「１０ｈ」）である。そのため、動作信号１６１Ｐのうち、動作信号１６１Ｐ５がＨレベル、動作信号１６１Ｐ１〜１６１Ｐ４がＬレベルとなる。また、動作信号１６２Ｐのうち、動作信号１６２Ｐ５がＨレベル、動作信号１６２Ｐ１〜１６２Ｐ４がＬレベルとなる。また、動作信号１６３Ｐのうち、動作信号１６３Ｐ５がＨレベル、動作信号１６３Ｐ１〜１６３Ｐ４がＬレベルとなる。
また、前段回路１６１〜１６３に含まれるＡＮＤ回路は、インピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５のレベルにかかわらず、全てＬレベルの動作信号を出力する。そのため、動作信号１６１Ｎ〜１６３Ｎが全てＬレベルとなる。
これにより、単位バッファ１１１〜１１４，１２１〜１２３に含まれるプルアップ回路ＰＵは、キャリブレーション回路１３０に含まれるプルアップ回路１３１，１３２のインピーダンス２４０Ωより高い（２４０＋α）Ωでオンする。また、単位バッファ１１１〜１１４，１２１〜１２３に含まれるプルダウン回路ＰＤは、全てオフとなる。つまり、７つの単位バッファ１１１〜１１４，１２１〜１２３に含まれるプルアップ回路ＰＵが全て正確に（２４０＋α）Ωでオンすることから、データ端子ＤＱは、出力バッファ１０１により３４．３Ω（＝２４０Ω／７）に近いインピーダンスでＨレベル（ＶＤＤ電位）に駆動されることになる。
【００９７】
ここで、α（＞０）は、設計工程において計算される値、あるいは評価によって測定される値であり、この計算結果あるいは測定結果を基に補正値＝−１が設定されている。
時刻ｔ２〜ｔ３の間は、６個の単位バッファのインピーダンスが２４０Ωに設定され、この６個の単位バッファが活性化されると、出力バッファ１０１のインピーダンスは４０Ωとなる。一方、時刻ｔ３〜ｔ４の間は、７個の単位バッファが活性化される。７個の単位バッファが２４０Ωのインピーダンスで活性化されると、６個の単位バッファが２４０Ωのインピーダンスで活性化される場合に比べて、出力バッファ１０１が接続される電源配線（この場合は、第１の電源電圧ＶＤＤを供給する電源配線）の電圧降下量も大きくなる。このため、出力バッファ１０１とデータ端子ＤＱとの間に印加する電圧差が小さくなることにより、７個の単位バッファ各々のインピーダンスも設定された２４０Ωより高めに上昇し、７で割ったときの出力バッファ１０１のインピーダンスの目標値（２４０Ω／７＝約３４．３Ω）より高めにずれてしまう。つまり、活性化される単位バッファの個数が６個から７個へ変わるにも関らず、７個の単位バッファ各々のインピーダンスを、単位バッファが６個の状態で調整した２４０Ωのままにしておくと、これを７で割った出力バッファ１０１のインピーダンスの目標インピーダンスからのずれが、６個の単位バッファが２４０Ωのインピーダンスで活性化される場合の出力バッファ１０１のインピーダンスの目標インピーダンスからのずれ（補正値＝０とすることにより、目標インピーダンスである２４０Ω／６＝４０Ωに正確に調整されているので、ずれは少ない）に比べて、大きくなってしまう。そのため、活性化される単位バッファの個数が、６個から７個に変わることに応じて（単位バッファの個数が変化することに応じて）、６個の単位バッファ各々が２４０Ωで活性化される場合のインピーダンス制御信号ＤＲＺＱ２に対して、補正値−１を加算し、７個の単位バッファが（２４０Ω＋α）で活性化される場合のインピーダンス制御信号ＤＲＺＱ２を生成する。７個の単位バッファ各々が、２４０Ωより高い（２４０Ω＋α）のインピーダンスで活性化される場合は、電源配線の電圧降下量は少なくなる。そのため、７個の単位バッファ各々が２４０Ωのインピーダンスで活性化される場合に比べて、出力バッファ１０１のインピーダンスを目標値に近づけることが可能となる。
【００９８】
データ端子ＤＱをＬレベルに駆動する場合、出力制御回路１５０は、ＤＳ設定信号がモードレジスタ２２から入力されると、ＤＳ設定コードが「０１」であって、データＤａｔａが「１」、かつ、内部オンダイターミネーション制御信号ＩＯＤＴがＬレベルであるので、選択信号１５１Ｐ〜１５３ＰをＨレベル、選択信号１５１Ｎ〜１５３Ｎを全てＨレベルとする。これにより、前段回路１６１〜１６３に含まれるＯＲ回路は、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５のレベルにかかわらず、全てＨレベルの動作信号を出力する。そのため、動作信号１６１Ｐ〜１６３Ｐが全てＨレベルとなる。
また、前段回路１６１〜１６３に含まれるＡＮＤ回路のうち、入力信号として対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＨレベルとなっているものはＨレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＬレベルとなっているものはＬレベルの動作信号を出力することになる。
このとき、図１３に示すように、インピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５のレベルは、「５’ｂ０１１１１」（＝「０Ｆｈ」）である。そのため、動作信号１６１Ｎのうち、動作信号１６１Ｎ５がＬレベル、動作信号１６１Ｎ１〜１６１Ｎ４がＨレベルとなる。また、動作信号１６２Ｎのうち、動作信号１６２Ｎ５がＬレベル、動作信号１６２Ｎ１〜１６２Ｎ４がＨレベルとなる。また、動作信号１６３Ｎのうち、動作信号１６３Ｎ５がＬレベル、動作信号１６３Ｎ１〜１６３Ｎ４がＨレベルとなる。
これにより、単位バッファ１１１〜１１４，１２１〜１２３に含まれるプルダウン回路ＰＤは、キャリブレーション回路１３０に含まれるプルダウン回路１３３のインピーダンス２４０Ωより高いインピーダンスである（２４０＋α）Ωでオンする。また、単位バッファ１１１〜１１４，１２１〜１２３に含まれるプルアップ回路ＰＵは、全てオフとなる。つまり、７つの単位バッファ１１１〜１１４，１２１〜１２３に含まれるプルダウン回路ＰＤが全て正確に（２４０＋α）Ωでオンすることから、データ端子ＤＱは、出力バッファ１０１により正確に３４．２Ω（＝２４０Ω／７）のインピーダンスに近いインピーダンスでＬレベル（ＧＮＤ電位）に駆動されることになる。
【００９９】
時刻ｔ４において、メモリコントローラは、オンダイターミネーション端子１２ｂをＬレベルからＨレベルに遷移させ、制御回路２１に、出力バッファ１０１（出力回路）を終端抵抗として機能させる指示をする。これにより、制御回路２１は、出力制御回路１５０に供給する内部オンダイターミネーション制御信号ＩＯＤＴ信号を非活性レベル（Ｌレベル）から活性レベル（Ｈレベル）へ遷移させる。
時刻ｔ３以降、半導体装置１０にコマンド信号ＣＭＤとしてＭＲＳコマンドは供給されていないので、制御回路２１は、モードレジスタ信号ＭＲＳをモードレジスタ２２に出力し続けており、モードレジスタ２２は、時刻ｔ３からの動作において発生したＤＳ設定信号及びＯＤＴ設定信号を補正回路４０に出力している。
補正回路４０におけるマルチプレクサ５０ｍは、時刻ｔ３においてＤＳ設定コード「０１」であったので、補正値−１設定部５０ｍ１が記憶する５ビットのデータ（「５’ｂ１１１１１」＝「１Ｆｈ」）を選択し、選択したデータを補正値ｄ１〜補正値ｄ５（補正値ｄ＝−１）として、加減算器５０ａに出力している。
また、補正回路４０におけるマルチプレクサ６０ｍは、時刻ｔ３においてＯＤＴ設定コード「０１０」であったので、補正値２設定部６０ｍ３が記憶する５ビットのデータ（「５’ｂ０００１０」＝「０２ｈ」）を選択し、選択したデータを補正値ｏ１〜補正値ｏ５（補正値ｏ＝＋２）として、加減算器６０ａに出力している。
【０１００】
また、補正回路４０における加減算器５０ａは、時刻ｔ３以降の動作において、インピーダンス制御信号ＤＲＺＱ１に補正値ｄ＝−１を加算して（１を減算して）、インピーダンス制御信号ＤＲＺＱ２ｄとして、「５’ｂ０１１１１」（＝「０Ｆｈ」）を出力している。また、補正回路４０における加減算器６０ａは、インピーダンス制御信号ＤＲＺＱ１に補正値ｏ＝２を加算して、インピーダンス制御信号ＤＲＺＱ２ｏとして、「５’ｂ１００１０」（＝「１２ｈ」）を出力している。
このとき、内部オンダイターミネーション制御信号ＩＯＤＴはＨレベルであるので、補正回路４０におけるマルチプレクサ４０ｓは、インピーダンス制御信号ＤＲＺＱ２ｏを選択して、インピーダンス制御信号ＤＲＺＱ２を出力する。インピーダンス制御信号ＤＲＺＱ２のレベルは、「５’ｂ１００１０」（＝「１２ｈ」）である。
【０１０１】
出力制御回路１５０は、Ｈレベルの内部オンダイターミネーション制御信号ＩＯＤＴ信号が供給されるので、出力バッファ１０１（出力回路）を終端抵抗として機能させるため、データ端子ＤＱを中間電位に駆動する。
出力制御回路１５０は、ＯＤＴ設定コードが「０１０」であって、内部オンダイターミネーション制御信号ＩＯＤＴがＨレベルであるので、選択信号１５２ＰをＬレベル、選択信号１５１Ｐ、１５３ＰをＨレベル、選択信号１５２ＮをＨレベル、選択信号１５１Ｎ、１５３ＮをＬレベルとする。
これにより、前段回路１６２に含まれるＯＲ回路のうち、入力信号として対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＬレベルとなっているものはＬレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５がＨレベルとなっているものはＨレベルの動作信号を出力することになる。
このとき、図１３に示すようにインピーダンス制御信号ＤＲＺＱ２１〜ＤＲＺＱ２５のレベルは、「５’ｂ１００１０」（＝「１２ｈ」）であるので、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５のレベルは、この論理反転したレベルである「５’ｂ０１１０１」（＝「０Ｄｈ」）である。そのため、動作信号１６２Ｐのうち、動作信号１６２Ｐ４、１６２Ｐ３，１６２Ｐ１がＨレベル、動作信号１６２Ｐ５、１６２Ｐ２がＬレベルとなる。
また、前段回路１６１、１６３に含まれるＯＲ回路は、インピーダンス制御信号ＤＲＺＱＰ２１〜ＤＲＺＱＰ２５のレベルにかかわらず、Ｈレベルの動作信号を出力する。
そのため、動作信号１６１Ｐ、１６３Ｐが全てＨレベルとなる。
また、前段回路１６２に含まれるＡＮＤ回路のうち、入力信号として対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＨレベルとなっているものはＨレベルの動作信号を出力し、対応するインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５がＬレベルとなっているものはＬレベルの動作信号を出力することになる。
このとき、図１３に示すようにインピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５のレベルは、「５’ｂ１００１０」（＝「１２ｈ」）である。そのため、動作信号１６２Ｎのうち、動作信号１６２Ｎ５、１６２Ｎ２がＨレベル、動作信号１６２Ｎ４、１６２Ｎ３、１６２Ｎ１がＬレベルとなる。
また、前段回路１６１、１６３に含まれるＡＮＤ回路は、インピーダンス制御信号ＤＲＺＱＮ２１〜ＤＲＺＱＮ２５のレベルにかかわらず、Ｌレベルの動作信号を出力する。
そのため、動作信号１６１Ｎ、１６３Ｎが全てＬレベルとなる。
【０１０２】
これにより、単位バッファ１２１〜１２２に含まれるプルアップ回路ＰＵは、キャリブレーション回路１３０に含まれるプルアップ回路１３１、１３２のインピーダンス２４０Ωより低いインピーダンスである（２４０−β）Ωでオンする。また、単位バッファ１２１〜１２２に含まれるプルダウン回路ＰＤは、キャリブレーション回路１３０に含まれるプルダウン回路１３３のインピーダンス２４０Ωより低いインピーダンスである（２４０−β）Ωでオンする。
つまり、２つの単位バッファ１２１〜１２２に含まれるプルアップ回路ＰＵ及びプルダウン回路ＰＤが全て正確に（２４０−β）Ωでオンすることから、データ端子ＤＱは、出力バッファ１０１により、１２０Ω（＝２４０Ω／２）のインピーダンスに近いインピーダンスでＶＤＤ／２電位（中間電位）に終端されることになる。
【０１０３】
ここで、β（＞０）は、上記αと同様に、設計工程において計算される値、あるいは評価によって測定される値であり、この計算結果あるいは測定結果を基に補正値＝２が設定されている。
ＯＤＴ設定コードを「０１１」（補正地ｏ＝０）として、出力バッファ１０１を終端抵抗として機能させた場合、６個の単位バッファのインピーダンスが２４０Ωに設定され、この６個の単位バッファが活性化されると、出力バッファ１０１のインピーダンスは４０Ωとなる。一方、時刻ｔ４〜ｔ５の間は、２個の単位バッファが活性化される。２個の単位バッファが２４０Ωのインピーダンスで活性化されると、６個の単位バッファが２４０Ωのインピーダンスで活性化される場合に比べて、出力バッファ１０１が接続される電源配線（この場合は、第１の電源電圧ＶＤＤを供給する電源配線）の電圧降下量は小さくなる。このため、出力バッファ１０１とデータ端子ＤＱとの間に印加する電圧差が大きくなることにより、２個の単位バッファ各々のインピーダンスも設定された２４０Ωより低めに下降し、２で割ったときの出力バッファ１０１のインピーダンスの目標値（２４０Ω／２＝約１２０Ω）より低めにずれてしまう。つまり、活性化される単位バッファの個数が６個から２個へ変わるにも関らず、２個の単位バッファ各々のインピーダンスを、単位バッファが６個の状態で調整した２４０Ωのままにしておくと、これを２で割った出力バッファ１０１のインピーダンスの目標インピーダンスからのずれが、６個の単位バッファが２４０Ωのインピーダンスで活性化される場合の出力バッファ１０１のインピーダンスの目標インピーダンスのずれ（補正値＝０とすることにより、目標インピーダンスである２４０Ω／６＝４０Ωに正確に調整されるので、ずれは少ない）に比べて、大きくなってしまう。そのため、活性化される単位バッファの個数が、６個から２個に変わることに応じて（単位バッファの個数が変化することに応じて）、６個の単位バッファ各々が２４０Ωで活性化される場合のインピーダンス制御信号ＤＲＺＱ２に対して、補正値２を加算し、２個の単位バッファが（２４０Ω−β）で活性化される場合のインピーダンス制御信号ＤＲＺＱ２を生成する。２個の単位バッファ各々が、２４０Ωより低い（２４０Ω−β）のインピーダンスで活性化される場合は、２個の単位バッファ各々が、２４０Ωのインピーダンスで活性化される場合に比べて、電源配線の電圧降下量は多くなる。そのため、出力バッファ１０１のインピーダンスを目標値に近づけることが可能となる。
【０１０４】
時刻ｔ５において、メモリコントローラが、オンダイターミネーション端子１２ｂをＨレベルからＬレベルに遷移させると、インピーダンス制御信号ＤＲＺＱ２のレベルは、時刻ｔ４以前のレベルに戻り、半導体装置１０は、データ出力動作が可能な状態へ移行する。すなわち、上述した時刻ｔ３〜ｔ４と同様に、メモリセルアレイ２０からのデータＤａｔａをデータ端子ＤＱへ出力する動作を行うことができる状態へ移行する。
【０１０５】
このように、半導体装置１０は、各々が調整可能なインピーダンスを備える複数の単位バッファを含む出力回路（出力バッファ１０１）と、複数の単位バッファ回路のうちの１または複数個の単位バッファ回路を選択的に活性化する制御回路（出力制御回路１５０）と、複数の単位バッファのそれぞれのインピーダンスを調整するインピーダンス調整部であって、当該インピーダンス調整部は、制御回路によって選択的に活性化された１又は複数個の単位バッファ回路の個数が変化することに応じて複数の単位バッファのそれぞれのインピーダンスを調整する、インピーダンス調整部（インピーダンス調整部３０）と、を備える。
【０１０６】
これにより、本発明は、制御回路（出力制御回路１５０）によって選択的に活性化された１又は複数個の単位バッファ（単位バッファ１１１〜１１４、１２１〜１２３）の個数が変化することに応じて、複数の単位バッファのそれぞれのインピーダンスを調整する。このため、活性化させる単位バッファの数に違いによる出力回路のインピーダンスの目標値からのずれを低減することができ、出力回路（出力バッファ１０１）のインピーダンス調整の精度を向上させることができる。
【０１０７】
本願の技術思想は、メモリ機能以外に様々な機能を有する半導体装置に適用できる。更に、図面で開示した各回路ブロック内の回路形式、その他の制御信号を生成する回路は、実施例が開示する回路形式に限られない。
また、本発明の半導体装置の技術思想は、様々な半導体装置に適用することができる。例えば、ＣＰＵ（Central Processing Unit）、ＭＣＵ（Micro Control Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＡＳＳＰ（Application Specific Standard Product）、メモリ（Memory）等の半導体装置全般に、本発明を適用することができる。このような本発明が適用された半導体装置の製品形態としては、例えば、ＳＯＣ（システムオンチップ）、ＭＣＰ（マルチチップパッケージ）やＰＯＰ（パッケージオンパッケージ）などが挙げられる。これらの任意の製品形態、パッケージ形態を有する半導体装置に対して本発明を適用することができる。
また、トランジスタは、電界効果トランジスタ（Field Effect Transistor;FET）であれば良く、ＭＯＳ（Metal Oxide Semiconductor）以外にもＭＩＳ（Metal-Insulator Semiconductor）、TFT(Thin Film Transistor)等の様々なＦＥＴに適用できる。トランジスタ等の様々なＦＥＴに適用できる。更に、装置内に一部のバイポーラ型トランジスタを有しても良い。
更に、ＮＭＯＳトランジスタ（Ｎ型チャネルＭＯＳトランジスタ）は、第１導電型のトランジスタ、ＰＭＯＳトランジスタ（Ｐ型チャネルＭＯＳトランジスタ）は、第２導電型のトランジスタの代表例である。
また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であれば成し得る各種変形、修正を含むことは勿論である。
【符号の説明】
【０１０８】
１０…半導体装置、１２ａ…コマンド端子、１２ｂ…オンダイターミネーション端子、１３…アドレス端子、ＤＱ，ＤＱ０…データ端子、ＺＱ…キャリブレーション端子、２０…メモリセルアレイ、２１…制御回路、１５０…出力制御回路、２２…モードレジスタ、１００…データ入出力部、ＣＭＤ…コマンド信号、ＡＤＤ…アドレス信号、ＩＯＤＴ…内部オンダイターミネーション制御信号、３０…インピーダンス調整部、４０…補正回路、１３０…キャリブレーション回路、１１１，１１２，１１３，１１４，１２１，１２２，１２３…単位バッファ、１１０…第１の出力バッファ、１２０…第２の出力バッファ、１０１…出力バッファ、１７０…入力バッファ、１６１，１６２，１６３…前段回路、１５１Ｐ，１５２Ｐ，１５３Ｐ，１５１Ｎ，１５２Ｎ，１５３Ｎ…選択信号、１６１Ｐ，１６１Ｐ１，１６１Ｐ２，１６１Ｐ３，１６１Ｐ４，１６１Ｐ５，１６２Ｐ，１６２Ｐ１，１６２Ｐ２，１６２Ｐ３，１６２Ｐ４，１６２Ｐ５，１６３Ｐ，１６３Ｐ１，１６３Ｐ２，１６３Ｐ３，１６３Ｐ４，１６３Ｐ５，１６１Ｎ，１６１Ｎ１，１６１Ｎ２，１６１Ｎ３，１６１Ｎ４，１６１Ｎ５，１６２Ｎ，１６２Ｎ１，１６２Ｎ２，１６２Ｎ３，１６２Ｎ４，１６２Ｎ５，１６３Ｎ，１６３Ｎ１，１６３Ｎ２，１６３Ｎ３，１６３Ｎ４，１６３Ｎ５…動作信号、ＤＲＺＱ１，ＤＲＺＱ１１，ＤＲＺＱ１２，ＤＲＺＱ１３，ＤＲＺＱ１４，ＤＲＺＱ１５，ＤＲＺＱ１ｄ，ＤＲＺＱ１ｄ１，ＤＲＺＱ１ｄ２，ＤＲＺＱ１ｄ３，ＤＲＺＱ１ｄ４，ＤＲＺＱ１ｄ５，ＤＲＺＱ１ｏ，ＤＲＺＱ１ｏ１，ＤＲＺＱ１ｏ２，ＤＲＺＱ１ｏ３，ＤＲＺＱ１ｏ４，ＤＲＺＱ１ｏ５，ＤＲＺＱＰ１，ＤＲＺＱＰ１１，ＤＲＺＱＰ１２，ＤＲＺＱＰ１３，ＤＲＺＱＰ１４，ＤＲＺＱＰ１５，ＤＲＺＱＮ１，ＤＲＺＱＮ１１，ＤＲＺＱＮ１２，ＤＲＺＱＮ１３，ＤＲＺＱＮ１４，ＤＲＺＱＮ１５，ＤＲＺＱ２ｄ，ＤＲＺＱ２ｏ，ＤＲＺＱ２，ＤＲＺＱ２１，ＤＲＺＱ２２，ＤＲＺＱ２３，ＤＲＺＱ２４，ＤＲＺＱ２５，ＤＲＺＱＰ２，ＤＲＺＱＰ２１，ＤＲＺＱＰ２２，ＤＲＺＱＰ２３，ＤＲＺＱＰ２４，ＤＲＺＱＰ２５，ＤＲＺＱＮ２，ＤＲＺＱＮ２１，ＤＲＺＱＮ２２，ＤＲＺＱＮ２３，ＤＲＺＱＮ２４，ＤＲＺＱＮ２５…インピーダンス制御信号、２３１，２３２，３３１，３３２，１３８，１３９，ＲＺＱ…抵抗、２１１，２１２，２２１，３１１，３２１…トランジスタ、ＰＵ，１３１，１３２…プルアップ回路、ＰＤ，１３３…プルダウン回路、１３４，１３５…カウンタ、１３６，１３７…コンパレータ、４１１，５４２，５４３，５４４，５４５…ＯＲ回路、４２１，５１１，５１２，５１３，５１４，５１５，５３２，５３３，５３４，５３５…ＡＮＤ回路、５０１，５０２，５０３，５０４，５０５，５２２，５２３，５２４，５２５…ＥＸＯＲ回路、４０ｄ，４０ｏ…補正回路部、４０ｓ，５０ｍ，６０ｍ，５２ｓ，６２ｓ，５６１，５６２，５６３，５６４，５６５，６６１，６６２，６６３，６６４，６６５…マルチプレクサ、５０ａ，６０ａ…加減算器
【図１】
0005635459.tif 000002
【図２】
0005635459.tif 000003
【図３】
0005635459.tif 000004
【図４】
0005635459.tif 000005
【図５】
0005635459.tif 000006
【図６】
0005635459.tif 000007
【図７】
0005635459.tif 000008
【図８】
0005635459.tif 000009
【図９】
0005635459.tif 000010
【図１０】
0005635459.tif 000011
【図１１】
0005635459.tif 000012
【図１２】
0005635459.tif 000013
【図１３】
0005635459.tif 000014