半導体装置
【課題】出力回路のインピーダンス調整の精度を向上する半導体装置を提供する。
【解決手段】各々が調整可能なインピーダンスを備える複数の単位バッファを含む出力回路(出力バッファ101)と、複数の単位バッファ回路のうちの1または複数個の単位バッファ回路を選択的に活性化する制御回路(出力制御回路150)と、複数の単位バッファのそれぞれのインピーダンスを調整するインピーダンス調整部であって、当該インピーダンス調整部は、制御回路によって選択的に活性化された1又は複数個の単位バッファ回路の個数が変化することに応じて複数の単位バッファのそれぞれのインピーダンスを調整する、インピーダンス調整部(インピーダンス調整部30)と、を備える。
【解決手段】各々が調整可能なインピーダンスを備える複数の単位バッファを含む出力回路(出力バッファ101)と、複数の単位バッファ回路のうちの1または複数個の単位バッファ回路を選択的に活性化する制御回路(出力制御回路150)と、複数の単位バッファのそれぞれのインピーダンスを調整するインピーダンス調整部であって、当該インピーダンス調整部は、制御回路によって選択的に活性化された1又は複数個の単位バッファ回路の個数が変化することに応じて複数の単位バッファのそれぞれのインピーダンスを調整する、インピーダンス調整部(インピーダンス調整部30)と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置に関する。
【背景技術】
【0002】
近年、半導体装置間(CPUとメモリとの間など)におけるデータ転送には、より高いデータ転送レートが要求されている。データ転送レートをより高くする必要から、入出力信号レベルの振幅がますます小さくなってきている。入出力信号が小さくなるに従って、正確な振幅の信号を出力する必要があるため、出力バッファのインピーダンスに対して厳しい要求精度が要求されている。
【0003】
しかし、出力バッファのインピーダンスは、製造時のプロセス条件によりばらつくだけでなく、半導体装置の実使用時においても、周辺温度の変化や電源電圧の変動の影響を受けて変動する。このため、出力バッファに高いインピーダンス精度が要求される場合、インピーダンス調整機能を持った出力バッファが採用されている。このような出力バッファに対するインピーダンスの調整は、一般に「キャリブレーション(Calibration)回路」と呼ばれる、半導体装置内に設けられた回路を用いて行われる(特許文献1、及び特許文献2参照)。
【0004】
キャリブレーション回路には出力バッファと同じ構成を有するレプリカバッファが含まれている。キャリブレーション動作を行う場合、半導体装置が有するキャリブレーション用の外部端子(キャリブレーション端子)に外部抵抗を接続し、キャリブレーション端子に現れる電圧と基準電圧とを比較し、比較結果に応じてレプリカバッファのインピーダンスを調整する。そして、レプリカバッファの調整内容を出力バッファに反映させることにより、出力バッファのインピーダンスを所望の値に調整する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−228332号公報
【特許文献2】特開2007−213786号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の半導体装置では、出力バッファを構成する複数の単位バッファのそれぞれのインピーダンスを、キャリブレーション回路内のレプリカバッファを用いて所定の設定値に調整し、データ出力時やODT(On Die Termination;オンダイターミネーション)時に、複数の単位バッファのうちのいくつかの単位バッファを選択的に活性化させることで、出力バッファのインピーダンスを目標値に設定する。
【0007】
しかしながら、データ出力時やODT時に複数の単位バッファ回路を活性化させた場合、複数の単位バッファが共通に接続される電源配線による電圧降下が、活性させた単位バッファの個数に依存して変化する。そのため、活性化させた複数の単位バッファ回路各々のインピーダンスが、データ出力時やODT時に、所定の設定値に調整したインピーダンスと異なってしまい、出力バッファのインピーダンスが目標値からずれてしまうという問題がある。
【0008】
なお、特許文献2には、出力バッファのインピーダンスを低下させ、出力バッファのドライビング能力を向上させるためのプリエンファシス機能を備える半導体装置について開示されている。この半導体装置は、プリエンファシス機能を別途のドライバなしで行うために、出力バッファのインピーダンス値を調整するためのコードに対し、所定の期間オフセットデータによる調整コードを加算することで、出力バッファのドライビング能力を強化する。しかしながら、特許文献2に記載された半導体装置では、活性化させた複数の単位バッファ回路各々のインピーダンスが、所定の設定値に調整したインピーダンスと異なることにより、出力バッファのインピーダンスが目標値からずれてしまうという問題がある。
【課題を解決するための手段】
【0009】
本発明は、各々が調整可能なインピーダンスを備える複数の単位バッファを含む出力回路と、前記複数の単位バッファのうちの1または複数個の単位バッファを選択的に活性化する制御回路と、前記複数の単位バッファのそれぞれのインピーダンスを調整するインピーダンス調整部であって、当該インピーダンス調整部は、前記制御回路によって選択的に活性化された前記1又は複数個の単位バッファの個数が変化することに応じて前記複数の単位バッファのそれぞれのインピーダンスを調整する、前記インピーダンス調整部と、を備えることを特徴とする半導体装置である。
【発明の効果】
【0010】
本発明によれば、制御回路によって選択的に活性化された1又は複数個の単位バッファの個数が変化することに応じて、複数の単位バッファのそれぞれのインピーダンスを調整する。このため、活性化させる単位バッファの数の違いによる出力回路のインピーダンスの目標値からのずれを低減することができ、出力バッファ(出力回路)のインピーダンス調整の精度を向上させることができる。
【図面の簡単な説明】
【0011】
【図1】本発明の好ましい実施形態による半導体装置10の構成を示すブロック図である。
【図2】データ入出力部100の構成を示すブロック図である。
【図3】単位バッファ111の回路図である。
【図4】キャリブレーション回路130の構成を示すブロック図である。
【図5】プルアップ回路131、プルダウン回路133の回路図である。
【図6】前段回路161の回路図である。
【図7】補正回路40の構成を示すブロック図である。
【図8】補正回路部40dの回路図である。
【図9】補正回路部40oの回路図である。
【図10】補正回路40の動作を説明するための図である。
【図11】DS設定コード及びODT設定コードを示すテーブルである。
【図12】キャリブレーション動作を説明するためのフローチャートである。
【図13】半導体装置10の動作タイミングチャートである。
【発明を実施するための形態】
【0012】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
図1は、本発明を半導体装置、例えば外部から供給されるクロック信号に同期して動作するSDRAM(シンクロナス・ダイナミック・ランダム・アクセス・メモリ)に適用した場合の半導体装置10の概略構成を示す。なお、図1に示されている各回路ブロックは、全て単結晶シリコンからなる同一の半導体チップ上に形成される。各回路ブロックは、例えば、PMOSトランジスタ(P型チャネルMOSトランジスタ)及びNMOSトランジスタ(N型チャネルMOSトランジスタ)等の複数のトランジスタで構成される。また、○印で示されているのは、当該半導体チップに設けられる外部端子としてのパッドである。
【0013】
半導体装置10は、メモリセルアレイ20、制御回路21、モードレジスタ22、及びデータ入出力部100を含んで構成される。
本発明の半導体装置10の特徴部分となるデータ入出力部100は、DS機能、ODT機能を有している。DS(Driver Strengthen)機能とは、データ出力時に、出力バッファのインピーダンスを調整する機能である。半導体装置10は、DS設定信号に応じて、出力バッファを構成する単位バッファの活性化する個数を変更することで、このDS機能を有効にする。
また、ODT(On Die Termination)機能とは、データ端子DQに接続された外部バス上で他の半導体装置がデータ転送を行っている場合に、出力バッファを終端抵抗として機能させることによって信号の反射を防止する機能である。半導体装置10は、ODT設定信号に応じて、出力バッファを構成する単位バッファにおける活性化する個数を変更することで、このODT機能を有効にする。
これらDS機能、ODT機能に関する詳細については後述することとし、まず以下に、半導体装置10の概略について説明する。
【0014】
半導体装置10は、外部端子(半導体チップ上のパッド)として、コマンド端子12a、オンダイターミネーション端子12b、アドレス端子13、データ端子DQ0〜DQn、キャリブレーション端子ZQを備えている。その他、クロック端子、電源端子等の外部端子も備えるが、これらについては本発明とは関連がないため図示を省略してある。
【0015】
コマンド端子12aは、例えばロウアドレスストローブ信号/RAS、カラムアドレスストローブ信号/CAS、ライトイネーブル信号/WE、チップセレクト信号/CS等の信号が供給される端子を総称して示した端子である。これらの端子に入力される信号の組合せによりコマンド信号CMDが構成される。このコマンド端子12aは、制御回路21に接続される。なお、本明細書において信号名の先頭に「/」が付されている信号は、対応する信号の反転信号又はローアクティブな信号であることを意味する。
また、オンダイターミネーション端子12bは、オンダイターミネーション信号ODTが供給される端子である。このオンダイターミネーション端子12bは、制御回路21に接続される。
アドレス端子13は、アドレス信号ADDが供給される端子であり、制御回路21に接続される。
データ端子DQは、リードデータの出力及びライトデータの入力を行うための端子であり、データ入出力部100に接続されている。また、データ入出力部100はキャリブレーション端子ZQにも接続されている。データ入出力部100におけるキャリブレーション動作(後述)は、このキャリブレーション端子ZQに外部抵抗を接続して行われる。
【0016】
メモリセルアレイ20は、複数のワード線と複数のビット線と、ワード線とビット線との交点に配置された複数のメモリセルを含む。
制御回路21は、外部からコマンド端子12aを介して供給されるコマンド信号CMDと、外部からアドレス端子13を介して供給されるアドレス信号ADDとに応じて、メモリセルアレイ20の動作を制御する各種動作制御信号ICNTを、メモリセルアレイ20に供給する。
制御回路21は、各種動作制御信号ICNTを、メモリセルアレイ20に供給することで、メモリセルアレイ20におけるメモリセルからのデータ読み出し動作であるリード動作と、メモリセルへのデータ書き込み動作であるライト動作とを制御する。
【0017】
また、制御回路21は、外部からコマンド端子12aを介して、コマンド信号CMDとしてモードレジスタセットコマンド(MRSコマンド)が供給された場合、このMRSコマンドとともにアドレス端子13からアドレス信号ADDとして供給されるモード設定コードに応じたモードレジスタセット信号MRSをモードレジスタ22に供給する。
また、制御回路21は、外部からコマンド端子12aを介して、コマンド信号CMDとしてキャリブレーション動作の実行を示すコマンド(CALコマンド)が供給された場合、制御信号ACT1,2をデータ入出力部100に供給する。
さらに、制御回路21は、外部からオンダイターミネーション端子12bを介して供給されるオンダイターミネーション信号ODTのレベルに応じて、内部オンダイターミネーション制御信号IODTの活性レベルと非活性レベルとを制御する。
【0018】
モードレジスタ22(MR)は、制御回路21からのモードレジスタセット信号MRSに応じて設定されたDS設定信号及びODT設定信号を、データ入出力部100に供給する。データ入出力部100では、これらの設定信号に応じて、それぞれDS設定、ODT設定が行われる。ここで、DS設定とは、データ出力動作において選択的に活性化された単位バッファの個数に応じて単位バッファのインピーダンスを調整し、出力バッファを構成する複数の単位バッファのうちから、活性化される単位バッファを選択し、出力バッファのインピーダンスを目標インピーダンスとすることである。また、ODT設定とは、半導体装置10の終端抵抗としてのODT動作において、選択的に活性化された単位バッファの個数に応じて単位バッファのインピーダンスを調整し、出力バッファを構成する複数の単位バッファのうちから、活性化される単位バッファを選択し、出力バッファのインピーダンスを目標インピーダンスとすることである。
データ入出力部100は、リード動作時には、メモリセルアレイ20から供給されるデータDataを、データ端子DQ0〜DQnを介して外部に供給し、一方、ライト動作時には、外部からデータ端子DQ0〜DQnを介して供給されるデータDataをメモリセルアレイ20に供給する。
【0019】
次にデータ入出力部100について、図2を用いて説明する。
図2は、データ入出力部100の構成を示すブロック図である。図2に示すように、データ入出力部100は、データ端子DQに接続された第1の出力バッファ110及び第2の出力バッファ120と、キャリブレーション端子ZQに接続されたインピーダンス調整部30と、データ端子DQに接続された入力バッファ170とを備えている。なお、入力バッファ170は、データ入力時に活性化される回路であるが、入力バッファ170の構成やデータ入力動作の詳細は、本発明の要旨と直接関係がないため、本明細書での説明は省略する。また、本明細書において、第1の出力バッファ110及び第2の出力バッファ120により、データ入出力部100の出力バッファ101が構成されるものとする。
【0020】
出力バッファ101を構成する第1の出力バッファ110は、並列接続された4つの単位バッファ111〜114によって構成される。また、出力バッファ101を構成する第2の出力バッファ120は並列接続された3つの単位バッファ121〜123によって構成される。単位バッファ111〜114,121〜123は、リード動作時においてデータ端子DQを駆動するための回路であり、図2に示すようにデータ端子DQに対して並列に接続されている。これら単位バッファ111〜114,121〜123は互いに同一の回路構成を有しており、一例として、本実施形態ではいずれも240Ω(調整後の値)のインピーダンスを有している。このインピーダンスは、キャリブレーション動作(後述)において、インピーダンス調整部30により生成されるインピーダンス制御信号DRZQ2(コード)により調整可能なインピーダンスである。
従って、例えば、全ての単位バッファ111〜114,121〜123が活性化されれば、データ端子DQからみた出力バッファ101のインピーダンス(目標値)は、約34.3Ω(=240Ω/7)となる。また、例えば、第1の出力バッファ110を構成する4つの単位バッファ111〜114と、第2の出力バッファ120を構成する3つの単位バッファ121〜123のうち、2つの単位バッファ121,122が活性化されれば、データ端子DQからみた出力バッファ101のインピーダンス(目標値)は40Ω(=240Ω/6)となる。
しかしながら、問題点において述べたように、これら複数の単位バッファが共通に接続される電源配線の抵抗が、活性された単位バッファの個数に依存して変化する。そのため、活性化された複数の単位バッファ回路各々のインピーダンスが、データ出力時やODT時に、キャリブレーション動作において調整された所定の設定値(この場合240Ω)と異なってしまい、結果として出力バッファ101のインピーダンスが目標値からずれてしまう。例えば、上記例の場合、全ての単位バッファ(この場合7個)が選択的に活性化された場合は、1個の単位バッファが選択的に活性化された場合に比べて、各単位バッファが共通に接続される電源配線が電圧降下しやすくなる。キャリブレーション動作では、1個の単位バッファに相当するレプリカバッファを用いて複数の単位バッファ各々のインピーダンスを240Ωに設定するため、7個の単位バッファが選択的に活性化されると、単位バッファのインピーダンスは調整された240Ωより高くなり、出力バッファ101のインピーダンスも目標である約34.3Ωより高めに設定されてしまう。このように、選択的に活性化された単位バッファの個数に応じて、データ出力時やODT時に、所定の設定値(この場合240Ω)に調整したインピーダンスと異なってしまい、結果として出力バッファ101のインピーダンスが目標値からずれてしまう。
【0021】
そのため、インピーダンス調整部30は、活性される単位バッファの個数に応じて、インピーダンス制御信号DRZQ1を補正してインピーダンス制御信号DRZQ2を生成する。インピーダンス調整部30は、このインピーダンス制御信号DRZQ2に基づいて単位バッファのインピーダンスを調整し、出力バッファ101のインピーダンスを目標値に近づける。上記例で言えば、7個の単位バッファが選択的に活性化される場合、各単位バッファのインピーダンスを240Ωより高めに調整することで、出力バッファ101のインピーダンスを目標である約34.3Ωに近づける。
従って、単位バッファ111〜114,121〜123のインピーダンスは、キャリブレーショ動作(後述)においては、活性させる単位バッファの個数に応じて調整される。例えば、補正がなければ、図2に示すように240オームのまま設定されることもあれば、補正により240オームより低い値、或いは高い値に設定される場合もある。もちろん、このキャリブレーション動作において単位バッファのインピーダンスがインピーダンス制御信号DRZQ2により一度調整されても、インピーダンス制御信号DRZQ2を生成する際の補正値は、予め設定された補正値の範囲内で更新することが可能であり(後述)、選択的に活性化された単位バッファの個数に応じて、単位バッファのインピーダンスは、再度のキャリブレーション動作なしに調整される。
【0022】
インピーダンス調整部30は、このインピーダンス制御信号DRZQ1、及びインピーダンス制御信号DRZQ2を生成する回路である。
インピーダンス調整部30は、キャリブレーション回路130(インピーダンス調整回路)と、補正回路40(補正回路)とを含んで構成される。
キャリブレーション回路130は、キャリブレーション端子ZQに接続される外部抵抗の抵抗値に応じて、複数の単位バッファ(単位バッファ111〜114,121〜123)のそれぞれのインピーダンスを調整するためのインピーダンス制御信号DRZQ1(第1のインピーダンス制御信号)を発生する回路である。
また、補正回路40は、キャリブレーション回路130からインピーダンス制御信号DRZQ1を受け取り、このインピーダンス制御信号DRZQ1に、活性化される単位バッファ回路の個数に応じた補正を実行してインピーダンス制御信号DRZQ2(第2のインピーダンス調整信号)を発生する回路である。補正回路40は、活性化される単位バッファ回路の個数として、DS設定信号、またはODT設定信号をモードレジスタから受け取り、この設定信号を基に補正を行い、インピーダンス制御信号DRZQ2(第2のインピーダンス調整信号)を発生する。また、補正回路40は、インピーダンス制御信号DRZQ2を、前段回路を介して複数の単位バッファ(単位バッファ111〜114,121〜123)に供給して複数の単位バッファのそれぞれのインピーダンスを調整する。
【0023】
単位バッファ111〜114の動作は、前段回路161より供給される動作信号161P,161Nによって制御され、単位バッファ121,122の動作は、前段回路162より供給される動作信号162P,162Nによって制御され、単位バッファ123の動作は、前段回路163より供給される動作信号163P,163Nによって制御される。
前段回路161〜163は、それぞれ対応する単位バッファ111〜114,121〜123に含まれる複数の出力トランジスタ(後述)のいずれをオンさせるかを指定する回路であり、これら出力トランジスタのオン(導通)またオフ(非導通)は、動作信号161P〜163P及び動作信号161N〜163Nによって制御される。図2に示すように、前段回路161〜163には、キャリブレーション回路130からインピーダンス制御信号DRZQ2が共通に供給されるとともに、出力制御回路150から選択信号151P〜153P及び選択信号151N〜153Nが個別に供給される。
【0024】
出力制御回路150は、複数の単位バッファ111〜11nのうち活性化させる単位バッファを指定するとともに、DQ端子を駆動する際の出力レベルを指定する回路である。活性化させる単位バッファの指定は、DS設定信号、またはODT設定信号をモードレジスタから受け取り、これらの設定信号に基づき、選択信号151P〜153P及び選択信号151N〜153Nを前段回路161〜163に出力することにより行う。また、活性化させる単位バッファの出力レベルは、リード動作ではメモリセルアレイ20から供給されるデータDataに基づいて定められる。
【0025】
以下、データ入出力部100を構成する各回路ブロックについてより詳細に説明する。
図3は、単位バッファ111の回路図である。
図3に示すように、単位バッファ111は、並列接続された複数(本実施形態では5つ)のPチャンネルMOSトランジスタ211〜215と、並列接続された複数(本実施形態では5つ)のNチャンネルMOSトランジスタ221〜225と、これらトランジスタ211〜215とトランジスタ221〜225との間に直列に接続された抵抗231,232とを備え、抵抗231と抵抗232の接続点がデータ端子DQに接続されている。単位バッファ111のうち、PチャンネルMOSトランジスタ211〜215及び抵抗231からなる部分はプルアップ回路PUを構成しており、NチャンネルMOSトランジスタ221〜225及び抵抗232からなる部分はプルダウン回路PDを構成している。
【0026】
トランジスタ211〜215のゲートには、動作信号161Pを構成する5つの動作信号161P1〜161P5が供給されており、トランジスタ221〜225のゲートには、動作信号161Nを構成する5つの動作信号161N1〜161N5が供給されている。これにより、単位バッファ111に含まれる10個のトランジスタは、10本の動作信号161P1〜161P5及び動作信号161N1〜161N5によって、個別にオンまたはオフ制御を行うことができる。
【0027】
トランジスタ211〜215からなる並列回路及びトランジスタ221〜225からなる並列回路は、いずれも導通時に120Ωとなるように設計されている。しかしながら、トランジスタのオン抵抗は製造条件によってばらつくとともに、動作時における環境温度や電源電圧によって変動することから、必ずしも所望のインピーダンスが得られるとは限らない。このため、キャリブレーション動作において実際にインピーダンスを120Ωとするためには、オンさせるべきトランジスタの数を調整する必要があり、かかる目的のために、複数のトランジスタからなる並列回路を用いている。インピーダンスを微細且つ広範囲に調整するためには、並列回路を構成する複数のトランジスタのW/L比(ゲート幅/ゲート長比)を互いに異ならせることが好ましく、2のべき条の重み付けをすることが特に好ましい。この点を考慮して、本実施形態では、トランジスタ211のW/L比を「1」とした場合、トランジスタ212〜215のW/L比をそれぞれ「2」、「4」、「8」、「16」に設定している(W/L比の値は相対値であり、実際のW/L比を表しているものではない。以下同様)。
これにより、動作信号161P1〜161P5及び動作信号161N1〜161N5によってオンさせるトランジスタを適宜選択することによって、製造条件によるばらつきや温度変化などにかかわらず、並列回路のオン抵抗をキャリブレーション動作においてほぼ120Ωに固定させることができる。
【0028】
また、抵抗231,232の抵抗値は、いずれも120Ωに設計されている。これにより、トランジスタ211〜215からなる並列回路及びトランジスタ221〜225からなる並列回路の少なくとも一方がオン状態となれば、データ端子DQからみた単位バッファ111のインピーダンスは240Ωとなる。抵抗231,232としては、例えばタングステン(W)抵抗を用いることができる。
【0029】
第1の出力バッファ110を構成する他の単位バッファ112〜114も、図3に示す単位バッファ111と同じ回路構成を有し、かつ、同じ動作信号161P1〜161P5及び動作信号161N1〜161N5によって制御される。一方、第2の出力バッファ120を構成する他の単位バッファ121〜123は、図3に示す単位バッファ111と同じ回路構成を有しているものの、単位バッファ121,122の動作は動作信号162P,162Nによって制御され、単位バッファ123の動作は動作信号163P,163Nによって制御される。動作信号162P,162,163P,163Nについても、それぞれ5つの動作信号によって構成されており、それぞれ対応するプルアップ回路PU又はプルダウン回路PDを制御する。
【0030】
図4は、キャリブレーション回路130の回路図である。キャリブレーション回路130は、プルアップ回路131,132と、プルダウン回路133と、プルアップ回路131,132の動作を制御するカウンタ134と、プルダウン回路133の動作を制御するカウンタ135と、カウンタ134を制御するコンパレータ136と、カウンタ135を制御するコンパレータ137とを備えている。
【0031】
図5は、図4に示すプルアップ回路131及びプルダウン回路133の回路図である。図5(a)に示すように、プルアップ回路131は、単位バッファ111〜114,121〜123に含まれるプルアップ回路PUと実質的に同じ回路構成を有している。つまり、プルアップ回路131は、並列接続された5つのPチャンネルMOSトランジスタ311〜315と、一端がこれらトランジスタのドレインに接続された抵抗331とを備え、抵抗331の他端がキャリブレーション端子ZQに接続されている。
プルアップ回路131に含まれるトランジスタ311〜315は、図3に示すトランジスタ211〜215に対応しており、それぞれ同一のインピーダンスを有している。したがって、トランジスタ211〜215のW/L比と同様、トランジスタ311〜315のW/L比もそれぞれ「1」、「2」、「4」、「8」、「16」に設定されている。
ただし、インピーダンスが実質的に同じである限り、プルアップ回路131に含まれるトランジスタ311〜315と、図3に示すトランジスタ211〜215とが全く同じトランジスタサイズである必要はなく、シュリンクしたトランジスタを用いても構わない。
抵抗331も、図3に示す抵抗231に対応しており、したがって、その抵抗値は12
0Ωに設定されている。
【0032】
トランジスタ311〜315のゲートには、カウンタ134よりインピーダンス制御信号DRZQP11〜DRZQP15がそれぞれ供給されており、これによってプルアップ回路131の動作が制御される。インピーダンス制御信号DRZQP11〜DRZQP15は、動作信号161P1〜161P5に対応する信号である。
プルアップ回路132も、図5(a)に示すプルアップ回路131と同一の回路構成を有しており、プルアップ回路132に含まれる5つのトランジスタのゲートには、同じくインピーダンス制御信号DRZQP1〜DRZQP5が供給される。
【0033】
図5(b)は、プルダウン回路133の回路図である。図5(b)に示すように、プルダウン回路133は、単位バッファ111〜114,121〜123に含まれるプルダウン回路PDと実質的に同じ回路構成を有している。つまり、プルダウン回路133は、並列接続された5つのNチャンネルMOSトランジスタ321〜325と、一端がこれらトランジスタのドレインに接続された抵抗332とを備えている。プルダウン回路133に含まれるトランジスタ321〜325は、図3に示すトランジスタ221〜225に対応しており、それぞれ同一のインピーダンスを有している。この点は、プルアップ回路131と同様である。抵抗332も、図3に示す抵抗232に対応しており、したがって、その抵抗値は120Ωに設定されている。
トランジスタ321〜325のゲートには、カウンタ135よりインピーダンス制御信号DRZQN11〜DRZQN15がそれぞれ供給されており、これによってプルダウン回路133の動作が制御される。インピーダンス制御信号DRZQN1〜DRZQN5は、動作信号161N1〜161N5に対応する信号である。
【0034】
このように、プルアップ回路131,132は、いずれも単位バッファ111〜114,121〜123に含まれるプルアップ回路PUと実質的に同じ回路構成を有しており、プルダウン回路133は、単位バッファ111〜114,121〜123に含まれるプルダウン回路PDと実質的に同じ回路構成を有している。したがって、プルアップ回路131,132及びプルダウン回路133のインピーダンスは、いずれも240Ω(キャリブレーション動作における調整後の値)である。このうち、プルアップ回路132とプルダウン回路133は、「レプリカバッファ」を構成しており、したがって、レプリカバッファは単位バッファ111〜114,121〜123と実質的に同じ回路構成を有していることになる。ここでいう「実質的に同じ」とは、レプリカバッファに含まれるトランジスタがシュリンクされている場合であっても同じとみなす意である。
【0035】
図4に戻って、レプリカバッファの出力端である接点Aは、コンパレータ137の非反転入力端子(+)に接続されている。
カウンタ134は、制御信号ACT1が活性化するとカウントアップ又カウントダウンするカウンタであり、コンパレータ136の出力である比較信号COMP1がハイレベルである場合にはカウントアップを続け、比較信号COMP1がローレベルである場合にはカウントダウンを続ける。コンパレータ136の非反転入力端子(+)はキャリブレーション端子ZQに接続されており、反転入力端子(−)は電源電位(VDD)とグランド電位(GND)間に直列接続された抵抗138及び抵抗139の中点に接続されている。かかる構成により、コンパレータ136は、キャリブレーション端子ZQの電位と中間電位(VDD/2)とを比較し、前者の方の電位が高ければその出力である比較信号COMP1をハイレベルとし、後者の方の電位が高ければ比較信号COMP1をローレベルとする。
【0036】
一方、カウンタ135は、制御信号ACT2が活性化するとカウントアップ又カウントダウンするカウンタであり、コンパレータ137の出力である比較信号COMP2がハイレベルである場合にはカウントアップを続け、比較信号COMP2がローレベルである場合にはカウントダウンを続ける。コンパレータ137の非反転入力端子(+)はレプリカバッファの出力端である接点Aに接続され、反転入力端子(−)は抵抗138,139の中点に接続されている。かかる構成により、コンパレータ137は、レプリカバッファの出力電位と中間電圧(VDD/2)とを比較し、前者の方の電位が高ければその出力である比較信号COMP2をハイレベルとし、後者の方の電位が高ければ比較信号COMP2をローレベルとする。
【0037】
そして、カウンタ134,135は、制御信号ACT1,ACT2が非活性化するとカウント動作を停止し、現在のカウント値を保持する。上述のとおり、カウンタ134のカウント値はインピーダンス制御信号DRZQP1として用いられ、カウンタ135のカウント値はインピーダンス制御信号DRZQN1として用いられる。そして、これらの総称であるインピーダンス制御信号DRZQ1は、キャリブレーション動作において、補正回路40により補正され、インピーダンス制御信号DRZQ2(インピーダンス制御信号DRZQP2とインピーダンス制御信号DRZQN2の総称)として、図2に示す前段回路161〜163に共通に供給される。
【0038】
図6は、前段回路161の回路図である。前段回路161は、論理和回路であるOR回路411〜415と、論理積回路であるAND回路421〜425によって構成されている。OR回路411〜415には、出力制御回路150からの選択信号151Pが共通に供給されているとともに、補正回路40からのインピーダンス制御信号DRZQP21〜DRZQP25がそれぞれ供給されている。一方、AND回路421〜425には、出力制御回路150からの選択信号151Nが共通に供給されているとともに、補正回路40からのインピーダンス制御信号DRZQN21〜DRZQN25がそれぞれ供給されている。
【0039】
OR回路411〜415の出力である動作信号161P1〜161P5(動作信号161Pを構成する)、並びに、AND回路421〜425の出力である動作信号161N1〜161N5(動作信号161Nを構成する)は、図2に示すように、単位バッファ111〜114に共通に供給され、それぞれ対応するトランジスタを制御する。
他の前段回路162,163も、図6に示す前段回路161と同様の回路構成を有している。前段回路162に含まれるOR回路411〜415及びAND回路421〜425は、出力制御回路150からの選択信号152P,152Nがそれぞれ共通に供給され、動作信号162P1〜162P5(動作信号162Pを構成する)、並びに、動作信号162N1〜162N5(動作信号162Nを構成する)を単位バッファ121〜122に共通に供給する。また、前段回路163に含まれるOR回路411〜415及びAND回路421〜425は、出力制御回路150からの選択信号153P,153Nがそれぞれ共通に供給され、動作信号163P1〜163P5(動作信号163Pを構成する)、並びに、動作信号163N1〜163N5(動作信号163Nを構成する)を単位バッファ123に供給する。
【0040】
前段回路161〜163と出力制御回路150の間の制御動作を、より具体的に説明する。
まず、出力制御回路150は、制御回路21にコマンド端子12aを介して、コマンド信号CMDとしてメモリセルアレイ20からのデータDataをデータ端子DQから外部へ出力する指示を示すコマンド(READコマンド)が供給されると、制御回路21からデータアウトイネーブル信号OEが供給される。
このデータアウトイネーブル信号OEが供給されると、出力制御回路150は、データDataが「1」(Hレベル)、かつ、内部オンダイターミネーション制御信号IODTがLレベル(非活性レベル)の場合、前段回路161〜163を制御して出力バッファ101に接続されたデータ端子DQをHレベルに駆動する。また、出力制御回路150は、データDataが「0」(Lレベル)、かつ、内部オンダイターミネーション制御信号IODTがLレベルの場合、前段回路161〜163を制御して出力バッファ101に接続されたデータ端子DQをLレベルに駆動する。
また、データ端子DQをHレベルまたはLレベルに駆動する際、出力制御回路150は、モードレジスタ22から供給されるDS設定信号に応じて、前段回路161〜163に出力する選択信号151P〜153P、選択信号151N〜153NをHレベルまたはLレベルに変化させる。
【0041】
具体的には、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コード「00」であって、データDataが「1」、かつ、内部オンダイターミネーション制御信号IODTがLレベルの場合、選択信号151P、152PをLレベル、選択信号153PをHレベル、選択信号151N〜153Nを全てLレベルとする。これにより、前段回路161〜162に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。また、前段回路163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、全てHレベルの動作信号を出力する。また、前段回路161〜163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、全てLレベルの動作信号を出力する。
【0042】
また、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コード「01」であって、データDataが「1」、かつ、内部オンダイターミネーション制御信号IODTがLレベルの場合、選択信号151P〜153Pを全てLレベル、151N〜153Nを全てLレベルとする。これにより、前段回路161〜163に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。また、前段回路161〜163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、全てLレベルの動作信号を出力する。
【0043】
また、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コード「00」であって、データDataが「0」、かつ、内部オンダイターミネーション制御信号IODTがLレベルの場合、選択信号151P〜153Pを全てHレベル、選択信号151N〜152NをHレベル、選択信号153NをLレベルとする。これにより、前段回路161〜163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、全てHレベルの動作信号を出力する。また、前段回路161〜162に含まれるAND回路は、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。前段回路163に含まれるOR回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、全てLレベルの動作信号を出力する。
【0044】
また、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コード「01」であって、データDataが「0」、かつ、内部オンダイターミネーション制御信号IODTがLレベルの場合、選択信号151P〜153Pを全てHレベル、選択信号151N〜153Nを全てHレベルとする。これにより、前段回路161〜163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、全てHレベルの動作信号を出力する。また、前段回路161〜163に含まれるAND回路は、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。
【0045】
また、出力制御回路150は、制御回路21にオンダイターミネーション端子12bを介して、出力バッファ101(出力回路)を終端抵抗として機能させる指示をするオンダイターミネーション信号ODTが供給されると、制御回路21から、活性レベル(Hレベル)の内部オンダイターミネーション制御信号IODT信号が供給される。
このHレベルの内部オンダイターミネーション制御信号IODT信号が供給されると、出力制御回路150は、データDataのレベルに関らず、前段回路161〜163を制御して出力バッファ101に接続されたデータ端子DQを、(電源電位VDDと接地電位GND)の中間電位(VDD/2電位)に駆動する。
また、データ端子DQを中間電位に駆動する際、出力制御回路150は、モードレジスタ22から供給されるODT設定信号に応じて、前段回路161〜163に出力する選択信号151P〜153P、選択信号151N〜153NをHレベルまたはLレベルに変化させる。
【0046】
具体的には、出力制御回路150は、ODT設定信号がモードレジスタ22から入力されると、ODT設定コードが「010」であって、内部オンダイターミネーション制御信号IODTがHレベルの場合、選択信号152PをLレベル、選択信号151P、153PをHレベル、選択信号152NをHレベル、選択信号151N、153NをLレベルとする。
これにより、前段回路162に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。
また、前段回路161、163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、Hレベルの動作信号を出力する。
また、前段回路162に含まれるAND回路のうち、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。
また、前段回路161、163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、Lレベルの動作信号を出力する。
【0047】
また、出力制御回路150は、ODT設定信号がモードレジスタ22から入力されると、ODT設定コードが「001」であって、内部オンダイターミネーション制御信号IODTがHレベルの場合、選択信号151PをLレベル、選択信号152P〜153PをHレベル、選択信号151NをHレベル、選択信号152N〜153NをLレベルとする。
これにより、前段回路161に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。
また、前段回路162、163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、Hレベルの動作信号を出力する。
また、前段回路161に含まれるAND回路のうち、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。
また、前段回路162、163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、Lレベルの動作信号を出力する。
【0048】
また、出力制御回路150は、ODT設定信号がモードレジスタ22から入力されると、ODT設定コードが「011」であって、内部オンダイターミネーション制御信号IODTがHレベルの場合、選択信号151P〜152PをLレベル、選択信号153PをHレベル、選択信号151N〜152NをHレベル、選択信号153NをLレベルとする。
これにより、前段回路161〜162に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。
また、前段回路163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、Hレベルの動作信号を出力する。
また、前段回路161〜162に含まれるAND回路のうち、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。
また、前段回路163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、Lレベルの動作信号を出力する。
【0049】
続いて、インピーダンス調整部30における補正回路40ついて、図7〜図11を用いて説明する。図7は、補正回路40の構成を示すブロック図であり、図8は補正回路部40dの回路図、図9は補正回路部40oの回路図、図10は補正回路部40dの主要信号の真理値表、図11は、DS設定信号及びODT設定信号を示すテーブルである。
補正回路40は、図7に示すように、補正回路部40d、補正回路部40o、及びマルチプレクサ40sを含んで構成される。なお、インピーダンス制御信号DRZQ1は、インピーダンス制御信号DRZQP1(5ビット)とインピーダンス制御信号DRZQN1(5ビット)を総称しているので、この補正回路40は、インピーダンス制御信号DRZQP1補正用に1台、インピーダンス制御信号DRZQN1補正用に1台、それぞれ設けられる。以下の説明では、インピーダンス制御信号DRZQN1補正用に設けられた補正回路40について、インピーダンス制御信号DRZQN1(インピーダンス制御信号DRZQN11〜DRZQN15)をインピーダンス制御信号DRZQ1として説明するが、補正動作は同時に、インピーダンス制御信号DRZQP1補正用に設けられた補正回路40においても行われる。
補正回路部40dは、あらかじめ確認した補正値をDS設定信号に応じて選択するマルチプレクサ50mと、選択結果である補正値dをインピーダンス制御信号DRZQ1(キャリブレーション動作においてレプリカバッファのインピーダンスを240Ωに調整することにより確定したコード)に対して加減算し、インピーダンス制御信号DRZQ2dを発生する加減算器50aを含んで構成される。
補正回路部40oは、あらかじめ確認した補正値をODT設定信号に応じて選択するマルチプレクサ60mと、選択結果である補正値oをインピーダンス制御信号DRZQ1に対して加減算し、インピーダンス制御信号DRZQ2oを発生する加減算器60aを含んで構成される。
マルチプレクサ40sは、内部オンダイターミネーション制御信号IODT信号のレベルにより、インピーダンス制御信号DRZQ2dまたはインピーダンス制御信号DRZQ2oのいずれかを選択し、インピーダンス制御信号DRZQ2(補正したZQコード)を、前段回路161〜163に対して出力する。
【0050】
まず、補正回路部40dについて、図8を用いて説明する。
補正回路部40dにおけるマルチプレクサ50m(選択回路)は、図8に示すように、補正値−1設定部50m1(第2の補正値記憶部)、補正値0設定部50m2(第2の補正値記憶部)、及びマルチプレクサ561〜565を含んで構成される。補正値−1設定部50m1、補正値0設定部50m2により、マルチプレクサ50mが有する第1の補正値記憶部を構成する。
補正−1設定部50m1、補正値0設定部50m2は、それぞれ、例えばヒューズ、アンチヒューズ等の5つ不揮発性素子で構成され、不揮発性素子はそれぞれデータ0(Lレベル)またはデータ1(Hレベル)を記憶する。図8に示す例では、補正値−1設定部50m1は、マルチプレクサ561側の素子を最下位、マルチプレクサ565側の素子を最上位として、2進数でデータ「11111」を記憶している。なお、「11111」は、5ビットの最上位側ビットから最下位側ビットを左側から順番に並べて示しており、本実施形態においては、2進数を以下、例えば「5’b11111」のように表すものとする。また、この「5’b11111」を16進数で表す場合、「1Fh」のように16進数とhを用いて表すものとする。これらの2進数、16進数での表し方を用いると、補正値0設定部50m2は、「5’b00000」(=「00h」)を記憶している。
【0051】
マルチプレクサ561〜565は、モードレジスタ22(MR)から入力されるDS設定信号に応じて、補正値−1設定部50m1または補正値0設定部50m2が記憶する5ビットのデータを選択し、選択したデータを補正値d1〜補正値d5として後段の加減算器50aに出力する。
このDS設定信号は、次のように、モードレジスタ22から供給される。
半導体装置10にコマンド信号CMDとしてMRSコマンドが供給されたときに、MRSコマンドとともにアドレス端子13にアドレス信号ADDとして供給されるモード設定コード(例えばアドレスA5,A1の2ビットに対応したコード「A5、A1」からなるDS設定コード)に応じて、制御回路21が、モードレジスタセット信号MRSをモードレジスタ22(MR)に出力する。モードレジスタ22は、例えば内部に上記アドレスに対応するレジスタ(レジスタR51とする)を有し、このDS設定コード「A5、A1」をレジスタR51に記憶する。
例えば、図11(a)に示すように、データ入出力部100の出力バッファ101の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗RZQの1/6に設定する(以下、DS設定するという)場合、レジスタR51はDS設定コード「00」を記憶する。
また、図11(b)に示すように、データ入出力部100の出力バッファ101の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗RZQの1/7にDS設定する場合、レジスタR51はDS設定コード「01」を記憶する。このように、レジスタR51が記憶するDS設定コードは、半導体装置10にコマンド信号CMDとしてMRSコマンドが供給されるたびに更新することが可能である。そして、モードレジスタ22は、上記レジスタR51に記憶されたDS設定コードに応じて、DS設定信号をマルチプレクサ561〜565に出力する。
【0052】
マルチプレクサ561〜565は、DS設定コード「00」の場合、DS設定信号がモードレジスタ22から入力されると、補正値0設定部50m2が記憶する5ビットのデータ(「5’b00000」=「00h」)を選択し、選択したデータを補正値d1〜補正値d5として後段の加減算器50aに出力する。
また、マルチプレクサ561〜565は、DS設定コード「01」の場合、DS設定信号がモードレジスタ22から入力されると、補正値−1設定部50m1が記憶する5ビットのデータ(「5’b11111」=「1Fh」)を選択し、選択したデータを補正値d1〜補正値d5として後段の加減算器50aに出力する。
なお、補正値−1設定部50m1または補正値0設定部50m2が記憶する補正値は、予め半導体装置10の回路設計時に行う回路シミュレーション(半導体装置10が正常に動作しているか否かを計算機上で検証する工程)において、出力バッファ101の目標インピーダンスに応じて設定される。さらに、この補正値は、半導体装置10が製造された後、例えば評価サンプルとして組立てた製品を用いて、出力バッファ101のインピーダンスを測定し、目標インピーダンスに設定されているか否かが評価される。そして、目標インピーダンスとずれている場合、上述の通り、補正値−1設定部50m1または補正値0設定部50m2は不揮発性記憶素子で構成されているので、最適となる変更後の補正値が、未だウエハー工程にある半導体装置10にフィードバックされ、不揮発性素子に書き込まれ、固定値として設定される。
【0053】
加減算器50aは、図8に示すように、排他的論理和回路であるEXOR回路501〜EXOR回路505、EXOR回路522〜EXOR回路525、論理積回路であるAND回路511〜AND回路515、AND回路532〜AND回路535、及び論理和回路であるOR回路542〜OR回路545を含んで構成される。加減算器50aは、インピーダンス制御信号DRZQ1に補正値dを加減算してインピーダンス制御信号DRZQ1dを生成する。
【0054】
EXOR回路501は、インピーダンス制御信号DRZQ11と補正値d1との排他的論理和を演算し、インピーダンス制御信号DRZQ1d1を出力する。
また、AND回路511は、インピーダンス制御信号DRZQ11と補正値d1との論理積を演算し、当該演算結果を出力信号として出力する。
【0055】
EXOR回路502は、インピーダンス制御信号DRZQ12と補正値d2との排他的論理和を演算し、当該演算結果を出力信号として出力する。
また、AND回路512は、インピーダンス制御信号DRZQ12と補正値d2との論理積を演算し、当該演算結果を出力信号として出力する。
EXOR回路522は、EXOR回路502の出力信号とAND回路511の出力信号との排他的論理和を演算し、インピーダンス制御信号DRZQ1d2を出力する。
また、AND回路532は、EXOR回路502の出力信号とAND回路511の出力信号との論理積を演算し、当該演算結果を出力信号として出力する。
また、OR回路542は、AND回路532の出力信号とAND回路512の出力信号との論理和を演算し、当該演算結果を出力信号として出力する。
【0056】
EXOR回路503は、インピーダンス制御信号DRZQ13と補正値d3との排他的論理和を演算し、当該演算結果を出力信号として出力する。
また、AND回路513は、インピーダンス制御信号DRZQ13と補正値d3との論理積を演算し、当該演算結果を出力信号として出力する。
EXOR回路523は、EXOR回路503の出力信号とOR回路542の出力信号との排他的論理和を演算し、インピーダンス制御信号DRZQ1d3を出力する。
また、AND回路533は、EXOR回路503の出力信号とOR回路542の出力信号との論理積を演算し、当該演算結果を出力信号として出力する。
また、OR回路543は、AND回路533の出力信号とAND回路513の出力信号との論理和を演算し、当該演算結果を出力信号として出力する。
【0057】
EXOR回路504は、インピーダンス制御信号DRZQ14と補正値d4との排他的論理和を演算し、当該演算結果を出力信号として出力する。
また、AND回路514は、インピーダンス制御信号DRZQ14と補正値d4との論理積を演算し、当該演算結果を出力信号として出力する。
EXOR回路524は、EXOR回路504の出力信号とOR回路543の出力信号との排他的論理和を演算し、インピーダンス制御信号DRZQ1d4を出力する。
また、AND回路534は、EXOR回路504の出力信号とOR回路543の出力信号との論理積を演算し、当該演算結果を出力信号として出力する。
また、OR回路544は、AND回路534の出力信号とAND回路514の出力信号との論理和を演算し、当該演算結果を出力信号として出力する。
【0058】
EXOR回路505は、インピーダンス制御信号DRZQ15と補正値d5との排他的論理和を演算し、当該演算結果を出力信号として出力する。
また、AND回路515は、インピーダンス制御信号DRZQ15と補正値d5との論理積を演算し、当該演算結果を出力信号として出力する。
EXOR回路525は、EXOR回路505の出力信号とOR回路544の出力信号との排他的論理和を演算し、インピーダンス制御信号DRZQ1d5を出力する。
また、AND回路535は、EXOR回路505の出力信号とOR回路544の出力信号との論理積を演算し、当該演算結果を出力信号として出力する。
また、OR回路545は、AND回路535の出力信号とAND回路515の出力信号との論理和を演算し、当該演算結果をキャリー信号CARYY5dとして出力する。
【0059】
図10は、加減算器50aが、インピーダンス制御信号DRZQ11〜DRZQ15と、補正値d1〜d5とからインピーダンス制御信号DRZQ1d1〜DRZQ1d5を生成する場合のインピーダンス制御信号DRZQ1d1〜DRZQ1d5のレベル(2進数で「0」または「1」)と、上記各回路の出力のレベルを示している。
図10(a)に示すように、インピーダンス制御信号DRZQ11〜DRZQ15が「5’b10000」(=「10h」)であって、補正値d1〜d5(補正値=−1)が「5’b11111」(=「1Fh」)のとき、加減算器50aは、インピーダンス制御信号DRZQ1d1〜DRZQ1d5として、「5’b01111」(=「0Fh」)を出力する。なお、このように、補正値がマイナスの値の時は、2の補数で設定するものとする。例えば、補正値が−2のときは、2の補数で「5’b11110」(=「1Eh」)が設定される。
また、図10(b)に示すように、インピーダンス制御信号DRZQ11〜DRZQ15が「5’b10000」(=「10h」)であって、補正値d1〜d5(補正値=0)が「5’b00000」(=「00h」)のとき、加減算器50aは、インピーダンス制御信号DRZQ1d1〜DRZQ1d5として、「5’b10000」(=「10h」)を出力する。
図10(a)、図10(b)に示すこれらの場合は、先に説明した補正値−1設定部50m1または補正値0設定部50m2に補正値として、それぞれ−1、0が設定されている場合に対応する。
【0060】
補正値が図10(a)に示す場合のようにマイナスに設定されている場合、加減算器50aは、インピーダンス制御信号DRZQ11〜DRZQ15を減算し、インピーダンス制御信号DRZQ1d1〜DRZQ1d5を生成する。図7に示すマルチプレクサ40sは、内部オンダイターミネーション制御信号IODTが非活性レベル(Lレベル)のとき、インピーダンス制御信号DRZQ1d1〜DRZQ1d5をインピーダンス制御信号DRZQ2として出力する。インピーダンス制御信号DRZQ2は、前段回路161〜163に供給され、それぞれ対応する単位バッファのインピーダンスが、240Ωより高くなるように調整される。なお、インピーダンス制御信号DRZQN1は、上述の通り補正回路部40dにより減算され、インピーダンス制御信号DRZQN2となり、前段回路161に供給され、それぞれ対応する単位バッファのプルダウン回路PDのインピーダンスが高くなるように調整される。一方、インピーダンス制御信号DRZQP1は、補正回路部40dにより加算され(補正値設定部の補正値をプラス値に設定しておく)、インピーダンス制御信号DRZQP2となり、前段回路161に供給され、それぞれ対応する単位バッファのプルアップ回路PUのインピーダンスが高くなるように調整される。
【0061】
なお、インピーダンス制御信号DRZQ1が最大値のときに加算された場合、または最小値のときに減算された場合には、補正後のインピーダンス制御信号DRZQ1dがオーバーフローして、不正値となってしまう。例えば、図10(e)に示すように、インピーダンス制御信号DRZQ11〜DRZQ15が「5’b11111」(=「1Fh」)であって、補正値d1〜d5(補正値=+1)が「5’b00001」(=「01h」)のとき、加減算器50aは、インピーダンス制御信号DRZQ1d1〜DRZQ1d5として、「5’b00000」(=「00h」)を出力する。この場合、単位バッファのプルダウン回路PDのインピーダンスが無限大(ハイインピーダンス状態)となってしまう。このように、単位バッファのプルダウン回路PDのインピーダンスが無限大となることを防ぐために、プルダウン回路PDのトランジスタ221〜225のいずれか1つを常時オンになるようにインピーダンス制御信号DRZQ1に制限を設けることも可能だが、その場合においても、たとえインピーダンスが無限大とならなくとも、プルダウン回路PDのインピーダンスが補正により大幅にずれてしまうことになる。そのため、このようにオーバーフローした場合を考えて、加減算器50aの出力であるキャリー信号CARY5dを入力信号とするマルチプレクサ52sを、補正回路部40d内に設ける構成としている。
【0062】
マルチプレクサ52sは、キャリー信号CARY5dが「1」(Hレベル)のとき、補正後のインピーダンス制御信号DRZQ1dでなく、補正前のインピーダンス制御信号DRZQ1を、インピーダンス制御信号DRZQ2dとしてマルチプレクサ40sに対して出力する。また、マルチプレクサ52sは、キャリー信号CARY5dが「0」(Lレベル)のとき、補正後のインピーダンス制御信号DRZQ1dを、インピーダンス制御信号DRZQ2dとしてマルチプレクサ40sに対して出力する。
【0063】
次に、補正回路部40oについて、図9を用いて説明する。
補正回路部40oにおけるマルチプレクサ60m(選択回路)は、図9に示すように、補正値0設定部60m1(第2の補正値記憶部)、補正値1設定部60m2(第2の補正値記憶部)、補正値2設定部60m3(第2の補正値記憶部)、及びマルチプレクサ661〜665を含んで構成される。補正値0設定部60m1、補正値1設定部60m2、補正値2設定部60m3により、マルチプレクサ60mが有する第1の補正値記憶部を構成する。
図9に示す例では、補正値0設定部60m1は、「5’b00000」(=「00h」)を記憶している。また、補正値1設定部60m2は、「5’b00001」(=「01h」)を記憶している。また、補正値2設定部60m3は、「5’b00010」(=「02h」)を記憶している。
【0064】
マルチプレクサ661〜665は、モードレジスタ22(MR)から入力されるODT設定信号に応じて、補正値0設定部60m1、補正値1設定部60m2、及び補正値2設定部60m3のいずれかの補正値設定部が記憶する5ビットのデータを選択し、選択したデータを補正値o1〜補正値o5として後段の加減算器60aに出力する。
このODT設定信号は、上述したDS設定信号と同様に、モードレジスタ22から供給される。半導体装置10にコマンド信号CMDとしてMRSコマンドが供給されたときに、このMRSコマンドとともにアドレス端子13にアドレス信号ADDとして供給されるモード設定コード(例えばアドレスA9,A6,A2の3ビットに対応したコード「A9、A6、A2」からなるODT設定コード)に応じて、制御回路21が、モードレジスタセット信号MRSをモードレジスタ22(MR)に出力する。モードレジスタ22は、例えば内部に上記アドレスに対応するレジスタ(レジスタR962とする)を有し、このODT設定コード「A9、A6、A2」をレジスタR962に記憶する。
例えば、図11(b)に示すように、データ入出力部100の出力バッファ101を終端抵抗として使用する場合の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗RZQの1/2に設定する(以下、ODT設定するという)場合、例えばレジスタR962はODT設定コード「010」を記憶する。
また、図11(b)に示すように、データ入出力部100の出力バッファ101を終端抵抗として使用する場合の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗RZQの1/4にODT設定する場合、例えばレジスタR962はODT設定コード「001」を記憶する。
また、図11(b)に示すように、データ入出力部100の出力バッファ101を終端抵抗として使用する場合の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗RZQの1/6にODT設定する場合、例えばレジスタR962はODT設定コード「011」を記憶する。
このように、レジスタR962が記憶するODT設定コードは、半導体装置10にコマンド信号CMDとしてMRSコマンドが供給されるたびに更新することが可能である。また、設定コードに用いるアドレス端子13がDSコードとは異なるため、DSコードとODTコードは、モードレジスタ22に同時設定可能である。
モードレジスタ22は、上記レジスタR962に記憶されたODT設定コードに応じて、ODT設定信号をマルチプレクサ661〜665に出力する。
【0065】
マルチプレクサ661〜665は、ODT設定コード「011」の場合、ODT設定信号がモードレジスタ22から入力されると、補正値0設定部60m1が記憶する5ビットのデータ(「5’b00000」=「00h」)を選択し、選択したデータを補正値o1〜補正値o5として後段の加減算器60aに出力する。
また、マルチプレクサ661〜665は、ODT設定コード「001」の場合、ODT設定信号がモードレジスタ22から入力されると、補正値1設定部60m2が記憶する5ビットのデータ(「5’b00001」=「01h」)を選択し、選択したデータを補正値o1〜補正値o5として後段の加減算器60aに出力する。
また、マルチプレクサ661〜665は、ODT設定コード「010」の場合、ODT設定信号がモードレジスタ22から入力されると、補正値2設定部60m3が記憶する5ビットのデータ(「5’b00010」=「02h」)を選択し、選択したデータを補正値o1〜補正値o5として後段の加減算器60aに出力する。
なお、補正値0設定部60m1、補正値1設定部60m2、及び補正値2設定部60m3が記憶する補正値は、補正値−1設定部50m1及び補正値0設定部50m2と同様に、予め設計工程、評価工程を経て、最適となる変更後の補正値が、不揮発性素子に書き込まれ、固定値として設定される。
【0066】
加減算器60aは、図9に示すように、入出力の信号名が相違する以外、図8に示す加減算器50aと同一の構成であるので、図9において図8と同一の符号を付し、その回路接続についての説明を省略する。補正値o1〜o5が、図8に示す補正値d1〜d5にそれぞれ対応し、インピーダンス制御信号DRZQ1o1〜DRZQ1o5が、図8に示すインピーダンス制御信号DRZQ1d1〜DRZQ1d5にそれぞれ対応し、キャリー信号CARY5oが、図8に示すキャリー信号CARY5dに対応する。
【0067】
加減算器60aがインピーダンス制御信号DRZQ11〜DRZQ15と、補正値o1〜o5とを加減算してインピーダンス制御信号DRZQ1o1〜DRZQ1o5を生成する場合のインピーダンス制御信号DRZQ1o1〜DRZQ1o5のレベルと、上記各回路の出力のレベルは、図10において、補正値d1〜d5をそれぞれ補正値o1〜o5とし、インピーダンス制御信号DRZQ1d1〜DRZQ1d5をそれぞれインピーダンス制御信号DRZQ1o1〜DRZQ1o5と読み換えた場合に対応する。
図10(b)に示すように、インピーダンス制御信号DRZQ11〜DRZQ15が「5’b10000」(=「10h」)であって、補正値o1〜o5(補正値=0)が「5’b00000」(=「00h」)のとき、加減算器60aは、インピーダンス制御信号DRZQ1o1〜DRZQ1o5として、「5’b10000」(=「10h」)を出力する。
また、図10(c)に示すように、インピーダンス制御信号DRZQ11〜DRZQ15が「5’b10000」(=「10h」)であって、補正値o1〜o5(補正値=1)が「5’b00001」(=「01h」)のとき、加減算器60aは、インピーダンス制御信号DRZQ1o1〜DRZQ1o5として、「5’b10001」(=「11h」)を出力する。
また、図10(d)に示すように、インピーダンス制御信号DRZQ11〜DRZQ15が「5’b10000」(=「10h」)であって、補正値o1〜o5(補正値=2)が「5’b00010」(=「02h」)のとき、加減算器60aは、インピーダンス制御信号DRZQ1o1〜DRZQ1o5として、「5’b10010」(=「12h」)を出力する。
図10(b)〜図10(d)に示すこれらの場合は、補正値0設定部60m1、補正値1設定部60m2、補正値2設定部60m3に、補正値としてそれぞれ0、1、2がそれぞれ設定されている場合に対応する。
【0068】
補正値が図10(c)、図10(d)に示す場合のようにプラスの値に設定されている場合、加減算器60aは、インピーダンス制御信号DRZQ11〜DRZQ15を加算し、インピーダンス制御信号DRZQ1o1〜DRZQ1o5を生成する。図7に示すマルチプレクサ40sは、内部オンダイターミネーション制御信号IODTが活性レベル(Hレベル)のとき、インピーダンス制御信号DRZQ1o1〜DRZQ1o5をインピーダンス制御信号DRZQ2として出力する。インピーダンス制御信号DRZQ2は、前段回路161〜163に供給され、それぞれ対応する単位バッファのインピーダンスが、240Ωより低くなるように調整される。なお、インピーダンス制御信号DRZQN1は、上述の通り補正回路部40dにより加算され、インピーダンス制御信号DRZQN2となり、前段回路161に供給され、それぞれ対応する単位バッファのプルダウン回路PDのインピーダンスが低くなるように調整される。一方、インピーダンス制御信号DRZQP1は、補正回路部40oにより減算され(補正値設定部の補正値をマイナス値に設定しておく)、インピーダンス制御信号DRZQP2となり、前段回路161に供給され、それぞれ対応する単位バッファのプルアップ回路PUのインピーダンスが低くなるように調整される。
【0069】
マルチプレクサ62sは、マルチプレクサ52sと同様に、キャリー信号CARY5oが「1」(Hレベル)のとき、補正後のインピーダンス制御信号DRZQ1oでなく、補正前のインピーダンス制御信号DRZQ1を、インピーダンス制御信号DRZQ2oとしてマルチプレクサ40sに対して出力する。また、マルチプレクサ62sは、キャリー信号CARY5oが「0」(Lレベル)のとき、補正後のインピーダンス制御信号DRZQ1oを、インピーダンス制御信号DRZQ2oとしてマルチプレクサ40sに対して出力する。
【0070】
以上が、本実施形態によるデータ入出力部100の構成である。次に、本実施形態によるデータ入出力部100の動作について、キャリブレーション動作、データ出力動作(DS設定によるデータ出力動作、及びODT動作の順に説明する。
【0071】
[キャリブレーション動作]
キャリブレーション動作は、上述のとおり、出力バッファ101のインピーダンスを調整するために行う動作であり、製造時のプロセス条件によるインピーダンスのばらつきを修正するのみならず、周辺温度の変化や電源電圧の変動によるインピーダンスの変化を修正するために行う。したがって、高い精度が要求される場合には、電源投入時やリセット時などの初期設定時に1回だけキャリブレーション動作を行うのではなく、実際の動作時においても定期的に実行することが好ましく、本実施形態によるデータ入出力部100は、このように実際の動作時において定期的にキャリブレーション動作を実行する場合に特に有効である。以下、具体的に説明する。
【0072】
キャリブレーション動作を行う場合には、あらかじめ、キャリブレーション端子ZQに外部抵抗RZQを接続しておく必要がある(図2、図4参照)。外部抵抗RZQとしては、単位バッファ111〜114,121〜123の目的とするインピーダンス(=レプリカバッファのインピーダンス)と同じインピーダンスを持つ抵抗を用いる必要がある。従って、本実施形態では、240Ωの外部抵抗RZQが用いられる。
また、半導体装置10にコマンド信号CMDとしてキャリブレーション動作を指示するキャリブレーションコマンド(CALコマンド)が供給される以前において、半導体装置10にはコマンド信号CMDとしてモードレジスタコマンド(MRSコマンド)が供給されているものとする。また、半導体装置10には、このMRSコマンドとともに、アドレス端子13にアドレス信号ADDとしてモード設定コード(コード「A5、A1」からなるDS設定コード、及びコード「A9、A6、A2」からなるODT設定コード)が供給され、レジスタR51はDS設定コード「00」を記憶しているものとする。また、オンダイターミネーション端子12bから供給されるオンダイターミネーション信号ODTはLレベルであり、制御回路21は、内部オンダイターミネーション制御信号IODTを非活性レベル(Lレベル)に維持しているものとする。
【0073】
図12は、キャリブレーション動作を説明するためのフローチャートである。
まず、CALコマンドによってキャリブレーション動作が指示されると(ステップS11:YES)、制御信号ACT1を活性化し、キャリブレーション回路130に含まれるカウンタ134のカウント動作を開始させる(ステップS12)。電源投入後などの初期状態においては、カウンタ134のカウント値は、一例としてオール1(本実施例では、「5’b11111」)にリセットされており、そのため、カウンタ134の出力であるインピーダンス制御信号DRZQP11〜DRZQP15は、いずれもハイレベルである。したがって、プルアップ回路131に含まれるトランジスタ311〜315は全てオフ状態となり、その結果、コンパレータ136の出力である比較信号COMP1はローレベルとなる。
【0074】
このため、カウンタ134はカウントダウンを進め、これに連動してトランジスタ311〜315のオンまたはオフ状態が切り替わる。具体的には、トランジスタ311〜315のW/L比がそれぞれ「1」、「2」、「4」、「8」、「16」に設定されていることから、カウンタ134の最下位ビット(MLB)がインピーダンス制御信号DRZQP11に割り当てられ、カウンタ134の最上位ビット(MSB)がインピーダンス制御信号DRZQP15に割り当てられる。これにより、プルアップ回路131のインピーダンスを最小ピッチで変化させることができる。
【0075】
このようなカウントダウンが進むに連れて、プルアップ回路131のインピーダンスは徐々に低下し、キャリブレーション端子ZQの電位は徐々に上昇する。そして、プルアップ回路131のインピーダンスが目的とするインピーダンス(240Ω)未満まで低下すると、キャリブレーション端子ZQの電位が中間電圧(VDD/2)を超えることから、コンパレータ136の出力である比較信号COMP1はハイレベルに反転する。これに応答してカウンタ134はカウントアップを進め、今度はプルアップ回路131のインピーダンスを上昇させる。
【0076】
このような動作を繰り返すことにより、キャリブレーション端子ZQの電位は中間電圧(VDD/2)近傍で安定する。その後、制御信号ACT1を非活性化し、カウンタ134のカウント動作を停止させる(ステップS13)。これにより、カウンタ134のカウント値は固定され、インピーダンス制御信号DRZQP11〜DRZQP15のレベルが確定する。
【0077】
以上の動作により、プルアップ回路131,132のインピーダンスが240Ωに調整される。尚、カウンタ134の初期値をオール1ではなく、設計値で240Ωとなるような値とし、比較信号COMP1のレベルに応じてカウントアップ又カウントダウンすることにより、調整を行っても構わない。
【0078】
次に、制御信号ACT2を活性化し、キャリブレーション回路130に含まれるカウンタ135のカウント動作を開始させる(ステップS14)。初期状態においては、カウンタ135のカウント値は、一例としてオール0(本実施例では、「5’b00000」)にリセットされており、そのため、カウンタ135の出力であるインピーダンス制御信号DRZQN11〜DRZQN15は、いずれもローレベルである。したがって、プルダウン回路133に含まれるトランジスタ321〜325は全てオフ状態となり、その結果、コンパレータ137の出力である比較信号COMP2はハイレベルとなる。
【0079】
これに応答してカウンタ135はカウントアップを進め、これに連動して、トランジスタ321〜325のオンまたはオフ状態が切り替わる。この場合も、トランジスタ321〜325のW/L比がそれぞれ「1」、「2」、「4」、「8」、「16」に設定されていることに対応して、カウンタ135の最下位ビット(MLB)がインピーダンス制御信号DRZQN11に割り当てられ、カウンタ135の最上位ビット(MSB)がインピーダンス制御信号DRZQN15に割り当てられる。これにより、プルダウン回路133のインピーダンスを最小ピッチで変化させることができる。
【0080】
このようなカウントアップが進むに連れて、プルダウン回路133のインピーダンスは徐々に低下し、接点Aの電位は徐々に低下する。そして、プルダウン回路133のインピーダンスが目的とするインピーダンス(240Ω)未満まで低下すると、接点Aの電位は中間電圧(VDD/2)を下回るため、コンパレータ137の出力である比較信号COMP2はローレベルに反転する。これに応答してカウンタ135はカウントダウンを進め、今度はプルダウン回路133のインピーダンスを上昇させる。
【0081】
このようなカウントアップおよびカウントダウン動作を繰り返すことにより、接点Aの電位は中間電圧(VDD/2)近傍で安定する。その後、制御信号ACT2を非活性化し、カウンタ135のカウント動作を停止させる(ステップS15)。これにより、カウンタ135のカウント値は固定され、インピーダンス制御信号DRZQN11〜DRZQN15のレベルが確定する。
以上の動作により、プルダウン回路133のインピーダンスも240Ωに調整される。この場合も、カウンタ135の初期値をオール0ではなく、設計値で240Ωとなるような値とし、比較信号COMP2のレベルに応じてカウントアップ又カウントダウンするこ
とにより、調整を行っても構わない。
【0082】
このキャリブレーション動作のステップS12〜S15の間、補正回路40では、マルチプレクサ561〜565が、補正値0設定部50m2が記憶するデータ「5’b00000」(=「00h」)を選択して出力している。加減算器50aは、入力されるインピーダンス制御信号DRZQ1に、補正値0設定部50m2から入力される補正値dを加減算し、インピーダンス制御信号DRZQ1dを出力する。この場合、補正値dは0であるので、インピーダンス制御信号DRZQ1dとしてインピーダンス制御信号DRZQ1を出力する。
そして、上述の通り、ステップS13及びS15の後、インピーダンス制御信号DRZQ1(インピーダンス制御信号DRZQP11〜DRZQP15、及びインピーダンス制御信号DRZQN11〜DRZQN15)のレベルが確定すると、インピーダンス制御信号DRZQ2(インピーダンス制御信号DRZQP21〜DRZQP25、及びインピーダンス制御信号DRZQN21〜DRZQN25)のレベルも確定する。この場合、補正値は0であるので、インピーダンス制御信号DRZQ2のレベルは、インピーダンス制御信号DRZQ1のレベルと等しくなる。
【0083】
そして、ステップS11に戻り、CALコマンドによるキャリブレーション動作の指示を待ち、キャリブレーション動作が指示されると(ステップS11:YES)、上記一連の動作を再び実行する。
【0084】
以上がキャリブレーション動作である。このようなキャリブレーション動作によって確定したインピーダンス制御信号DRZQ2は、図2に示す前段回路161〜163に共通に供給されることから、前段回路161〜163によって制御される単位バッファ111〜114,121〜123についても、正確に240Ωのインピーダンスで動作することが可能となる。つまり、複数の単位バッファに対するキャリブレーション動作を一括して行うことができる。
なお、キャリブレーション動作を指示するCALコマンドが供給される以前において、MRSコマンドとともに、DS設定コード「01」が与えられる場合、モードレジスタ22におけるレジスタR51はDS設定コード「01」を記憶している。この場合、マルチプレクサ561〜565が、補正値−1設定部50m1が記憶するデータ「5’b11111」(=「1Fh」)を選択して出力している。加減算器50aは、入力されるインピーダンス制御信号DRZQ1に、補正値−1設定部50m1から入力される補正値dを加減算し、インピーダンス制御信号DRZQ1dを出力する。この場合、補正値dは−1であるので、補正回路40は、インピーダンス制御信号DRZQ1を減算して、インピーダンス制御信号DRZQ2を出力する。
この確定したインピーダンス制御信号DRZQ2は、前段回路161〜163に共通に供給され、前段回路161〜163によって制御される単位バッファ111〜114,121〜123は、240Ωより高いインピーダンス(240Ω+α、α>0とする)で動作することが可能となる。
【0085】
次に、データ出力動作及びODT動作について、図13を用いて説明する。
なお、図13において示すインピーダンス制御信号DRZQ1のレベルは、インピーダンス制御信号DRZQN11〜DRZQN11のレベルであり、インピーダンス制御信号DRZQ2のレベルは、インピーダンス制御信号DRZQN21〜DRZQN21のレベルである。インピーダンス制御信号DRZQP11〜DRZQP11のレベルは、キャリブレーション動作においてインピーダンス制御信号DRZQN11〜DRZQN11を論理反転したレベルに設定されるものとし、インピーダンス制御信号DRZQP21〜DRZQP21のレベルは、補正回路40による補正動作においてインピーダンス制御信号DRZQN21〜DRZQN21の論理反転したレベルに設定されるものとする。例えば、インピーダンス制御信号DRZQN21〜DRZQN25のレベルが「5’b10000」(=「10h」)の場合で、インピーダンス制御信号DRZQP21〜DRZQP25のレベルは、「5’b01111」(=「0Fh」)であるものとする。
【0086】
データ出力動作及びODT動作は、上述したキャリブレーション動作を少なくとも1回実行した後に行う必要があり、これによって、正しいインピーダンスで動作することが可能となる。
時刻t1において、例えば、メモリコントローラから、半導体装置10のコマンド端子12aにコマンド信号CMDとしてMRSコマンドを供給するとともに、半導体装置10のアドレス端子13にアドレス信号ADDとしてDS設定コード「00」及びODT設定コード「001」を供給する。また、メモリコントローラは、オンダイターミネーション端子12bをLレベルに維持する。
これにより、制御回路21は、モードレジスタ信号MRSをモードレジスタ22に出力する。また、制御回路21は、内部オンダイターミネーション制御信号IODTを非活性レベル(Lレベル)に維持する。
モードレジスタ22は、DS設定信号及びODT設定信号を補正回路40に出力する。
補正回路40におけるマルチプレクサ50mは、DS設定信号がモードレジスタ22から入力されると、DS設定コード「00」であるので、補正値0設定部50m2が記憶する5ビットのデータ(「5’b00000」=「00h」)を選択し、選択したデータを補正値d1〜補正値d5(補正値d=0)として、加減算器50aに出力する。
また、補正回路40におけるマルチプレクサ60mは、ODT設定信号がモードレジスタ22から入力されると、ODT設定コード「001」であるので、補正値0設定部60m2が記憶する5ビットのデータ(「5’b00001」=「01h」)を選択し、選択したデータを補正値o1〜補正値o5(補正値o=+1)として、加減算器60aに出力する。
【0087】
このとき、CALコマンドは、まだ供給されていないので、インピーダンス制御信号DRZQ1(インピーダンス制御信号DRZQN11〜DRZQN15)のレベルは、カウンタ135の初期値であるオール0(「5’b00000」=「00h」)である。
補正回路40における加減算器50aは、インピーダンス制御信号DRZQ1に補正値d=0を加算して、インピーダンス制御信号DRZQ2dとして、「5’b00000」(=「00h」)を出力する。
また、補正回路40における加減算器60aは、インピーダンス制御信号DRZQ1に補正値o=1を加算して、インピーダンス制御信号DRZQ2oとして、「5’b00001」(=「01h」)を出力する。
このとき、内部オンダイターミネーション制御信号IODTはLレベルであるので、補正回路40におけるマルチプレクサ40sは、インピーダンス制御信号DRZQ2dを選択して、インピーダンス制御信号DRZQ2を出力する。インピーダンス制御信号DRZQ2のレベルは、「5’b00000」(=「00h」)である。
【0088】
また、出力制御回路150は、データ出力動作またはODT動作を指示されていないので、選択信号151P〜153Pを全てHレベル、選択信号151N〜153Nとしている。これにより、前段回路161〜163の出力である動作信号161P〜163Pは全てHレベル、動作信号161N〜163Nは全てLレベルとなり、出力バッファ101に含まれる7個の単位バッファの全てのトランジスタをオフさせる(非導通とする)ことから、インピーダンス制御信号DRZQ2のレベルに関らず、出力バッファ101は非活性状態となる。
【0089】
時刻t2において、メモリコントローラから、半導体装置10のコマンド端子12aにコマンド信号CMDとしてCALコマンドを供給すると、キャリブレーション回路130は制御信号ACT1、ACT2が制御回路21から入力され、上述したキャリブレーション動作を実行する。これにより、プルアップ回路131,132及びプルダウン回路133のインピーダンスが240Ωに調整され、インピーダンス制御信号DRZQ1のレベルが、「5’b10000」(=「10h」)に確定する。
補正回路40におけるマルチプレクサ50mは、モードレジスタ22のレジスタの内容が更新されていないので、時刻t1において発生したDS設定信号が入力されており、つまり、DS設定コード「00」であるので、補正値0設定部50m2が記憶する5ビットのデータ(「5’b00000」=「00h」)を選択し、選択したデータを補正値d1〜補正値d5(補正値d=0)として、加減算器50aに出力している。
また、補正回路40におけるマルチプレクサ60mは、モードレジスタ22のレジスタの内容が更新されていないので、時刻t1において発生したODT設定信号が入力されており、つまり、ODT設定コード「001」であるので、補正値0設定部60m2が記憶する5ビットのデータ(「5’b00001」=「01h」)を選択し、選択したデータを補正値o1〜補正値o5(補正値o=+1)として、加減算器60aに出力している。
【0090】
補正回路40における加減算器50aは、インピーダンス制御信号DRZQ1に補正値d=0を加算して、インピーダンス制御信号DRZQ2dとして、「5’b10000」(=「10h」)を出力する。
また、補正回路40における加減算器60aは、インピーダンス制御信号DRZQ1に補正値o=1を加算して、インピーダンス制御信号DRZQ2oとして、「5’b10001」(=「11h」)を出力する。
このとき、内部オンダイターミネーション制御信号IODTはLレベルであるので、補正回路40におけるマルチプレクサ40sは、インピーダンス制御信号DRZQ2dを選択して、インピーダンス制御信号DRZQ2を出力している。インピーダンス制御信号DRZQ2のレベルは、「5’b10000」(=「10h」)である。
【0091】
また、出力制御回路150は、制御回路21にコマンド端子12aを介して、コマンド信号CMDとしてメモリセルアレイ20からのデータDataをデータ端子DQから外部へ出力する指示を示すコマンド(READコマンド)が供給されると、制御回路21からデータアウトイネーブル信号OEが供給される。
このデータアウトイネーブル信号OEが供給されると、出力制御回路150は、データDataが「1」(Hレベル)、かつ、内部オンダイターミネーション制御信号IODTがLレベルの場合、前段回路161〜163を制御して出力バッファ101に接続されたデータ端子DQをHレベルに駆動し、データDataが「0」(Lレベル)、かつ、内部オンダイターミネーション制御信号IODTがLレベルの場合、前段回路161〜163を制御して出力バッファ101に接続されたデータ端子DQをLレベルに駆動する。
また、データ端子DQをHレベルまたはLレベルに駆動する際、出力制御回路150は、モードレジスタ22から供給されるDS設定信号に応じて、前段回路161〜163に出力する選択信号151P〜153P、選択信号151N〜153NをHレベルまたはLレベルに変化させる。
【0092】
データ端子DQをHレベルに駆動する場合、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コードが「00」であって、データDataが「1」、かつ、内部オンダイターミネーション制御信号IODTがLレベルであるので、選択信号151P、152PをLレベル、選択信号153PをHレベル、選択信号151N〜153Nを全てLレベルとする。これにより、前段回路161〜162に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。
このとき、図13に示すようにインピーダンス制御信号DRZQ21〜DRZQ25のレベルは、「5’b10000」(=「10h」)であるので、インピーダンス制御信号DRZQP21〜DRZQP25のレベルは、この論理反転したレベルである「5’b01111」(=「0Fh」)である。そのため、動作信号161Pのうち、動作信号161P5がLレベル、動作信号161P1〜161P4がHレベルとなる。また、動作信号162Pのうち、動作信号162P5がLレベル、動作信号162P1〜162P4がHレベルとなる。
また、前段回路163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、全てHレベルの動作信号を出力する。そのため、動作信号163Pのうち、動作信号163P1〜163P5が全てHレベルとなる。
また、前段回路161〜163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、全てLレベルの動作信号を出力する。そのため、動作信号161N〜163Nが全てLレベルとなる。
これにより、単位バッファ111〜114,121〜122に含まれるプルアップ回路PUは、キャリブレーション回路130に含まれるプルアップ回路131,132と同じインピーダンスである240Ωでオンする。また、単位バッファ123に含まれるプルアップ回路PU、及び単位バッファ111〜114,121〜123に含まれるプルダウン回路PDは、全てオフとなる。つまり、6つの単位バッファ111〜114,121〜122に含まれるプルアップ回路PUが全て正確に240Ωでオンすることから、データ端子DQは、出力バッファ101により正確に40Ω(=240Ω/6)のインピーダンスでHレベル(VDD電位)に駆動されることになる。
【0093】
一方、データ端子DQをLレベルに駆動する場合、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コードが「00」であって、データDataが「0」、かつ、内部オンダイターミネーション制御信号IODTがLレベルであるので、選択信号151P〜153PをHレベル、選択信号151N〜152NをHレベル、選択信号153NをLレベルとする。これにより、前段回路161〜163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、全てHレベルの動作信号を出力する。そのため、動作信号161P〜163Pが全てHレベルとなる。
また、前段回路161〜162に含まれるAND回路のうち、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。
このとき、図13に示すようにインピーダンス制御信号DRZQN21〜DRZQN25のレベルは、「5’b10000」(=「10h」)である。そのため、動作信号161Nのうち、動作信号161N5がHレベル、動作信号161N1〜161N4がLレベルとなる。また、動作信号162Nのうち、動作信号162N5がHレベル、動作信号162N1〜162N4がLレベルとなる。
また、前段回路163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、全てLレベルの動作信号を出力する。そのため、動作信号163Nが全てLレベルとなる。
これにより、単位バッファ111〜114,121〜122に含まれるプルダウン回路PDは、キャリブレーション回路130に含まれるプルダウン回路133と同じインピーダンスである240Ωでオンする。また、単位バッファ123に含まれるプルダウン回路PD、及び単位バッファ111〜114,121〜123に含まれるプルアップ回路PUは、全てオフとなる。つまり、6つの単位バッファ111〜114,121〜122に含まれるプルダウン回路PDが全て正確に240Ωでオンすることから、データ端子DQは、出力バッファ101により正確に40Ω(=240Ω/6)のインピーダンスでLレベル(GND電位)に駆動されることになる。
【0094】
時刻t3において、メモリコントローラから、半導体装置10のコマンド端子12aにコマンド信号CMDとしてMRSコマンドを供給するとともに、半導体装置10のアドレス端子13にアドレス信号ADDとしてDS設定コード「01」及びODT設定コード「010」を供給する。また、メモリコントローラは、オンダイターミネーション端子12bをLレベルに維持する。
これにより、制御回路21は、モードレジスタ信号MRSをモードレジスタ22に出力する。また、制御回路21は、内部オンダイターミネーション制御信号IODTを非活性レベル(Lレベル)に維持する。
モードレジスタ22は、DS設定信号及びODT設定信号を補正回路40に出力する。
補正回路40におけるマルチプレクサ50mは、DS設定信号がモードレジスタ22から入力されると、DS設定コード「01」であるので、補正値−1設定部50m1が記憶する5ビットのデータ(「5’b11111」=「1Fh」)を選択し、選択したデータを補正値d1〜補正値d5(補正値d=−1)として、加減算器50aに出力する。
また、補正回路40におけるマルチプレクサ60mは、ODT設定信号がモードレジスタ22から入力されると、ODT設定コード「010」であるので、補正値2設定部60m3が記憶する5ビットのデータ(「5’b00010」=「02h」)を選択し、選択したデータを補正値o1〜補正値o5(補正値o=+2)として、加減算器60aに出力する。
【0095】
このとき、時刻t1に開始されたキャリブレーション動作が終わっているので、インピーダンス制御信号DRZQ1(インピーダンス制御信号DRZQN11〜DRZQN15)のレベルは、図13に示すように、(「5’b10000」=「10h」)である。
補正回路40における加減算器50aは、インピーダンス制御信号DRZQ1に補正値d=−1を加算して(1を減算して)、インピーダンス制御信号DRZQ2dとして、「5’b01111」(=「0Fh」)を出力する。
また、補正回路40における加減算器60aは、インピーダンス制御信号DRZQ1に補正値o=2を加算して、インピーダンス制御信号DRZQ2oとして、「5’b10010」(=「12h」)を出力する。
このとき、内部オンダイターミネーション制御信号IODTはLレベルであるので、補正回路40におけるマルチプレクサ40sは、インピーダンス制御信号DRZQ2dを選択して、インピーダンス制御信号DRZQ2を出力する。インピーダンス制御信号DRZQ2のレベルは、「5’b01111」(=「0Fh」)である。
【0096】
出力制御回路150は、制御回路21にコマンド端子12aを介して、コマンド信号CMDとしてREADコマンドが供給されると、制御回路21からデータアウトイネーブル信号OEが供給される。
データ端子DQをHレベルに駆動する場合、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コードが「01」であって、データDataが「1」、かつ、内部オンダイターミネーション制御信号IODTがLレベルであるので、選択信号151P〜153PをLレベル、選択信号151N〜153Nを全てLレベルとする。これにより、前段回路161〜163に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。
このとき、図13に示すようにインピーダンス制御信号DRZQ21〜DRZQ25のレベルは、「5’b01111」(=「0Fh」)であるので、インピーダンス制御信号DRZQP21〜DRZQP25のレベルは、この論理反転したレベルである「5’b10000」(=「10h」)である。そのため、動作信号161Pのうち、動作信号161P5がHレベル、動作信号161P1〜161P4がLレベルとなる。また、動作信号162Pのうち、動作信号162P5がHレベル、動作信号162P1〜162P4がLレベルとなる。また、動作信号163Pのうち、動作信号163P5がHレベル、動作信号163P1〜163P4がLレベルとなる。
また、前段回路161〜163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、全てLレベルの動作信号を出力する。そのため、動作信号161N〜163Nが全てLレベルとなる。
これにより、単位バッファ111〜114,121〜123に含まれるプルアップ回路PUは、キャリブレーション回路130に含まれるプルアップ回路131,132のインピーダンス240Ωより高い(240+α)Ωでオンする。また、単位バッファ111〜114,121〜123に含まれるプルダウン回路PDは、全てオフとなる。つまり、7つの単位バッファ111〜114,121〜123に含まれるプルアップ回路PUが全て正確に(240+α)Ωでオンすることから、データ端子DQは、出力バッファ101により34.3Ω(=240Ω/7)に近いインピーダンスでHレベル(VDD電位)に駆動されることになる。
【0097】
ここで、α(>0)は、設計工程において計算される値、あるいは評価によって測定される値であり、この計算結果あるいは測定結果を基に補正値=−1が設定されている。
時刻t2〜t3の間は、6個の単位バッファのインピーダンスが240Ωに設定され、この6個の単位バッファが活性化されると、出力バッファ101のインピーダンスは40Ωとなる。一方、時刻t3〜t4の間は、7個の単位バッファが活性化される。7個の単位バッファが240Ωのインピーダンスで活性化されると、6個の単位バッファが240Ωのインピーダンスで活性化される場合に比べて、出力バッファ101が接続される電源配線(この場合は、第1の電源電圧VDDを供給する電源配線)の電圧降下量も大きくなる。このため、出力バッファ101とデータ端子DQとの間に印加する電圧差が小さくなることにより、7個の単位バッファ各々のインピーダンスも設定された240Ωより高めに上昇し、7で割ったときの出力バッファ101のインピーダンスの目標値(240Ω/7=約34.3Ω)より高めにずれてしまう。つまり、活性化される単位バッファの個数が6個から7個へ変わるにも関らず、7個の単位バッファ各々のインピーダンスを、単位バッファが6個の状態で調整した240Ωのままにしておくと、これを7で割った出力バッファ101のインピーダンスの目標インピーダンスからのずれが、6個の単位バッファが240Ωのインピーダンスで活性化される場合の出力バッファ101のインピーダンスの目標インピーダンスからのずれ(補正値=0とすることにより、目標インピーダンスである240Ω/6=40Ωに正確に調整されているので、ずれは少ない)に比べて、大きくなってしまう。そのため、活性化される単位バッファの個数が、6個から7個に変わることに応じて(単位バッファの個数が変化することに応じて)、6個の単位バッファ各々が240Ωで活性化される場合のインピーダンス制御信号DRZQ2に対して、補正値−1を加算し、7個の単位バッファが(240Ω+α)で活性化される場合のインピーダンス制御信号DRZQ2を生成する。7個の単位バッファ各々が、240Ωより高い(240Ω+α)のインピーダンスで活性化される場合は、電源配線の電圧降下量は少なくなる。そのため、7個の単位バッファ各々が240Ωのインピーダンスで活性化される場合に比べて、出力バッファ101のインピーダンスを目標値に近づけることが可能となる。
【0098】
データ端子DQをLレベルに駆動する場合、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コードが「01」であって、データDataが「1」、かつ、内部オンダイターミネーション制御信号IODTがLレベルであるので、選択信号151P〜153PをHレベル、選択信号151N〜153Nを全てHレベルとする。これにより、前段回路161〜163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、全てHレベルの動作信号を出力する。そのため、動作信号161P〜163Pが全てHレベルとなる。
また、前段回路161〜163に含まれるAND回路のうち、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。
このとき、図13に示すように、インピーダンス制御信号DRZQN21〜DRZQN25のレベルは、「5’b01111」(=「0Fh」)である。そのため、動作信号161Nのうち、動作信号161N5がLレベル、動作信号161N1〜161N4がHレベルとなる。また、動作信号162Nのうち、動作信号162N5がLレベル、動作信号162N1〜162N4がHレベルとなる。また、動作信号163Nのうち、動作信号163N5がLレベル、動作信号163N1〜163N4がHレベルとなる。
これにより、単位バッファ111〜114,121〜123に含まれるプルダウン回路PDは、キャリブレーション回路130に含まれるプルダウン回路133のインピーダンス240Ωより高いインピーダンスである(240+α)Ωでオンする。また、単位バッファ111〜114,121〜123に含まれるプルアップ回路PUは、全てオフとなる。つまり、7つの単位バッファ111〜114,121〜123に含まれるプルダウン回路PDが全て正確に(240+α)Ωでオンすることから、データ端子DQは、出力バッファ101により正確に34.2Ω(=240Ω/7)のインピーダンスに近いインピーダンスでLレベル(GND電位)に駆動されることになる。
【0099】
時刻t4において、メモリコントローラは、オンダイターミネーション端子12bをLレベルからHレベルに遷移させ、制御回路21に、出力バッファ101(出力回路)を終端抵抗として機能させる指示をする。これにより、制御回路21は、出力制御回路150に供給する内部オンダイターミネーション制御信号IODT信号を非活性レベル(Lレベル)から活性レベル(Hレベル)へ遷移させる。
時刻t3以降、半導体装置10にコマンド信号CMDとしてMRSコマンドは供給されていないので、制御回路21は、モードレジスタ信号MRSをモードレジスタ22に出力し続けており、モードレジスタ22は、時刻t3からの動作において発生したDS設定信号及びODT設定信号を補正回路40に出力している。
補正回路40におけるマルチプレクサ50mは、時刻t3においてDS設定コード「01」であったので、補正値−1設定部50m1が記憶する5ビットのデータ(「5’b11111」=「1Fh」)を選択し、選択したデータを補正値d1〜補正値d5(補正値d=−1)として、加減算器50aに出力している。
また、補正回路40におけるマルチプレクサ60mは、時刻t3においてODT設定コード「010」であったので、補正値2設定部60m3が記憶する5ビットのデータ(「5’b00010」=「02h」)を選択し、選択したデータを補正値o1〜補正値o5(補正値o=+2)として、加減算器60aに出力している。
【0100】
また、補正回路40における加減算器50aは、時刻t3以降の動作において、インピーダンス制御信号DRZQ1に補正値d=−1を加算して(1を減算して)、インピーダンス制御信号DRZQ2dとして、「5’b01111」(=「0Fh」)を出力している。また、補正回路40における加減算器60aは、インピーダンス制御信号DRZQ1に補正値o=2を加算して、インピーダンス制御信号DRZQ2oとして、「5’b10010」(=「12h」)を出力している。
このとき、内部オンダイターミネーション制御信号IODTはHレベルであるので、補正回路40におけるマルチプレクサ40sは、インピーダンス制御信号DRZQ2oを選択して、インピーダンス制御信号DRZQ2を出力する。インピーダンス制御信号DRZQ2のレベルは、「5’b10010」(=「12h」)である。
【0101】
出力制御回路150は、Hレベルの内部オンダイターミネーション制御信号IODT信号が供給されるので、出力バッファ101(出力回路)を終端抵抗として機能させるため、データ端子DQを中間電位に駆動する。
出力制御回路150は、ODT設定コードが「010」であって、内部オンダイターミネーション制御信号IODTがHレベルであるので、選択信号152PをLレベル、選択信号151P、153PをHレベル、選択信号152NをHレベル、選択信号151N、153NをLレベルとする。
これにより、前段回路162に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。
このとき、図13に示すようにインピーダンス制御信号DRZQ21〜DRZQ25のレベルは、「5’b10010」(=「12h」)であるので、インピーダンス制御信号DRZQP21〜DRZQP25のレベルは、この論理反転したレベルである「5’b01101」(=「0Dh」)である。そのため、動作信号162Pのうち、動作信号162P4、162P3,162P1がHレベル、動作信号162P5、162P2がLレベルとなる。
また、前段回路161、163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、Hレベルの動作信号を出力する。
そのため、動作信号161P、163Pが全てHレベルとなる。
また、前段回路162に含まれるAND回路のうち、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。
このとき、図13に示すようにインピーダンス制御信号DRZQN21〜DRZQN25のレベルは、「5’b10010」(=「12h」)である。そのため、動作信号162Nのうち、動作信号162N5、162N2がHレベル、動作信号162N4、162N3、162N1がLレベルとなる。
また、前段回路161、163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、Lレベルの動作信号を出力する。
そのため、動作信号161N、163Nが全てLレベルとなる。
【0102】
これにより、単位バッファ121〜122に含まれるプルアップ回路PUは、キャリブレーション回路130に含まれるプルアップ回路131、132のインピーダンス240Ωより低いインピーダンスである(240−β)Ωでオンする。また、単位バッファ121〜122に含まれるプルダウン回路PDは、キャリブレーション回路130に含まれるプルダウン回路133のインピーダンス240Ωより低いインピーダンスである(240−β)Ωでオンする。
つまり、2つの単位バッファ121〜122に含まれるプルアップ回路PU及びプルダウン回路PDが全て正確に(240−β)Ωでオンすることから、データ端子DQは、出力バッファ101により、120Ω(=240Ω/2)のインピーダンスに近いインピーダンスでVDD/2電位(中間電位)に終端されることになる。
【0103】
ここで、β(>0)は、上記αと同様に、設計工程において計算される値、あるいは評価によって測定される値であり、この計算結果あるいは測定結果を基に補正値=2が設定されている。
ODT設定コードを「011」(補正地o=0)として、出力バッファ101を終端抵抗として機能させた場合、6個の単位バッファのインピーダンスが240Ωに設定され、この6個の単位バッファが活性化されると、出力バッファ101のインピーダンスは40Ωとなる。一方、時刻t4〜t5の間は、2個の単位バッファが活性化される。2個の単位バッファが240Ωのインピーダンスで活性化されると、6個の単位バッファが240Ωのインピーダンスで活性化される場合に比べて、出力バッファ101が接続される電源配線(この場合は、第1の電源電圧VDDを供給する電源配線)の電圧降下量は小さくなる。このため、出力バッファ101とデータ端子DQとの間に印加する電圧差が大きくなることにより、2個の単位バッファ各々のインピーダンスも設定された240Ωより低めに下降し、2で割ったときの出力バッファ101のインピーダンスの目標値(240Ω/2=約120Ω)より低めにずれてしまう。つまり、活性化される単位バッファの個数が6個から2個へ変わるにも関らず、2個の単位バッファ各々のインピーダンスを、単位バッファが6個の状態で調整した240Ωのままにしておくと、これを2で割った出力バッファ101のインピーダンスの目標インピーダンスからのずれが、6個の単位バッファが240Ωのインピーダンスで活性化される場合の出力バッファ101のインピーダンスの目標インピーダンスのずれ(補正値=0とすることにより、目標インピーダンスである240Ω/6=40Ωに正確に調整されるので、ずれは少ない)に比べて、大きくなってしまう。そのため、活性化される単位バッファの個数が、6個から2個に変わることに応じて(単位バッファの個数が変化することに応じて)、6個の単位バッファ各々が240Ωで活性化される場合のインピーダンス制御信号DRZQ2に対して、補正値2を加算し、2個の単位バッファが(240Ω−β)で活性化される場合のインピーダンス制御信号DRZQ2を生成する。2個の単位バッファ各々が、240Ωより低い(240Ω−β)のインピーダンスで活性化される場合は、2個の単位バッファ各々が、240Ωのインピーダンスで活性化される場合に比べて、電源配線の電圧降下量は多くなる。そのため、出力バッファ101のインピーダンスを目標値に近づけることが可能となる。
【0104】
時刻t5において、メモリコントローラが、オンダイターミネーション端子12bをHレベルからLレベルに遷移させると、インピーダンス制御信号DRZQ2のレベルは、時刻t4以前のレベルに戻り、半導体装置10は、データ出力動作が可能な状態へ移行する。すなわち、上述した時刻t3〜t4と同様に、メモリセルアレイ20からのデータDataをデータ端子DQへ出力する動作を行うことができる状態へ移行する。
【0105】
このように、半導体装置10は、各々が調整可能なインピーダンスを備える複数の単位バッファを含む出力回路(出力バッファ101)と、複数の単位バッファ回路のうちの1または複数個の単位バッファ回路を選択的に活性化する制御回路(出力制御回路150)と、複数の単位バッファのそれぞれのインピーダンスを調整するインピーダンス調整部であって、当該インピーダンス調整部は、制御回路によって選択的に活性化された1又は複数個の単位バッファ回路の個数が変化することに応じて複数の単位バッファのそれぞれのインピーダンスを調整する、インピーダンス調整部(インピーダンス調整部30)と、を備える。
【0106】
これにより、本発明は、制御回路(出力制御回路150)によって選択的に活性化された1又は複数個の単位バッファ(単位バッファ111〜114、121〜123)の個数が変化することに応じて、複数の単位バッファのそれぞれのインピーダンスを調整する。このため、活性化させる単位バッファの数に違いによる出力回路のインピーダンスの目標値からのずれを低減することができ、出力回路(出力バッファ101)のインピーダンス調整の精度を向上させることができる。
【0107】
本願の技術思想は、メモリ機能以外に様々な機能を有する半導体装置に適用できる。更に、図面で開示した各回路ブロック内の回路形式、その他の制御信号を生成する回路は、実施例が開示する回路形式に限られない。
また、本発明の半導体装置の技術思想は、様々な半導体装置に適用することができる。例えば、CPU(Central Processing Unit)、MCU(Micro Control Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、ASSP(Application Specific Standard Product)、メモリ(Memory)等の半導体装置全般に、本発明を適用することができる。このような本発明が適用された半導体装置の製品形態としては、例えば、SOC(システムオンチップ)、MCP(マルチチップパッケージ)やPOP(パッケージオンパッケージ)などが挙げられる。これらの任意の製品形態、パッケージ形態を有する半導体装置に対して本発明を適用することができる。
また、トランジスタは、電界効果トランジスタ(Field Effect Transistor;FET)であれば良く、MOS(Metal Oxide Semiconductor)以外にもMIS(Metal-Insulator Semiconductor)、TFT(Thin Film Transistor)等の様々なFETに適用できる。トランジスタ等の様々なFETに適用できる。更に、装置内に一部のバイポーラ型トランジスタを有しても良い。
更に、NMOSトランジスタ(N型チャネルMOSトランジスタ)は、第1導電型のトランジスタ、PMOSトランジスタ(P型チャネルMOSトランジスタ)は、第2導電型のトランジスタの代表例である。
また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であれば成し得る各種変形、修正を含むことは勿論である。
【符号の説明】
【0108】
10…半導体装置、12a…コマンド端子、12b…オンダイターミネーション端子、13…アドレス端子、DQ,DQ0…データ端子、ZQ…キャリブレーション端子、20…メモリセルアレイ、21…制御回路、150…出力制御回路、22…モードレジスタ、100…データ入出力部、CMD…コマンド信号、ADD…アドレス信号、IODT…内部オンダイターミネーション制御信号、30…インピーダンス調整部、40…補正回路、130…キャリブレーション回路、111,112,113,114,121,122,123…単位バッファ、110…第1の出力バッファ、120…第2の出力バッファ、101…出力バッファ、170…入力バッファ、161,162,163…前段回路、151P,152P,153P,151N,152N,153N…選択信号、161P,161P1,161P2,161P3,161P4,161P5,162P,162P1,162P2,162P3,162P4,162P5,163P,163P1,163P2,163P3,163P4,163P5,161N,161N1,161N2,161N3,161N4,161N5,162N,162N1,162N2,162N3,162N4,162N5,163N,163N1,163N2,163N3,163N4,163N5…動作信号、DRZQ1,DRZQ11,DRZQ12,DRZQ13,DRZQ14,DRZQ15,DRZQ1d,DRZQ1d1,DRZQ1d2,DRZQ1d3,DRZQ1d4,DRZQ1d5,DRZQ1o,DRZQ1o1,DRZQ1o2,DRZQ1o3,DRZQ1o4,DRZQ1o5,DRZQP1,DRZQP11,DRZQP12,DRZQP13,DRZQP14,DRZQP15,DRZQN1,DRZQN11,DRZQN12,DRZQN13,DRZQN14,DRZQN15,DRZQ2d,DRZQ2o,DRZQ2,DRZQ21,DRZQ22,DRZQ23,DRZQ24,DRZQ25,DRZQP2,DRZQP21,DRZQP22,DRZQP23,DRZQP24,DRZQP25,DRZQN2,DRZQN21,DRZQN22,DRZQN23,DRZQN24,DRZQN25…インピーダンス制御信号、231,232,331,332,138,139,RZQ…抵抗、211,212,221,311,321…トランジスタ、PU,131,132…プルアップ回路、PD,133…プルダウン回路、134,135…カウンタ、136,137…コンパレータ、411,542,543,544,545…OR回路、421,511,512,513,514,515,532,533,534,535…AND回路、501,502,503,504,505,522,523,524,525…EXOR回路、40d,40o…補正回路部、40s,50m,60m,52s,62s,561,562,563,564,565,661,662,663,664,665…マルチプレクサ、50a,60a…加減算器
【技術分野】
【0001】
本発明は、半導体装置に関する。
【背景技術】
【0002】
近年、半導体装置間(CPUとメモリとの間など)におけるデータ転送には、より高いデータ転送レートが要求されている。データ転送レートをより高くする必要から、入出力信号レベルの振幅がますます小さくなってきている。入出力信号が小さくなるに従って、正確な振幅の信号を出力する必要があるため、出力バッファのインピーダンスに対して厳しい要求精度が要求されている。
【0003】
しかし、出力バッファのインピーダンスは、製造時のプロセス条件によりばらつくだけでなく、半導体装置の実使用時においても、周辺温度の変化や電源電圧の変動の影響を受けて変動する。このため、出力バッファに高いインピーダンス精度が要求される場合、インピーダンス調整機能を持った出力バッファが採用されている。このような出力バッファに対するインピーダンスの調整は、一般に「キャリブレーション(Calibration)回路」と呼ばれる、半導体装置内に設けられた回路を用いて行われる(特許文献1、及び特許文献2参照)。
【0004】
キャリブレーション回路には出力バッファと同じ構成を有するレプリカバッファが含まれている。キャリブレーション動作を行う場合、半導体装置が有するキャリブレーション用の外部端子(キャリブレーション端子)に外部抵抗を接続し、キャリブレーション端子に現れる電圧と基準電圧とを比較し、比較結果に応じてレプリカバッファのインピーダンスを調整する。そして、レプリカバッファの調整内容を出力バッファに反映させることにより、出力バッファのインピーダンスを所望の値に調整する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−228332号公報
【特許文献2】特開2007−213786号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の半導体装置では、出力バッファを構成する複数の単位バッファのそれぞれのインピーダンスを、キャリブレーション回路内のレプリカバッファを用いて所定の設定値に調整し、データ出力時やODT(On Die Termination;オンダイターミネーション)時に、複数の単位バッファのうちのいくつかの単位バッファを選択的に活性化させることで、出力バッファのインピーダンスを目標値に設定する。
【0007】
しかしながら、データ出力時やODT時に複数の単位バッファ回路を活性化させた場合、複数の単位バッファが共通に接続される電源配線による電圧降下が、活性させた単位バッファの個数に依存して変化する。そのため、活性化させた複数の単位バッファ回路各々のインピーダンスが、データ出力時やODT時に、所定の設定値に調整したインピーダンスと異なってしまい、出力バッファのインピーダンスが目標値からずれてしまうという問題がある。
【0008】
なお、特許文献2には、出力バッファのインピーダンスを低下させ、出力バッファのドライビング能力を向上させるためのプリエンファシス機能を備える半導体装置について開示されている。この半導体装置は、プリエンファシス機能を別途のドライバなしで行うために、出力バッファのインピーダンス値を調整するためのコードに対し、所定の期間オフセットデータによる調整コードを加算することで、出力バッファのドライビング能力を強化する。しかしながら、特許文献2に記載された半導体装置では、活性化させた複数の単位バッファ回路各々のインピーダンスが、所定の設定値に調整したインピーダンスと異なることにより、出力バッファのインピーダンスが目標値からずれてしまうという問題がある。
【課題を解決するための手段】
【0009】
本発明は、各々が調整可能なインピーダンスを備える複数の単位バッファを含む出力回路と、前記複数の単位バッファのうちの1または複数個の単位バッファを選択的に活性化する制御回路と、前記複数の単位バッファのそれぞれのインピーダンスを調整するインピーダンス調整部であって、当該インピーダンス調整部は、前記制御回路によって選択的に活性化された前記1又は複数個の単位バッファの個数が変化することに応じて前記複数の単位バッファのそれぞれのインピーダンスを調整する、前記インピーダンス調整部と、を備えることを特徴とする半導体装置である。
【発明の効果】
【0010】
本発明によれば、制御回路によって選択的に活性化された1又は複数個の単位バッファの個数が変化することに応じて、複数の単位バッファのそれぞれのインピーダンスを調整する。このため、活性化させる単位バッファの数の違いによる出力回路のインピーダンスの目標値からのずれを低減することができ、出力バッファ(出力回路)のインピーダンス調整の精度を向上させることができる。
【図面の簡単な説明】
【0011】
【図1】本発明の好ましい実施形態による半導体装置10の構成を示すブロック図である。
【図2】データ入出力部100の構成を示すブロック図である。
【図3】単位バッファ111の回路図である。
【図4】キャリブレーション回路130の構成を示すブロック図である。
【図5】プルアップ回路131、プルダウン回路133の回路図である。
【図6】前段回路161の回路図である。
【図7】補正回路40の構成を示すブロック図である。
【図8】補正回路部40dの回路図である。
【図9】補正回路部40oの回路図である。
【図10】補正回路40の動作を説明するための図である。
【図11】DS設定コード及びODT設定コードを示すテーブルである。
【図12】キャリブレーション動作を説明するためのフローチャートである。
【図13】半導体装置10の動作タイミングチャートである。
【発明を実施するための形態】
【0012】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
図1は、本発明を半導体装置、例えば外部から供給されるクロック信号に同期して動作するSDRAM(シンクロナス・ダイナミック・ランダム・アクセス・メモリ)に適用した場合の半導体装置10の概略構成を示す。なお、図1に示されている各回路ブロックは、全て単結晶シリコンからなる同一の半導体チップ上に形成される。各回路ブロックは、例えば、PMOSトランジスタ(P型チャネルMOSトランジスタ)及びNMOSトランジスタ(N型チャネルMOSトランジスタ)等の複数のトランジスタで構成される。また、○印で示されているのは、当該半導体チップに設けられる外部端子としてのパッドである。
【0013】
半導体装置10は、メモリセルアレイ20、制御回路21、モードレジスタ22、及びデータ入出力部100を含んで構成される。
本発明の半導体装置10の特徴部分となるデータ入出力部100は、DS機能、ODT機能を有している。DS(Driver Strengthen)機能とは、データ出力時に、出力バッファのインピーダンスを調整する機能である。半導体装置10は、DS設定信号に応じて、出力バッファを構成する単位バッファの活性化する個数を変更することで、このDS機能を有効にする。
また、ODT(On Die Termination)機能とは、データ端子DQに接続された外部バス上で他の半導体装置がデータ転送を行っている場合に、出力バッファを終端抵抗として機能させることによって信号の反射を防止する機能である。半導体装置10は、ODT設定信号に応じて、出力バッファを構成する単位バッファにおける活性化する個数を変更することで、このODT機能を有効にする。
これらDS機能、ODT機能に関する詳細については後述することとし、まず以下に、半導体装置10の概略について説明する。
【0014】
半導体装置10は、外部端子(半導体チップ上のパッド)として、コマンド端子12a、オンダイターミネーション端子12b、アドレス端子13、データ端子DQ0〜DQn、キャリブレーション端子ZQを備えている。その他、クロック端子、電源端子等の外部端子も備えるが、これらについては本発明とは関連がないため図示を省略してある。
【0015】
コマンド端子12aは、例えばロウアドレスストローブ信号/RAS、カラムアドレスストローブ信号/CAS、ライトイネーブル信号/WE、チップセレクト信号/CS等の信号が供給される端子を総称して示した端子である。これらの端子に入力される信号の組合せによりコマンド信号CMDが構成される。このコマンド端子12aは、制御回路21に接続される。なお、本明細書において信号名の先頭に「/」が付されている信号は、対応する信号の反転信号又はローアクティブな信号であることを意味する。
また、オンダイターミネーション端子12bは、オンダイターミネーション信号ODTが供給される端子である。このオンダイターミネーション端子12bは、制御回路21に接続される。
アドレス端子13は、アドレス信号ADDが供給される端子であり、制御回路21に接続される。
データ端子DQは、リードデータの出力及びライトデータの入力を行うための端子であり、データ入出力部100に接続されている。また、データ入出力部100はキャリブレーション端子ZQにも接続されている。データ入出力部100におけるキャリブレーション動作(後述)は、このキャリブレーション端子ZQに外部抵抗を接続して行われる。
【0016】
メモリセルアレイ20は、複数のワード線と複数のビット線と、ワード線とビット線との交点に配置された複数のメモリセルを含む。
制御回路21は、外部からコマンド端子12aを介して供給されるコマンド信号CMDと、外部からアドレス端子13を介して供給されるアドレス信号ADDとに応じて、メモリセルアレイ20の動作を制御する各種動作制御信号ICNTを、メモリセルアレイ20に供給する。
制御回路21は、各種動作制御信号ICNTを、メモリセルアレイ20に供給することで、メモリセルアレイ20におけるメモリセルからのデータ読み出し動作であるリード動作と、メモリセルへのデータ書き込み動作であるライト動作とを制御する。
【0017】
また、制御回路21は、外部からコマンド端子12aを介して、コマンド信号CMDとしてモードレジスタセットコマンド(MRSコマンド)が供給された場合、このMRSコマンドとともにアドレス端子13からアドレス信号ADDとして供給されるモード設定コードに応じたモードレジスタセット信号MRSをモードレジスタ22に供給する。
また、制御回路21は、外部からコマンド端子12aを介して、コマンド信号CMDとしてキャリブレーション動作の実行を示すコマンド(CALコマンド)が供給された場合、制御信号ACT1,2をデータ入出力部100に供給する。
さらに、制御回路21は、外部からオンダイターミネーション端子12bを介して供給されるオンダイターミネーション信号ODTのレベルに応じて、内部オンダイターミネーション制御信号IODTの活性レベルと非活性レベルとを制御する。
【0018】
モードレジスタ22(MR)は、制御回路21からのモードレジスタセット信号MRSに応じて設定されたDS設定信号及びODT設定信号を、データ入出力部100に供給する。データ入出力部100では、これらの設定信号に応じて、それぞれDS設定、ODT設定が行われる。ここで、DS設定とは、データ出力動作において選択的に活性化された単位バッファの個数に応じて単位バッファのインピーダンスを調整し、出力バッファを構成する複数の単位バッファのうちから、活性化される単位バッファを選択し、出力バッファのインピーダンスを目標インピーダンスとすることである。また、ODT設定とは、半導体装置10の終端抵抗としてのODT動作において、選択的に活性化された単位バッファの個数に応じて単位バッファのインピーダンスを調整し、出力バッファを構成する複数の単位バッファのうちから、活性化される単位バッファを選択し、出力バッファのインピーダンスを目標インピーダンスとすることである。
データ入出力部100は、リード動作時には、メモリセルアレイ20から供給されるデータDataを、データ端子DQ0〜DQnを介して外部に供給し、一方、ライト動作時には、外部からデータ端子DQ0〜DQnを介して供給されるデータDataをメモリセルアレイ20に供給する。
【0019】
次にデータ入出力部100について、図2を用いて説明する。
図2は、データ入出力部100の構成を示すブロック図である。図2に示すように、データ入出力部100は、データ端子DQに接続された第1の出力バッファ110及び第2の出力バッファ120と、キャリブレーション端子ZQに接続されたインピーダンス調整部30と、データ端子DQに接続された入力バッファ170とを備えている。なお、入力バッファ170は、データ入力時に活性化される回路であるが、入力バッファ170の構成やデータ入力動作の詳細は、本発明の要旨と直接関係がないため、本明細書での説明は省略する。また、本明細書において、第1の出力バッファ110及び第2の出力バッファ120により、データ入出力部100の出力バッファ101が構成されるものとする。
【0020】
出力バッファ101を構成する第1の出力バッファ110は、並列接続された4つの単位バッファ111〜114によって構成される。また、出力バッファ101を構成する第2の出力バッファ120は並列接続された3つの単位バッファ121〜123によって構成される。単位バッファ111〜114,121〜123は、リード動作時においてデータ端子DQを駆動するための回路であり、図2に示すようにデータ端子DQに対して並列に接続されている。これら単位バッファ111〜114,121〜123は互いに同一の回路構成を有しており、一例として、本実施形態ではいずれも240Ω(調整後の値)のインピーダンスを有している。このインピーダンスは、キャリブレーション動作(後述)において、インピーダンス調整部30により生成されるインピーダンス制御信号DRZQ2(コード)により調整可能なインピーダンスである。
従って、例えば、全ての単位バッファ111〜114,121〜123が活性化されれば、データ端子DQからみた出力バッファ101のインピーダンス(目標値)は、約34.3Ω(=240Ω/7)となる。また、例えば、第1の出力バッファ110を構成する4つの単位バッファ111〜114と、第2の出力バッファ120を構成する3つの単位バッファ121〜123のうち、2つの単位バッファ121,122が活性化されれば、データ端子DQからみた出力バッファ101のインピーダンス(目標値)は40Ω(=240Ω/6)となる。
しかしながら、問題点において述べたように、これら複数の単位バッファが共通に接続される電源配線の抵抗が、活性された単位バッファの個数に依存して変化する。そのため、活性化された複数の単位バッファ回路各々のインピーダンスが、データ出力時やODT時に、キャリブレーション動作において調整された所定の設定値(この場合240Ω)と異なってしまい、結果として出力バッファ101のインピーダンスが目標値からずれてしまう。例えば、上記例の場合、全ての単位バッファ(この場合7個)が選択的に活性化された場合は、1個の単位バッファが選択的に活性化された場合に比べて、各単位バッファが共通に接続される電源配線が電圧降下しやすくなる。キャリブレーション動作では、1個の単位バッファに相当するレプリカバッファを用いて複数の単位バッファ各々のインピーダンスを240Ωに設定するため、7個の単位バッファが選択的に活性化されると、単位バッファのインピーダンスは調整された240Ωより高くなり、出力バッファ101のインピーダンスも目標である約34.3Ωより高めに設定されてしまう。このように、選択的に活性化された単位バッファの個数に応じて、データ出力時やODT時に、所定の設定値(この場合240Ω)に調整したインピーダンスと異なってしまい、結果として出力バッファ101のインピーダンスが目標値からずれてしまう。
【0021】
そのため、インピーダンス調整部30は、活性される単位バッファの個数に応じて、インピーダンス制御信号DRZQ1を補正してインピーダンス制御信号DRZQ2を生成する。インピーダンス調整部30は、このインピーダンス制御信号DRZQ2に基づいて単位バッファのインピーダンスを調整し、出力バッファ101のインピーダンスを目標値に近づける。上記例で言えば、7個の単位バッファが選択的に活性化される場合、各単位バッファのインピーダンスを240Ωより高めに調整することで、出力バッファ101のインピーダンスを目標である約34.3Ωに近づける。
従って、単位バッファ111〜114,121〜123のインピーダンスは、キャリブレーショ動作(後述)においては、活性させる単位バッファの個数に応じて調整される。例えば、補正がなければ、図2に示すように240オームのまま設定されることもあれば、補正により240オームより低い値、或いは高い値に設定される場合もある。もちろん、このキャリブレーション動作において単位バッファのインピーダンスがインピーダンス制御信号DRZQ2により一度調整されても、インピーダンス制御信号DRZQ2を生成する際の補正値は、予め設定された補正値の範囲内で更新することが可能であり(後述)、選択的に活性化された単位バッファの個数に応じて、単位バッファのインピーダンスは、再度のキャリブレーション動作なしに調整される。
【0022】
インピーダンス調整部30は、このインピーダンス制御信号DRZQ1、及びインピーダンス制御信号DRZQ2を生成する回路である。
インピーダンス調整部30は、キャリブレーション回路130(インピーダンス調整回路)と、補正回路40(補正回路)とを含んで構成される。
キャリブレーション回路130は、キャリブレーション端子ZQに接続される外部抵抗の抵抗値に応じて、複数の単位バッファ(単位バッファ111〜114,121〜123)のそれぞれのインピーダンスを調整するためのインピーダンス制御信号DRZQ1(第1のインピーダンス制御信号)を発生する回路である。
また、補正回路40は、キャリブレーション回路130からインピーダンス制御信号DRZQ1を受け取り、このインピーダンス制御信号DRZQ1に、活性化される単位バッファ回路の個数に応じた補正を実行してインピーダンス制御信号DRZQ2(第2のインピーダンス調整信号)を発生する回路である。補正回路40は、活性化される単位バッファ回路の個数として、DS設定信号、またはODT設定信号をモードレジスタから受け取り、この設定信号を基に補正を行い、インピーダンス制御信号DRZQ2(第2のインピーダンス調整信号)を発生する。また、補正回路40は、インピーダンス制御信号DRZQ2を、前段回路を介して複数の単位バッファ(単位バッファ111〜114,121〜123)に供給して複数の単位バッファのそれぞれのインピーダンスを調整する。
【0023】
単位バッファ111〜114の動作は、前段回路161より供給される動作信号161P,161Nによって制御され、単位バッファ121,122の動作は、前段回路162より供給される動作信号162P,162Nによって制御され、単位バッファ123の動作は、前段回路163より供給される動作信号163P,163Nによって制御される。
前段回路161〜163は、それぞれ対応する単位バッファ111〜114,121〜123に含まれる複数の出力トランジスタ(後述)のいずれをオンさせるかを指定する回路であり、これら出力トランジスタのオン(導通)またオフ(非導通)は、動作信号161P〜163P及び動作信号161N〜163Nによって制御される。図2に示すように、前段回路161〜163には、キャリブレーション回路130からインピーダンス制御信号DRZQ2が共通に供給されるとともに、出力制御回路150から選択信号151P〜153P及び選択信号151N〜153Nが個別に供給される。
【0024】
出力制御回路150は、複数の単位バッファ111〜11nのうち活性化させる単位バッファを指定するとともに、DQ端子を駆動する際の出力レベルを指定する回路である。活性化させる単位バッファの指定は、DS設定信号、またはODT設定信号をモードレジスタから受け取り、これらの設定信号に基づき、選択信号151P〜153P及び選択信号151N〜153Nを前段回路161〜163に出力することにより行う。また、活性化させる単位バッファの出力レベルは、リード動作ではメモリセルアレイ20から供給されるデータDataに基づいて定められる。
【0025】
以下、データ入出力部100を構成する各回路ブロックについてより詳細に説明する。
図3は、単位バッファ111の回路図である。
図3に示すように、単位バッファ111は、並列接続された複数(本実施形態では5つ)のPチャンネルMOSトランジスタ211〜215と、並列接続された複数(本実施形態では5つ)のNチャンネルMOSトランジスタ221〜225と、これらトランジスタ211〜215とトランジスタ221〜225との間に直列に接続された抵抗231,232とを備え、抵抗231と抵抗232の接続点がデータ端子DQに接続されている。単位バッファ111のうち、PチャンネルMOSトランジスタ211〜215及び抵抗231からなる部分はプルアップ回路PUを構成しており、NチャンネルMOSトランジスタ221〜225及び抵抗232からなる部分はプルダウン回路PDを構成している。
【0026】
トランジスタ211〜215のゲートには、動作信号161Pを構成する5つの動作信号161P1〜161P5が供給されており、トランジスタ221〜225のゲートには、動作信号161Nを構成する5つの動作信号161N1〜161N5が供給されている。これにより、単位バッファ111に含まれる10個のトランジスタは、10本の動作信号161P1〜161P5及び動作信号161N1〜161N5によって、個別にオンまたはオフ制御を行うことができる。
【0027】
トランジスタ211〜215からなる並列回路及びトランジスタ221〜225からなる並列回路は、いずれも導通時に120Ωとなるように設計されている。しかしながら、トランジスタのオン抵抗は製造条件によってばらつくとともに、動作時における環境温度や電源電圧によって変動することから、必ずしも所望のインピーダンスが得られるとは限らない。このため、キャリブレーション動作において実際にインピーダンスを120Ωとするためには、オンさせるべきトランジスタの数を調整する必要があり、かかる目的のために、複数のトランジスタからなる並列回路を用いている。インピーダンスを微細且つ広範囲に調整するためには、並列回路を構成する複数のトランジスタのW/L比(ゲート幅/ゲート長比)を互いに異ならせることが好ましく、2のべき条の重み付けをすることが特に好ましい。この点を考慮して、本実施形態では、トランジスタ211のW/L比を「1」とした場合、トランジスタ212〜215のW/L比をそれぞれ「2」、「4」、「8」、「16」に設定している(W/L比の値は相対値であり、実際のW/L比を表しているものではない。以下同様)。
これにより、動作信号161P1〜161P5及び動作信号161N1〜161N5によってオンさせるトランジスタを適宜選択することによって、製造条件によるばらつきや温度変化などにかかわらず、並列回路のオン抵抗をキャリブレーション動作においてほぼ120Ωに固定させることができる。
【0028】
また、抵抗231,232の抵抗値は、いずれも120Ωに設計されている。これにより、トランジスタ211〜215からなる並列回路及びトランジスタ221〜225からなる並列回路の少なくとも一方がオン状態となれば、データ端子DQからみた単位バッファ111のインピーダンスは240Ωとなる。抵抗231,232としては、例えばタングステン(W)抵抗を用いることができる。
【0029】
第1の出力バッファ110を構成する他の単位バッファ112〜114も、図3に示す単位バッファ111と同じ回路構成を有し、かつ、同じ動作信号161P1〜161P5及び動作信号161N1〜161N5によって制御される。一方、第2の出力バッファ120を構成する他の単位バッファ121〜123は、図3に示す単位バッファ111と同じ回路構成を有しているものの、単位バッファ121,122の動作は動作信号162P,162Nによって制御され、単位バッファ123の動作は動作信号163P,163Nによって制御される。動作信号162P,162,163P,163Nについても、それぞれ5つの動作信号によって構成されており、それぞれ対応するプルアップ回路PU又はプルダウン回路PDを制御する。
【0030】
図4は、キャリブレーション回路130の回路図である。キャリブレーション回路130は、プルアップ回路131,132と、プルダウン回路133と、プルアップ回路131,132の動作を制御するカウンタ134と、プルダウン回路133の動作を制御するカウンタ135と、カウンタ134を制御するコンパレータ136と、カウンタ135を制御するコンパレータ137とを備えている。
【0031】
図5は、図4に示すプルアップ回路131及びプルダウン回路133の回路図である。図5(a)に示すように、プルアップ回路131は、単位バッファ111〜114,121〜123に含まれるプルアップ回路PUと実質的に同じ回路構成を有している。つまり、プルアップ回路131は、並列接続された5つのPチャンネルMOSトランジスタ311〜315と、一端がこれらトランジスタのドレインに接続された抵抗331とを備え、抵抗331の他端がキャリブレーション端子ZQに接続されている。
プルアップ回路131に含まれるトランジスタ311〜315は、図3に示すトランジスタ211〜215に対応しており、それぞれ同一のインピーダンスを有している。したがって、トランジスタ211〜215のW/L比と同様、トランジスタ311〜315のW/L比もそれぞれ「1」、「2」、「4」、「8」、「16」に設定されている。
ただし、インピーダンスが実質的に同じである限り、プルアップ回路131に含まれるトランジスタ311〜315と、図3に示すトランジスタ211〜215とが全く同じトランジスタサイズである必要はなく、シュリンクしたトランジスタを用いても構わない。
抵抗331も、図3に示す抵抗231に対応しており、したがって、その抵抗値は12
0Ωに設定されている。
【0032】
トランジスタ311〜315のゲートには、カウンタ134よりインピーダンス制御信号DRZQP11〜DRZQP15がそれぞれ供給されており、これによってプルアップ回路131の動作が制御される。インピーダンス制御信号DRZQP11〜DRZQP15は、動作信号161P1〜161P5に対応する信号である。
プルアップ回路132も、図5(a)に示すプルアップ回路131と同一の回路構成を有しており、プルアップ回路132に含まれる5つのトランジスタのゲートには、同じくインピーダンス制御信号DRZQP1〜DRZQP5が供給される。
【0033】
図5(b)は、プルダウン回路133の回路図である。図5(b)に示すように、プルダウン回路133は、単位バッファ111〜114,121〜123に含まれるプルダウン回路PDと実質的に同じ回路構成を有している。つまり、プルダウン回路133は、並列接続された5つのNチャンネルMOSトランジスタ321〜325と、一端がこれらトランジスタのドレインに接続された抵抗332とを備えている。プルダウン回路133に含まれるトランジスタ321〜325は、図3に示すトランジスタ221〜225に対応しており、それぞれ同一のインピーダンスを有している。この点は、プルアップ回路131と同様である。抵抗332も、図3に示す抵抗232に対応しており、したがって、その抵抗値は120Ωに設定されている。
トランジスタ321〜325のゲートには、カウンタ135よりインピーダンス制御信号DRZQN11〜DRZQN15がそれぞれ供給されており、これによってプルダウン回路133の動作が制御される。インピーダンス制御信号DRZQN1〜DRZQN5は、動作信号161N1〜161N5に対応する信号である。
【0034】
このように、プルアップ回路131,132は、いずれも単位バッファ111〜114,121〜123に含まれるプルアップ回路PUと実質的に同じ回路構成を有しており、プルダウン回路133は、単位バッファ111〜114,121〜123に含まれるプルダウン回路PDと実質的に同じ回路構成を有している。したがって、プルアップ回路131,132及びプルダウン回路133のインピーダンスは、いずれも240Ω(キャリブレーション動作における調整後の値)である。このうち、プルアップ回路132とプルダウン回路133は、「レプリカバッファ」を構成しており、したがって、レプリカバッファは単位バッファ111〜114,121〜123と実質的に同じ回路構成を有していることになる。ここでいう「実質的に同じ」とは、レプリカバッファに含まれるトランジスタがシュリンクされている場合であっても同じとみなす意である。
【0035】
図4に戻って、レプリカバッファの出力端である接点Aは、コンパレータ137の非反転入力端子(+)に接続されている。
カウンタ134は、制御信号ACT1が活性化するとカウントアップ又カウントダウンするカウンタであり、コンパレータ136の出力である比較信号COMP1がハイレベルである場合にはカウントアップを続け、比較信号COMP1がローレベルである場合にはカウントダウンを続ける。コンパレータ136の非反転入力端子(+)はキャリブレーション端子ZQに接続されており、反転入力端子(−)は電源電位(VDD)とグランド電位(GND)間に直列接続された抵抗138及び抵抗139の中点に接続されている。かかる構成により、コンパレータ136は、キャリブレーション端子ZQの電位と中間電位(VDD/2)とを比較し、前者の方の電位が高ければその出力である比較信号COMP1をハイレベルとし、後者の方の電位が高ければ比較信号COMP1をローレベルとする。
【0036】
一方、カウンタ135は、制御信号ACT2が活性化するとカウントアップ又カウントダウンするカウンタであり、コンパレータ137の出力である比較信号COMP2がハイレベルである場合にはカウントアップを続け、比較信号COMP2がローレベルである場合にはカウントダウンを続ける。コンパレータ137の非反転入力端子(+)はレプリカバッファの出力端である接点Aに接続され、反転入力端子(−)は抵抗138,139の中点に接続されている。かかる構成により、コンパレータ137は、レプリカバッファの出力電位と中間電圧(VDD/2)とを比較し、前者の方の電位が高ければその出力である比較信号COMP2をハイレベルとし、後者の方の電位が高ければ比較信号COMP2をローレベルとする。
【0037】
そして、カウンタ134,135は、制御信号ACT1,ACT2が非活性化するとカウント動作を停止し、現在のカウント値を保持する。上述のとおり、カウンタ134のカウント値はインピーダンス制御信号DRZQP1として用いられ、カウンタ135のカウント値はインピーダンス制御信号DRZQN1として用いられる。そして、これらの総称であるインピーダンス制御信号DRZQ1は、キャリブレーション動作において、補正回路40により補正され、インピーダンス制御信号DRZQ2(インピーダンス制御信号DRZQP2とインピーダンス制御信号DRZQN2の総称)として、図2に示す前段回路161〜163に共通に供給される。
【0038】
図6は、前段回路161の回路図である。前段回路161は、論理和回路であるOR回路411〜415と、論理積回路であるAND回路421〜425によって構成されている。OR回路411〜415には、出力制御回路150からの選択信号151Pが共通に供給されているとともに、補正回路40からのインピーダンス制御信号DRZQP21〜DRZQP25がそれぞれ供給されている。一方、AND回路421〜425には、出力制御回路150からの選択信号151Nが共通に供給されているとともに、補正回路40からのインピーダンス制御信号DRZQN21〜DRZQN25がそれぞれ供給されている。
【0039】
OR回路411〜415の出力である動作信号161P1〜161P5(動作信号161Pを構成する)、並びに、AND回路421〜425の出力である動作信号161N1〜161N5(動作信号161Nを構成する)は、図2に示すように、単位バッファ111〜114に共通に供給され、それぞれ対応するトランジスタを制御する。
他の前段回路162,163も、図6に示す前段回路161と同様の回路構成を有している。前段回路162に含まれるOR回路411〜415及びAND回路421〜425は、出力制御回路150からの選択信号152P,152Nがそれぞれ共通に供給され、動作信号162P1〜162P5(動作信号162Pを構成する)、並びに、動作信号162N1〜162N5(動作信号162Nを構成する)を単位バッファ121〜122に共通に供給する。また、前段回路163に含まれるOR回路411〜415及びAND回路421〜425は、出力制御回路150からの選択信号153P,153Nがそれぞれ共通に供給され、動作信号163P1〜163P5(動作信号163Pを構成する)、並びに、動作信号163N1〜163N5(動作信号163Nを構成する)を単位バッファ123に供給する。
【0040】
前段回路161〜163と出力制御回路150の間の制御動作を、より具体的に説明する。
まず、出力制御回路150は、制御回路21にコマンド端子12aを介して、コマンド信号CMDとしてメモリセルアレイ20からのデータDataをデータ端子DQから外部へ出力する指示を示すコマンド(READコマンド)が供給されると、制御回路21からデータアウトイネーブル信号OEが供給される。
このデータアウトイネーブル信号OEが供給されると、出力制御回路150は、データDataが「1」(Hレベル)、かつ、内部オンダイターミネーション制御信号IODTがLレベル(非活性レベル)の場合、前段回路161〜163を制御して出力バッファ101に接続されたデータ端子DQをHレベルに駆動する。また、出力制御回路150は、データDataが「0」(Lレベル)、かつ、内部オンダイターミネーション制御信号IODTがLレベルの場合、前段回路161〜163を制御して出力バッファ101に接続されたデータ端子DQをLレベルに駆動する。
また、データ端子DQをHレベルまたはLレベルに駆動する際、出力制御回路150は、モードレジスタ22から供給されるDS設定信号に応じて、前段回路161〜163に出力する選択信号151P〜153P、選択信号151N〜153NをHレベルまたはLレベルに変化させる。
【0041】
具体的には、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コード「00」であって、データDataが「1」、かつ、内部オンダイターミネーション制御信号IODTがLレベルの場合、選択信号151P、152PをLレベル、選択信号153PをHレベル、選択信号151N〜153Nを全てLレベルとする。これにより、前段回路161〜162に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。また、前段回路163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、全てHレベルの動作信号を出力する。また、前段回路161〜163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、全てLレベルの動作信号を出力する。
【0042】
また、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コード「01」であって、データDataが「1」、かつ、内部オンダイターミネーション制御信号IODTがLレベルの場合、選択信号151P〜153Pを全てLレベル、151N〜153Nを全てLレベルとする。これにより、前段回路161〜163に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。また、前段回路161〜163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、全てLレベルの動作信号を出力する。
【0043】
また、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コード「00」であって、データDataが「0」、かつ、内部オンダイターミネーション制御信号IODTがLレベルの場合、選択信号151P〜153Pを全てHレベル、選択信号151N〜152NをHレベル、選択信号153NをLレベルとする。これにより、前段回路161〜163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、全てHレベルの動作信号を出力する。また、前段回路161〜162に含まれるAND回路は、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。前段回路163に含まれるOR回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、全てLレベルの動作信号を出力する。
【0044】
また、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コード「01」であって、データDataが「0」、かつ、内部オンダイターミネーション制御信号IODTがLレベルの場合、選択信号151P〜153Pを全てHレベル、選択信号151N〜153Nを全てHレベルとする。これにより、前段回路161〜163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、全てHレベルの動作信号を出力する。また、前段回路161〜163に含まれるAND回路は、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。
【0045】
また、出力制御回路150は、制御回路21にオンダイターミネーション端子12bを介して、出力バッファ101(出力回路)を終端抵抗として機能させる指示をするオンダイターミネーション信号ODTが供給されると、制御回路21から、活性レベル(Hレベル)の内部オンダイターミネーション制御信号IODT信号が供給される。
このHレベルの内部オンダイターミネーション制御信号IODT信号が供給されると、出力制御回路150は、データDataのレベルに関らず、前段回路161〜163を制御して出力バッファ101に接続されたデータ端子DQを、(電源電位VDDと接地電位GND)の中間電位(VDD/2電位)に駆動する。
また、データ端子DQを中間電位に駆動する際、出力制御回路150は、モードレジスタ22から供給されるODT設定信号に応じて、前段回路161〜163に出力する選択信号151P〜153P、選択信号151N〜153NをHレベルまたはLレベルに変化させる。
【0046】
具体的には、出力制御回路150は、ODT設定信号がモードレジスタ22から入力されると、ODT設定コードが「010」であって、内部オンダイターミネーション制御信号IODTがHレベルの場合、選択信号152PをLレベル、選択信号151P、153PをHレベル、選択信号152NをHレベル、選択信号151N、153NをLレベルとする。
これにより、前段回路162に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。
また、前段回路161、163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、Hレベルの動作信号を出力する。
また、前段回路162に含まれるAND回路のうち、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。
また、前段回路161、163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、Lレベルの動作信号を出力する。
【0047】
また、出力制御回路150は、ODT設定信号がモードレジスタ22から入力されると、ODT設定コードが「001」であって、内部オンダイターミネーション制御信号IODTがHレベルの場合、選択信号151PをLレベル、選択信号152P〜153PをHレベル、選択信号151NをHレベル、選択信号152N〜153NをLレベルとする。
これにより、前段回路161に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。
また、前段回路162、163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、Hレベルの動作信号を出力する。
また、前段回路161に含まれるAND回路のうち、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。
また、前段回路162、163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、Lレベルの動作信号を出力する。
【0048】
また、出力制御回路150は、ODT設定信号がモードレジスタ22から入力されると、ODT設定コードが「011」であって、内部オンダイターミネーション制御信号IODTがHレベルの場合、選択信号151P〜152PをLレベル、選択信号153PをHレベル、選択信号151N〜152NをHレベル、選択信号153NをLレベルとする。
これにより、前段回路161〜162に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。
また、前段回路163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、Hレベルの動作信号を出力する。
また、前段回路161〜162に含まれるAND回路のうち、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。
また、前段回路163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、Lレベルの動作信号を出力する。
【0049】
続いて、インピーダンス調整部30における補正回路40ついて、図7〜図11を用いて説明する。図7は、補正回路40の構成を示すブロック図であり、図8は補正回路部40dの回路図、図9は補正回路部40oの回路図、図10は補正回路部40dの主要信号の真理値表、図11は、DS設定信号及びODT設定信号を示すテーブルである。
補正回路40は、図7に示すように、補正回路部40d、補正回路部40o、及びマルチプレクサ40sを含んで構成される。なお、インピーダンス制御信号DRZQ1は、インピーダンス制御信号DRZQP1(5ビット)とインピーダンス制御信号DRZQN1(5ビット)を総称しているので、この補正回路40は、インピーダンス制御信号DRZQP1補正用に1台、インピーダンス制御信号DRZQN1補正用に1台、それぞれ設けられる。以下の説明では、インピーダンス制御信号DRZQN1補正用に設けられた補正回路40について、インピーダンス制御信号DRZQN1(インピーダンス制御信号DRZQN11〜DRZQN15)をインピーダンス制御信号DRZQ1として説明するが、補正動作は同時に、インピーダンス制御信号DRZQP1補正用に設けられた補正回路40においても行われる。
補正回路部40dは、あらかじめ確認した補正値をDS設定信号に応じて選択するマルチプレクサ50mと、選択結果である補正値dをインピーダンス制御信号DRZQ1(キャリブレーション動作においてレプリカバッファのインピーダンスを240Ωに調整することにより確定したコード)に対して加減算し、インピーダンス制御信号DRZQ2dを発生する加減算器50aを含んで構成される。
補正回路部40oは、あらかじめ確認した補正値をODT設定信号に応じて選択するマルチプレクサ60mと、選択結果である補正値oをインピーダンス制御信号DRZQ1に対して加減算し、インピーダンス制御信号DRZQ2oを発生する加減算器60aを含んで構成される。
マルチプレクサ40sは、内部オンダイターミネーション制御信号IODT信号のレベルにより、インピーダンス制御信号DRZQ2dまたはインピーダンス制御信号DRZQ2oのいずれかを選択し、インピーダンス制御信号DRZQ2(補正したZQコード)を、前段回路161〜163に対して出力する。
【0050】
まず、補正回路部40dについて、図8を用いて説明する。
補正回路部40dにおけるマルチプレクサ50m(選択回路)は、図8に示すように、補正値−1設定部50m1(第2の補正値記憶部)、補正値0設定部50m2(第2の補正値記憶部)、及びマルチプレクサ561〜565を含んで構成される。補正値−1設定部50m1、補正値0設定部50m2により、マルチプレクサ50mが有する第1の補正値記憶部を構成する。
補正−1設定部50m1、補正値0設定部50m2は、それぞれ、例えばヒューズ、アンチヒューズ等の5つ不揮発性素子で構成され、不揮発性素子はそれぞれデータ0(Lレベル)またはデータ1(Hレベル)を記憶する。図8に示す例では、補正値−1設定部50m1は、マルチプレクサ561側の素子を最下位、マルチプレクサ565側の素子を最上位として、2進数でデータ「11111」を記憶している。なお、「11111」は、5ビットの最上位側ビットから最下位側ビットを左側から順番に並べて示しており、本実施形態においては、2進数を以下、例えば「5’b11111」のように表すものとする。また、この「5’b11111」を16進数で表す場合、「1Fh」のように16進数とhを用いて表すものとする。これらの2進数、16進数での表し方を用いると、補正値0設定部50m2は、「5’b00000」(=「00h」)を記憶している。
【0051】
マルチプレクサ561〜565は、モードレジスタ22(MR)から入力されるDS設定信号に応じて、補正値−1設定部50m1または補正値0設定部50m2が記憶する5ビットのデータを選択し、選択したデータを補正値d1〜補正値d5として後段の加減算器50aに出力する。
このDS設定信号は、次のように、モードレジスタ22から供給される。
半導体装置10にコマンド信号CMDとしてMRSコマンドが供給されたときに、MRSコマンドとともにアドレス端子13にアドレス信号ADDとして供給されるモード設定コード(例えばアドレスA5,A1の2ビットに対応したコード「A5、A1」からなるDS設定コード)に応じて、制御回路21が、モードレジスタセット信号MRSをモードレジスタ22(MR)に出力する。モードレジスタ22は、例えば内部に上記アドレスに対応するレジスタ(レジスタR51とする)を有し、このDS設定コード「A5、A1」をレジスタR51に記憶する。
例えば、図11(a)に示すように、データ入出力部100の出力バッファ101の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗RZQの1/6に設定する(以下、DS設定するという)場合、レジスタR51はDS設定コード「00」を記憶する。
また、図11(b)に示すように、データ入出力部100の出力バッファ101の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗RZQの1/7にDS設定する場合、レジスタR51はDS設定コード「01」を記憶する。このように、レジスタR51が記憶するDS設定コードは、半導体装置10にコマンド信号CMDとしてMRSコマンドが供給されるたびに更新することが可能である。そして、モードレジスタ22は、上記レジスタR51に記憶されたDS設定コードに応じて、DS設定信号をマルチプレクサ561〜565に出力する。
【0052】
マルチプレクサ561〜565は、DS設定コード「00」の場合、DS設定信号がモードレジスタ22から入力されると、補正値0設定部50m2が記憶する5ビットのデータ(「5’b00000」=「00h」)を選択し、選択したデータを補正値d1〜補正値d5として後段の加減算器50aに出力する。
また、マルチプレクサ561〜565は、DS設定コード「01」の場合、DS設定信号がモードレジスタ22から入力されると、補正値−1設定部50m1が記憶する5ビットのデータ(「5’b11111」=「1Fh」)を選択し、選択したデータを補正値d1〜補正値d5として後段の加減算器50aに出力する。
なお、補正値−1設定部50m1または補正値0設定部50m2が記憶する補正値は、予め半導体装置10の回路設計時に行う回路シミュレーション(半導体装置10が正常に動作しているか否かを計算機上で検証する工程)において、出力バッファ101の目標インピーダンスに応じて設定される。さらに、この補正値は、半導体装置10が製造された後、例えば評価サンプルとして組立てた製品を用いて、出力バッファ101のインピーダンスを測定し、目標インピーダンスに設定されているか否かが評価される。そして、目標インピーダンスとずれている場合、上述の通り、補正値−1設定部50m1または補正値0設定部50m2は不揮発性記憶素子で構成されているので、最適となる変更後の補正値が、未だウエハー工程にある半導体装置10にフィードバックされ、不揮発性素子に書き込まれ、固定値として設定される。
【0053】
加減算器50aは、図8に示すように、排他的論理和回路であるEXOR回路501〜EXOR回路505、EXOR回路522〜EXOR回路525、論理積回路であるAND回路511〜AND回路515、AND回路532〜AND回路535、及び論理和回路であるOR回路542〜OR回路545を含んで構成される。加減算器50aは、インピーダンス制御信号DRZQ1に補正値dを加減算してインピーダンス制御信号DRZQ1dを生成する。
【0054】
EXOR回路501は、インピーダンス制御信号DRZQ11と補正値d1との排他的論理和を演算し、インピーダンス制御信号DRZQ1d1を出力する。
また、AND回路511は、インピーダンス制御信号DRZQ11と補正値d1との論理積を演算し、当該演算結果を出力信号として出力する。
【0055】
EXOR回路502は、インピーダンス制御信号DRZQ12と補正値d2との排他的論理和を演算し、当該演算結果を出力信号として出力する。
また、AND回路512は、インピーダンス制御信号DRZQ12と補正値d2との論理積を演算し、当該演算結果を出力信号として出力する。
EXOR回路522は、EXOR回路502の出力信号とAND回路511の出力信号との排他的論理和を演算し、インピーダンス制御信号DRZQ1d2を出力する。
また、AND回路532は、EXOR回路502の出力信号とAND回路511の出力信号との論理積を演算し、当該演算結果を出力信号として出力する。
また、OR回路542は、AND回路532の出力信号とAND回路512の出力信号との論理和を演算し、当該演算結果を出力信号として出力する。
【0056】
EXOR回路503は、インピーダンス制御信号DRZQ13と補正値d3との排他的論理和を演算し、当該演算結果を出力信号として出力する。
また、AND回路513は、インピーダンス制御信号DRZQ13と補正値d3との論理積を演算し、当該演算結果を出力信号として出力する。
EXOR回路523は、EXOR回路503の出力信号とOR回路542の出力信号との排他的論理和を演算し、インピーダンス制御信号DRZQ1d3を出力する。
また、AND回路533は、EXOR回路503の出力信号とOR回路542の出力信号との論理積を演算し、当該演算結果を出力信号として出力する。
また、OR回路543は、AND回路533の出力信号とAND回路513の出力信号との論理和を演算し、当該演算結果を出力信号として出力する。
【0057】
EXOR回路504は、インピーダンス制御信号DRZQ14と補正値d4との排他的論理和を演算し、当該演算結果を出力信号として出力する。
また、AND回路514は、インピーダンス制御信号DRZQ14と補正値d4との論理積を演算し、当該演算結果を出力信号として出力する。
EXOR回路524は、EXOR回路504の出力信号とOR回路543の出力信号との排他的論理和を演算し、インピーダンス制御信号DRZQ1d4を出力する。
また、AND回路534は、EXOR回路504の出力信号とOR回路543の出力信号との論理積を演算し、当該演算結果を出力信号として出力する。
また、OR回路544は、AND回路534の出力信号とAND回路514の出力信号との論理和を演算し、当該演算結果を出力信号として出力する。
【0058】
EXOR回路505は、インピーダンス制御信号DRZQ15と補正値d5との排他的論理和を演算し、当該演算結果を出力信号として出力する。
また、AND回路515は、インピーダンス制御信号DRZQ15と補正値d5との論理積を演算し、当該演算結果を出力信号として出力する。
EXOR回路525は、EXOR回路505の出力信号とOR回路544の出力信号との排他的論理和を演算し、インピーダンス制御信号DRZQ1d5を出力する。
また、AND回路535は、EXOR回路505の出力信号とOR回路544の出力信号との論理積を演算し、当該演算結果を出力信号として出力する。
また、OR回路545は、AND回路535の出力信号とAND回路515の出力信号との論理和を演算し、当該演算結果をキャリー信号CARYY5dとして出力する。
【0059】
図10は、加減算器50aが、インピーダンス制御信号DRZQ11〜DRZQ15と、補正値d1〜d5とからインピーダンス制御信号DRZQ1d1〜DRZQ1d5を生成する場合のインピーダンス制御信号DRZQ1d1〜DRZQ1d5のレベル(2進数で「0」または「1」)と、上記各回路の出力のレベルを示している。
図10(a)に示すように、インピーダンス制御信号DRZQ11〜DRZQ15が「5’b10000」(=「10h」)であって、補正値d1〜d5(補正値=−1)が「5’b11111」(=「1Fh」)のとき、加減算器50aは、インピーダンス制御信号DRZQ1d1〜DRZQ1d5として、「5’b01111」(=「0Fh」)を出力する。なお、このように、補正値がマイナスの値の時は、2の補数で設定するものとする。例えば、補正値が−2のときは、2の補数で「5’b11110」(=「1Eh」)が設定される。
また、図10(b)に示すように、インピーダンス制御信号DRZQ11〜DRZQ15が「5’b10000」(=「10h」)であって、補正値d1〜d5(補正値=0)が「5’b00000」(=「00h」)のとき、加減算器50aは、インピーダンス制御信号DRZQ1d1〜DRZQ1d5として、「5’b10000」(=「10h」)を出力する。
図10(a)、図10(b)に示すこれらの場合は、先に説明した補正値−1設定部50m1または補正値0設定部50m2に補正値として、それぞれ−1、0が設定されている場合に対応する。
【0060】
補正値が図10(a)に示す場合のようにマイナスに設定されている場合、加減算器50aは、インピーダンス制御信号DRZQ11〜DRZQ15を減算し、インピーダンス制御信号DRZQ1d1〜DRZQ1d5を生成する。図7に示すマルチプレクサ40sは、内部オンダイターミネーション制御信号IODTが非活性レベル(Lレベル)のとき、インピーダンス制御信号DRZQ1d1〜DRZQ1d5をインピーダンス制御信号DRZQ2として出力する。インピーダンス制御信号DRZQ2は、前段回路161〜163に供給され、それぞれ対応する単位バッファのインピーダンスが、240Ωより高くなるように調整される。なお、インピーダンス制御信号DRZQN1は、上述の通り補正回路部40dにより減算され、インピーダンス制御信号DRZQN2となり、前段回路161に供給され、それぞれ対応する単位バッファのプルダウン回路PDのインピーダンスが高くなるように調整される。一方、インピーダンス制御信号DRZQP1は、補正回路部40dにより加算され(補正値設定部の補正値をプラス値に設定しておく)、インピーダンス制御信号DRZQP2となり、前段回路161に供給され、それぞれ対応する単位バッファのプルアップ回路PUのインピーダンスが高くなるように調整される。
【0061】
なお、インピーダンス制御信号DRZQ1が最大値のときに加算された場合、または最小値のときに減算された場合には、補正後のインピーダンス制御信号DRZQ1dがオーバーフローして、不正値となってしまう。例えば、図10(e)に示すように、インピーダンス制御信号DRZQ11〜DRZQ15が「5’b11111」(=「1Fh」)であって、補正値d1〜d5(補正値=+1)が「5’b00001」(=「01h」)のとき、加減算器50aは、インピーダンス制御信号DRZQ1d1〜DRZQ1d5として、「5’b00000」(=「00h」)を出力する。この場合、単位バッファのプルダウン回路PDのインピーダンスが無限大(ハイインピーダンス状態)となってしまう。このように、単位バッファのプルダウン回路PDのインピーダンスが無限大となることを防ぐために、プルダウン回路PDのトランジスタ221〜225のいずれか1つを常時オンになるようにインピーダンス制御信号DRZQ1に制限を設けることも可能だが、その場合においても、たとえインピーダンスが無限大とならなくとも、プルダウン回路PDのインピーダンスが補正により大幅にずれてしまうことになる。そのため、このようにオーバーフローした場合を考えて、加減算器50aの出力であるキャリー信号CARY5dを入力信号とするマルチプレクサ52sを、補正回路部40d内に設ける構成としている。
【0062】
マルチプレクサ52sは、キャリー信号CARY5dが「1」(Hレベル)のとき、補正後のインピーダンス制御信号DRZQ1dでなく、補正前のインピーダンス制御信号DRZQ1を、インピーダンス制御信号DRZQ2dとしてマルチプレクサ40sに対して出力する。また、マルチプレクサ52sは、キャリー信号CARY5dが「0」(Lレベル)のとき、補正後のインピーダンス制御信号DRZQ1dを、インピーダンス制御信号DRZQ2dとしてマルチプレクサ40sに対して出力する。
【0063】
次に、補正回路部40oについて、図9を用いて説明する。
補正回路部40oにおけるマルチプレクサ60m(選択回路)は、図9に示すように、補正値0設定部60m1(第2の補正値記憶部)、補正値1設定部60m2(第2の補正値記憶部)、補正値2設定部60m3(第2の補正値記憶部)、及びマルチプレクサ661〜665を含んで構成される。補正値0設定部60m1、補正値1設定部60m2、補正値2設定部60m3により、マルチプレクサ60mが有する第1の補正値記憶部を構成する。
図9に示す例では、補正値0設定部60m1は、「5’b00000」(=「00h」)を記憶している。また、補正値1設定部60m2は、「5’b00001」(=「01h」)を記憶している。また、補正値2設定部60m3は、「5’b00010」(=「02h」)を記憶している。
【0064】
マルチプレクサ661〜665は、モードレジスタ22(MR)から入力されるODT設定信号に応じて、補正値0設定部60m1、補正値1設定部60m2、及び補正値2設定部60m3のいずれかの補正値設定部が記憶する5ビットのデータを選択し、選択したデータを補正値o1〜補正値o5として後段の加減算器60aに出力する。
このODT設定信号は、上述したDS設定信号と同様に、モードレジスタ22から供給される。半導体装置10にコマンド信号CMDとしてMRSコマンドが供給されたときに、このMRSコマンドとともにアドレス端子13にアドレス信号ADDとして供給されるモード設定コード(例えばアドレスA9,A6,A2の3ビットに対応したコード「A9、A6、A2」からなるODT設定コード)に応じて、制御回路21が、モードレジスタセット信号MRSをモードレジスタ22(MR)に出力する。モードレジスタ22は、例えば内部に上記アドレスに対応するレジスタ(レジスタR962とする)を有し、このODT設定コード「A9、A6、A2」をレジスタR962に記憶する。
例えば、図11(b)に示すように、データ入出力部100の出力バッファ101を終端抵抗として使用する場合の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗RZQの1/2に設定する(以下、ODT設定するという)場合、例えばレジスタR962はODT設定コード「010」を記憶する。
また、図11(b)に示すように、データ入出力部100の出力バッファ101を終端抵抗として使用する場合の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗RZQの1/4にODT設定する場合、例えばレジスタR962はODT設定コード「001」を記憶する。
また、図11(b)に示すように、データ入出力部100の出力バッファ101を終端抵抗として使用する場合の目標インピーダンスを、キャリブレーション動作に用いる外部抵抗RZQの1/6にODT設定する場合、例えばレジスタR962はODT設定コード「011」を記憶する。
このように、レジスタR962が記憶するODT設定コードは、半導体装置10にコマンド信号CMDとしてMRSコマンドが供給されるたびに更新することが可能である。また、設定コードに用いるアドレス端子13がDSコードとは異なるため、DSコードとODTコードは、モードレジスタ22に同時設定可能である。
モードレジスタ22は、上記レジスタR962に記憶されたODT設定コードに応じて、ODT設定信号をマルチプレクサ661〜665に出力する。
【0065】
マルチプレクサ661〜665は、ODT設定コード「011」の場合、ODT設定信号がモードレジスタ22から入力されると、補正値0設定部60m1が記憶する5ビットのデータ(「5’b00000」=「00h」)を選択し、選択したデータを補正値o1〜補正値o5として後段の加減算器60aに出力する。
また、マルチプレクサ661〜665は、ODT設定コード「001」の場合、ODT設定信号がモードレジスタ22から入力されると、補正値1設定部60m2が記憶する5ビットのデータ(「5’b00001」=「01h」)を選択し、選択したデータを補正値o1〜補正値o5として後段の加減算器60aに出力する。
また、マルチプレクサ661〜665は、ODT設定コード「010」の場合、ODT設定信号がモードレジスタ22から入力されると、補正値2設定部60m3が記憶する5ビットのデータ(「5’b00010」=「02h」)を選択し、選択したデータを補正値o1〜補正値o5として後段の加減算器60aに出力する。
なお、補正値0設定部60m1、補正値1設定部60m2、及び補正値2設定部60m3が記憶する補正値は、補正値−1設定部50m1及び補正値0設定部50m2と同様に、予め設計工程、評価工程を経て、最適となる変更後の補正値が、不揮発性素子に書き込まれ、固定値として設定される。
【0066】
加減算器60aは、図9に示すように、入出力の信号名が相違する以外、図8に示す加減算器50aと同一の構成であるので、図9において図8と同一の符号を付し、その回路接続についての説明を省略する。補正値o1〜o5が、図8に示す補正値d1〜d5にそれぞれ対応し、インピーダンス制御信号DRZQ1o1〜DRZQ1o5が、図8に示すインピーダンス制御信号DRZQ1d1〜DRZQ1d5にそれぞれ対応し、キャリー信号CARY5oが、図8に示すキャリー信号CARY5dに対応する。
【0067】
加減算器60aがインピーダンス制御信号DRZQ11〜DRZQ15と、補正値o1〜o5とを加減算してインピーダンス制御信号DRZQ1o1〜DRZQ1o5を生成する場合のインピーダンス制御信号DRZQ1o1〜DRZQ1o5のレベルと、上記各回路の出力のレベルは、図10において、補正値d1〜d5をそれぞれ補正値o1〜o5とし、インピーダンス制御信号DRZQ1d1〜DRZQ1d5をそれぞれインピーダンス制御信号DRZQ1o1〜DRZQ1o5と読み換えた場合に対応する。
図10(b)に示すように、インピーダンス制御信号DRZQ11〜DRZQ15が「5’b10000」(=「10h」)であって、補正値o1〜o5(補正値=0)が「5’b00000」(=「00h」)のとき、加減算器60aは、インピーダンス制御信号DRZQ1o1〜DRZQ1o5として、「5’b10000」(=「10h」)を出力する。
また、図10(c)に示すように、インピーダンス制御信号DRZQ11〜DRZQ15が「5’b10000」(=「10h」)であって、補正値o1〜o5(補正値=1)が「5’b00001」(=「01h」)のとき、加減算器60aは、インピーダンス制御信号DRZQ1o1〜DRZQ1o5として、「5’b10001」(=「11h」)を出力する。
また、図10(d)に示すように、インピーダンス制御信号DRZQ11〜DRZQ15が「5’b10000」(=「10h」)であって、補正値o1〜o5(補正値=2)が「5’b00010」(=「02h」)のとき、加減算器60aは、インピーダンス制御信号DRZQ1o1〜DRZQ1o5として、「5’b10010」(=「12h」)を出力する。
図10(b)〜図10(d)に示すこれらの場合は、補正値0設定部60m1、補正値1設定部60m2、補正値2設定部60m3に、補正値としてそれぞれ0、1、2がそれぞれ設定されている場合に対応する。
【0068】
補正値が図10(c)、図10(d)に示す場合のようにプラスの値に設定されている場合、加減算器60aは、インピーダンス制御信号DRZQ11〜DRZQ15を加算し、インピーダンス制御信号DRZQ1o1〜DRZQ1o5を生成する。図7に示すマルチプレクサ40sは、内部オンダイターミネーション制御信号IODTが活性レベル(Hレベル)のとき、インピーダンス制御信号DRZQ1o1〜DRZQ1o5をインピーダンス制御信号DRZQ2として出力する。インピーダンス制御信号DRZQ2は、前段回路161〜163に供給され、それぞれ対応する単位バッファのインピーダンスが、240Ωより低くなるように調整される。なお、インピーダンス制御信号DRZQN1は、上述の通り補正回路部40dにより加算され、インピーダンス制御信号DRZQN2となり、前段回路161に供給され、それぞれ対応する単位バッファのプルダウン回路PDのインピーダンスが低くなるように調整される。一方、インピーダンス制御信号DRZQP1は、補正回路部40oにより減算され(補正値設定部の補正値をマイナス値に設定しておく)、インピーダンス制御信号DRZQP2となり、前段回路161に供給され、それぞれ対応する単位バッファのプルアップ回路PUのインピーダンスが低くなるように調整される。
【0069】
マルチプレクサ62sは、マルチプレクサ52sと同様に、キャリー信号CARY5oが「1」(Hレベル)のとき、補正後のインピーダンス制御信号DRZQ1oでなく、補正前のインピーダンス制御信号DRZQ1を、インピーダンス制御信号DRZQ2oとしてマルチプレクサ40sに対して出力する。また、マルチプレクサ62sは、キャリー信号CARY5oが「0」(Lレベル)のとき、補正後のインピーダンス制御信号DRZQ1oを、インピーダンス制御信号DRZQ2oとしてマルチプレクサ40sに対して出力する。
【0070】
以上が、本実施形態によるデータ入出力部100の構成である。次に、本実施形態によるデータ入出力部100の動作について、キャリブレーション動作、データ出力動作(DS設定によるデータ出力動作、及びODT動作の順に説明する。
【0071】
[キャリブレーション動作]
キャリブレーション動作は、上述のとおり、出力バッファ101のインピーダンスを調整するために行う動作であり、製造時のプロセス条件によるインピーダンスのばらつきを修正するのみならず、周辺温度の変化や電源電圧の変動によるインピーダンスの変化を修正するために行う。したがって、高い精度が要求される場合には、電源投入時やリセット時などの初期設定時に1回だけキャリブレーション動作を行うのではなく、実際の動作時においても定期的に実行することが好ましく、本実施形態によるデータ入出力部100は、このように実際の動作時において定期的にキャリブレーション動作を実行する場合に特に有効である。以下、具体的に説明する。
【0072】
キャリブレーション動作を行う場合には、あらかじめ、キャリブレーション端子ZQに外部抵抗RZQを接続しておく必要がある(図2、図4参照)。外部抵抗RZQとしては、単位バッファ111〜114,121〜123の目的とするインピーダンス(=レプリカバッファのインピーダンス)と同じインピーダンスを持つ抵抗を用いる必要がある。従って、本実施形態では、240Ωの外部抵抗RZQが用いられる。
また、半導体装置10にコマンド信号CMDとしてキャリブレーション動作を指示するキャリブレーションコマンド(CALコマンド)が供給される以前において、半導体装置10にはコマンド信号CMDとしてモードレジスタコマンド(MRSコマンド)が供給されているものとする。また、半導体装置10には、このMRSコマンドとともに、アドレス端子13にアドレス信号ADDとしてモード設定コード(コード「A5、A1」からなるDS設定コード、及びコード「A9、A6、A2」からなるODT設定コード)が供給され、レジスタR51はDS設定コード「00」を記憶しているものとする。また、オンダイターミネーション端子12bから供給されるオンダイターミネーション信号ODTはLレベルであり、制御回路21は、内部オンダイターミネーション制御信号IODTを非活性レベル(Lレベル)に維持しているものとする。
【0073】
図12は、キャリブレーション動作を説明するためのフローチャートである。
まず、CALコマンドによってキャリブレーション動作が指示されると(ステップS11:YES)、制御信号ACT1を活性化し、キャリブレーション回路130に含まれるカウンタ134のカウント動作を開始させる(ステップS12)。電源投入後などの初期状態においては、カウンタ134のカウント値は、一例としてオール1(本実施例では、「5’b11111」)にリセットされており、そのため、カウンタ134の出力であるインピーダンス制御信号DRZQP11〜DRZQP15は、いずれもハイレベルである。したがって、プルアップ回路131に含まれるトランジスタ311〜315は全てオフ状態となり、その結果、コンパレータ136の出力である比較信号COMP1はローレベルとなる。
【0074】
このため、カウンタ134はカウントダウンを進め、これに連動してトランジスタ311〜315のオンまたはオフ状態が切り替わる。具体的には、トランジスタ311〜315のW/L比がそれぞれ「1」、「2」、「4」、「8」、「16」に設定されていることから、カウンタ134の最下位ビット(MLB)がインピーダンス制御信号DRZQP11に割り当てられ、カウンタ134の最上位ビット(MSB)がインピーダンス制御信号DRZQP15に割り当てられる。これにより、プルアップ回路131のインピーダンスを最小ピッチで変化させることができる。
【0075】
このようなカウントダウンが進むに連れて、プルアップ回路131のインピーダンスは徐々に低下し、キャリブレーション端子ZQの電位は徐々に上昇する。そして、プルアップ回路131のインピーダンスが目的とするインピーダンス(240Ω)未満まで低下すると、キャリブレーション端子ZQの電位が中間電圧(VDD/2)を超えることから、コンパレータ136の出力である比較信号COMP1はハイレベルに反転する。これに応答してカウンタ134はカウントアップを進め、今度はプルアップ回路131のインピーダンスを上昇させる。
【0076】
このような動作を繰り返すことにより、キャリブレーション端子ZQの電位は中間電圧(VDD/2)近傍で安定する。その後、制御信号ACT1を非活性化し、カウンタ134のカウント動作を停止させる(ステップS13)。これにより、カウンタ134のカウント値は固定され、インピーダンス制御信号DRZQP11〜DRZQP15のレベルが確定する。
【0077】
以上の動作により、プルアップ回路131,132のインピーダンスが240Ωに調整される。尚、カウンタ134の初期値をオール1ではなく、設計値で240Ωとなるような値とし、比較信号COMP1のレベルに応じてカウントアップ又カウントダウンすることにより、調整を行っても構わない。
【0078】
次に、制御信号ACT2を活性化し、キャリブレーション回路130に含まれるカウンタ135のカウント動作を開始させる(ステップS14)。初期状態においては、カウンタ135のカウント値は、一例としてオール0(本実施例では、「5’b00000」)にリセットされており、そのため、カウンタ135の出力であるインピーダンス制御信号DRZQN11〜DRZQN15は、いずれもローレベルである。したがって、プルダウン回路133に含まれるトランジスタ321〜325は全てオフ状態となり、その結果、コンパレータ137の出力である比較信号COMP2はハイレベルとなる。
【0079】
これに応答してカウンタ135はカウントアップを進め、これに連動して、トランジスタ321〜325のオンまたはオフ状態が切り替わる。この場合も、トランジスタ321〜325のW/L比がそれぞれ「1」、「2」、「4」、「8」、「16」に設定されていることに対応して、カウンタ135の最下位ビット(MLB)がインピーダンス制御信号DRZQN11に割り当てられ、カウンタ135の最上位ビット(MSB)がインピーダンス制御信号DRZQN15に割り当てられる。これにより、プルダウン回路133のインピーダンスを最小ピッチで変化させることができる。
【0080】
このようなカウントアップが進むに連れて、プルダウン回路133のインピーダンスは徐々に低下し、接点Aの電位は徐々に低下する。そして、プルダウン回路133のインピーダンスが目的とするインピーダンス(240Ω)未満まで低下すると、接点Aの電位は中間電圧(VDD/2)を下回るため、コンパレータ137の出力である比較信号COMP2はローレベルに反転する。これに応答してカウンタ135はカウントダウンを進め、今度はプルダウン回路133のインピーダンスを上昇させる。
【0081】
このようなカウントアップおよびカウントダウン動作を繰り返すことにより、接点Aの電位は中間電圧(VDD/2)近傍で安定する。その後、制御信号ACT2を非活性化し、カウンタ135のカウント動作を停止させる(ステップS15)。これにより、カウンタ135のカウント値は固定され、インピーダンス制御信号DRZQN11〜DRZQN15のレベルが確定する。
以上の動作により、プルダウン回路133のインピーダンスも240Ωに調整される。この場合も、カウンタ135の初期値をオール0ではなく、設計値で240Ωとなるような値とし、比較信号COMP2のレベルに応じてカウントアップ又カウントダウンするこ
とにより、調整を行っても構わない。
【0082】
このキャリブレーション動作のステップS12〜S15の間、補正回路40では、マルチプレクサ561〜565が、補正値0設定部50m2が記憶するデータ「5’b00000」(=「00h」)を選択して出力している。加減算器50aは、入力されるインピーダンス制御信号DRZQ1に、補正値0設定部50m2から入力される補正値dを加減算し、インピーダンス制御信号DRZQ1dを出力する。この場合、補正値dは0であるので、インピーダンス制御信号DRZQ1dとしてインピーダンス制御信号DRZQ1を出力する。
そして、上述の通り、ステップS13及びS15の後、インピーダンス制御信号DRZQ1(インピーダンス制御信号DRZQP11〜DRZQP15、及びインピーダンス制御信号DRZQN11〜DRZQN15)のレベルが確定すると、インピーダンス制御信号DRZQ2(インピーダンス制御信号DRZQP21〜DRZQP25、及びインピーダンス制御信号DRZQN21〜DRZQN25)のレベルも確定する。この場合、補正値は0であるので、インピーダンス制御信号DRZQ2のレベルは、インピーダンス制御信号DRZQ1のレベルと等しくなる。
【0083】
そして、ステップS11に戻り、CALコマンドによるキャリブレーション動作の指示を待ち、キャリブレーション動作が指示されると(ステップS11:YES)、上記一連の動作を再び実行する。
【0084】
以上がキャリブレーション動作である。このようなキャリブレーション動作によって確定したインピーダンス制御信号DRZQ2は、図2に示す前段回路161〜163に共通に供給されることから、前段回路161〜163によって制御される単位バッファ111〜114,121〜123についても、正確に240Ωのインピーダンスで動作することが可能となる。つまり、複数の単位バッファに対するキャリブレーション動作を一括して行うことができる。
なお、キャリブレーション動作を指示するCALコマンドが供給される以前において、MRSコマンドとともに、DS設定コード「01」が与えられる場合、モードレジスタ22におけるレジスタR51はDS設定コード「01」を記憶している。この場合、マルチプレクサ561〜565が、補正値−1設定部50m1が記憶するデータ「5’b11111」(=「1Fh」)を選択して出力している。加減算器50aは、入力されるインピーダンス制御信号DRZQ1に、補正値−1設定部50m1から入力される補正値dを加減算し、インピーダンス制御信号DRZQ1dを出力する。この場合、補正値dは−1であるので、補正回路40は、インピーダンス制御信号DRZQ1を減算して、インピーダンス制御信号DRZQ2を出力する。
この確定したインピーダンス制御信号DRZQ2は、前段回路161〜163に共通に供給され、前段回路161〜163によって制御される単位バッファ111〜114,121〜123は、240Ωより高いインピーダンス(240Ω+α、α>0とする)で動作することが可能となる。
【0085】
次に、データ出力動作及びODT動作について、図13を用いて説明する。
なお、図13において示すインピーダンス制御信号DRZQ1のレベルは、インピーダンス制御信号DRZQN11〜DRZQN11のレベルであり、インピーダンス制御信号DRZQ2のレベルは、インピーダンス制御信号DRZQN21〜DRZQN21のレベルである。インピーダンス制御信号DRZQP11〜DRZQP11のレベルは、キャリブレーション動作においてインピーダンス制御信号DRZQN11〜DRZQN11を論理反転したレベルに設定されるものとし、インピーダンス制御信号DRZQP21〜DRZQP21のレベルは、補正回路40による補正動作においてインピーダンス制御信号DRZQN21〜DRZQN21の論理反転したレベルに設定されるものとする。例えば、インピーダンス制御信号DRZQN21〜DRZQN25のレベルが「5’b10000」(=「10h」)の場合で、インピーダンス制御信号DRZQP21〜DRZQP25のレベルは、「5’b01111」(=「0Fh」)であるものとする。
【0086】
データ出力動作及びODT動作は、上述したキャリブレーション動作を少なくとも1回実行した後に行う必要があり、これによって、正しいインピーダンスで動作することが可能となる。
時刻t1において、例えば、メモリコントローラから、半導体装置10のコマンド端子12aにコマンド信号CMDとしてMRSコマンドを供給するとともに、半導体装置10のアドレス端子13にアドレス信号ADDとしてDS設定コード「00」及びODT設定コード「001」を供給する。また、メモリコントローラは、オンダイターミネーション端子12bをLレベルに維持する。
これにより、制御回路21は、モードレジスタ信号MRSをモードレジスタ22に出力する。また、制御回路21は、内部オンダイターミネーション制御信号IODTを非活性レベル(Lレベル)に維持する。
モードレジスタ22は、DS設定信号及びODT設定信号を補正回路40に出力する。
補正回路40におけるマルチプレクサ50mは、DS設定信号がモードレジスタ22から入力されると、DS設定コード「00」であるので、補正値0設定部50m2が記憶する5ビットのデータ(「5’b00000」=「00h」)を選択し、選択したデータを補正値d1〜補正値d5(補正値d=0)として、加減算器50aに出力する。
また、補正回路40におけるマルチプレクサ60mは、ODT設定信号がモードレジスタ22から入力されると、ODT設定コード「001」であるので、補正値0設定部60m2が記憶する5ビットのデータ(「5’b00001」=「01h」)を選択し、選択したデータを補正値o1〜補正値o5(補正値o=+1)として、加減算器60aに出力する。
【0087】
このとき、CALコマンドは、まだ供給されていないので、インピーダンス制御信号DRZQ1(インピーダンス制御信号DRZQN11〜DRZQN15)のレベルは、カウンタ135の初期値であるオール0(「5’b00000」=「00h」)である。
補正回路40における加減算器50aは、インピーダンス制御信号DRZQ1に補正値d=0を加算して、インピーダンス制御信号DRZQ2dとして、「5’b00000」(=「00h」)を出力する。
また、補正回路40における加減算器60aは、インピーダンス制御信号DRZQ1に補正値o=1を加算して、インピーダンス制御信号DRZQ2oとして、「5’b00001」(=「01h」)を出力する。
このとき、内部オンダイターミネーション制御信号IODTはLレベルであるので、補正回路40におけるマルチプレクサ40sは、インピーダンス制御信号DRZQ2dを選択して、インピーダンス制御信号DRZQ2を出力する。インピーダンス制御信号DRZQ2のレベルは、「5’b00000」(=「00h」)である。
【0088】
また、出力制御回路150は、データ出力動作またはODT動作を指示されていないので、選択信号151P〜153Pを全てHレベル、選択信号151N〜153Nとしている。これにより、前段回路161〜163の出力である動作信号161P〜163Pは全てHレベル、動作信号161N〜163Nは全てLレベルとなり、出力バッファ101に含まれる7個の単位バッファの全てのトランジスタをオフさせる(非導通とする)ことから、インピーダンス制御信号DRZQ2のレベルに関らず、出力バッファ101は非活性状態となる。
【0089】
時刻t2において、メモリコントローラから、半導体装置10のコマンド端子12aにコマンド信号CMDとしてCALコマンドを供給すると、キャリブレーション回路130は制御信号ACT1、ACT2が制御回路21から入力され、上述したキャリブレーション動作を実行する。これにより、プルアップ回路131,132及びプルダウン回路133のインピーダンスが240Ωに調整され、インピーダンス制御信号DRZQ1のレベルが、「5’b10000」(=「10h」)に確定する。
補正回路40におけるマルチプレクサ50mは、モードレジスタ22のレジスタの内容が更新されていないので、時刻t1において発生したDS設定信号が入力されており、つまり、DS設定コード「00」であるので、補正値0設定部50m2が記憶する5ビットのデータ(「5’b00000」=「00h」)を選択し、選択したデータを補正値d1〜補正値d5(補正値d=0)として、加減算器50aに出力している。
また、補正回路40におけるマルチプレクサ60mは、モードレジスタ22のレジスタの内容が更新されていないので、時刻t1において発生したODT設定信号が入力されており、つまり、ODT設定コード「001」であるので、補正値0設定部60m2が記憶する5ビットのデータ(「5’b00001」=「01h」)を選択し、選択したデータを補正値o1〜補正値o5(補正値o=+1)として、加減算器60aに出力している。
【0090】
補正回路40における加減算器50aは、インピーダンス制御信号DRZQ1に補正値d=0を加算して、インピーダンス制御信号DRZQ2dとして、「5’b10000」(=「10h」)を出力する。
また、補正回路40における加減算器60aは、インピーダンス制御信号DRZQ1に補正値o=1を加算して、インピーダンス制御信号DRZQ2oとして、「5’b10001」(=「11h」)を出力する。
このとき、内部オンダイターミネーション制御信号IODTはLレベルであるので、補正回路40におけるマルチプレクサ40sは、インピーダンス制御信号DRZQ2dを選択して、インピーダンス制御信号DRZQ2を出力している。インピーダンス制御信号DRZQ2のレベルは、「5’b10000」(=「10h」)である。
【0091】
また、出力制御回路150は、制御回路21にコマンド端子12aを介して、コマンド信号CMDとしてメモリセルアレイ20からのデータDataをデータ端子DQから外部へ出力する指示を示すコマンド(READコマンド)が供給されると、制御回路21からデータアウトイネーブル信号OEが供給される。
このデータアウトイネーブル信号OEが供給されると、出力制御回路150は、データDataが「1」(Hレベル)、かつ、内部オンダイターミネーション制御信号IODTがLレベルの場合、前段回路161〜163を制御して出力バッファ101に接続されたデータ端子DQをHレベルに駆動し、データDataが「0」(Lレベル)、かつ、内部オンダイターミネーション制御信号IODTがLレベルの場合、前段回路161〜163を制御して出力バッファ101に接続されたデータ端子DQをLレベルに駆動する。
また、データ端子DQをHレベルまたはLレベルに駆動する際、出力制御回路150は、モードレジスタ22から供給されるDS設定信号に応じて、前段回路161〜163に出力する選択信号151P〜153P、選択信号151N〜153NをHレベルまたはLレベルに変化させる。
【0092】
データ端子DQをHレベルに駆動する場合、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コードが「00」であって、データDataが「1」、かつ、内部オンダイターミネーション制御信号IODTがLレベルであるので、選択信号151P、152PをLレベル、選択信号153PをHレベル、選択信号151N〜153Nを全てLレベルとする。これにより、前段回路161〜162に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。
このとき、図13に示すようにインピーダンス制御信号DRZQ21〜DRZQ25のレベルは、「5’b10000」(=「10h」)であるので、インピーダンス制御信号DRZQP21〜DRZQP25のレベルは、この論理反転したレベルである「5’b01111」(=「0Fh」)である。そのため、動作信号161Pのうち、動作信号161P5がLレベル、動作信号161P1〜161P4がHレベルとなる。また、動作信号162Pのうち、動作信号162P5がLレベル、動作信号162P1〜162P4がHレベルとなる。
また、前段回路163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、全てHレベルの動作信号を出力する。そのため、動作信号163Pのうち、動作信号163P1〜163P5が全てHレベルとなる。
また、前段回路161〜163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、全てLレベルの動作信号を出力する。そのため、動作信号161N〜163Nが全てLレベルとなる。
これにより、単位バッファ111〜114,121〜122に含まれるプルアップ回路PUは、キャリブレーション回路130に含まれるプルアップ回路131,132と同じインピーダンスである240Ωでオンする。また、単位バッファ123に含まれるプルアップ回路PU、及び単位バッファ111〜114,121〜123に含まれるプルダウン回路PDは、全てオフとなる。つまり、6つの単位バッファ111〜114,121〜122に含まれるプルアップ回路PUが全て正確に240Ωでオンすることから、データ端子DQは、出力バッファ101により正確に40Ω(=240Ω/6)のインピーダンスでHレベル(VDD電位)に駆動されることになる。
【0093】
一方、データ端子DQをLレベルに駆動する場合、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コードが「00」であって、データDataが「0」、かつ、内部オンダイターミネーション制御信号IODTがLレベルであるので、選択信号151P〜153PをHレベル、選択信号151N〜152NをHレベル、選択信号153NをLレベルとする。これにより、前段回路161〜163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、全てHレベルの動作信号を出力する。そのため、動作信号161P〜163Pが全てHレベルとなる。
また、前段回路161〜162に含まれるAND回路のうち、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。
このとき、図13に示すようにインピーダンス制御信号DRZQN21〜DRZQN25のレベルは、「5’b10000」(=「10h」)である。そのため、動作信号161Nのうち、動作信号161N5がHレベル、動作信号161N1〜161N4がLレベルとなる。また、動作信号162Nのうち、動作信号162N5がHレベル、動作信号162N1〜162N4がLレベルとなる。
また、前段回路163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、全てLレベルの動作信号を出力する。そのため、動作信号163Nが全てLレベルとなる。
これにより、単位バッファ111〜114,121〜122に含まれるプルダウン回路PDは、キャリブレーション回路130に含まれるプルダウン回路133と同じインピーダンスである240Ωでオンする。また、単位バッファ123に含まれるプルダウン回路PD、及び単位バッファ111〜114,121〜123に含まれるプルアップ回路PUは、全てオフとなる。つまり、6つの単位バッファ111〜114,121〜122に含まれるプルダウン回路PDが全て正確に240Ωでオンすることから、データ端子DQは、出力バッファ101により正確に40Ω(=240Ω/6)のインピーダンスでLレベル(GND電位)に駆動されることになる。
【0094】
時刻t3において、メモリコントローラから、半導体装置10のコマンド端子12aにコマンド信号CMDとしてMRSコマンドを供給するとともに、半導体装置10のアドレス端子13にアドレス信号ADDとしてDS設定コード「01」及びODT設定コード「010」を供給する。また、メモリコントローラは、オンダイターミネーション端子12bをLレベルに維持する。
これにより、制御回路21は、モードレジスタ信号MRSをモードレジスタ22に出力する。また、制御回路21は、内部オンダイターミネーション制御信号IODTを非活性レベル(Lレベル)に維持する。
モードレジスタ22は、DS設定信号及びODT設定信号を補正回路40に出力する。
補正回路40におけるマルチプレクサ50mは、DS設定信号がモードレジスタ22から入力されると、DS設定コード「01」であるので、補正値−1設定部50m1が記憶する5ビットのデータ(「5’b11111」=「1Fh」)を選択し、選択したデータを補正値d1〜補正値d5(補正値d=−1)として、加減算器50aに出力する。
また、補正回路40におけるマルチプレクサ60mは、ODT設定信号がモードレジスタ22から入力されると、ODT設定コード「010」であるので、補正値2設定部60m3が記憶する5ビットのデータ(「5’b00010」=「02h」)を選択し、選択したデータを補正値o1〜補正値o5(補正値o=+2)として、加減算器60aに出力する。
【0095】
このとき、時刻t1に開始されたキャリブレーション動作が終わっているので、インピーダンス制御信号DRZQ1(インピーダンス制御信号DRZQN11〜DRZQN15)のレベルは、図13に示すように、(「5’b10000」=「10h」)である。
補正回路40における加減算器50aは、インピーダンス制御信号DRZQ1に補正値d=−1を加算して(1を減算して)、インピーダンス制御信号DRZQ2dとして、「5’b01111」(=「0Fh」)を出力する。
また、補正回路40における加減算器60aは、インピーダンス制御信号DRZQ1に補正値o=2を加算して、インピーダンス制御信号DRZQ2oとして、「5’b10010」(=「12h」)を出力する。
このとき、内部オンダイターミネーション制御信号IODTはLレベルであるので、補正回路40におけるマルチプレクサ40sは、インピーダンス制御信号DRZQ2dを選択して、インピーダンス制御信号DRZQ2を出力する。インピーダンス制御信号DRZQ2のレベルは、「5’b01111」(=「0Fh」)である。
【0096】
出力制御回路150は、制御回路21にコマンド端子12aを介して、コマンド信号CMDとしてREADコマンドが供給されると、制御回路21からデータアウトイネーブル信号OEが供給される。
データ端子DQをHレベルに駆動する場合、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コードが「01」であって、データDataが「1」、かつ、内部オンダイターミネーション制御信号IODTがLレベルであるので、選択信号151P〜153PをLレベル、選択信号151N〜153Nを全てLレベルとする。これにより、前段回路161〜163に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。
このとき、図13に示すようにインピーダンス制御信号DRZQ21〜DRZQ25のレベルは、「5’b01111」(=「0Fh」)であるので、インピーダンス制御信号DRZQP21〜DRZQP25のレベルは、この論理反転したレベルである「5’b10000」(=「10h」)である。そのため、動作信号161Pのうち、動作信号161P5がHレベル、動作信号161P1〜161P4がLレベルとなる。また、動作信号162Pのうち、動作信号162P5がHレベル、動作信号162P1〜162P4がLレベルとなる。また、動作信号163Pのうち、動作信号163P5がHレベル、動作信号163P1〜163P4がLレベルとなる。
また、前段回路161〜163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、全てLレベルの動作信号を出力する。そのため、動作信号161N〜163Nが全てLレベルとなる。
これにより、単位バッファ111〜114,121〜123に含まれるプルアップ回路PUは、キャリブレーション回路130に含まれるプルアップ回路131,132のインピーダンス240Ωより高い(240+α)Ωでオンする。また、単位バッファ111〜114,121〜123に含まれるプルダウン回路PDは、全てオフとなる。つまり、7つの単位バッファ111〜114,121〜123に含まれるプルアップ回路PUが全て正確に(240+α)Ωでオンすることから、データ端子DQは、出力バッファ101により34.3Ω(=240Ω/7)に近いインピーダンスでHレベル(VDD電位)に駆動されることになる。
【0097】
ここで、α(>0)は、設計工程において計算される値、あるいは評価によって測定される値であり、この計算結果あるいは測定結果を基に補正値=−1が設定されている。
時刻t2〜t3の間は、6個の単位バッファのインピーダンスが240Ωに設定され、この6個の単位バッファが活性化されると、出力バッファ101のインピーダンスは40Ωとなる。一方、時刻t3〜t4の間は、7個の単位バッファが活性化される。7個の単位バッファが240Ωのインピーダンスで活性化されると、6個の単位バッファが240Ωのインピーダンスで活性化される場合に比べて、出力バッファ101が接続される電源配線(この場合は、第1の電源電圧VDDを供給する電源配線)の電圧降下量も大きくなる。このため、出力バッファ101とデータ端子DQとの間に印加する電圧差が小さくなることにより、7個の単位バッファ各々のインピーダンスも設定された240Ωより高めに上昇し、7で割ったときの出力バッファ101のインピーダンスの目標値(240Ω/7=約34.3Ω)より高めにずれてしまう。つまり、活性化される単位バッファの個数が6個から7個へ変わるにも関らず、7個の単位バッファ各々のインピーダンスを、単位バッファが6個の状態で調整した240Ωのままにしておくと、これを7で割った出力バッファ101のインピーダンスの目標インピーダンスからのずれが、6個の単位バッファが240Ωのインピーダンスで活性化される場合の出力バッファ101のインピーダンスの目標インピーダンスからのずれ(補正値=0とすることにより、目標インピーダンスである240Ω/6=40Ωに正確に調整されているので、ずれは少ない)に比べて、大きくなってしまう。そのため、活性化される単位バッファの個数が、6個から7個に変わることに応じて(単位バッファの個数が変化することに応じて)、6個の単位バッファ各々が240Ωで活性化される場合のインピーダンス制御信号DRZQ2に対して、補正値−1を加算し、7個の単位バッファが(240Ω+α)で活性化される場合のインピーダンス制御信号DRZQ2を生成する。7個の単位バッファ各々が、240Ωより高い(240Ω+α)のインピーダンスで活性化される場合は、電源配線の電圧降下量は少なくなる。そのため、7個の単位バッファ各々が240Ωのインピーダンスで活性化される場合に比べて、出力バッファ101のインピーダンスを目標値に近づけることが可能となる。
【0098】
データ端子DQをLレベルに駆動する場合、出力制御回路150は、DS設定信号がモードレジスタ22から入力されると、DS設定コードが「01」であって、データDataが「1」、かつ、内部オンダイターミネーション制御信号IODTがLレベルであるので、選択信号151P〜153PをHレベル、選択信号151N〜153Nを全てHレベルとする。これにより、前段回路161〜163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、全てHレベルの動作信号を出力する。そのため、動作信号161P〜163Pが全てHレベルとなる。
また、前段回路161〜163に含まれるAND回路のうち、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。
このとき、図13に示すように、インピーダンス制御信号DRZQN21〜DRZQN25のレベルは、「5’b01111」(=「0Fh」)である。そのため、動作信号161Nのうち、動作信号161N5がLレベル、動作信号161N1〜161N4がHレベルとなる。また、動作信号162Nのうち、動作信号162N5がLレベル、動作信号162N1〜162N4がHレベルとなる。また、動作信号163Nのうち、動作信号163N5がLレベル、動作信号163N1〜163N4がHレベルとなる。
これにより、単位バッファ111〜114,121〜123に含まれるプルダウン回路PDは、キャリブレーション回路130に含まれるプルダウン回路133のインピーダンス240Ωより高いインピーダンスである(240+α)Ωでオンする。また、単位バッファ111〜114,121〜123に含まれるプルアップ回路PUは、全てオフとなる。つまり、7つの単位バッファ111〜114,121〜123に含まれるプルダウン回路PDが全て正確に(240+α)Ωでオンすることから、データ端子DQは、出力バッファ101により正確に34.2Ω(=240Ω/7)のインピーダンスに近いインピーダンスでLレベル(GND電位)に駆動されることになる。
【0099】
時刻t4において、メモリコントローラは、オンダイターミネーション端子12bをLレベルからHレベルに遷移させ、制御回路21に、出力バッファ101(出力回路)を終端抵抗として機能させる指示をする。これにより、制御回路21は、出力制御回路150に供給する内部オンダイターミネーション制御信号IODT信号を非活性レベル(Lレベル)から活性レベル(Hレベル)へ遷移させる。
時刻t3以降、半導体装置10にコマンド信号CMDとしてMRSコマンドは供給されていないので、制御回路21は、モードレジスタ信号MRSをモードレジスタ22に出力し続けており、モードレジスタ22は、時刻t3からの動作において発生したDS設定信号及びODT設定信号を補正回路40に出力している。
補正回路40におけるマルチプレクサ50mは、時刻t3においてDS設定コード「01」であったので、補正値−1設定部50m1が記憶する5ビットのデータ(「5’b11111」=「1Fh」)を選択し、選択したデータを補正値d1〜補正値d5(補正値d=−1)として、加減算器50aに出力している。
また、補正回路40におけるマルチプレクサ60mは、時刻t3においてODT設定コード「010」であったので、補正値2設定部60m3が記憶する5ビットのデータ(「5’b00010」=「02h」)を選択し、選択したデータを補正値o1〜補正値o5(補正値o=+2)として、加減算器60aに出力している。
【0100】
また、補正回路40における加減算器50aは、時刻t3以降の動作において、インピーダンス制御信号DRZQ1に補正値d=−1を加算して(1を減算して)、インピーダンス制御信号DRZQ2dとして、「5’b01111」(=「0Fh」)を出力している。また、補正回路40における加減算器60aは、インピーダンス制御信号DRZQ1に補正値o=2を加算して、インピーダンス制御信号DRZQ2oとして、「5’b10010」(=「12h」)を出力している。
このとき、内部オンダイターミネーション制御信号IODTはHレベルであるので、補正回路40におけるマルチプレクサ40sは、インピーダンス制御信号DRZQ2oを選択して、インピーダンス制御信号DRZQ2を出力する。インピーダンス制御信号DRZQ2のレベルは、「5’b10010」(=「12h」)である。
【0101】
出力制御回路150は、Hレベルの内部オンダイターミネーション制御信号IODT信号が供給されるので、出力バッファ101(出力回路)を終端抵抗として機能させるため、データ端子DQを中間電位に駆動する。
出力制御回路150は、ODT設定コードが「010」であって、内部オンダイターミネーション制御信号IODTがHレベルであるので、選択信号152PをLレベル、選択信号151P、153PをHレベル、選択信号152NをHレベル、選択信号151N、153NをLレベルとする。
これにより、前段回路162に含まれるOR回路のうち、入力信号として対応するインピーダンス制御信号DRZQP21〜DRZQP25がLレベルとなっているものはLレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQP21〜DRZQP25がHレベルとなっているものはHレベルの動作信号を出力することになる。
このとき、図13に示すようにインピーダンス制御信号DRZQ21〜DRZQ25のレベルは、「5’b10010」(=「12h」)であるので、インピーダンス制御信号DRZQP21〜DRZQP25のレベルは、この論理反転したレベルである「5’b01101」(=「0Dh」)である。そのため、動作信号162Pのうち、動作信号162P4、162P3,162P1がHレベル、動作信号162P5、162P2がLレベルとなる。
また、前段回路161、163に含まれるOR回路は、インピーダンス制御信号DRZQP21〜DRZQP25のレベルにかかわらず、Hレベルの動作信号を出力する。
そのため、動作信号161P、163Pが全てHレベルとなる。
また、前段回路162に含まれるAND回路のうち、入力信号として対応するインピーダンス制御信号DRZQN21〜DRZQN25がHレベルとなっているものはHレベルの動作信号を出力し、対応するインピーダンス制御信号DRZQN21〜DRZQN25がLレベルとなっているものはLレベルの動作信号を出力することになる。
このとき、図13に示すようにインピーダンス制御信号DRZQN21〜DRZQN25のレベルは、「5’b10010」(=「12h」)である。そのため、動作信号162Nのうち、動作信号162N5、162N2がHレベル、動作信号162N4、162N3、162N1がLレベルとなる。
また、前段回路161、163に含まれるAND回路は、インピーダンス制御信号DRZQN21〜DRZQN25のレベルにかかわらず、Lレベルの動作信号を出力する。
そのため、動作信号161N、163Nが全てLレベルとなる。
【0102】
これにより、単位バッファ121〜122に含まれるプルアップ回路PUは、キャリブレーション回路130に含まれるプルアップ回路131、132のインピーダンス240Ωより低いインピーダンスである(240−β)Ωでオンする。また、単位バッファ121〜122に含まれるプルダウン回路PDは、キャリブレーション回路130に含まれるプルダウン回路133のインピーダンス240Ωより低いインピーダンスである(240−β)Ωでオンする。
つまり、2つの単位バッファ121〜122に含まれるプルアップ回路PU及びプルダウン回路PDが全て正確に(240−β)Ωでオンすることから、データ端子DQは、出力バッファ101により、120Ω(=240Ω/2)のインピーダンスに近いインピーダンスでVDD/2電位(中間電位)に終端されることになる。
【0103】
ここで、β(>0)は、上記αと同様に、設計工程において計算される値、あるいは評価によって測定される値であり、この計算結果あるいは測定結果を基に補正値=2が設定されている。
ODT設定コードを「011」(補正地o=0)として、出力バッファ101を終端抵抗として機能させた場合、6個の単位バッファのインピーダンスが240Ωに設定され、この6個の単位バッファが活性化されると、出力バッファ101のインピーダンスは40Ωとなる。一方、時刻t4〜t5の間は、2個の単位バッファが活性化される。2個の単位バッファが240Ωのインピーダンスで活性化されると、6個の単位バッファが240Ωのインピーダンスで活性化される場合に比べて、出力バッファ101が接続される電源配線(この場合は、第1の電源電圧VDDを供給する電源配線)の電圧降下量は小さくなる。このため、出力バッファ101とデータ端子DQとの間に印加する電圧差が大きくなることにより、2個の単位バッファ各々のインピーダンスも設定された240Ωより低めに下降し、2で割ったときの出力バッファ101のインピーダンスの目標値(240Ω/2=約120Ω)より低めにずれてしまう。つまり、活性化される単位バッファの個数が6個から2個へ変わるにも関らず、2個の単位バッファ各々のインピーダンスを、単位バッファが6個の状態で調整した240Ωのままにしておくと、これを2で割った出力バッファ101のインピーダンスの目標インピーダンスからのずれが、6個の単位バッファが240Ωのインピーダンスで活性化される場合の出力バッファ101のインピーダンスの目標インピーダンスのずれ(補正値=0とすることにより、目標インピーダンスである240Ω/6=40Ωに正確に調整されるので、ずれは少ない)に比べて、大きくなってしまう。そのため、活性化される単位バッファの個数が、6個から2個に変わることに応じて(単位バッファの個数が変化することに応じて)、6個の単位バッファ各々が240Ωで活性化される場合のインピーダンス制御信号DRZQ2に対して、補正値2を加算し、2個の単位バッファが(240Ω−β)で活性化される場合のインピーダンス制御信号DRZQ2を生成する。2個の単位バッファ各々が、240Ωより低い(240Ω−β)のインピーダンスで活性化される場合は、2個の単位バッファ各々が、240Ωのインピーダンスで活性化される場合に比べて、電源配線の電圧降下量は多くなる。そのため、出力バッファ101のインピーダンスを目標値に近づけることが可能となる。
【0104】
時刻t5において、メモリコントローラが、オンダイターミネーション端子12bをHレベルからLレベルに遷移させると、インピーダンス制御信号DRZQ2のレベルは、時刻t4以前のレベルに戻り、半導体装置10は、データ出力動作が可能な状態へ移行する。すなわち、上述した時刻t3〜t4と同様に、メモリセルアレイ20からのデータDataをデータ端子DQへ出力する動作を行うことができる状態へ移行する。
【0105】
このように、半導体装置10は、各々が調整可能なインピーダンスを備える複数の単位バッファを含む出力回路(出力バッファ101)と、複数の単位バッファ回路のうちの1または複数個の単位バッファ回路を選択的に活性化する制御回路(出力制御回路150)と、複数の単位バッファのそれぞれのインピーダンスを調整するインピーダンス調整部であって、当該インピーダンス調整部は、制御回路によって選択的に活性化された1又は複数個の単位バッファ回路の個数が変化することに応じて複数の単位バッファのそれぞれのインピーダンスを調整する、インピーダンス調整部(インピーダンス調整部30)と、を備える。
【0106】
これにより、本発明は、制御回路(出力制御回路150)によって選択的に活性化された1又は複数個の単位バッファ(単位バッファ111〜114、121〜123)の個数が変化することに応じて、複数の単位バッファのそれぞれのインピーダンスを調整する。このため、活性化させる単位バッファの数に違いによる出力回路のインピーダンスの目標値からのずれを低減することができ、出力回路(出力バッファ101)のインピーダンス調整の精度を向上させることができる。
【0107】
本願の技術思想は、メモリ機能以外に様々な機能を有する半導体装置に適用できる。更に、図面で開示した各回路ブロック内の回路形式、その他の制御信号を生成する回路は、実施例が開示する回路形式に限られない。
また、本発明の半導体装置の技術思想は、様々な半導体装置に適用することができる。例えば、CPU(Central Processing Unit)、MCU(Micro Control Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、ASSP(Application Specific Standard Product)、メモリ(Memory)等の半導体装置全般に、本発明を適用することができる。このような本発明が適用された半導体装置の製品形態としては、例えば、SOC(システムオンチップ)、MCP(マルチチップパッケージ)やPOP(パッケージオンパッケージ)などが挙げられる。これらの任意の製品形態、パッケージ形態を有する半導体装置に対して本発明を適用することができる。
また、トランジスタは、電界効果トランジスタ(Field Effect Transistor;FET)であれば良く、MOS(Metal Oxide Semiconductor)以外にもMIS(Metal-Insulator Semiconductor)、TFT(Thin Film Transistor)等の様々なFETに適用できる。トランジスタ等の様々なFETに適用できる。更に、装置内に一部のバイポーラ型トランジスタを有しても良い。
更に、NMOSトランジスタ(N型チャネルMOSトランジスタ)は、第1導電型のトランジスタ、PMOSトランジスタ(P型チャネルMOSトランジスタ)は、第2導電型のトランジスタの代表例である。
また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であれば成し得る各種変形、修正を含むことは勿論である。
【符号の説明】
【0108】
10…半導体装置、12a…コマンド端子、12b…オンダイターミネーション端子、13…アドレス端子、DQ,DQ0…データ端子、ZQ…キャリブレーション端子、20…メモリセルアレイ、21…制御回路、150…出力制御回路、22…モードレジスタ、100…データ入出力部、CMD…コマンド信号、ADD…アドレス信号、IODT…内部オンダイターミネーション制御信号、30…インピーダンス調整部、40…補正回路、130…キャリブレーション回路、111,112,113,114,121,122,123…単位バッファ、110…第1の出力バッファ、120…第2の出力バッファ、101…出力バッファ、170…入力バッファ、161,162,163…前段回路、151P,152P,153P,151N,152N,153N…選択信号、161P,161P1,161P2,161P3,161P4,161P5,162P,162P1,162P2,162P3,162P4,162P5,163P,163P1,163P2,163P3,163P4,163P5,161N,161N1,161N2,161N3,161N4,161N5,162N,162N1,162N2,162N3,162N4,162N5,163N,163N1,163N2,163N3,163N4,163N5…動作信号、DRZQ1,DRZQ11,DRZQ12,DRZQ13,DRZQ14,DRZQ15,DRZQ1d,DRZQ1d1,DRZQ1d2,DRZQ1d3,DRZQ1d4,DRZQ1d5,DRZQ1o,DRZQ1o1,DRZQ1o2,DRZQ1o3,DRZQ1o4,DRZQ1o5,DRZQP1,DRZQP11,DRZQP12,DRZQP13,DRZQP14,DRZQP15,DRZQN1,DRZQN11,DRZQN12,DRZQN13,DRZQN14,DRZQN15,DRZQ2d,DRZQ2o,DRZQ2,DRZQ21,DRZQ22,DRZQ23,DRZQ24,DRZQ25,DRZQP2,DRZQP21,DRZQP22,DRZQP23,DRZQP24,DRZQP25,DRZQN2,DRZQN21,DRZQN22,DRZQN23,DRZQN24,DRZQN25…インピーダンス制御信号、231,232,331,332,138,139,RZQ…抵抗、211,212,221,311,321…トランジスタ、PU,131,132…プルアップ回路、PD,133…プルダウン回路、134,135…カウンタ、136,137…コンパレータ、411,542,543,544,545…OR回路、421,511,512,513,514,515,532,533,534,535…AND回路、501,502,503,504,505,522,523,524,525…EXOR回路、40d,40o…補正回路部、40s,50m,60m,52s,62s,561,562,563,564,565,661,662,663,664,665…マルチプレクサ、50a,60a…加減算器
【特許請求の範囲】
【請求項1】
各々が調整可能なインピーダンスを備える複数の単位バッファを含む出力回路と、
前記複数の単位バッファのうちの1または複数個の単位バッファを選択的に活性化する制御回路と、
前記複数の単位バッファのそれぞれのインピーダンスを調整するインピーダンス調整部であって、当該インピーダンス調整部は、前記制御回路によって選択的に活性化された前記1又は複数個の単位バッファの個数が変化することに応じて前記複数の単位バッファのそれぞれのインピーダンスを調整する、前記インピーダンス調整部と、
を備えることを特徴とする半導体装置。
【請求項2】
第1の端子と、前記第1の端子に接続された外部抵抗とをさらに備え、
前記インピーダンス調整部は、
前記外部抵抗の抵抗値に応じて、前記複数の単位バッファのそれぞれのインピーダンスを調整するための第1のインピーダンス調整信号を発生するインピーダンス調整回路と、
前記第1のインピーダンス調整信号を受け取り、前記第1のインピーダンス調整信号に、前記制御回路によって選択的に活性化された前記1又は複数個の単位バッファの個数に応じた補正を実行して第2のインピーダンス調整信号を発生する補正回路とを含み、
前記補正回路は、前記第2のインピーダンス調整信号を前記複数の単位バッファに供給して前記複数の単位バッファのそれぞれの前記調整可能なインピーダンスを調整することを特徴とする請求項1に記載の半導体装置。
【請求項3】
前記補正回路は、
予め設定された補正値を記憶する第1の補正値記憶部と、
前記制御回路によって選択的に活性化される前記1又は複数個の単位バッファの個数に応じて前記第1の補正値記憶部が記憶する補正値を選択する選択回路と、
前記選択回路が選択する前記補正値を前記第1のインピーダンス調整信号に加算して前記第2のインピーダンス調整信号を発生する加算回路と、を有することを特徴とする請求項2に記載の半導体装置。
【請求項4】
前記1又は複数個の単位バッファの個数を示すデータを記憶するモードレジスタを備え、
前記第1の補正値記憶部は、それぞれが前記補正値を記憶する第2の補正値記憶部を複数個有し、
前記モードレジスタは、前記単位バッファの個数を示すデータに基づいて、前記選択回路の選択を切り替える設定信号を出力し、
前記選択回路は、前記設定信号が入力されると前記第2の補正値記憶部のいずれか一つを選択することを特徴とする請求項3に記載の半導体装置。
【請求項5】
第2の端子を備え、
前記複数の単位バッファ各々は、前記第2の端子を第1の電源電圧レベルへ駆動するプルアップ回路と、前記第2の端子を第2の電源電圧レベルへ駆動するプルダウン回路を有し、
前記設定信号には、第1の設定信号と第2の設定信号とが含まれており、
前記制御回路は、
前記半導体装置に、内部に記憶するデータの前記第2の端子へデータを読み出し、前記第2の端子へ出力する動作を指示するリードコマンドが入力されると、前記第1の設定信号に応じて、前記1又は複数個の単位バッファにおける前記プルアップ回路または前記プルダウン回路のいずれか一方を活性化させて前記第2の端子を駆動し、
前記半導体装置に、前記出力回路を終端抵抗として機能させる指示をするオンダイターミネーション信号が入力されると、前記第2の設定信号に応じて、前記1又は複数個の単位バッファにおける前記プルアップ回路及び前記プルダウン回路の両方を活性化させて前記第2の端子を駆動することを特徴とする請求項4に記載の半導体装置。
【請求項6】
前記第1の補正値記憶部は、不揮発性記憶素子を含んで構成され、
前記半導体装置に、外部からテスト動作への移行を指示するテストコマンドが供給されると、前記不揮発性記憶素子に前記補正値が書き込まれることを特徴とする請求項3から請求項5いずれか一項に記載の半導体装置。
【請求項1】
各々が調整可能なインピーダンスを備える複数の単位バッファを含む出力回路と、
前記複数の単位バッファのうちの1または複数個の単位バッファを選択的に活性化する制御回路と、
前記複数の単位バッファのそれぞれのインピーダンスを調整するインピーダンス調整部であって、当該インピーダンス調整部は、前記制御回路によって選択的に活性化された前記1又は複数個の単位バッファの個数が変化することに応じて前記複数の単位バッファのそれぞれのインピーダンスを調整する、前記インピーダンス調整部と、
を備えることを特徴とする半導体装置。
【請求項2】
第1の端子と、前記第1の端子に接続された外部抵抗とをさらに備え、
前記インピーダンス調整部は、
前記外部抵抗の抵抗値に応じて、前記複数の単位バッファのそれぞれのインピーダンスを調整するための第1のインピーダンス調整信号を発生するインピーダンス調整回路と、
前記第1のインピーダンス調整信号を受け取り、前記第1のインピーダンス調整信号に、前記制御回路によって選択的に活性化された前記1又は複数個の単位バッファの個数に応じた補正を実行して第2のインピーダンス調整信号を発生する補正回路とを含み、
前記補正回路は、前記第2のインピーダンス調整信号を前記複数の単位バッファに供給して前記複数の単位バッファのそれぞれの前記調整可能なインピーダンスを調整することを特徴とする請求項1に記載の半導体装置。
【請求項3】
前記補正回路は、
予め設定された補正値を記憶する第1の補正値記憶部と、
前記制御回路によって選択的に活性化される前記1又は複数個の単位バッファの個数に応じて前記第1の補正値記憶部が記憶する補正値を選択する選択回路と、
前記選択回路が選択する前記補正値を前記第1のインピーダンス調整信号に加算して前記第2のインピーダンス調整信号を発生する加算回路と、を有することを特徴とする請求項2に記載の半導体装置。
【請求項4】
前記1又は複数個の単位バッファの個数を示すデータを記憶するモードレジスタを備え、
前記第1の補正値記憶部は、それぞれが前記補正値を記憶する第2の補正値記憶部を複数個有し、
前記モードレジスタは、前記単位バッファの個数を示すデータに基づいて、前記選択回路の選択を切り替える設定信号を出力し、
前記選択回路は、前記設定信号が入力されると前記第2の補正値記憶部のいずれか一つを選択することを特徴とする請求項3に記載の半導体装置。
【請求項5】
第2の端子を備え、
前記複数の単位バッファ各々は、前記第2の端子を第1の電源電圧レベルへ駆動するプルアップ回路と、前記第2の端子を第2の電源電圧レベルへ駆動するプルダウン回路を有し、
前記設定信号には、第1の設定信号と第2の設定信号とが含まれており、
前記制御回路は、
前記半導体装置に、内部に記憶するデータの前記第2の端子へデータを読み出し、前記第2の端子へ出力する動作を指示するリードコマンドが入力されると、前記第1の設定信号に応じて、前記1又は複数個の単位バッファにおける前記プルアップ回路または前記プルダウン回路のいずれか一方を活性化させて前記第2の端子を駆動し、
前記半導体装置に、前記出力回路を終端抵抗として機能させる指示をするオンダイターミネーション信号が入力されると、前記第2の設定信号に応じて、前記1又は複数個の単位バッファにおける前記プルアップ回路及び前記プルダウン回路の両方を活性化させて前記第2の端子を駆動することを特徴とする請求項4に記載の半導体装置。
【請求項6】
前記第1の補正値記憶部は、不揮発性記憶素子を含んで構成され、
前記半導体装置に、外部からテスト動作への移行を指示するテストコマンドが供給されると、前記不揮発性記憶素子に前記補正値が書き込まれることを特徴とする請求項3から請求項5いずれか一項に記載の半導体装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−21479(P2013−21479A)
【公開日】平成25年1月31日(2013.1.31)
【国際特許分類】
【出願番号】特願2011−152837(P2011−152837)
【出願日】平成23年7月11日(2011.7.11)
【出願人】(500174247)エルピーダメモリ株式会社 (2,599)
【Fターム(参考)】
【公開日】平成25年1月31日(2013.1.31)
【国際特許分類】
【出願日】平成23年7月11日(2011.7.11)
【出願人】(500174247)エルピーダメモリ株式会社 (2,599)
【Fターム(参考)】
[ Back to top ]