半導体装置
【課題】PVT変動に応じて動作駆動力を変更することが可能な、プリエンファシス動作をサポートするデータ出力回路を備える半導体装置を提供する。
【解決手段】インピーダンスコードPCODE<0:2>,NCODE<0:2>の変動に応じて値が調節されるプリエンファシスコードEM_PCODE<0:1>,EM_NCODE<0:1>を生成するコード生成部360と、出力データP_DATA,N_DATAを受信してデータ出力パッドDQに駆動し、インピーダンスコードに応じて駆動力が調節されるメイン駆動部311〜313,321〜323と、出力データを受信してデータ出力パッドに駆動し、プリエンファシスコードに応じて駆動力が調節される補助駆動部314〜315,324〜325とを備える。
【解決手段】インピーダンスコードPCODE<0:2>,NCODE<0:2>の変動に応じて値が調節されるプリエンファシスコードEM_PCODE<0:1>,EM_NCODE<0:1>を生成するコード生成部360と、出力データP_DATA,N_DATAを受信してデータ出力パッドDQに駆動し、インピーダンスコードに応じて駆動力が調節されるメイン駆動部311〜313,321〜323と、出力データを受信してデータ出力パッドに駆動し、プリエンファシスコードに応じて駆動力が調節される補助駆動部314〜315,324〜325とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体設計技術に関し、詳細には、プリエンファシス動作をサポートするデータ出力回路を備える半導体装置に関する。
【背景技術】
【0002】
図1は、従来技術に係るデータ出力回路を示したブロックダイアグラムである。
【0003】
図1に示すように、従来技術に係るデータ出力回路は、プルアッププリメイン駆動部110と、プルアップメイン駆動部120と、プルダウンプリメイン駆動部130と、プルダウンメイン駆動部140とを備えて構成される。
【0004】
プルアッププリメイン駆動部110とプルダウンプリメイン駆動部130とは、出力データOUT_DATAを反転駆動して、プルアップ駆動データPU_PMDATAとプルダウン駆動データPD_PMDATAとして出力する。
【0005】
プルアップメイン駆動部120は、プルアップ駆動データPU_PMDATAがロジック「ロー」(Low)にある期間、外部電源電圧VDDによってデータ出力パッドDQを駆動する。
【0006】
プルダウンメイン駆動部140は、プルダウン駆動データPD_PMDATAがロジック「ハイ」(High)にある期間、外部接地電圧VSSによってデータ出力パッドDQを駆動する。
【0007】
前述したように、従来技術に係るデータ出力回路は、印加される出力データOUT_DATAの論理レベルに基づいて、外部電源電圧VDDまたは外部接地電圧VSSによってデータ出力パッドDQを駆動する動作のみを行うので、データ出力パッドDQの実際の電圧レベルが大きく変動する問題が生じ得る。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】大韓民国特許第0688567号明細書
【特許文献2】大韓民国特許出願公開第2011−0060713号明細書
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、上記のような従来技術の問題を解決するために提案されたものであって、その目的は、PVT(Process、Voltage、Temperature)変動に応じて動作駆動力を変更することが可能なプリエンファシス動作をサポートするデータ出力回路を備える半導体装置を提供することにある。
【課題を解決するための手段】
【0010】
そこで、上記の目的を達成するための本発明に係る半導体装置は、インピーダンスコードの変動に応じて値が調節されるプリエンファシスコードを生成するコード生成部と、出力データを受信してデータ出力パッドに駆動し、前記インピーダンスコードに応じて駆動力が調節されるメイン駆動部と、前記出力データを受信して前記データ出力パッドに駆動し、前記プリエンファシスコードに応じて駆動力が調節される補助駆動部とを備えることを特徴とする。
【0011】
また、上記の目的を達成するための本発明に係る半導体装置は、プルアップインピーダンスコード及びプルダウンインピーダンスコードの変動に応じて値が調節されるプルアッププリエンファシスコード及びプルダウンプリエンファシスコードを生成するコード生成部と、出力データを受信し、複数のメインプルアップドライバと複数の補助プルアップドライバとを用いてデータ出力パッドをプルアップ駆動するプルアップ駆動部と、前記出力データを受信し、複数のメインプルダウンドライバと複数の補助プルダウンドライバとを用いて前記データ出力パッドをプルダウン駆動するプルダウン駆動部とを備え、前記複数のメインプルアップドライバは、前記プルアップインピーダンスコードに応じてオン・オフ制御され、前記複数の補助プルアップドライバは、前記プルアッププリエンファシスコードに応じてオン・オフ制御され、前記複数のメインプルダウンドライバは、前記プルダウンインピーダンスコードに応じてオン・オフ制御され、前記複数の補助プルダウンドライバは、前記プルダウンプリエンファシスコードに応じてオン・オフ制御されることを特徴とする。
【発明の効果】
【0012】
前述した本発明は、プリエンファシス動作をサポートするデータ出力回路であって、インピーダンスコードの値の変動に応じてその値が変動するプリエンファシスコードを用いてプリエンファシス動作を行わせることにより、PVT(Process、Voltage、Temperature)変動によってプリエンファシス駆動力を調節することができるという効果がある。
【0013】
これにより、PVT(Process、Voltage、Temperature)変動と関係なく、常に一定のスルーレート(slew rate)を維持した状態で出力データを駆動できるという効果がある。
【図面の簡単な説明】
【0014】
【図1】従来技術に係るプリエンファシス動作をサポートするデータ出力回路を示した図である。
【図2】本発明の第1の実施形態に係るプリエンファシス動作をサポートするデータ出力回路を示した図である。
【図3】本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路を示した図である。
【図4A】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、コード生成部を詳細に示した回路図である。
【図4B】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、コード生成部を詳細に示した回路図である。
【図5A】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、複数の補助ドライバを詳細に示した回路図である。
【図5B】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、複数の補助ドライバを詳細に示した回路図である。
【図6A】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、コード生成部の動作を説明するために示したグラフ及びテーブルである。
【図6B】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、コード生成部の動作を説明するために示したグラフ及びテーブルである。
【図7A】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、プルアップ駆動制御信号生成部とプルダウン駆動制御信号生成部とを詳細に示した図である。
【図7B】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、プルアップ駆動制御信号生成部とプルダウン駆動制御信号生成部とを詳細に示した図である。
【図8A】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の動作を説明するために示したタイミング図である。
【図8B】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の動作を説明するために示したタイミング図である。
【図8C】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の動作を説明するために示したタイミング図である。
【図8D】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の動作を説明するために示したタイミング図である。
【発明を実施するための形態】
【0015】
以下、添付の図面を参照して、本発明の好ましい実施形態を詳細に説明する。なお、本発明は、以下で開示される実施形態に限定されるものではなく、互いに異なる様々な形態で構成されることができる。また、本実施形態は、本発明の開示が完全なようにし、通常の知識を有する者に、本発明の技術的範囲を完全に知らせるために提供されるものである。
<第1の実施形態>
図2は、本発明の第1の実施形態に係るプリエンファシス動作をサポートするデータ出力回路を示した図である。
【0016】
図2に示すように、本発明の第1の実施形態に係るプリエンファシス動作をサポートするデータ出力回路は、メイン駆動部210と、補助駆動部220と、駆動制御信号生成部230と、コード生成部240とを備えて構成される。
【0017】
メイン駆動部210は、出力データDATA(P_DATAおよびN_DATA)を受信してデータ出力パッドDQに駆動し、インピーダンスコードDR_CODE<0:2>に応じてその駆動力が調節される。
【0018】
このとき、インピーダンスコードDR_CODE<0:2>は、ZQパッド近辺に位置したキャリブレーション(calibration)回路で生成されるため、PVT(Process、Voltage、Temperature)変動に対応してその値が調節される。
【0019】
例えば、外部電源電圧VDDのレベルの上昇に対応して、インピーダンスコードDR_CODE<0:2>の値が減少する方式によって調節され得る。このような場合、メイン駆動部210は、外部電源電圧VDDのレベルの上昇に対応してその駆動力が減少する方式によって動作して、外部電源電圧VDDのレベル変動とは関係なく、常に、一定の駆動力で出力データDATAをデータ出力パッドDQに駆動することが可能である。
【0020】
コード生成部240は、インピーダンスコードDR_CODE<0:2>の変動に対応してその値が調節されるプリエンファシスコードEM_CODE<0:1>を生成する。
【0021】
このとき、上述したように、インピーダンスコードDR_CODE<0:2>は、PVT(Process、Voltage、Temperature)変動に対応してその値が調節されるため、インピーダンスコードDR_CODE<0:2>の変動に対応してその値が調節されるプリエンファシスコードEM_CODE<0:1>も、PVT(Process、Voltage、Temperature)変動に対応してその値が調節され得る。
【0022】
もちろん、インピーダンスコードDR_CODE<0:2>の値とプリエンファシスコードEM_CODE<0:1>の値とは、変動方式及び変動幅が互いに異なるように設定することができる。例えば、インピーダンスコードDR_CODE<0:2>の値の増加に対応して、プリエンファシスコードEM_CODE<0:1>の値が減少する変動方式または増加する変動方式が採用され得るし、インピーダンスコードDR_CODE<0:2>の値の変動幅の1/2または1/3の変動幅を、プリエンファシスコードEM_CODE<0:1>が有するようにすることもできる。
【0023】
補助駆動部220は、出力データDATAを受信してデータ出力パッドDQに駆動し、プリエンファシスコードEM_CODE<0:1>に応じてその駆動力が調節される。
【0024】
このとき、プリエンファシスコードEM_CODE<0:1>は、上述したように、PVT(Process、Voltage、Temperature)変動に対応してその値が調節されるので、補助駆動部220の駆動力もPVT(Process、Voltage、Temperature)変動に対応して調節され得る。
【0025】
例えば、外部電源電圧VDDのレベルの上昇に対応して、インピーダンスコードDR_CODE<0:2>の値が減少する方式によって調節されると、プリエンファシスコードEM_CODE<0:1>の値も減少する方式によって調節され得る。このような場合、補助駆動部220は、外部電源電圧VDDのレベルの上昇に対応して、その駆動力が減少する方式によって動作し、プリエンファシス動作を相対的に小さく発生させるか、あるいは、外部電源電圧VDDのレベルの下降に対応して、その駆動力が上昇する方式によって動作し、プリエンファシス動作を相対的に大きく発生させることが可能である。
【0026】
駆動制御信号生成部230は、出力データDATAの論理レベルがロジック「ハイ」(High:第1のロジック)からロジック「ロー」(Low:第2のロジック)に遷移するか、ロジック「ロー」(Low)からロジック「ハイ」(High)に遷移することに対応して、設定された時間の間活性化される駆動制御信号PE_DATAを生成して、補助駆動部220の動作を制御する。このとき、活性化される駆動制御信号PE_DATAの論理レベルは、出力データDATAの論理レベルによって決定されるので、つまり、駆動制御信号PE_DATAの活性化期間に対応する補助駆動部220の動作は、出力データDATAをデータ出力パッドDQに駆動する動作により行われる。
【0027】
このような駆動制御信号生成部230が必要な理由は、補助駆動部220がプリエンファシス動作のために備えられる構成要素であるからである。すなわち、補助駆動部220が動作する期間は、印加される出力データDATAがロジック「ハイ」(High)からロジック「ロー」(Low)に遷移した時点から設定された時間に該当する期間と、ロジック「ロー」(Low)からロジック「ハイ」(High)に遷移した時点から設定された時間に該当する期間とにならなければならないので、駆動制御信号生成部230で生成される駆動制御信号PE_DATAを介して、補助駆動部220が動作すべき期間を設定する。
【0028】
まとめると、補助駆動部220は、駆動制御信号PE_DATAによって定義される設定された時間の間、プリエンファシスコードEM_CODE<0:1>によって定義される駆動力で、出力データDATAをデータ出力パッドDQに駆動する。
【0029】
このとき、前述したように、メイン駆動部210も、出力データDATAをデータ出力パッドDQに駆動する状態であるから、補助駆動部220は、駆動制御信号生成部230とともにプリエンファシス動作のための駆動動作のみを行う。もちろん、補助駆動部220は、プリエンファシスコードEM_CODE<0:1>に対応してその駆動力を変更するので、PVT(Process、Voltage、Temperature)変動に対応して補助駆動部220の駆動力が変更され得る。
<第2の実施形態>
図3は、本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路を示した図である。
【0030】
図3に示すように、本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路は、プルアップ駆動部310と、プルダウン駆動部320と、プルアップ駆動制御信号生成部330と、プルダウン駆動制御信号生成部340と、コード生成部360とを備えて構成される。
【0031】
プルアップ駆動部310は、出力データP_DATAを受信し、複数のメインプルアップドライバ311、312、313と複数の補助プルアップドライバ314、315とを用いてデータ出力パッドDQにプルアップ駆動する。
【0032】
このとき、複数のメインプルアップドライバ311、312、313は、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>に応じてオン・オフ制御され、複数の補助プルアップドライバ314、315は、プルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>に応じてオン・オフ制御される。
【0033】
プルダウン駆動部320は、出力データN_DATAを受信し、複数のメインプルダウンドライバ321、322、323と複数の補助プルダウンドライバ324、325とを用いてデータ出力パッドDQにプルダウン駆動する。
【0034】
このとき、複数のメインプルダウンドライバ321、322、323は、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>に応じてオン・オフ制御され、複数の補助プルダウンドライバ324、325は、プルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>に応じてオン・オフ制御される。
【0035】
このように、プルアップ駆動部310の構成要素のうち、複数のメインプルアップドライバ311、312、313の動作をオン・オフ制御するために用いられるプルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>と、プルダウン駆動部320の構成要素のうち、複数のメインプルダウンドライバ321、322、323の動作をオン・オフ制御するために用いられるプルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>とは、ZQパッド近辺に位置したキャリブレーション(calibration)回路で生成されるため、PVT(Process、Voltage、Temperature)変動に対応してその値が調節される。
【0036】
そして、複数のメインプルアップドライバ311、312、313は、プルアップインピーダンスコードの第1のビットないし第3のビットPCODE<0>、PCODE<1>、PCODE<2>に対応してその動作が各々制御される第1のメインプルアップドライバないし第3のメインプルアップドライバ311、312、313を備え、複数の補助プルアップドライバ314、315は、プルアッププリエンファシスコードの第1のビット及び第2のビット<EM_PCODE<0>、EM_PCODE<1>に対応してその動作が各々制御される第1の補助プルアップドライバ及び第2の補助プルアップドライバ314、315を備え、複数のメインプルダウンドライバ321、322、323は、プルダウンインピーダンスコードの第1のビットないし第3のビットNCODE<0>、NCODE<1>、NOCDE<2>に対応してその動作が各々制御される第1のメインプルダウンドライバないし第3のメインプルダウンドライバ321、322、323を備え、複数の補助プルダウンドライバ324、325は、プルダウンプリエンファシスコードの第1のビット及び第2のビットEM_NCODE<0>、EM_NCODE<1>値に対応し、その動作が各々制御される第1の補助プルダウンドライバ及び第2の補助プルダウンドライバ324、325を備える。
【0037】
ここで、第1のメインプルアップドライバないし第3のメインプルアップドライバ311、312、313、第1のメインプルダウンドライバないし第3のメインプルダウンドライバ321、322、323、第1の補助プルアップドライバ及び第2の補助プルアップドライバ314、315、第1の補助プルダウンドライバ及び第2の補助プルダウンドライバ324、325の駆動力の関係は、次のとおりに2つの場合に分けられることができる。
【0038】
1番目の場合は、第1のメインプルアップドライバ311の駆動力が第2のメインプルアップドライバ312の駆動力より大きい値を有し、第2のメインプルアップドライバ312の駆動力が第3のメインプルアップドライバ313の駆動力より大きい値を有し、第1のメインプルダウンドライバ321の駆動力が第2のメインプルダウンドライバ322の駆動力より大きい値を有し、第2のメインプルダウンドライバ322の駆動力が第3のメインプルダウンドライバ323の駆動力より大きい値を有する。また、第1の補助プルアップドライバ314の駆動力が第2の補助プルアップドライバ315の駆動力より大きい値を有し、第1のメインプルアップドライバ311の駆動力が第1の補助プルアップドライバ314の駆動力よりN倍(Nは2より大きい整数)大きい値を有し、第1の補助プルダウンドライバ324の駆動力が第2の補助プルダウンドライバ325の駆動力より大きい値を有し、第1のメインプルダウンドライバ321の駆動力が第1の補助プルダウンドライバ324の駆動力よりN倍(Nは2より大きい整数)大きい値を有する。
【0039】
2番目の場合は、第1のメインプルアップドライバないし第3のメインプルアップドライバ311、312、313は、互いに同じ駆動力を有し、第1のメインプルダウンドライバないし第3のメインプルダウンドライバ321、322、323は、互いに同じ駆動力を有する。このとき、第1の補助プルアップドライバ及び第2の補助プルアップドライバ314、315は、互いに同じ駆動力を有し、第1のメインプルアップドライバないし第3のメインプルアップドライバ311、312、323の駆動力よりN倍(Nは2より大きい整数)小さい値を有する。同様に、第1の補助プルダウンドライバ及び第2の補助プルダウンドライバ324、325は、互いに同じ駆動力を有し、第1のメインプルダウンドライバないし第3のメインプルダウンドライバ321、322、323よりN倍(Nは2より大きい整数)小さい値を有する。
【0040】
一方、コード生成部360は、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>及びプルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>の変動に対応してその値が調節されるプルアッププリエンファシスコードEM_PCODE<0:1>及びプルダウンプリエンファシスコードEM_NCODE<0:1>を生成する。
【0041】
具体的には、コード生成部360は、プルアッププリエンファシスコード生成部362とプルダウンプリエンファシスコード生成部364とを備えて構成される。プルアッププリエンファシスコード生成部362は、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>の値の変動に対応し、その変動幅が異なるように適用して、プルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>の値を変動させ、プルダウンプリエンファシスコード生成部364は、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>の値の変動に対応し、その変動幅が異なるように適用して、プルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>の値を減少させる。
【0042】
例えば、プルアッププリエンファシスコード生成部362は、プルアップインピーダンスコードの第1のビットないし第3のビットPCODE<0>、PCODE<1>、PCODE<2>のうち、活性化されたビットの個数の減少に対応して、プルアッププリエンファシスコードの第1のビット及び第2のビットEM_PCODE<0>、EM_PCODE<1>のうち、活性化されたビットの個数を増加させる方式によって動作するので、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>の変動幅とプルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>の変動幅とは互いに異なる。
【0043】
同様に、プルダウンプリエンファシスコード生成部364は、プルダウンインピーダンスコードの第1のビットないし第3のビットNCODE<0>、NCODE<1>、NCODE<2>のうち、活性化されたビットの個数の減少に対応して、プルダウンプリエンファシスコードの第1のビット及び第2のビットEM_NCODE<0>、EM_NCODE<1>のうち、活性化されたビットの個数を増加させる方式によって動作するので、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>の変動幅とプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>の変動幅とは互いに異なる。
【0044】
このとき、プルアッププリエンファシスコード生成部362の詳細な回路構成が示された図4Aを参照すると、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>に対応してプルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>が生成されるが、その変動幅が互いに異なる状態になることが分かる。
【0045】
具体的には、図4Aに示すように、プルアッププリエンファシスコード生成部362は、プルアップインピーダンスコードの第1のビット及び第2のビットPCODE<0>、PCODE<1>を各々反転する第1のインバータ及び第2のインバータINV1、INV2と、第1のインバータINV1の出力信号と第2のインバータINV2の出力信号とを論理積演算する第1のNANDゲートNAND1及び第3のインバータINV3と、プルアップインピーダンスコードの第3のビットPCODE<2>を反転する第4のインバータINV4と、第3のインバータINV3の出力信号と第4のインバータINV4の出力信号とを否定論理和演算してプルアッププリエンファシスコードの第2のビットEM_PCODE<1>として出力する第1のNORゲートNOR<1>と、プルアップインピーダンスコードの第2のビット及び第3のビットPCODE<1>、PCODE<2>を論理和演算してプルアッププリエンファシスコードの第1のビットEM_PCODE<0>として出力する第2のNORゲートNOR2及び第5のインバータINV5とを備える。
【0046】
同様に、プルダウンプリエンファシスコード生成部364の詳細な回路構成が示された図4Bを参照すると、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>に対応してプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>が生成されるが、その変動幅が互いに異なる状態になることが分かる。
【0047】
具体的には、図4Bに示すように、プルダウンプリエンファシスコード生成部364は、プルダウンインピーダンスコードの第1のビット及び第2のビットNCODE<0>、NCODE<1>を各々反転する第6のインバータ及び第7のインバータINV6、INV7と、第6のインバータINV6の出力信号と第7のインバータINV7の出力信号とを論理積演算する第2のNANDゲートNAND2及び第8のインバータINV8と、プルダウンインピーダンスコードの第3のビットNCODE<2>を反転する第9のインバータINV9と、第8のインバータINV8の出力信号と第9のインバータINV9の出力信号とを否定論理和演算してプルダウンプリエンファシスコードの第2のビットEM_NCODE<1>として出力する第3のNORゲートNOR<3>と、プルダウンインピーダンスコードの第2のビット及び第3のビットNCODE<1>、NCODE<2>を論理和演算してプルダウンプリエンファシスコードの第1のビットEM_NCODE<0>として出力する第4のNORゲートNOR4及び第10のインバータINV10とを備える。
【0048】
前述したように、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>とプルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>とは、PVT(Process、Voltage、Temperature)変動に対応してその値が調節されるので、プルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>とプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>との値もPVT(Process、Voltage、Temperature)変動に対応してその値が調節される。
【0049】
そして、図5Aに示すように、複数のメインプルアップドライバ311、312、313と複数の補助プルアップドライバ314、315とは、各々PMOSトランジスタを含む形態となり、外部電源電圧VDDをデータ出力パッドDQにプルアップ駆動するか否かを決定する構成要素であるということが分かり、図5Bに示すように、複数のメインプルダウンドライバ321、322、323と複数の補助プルダウンドライバ324、325とは、各々NMOSトランジスタを含む形態となり、外部接地電圧VSSをデータ出力パッドDQにプルダウン駆動するか否かを決定する構成要素であることが分かる。そのため、PVT(Process、Voltage、Temperature)変動が発生すると、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>とプルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>とは、その値が互いに反対に変動する。
【0050】
すなわち、PMOSトランジスタを含む複数のメインプルアップドライバ311、312、313及び複数の補助プルアップドライバ314、315は、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>の値が「000」になり且つプルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>の値が「00」になって最小値になるときに全て活性化されて、最大の駆動力を有する状態になり、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>の値が「111」になり且つプルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>の値が「11」になって最大値になるときに全て非活性化されて、最小の駆動力を有する状態になる。一方、NMOSトランジスタを含む複数のメインプルダウンドライバ321、322、323及び複数の補助プルダウンドライバ324、325は、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>の値が「000」になり且つプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>の値が「00」になって最小値になるときに全て非活性化されて、最小の駆動力を有する状態になり、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>の値が「111」になり且つプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>の値が「11」になって最大値になるときに全て活性化されて、最大の駆動力を有する状態になる。
【0051】
したがって、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>及びプルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>は、外部電源電圧VDDのレベルの上昇に対応してその値が増加し、外部電源電圧VDDのレベルの下降に対応してその値が減少する形態で調節され得る。一方、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>及びプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>は、外部電源電圧VDDのレベルの上昇に対応してその値が減少し、外部電源電圧VDDのレベルの下降に対応してその値が増加する形態で調節され得る。
【0052】
このような場合、複数のメインプルアップドライバ311、312、313及び複数のメインプルダウンドライバ321、322、323は、外部電源電圧VDDのレベルの上昇に対応してその駆動力が減少し、外部電源電圧VDDのレベルの下降に対応してその駆動力が増加する方式になり、外部電源電圧VDDのレベル変動と関係なく、常に、一定の駆動力で出力データP_DATA、N_DATAをデータ出力パッドDQに駆動することが可能となる。
【0053】
また、複数の補助プルアップドライバ314、315及び複数の補助プルダウンドライバ324、325は、外部電源電圧VDDのレベルの上昇に対応してプリエンファシス動作の駆動力を相対的に小さく適用し、外部電源電圧VDDのレベルの下降に対応してプリエンファシス動作の駆動力を相対的に大きく適用することにより、外部電源電圧VDDのレベル変動と関係なく、常に一定のスルーレート(slew rate)を有する状態で、出力データP_DATA、N_DATAをデータ出力パッドDQに駆動することが可能となる。
【0054】
前述したプルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>の値の変動と、プルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>の値の変動と、外部電源電圧VDDのレベルの変動とによる相互間の関係をまとめると、図6Aのとおりである。
【0055】
同様に、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>の値の変動と、プルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>の値の変動と、外部電源電圧VDDのレベルの変動とによる相互間の関係をまとめると、図6Bのとおりである。
【0056】
プルアップ駆動制御信号生成部330は、出力データP_DATAの論理レベルがロジック「ハイ」(High)からロジック「ロー」(Low)に遷移することに対応して、設定された時間の間活性化されるプルアップ駆動制御信号PPE_DATAを生成して、複数の補助プルアップドライバ314、315の動作を制御する。このとき、複数の補助プルアップドライバ314、315は、PMOSトランジスタを含む構成であるから、プルアップ駆動制御信号PPE_DATAは、出力データP_DATAの論理レベルがロジック「ハイ」(High)からロジック「ロー」(Low)に遷移する時点から設定された時間の間、ロジック「ロー」(Low)を維持する信号となる。
【0057】
プルダウン駆動制御信号生成部340は、出力データN_DATAの論理レベルがロジック「ロー」(Low)からロジック「ハイ」(High)に遷移することに対応して、設定された時間の間活性化されるプルダウン駆動制御信号NPE_DATAを生成して、複数の補助プルダウンドライバ324、325の動作を制御する。このとき、複数の補助プルダウンドライバ324、325は、NMOSトランジスタを含む構成であるから、プルダウン駆動制御信号NPE_DATAは、出力データN_DATAの論理レベルがロジック「ロー」(Low)からロジック「ハイ」(High)に遷移する時点から設定された時間の間、ロジック「ハイ」(High)を維持する信号となる。
【0058】
前述したプルアップ駆動制御信号生成部330は、図7Aを参照してその詳細な回路を理解することができ、プルダウン駆動制御信号生成部340は、図7Bを参照してその詳細な回路を理解することができる。
【0059】
このようなプルアップ駆動制御信号生成部330とプルダウン駆動制御信号生成部340とが必要な理由は、複数の補助プルアップドライバ314、315と複数の補助プルダウンドライバ324、325とがプリエンファシス動作のために備えられる構成要素であるからである。すなわち、複数の補助プルアップドライバ314、315が動作する期間は、出力データP_DATAの論理レベルがロジック「ハイ」(High)からロジック「ロー」(Low)に遷移した時点から設定された時間に該当する期間にならなければならず、複数の補助プルダウンドライバ324、325が動作する期間は、出力データN_DATAの論理レベルがロジック「ロー」(Low)からロジック「ハイ」(High)に遷移した時点から設定された時間に該当する期間にならなければならないので、プルアップ駆動制御信号生成部330とプルダウン駆動制御信号生成部340とで生成されるプルアップ駆動制御信号PPE_DATAとプルダウン駆動制御信号NPE_DATAとを介して、複数の補助プルアップドライバ314、315と複数の補助プルダウンドライバ324、325とが動作すべき期間を設定する。
【0060】
まとめると、複数の補助プルアップドライバ314、315と複数の補助プルダウンドライバ324、325とは、プルアップ駆動制御信号PPE_DATAとプルダウン駆動制御信号NPE_DATAとにより定義される設定された時間の間、プルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>とプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>とにより定義される駆動力で、出力データP_DATA、N_DATAをデータ出力パッドDQに駆動する。
【0061】
このとき、前述したように、複数のメインプルアップドライバ311、312、313及び複数のメインプルダウンドライバ321、322、323も、出力データP_DATA、N_DATAをデータ出力パッドDQに駆動する状態であるため、複数の補助プルアップドライバ314、315及び複数の補助プルダウンドライバ324、325は、プルアップ駆動制御信号生成部330及びプルダウン駆動制御信号生成部340とともに、プリエンファシス動作のための駆動動作のみを行う。もちろん、複数の補助プルアップドライバ314、315及び複数の補助プルダウンドライバ324、325は、プルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>とプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>とに対応してその駆動力が変動するので、PVT(Process、Voltage、Temperature)変動に対応して複数の補助プルアップドライバ314、315及び複数の補助プルダウンドライバ324、325の駆動力が変更され得る。
【0062】
前述した本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の動作によるグラフを、図8A〜図8Dを参照してまとめると、次のとおりである。
【0063】
図8Aは、プリエンファシス動作が適用されなかったデータ出力回路の理想的な動作を示す。
【0064】
すなわち、図8Aは、複数のメインプルアップドライバ311、312、313及び複数のメインプルダウンドライバ321、322、323のみが、出力データP_DATA、N_DATAに対応して動作するときのグラフである。複数のメインプルアップドライバ311、312、313は、PMOSトランジスタを含んで構成され、複数のメインプルダウンドライバ321、322、323は、NMOSトランジスタを含んで構成されるので、出力データP_DATA、N_DATAをデータ出力パッドDQに反転駆動することが分かる。
【0065】
図8Bは、プリエンファシス動作が適用されなかったデータ出力回路において外部電源電圧VDDのレベルが変動することにより、データ出力パッドDQに駆動されたデータのスルーレート(slew rate)が変動することを示す。
【0066】
すなわち、図8Bは、外部電源電圧VDDのレベルが高ければ高いほど、データ出力パッドDQに駆動されたデータのスルーレート(slew rate)が小さくなる状態になり、低ければ低いほど、データ出力パッドDQに駆動されたデータのスルーレート(slew rate)が大きくなる状態になることが分かる。
【0067】
図8Cは、プリエンファシス動作が適用されたデータ出力回路の理想的な動作を示す。
【0068】
すなわち、図8Cは、複数のメインプルアップドライバ311、312、313及び複数の補助プルアップドライバ314、315と複数のメインプルダウンドライバ321、322、323及び複数の補助プルダウンドライバ324、325とが全て出力データP_DATA、N_DATAに対応して動作するときのグラフである。複数のメインプルアップドライバ311、312、313と複数の補助プルアップドライバ314、315とは、PMOSトランジスタを含んで構成され、複数のメインプルダウンドライバ321、322、323と複数の補助プルダウンドライバ324、325とは、NMOSトランジスタを含んで構成されるので、出力データP_DATA、N_DATAをデータ出力パッドDQに反転駆動することが分かる。
【0069】
また、プルアップ駆動制御信号PPE_DATAがロジック「ロー」(Low)に活性化される期間とプルダウン駆動制御信号NPE_DATAがロジック「ハイ」(High)に活性化される期間とでプリエンファシス動作が行われるので、データ出力パッドDQに駆動されるデータがロジック「ハイ」(High)からロジック「ロー」(Low)に遷移するときと、ロジック「ロー」(Low)からロジック「ハイ」(High)に遷移するときとに設定された時間の間、さらに高い駆動力で駆動されることが分かる。
【0070】
図8Dは、プリエンファシス動作が適用されたデータ出力回路において、外部電源電圧VDDのレベルが変動してもデータ出力パッドDQに駆動されたデータのスルーレート(slew rate)が一定に維持され得ることを示す。
【0071】
すなわち、外部電源電圧VDDのレベルが高ければ高いほど、プリエンファシス動作による駆動力の大きさを減少させ、低ければ低いほど、プリエンファシス動作による駆動力の大きさを増加させることにより、外部電源電圧VDDのレベルの変動と関係なく、常に、データ出力パッドDQに駆動されたデータのスルーレート(slew rate)が一定の大きさを維持するようにすることが分かる。
【0072】
以上で説明したように、本発明の実施形態によれば、プリエンファシス動作をサポートするデータ出力回路において、インピーダンスコードの値の変動に対応してその値が変動するプリエンファシスコードを用いてプリエンファシス動作を行わせることにより、PVT(Process、Voltage、Temperature)変動に応じてプリエンファシス駆動力を調節することが可能となる。
【0073】
これにより、PVT(Process、Voltage、Temperature)変動と関係なく、常に一定のスルーレート(slew rate)を維持する状態で出力データを駆動することができる。
【0074】
以上で説明した本発明は、前述した実施形態及び添付された図面によって限定されるものではなく、本発明の技術的思想を逸脱しない範囲内で種々の置換、変形、及び変更が可能であるということが本発明の属する技術分野における通常の知識を有した者にとって明らかであろう。
【0075】
例えば、前述した実施形態において、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>とプルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>とは、3ビットからなっており、プリエンファシスコードEM_PCODE<0>、EM_PCODE<1>は、2ビットからなっているものと説明されたが、これは、発明の理解を助けるためのものであり、発明の内容を限定する説明ではない。すなわち、インピーダンスコードのビット数およびプリエンファシスコードのビット数は、設計者が多様に変更可能な事項である。
【0076】
また、前述した実施形態において例示した論理ゲート及びトランジスタは、入力される信号の極性によってその位置及び種類が異なるように実現されるべきであろう。
【符号の説明】
【0077】
210 メイン駆動部
220 補助駆動部
230 駆動制御信号生成部
240 コード生成部
310 プルアップ駆動部
320 プルダウン駆動部
330 プルアップ駆動制御信号生成部
340 プルダウン駆動制御信号生成部
360 コード生成部
311、312、313 複数のメインプルアップドライバ
314、315 複数の補助プルアップドライバ
321、322、323 複数のメインプルダウンドライバ
324、325 複数の補助プルダウンドライバ
【技術分野】
【0001】
本発明は、半導体設計技術に関し、詳細には、プリエンファシス動作をサポートするデータ出力回路を備える半導体装置に関する。
【背景技術】
【0002】
図1は、従来技術に係るデータ出力回路を示したブロックダイアグラムである。
【0003】
図1に示すように、従来技術に係るデータ出力回路は、プルアッププリメイン駆動部110と、プルアップメイン駆動部120と、プルダウンプリメイン駆動部130と、プルダウンメイン駆動部140とを備えて構成される。
【0004】
プルアッププリメイン駆動部110とプルダウンプリメイン駆動部130とは、出力データOUT_DATAを反転駆動して、プルアップ駆動データPU_PMDATAとプルダウン駆動データPD_PMDATAとして出力する。
【0005】
プルアップメイン駆動部120は、プルアップ駆動データPU_PMDATAがロジック「ロー」(Low)にある期間、外部電源電圧VDDによってデータ出力パッドDQを駆動する。
【0006】
プルダウンメイン駆動部140は、プルダウン駆動データPD_PMDATAがロジック「ハイ」(High)にある期間、外部接地電圧VSSによってデータ出力パッドDQを駆動する。
【0007】
前述したように、従来技術に係るデータ出力回路は、印加される出力データOUT_DATAの論理レベルに基づいて、外部電源電圧VDDまたは外部接地電圧VSSによってデータ出力パッドDQを駆動する動作のみを行うので、データ出力パッドDQの実際の電圧レベルが大きく変動する問題が生じ得る。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】大韓民国特許第0688567号明細書
【特許文献2】大韓民国特許出願公開第2011−0060713号明細書
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、上記のような従来技術の問題を解決するために提案されたものであって、その目的は、PVT(Process、Voltage、Temperature)変動に応じて動作駆動力を変更することが可能なプリエンファシス動作をサポートするデータ出力回路を備える半導体装置を提供することにある。
【課題を解決するための手段】
【0010】
そこで、上記の目的を達成するための本発明に係る半導体装置は、インピーダンスコードの変動に応じて値が調節されるプリエンファシスコードを生成するコード生成部と、出力データを受信してデータ出力パッドに駆動し、前記インピーダンスコードに応じて駆動力が調節されるメイン駆動部と、前記出力データを受信して前記データ出力パッドに駆動し、前記プリエンファシスコードに応じて駆動力が調節される補助駆動部とを備えることを特徴とする。
【0011】
また、上記の目的を達成するための本発明に係る半導体装置は、プルアップインピーダンスコード及びプルダウンインピーダンスコードの変動に応じて値が調節されるプルアッププリエンファシスコード及びプルダウンプリエンファシスコードを生成するコード生成部と、出力データを受信し、複数のメインプルアップドライバと複数の補助プルアップドライバとを用いてデータ出力パッドをプルアップ駆動するプルアップ駆動部と、前記出力データを受信し、複数のメインプルダウンドライバと複数の補助プルダウンドライバとを用いて前記データ出力パッドをプルダウン駆動するプルダウン駆動部とを備え、前記複数のメインプルアップドライバは、前記プルアップインピーダンスコードに応じてオン・オフ制御され、前記複数の補助プルアップドライバは、前記プルアッププリエンファシスコードに応じてオン・オフ制御され、前記複数のメインプルダウンドライバは、前記プルダウンインピーダンスコードに応じてオン・オフ制御され、前記複数の補助プルダウンドライバは、前記プルダウンプリエンファシスコードに応じてオン・オフ制御されることを特徴とする。
【発明の効果】
【0012】
前述した本発明は、プリエンファシス動作をサポートするデータ出力回路であって、インピーダンスコードの値の変動に応じてその値が変動するプリエンファシスコードを用いてプリエンファシス動作を行わせることにより、PVT(Process、Voltage、Temperature)変動によってプリエンファシス駆動力を調節することができるという効果がある。
【0013】
これにより、PVT(Process、Voltage、Temperature)変動と関係なく、常に一定のスルーレート(slew rate)を維持した状態で出力データを駆動できるという効果がある。
【図面の簡単な説明】
【0014】
【図1】従来技術に係るプリエンファシス動作をサポートするデータ出力回路を示した図である。
【図2】本発明の第1の実施形態に係るプリエンファシス動作をサポートするデータ出力回路を示した図である。
【図3】本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路を示した図である。
【図4A】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、コード生成部を詳細に示した回路図である。
【図4B】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、コード生成部を詳細に示した回路図である。
【図5A】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、複数の補助ドライバを詳細に示した回路図である。
【図5B】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、複数の補助ドライバを詳細に示した回路図である。
【図6A】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、コード生成部の動作を説明するために示したグラフ及びテーブルである。
【図6B】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、コード生成部の動作を説明するために示したグラフ及びテーブルである。
【図7A】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、プルアップ駆動制御信号生成部とプルダウン駆動制御信号生成部とを詳細に示した図である。
【図7B】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の構成要素のうち、プルアップ駆動制御信号生成部とプルダウン駆動制御信号生成部とを詳細に示した図である。
【図8A】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の動作を説明するために示したタイミング図である。
【図8B】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の動作を説明するために示したタイミング図である。
【図8C】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の動作を説明するために示したタイミング図である。
【図8D】図3に示された本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の動作を説明するために示したタイミング図である。
【発明を実施するための形態】
【0015】
以下、添付の図面を参照して、本発明の好ましい実施形態を詳細に説明する。なお、本発明は、以下で開示される実施形態に限定されるものではなく、互いに異なる様々な形態で構成されることができる。また、本実施形態は、本発明の開示が完全なようにし、通常の知識を有する者に、本発明の技術的範囲を完全に知らせるために提供されるものである。
<第1の実施形態>
図2は、本発明の第1の実施形態に係るプリエンファシス動作をサポートするデータ出力回路を示した図である。
【0016】
図2に示すように、本発明の第1の実施形態に係るプリエンファシス動作をサポートするデータ出力回路は、メイン駆動部210と、補助駆動部220と、駆動制御信号生成部230と、コード生成部240とを備えて構成される。
【0017】
メイン駆動部210は、出力データDATA(P_DATAおよびN_DATA)を受信してデータ出力パッドDQに駆動し、インピーダンスコードDR_CODE<0:2>に応じてその駆動力が調節される。
【0018】
このとき、インピーダンスコードDR_CODE<0:2>は、ZQパッド近辺に位置したキャリブレーション(calibration)回路で生成されるため、PVT(Process、Voltage、Temperature)変動に対応してその値が調節される。
【0019】
例えば、外部電源電圧VDDのレベルの上昇に対応して、インピーダンスコードDR_CODE<0:2>の値が減少する方式によって調節され得る。このような場合、メイン駆動部210は、外部電源電圧VDDのレベルの上昇に対応してその駆動力が減少する方式によって動作して、外部電源電圧VDDのレベル変動とは関係なく、常に、一定の駆動力で出力データDATAをデータ出力パッドDQに駆動することが可能である。
【0020】
コード生成部240は、インピーダンスコードDR_CODE<0:2>の変動に対応してその値が調節されるプリエンファシスコードEM_CODE<0:1>を生成する。
【0021】
このとき、上述したように、インピーダンスコードDR_CODE<0:2>は、PVT(Process、Voltage、Temperature)変動に対応してその値が調節されるため、インピーダンスコードDR_CODE<0:2>の変動に対応してその値が調節されるプリエンファシスコードEM_CODE<0:1>も、PVT(Process、Voltage、Temperature)変動に対応してその値が調節され得る。
【0022】
もちろん、インピーダンスコードDR_CODE<0:2>の値とプリエンファシスコードEM_CODE<0:1>の値とは、変動方式及び変動幅が互いに異なるように設定することができる。例えば、インピーダンスコードDR_CODE<0:2>の値の増加に対応して、プリエンファシスコードEM_CODE<0:1>の値が減少する変動方式または増加する変動方式が採用され得るし、インピーダンスコードDR_CODE<0:2>の値の変動幅の1/2または1/3の変動幅を、プリエンファシスコードEM_CODE<0:1>が有するようにすることもできる。
【0023】
補助駆動部220は、出力データDATAを受信してデータ出力パッドDQに駆動し、プリエンファシスコードEM_CODE<0:1>に応じてその駆動力が調節される。
【0024】
このとき、プリエンファシスコードEM_CODE<0:1>は、上述したように、PVT(Process、Voltage、Temperature)変動に対応してその値が調節されるので、補助駆動部220の駆動力もPVT(Process、Voltage、Temperature)変動に対応して調節され得る。
【0025】
例えば、外部電源電圧VDDのレベルの上昇に対応して、インピーダンスコードDR_CODE<0:2>の値が減少する方式によって調節されると、プリエンファシスコードEM_CODE<0:1>の値も減少する方式によって調節され得る。このような場合、補助駆動部220は、外部電源電圧VDDのレベルの上昇に対応して、その駆動力が減少する方式によって動作し、プリエンファシス動作を相対的に小さく発生させるか、あるいは、外部電源電圧VDDのレベルの下降に対応して、その駆動力が上昇する方式によって動作し、プリエンファシス動作を相対的に大きく発生させることが可能である。
【0026】
駆動制御信号生成部230は、出力データDATAの論理レベルがロジック「ハイ」(High:第1のロジック)からロジック「ロー」(Low:第2のロジック)に遷移するか、ロジック「ロー」(Low)からロジック「ハイ」(High)に遷移することに対応して、設定された時間の間活性化される駆動制御信号PE_DATAを生成して、補助駆動部220の動作を制御する。このとき、活性化される駆動制御信号PE_DATAの論理レベルは、出力データDATAの論理レベルによって決定されるので、つまり、駆動制御信号PE_DATAの活性化期間に対応する補助駆動部220の動作は、出力データDATAをデータ出力パッドDQに駆動する動作により行われる。
【0027】
このような駆動制御信号生成部230が必要な理由は、補助駆動部220がプリエンファシス動作のために備えられる構成要素であるからである。すなわち、補助駆動部220が動作する期間は、印加される出力データDATAがロジック「ハイ」(High)からロジック「ロー」(Low)に遷移した時点から設定された時間に該当する期間と、ロジック「ロー」(Low)からロジック「ハイ」(High)に遷移した時点から設定された時間に該当する期間とにならなければならないので、駆動制御信号生成部230で生成される駆動制御信号PE_DATAを介して、補助駆動部220が動作すべき期間を設定する。
【0028】
まとめると、補助駆動部220は、駆動制御信号PE_DATAによって定義される設定された時間の間、プリエンファシスコードEM_CODE<0:1>によって定義される駆動力で、出力データDATAをデータ出力パッドDQに駆動する。
【0029】
このとき、前述したように、メイン駆動部210も、出力データDATAをデータ出力パッドDQに駆動する状態であるから、補助駆動部220は、駆動制御信号生成部230とともにプリエンファシス動作のための駆動動作のみを行う。もちろん、補助駆動部220は、プリエンファシスコードEM_CODE<0:1>に対応してその駆動力を変更するので、PVT(Process、Voltage、Temperature)変動に対応して補助駆動部220の駆動力が変更され得る。
<第2の実施形態>
図3は、本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路を示した図である。
【0030】
図3に示すように、本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路は、プルアップ駆動部310と、プルダウン駆動部320と、プルアップ駆動制御信号生成部330と、プルダウン駆動制御信号生成部340と、コード生成部360とを備えて構成される。
【0031】
プルアップ駆動部310は、出力データP_DATAを受信し、複数のメインプルアップドライバ311、312、313と複数の補助プルアップドライバ314、315とを用いてデータ出力パッドDQにプルアップ駆動する。
【0032】
このとき、複数のメインプルアップドライバ311、312、313は、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>に応じてオン・オフ制御され、複数の補助プルアップドライバ314、315は、プルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>に応じてオン・オフ制御される。
【0033】
プルダウン駆動部320は、出力データN_DATAを受信し、複数のメインプルダウンドライバ321、322、323と複数の補助プルダウンドライバ324、325とを用いてデータ出力パッドDQにプルダウン駆動する。
【0034】
このとき、複数のメインプルダウンドライバ321、322、323は、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>に応じてオン・オフ制御され、複数の補助プルダウンドライバ324、325は、プルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>に応じてオン・オフ制御される。
【0035】
このように、プルアップ駆動部310の構成要素のうち、複数のメインプルアップドライバ311、312、313の動作をオン・オフ制御するために用いられるプルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>と、プルダウン駆動部320の構成要素のうち、複数のメインプルダウンドライバ321、322、323の動作をオン・オフ制御するために用いられるプルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>とは、ZQパッド近辺に位置したキャリブレーション(calibration)回路で生成されるため、PVT(Process、Voltage、Temperature)変動に対応してその値が調節される。
【0036】
そして、複数のメインプルアップドライバ311、312、313は、プルアップインピーダンスコードの第1のビットないし第3のビットPCODE<0>、PCODE<1>、PCODE<2>に対応してその動作が各々制御される第1のメインプルアップドライバないし第3のメインプルアップドライバ311、312、313を備え、複数の補助プルアップドライバ314、315は、プルアッププリエンファシスコードの第1のビット及び第2のビット<EM_PCODE<0>、EM_PCODE<1>に対応してその動作が各々制御される第1の補助プルアップドライバ及び第2の補助プルアップドライバ314、315を備え、複数のメインプルダウンドライバ321、322、323は、プルダウンインピーダンスコードの第1のビットないし第3のビットNCODE<0>、NCODE<1>、NOCDE<2>に対応してその動作が各々制御される第1のメインプルダウンドライバないし第3のメインプルダウンドライバ321、322、323を備え、複数の補助プルダウンドライバ324、325は、プルダウンプリエンファシスコードの第1のビット及び第2のビットEM_NCODE<0>、EM_NCODE<1>値に対応し、その動作が各々制御される第1の補助プルダウンドライバ及び第2の補助プルダウンドライバ324、325を備える。
【0037】
ここで、第1のメインプルアップドライバないし第3のメインプルアップドライバ311、312、313、第1のメインプルダウンドライバないし第3のメインプルダウンドライバ321、322、323、第1の補助プルアップドライバ及び第2の補助プルアップドライバ314、315、第1の補助プルダウンドライバ及び第2の補助プルダウンドライバ324、325の駆動力の関係は、次のとおりに2つの場合に分けられることができる。
【0038】
1番目の場合は、第1のメインプルアップドライバ311の駆動力が第2のメインプルアップドライバ312の駆動力より大きい値を有し、第2のメインプルアップドライバ312の駆動力が第3のメインプルアップドライバ313の駆動力より大きい値を有し、第1のメインプルダウンドライバ321の駆動力が第2のメインプルダウンドライバ322の駆動力より大きい値を有し、第2のメインプルダウンドライバ322の駆動力が第3のメインプルダウンドライバ323の駆動力より大きい値を有する。また、第1の補助プルアップドライバ314の駆動力が第2の補助プルアップドライバ315の駆動力より大きい値を有し、第1のメインプルアップドライバ311の駆動力が第1の補助プルアップドライバ314の駆動力よりN倍(Nは2より大きい整数)大きい値を有し、第1の補助プルダウンドライバ324の駆動力が第2の補助プルダウンドライバ325の駆動力より大きい値を有し、第1のメインプルダウンドライバ321の駆動力が第1の補助プルダウンドライバ324の駆動力よりN倍(Nは2より大きい整数)大きい値を有する。
【0039】
2番目の場合は、第1のメインプルアップドライバないし第3のメインプルアップドライバ311、312、313は、互いに同じ駆動力を有し、第1のメインプルダウンドライバないし第3のメインプルダウンドライバ321、322、323は、互いに同じ駆動力を有する。このとき、第1の補助プルアップドライバ及び第2の補助プルアップドライバ314、315は、互いに同じ駆動力を有し、第1のメインプルアップドライバないし第3のメインプルアップドライバ311、312、323の駆動力よりN倍(Nは2より大きい整数)小さい値を有する。同様に、第1の補助プルダウンドライバ及び第2の補助プルダウンドライバ324、325は、互いに同じ駆動力を有し、第1のメインプルダウンドライバないし第3のメインプルダウンドライバ321、322、323よりN倍(Nは2より大きい整数)小さい値を有する。
【0040】
一方、コード生成部360は、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>及びプルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>の変動に対応してその値が調節されるプルアッププリエンファシスコードEM_PCODE<0:1>及びプルダウンプリエンファシスコードEM_NCODE<0:1>を生成する。
【0041】
具体的には、コード生成部360は、プルアッププリエンファシスコード生成部362とプルダウンプリエンファシスコード生成部364とを備えて構成される。プルアッププリエンファシスコード生成部362は、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>の値の変動に対応し、その変動幅が異なるように適用して、プルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>の値を変動させ、プルダウンプリエンファシスコード生成部364は、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>の値の変動に対応し、その変動幅が異なるように適用して、プルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>の値を減少させる。
【0042】
例えば、プルアッププリエンファシスコード生成部362は、プルアップインピーダンスコードの第1のビットないし第3のビットPCODE<0>、PCODE<1>、PCODE<2>のうち、活性化されたビットの個数の減少に対応して、プルアッププリエンファシスコードの第1のビット及び第2のビットEM_PCODE<0>、EM_PCODE<1>のうち、活性化されたビットの個数を増加させる方式によって動作するので、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>の変動幅とプルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>の変動幅とは互いに異なる。
【0043】
同様に、プルダウンプリエンファシスコード生成部364は、プルダウンインピーダンスコードの第1のビットないし第3のビットNCODE<0>、NCODE<1>、NCODE<2>のうち、活性化されたビットの個数の減少に対応して、プルダウンプリエンファシスコードの第1のビット及び第2のビットEM_NCODE<0>、EM_NCODE<1>のうち、活性化されたビットの個数を増加させる方式によって動作するので、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>の変動幅とプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>の変動幅とは互いに異なる。
【0044】
このとき、プルアッププリエンファシスコード生成部362の詳細な回路構成が示された図4Aを参照すると、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>に対応してプルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>が生成されるが、その変動幅が互いに異なる状態になることが分かる。
【0045】
具体的には、図4Aに示すように、プルアッププリエンファシスコード生成部362は、プルアップインピーダンスコードの第1のビット及び第2のビットPCODE<0>、PCODE<1>を各々反転する第1のインバータ及び第2のインバータINV1、INV2と、第1のインバータINV1の出力信号と第2のインバータINV2の出力信号とを論理積演算する第1のNANDゲートNAND1及び第3のインバータINV3と、プルアップインピーダンスコードの第3のビットPCODE<2>を反転する第4のインバータINV4と、第3のインバータINV3の出力信号と第4のインバータINV4の出力信号とを否定論理和演算してプルアッププリエンファシスコードの第2のビットEM_PCODE<1>として出力する第1のNORゲートNOR<1>と、プルアップインピーダンスコードの第2のビット及び第3のビットPCODE<1>、PCODE<2>を論理和演算してプルアッププリエンファシスコードの第1のビットEM_PCODE<0>として出力する第2のNORゲートNOR2及び第5のインバータINV5とを備える。
【0046】
同様に、プルダウンプリエンファシスコード生成部364の詳細な回路構成が示された図4Bを参照すると、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>に対応してプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>が生成されるが、その変動幅が互いに異なる状態になることが分かる。
【0047】
具体的には、図4Bに示すように、プルダウンプリエンファシスコード生成部364は、プルダウンインピーダンスコードの第1のビット及び第2のビットNCODE<0>、NCODE<1>を各々反転する第6のインバータ及び第7のインバータINV6、INV7と、第6のインバータINV6の出力信号と第7のインバータINV7の出力信号とを論理積演算する第2のNANDゲートNAND2及び第8のインバータINV8と、プルダウンインピーダンスコードの第3のビットNCODE<2>を反転する第9のインバータINV9と、第8のインバータINV8の出力信号と第9のインバータINV9の出力信号とを否定論理和演算してプルダウンプリエンファシスコードの第2のビットEM_NCODE<1>として出力する第3のNORゲートNOR<3>と、プルダウンインピーダンスコードの第2のビット及び第3のビットNCODE<1>、NCODE<2>を論理和演算してプルダウンプリエンファシスコードの第1のビットEM_NCODE<0>として出力する第4のNORゲートNOR4及び第10のインバータINV10とを備える。
【0048】
前述したように、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>とプルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>とは、PVT(Process、Voltage、Temperature)変動に対応してその値が調節されるので、プルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>とプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>との値もPVT(Process、Voltage、Temperature)変動に対応してその値が調節される。
【0049】
そして、図5Aに示すように、複数のメインプルアップドライバ311、312、313と複数の補助プルアップドライバ314、315とは、各々PMOSトランジスタを含む形態となり、外部電源電圧VDDをデータ出力パッドDQにプルアップ駆動するか否かを決定する構成要素であるということが分かり、図5Bに示すように、複数のメインプルダウンドライバ321、322、323と複数の補助プルダウンドライバ324、325とは、各々NMOSトランジスタを含む形態となり、外部接地電圧VSSをデータ出力パッドDQにプルダウン駆動するか否かを決定する構成要素であることが分かる。そのため、PVT(Process、Voltage、Temperature)変動が発生すると、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>とプルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>とは、その値が互いに反対に変動する。
【0050】
すなわち、PMOSトランジスタを含む複数のメインプルアップドライバ311、312、313及び複数の補助プルアップドライバ314、315は、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>の値が「000」になり且つプルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>の値が「00」になって最小値になるときに全て活性化されて、最大の駆動力を有する状態になり、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>の値が「111」になり且つプルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>の値が「11」になって最大値になるときに全て非活性化されて、最小の駆動力を有する状態になる。一方、NMOSトランジスタを含む複数のメインプルダウンドライバ321、322、323及び複数の補助プルダウンドライバ324、325は、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>の値が「000」になり且つプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>の値が「00」になって最小値になるときに全て非活性化されて、最小の駆動力を有する状態になり、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>の値が「111」になり且つプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>の値が「11」になって最大値になるときに全て活性化されて、最大の駆動力を有する状態になる。
【0051】
したがって、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>及びプルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>は、外部電源電圧VDDのレベルの上昇に対応してその値が増加し、外部電源電圧VDDのレベルの下降に対応してその値が減少する形態で調節され得る。一方、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>及びプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>は、外部電源電圧VDDのレベルの上昇に対応してその値が減少し、外部電源電圧VDDのレベルの下降に対応してその値が増加する形態で調節され得る。
【0052】
このような場合、複数のメインプルアップドライバ311、312、313及び複数のメインプルダウンドライバ321、322、323は、外部電源電圧VDDのレベルの上昇に対応してその駆動力が減少し、外部電源電圧VDDのレベルの下降に対応してその駆動力が増加する方式になり、外部電源電圧VDDのレベル変動と関係なく、常に、一定の駆動力で出力データP_DATA、N_DATAをデータ出力パッドDQに駆動することが可能となる。
【0053】
また、複数の補助プルアップドライバ314、315及び複数の補助プルダウンドライバ324、325は、外部電源電圧VDDのレベルの上昇に対応してプリエンファシス動作の駆動力を相対的に小さく適用し、外部電源電圧VDDのレベルの下降に対応してプリエンファシス動作の駆動力を相対的に大きく適用することにより、外部電源電圧VDDのレベル変動と関係なく、常に一定のスルーレート(slew rate)を有する状態で、出力データP_DATA、N_DATAをデータ出力パッドDQに駆動することが可能となる。
【0054】
前述したプルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>の値の変動と、プルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>の値の変動と、外部電源電圧VDDのレベルの変動とによる相互間の関係をまとめると、図6Aのとおりである。
【0055】
同様に、プルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>の値の変動と、プルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>の値の変動と、外部電源電圧VDDのレベルの変動とによる相互間の関係をまとめると、図6Bのとおりである。
【0056】
プルアップ駆動制御信号生成部330は、出力データP_DATAの論理レベルがロジック「ハイ」(High)からロジック「ロー」(Low)に遷移することに対応して、設定された時間の間活性化されるプルアップ駆動制御信号PPE_DATAを生成して、複数の補助プルアップドライバ314、315の動作を制御する。このとき、複数の補助プルアップドライバ314、315は、PMOSトランジスタを含む構成であるから、プルアップ駆動制御信号PPE_DATAは、出力データP_DATAの論理レベルがロジック「ハイ」(High)からロジック「ロー」(Low)に遷移する時点から設定された時間の間、ロジック「ロー」(Low)を維持する信号となる。
【0057】
プルダウン駆動制御信号生成部340は、出力データN_DATAの論理レベルがロジック「ロー」(Low)からロジック「ハイ」(High)に遷移することに対応して、設定された時間の間活性化されるプルダウン駆動制御信号NPE_DATAを生成して、複数の補助プルダウンドライバ324、325の動作を制御する。このとき、複数の補助プルダウンドライバ324、325は、NMOSトランジスタを含む構成であるから、プルダウン駆動制御信号NPE_DATAは、出力データN_DATAの論理レベルがロジック「ロー」(Low)からロジック「ハイ」(High)に遷移する時点から設定された時間の間、ロジック「ハイ」(High)を維持する信号となる。
【0058】
前述したプルアップ駆動制御信号生成部330は、図7Aを参照してその詳細な回路を理解することができ、プルダウン駆動制御信号生成部340は、図7Bを参照してその詳細な回路を理解することができる。
【0059】
このようなプルアップ駆動制御信号生成部330とプルダウン駆動制御信号生成部340とが必要な理由は、複数の補助プルアップドライバ314、315と複数の補助プルダウンドライバ324、325とがプリエンファシス動作のために備えられる構成要素であるからである。すなわち、複数の補助プルアップドライバ314、315が動作する期間は、出力データP_DATAの論理レベルがロジック「ハイ」(High)からロジック「ロー」(Low)に遷移した時点から設定された時間に該当する期間にならなければならず、複数の補助プルダウンドライバ324、325が動作する期間は、出力データN_DATAの論理レベルがロジック「ロー」(Low)からロジック「ハイ」(High)に遷移した時点から設定された時間に該当する期間にならなければならないので、プルアップ駆動制御信号生成部330とプルダウン駆動制御信号生成部340とで生成されるプルアップ駆動制御信号PPE_DATAとプルダウン駆動制御信号NPE_DATAとを介して、複数の補助プルアップドライバ314、315と複数の補助プルダウンドライバ324、325とが動作すべき期間を設定する。
【0060】
まとめると、複数の補助プルアップドライバ314、315と複数の補助プルダウンドライバ324、325とは、プルアップ駆動制御信号PPE_DATAとプルダウン駆動制御信号NPE_DATAとにより定義される設定された時間の間、プルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>とプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>とにより定義される駆動力で、出力データP_DATA、N_DATAをデータ出力パッドDQに駆動する。
【0061】
このとき、前述したように、複数のメインプルアップドライバ311、312、313及び複数のメインプルダウンドライバ321、322、323も、出力データP_DATA、N_DATAをデータ出力パッドDQに駆動する状態であるため、複数の補助プルアップドライバ314、315及び複数の補助プルダウンドライバ324、325は、プルアップ駆動制御信号生成部330及びプルダウン駆動制御信号生成部340とともに、プリエンファシス動作のための駆動動作のみを行う。もちろん、複数の補助プルアップドライバ314、315及び複数の補助プルダウンドライバ324、325は、プルアッププリエンファシスコードEM_PCODE<0>、EM_PCODE<1>とプルダウンプリエンファシスコードEM_NCODE<0>、EM_NCODE<1>とに対応してその駆動力が変動するので、PVT(Process、Voltage、Temperature)変動に対応して複数の補助プルアップドライバ314、315及び複数の補助プルダウンドライバ324、325の駆動力が変更され得る。
【0062】
前述した本発明の第2の実施形態に係るプリエンファシス動作をサポートするデータ出力回路の動作によるグラフを、図8A〜図8Dを参照してまとめると、次のとおりである。
【0063】
図8Aは、プリエンファシス動作が適用されなかったデータ出力回路の理想的な動作を示す。
【0064】
すなわち、図8Aは、複数のメインプルアップドライバ311、312、313及び複数のメインプルダウンドライバ321、322、323のみが、出力データP_DATA、N_DATAに対応して動作するときのグラフである。複数のメインプルアップドライバ311、312、313は、PMOSトランジスタを含んで構成され、複数のメインプルダウンドライバ321、322、323は、NMOSトランジスタを含んで構成されるので、出力データP_DATA、N_DATAをデータ出力パッドDQに反転駆動することが分かる。
【0065】
図8Bは、プリエンファシス動作が適用されなかったデータ出力回路において外部電源電圧VDDのレベルが変動することにより、データ出力パッドDQに駆動されたデータのスルーレート(slew rate)が変動することを示す。
【0066】
すなわち、図8Bは、外部電源電圧VDDのレベルが高ければ高いほど、データ出力パッドDQに駆動されたデータのスルーレート(slew rate)が小さくなる状態になり、低ければ低いほど、データ出力パッドDQに駆動されたデータのスルーレート(slew rate)が大きくなる状態になることが分かる。
【0067】
図8Cは、プリエンファシス動作が適用されたデータ出力回路の理想的な動作を示す。
【0068】
すなわち、図8Cは、複数のメインプルアップドライバ311、312、313及び複数の補助プルアップドライバ314、315と複数のメインプルダウンドライバ321、322、323及び複数の補助プルダウンドライバ324、325とが全て出力データP_DATA、N_DATAに対応して動作するときのグラフである。複数のメインプルアップドライバ311、312、313と複数の補助プルアップドライバ314、315とは、PMOSトランジスタを含んで構成され、複数のメインプルダウンドライバ321、322、323と複数の補助プルダウンドライバ324、325とは、NMOSトランジスタを含んで構成されるので、出力データP_DATA、N_DATAをデータ出力パッドDQに反転駆動することが分かる。
【0069】
また、プルアップ駆動制御信号PPE_DATAがロジック「ロー」(Low)に活性化される期間とプルダウン駆動制御信号NPE_DATAがロジック「ハイ」(High)に活性化される期間とでプリエンファシス動作が行われるので、データ出力パッドDQに駆動されるデータがロジック「ハイ」(High)からロジック「ロー」(Low)に遷移するときと、ロジック「ロー」(Low)からロジック「ハイ」(High)に遷移するときとに設定された時間の間、さらに高い駆動力で駆動されることが分かる。
【0070】
図8Dは、プリエンファシス動作が適用されたデータ出力回路において、外部電源電圧VDDのレベルが変動してもデータ出力パッドDQに駆動されたデータのスルーレート(slew rate)が一定に維持され得ることを示す。
【0071】
すなわち、外部電源電圧VDDのレベルが高ければ高いほど、プリエンファシス動作による駆動力の大きさを減少させ、低ければ低いほど、プリエンファシス動作による駆動力の大きさを増加させることにより、外部電源電圧VDDのレベルの変動と関係なく、常に、データ出力パッドDQに駆動されたデータのスルーレート(slew rate)が一定の大きさを維持するようにすることが分かる。
【0072】
以上で説明したように、本発明の実施形態によれば、プリエンファシス動作をサポートするデータ出力回路において、インピーダンスコードの値の変動に対応してその値が変動するプリエンファシスコードを用いてプリエンファシス動作を行わせることにより、PVT(Process、Voltage、Temperature)変動に応じてプリエンファシス駆動力を調節することが可能となる。
【0073】
これにより、PVT(Process、Voltage、Temperature)変動と関係なく、常に一定のスルーレート(slew rate)を維持する状態で出力データを駆動することができる。
【0074】
以上で説明した本発明は、前述した実施形態及び添付された図面によって限定されるものではなく、本発明の技術的思想を逸脱しない範囲内で種々の置換、変形、及び変更が可能であるということが本発明の属する技術分野における通常の知識を有した者にとって明らかであろう。
【0075】
例えば、前述した実施形態において、プルアップインピーダンスコードPCODE<0>、PCODE<1>、PCODE<2>とプルダウンインピーダンスコードNCODE<0>、NCODE<1>、NCODE<2>とは、3ビットからなっており、プリエンファシスコードEM_PCODE<0>、EM_PCODE<1>は、2ビットからなっているものと説明されたが、これは、発明の理解を助けるためのものであり、発明の内容を限定する説明ではない。すなわち、インピーダンスコードのビット数およびプリエンファシスコードのビット数は、設計者が多様に変更可能な事項である。
【0076】
また、前述した実施形態において例示した論理ゲート及びトランジスタは、入力される信号の極性によってその位置及び種類が異なるように実現されるべきであろう。
【符号の説明】
【0077】
210 メイン駆動部
220 補助駆動部
230 駆動制御信号生成部
240 コード生成部
310 プルアップ駆動部
320 プルダウン駆動部
330 プルアップ駆動制御信号生成部
340 プルダウン駆動制御信号生成部
360 コード生成部
311、312、313 複数のメインプルアップドライバ
314、315 複数の補助プルアップドライバ
321、322、323 複数のメインプルダウンドライバ
324、325 複数の補助プルダウンドライバ
【特許請求の範囲】
【請求項1】
インピーダンスコードの変動に応じて値が調節されるプリエンファシスコードを生成するコード生成部と、
出力データを受信してデータ出力パッドに駆動し、前記インピーダンスコードに応じて駆動力が調節されるメイン駆動部と、
前記出力データを受信して前記データ出力パッドに駆動し、前記プリエンファシスコードに応じて駆動力が調節される補助駆動部と、
を備えることを特徴とする半導体装置。
【請求項2】
前記インピーダンスコードは、PVT(Process、Voltage、Temperature)変動に対応して値が調節されることを特徴とする請求項1に記載の半導体装置。
【請求項3】
前記出力データの論理レベルが、設定された時間の間活性化される駆動制御信号を生成し、前記補助ドライバの動作を制御する駆動制御信号生成部をさらに備えることを特徴とする請求項1に記載の半導体装置。
【請求項4】
前記補助駆動部は、前記出力データの変化後に、初期期間の間データ出力パッドを駆動するためにイネーブルされ、前記初期期間後にディセーブルされることを特徴とする請求項1に記載の半導体装置。
【請求項5】
前記コード生成部は、前記インピーダンスコードを受信し、受信した前記インピーダンスコードを論理組み合わせして前記プリエンファシスコードを生成することを特徴とする請求項1に記載の半導体装置。
【請求項6】
プルアップインピーダンスコード及びプルダウンインピーダンスコードの変動に応じて値が調節されるプルアッププリエンファシスコード及びプルダウンプリエンファシスコードを生成するコード生成部と、
出力データを受信し、複数のメインプルアップドライバと複数の補助プルアップドライバとを用いてデータ出力パッドをプルアップ駆動するプルアップ駆動部と、
前記出力データを受信し、複数のメインプルダウンドライバと複数の補助プルダウンドライバとを用いて前記データ出力パッドをプルダウン駆動するプルダウン駆動部とを備え、
前記複数のメインプルアップドライバは、前記プルアップインピーダンスコードに応じてオン・オフ制御され、前記複数の補助プルアップドライバは、前記プルアッププリエンファシスコードに応じてオン・オフ制御され、
前記複数のメインプルダウンドライバは、前記プルダウンインピーダンスコードに応じてオン・オフ制御され、前記複数の補助プルダウンドライバは、前記プルダウンプリエンファシスコードに応じてオン・オフ制御されることを特徴とする半導体装置。
【請求項7】
前記複数のメインプルアップドライバ及び複数の補助プルアップドライバは、各々PMOSトランジスタを備え、
前記複数のメインプルダウンドライバ及び複数の補助プルダウンドライバは、各々NMOSトランジスタを備えることを特徴とする請求項6に記載の半導体装置。
【請求項8】
PVT(Process、Voltage、Temperature)変動に対応して、前記プルアップインピーダンスコードの値と前記プルダウンインピーダンスコードの値とが互いに反対に変動することを特徴とする請求項6に記載の半導体装置。
【請求項9】
前記プルアップインピーダンスコードの値は、外部電源電圧のレベルの下降に対応して減少し、外部電源電圧のレベルの上昇に対応して増加し、
前記プルダウンインピーダンスコードの値は、外部電源電圧のレベルの下降に対応して増加し、外部電源電圧のレベルの上昇に対応して減少することを特徴とする請求項8に記載の半導体装置。
【請求項10】
前記コード生成部は、
前記プルアップインピーダンスコードの値の変動に応じてその変動幅が異なるようにし、前記プルアッププリエンファシスコードの値を変動させるプルアッププリエンファシスコード生成部と、
前記プルダウンインピーダンスコードの値の変動に応じてその変動幅が異なるようにし、前記プルダウンプリエンファシスコードの値を変動させるプルダウンプリエンファシスコード生成部と、
を備えることを特徴とする請求項8に記載の半導体装置。
【請求項11】
前記出力データの論理レベルが第1のロジックから第2のロジックに遷移することに対応して、設定された時間の間活性化されるプルアップ駆動制御信号を生成し、前記複数の補助プルアップドライバの動作を制御するプルアップ駆動制御信号生成部と、
前記出力データの論理レベルが前記第2のロジックから前記第1のロジックに遷移することに対応して、設定された時間の間活性化されるプルダウン駆動制御信号を生成し、前記複数の補助プルダウンドライバの動作を制御するプルダウン駆動制御信号生成部と、
をさらに備えることを特徴とする請求項6に記載の半導体装置。
【請求項12】
前記複数のメインプルアップドライバは、前記プルアップインピーダンスコードの第1のビット値ないし第3のビット値に対応して動作が各々制御される第1のメインプルアップドライバないし第3のメインプルアップドライバを備え、
前記複数の補助プルアップドライバは、前記プルアッププリエンファシスコードの第1のビット値及び第2のビット値に対応して動作が各々制御される第1の補助プルアップドライバ及び第2の補助プルアップドライバを備え、
前記複数のメインプルダウンドライバは、前記プルダウンインピーダンスコードの第1のビット値ないし第3のビット値に対応して動作が各々制御される第1のメインプルダウンドライバないし第3のメインプルダウンドライバを備え、
前記複数の補助プルダウンドライバは、前記プルダウンプリエンファシスコードの第1のビット値及び第2のビット値に対応して動作が各々制御される第1の補助プルダウンドライバ及び第2の補助プルダウンドライバを備えることを特徴とする請求項8に記載の半導体装置。
【請求項13】
前記第1のメインプルアップドライバの駆動力が前記第2のメインプルアップドライバの駆動力より大きい値を有し、前記第2のメインプルアップドライバの駆動力が前記第3のメインプルアップドライバの駆動力より大きい値を有し、
前記第2のメインプルダウンドライバの駆動力が前記第2のメインプルダウンドライバの駆動力より大きい値を有し、前記第2のメインプルダウンドライバの駆動力が前記第3のメインプルダウンドライバの駆動力より大きい値を有することを特徴とする請求項12に記載の半導体装置。
【請求項14】
前記第1の補助プルアップドライバの駆動力が前記第2の補助プルアップドライバの駆動力より大きい値を有し、前記第1のメインプルアップドライバの駆動力は、前記第1の補助プルアップドライバの駆動力よりN倍(Nは2より大きい整数)大きい値を有し、
前記第1の補助プルダウンドライバの駆動力が前記第2の補助プルダウンドライバの駆動力より大きい値を有し、前記第1のメインプルダウンドライバの駆動力は、前記第1の補助プルダウンドライバの駆動力よりN倍(Nは2より大きい整数)大きい値を有することを特徴とする請求項13に記載の半導体装置。
【請求項15】
前記第1のメインプルアップドライバないし第3のメインプルアップドライバは、互いに同じ駆動力を有し、
前記第1のメインプルダウンドライバないし第3のメインプルダウンドライバは、互いに同じ駆動力を有することを特徴とする請求項12に記載の半導体装置。
【請求項16】
前記第1の補助プルアップドライバ及び第2の補助プルアップドライバは、互いに同じ駆動力を有し、前記第1のメインプルアップドライバないし第3のメインプルアップドライバの駆動力よりN倍(Nは2より大きい整数)小さい駆動力を有し、
前記第1の補助プルダウンドライバ及び第2の補助プルダウンドライバは、互いに同じ駆動力を有し、前記第1のメインプルダウンドライバないし第3のメインプルダウンドライバよりN倍(Nは2より大きい整数)小さい駆動力を有することを特徴とする請求項15に記載の半導体装置。
【請求項17】
前記コード生成部は、
前記プルアップインピーダンスコードの第1のビットないし第3のビットのうち、活性化されたビットの個数の減少に対応して、前記プルアッププリエンファシスコードの第1のビット及び第2のビットのうち、活性化されたビットの個数を増加させるプルアッププリエンファシスコード生成部と、
前記プルダウンインピーダンスコードの第1のビットないし第3のビットのうち、活性化されたビットの個数の減少に対応して、前記プルダウンプリエンファシスコードの第1のビット及び第2のビットのうち、活性化されたビットの個数を増加させるプルダウンプリエンファシスコード生成部と、
を備えることを特徴とする請求項12に記載の半導体装置。
【請求項18】
前記プルアッププリエンファシスコード生成部は、
前記プルアップインピーダンスコードの第1のビット及び第2のビットを各々反転する第1のインバータ及び第2のインバータと、
前記第1のインバータの出力信号と前記第2のインバータの出力信号とを論理積演算する第1のNANDゲート及び第3のインバータと、
前記プルアップインピーダンスコードの第3のビットを反転する第4のインバータと、
前記第3のインバータの出力信号と第4のインバータの出力信号とを否定論理和演算して前記プルアッププリエンファシスコードの第2のビットとして出力する第1のNORゲートと、
前記プルアップインピーダンスコードの第2のビット及び第3のビットを論理和演算して前記プルアッププリエンファシスコードの第1のビットとして出力する第2のNORゲート及び第5のインバータと、
を備えることを特徴とする請求項17に記載の半導体装置。
【請求項19】
前記プルダウンプリエンファシスコード生成部は、
前記プルダウンインピーダンスコードの第1のビット及び第2のビットを各々反転する第6のインバータ及び第7のインバータと、
前記第6のインバータの出力信号と前記第7のインバータの出力信号とを論理積演算する第2のNANDゲート及び第8のインバータと、
前記プルダウンインピーダンスコードの第3のビットを反転する第9のインバータと、
前記第8のインバータの出力信号と第9のインバータの出力信号とを否定論理和演算して前記プルダウンプリエンファシスコードの第2のビットとして出力する第3のNORゲートと、
前記プルダウンインピーダンスコードの第2のビット及び第3のビットを論理和演算して前記プルダウンプリエンファシスコードの第1のビットとして出力する第4のNORゲート及び第10のインバータと、
を備えることを特徴とする請求項18に記載の半導体装置。
【請求項1】
インピーダンスコードの変動に応じて値が調節されるプリエンファシスコードを生成するコード生成部と、
出力データを受信してデータ出力パッドに駆動し、前記インピーダンスコードに応じて駆動力が調節されるメイン駆動部と、
前記出力データを受信して前記データ出力パッドに駆動し、前記プリエンファシスコードに応じて駆動力が調節される補助駆動部と、
を備えることを特徴とする半導体装置。
【請求項2】
前記インピーダンスコードは、PVT(Process、Voltage、Temperature)変動に対応して値が調節されることを特徴とする請求項1に記載の半導体装置。
【請求項3】
前記出力データの論理レベルが、設定された時間の間活性化される駆動制御信号を生成し、前記補助ドライバの動作を制御する駆動制御信号生成部をさらに備えることを特徴とする請求項1に記載の半導体装置。
【請求項4】
前記補助駆動部は、前記出力データの変化後に、初期期間の間データ出力パッドを駆動するためにイネーブルされ、前記初期期間後にディセーブルされることを特徴とする請求項1に記載の半導体装置。
【請求項5】
前記コード生成部は、前記インピーダンスコードを受信し、受信した前記インピーダンスコードを論理組み合わせして前記プリエンファシスコードを生成することを特徴とする請求項1に記載の半導体装置。
【請求項6】
プルアップインピーダンスコード及びプルダウンインピーダンスコードの変動に応じて値が調節されるプルアッププリエンファシスコード及びプルダウンプリエンファシスコードを生成するコード生成部と、
出力データを受信し、複数のメインプルアップドライバと複数の補助プルアップドライバとを用いてデータ出力パッドをプルアップ駆動するプルアップ駆動部と、
前記出力データを受信し、複数のメインプルダウンドライバと複数の補助プルダウンドライバとを用いて前記データ出力パッドをプルダウン駆動するプルダウン駆動部とを備え、
前記複数のメインプルアップドライバは、前記プルアップインピーダンスコードに応じてオン・オフ制御され、前記複数の補助プルアップドライバは、前記プルアッププリエンファシスコードに応じてオン・オフ制御され、
前記複数のメインプルダウンドライバは、前記プルダウンインピーダンスコードに応じてオン・オフ制御され、前記複数の補助プルダウンドライバは、前記プルダウンプリエンファシスコードに応じてオン・オフ制御されることを特徴とする半導体装置。
【請求項7】
前記複数のメインプルアップドライバ及び複数の補助プルアップドライバは、各々PMOSトランジスタを備え、
前記複数のメインプルダウンドライバ及び複数の補助プルダウンドライバは、各々NMOSトランジスタを備えることを特徴とする請求項6に記載の半導体装置。
【請求項8】
PVT(Process、Voltage、Temperature)変動に対応して、前記プルアップインピーダンスコードの値と前記プルダウンインピーダンスコードの値とが互いに反対に変動することを特徴とする請求項6に記載の半導体装置。
【請求項9】
前記プルアップインピーダンスコードの値は、外部電源電圧のレベルの下降に対応して減少し、外部電源電圧のレベルの上昇に対応して増加し、
前記プルダウンインピーダンスコードの値は、外部電源電圧のレベルの下降に対応して増加し、外部電源電圧のレベルの上昇に対応して減少することを特徴とする請求項8に記載の半導体装置。
【請求項10】
前記コード生成部は、
前記プルアップインピーダンスコードの値の変動に応じてその変動幅が異なるようにし、前記プルアッププリエンファシスコードの値を変動させるプルアッププリエンファシスコード生成部と、
前記プルダウンインピーダンスコードの値の変動に応じてその変動幅が異なるようにし、前記プルダウンプリエンファシスコードの値を変動させるプルダウンプリエンファシスコード生成部と、
を備えることを特徴とする請求項8に記載の半導体装置。
【請求項11】
前記出力データの論理レベルが第1のロジックから第2のロジックに遷移することに対応して、設定された時間の間活性化されるプルアップ駆動制御信号を生成し、前記複数の補助プルアップドライバの動作を制御するプルアップ駆動制御信号生成部と、
前記出力データの論理レベルが前記第2のロジックから前記第1のロジックに遷移することに対応して、設定された時間の間活性化されるプルダウン駆動制御信号を生成し、前記複数の補助プルダウンドライバの動作を制御するプルダウン駆動制御信号生成部と、
をさらに備えることを特徴とする請求項6に記載の半導体装置。
【請求項12】
前記複数のメインプルアップドライバは、前記プルアップインピーダンスコードの第1のビット値ないし第3のビット値に対応して動作が各々制御される第1のメインプルアップドライバないし第3のメインプルアップドライバを備え、
前記複数の補助プルアップドライバは、前記プルアッププリエンファシスコードの第1のビット値及び第2のビット値に対応して動作が各々制御される第1の補助プルアップドライバ及び第2の補助プルアップドライバを備え、
前記複数のメインプルダウンドライバは、前記プルダウンインピーダンスコードの第1のビット値ないし第3のビット値に対応して動作が各々制御される第1のメインプルダウンドライバないし第3のメインプルダウンドライバを備え、
前記複数の補助プルダウンドライバは、前記プルダウンプリエンファシスコードの第1のビット値及び第2のビット値に対応して動作が各々制御される第1の補助プルダウンドライバ及び第2の補助プルダウンドライバを備えることを特徴とする請求項8に記載の半導体装置。
【請求項13】
前記第1のメインプルアップドライバの駆動力が前記第2のメインプルアップドライバの駆動力より大きい値を有し、前記第2のメインプルアップドライバの駆動力が前記第3のメインプルアップドライバの駆動力より大きい値を有し、
前記第2のメインプルダウンドライバの駆動力が前記第2のメインプルダウンドライバの駆動力より大きい値を有し、前記第2のメインプルダウンドライバの駆動力が前記第3のメインプルダウンドライバの駆動力より大きい値を有することを特徴とする請求項12に記載の半導体装置。
【請求項14】
前記第1の補助プルアップドライバの駆動力が前記第2の補助プルアップドライバの駆動力より大きい値を有し、前記第1のメインプルアップドライバの駆動力は、前記第1の補助プルアップドライバの駆動力よりN倍(Nは2より大きい整数)大きい値を有し、
前記第1の補助プルダウンドライバの駆動力が前記第2の補助プルダウンドライバの駆動力より大きい値を有し、前記第1のメインプルダウンドライバの駆動力は、前記第1の補助プルダウンドライバの駆動力よりN倍(Nは2より大きい整数)大きい値を有することを特徴とする請求項13に記載の半導体装置。
【請求項15】
前記第1のメインプルアップドライバないし第3のメインプルアップドライバは、互いに同じ駆動力を有し、
前記第1のメインプルダウンドライバないし第3のメインプルダウンドライバは、互いに同じ駆動力を有することを特徴とする請求項12に記載の半導体装置。
【請求項16】
前記第1の補助プルアップドライバ及び第2の補助プルアップドライバは、互いに同じ駆動力を有し、前記第1のメインプルアップドライバないし第3のメインプルアップドライバの駆動力よりN倍(Nは2より大きい整数)小さい駆動力を有し、
前記第1の補助プルダウンドライバ及び第2の補助プルダウンドライバは、互いに同じ駆動力を有し、前記第1のメインプルダウンドライバないし第3のメインプルダウンドライバよりN倍(Nは2より大きい整数)小さい駆動力を有することを特徴とする請求項15に記載の半導体装置。
【請求項17】
前記コード生成部は、
前記プルアップインピーダンスコードの第1のビットないし第3のビットのうち、活性化されたビットの個数の減少に対応して、前記プルアッププリエンファシスコードの第1のビット及び第2のビットのうち、活性化されたビットの個数を増加させるプルアッププリエンファシスコード生成部と、
前記プルダウンインピーダンスコードの第1のビットないし第3のビットのうち、活性化されたビットの個数の減少に対応して、前記プルダウンプリエンファシスコードの第1のビット及び第2のビットのうち、活性化されたビットの個数を増加させるプルダウンプリエンファシスコード生成部と、
を備えることを特徴とする請求項12に記載の半導体装置。
【請求項18】
前記プルアッププリエンファシスコード生成部は、
前記プルアップインピーダンスコードの第1のビット及び第2のビットを各々反転する第1のインバータ及び第2のインバータと、
前記第1のインバータの出力信号と前記第2のインバータの出力信号とを論理積演算する第1のNANDゲート及び第3のインバータと、
前記プルアップインピーダンスコードの第3のビットを反転する第4のインバータと、
前記第3のインバータの出力信号と第4のインバータの出力信号とを否定論理和演算して前記プルアッププリエンファシスコードの第2のビットとして出力する第1のNORゲートと、
前記プルアップインピーダンスコードの第2のビット及び第3のビットを論理和演算して前記プルアッププリエンファシスコードの第1のビットとして出力する第2のNORゲート及び第5のインバータと、
を備えることを特徴とする請求項17に記載の半導体装置。
【請求項19】
前記プルダウンプリエンファシスコード生成部は、
前記プルダウンインピーダンスコードの第1のビット及び第2のビットを各々反転する第6のインバータ及び第7のインバータと、
前記第6のインバータの出力信号と前記第7のインバータの出力信号とを論理積演算する第2のNANDゲート及び第8のインバータと、
前記プルダウンインピーダンスコードの第3のビットを反転する第9のインバータと、
前記第8のインバータの出力信号と第9のインバータの出力信号とを否定論理和演算して前記プルダウンプリエンファシスコードの第2のビットとして出力する第3のNORゲートと、
前記プルダウンインピーダンスコードの第2のビット及び第3のビットを論理和演算して前記プルダウンプリエンファシスコードの第1のビットとして出力する第4のNORゲート及び第10のインバータと、
を備えることを特徴とする請求項18に記載の半導体装置。
【図1】
【図2】
【図3】
【図4A】
【図4B】
【図5A】
【図5B】
【図6A】
【図6B】
【図7A】
【図7B】
【図8A】
【図8B】
【図8C】
【図8D】
【図2】
【図3】
【図4A】
【図4B】
【図5A】
【図5B】
【図6A】
【図6B】
【図7A】
【図7B】
【図8A】
【図8B】
【図8C】
【図8D】
【公開番号】特開2013−74620(P2013−74620A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2012−31624(P2012−31624)
【出願日】平成24年2月16日(2012.2.16)
【出願人】(310024033)エスケーハイニックス株式会社 (122)
【氏名又は名称原語表記】SK hynix Inc.
【住所又は居所原語表記】2091, Gyeongchung−daero,Bubal−eub,Icheon−si,Gyeonggi−do,Korea
【Fターム(参考)】
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願日】平成24年2月16日(2012.2.16)
【出願人】(310024033)エスケーハイニックス株式会社 (122)
【氏名又は名称原語表記】SK hynix Inc.
【住所又は居所原語表記】2091, Gyeongchung−daero,Bubal−eub,Icheon−si,Gyeonggi−do,Korea
【Fターム(参考)】
[ Back to top ]