以下、実施形態を、図面を用いて説明する。信号が伝達される信号線には、信号名と同じ符号を使用する。末尾に”#”の付いている信号は負論理を示している。図中の二重の四角印は、外部端子を示している。外部端子は、例えば、半導体チップ上のパッド、あるいは半導体チップが収納されるパッケージのリードである。外部端子を介して供給される信号には、端子名と同じ符号を使用する。
図1は、一実施形態における半導体集積回路LSIの例を示している。例えば、半導体集積回路LSIは、ASIC(Application Specify IC)等の半導体チップであり、半導体チップCHIPとともにパッケージ基板に搭載される。半導体集積回路LSIと半導体チップCHIPとの間は、伝送線路TLにより接続されている。そして、半導体集積回路LSIおよび半導体チップCHIPを含むシステムSYSが形成される。半導体チップCHIPの内部回路CKT2は、半導体集積回路LSIからの外部同期信号CK等を受けて動作し、制御信号CNTLとともに伝送信号TS1を出力する。
半導体集積回路LSIは、同期信号生成回路CKGEN、測定制御回路MEASCNT、参照電位切替回路VREFSW、受信回路RCV、遅延制御回路DLYCNT、可変遅延回路DLY1、DLY2、マスク生成回路MSKGEN、マスク回路MASKおよび内部回路CKT1を有している。
同期信号生成回路CKGENは、基本クロック信号SCK0に基づいてシステムクロック信号SCKを生成する。システムクロック信号SCKは、可変遅延回路DLY1を介して内部同期信号として半導体集積回路内に供給され、可変遅延回路DLY2を介して外部同期信号CKとして半導体チップCHIPに供給される。測定制御回路MEASCNTは、半導体チップCHIPからの伝送信号TS1の低レベルの程度を測定する期間を示すレベル測定信号DCLVLを出力する。
参照電位切替回路VREFSWは、通常動作モード中に、外部同期信号CKに応答して半導体チップCHIPから出力される伝送信号TS1の高レベル電位と低レベル電位との間に設定される第1参照電位VREFを選択し、モニタモード中に、第1参照電位VREFより低い第2参照電位VREFMを選択し、選択した電位を第3参照電位VREFOとして出力する。
例えば、第2参照電位VREFMは、半導体チップCHIPのプロセス状態が回路動作の速いFAST状態であるときの伝送信号TS1の低レベルと、半導体チップCHIPのプロセス状態が回路動作の遅いSLOW状態であるときの伝送信号TS1の低レベルとの間の値に設計されている。例えば、参照電位VREFMは、電源電位を抵抗により分圧することで生成される。
受信回路RCVは、第3参照電位VREFOと伝送信号TS1の電位とを比較する比較器を有しており、伝送信号TS1の論理レベルを示す論理信号を内部回路CKT1および遅延制御回路DLYCNTに出力する。半導体チップCHIPがFAST状態のとき、半導体チップCHIP内のトランジスタの閾値電圧(絶対値)は低く製造されているため、伝送信号TS1の低レベルは参照電位VREFMより低くなる。一方、半導体チップCHIPがSLOW状態のとき、半導体チップCHIP内のトランジスタの閾値電圧(絶対値)は高く製造されているため、伝送信号TS1の低レベルは参照電位VREFMより高くなる。このため、モニタモード中に、受信回路RCVが、半導体チップCHIPからの低レベルの伝送信号TS1を低論理レベルと判定するとき、半導体チップCHIPはFAST状態である。モニタモード中に、受信回路RCVが、半導体チップCHIPからの低レベルの伝送信号TS1を高論理レベルと判定するとき、半導体チップCHIPはSLOW状態である。
遅延制御回路DLYCNTは、モニタモード中に受信回路RCVで判定される伝送信号TS1の論理レベルに応じて遅延調整信号ADJを生成する。例えば、伝送信号TS1が低論理レベルのとき(半導体チップCHIP=FAST状態)、可変遅延回路DLY1の遅延時間を短くする遅延調整信号ADJが生成され、伝送信号TS1が高論理レベルのとき(半導体チップCHIP=SLOW状態)、可変遅延回路DLY1の遅延時間を長くする遅延調整信号ADJが生成される。可変遅延回路DLY1は、システムクロック信号SCKの遅延時間を、遅延調整信号ADJに応じて調整する。
マスク生成回路MSKGENは、半導体集積回路LSIが半導体チップCHIPを動作させるときに内部回路CKT1により生成されるマスク解除信号MSKRS0を、可変遅延回路DLY1から出力されるシステムクロック信号SCKに同期してマスク解除信号MSKRSとして出力する。すなわち、マスク解除信号MSKRSの出力タイミングは、可変遅延回路DLY1の遅延時間により調整される。
マスク回路MASKは、外部同期信号CKに応答して半導体チップCHIPから出力される制御信号CNTLを、マスク解除信号MSKRSの活性化中に内部制御信号ICNTLとして出力する。マスク回路MASKは、マスク解除信号MSKRSの非活性化中に制御信号CNTLの受け付けを禁止し、内部制御信号ICNTLの出力を停止する。内部回路CKT1は、内部制御信号ICNTLを受けているときに受信回路RCVから供給される伝送信号TS1を受け付け、内部制御信号ICNTLを受けていないときに伝送信号TS1を受け付けを禁止する。
半導体チップCHIPがFAST状態のとき、外部同期信号CKの出力から制御信号CNTLを受けるまでの時間は短くなる。このとき、可変遅延回路DLY1によりマスク解除信号MSKRSの出力タイミングは早くなるため、マスク回路MASKにおける制御信号CNTLに対するマスク解除信号MSKRSのセットアップ時間またはホールド時間を大きくできる。
半導体チップCHIPがSLOW状態のとき、外部同期信号CKの出力から制御信号CNTLを受けるまでの時間は長くなる。このとき、可変遅延回路DLY1によりマスク解除信号MSKRSの出力タイミングは遅くなるため、マスク回路MASKにおける制御信号CNTLに対するマスク解除信号MSKRSのセットアップ時間またはホールド時間を大きくできる。
なお、遅延調整信号ADJに応じて、可変遅延回路DLY2を制御し、外部同期信号CKの遅延時間を調整してもよい。モニタモード中に、伝送信号TS1が低論理レベルのとき(半導体チップCHIP=FAST状態)、可変遅延回路DLY2の遅延時間を長くする遅延調整信号ADJが遅延制御回路DLYCNTにより生成される。伝送信号TS1が高論理レベルのとき(半導体チップCHIP=SLOW状態)、可変遅延回路DLY2の遅延時間を短くする遅延調整信号ADJが遅延制御回路DLYCNTにより生成される。可変遅延回路DLY2は、外部同期信号CKの遅延時間を、遅延調整信号ADJに応じて調整する。
半導体チップCHIPがFAST状態のとき、可変遅延回路DLY2により外部同期信号CKの出力タイミングは遅くなるため、半導体チップCHIPから半導体集積回路LSIへの制御信号CNTLの到達タイミングは遅くなる。これにより、マスク回路MASKにおける制御信号CNTLに対するマスク解除信号MSKRSのセットアップ時間またはホールド時間を大きくできる。半導体チップCHIPがSLOW状態のとき、可変遅延回路DLY2により外部同期信号CKの出力タイミングは早くなるため、半導体チップCHIPから半導体集積回路LSIへの制御信号CNTLの到達タイミングは早くなる。これにより、マスク回路MASKにおける制御信号CNTLに対するマスク解除信号MSKRSのセットアップ時間またはホールド時間を大きくできる。なお、遅延調整信号ADJに応じて、可変遅延回路DLY1−2の両方の遅延時間を調整してもよい。
以上、この実施形態では、伝送信号TS1の電位レベルをモニタすることにより、半導体集積回路LSIの外部に接続される半導体チップCHIPのプロセス状態を検出できる。検出されるプロセス状態に応じて可変遅延回路DLY1およびDLY2の少なくともいずれかの遅延時間を調整することで、マスク解除信号MSKRSに対する制御信号CNTLのセットアップ時間またはホールド時間のマージンを大きくできる。
図2は、別の実施形態における半導体集積回路LSIの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の半導体集積回路LSIは、プリアンブル検出回路PADET、測定制御回路MEASCNT、参照電位切替回路VREFSW、レベル判定イネーブル回路LVLEN、遅延制御回路DLYCNT、PLL(Phase locked Loop)回路、可変遅延回路DLY1、DLY2、マスク信号生成回路MSKGEN、マスク回路MASK、メモリコントローラMCNTおよび論理回路LGを有している。また、半導体集積回路LSIは、相補のクロック信号CK、CK#を出力する出力バッファCKOB、書き込み動作時に相補のデータストローブ信号DQS、DQS#を出力する出力バッファDQSOB、読み出し動作時に相補のデータストローブ信号DQS、DQS#を受ける入力バッファDQSIB、書き込みデータ信号DQを出力する出力バッファDQOBおよび読み出しデータ信号DQを受ける入力バッファDQIBを有している。
例えば、半導体集積回路LSIは、ASICチップであり、DDR−SDRAMチップとともにパッケージ基板に搭載される。そして、半導体集積回路LSIおよびSDRAMを含むシステムSYSが形成される。システムSYSは、パッケージ基板上に複数のチップが積層されたマルチチップパッケージMCP、または、リードフレーム等のパッケージ基板上に複数のチップが搭載されたシステムインパッケージSiPとして形成されている。あるいは、さらに、システムSYSは、チップオンチップCoCまたはパッケージオンパッケージPoPとして形成されてもよい。
プリアンブル検出回路PADETは、データストローブ信号DQSのプリアンブル期間を検出するためにポジティブ側のデータストローブ信号DQSの電位を判定電位VDETと比較する比較器を有している。判定電位VDETは、SDRAMに供給される電源電位VDDを抵抗により分圧することで生成される。あるいは、判定電位VDETは、SDRAMに供給される参照電位VREFを抵抗により分圧することで生成される。参照電位VREFは、電源電位VDDを抵抗により分圧することで生成される。プリアンブル検出回路PADETは、プリアンブル期間を検出したときに、検出イネーブル信号DETENを高レベルから低レベルに変化する。
測定制御回路MEASCNTは、リセット信号RSTが高レベルに解除されている期間に、クロック信号CLKおよび検出イネーブル信号DETENに基づいてレベル測定信号DCLVLを出力する。レベル測定信号DCLVLは、SDRAMからの読み出しデータ信号DQの低レベルの程度を測定するためのモニタ参照電位VREFMを選択するために、参照電位切替回路VREFSWに供給される。例えば、リセット信号RSTは、測定制御回路MEASCNTを動作させるときに、SDRAMへの読み出しコマンドに応答して、論理回路LGにより所定の期間高レベルに設定される。
参照電位切替回路VREFSWは、レベル測定信号DCLVLの低レベル期間である通常動作モード中に参照電位VREFを選択し、レベル測定信号DCLVLの高レベル期間であるモニタモード中にモニタ参照電位VREFMを選択する。参照電位切替回路VREFSWは、選択した電位を参照電位VREFOとして出力する。参照電位VREFOは、電源電位VDDを抵抗により分圧することで生成され、モニタモード中に、SDRAMからの読み出しデータ信号DQの論理レベルを判定するために入力バッファDQIBに供給される。入力バッファDQIBは、読み出しデータ信号DQの電位を参照電位VREFOと比較することで、読み出しデータ信号DQの論理レベルを判定し、入力データ信号DQIとして論理回路LGに出力する。参照電位切替回路VREFSWの例は、図6に示す。
レベル判定イネーブル回路LVLENは、レベル測定信号DCLVLの高レベル期間に動作し、読み出しデータ信号DQの電位レベルを示すレベル信号DQLVLを遅延制御回路DLYCNTに出力する。なお、レベル判定イネーブル回路LVLENは、レベル測定信号DCLVLの高レベル期間の代わりに、図6に示す測定イネーブル信号MEASENの高レベル期間に動作させてもよい。
遅延制御回路DLYCNTは、レベル信号DQLVLに応じて、可変遅延回路DLY1−2の少なくともいずれかの遅延時間を調整するための遅延調整信号ADJを生成する。遅延調整信号ADJは、可変遅延回路DLY1−2毎に生成される。
PLL(Phase locked Loop)回路は、基本クロック信号SCK0に基づいて内部クロック信号CLKおよびシステムクロック信号SCKを生成する。特に限定されないが、システムクロック信号SCKの周波数は基本クロック信号SCK0の周波数より低く、内部クロック信号CLKの周波数は基本クロック信号SCK0の周波数より高い。可変遅延回路DLY1は、遅延調整信号ADJに応じてシステムクロック信号SCKの位相を調整してマスク信号生成回路MSKGENに出力する。可変遅延回路DLY2は、遅延調整信号ADJに応じてシステムクロック信号SCKの位相を調整してフリップフロップFFに出力する。そして、フリップフロップFFおよび出力バッファCKOBを介して、SDRAMにクロック信号CK、CK#が出力される。クロック信号CK、CK#の周波数は、システムクロック信号SCKの2分の1である。
マスク信号生成回路MSKGENは、SDRAMの読み出し動作時に論理回路LGにより生成されるマスク解除信号MSKRS0を、可変遅延回路DLY1から出力されるシステムクロック信号に同期してマスク解除信号MSKRSとして出力する。すなわち、マスク解除信号MSKRSの出力タイミングは、可変遅延回路DLY1の遅延時間により調整される。マスク回路MASKは、マスク解除信号MSKRSの高レベル期間に有効になり、入力バッファDQSIBを介して供給される相補のデータストローブ信号DQS、DQS#をデータストローブ信号MDQSとして出力する。マスク回路MASKは、マスク解除信号MSKRSの低レベル期間に無効になり、相補のデータストローブ信号DQS、DQS#のレベルに拘わりなく、データストローブ信号MDQSを低レベルに固定する。
メモリコントローラMCNTは、SDRAMのアクセスを制御する制御信号および書き込みデータ信号DQを生成する機能と、SDRAMからの読み出しデータ信号DQを受ける機能を有している。例えば、論理回路LGは、メモリコントローラMCNTとSDRAMとの間に形成される物理層として設計される。出力バッファDQS0Bは、SDRAMへの書き込み動作時に、論理回路LGを介してメモリコントローラMCNTから出力されるデータストローブ信号DQS0を相補のデータストローブ信号DQS、DQS#としてSDRAMに出力する。出力バッファDQOBは、SDRAMへ書き込み動作時に、論理回路LGを介してメモリコントローラMCNTから出力される書き込みデータ信号を書き込みデータ信号DQとしてSDRAMに出力する。半導体集積回路LSIとSDRAMとの間は、伝送線路TLにより接続されている。
図3は、図2に示したプリアンブル検出回路PADETの動作の例を示している。図3の波形は、回路シミュレータによるシミュレーション波形である。初期状態において、データストローブ信号DQSは参照電位VREF(中間電位)に設定されている。参照電位VREFは、判定電位VDETより高いため、プリアンブル検出回路PADETは、高レベルの検出イネーブル信号DETENを出力する(図3(a))。特に限定されないが、判定電位VDETは、参照電位VREFのほぼ半分の値である。
SDRAMは、読み出しデータ信号DQの出力を開始する前に、参照電位VREF(中間電位)に設定しているデータストローブ信号DQSを低レベルに変化する(図3(b))。プリアンブル検出回路PADETは、データストローブ信号DQSの電位が判定電位VDETより低くなったときに、検出イネーブル信号DETENを低レベルに変化する(図3(c))。すなわち、データストローブ信号DQSが中間電位から低レベルに変化することで、プリアンブル期間の開始タイミングが検出される。この後、データストローブ信号DQSの変化に応じて、検出イネーブル信号DETENも変化する(図3(d))。
図4は、図2に示した測定制御回路MEASCNTの例を示している。測定制御回路MEASCNTは、バーストカウンタBSTCNT、モジュールMOD1、MOD2、カウンタCOUNT、アンド回路AND1、AND2およびフリップフロップ回路DFFを有している。
バーストカウンタBSTCNTは、クリア端子ACLRで低レベルのリセット信号RSTを受ける間リセット状態になる。バーストカウンタBSTCNTは、ロード端子SLOADおよびクロックイネーブル端子CKENで低レベルのカウンタ信号CMPBO、CMPCOを受けている間に、クロック端子CKで受ける検出イネーブル信号DETENによりカウント動作し、カウンタ値OUTB(例えば、4ビット)を出力する。アンド回路AND1は、バーストカウンタBSTCNTからのカウンタ値OUTBが”1”になったときに、カウンタ信号CMPBOを高レベルに設定する。
モジュールMOD1は、カウンタ信号CMPBO、CMPCOをそれぞれ受ける入力端子IN0、IN1を有している。モジュールMOD1は、式(1)または式(2)の論理により形成されている。式(1)、(2)において、”IN1#”は、入力端子IN1で受けるカウンタ信号CMPCOの論理を反転することを示し、DCLVL#は、レベル測定信号DCLVLの論理を反転することを示している。
M1OUT=(DETEN#・IN1#+DCLVL)・(IN0+DCLVL#)‥‥(1)
M1OUT=(DETEN#・IN1#)+(DCLVL・IN0) ‥‥(2)
モジュールMOD2は、カウンタ信号CMPBO、CMPCOをそれぞれ受ける入力端子IN0、IN1を有している。モジュールMOD2は、式(3)の論理により形成されている。式(3)において、DCLVL#は、レベル測定信号DCLVLの論理を反転することを示している。
M2OUT=(IN1+DCLVL)・(IN0+DCLVL#)‥‥(3)
カウンタCOUNTは、バーストカウンタBSTCNTと同じ回路である。カウンタCOUNTは、ロード端子SLOADおよびクロックイネーブル端子CKENで低レベルのレベル測定信号DCLVLおよび出力信号M1OUTをそれぞれ受けている間に、クロック端子CKで受けるクロック信号CLKによりカウント動作し、カウンタ値OUTC(例えば、4ビット)を出力する。アンド回路AND2は、カウンタCOUNTからのカウンタ値OUTCが”5”になったときに、カウンタ信号CMPCOを高レベルに設定する。
フリップフロップ回路DFFは、フリップフロップ回路DFFは、クリア端子で低レベルのリセット信号RSTを受けている間、低レベルのレベル測定信号DCLVLを出力する。モジュールMOD2からの高レベルの出力信号M2OUTをクロックイネーブル端子CEで受けている間に動作し、クロック信号CLKの立ち上がりエッジに同期してレベル測定信号DCLVLの論理を反転する。
図5は、図4に示した測定制御回路MEASCNTの動作の例を示している。図5の波形は、回路シミュレータによるシミュレーション結果を論理的に示している。この例では、クロック信号CLKの周波数は、SDRAMに供給されるクロック信号CKの周波数の4倍である。データストローブ信号DQSは、SDRAMを読み出しアクセスすることにより、SDRAMから出力される。SDRAMは、バースト長が”4”に設定されている。例えば、リセット信号RSTは、SDRAMに供給される読み出しコマンドに応答して所定の期間高レベルに設定される(図5(a))。SDRAMは、読み出しデータ信号DQを出力する前に、データストローブ信号DQSのレベルを参照電位VREFから低レベルに変化させる(図5(b))。
図2に示したプリアンブル検出回路PADETは、データストローブ信号DQSの低レベルへの変化に応答して検出イネーブル信号DETENを低レベルに変化する(図5(c))。図3に示したモジュールMOD1は、式(1)または式(2)にしたがって、出力信号M1OUTを生成する(図5(d))。図3に示したカウンタCOUNTは、高レベルのリセット信号RST、低レベルのレベル測定信号DCLVLおよび高レベルの出力信号M1OUTを受けている間、クロック信号CLKの立ち上がりエッジに同期してカウントアップし、カウンタ値OUTC3−0を1ずつ増加する(図5(e))。アンド回路AND2は、カウンタ値OUTC3−0が”5”になったときに、カウンタ信号CMPCOを高レベルに変化する(図5(f))。
なお、カウンタ値OUTC3−0が”0”から”5”までカウントされる期間は、SDRAMに供給されるクロック信号CKの1周期より長く、クロック信号CKの1.5周期より短い。これにより、レベル測定信号DCLVLの立ち上がりエッジを、データストローブ信号DQSのプリアンブル期間が終了後、最初の読み出しデータDQが供給されている期間に生成できる。また、偶数番目の読み出しデータ信号DQを出力するときのデータストローブ信号DQSの低レベル期間は、クロック信号CKの半周期より短い。このため、カウンタCOUNTを”0”から”5”までにカウントすることで、データストローブ信号DQSのプリアンブル期間PA以外で、カウンタ信号COMPCOが高レベルに変化することを防止でき、測定制御回路MEASCNTの誤動作を防止できる。
クロック信号CLKの周波数がさらに高く設計されるとき、高レベルのカウンタ信号CMPCOを出力するまでにカウントされるカウンタ値OUTCは”5”より大きく設定される。プリアンブル期間PAは、SDRAMからのデータストローブ信号DQSにより決まるため、クロック信号CLKに対して非同期である。このため、カウンタ値OUTCが大きく設定されるほど、プリアンブル期間PAの終了タイミング、すなわち、読み出しデータ信号DQの出力が開始されるタイミングを正確に判定できる。
図3に示したバーストカウンタBSTCNTは、高レベルのリセット信号RST、低レベルのカウンタ信号CMPBOおよび高レベルのカウンタ信号CMPCOを受けている間、検出イネーブル信号DETENの立ち下がりエッジに同期してカウントアップし、カウンタ値OUTB3−0を1ずつ増加する(図5(g))。アンド回路AND1は、カウンタ値OUTB3−0が”1”になったときに、カウンタ信号CMPBOを高レベルに変化する(図5(h))。
図3に示したモジュールMOD2は、カウンタ信号CMPCOの立ち上がりエッジとカウンタ信号CMPBOの立ち上がりエッジにそれぞれ同期するパルスを有する出力信号M2OUTを生成する(図5(i、j))。フリップフロップ回路DFFは、出力信号M2OUTが高レベルの期間に、クロック信号CLKの立ち上がりエッジに同期してレベル測定信号DCLVLの論理を反転する(図5(k、l))。これにより、プリアンブル期間PAの終了後に最初の読み出しデータ信号DQが出力されている期間と、レベル測定信号DCLVLの高レベル期間とを互いに重複できる。すなわち、最初の読み出しデータ信号DQの電位レベルを測定できる。カウンタCOUNTは、レベル測定信号DCLVLの立ち下がりエッジに同期してカウンタ値OUTC3−0を”0”にリセットする(図5(m))。
図6は、図2に示した電位切替回路VREFSWの例を示している。電位切替回路VREFSWは、アンド回路AND3、CMOS伝達ゲートTG1、TG2を有している。アンド回路AND3は、キャリブレーション信号CALBの高レベル期間に有効になり、レベル測定信号DCLVLを測定イネーブル信号MEASENとして出力する。
キャリブレーション信号CALBは、SDRAMのプロセス状態に応じて可変遅延回路DLY1−2の遅延時間を自動的に設定するために、システムSYSのパワーオン時に所定の期間高レベルに設定される。あるいは、キャリブレーション信号CALBは、システムSYSのパワーオン中に、必要に応じて所定の期間高レベルに設定される。例えば、キャリブレーション信号CALBの波形は、図5に示したリセット信号RSTの波形と同じである。キャリブレーション信号CALBは、SDRAMに対してユーザデータが読み書きされる通常動作モード中は低レベルに固定される。これにより、通常動作モード中に、参照電位VREFを参照電位VREFOとして確実に設定できる。なお、図4に示した測定制御回路MEASCNTのみの制御で、可変遅延回路DLY1−2の遅延時間を調整するとき、キャリブレーション信号CALBは高レベルに固定されてもよい。
CMOS伝達ゲートTG1は、測定イネーブル信号MEASENが低レベルの期間にオンし、参照電位VREFを参照電位VREFOとして伝達する。CMOS伝達ゲートTG2は、測定イネーブル信号MEASENが高レベルの期間にオンし、モニタ参照電位VREFMを参照電位VREFOとして伝達する。測定イネーブル信号MEASENが高レベルの期間は、遅延回路DLY1−2の遅延時間を設定するためにSDRAMからの読み出しデータDQの電位レベルをモニタするモニタ期間である。測定イネーブル信号MEASENが低レベルの期間は、モニタ期間後にSDRAMからユーザデータが読み出される通常動作期間である。
図7は、図2に示した測定制御回路MEASCNT、参照電位切替回路VREFSWおよび入力バッファDQIBの動作の例を示している。半導体集積回路LSIは、図7の動作の前に、SDRAMのメモリセルに論理0を書き込む。図7では、SDRAMは、半導体集積回路LSIからの読み出しコマンドに応答して論理0を出力する。図7の上側の波形は、SDRAMのプロセスがSLOW状態のときを示している。図7の下側の波形は、SDRAMのプロセスがFAST状態のときを示している。検出イネーブル信号DETENおよびレベル測定信号DCLVLの波形は、図5と同様である。
SLOW状態は、SDRAMの製造工程でのプロセス条件が、回路動作が遅くなる側にシフトした状態である。例えば、SLOW状態で製造されたSDRAMは、トランジスタの閾値電圧(絶対値)が高い。FAST状態は、SDRAMの製造工程でのプロセス条件が、回路動作が早くなる側にシフトした状態である。例えば、FAST状態で製造されたSDRAMは、トランジスタの閾値電圧(絶対値)が低い。このように、SLOW状態およびFAST状態は、SDRAMの製造時に決まり、その後変化することはない。なお、説明を分かりやすくするために、半導体集積回路LSIは、標準的なプロセス条件で製造されているとする。
SDRAMは、読み出し動作において、データストローブ信号DQSを低レベルから高レベルに設定し(図7(a、b))、データストローブ信号DQSの高レベルへの変化に同期して論理0の読み出しデータ信号DQを出力する(図7(c、d))。参照電位切替回路VREFSWは、レベル測定信号DCLVLの高レベルへの変化に応答して、参照電位VREFOをモニタ参照電位VREFからモニタ参照電位VREFMに切り替える(図7(e、f))。
SLOW状態では、読み出しデータ信号DQの電位は、参照電位VREFO(=VREFM)より高くなる。このため、入力バッファDQIBは、高レベルの入力データ信号DQIをレベル判定イネーブル回路LVLENに出力する(図7(g))。反対に、FAST状態では、読み出しデータ信号DQの電位は、参照電位VREFO(=VREFM)より低くなる。このため、入力バッファDQIBは、低レベルの入力データ信号DQIをレベル判定イネーブル回路LVLENに出力する(図7(h))。レベル判定イネーブル回路LVLENは、レベル測定信号DCLVLの高レベル期間に、入力データ信号DQIと同じ論理レベルのレベル信号DQLVLを遅延制御回路DLYCNTに出力する(図7(i、j))。
遅延制御回路DLYCNTは、レベル信号DQLVLの論理レベルに応じて、SDRAMのプロセス状態を検出する。SLOW状態では、データストローブ信号DQSおよび読み出しデータ信号DQのSDRAMからの出力タイミングは、標準状態に比べて遅くなる。SDRAMからの出力タイミングに合わせるために、遅延制御回路DLYCNTは、SLOW状態を検出したとき、マスク解除信号MSKRSの出力タイミングを遅らせるために、可変遅延回路DLY1の遅延時間を増やす。
一方、FAST状態では、データストローブ信号DQSおよび読み出しデータ信号DQのSDRAMからの出力タイミングは、標準状態に比べて早くなる。SDRAMからの出力タイミングに合わせるために、遅延制御回路DLYCNTは、FAST状態を検出したとき、マスク解除信号MSKRSの出力タイミングを早くするために、可変遅延回路DLY1の遅延時間を減らす。
なお、SLOW状態を検出したときに可変遅延回路DLY2の遅延時間を減らし、FAST状態を検出したときに可変遅延回路DLY2の遅延時間を増やしてもよい。あるいは、検出したプロセス状態に応じて、可変遅延回路DLY1−2の遅延時間を両方調整してもよい。例えば、可変遅延回路DLY1−2の遅延時間を設定するための情報は、システムSYS内に搭載される不揮発性メモリに格納される。不揮発性メモリに格納された遅延時間の設定情報は、システムSYSのリセット時、または電源投入時に、遅延制御回路DLYCNTにより可変遅延回路DLY1−2に設定される。可変遅延回路DLY1−2に設定された遅延時間は、電源が投入されている間保持される。
また、2種類のモニタ参照電位VREFMを用いて、図7の動作をそれぞれ実施することで、SDRAMのプロセス状態が、SLOW状態、FAST状態および標準状態のいずれかであることを識別できる。この際、2種類のモニタ参照電位VREFMは、共通の外部端子を介して半導体集積回路LSIに順次に与えてもよく、別々の外部端子を介して半導体集積回路LSIに与えてもよい。2種類のモニタ参照電位VREFMを別々の外部端子に与えるとき、図2に示した電位切替回路VREFSWは、2種類のモニタ参照電位VREFMの一方を選択する機能を有する。
図8は、図2に示したシステムSYSの動作を示している。図8では、バースト長は”4”に設定され、SDRAMが読み出し動作を実行する。太い線で示したマスク解除信号MSKRSは、遅延制御回路DLYCNTを動作させたときの波形を示し、細い線で示したマスク解除信号MSKRSは、遅延制御回路DLYCNTを動作させないときの波形を示している。図8は、図7の動作によりSDRAMのプロセス状態が検出され、可変遅延回路DLY1−2の少なくともいずれかの遅延時間がプロセス状態に合わせて設定された後の動作を示している。
半導体集積回路LSIがクロック信号CKをSDRAMに出力してから半導体集積回路LSIがデータストローブ信号DQSを受けるまでの時間は、ラウンドトリップパスによる遅延時間RTDとして表される。ここで、ラウンドトリップパスは、半導体集積回路LSIからSDRAMへのクロック信号CKの出力パス、SDRAM内の信号パス、およびSDRAMから半導体集積回路LSIへのデータストローブ信号DQSの入力パスを含む。半導体集積回路LSIとSDRAM間の距離(信号配線の長さ)は、システムSYSの設計時に分かる。このため、半導体集積回路LSIとSDRAM間の距離に応じて、可変遅延回路DLY1−2の少なくともいずれかの遅延時間が初期設定されている。半導体集積回路LSIとSDRAM間の距離が同じとき、SLOW状態の遅延時間RTDは大きくなり、FAST状態の遅延時間RTDは小さくなる(図8(a、b))。
SDRAMからのデータストローブ信号DQSおよび読み出しデータ信号DQの出力タイミングは、SLOW状態では遅くなる(図8(c))。このとき、遅延制御回路DLYCNTは、可変遅延回路DLY1の遅延時間を増やし、マスク解除信号MSKRSの出力タイミングを遅らせる(図8(d))。一方、SDRAMからのデータストローブ信号DQSおよび読み出しデータ信号DQの出力タイミングは、FAST状態では早くなる(図8(e))。このとき、遅延制御回路DLYCNTは、可変遅延回路DLY1の遅延時間を減らし、マスク解除信号MSKRSの出力タイミングを早くする(図8(f))。
以上の動作により、SDRAMのプロセス状態に拘わらず、SDRAMから出力されるデータストローブ信号DQSの出力タイミングに合わせて、最適なタイミングのマスク解除信号MSKRSを生成できる。換言すれば、SDRAMのプロセス状態に拘わらず、マスク解除信号MSKRSのセットアップ時間TSおよびホールド時間THを一定にできる。ここで、セットアップ時間TSは、マスク解除信号MSKRSの立ち上がりエッジからデータストローブ信号DQSの最初の立ち上がりエッジまでの余裕時間である。ホールド時間THは、マスク解除信号MSKRSの立ち上がりエッジに対するデータストローブ信号DQSの最初の立ち下がりエッジの余裕時間である。ホールド時間THは、データストローブ信号DQSの最後の立ち下がりエッジからマスク解除信号MSKRSの立ち下がりエッジまでの余裕時間を間接的に示している。
なお、図8では、可変遅延回路DLY1の遅延時間を、SLOW状態を検出したときに増やし、FAST状態を検出したときに減らす例を示しているが、SLOW状態を検出したときに可変遅延回路DLY2の遅延時間を減らし、FAST状態を検出したときに可変遅延回路DLY2の遅延時間を増やしても、同様の効果を得ることができる。さらに、プロセス状態に応じて、可変遅延回路DLY1−2の遅延時間を両方調整してもよい。
図9は、図8に示したセットアップ時間TSおよびホールド時間THの特性の変化の例を示している。システムSYS上でのSDRAMの動作可能な範囲は、データレートと、半導体集積回路LSIおよびSDRAMのチップ間距離に依存して変化する。動作可能なチップ間距離の範囲は、セットアップ時間TSおよびホールド時間THにより決まる。
例えば、チップ間距離が小さいとき、データストローブ信号DQSは、半導体集積回路LSIに相対的に早く伝達されるため、動作可能な範囲はセットアップ時間TSにより決まる。チップ間距離が大きいとき、データストローブ信号DQSは、半導体集積回路LSIに相対的に遅く伝達されるため、動作可能な範囲はホールド時間THにより決まる。
SDRAMのプロセス状態に応じてマスク解除信号MSKRSの出力タイミングを調整することで、セットアップ時間TSの余裕を増やすことができ、ホールド時間THの余裕を増やすことができる。特に、データレートが大きい側において、動作可能な範囲を広げることができる。図9において、動作可能な範囲内(網掛け部分)に示した細い実線は、SDRAMのプロセス状態をモニタせずに、可変遅延回路DLY1−2の遅延時間をチップ間距離のみに依存して設定するときのセットアップ時間TSおよびホールド時間THを示している。SDRAMのプロセス状態をモニタしないとき、データレートが大きい側において、動作可能な範囲は狭くなる。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、DDR−SDRAMを搭載するシステムSYSにおいて、DDR−SDRAMのプロセス状態に応じてマスク解除信号MSKRSの出力タイミングを最適に設定でき、SDRAMの動作マージンを向上できる。特に、汎用のDDR−SDRAMをシステムSYSに搭載するとき、システムSYS毎にDDR−SDRAMのプロセス状態は異なる。このときにも、SDRAMの動作マージンを確保でき、システムSYSの歩留を向上できる。換言すれば、システムSYSのコストを削減できる。
図10は、別の実施形態における半導体集積回路LSIの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、測定制御回路MEASCNTが図4と相違している。半導体集積回路LSIのその他の構成は、図2と同様である。
測定制御回路MEASCNTは、図4に示したアンド回路AND1、AND2の代わりに比較器CMP1、CMP2を有している。測定制御回路MEASCNTのその他の構成は、図4と同様である。比較器CMP1は、バーストカウンタBSTCNTから出力されるカウンタ値OUTBが、書き換え可能なレジスタREG1に設定された値と一致したときに、カウンタ信号CMPBOを高レベルに変化する。比較器CMP2は、カウンタCOUNTから出力されるカウンタ値OUTCが、書き換え可能なレジスタREG2に設定された値と一致したときに、カウンタ信号CMPCOを高レベルに変化する。例えば、論理回路LGは、レジスタREG1−2を制御することにより、各レジスタREG1−2に0−15のいずれかの値を書き込む。なお、レジスタREG1−2は、比較器CMP1−2の外に配置されてもよい。
この実施形態では、図7に示したレベル測定信号DCLVLの高レベル期間のタイミングおよび長さを、レジスタREG1−2の設定値に応じて変更できる。これにより、SDRAMのプロセス状態をモニタするタイミングおよび長さを自在に設定できる。例えば、バースト長を”8”に設定し、SDRAMから出力される8個の読み出しデータ信号DQをモニタすることで、外来ノイズの影響を少なくできる。さらに、カウンタCOUNTを動作するクロック信号CLKの周波数を高くし、レジスタREG2に設定される値を増やすことで、レベル測定信号DCLVLの立ち上がりエッジのタイミングを高い精度で生成できる。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、レベル測定信号DCLVLの高レベル期間のタイミングおよび長さを変えることにより、SDRAMのプロセス状態をより確実にモニタできる。
図11は、別の実施形態における半導体集積回路LSIの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では遅延制御回路DLYCNTおよび電位切替回路VREFSWが図2と相違している。また、半導体集積回路LSIは、プロセス検出回路SOCPDETを有している。半導体集積回路LSIのその他の構成は、図2と同様である。
プロセス検出回路SOCPDETは、水晶発振子からの発振信号XTALと、内蔵する発振回路ROSCからの発振信号OSC(図12)とに基づいて、半導体集積回路LSIのプロセス状態を示すプロセス信号SOCPを生成する。電位切替回路VREFSWは、プロセス信号SOCPに応じてモニタ参照電位VREFF、VREFSのいずれかを選択し、参照電位VREFOとして出力する。
遅延制御回路DLYCNTは、レベル信号DQLVLだけでなく、プロセス信号SOCPに応じて遅延調整信号ADJを生成する。例えば、図8に示したマスク解除信号MSKRSの出力タイミングは、SDRAMのプロセス状態が同じとき、半導体集積回路LSIのプロセス状態がSLOW状態のときに遅くなり、半導体集積回路LSIのプロセス状態がFAST状態のときに早くなる。
遅延制御回路DLYCNTは、半導体集積回路LSIのプロセス状態がSLOW状態のとき、図8に示した制御に加えて、(1)遅延回路DLY1の遅延時間を減らす、(2)遅延回路DLY2の遅延時間を増やす、の少なくともいずれかを実施する。遅延制御回路DLYCNTは、半導体集積回路LSIのプロセス状態がFAST状態のとき、図8に示した制御に加えて、(1)遅延回路DLY1の遅延時間を増やす、(2)遅延回路DLY2の遅延時間を減らす、の少なくともいずれかを実施する。これにより、SDRAMのプロセス状態のばらつきだけでなく、半導体集積回路LSIのプロセス状態のばらつきに合わせて、マスク解除信号MSKRSを図8に太線で示したタイミングに設定できる。
図12は、図11に示したプロセス検出回路SOCPDETの例を示している。プロセス検出回路SOCPDETは、発振回路ROSC、PLL回路、分周器DIV、パルスカウンタPCOUNT、カウンタ制御回路CCNT、比較レジスタCMPREGおよび比較器RCMPを有している。
例えば、発振回路ROSCは、リングオシレータを有し、半導体集積回路LSIのプロセス状態に応じた周波数の発振信号OSCを生成する。半導体集積回路LSIがSLOW状態のとき、発振信号OSCの周波数は低い。半導体集積回路LSIがFAST状態のとき、発振信号OSCの周波数は高い。
PLL回路および分周器DIVは、発振信号XTALに応じて、半導体集積回路LSIのプロセス状態に依存しない発振信号CCK0を生成する。発振信号CCK0の周波数は、発振信号OSCの周波数より十分に低く設定される。カウンタ制御回路CCNTは、例えば論理回路LGからの制御を受け、クリア信号CLRを出力した後、カウンタイネーブル信号CENを出力する。そして、カウンタ制御回路CCNTは、カウンタイネーブル信号CENの出力から発振信号CCKの1周期後にストップ信号STOPを出力する。
パルスカウンタPCOUNTは、クリア信号CLRに応答してカウンタ値をクリアし、イネーブル信号CENに出力中に発振信号OSCに同期してカウント動作し、ストップ信号STOPに応答してカウント動作を停止する。すなわち、カウンタCCOUNTは、半導体集積回路LSIのプロセス状態に依存しない発振信号CCKの1周期の間、発振信号OSCに同期してカウント動作し、カウンタ値CVを出力する。なお、カウンタCCOUNTのカウント動作の期間は、発振信号CCKの10周期の間でもよい。
比較レジスタCMPREGは、例えば、半導体集積回路LSIのプロセス状態が標準状態であるときにパルスカウンタPCOUNTがカウントするカウンタ値を標準値として予め保持している。比較レジスタCMPREGの値は、論理回路LGにより設定されもよく、内蔵するヒューズにより設定されてもよく、半導体集積回路LSIを製造するメタル配線のフォトマスクにより設定されてもよい。
比較器RCMPは、カウンタ値CVが比較レジスタCMPREGに格納されている値より小さいときに高レベルのプロセス信号SOCPを出力し、カウンタ値CVが比較レジスタCMPREGに格納されている値より大きいときに低レベルのプロセス信号SOCPを出力する。カウンタ値CVは、半導体集積回路LSIのプロセス状態がSLOW状態のとき小さく、半導体集積回路LSIのプロセス状態がFAST状態のとき大きい。したがって、高レベルのプロセス信号SOCPは、半導体集積回路LSIがSLOW状態であることを示し、低レベルのプロセス信号SOCPは、半導体集積回路LSIがFAST状態であることを示す。
図13は、図11に示した電位切替回路VREFSWの例を示している。図6と同じ要素については、詳細な説明は省略する。電位切替回路VREFSWは、モニタ参照電位VREFF、VREFSの一方をプロセス信号SOCPの論理レベルに応じて選択し、モニタ参照電位VREFMとして出力するセレクタSEL1を、図6の電位切替回路VREFSWに追加している。セレクタSEL1は、一対のCMOS伝達ゲートTG3、TG4を有している。
セレクタSEL1は、プロセス信号SOCPが高レベルのとき(SLOW状態)、モニタ参照電位VREFSをモニタ参照電位VREFMとして出力し、プロセス信号SOCPが低レベルのとき(FAST状態)、モニタ参照電位VREFFをモニタ参照電位VREFMとして出力する。そして、電位切替回路VREFSWは、図7と同様に、SDRAMのプロセス状態をモニタするモニタ期間において、レベル測定信号DCLVLの低レベル中にモニタ参照電位VEFを参照電位VREFOとして出力し、レベル測定信号DCLVLの高レベル中にモニタ参照電位VREFMを参照電位VREFOとして出力する。
モニタ参照電位VREFSは、モニタ参照電位VREFFより低い。半導体集積回路LSIがSLOW状態のときに参照電位VREFOを低くし、半導体集積回路LSIがFAST状態のときに参照電位VREFOを高くすることで、半導体集積回路LSIのプロセス状態に拘わらず、モニタ期間に読み出しデータ信号DQの電位レベルを正確にモニタできる。
図14は、図11に示した測定制御回路MEASCNT、参照電位切替回路VREFSWおよび入力バッファDQIBの動作の例を示している。図7と同じ動作については、詳細な説明は省略する。半導体集積回路LSIは、図14の動作の前に、SDRAMのメモリセルに論理0を書き込む。図7と同様に、SDRAMは、半導体集積回路LSIからの読み出しコマンドに応答して論理0を出力する。
参照電位VREFOの値を半導体集積回路LSIのプロセス状態に応じて変更することで、半導体集積回路LSIのプロセス状態に拘わらず、読み出しデータ信号DQを正確にモニタできる。すなわち、入力バッファDQIBは、半導体集積回路LSIのプロセス状態に拘わらず、SDRAMがLOW状態のときに低レベルの入力データ信号DQIを出力でき、SDRAMがFAST状態のときに高レベルの入力データ信号DQIを出力できる。
図15は、マスク解除信号MSKRSのセットアップ時間TSおよびホールド時間THの特性の変化の例を示している。具体的には、図15は、あるデータレートにおけるセットアップ時間TSおよびホールド時間THのタイミングマージンを示している。セットアップ時間TSおよびホールド時間THの例は、図8に示している。
太い線は、半導体集積回路LSIとSDRAMのプロセス状態が逆方向にばらついているときに、SDRAMおよび半導体集積回路LSIのプロセス状態をモニタし、可変遅延回路DLY1−2の少なくともいずれかを調整するときのタイミングマージンを示している。太い線で囲まれている網掛けの領域は、このときのSDRAMの動作可能な範囲を示しており、チップ間距離がほぼ30mmから80mmのときにSDRAMは動作可能である。ここで、プロセス状態の逆方向とは、半導体集積回路LSIがSLOW状態でSDRAMがFAST状態のとき、または半導体集積回路LSIがFAST状態でSDRAMがSLOW状態のときである。
細い線(a)は、半導体集積回路LSIとSDRAMのプロセス状態が同じ方向にばらついているときに、可変遅延回路DLY1−2の遅延時間をチップ間距離のみに依存して設定するときのタイミングマージンを示している。細い線(a)では、網掛けで示した領域のうち、左側に位置するセットアップ時間TSのラインと右側に位置するホールド時間THのラインとに挟まれる三角の領域(チップ間距離=ほぼ50mmから70mm)でSDRAMは動作可能である。
細い線(b)は、半導体集積回路LSIとSDRAMのプロセス状態が逆方向にばらついているときに、可変遅延回路DLY1−2の遅延時間をチップ間距離のみに依存して設定するときのタイミングマージンを示している。細い線(b)では、網掛けで示した領域において、セットアップ時間TSのラインは常に右側に位置し、ホールド時間THのラインは常に左側に位置する。このため、セットアップ時間TSのラインとホールド時間THのラインとに挟まれる領域は存在せず、SDRAMが動作する領域は設計上存在しない。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、SDRAMのプロセス状態だけでなく、半導体集積回路LSIのプロセス状態をモニタすることにより、マスク解除信号MSKRSのセットアップ時間TSおよびホールド時間THのタイミングマージンをさらに大きくできる。この結果、SDRAMの動作マージンを向上でき、システムSYSの歩留を向上できる。
図16は、別の実施形態における半導体集積回路LSIの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、遅延制御回路DLYCNT、プロセス検出回路SOCPDETおよび電位切替回路VREFSWが図11と相違している。半導体集積回路LSIのその他の構成は、図11と同様である。
プロセス検出回路SOCPDETは、水晶発振子からの発振信号XTALと内蔵する発振回路ROSCからの発振信号OSC(図17)に基づいて、半導体集積回路LSIのプロセス状態を示す2ビットのプロセス信号SOCP1−0を生成する。すなわち、この実施形態では、半導体集積回路LSIのプロセス状態をSLOW状態、標準(TYP)状態およびFAST状態として検出できる。電位切替回路VREFSWは、プロセス信号SOCP1−0に応じてモニタ参照電位VREFF、VREFT、VREFSのいずれかを選択し、参照電位VREFOとして出力する。
遅延制御回路DLYCNTは、レベル信号DQLVLだけでなく、プロセス信号SOCP1−0に応じて遅延調整信号ADJを生成する。例えば、図8に示したマスク解除信号MSKRSの出力タイミングは、SDRAMのプロセス状態が同じとき、半導体集積回路LSIのプロセス状態がSLOW状態、標準状態およびFAST状態の順に早く設定される。これにより、半導体集積回路LSIのプロセス状態に依存せず、マスク解除信号MSKRSを、図8に太線で示したタイミングに設定できる。
図17は、図16に示したプロセス検出回路SOCPDETの例を示している。図12と同じ要素については、詳細な説明は省略する。プロセス検出回路SOCPDETは、図12の比較レジスタCMPREGおよび比較器RCMPの代わりに、比較レジスタCMPREG0−1および比較器RCMP0−1を有している。プロセス検出回路SOCPDETのその他の構成は、図12と同様である。
比較レジスタCMPREG0は、半導体集積回路LSIのプロセス状態が標準状態の下限であることを示す値を保持している。比較レジスタCMPREG1は、半導体集積回路LSIのプロセス状態が標準状態の上限であることを示す値を保持している。比較レジスタCMPREG0の値は、比較レジスタCMPREG1の値より小さい。比較レジスタCMPREG0−1の値は、論理回路LGにより設定されもよく、内蔵するヒューズにより設定されてもよく、半導体集積回路LSIを製造するメタル配線のフォトマスクにより設定されてもよい。
比較器RCMP0は、カウンタ値CVが比較レジスタCMPREG0に格納されている値より小さいときに低レベルのプロセス信号SOCP0を出力し、カウンタ値CVが比較レジスタCMPREG0に格納されている値より大きいときに高レベルのプロセス信号SOCP0を出力する。比較器RCMP1は、カウンタ値CVが比較レジスタCMPREG0に格納されている値より小さいときに低レベルのプロセス信号SOCP0を出力し、カウンタ値CVが比較レジスタCMPREG1に格納されている値より大きいときに高レベルのプロセス信号SOCP1を出力する。
図18は、図16に示した電位切替回路VREFSWの例を示している。図13と同じ要素については、詳細な説明は省略する。電位切替回路VREFSWは、図13のセレクタSEL1の代わりにセレクタSEL2を有している。また、電位切替回路VREFSWは、プロセスデコーダPDECを図13の電位切替回路VREFSWに追加している。電位切替回路VREFSWのその他の構成は、図13と同様である。
プロセスデコーダPDECは、プロセス信号SOCP1−0の論理レベルに応じて、プロセス選択信号SOCF、SOCT、SOCSのいずれかを高レベルHに設定する。具体的には、半導体集積回路LSIのプロセス状態がSLOW状態のとき、プロセス選択信号SOCFが高レベルHに設定される。半導体集積回路LSIのプロセス状態が標準(TYP)状態のとき、プロセス選択信号SOCTが高レベルHに設定される。半導体集積回路LSIのプロセス状態がFAST状態のとき、プロセス選択信号SOCFが高レベルHに設定される。
セレクタSEL2は、CMOS伝達ゲートTG5、TG6、TG7を有している。CMOS伝達ゲートTG5は、プロセス選択信号SOCFが高レベルHのときにオンし、モニタ参照電位VREFFをモニタ参照電位VREFMとして出力する。CMOS伝達ゲートTG6は、プロセス選択信号SOCTが高レベルHのときにオンし、モニタ参照電位VREFTをモニタ参照電位VREFMとして出力する。CMOS伝達ゲートTG7は、プロセス選択信号SOCSが高レベルHのときにオンし、モニタ参照電位VREFSをモニタ参照電位VREFMとして出力する。モニタ参照電位VREFF、VREFT、VREFSは、この順で低く設定される(VREFF>VREFT>VREFS)。
半導体集積回路LSIのプロセス状態に応じて参照電位VREFOを変更することで、半導体集積回路LSIのプロセス状態に拘わらず、モニタ期間に読み出しデータ信号DQの電位レベルを正確にモニタできる。なお、プロセス検出回路SOCPDETで検出するプロセス状態の数を多くし、プロセスデコーダPDEにより生成するプロセス選択信号の数を増やすほど、参照電位VREFOの値を細かく設定できる。しかし、隣接する2つの参照電位VREFOの電位差が小さくなるほど、入力バッファDQIBのノイズマージンが小さくなり、設計がし難くなる。このため、実用的には、3種類程度の参照電位VREFOを生成することが望ましい。以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。