説明

半導体装置、および該半導体装置における遅延回路の遅延コード自動設定方法

【課題】入力されるデータ信号のセットアップ及びホールド時間を調整する遅延回路における最適な遅延時間(遅延コード)を、半導体装置の実際の動作条件下において自動的に設定する。
【解決手段】パッド11から、ターゲットとなるデータ信号ADD/CMDを遅延回路13に入力し、遅延回路13の遅延コードCODET<2:0>を変えて、遅延回路から出力される遅延信号の遅延時間を変化させる。そして、この遅延された信号をラッチ回路14によりラッチし、遅延された信号PA0DBとラッチされたデータ信号PA2Bとの一致または不一致を判定し、一致すると判定した場合に、この判定結果に基いて遅延コードCODET<2:0>を決定し、決定後の遅延コードにより遅延回路13を動作させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、LSI等の半導体装置において、入力データ信号のセットアップ及びホールド時間を調整する遅延回路における遅延コード(遅延時間)を自動設定することができる、半導体装置、および該半導体装置における遅延回路の遅延コード自動設定方法に関する。
【背景技術】
【0002】
近時、半導体装置は、市場のニーズに伴い、動作周波数が高い製品が望まれるが、動作周波数が高くなるに従い、入力データ信号のセットアップタイム及びホールドタイムの規格も厳しくなっている。セットアップタイム、ホールドタイムの調整手段として、遅延調整回路等を用いて調整が行われる。例えば、複数の遅延素子とヒューズを用いて、セットアップ及びホールド時間を調整する機能を有する半導体記憶装置がある(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平10−144076号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
アドレス、コマンド等の入力信号のセットアップ及びホールド時間のセンタリング(入力信号のセットアップに必要な遅延回路の遅延時間と、入力信号のホールドに必要な遅延時間との中間時間の設定)は、メタルヒューズによる一括調整が行われる。しかしながら、ピン間の特性のバラツキやプロセスのバラつきに応じて、最適に自動設定できないという問題があった。
【0005】
また、半導体装置は、半導体チップ製造後にパッケージへ封入された後、実機に搭載されるが、周囲温度や供給される動作電圧が変わり得る状況下(実際の動作条件下)に置かれる。しかし、この状況下では、上記のように一括調整を行うことは困難であり、また、最適な遅延時間をある条件下で一義的に調整により求めても、動作条件は変化するので他の条件には対応できない。すなわち、従来の半導体装置においては、実際の動作条件下において、遅延回路における最適な遅延時間(遅延コード)を、自動的に設定することが出来ないという問題があった。
【課題を解決するための手段】
【0006】
本発明の半導体装置は、データ信号を遅延コードにより可変に遅延させ、遅延された信号をラッチすると共に、遅延された信号とラッチされたデータ信号との一致または不一致を判定し、一致すると判定した場合に、該判定結果に基いて遅延コードを決定し、決定後の遅延コードにより遅延回路が動作する。
【0007】
また、本発明の遅延回路の遅延コード自動設定方法は、データ信号のセットアップ及びホールド時間を調整する遅延回路における遅延コードの自動設定方法であって、セットアップ時間に対応する遅延回路の遅延コードを決定するための第1のタイミング信号と、ホールド時間に対応する遅延コードを決定するための第2のタイミング信号とを選択的に入力し、前記第1及び第2のタイミング信号に対して前記遅延コードを変化させ、内部でラッチが可能となるそれぞれの遅延コードの限界値を決定し、前記第1のタイミング信号に対して決定される遅延コードと、前記第2のタイミング信号に対して決定される遅延コードの双方の中間値を最適な遅延コードとして遅延回路の遅延時間を設定することを特徴とする。
【発明の効果】
【0008】
本発明の半導体装置においては、ターゲットとなるデータ信号を遅延回路に入力するとともに、遅延回路の遅延コードを変えて遅延時間を変化させる。そして、遅延された信号をラッチし、遅延された信号とラッチされたデータ信号との一致または不一致を判定し、この判定結果に基いて、最適な遅延コードを決定する。
これにより、半導体装置の実際の動作条件下において、遅延回路における最適な遅延時間(遅延コード)を自動で設定することができ、変わり得る実際の動作条件に対応できる。
【0009】
また、本発明の半導体装置における遅延回路の遅延コード自動設定方法においては、セットアップ及びホールドのターゲットとなるそれぞれのタイミング信号に対して、内部でラッチが可能となる遅延コードのそれぞれの限界値を探知し、双方の中間値をセンタリングの最適解として導き出す。
これにより、セットアップ及びホールドに対するそれぞれの遅延コードの限界値を探知し、双方の中間値を遅延コード(遅延時間)として設定できる。このため、半導体装置の実際の動作条件下において、遅延回路における最適な遅延コードを自動で設定することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施の形態に係わる半導体装置における信号入力回路の構成を示す図である。
【図2】セットアップ時間に対する遅延コードの探知動作について説明するための図である。
【図3】ホールド時間に対する遅延コードの探知動作について説明するための図である。
【図4】遅延コード選択回路の動作表を示す図である。
【発明を実施するための形態】
【0011】
本発明の半導体装置においては、入力されるデータ信号のセットアップ及びホールドに必要な遅延時間(遅延回路の遅延時間)を調べるために、ターゲットとなるデータ信号を遅延回路に入力するとともに、遅延回路の遅延コードを変えて遅延時間を変化させる。そして、タイミング信号の論理レベルを識別してラッチ(保持)可能な遅延コードを探知して、最適な遅延コードを決定する。
【0012】
より具体的には、入力されるデータ信号のセットアップに必要な遅延時間(遅延回路の遅延時間)を調べるために、セットアップターゲットとなるタイミング信号を入力する。この場合に、遅延回路の遅延コードを順次に減少させて遅延時間を小さくして行き、タイミング信号の論理レベルを識別してラッチ可能な限界となる遅延コード(最大の遅延コード)を求める。
【0013】
また、ホールドに必要な遅延時間を調べるために、ホールドターゲットとなるタイミング信号を入力する。この場合に、遅延回路の遅延コードを順次に増加させて遅延時間を大きくして行き、タイミング信号の論理レベルを識別してラッチ(保持)可能な限界となる遅延コード(最小の遅延コード)を求める。そして、最大の遅延コードと最小の遅延コードとを基に最適な遅延コードを決定し、遅延回路の遅延時間を自動的に設定する。
以下、本発明の実施の形態を、添付図面を参照して説明する。
【0014】
図1は、本発明の実施の形態に係わる半導体装置における信号入力回路の例を示す図である。より正確には、入力信号のセットアップ及びホールドを行う際に必要となる遅延回路の遅延時間を最適に設定する自動センタリング回路を備える信号入力回路の構成例を示す図である。
【0015】
図1に示す信号入力回路は、符号1で示す正規パスの回路の構成部分と、符号2で示す自動センタリング回路の構成部分とで構成される。
【0016】
図1において、遅延回路13は、パッド(PAD)11及びバッファ回路等で構成される入力初段回路12を介して、データ信号ADD/CMDが入力される。遅延回路13は、データ信号ADD/CMDを遅延し、信号PA0Bを、入力信号をホールドするラッチ回路14と、タイミング調整回路23に対して出力する。なお、後述するように、遅延回路13は、データ信号ADD/CMDを遅延させるとともに、Hレベル及びLレベルの論理を反転させた信号PA0Bを出力する。
【0017】
ナンド回路NAND1の一方のゲートと、ノア回路NOR1の一方のゲートには、ラッチ回路14が出力する信号PA1Bが、入力される。また、ナンド回路NAND1の他方のゲートと、ノア回路NOR1の他方のゲートには、インバータ回路INV1の出力信号が入力される。
【0018】
インバータ回路INV2は、ナンド回路NAND1の出力信号の論理レベルを反転し、正規パスの信号を出力する。インバータ回路INV3は、ノア回路NOR1の出力信号の論理レベルを反転し、信号PA2Bとして判定回路24に向けて出力する。また、タイミング調整回路23は、遅延回路13から信号PA0Bが入力され、当該信号に所定の遅延時間を付与し、タイミングを調整した信号PA0DBを生成して、判定回路24に向けて出力する。
【0019】
また、モード信号Aは、自動センタリング(遅延コードの自動設定)を行うテストモードの際にアクティブ(Hレベル)となる信号である。バイナリカウンタ21には、モード信号Aと、半導体装置内の内部クロック信号INTCLKとが入力される。このバイナリカウンタ21は、テストモードエントリにてHレベルとなるモード信号Aにより活性化され、内部クロック信号INTCLKによりカウントアップ動作する4ビットのバイナリカウンタで構成される。このバイナリカウンタ21は、そのカウント値を4ビットのバイナリ信号CONTT<3:0>として遅延コード選択回路22に出力する。ここで、「CONTT<3:0>=<C3,C2,C1,C0>」であり、C3,C2,C1,C0は1(Hレベル)または0(Lレベル)の値である。なお、バイナリカウンタ21以外の回路については、センタリングを行う各パッドに配置する必要がある。
【0020】
遅延コード選択回路22には、モード信号Aと、バイナリカウンタ21の出力信号CONTT<3:0>と、演算回路27の出力信号RESULTT<2:0>が入力される。この遅延コード選択回路22は、バイナリカウンタ21から入力される4ビットのカウント信号CONTT<3:0>を基に、3ビットの遅延コード(CODET<2:0>)を生成して、遅延回路13に出力する。ここで、遅延コードCODET<2:0>は、「CODET<2:0>=<D2,D1,D0>」であり、D2,D1,D0は1又は0の値である。また、遅延コード選択回路22は、信号CODET<2:0>と、次に説明する信号REGSELTを、レジスタS25とレジスタH26に出力する。
【0021】
図4に、遅延コード選択回路22の動作表を示す。図4に示すように、モード信号AがHレベルであり、かつバイナリカウンタ21のカウント値の最上位ビットの信号CONTT<3>がLレベルである場合、遅延コード選択回路22は、信号CONTT<3:0>の下位3ビット(CONTT<2:0>)の論理反転信号を、信号CODET<2:0>として出力する。すなわち、「CODET<2:0>=/CONTT<2:0>」となる。ここで、符号「/」は論理反転信号であることを示す。また、この場合、遅延コード選択回路22は、Lレベルの信号REGSELTを出力し、レジスタS25を選択する。
【0022】
また、モード信号AがHレベルであり、かつバイナリカウンタ21のカウント値の最上位ビットの信号CONTT<3>がHレベルである場合、遅延コード選択回路22は、信号CONTT<3:0>の下位3ビット(CONTT<2:0>)の信号を、信号CODET<2:0>として出力する。すなわち、「CODET<2:0>=CONTT<2:0>」となる。また、この場合、遅延コード選択回路22は、Hレベルの信号REGSELTを出力し、レジスタH26を選択する。
【0023】
また、モード信号AがLレベルになると、遅延コード選択回路22は、信号CONTT<3>の論理レベルとは無関係に、演算回路27から入力される信号RESULT<2:0>を、信号CODET<2:0>として遅延回路13に出力する。また、この場合、遅延コード選択回路22は、Lレベルの信号REGSELTを出力し、レジスタS25を選択する。
【0024】
遅延回路13では、遅延コード(CODET<2:0>)の値に従って8段階にデイレイ値(遅延時間)が変化する。遅延コード(CODET<2:0>の数値が大の時はディレイ値が大きくなり、遅延コード(CODET<2:0>)の数値が小の時はディレイ値が小さくなる。
【0025】
判定回路24は、信号PA2Bと、タイミング調整回路23から出力される信号PA0DBとの、一致または不一致を判定する回路である。すなわち、ラッチ回路14にラッチされた信号PA1Bをモード信号Aにより取り出した信号PA2Bと、タイミング調整回路23から出力されるラッチ前の信号PA0DBとの、一致または不一致を判定する回路である。この判定回路24は、信号PA2Bと信号PA0DBの論理レベルが一致する場合にLレベルとなり、不一致の場合にHレベルとなる判定結果信号JDGTを、レジスタS25とレジスタH26に出力する。
【0026】
レジスタS25には、遅延コード選択回路22から信号CODET<2:0>と信号REGSELTと入力され、判定回路24から信号JDGTが入力され、また、内部クロック信号INTCLKが入力される。このレジスタS25は、信号REGSELTがLレベルのときにのみ活性化される。すなわち、レジスタS25は、バイナリカウンタ21のカウント値が「0〜7」の間(セットアップ時間のテスト時)に活性化される。
【0027】
そして、レジスタS25では、信号JDGTを内部クロック信号INTCLKの立上がりエッジによりラッチし、このラッチした信号JDGTがHレベルからLレベルに遷移した際の遅延コード(CODET<2:0>)を保持する。そして、保持したCODET<2:0>を信号3ビットの信号REGST<2:0>として、演算回路27に出力する。ここで、「REGST<2:0>=<R2,R1,R0>」であり、R2,R1,R0はそれぞれ1又は0の値である。
【0028】
レジスタH26には、遅延コード選択回路22から、信号CODET<2:0>と信号REGSELTとが入力され、判定回路24から信号JDGTが入力され、また、内部クロック信号INTCLKが入力される。このレジスタH26は、信号REGSELTがHレベルのときにのみ活性化される。すなわち、レジスタH26は、バイナリカウンタ21のカウント値が「#8〜#F」の間(ホールド時間のテスト時)に活性化される。
【0029】
そして、レジスタH26では、信号JDGTを内部クロック信号INTCLKの立上がりエッジによりラッチし、このラッチした信号JDGTがHレベルからLレベルに遷移した際の遅延コード(CODET<2:0>)を保持する。そして、保持したCODET<2:0>を3ビットの信号REGHT<2:0>として、演算回路27に出力する。ここで、「REGHT<2:0>=<H2,H1,H0>」であり、H2,H1,H0はそれぞれ1又は0の値である。
【0030】
演算回路27は、レジスタS25から信号REGST<2:0>が入力され、また、レジスタH26から信号REGHT<2:0>が入力される。そして、レジスタS25及びレジスタH26の保持内容(REGST<2:0>,REGHT<2:0>)に対して、その和の1/2を結果RESULTT<2:0>として出力する。なお、REGST<2:0>の内容と、REGHT<2:0>の内容の和が奇数の場合には、いずれかに近い方の値に繰り上げ、または繰り下げてRESULTT<2:0>を設定する。
【0031】
[図1に示す信号入力回路の動作の説明]
次に、図2および図3に示すタイミングチャートを参照して、図1に示す信号入力回路の動作(自動センタリングの動作)について説明する。
【0032】
(セットアップターゲットTsに対する遅延コードの探知動作についての説明)
最初に、セットアップターゲットTsのタイミングに対する遅延コード(遅延時間)の探知動作について説明する。図2は、セットアップターゲットTsに対する遅延コードの探知動作について説明するための図である。以下、図2(及び図1)を参照して、その動作について説明する。
【0033】
動作モードを設定するため、図示しないMRS(モードレジスタセット)より本テストモード(自動センタリングモード)にエントリすると、時刻t1において、モード信号Aが活性(Hレベル)となる。モード信号AがHレベルになると、内部クロック信号INTCLKにより、バイナリカウンタ21がカウント動作を始める。バイナリカウンタ21は、時刻t2’以降、内部クロック信号INTCLKの立上がりエッジu1,u2,u3,…,u8によりカウントアップ動作を行う。そして、バイナリカウンタ21のカウント値の信号CONTT<3:0>が、#0から#7へと増加して行く。
【0034】
なお、数値の前に付された符号#は、16進数を表わし、バイナリカウンタ21が出力するカウント値の信号CONTT<3:0>、遅延コード選択回路22が出力する遅延コードCODET<2:0>、レジスタS25が出力する信号REGST<2:0>、レジスタH26が出力する信号REGHT<2:0>、および演算回路27が出力する信号RESULTT<2:0>が示す値を16進数により示している。
【0035】
そして、モード信号AがHレベルとなった後の8サイクルの間、センタリングを行うパッド11にセットアップターゲットTsのタイミングで1ショットパルス(ADD/CMD信号)を入力する。
【0036】
遅延回路13は、このADD/CMD信号が入力され、遅延された信号PA0Bを出力する。図に示すように、遅延回路13は、ADD/CMD信号を遅延するとともに、論理が反転した信号PA0Bを出力する。すなわち、データ信号ADD/CMDがHレベルのとき、信号PA0BはLレベルとなり、データ信号ADD/CMDがLレベルのとき、信号PA0BはHレベルとなる。また、図において、矢付線(破線)Dが遅延回路13による遅延部分を示し、符号D7〜D0で示す時間が、各遅延コード(CODET<2:0>=#7〜#0)に対応する遅延時間となる。
【0037】
この場合、信号PA0Bの遅延時間は、バイナリカウンタ21のカウント値(CONTT<3:0>)が増加するにつれて、D7,D6,…、D0へと次第に減少して行く。すなわち、モード信号AがHレベルとなった後の8サイクルの間(時刻t1〜t3’の間)、バイナリカウンタ21のカウント値の最上位ビットCONTT<3>はLレベルである(カウント値が#0〜#7であるため)。このため、遅延コード選択回路の出力CODET<2:0>は、「CODET<2:0>=/CONTT<2:0>」となり、信号CONTT<3:0>が、#0から#7へとカウントアップするにつれて、信号CODET<2:0>は、#7〜#0へとカウントダウンされた信号となる。
【0038】
これにより、信号CODET<2:0>を入力とする遅延回路13で生成される信号PA0Bの遅延時間が、遅延時間D7〜遅延時間D0へと次第に減少して行くことになる。また、この信号PA0Bは、タイミング調整回路23により、タイミング調整された信号PA0DBとして出力される。なお、信号CONTT<3>がLレベルである間は、レジスタS25が選択される。
【0039】
そして、ラッチ回路14では、この信号PA0BのHレベルの信号を、内部クロック信号INTCLKの立ち下がりエッジf1,f2,f3,…,fnによりラッチしようとする。しかし、内部クロック信号INTCLKの立下りエッジf1,f2,f3のタイミングにおいては、信号PA0Bの遅延が大きすぎてHレベルをラッチすることができず、立下りエッジf4以降のタイミングにおいて、信号PA0BのHレベルのラッチが可能になる。
【0040】
このため、時刻taにおいて、信号PA0BのHレベルがラッチ回路14にラッチされ、信号PA2BがLレベルからHレベルに遷移する。また、この時のバイナリカウンタ21のカウント値は#4(遅延コード)となる。従って、セットアップターゲットTsに対して許容できる最大の遅延時間は、遅延時間D4であることが分かり、遅延回路13の遅延時間(遅延コード)は、遅延時間D4(遅延コード#4)以下でなければならないと判定できる。
【0041】
一方、判定回路24では、信号PA2Bと信号PA0DBとを比較し、一致する場合には、Lレベルの信号JDGTを出力し、不一致の場合は、Hレベルの信号JDGTを出力する。
【0042】
また、信号CONTT<3>がLレベルであるため、レジスタS25が活性化されており、レジスタS25においては、内部クロック信号INTCLKの立ち上がりエッジu1,u2,u3,…,u8で、信号JDGTをラッチする。このレジスタS25では、信号JDGTのラッチ結果がHレベルからLレベル(H→L)に切り替る際の遅延コードCODET<2:0>をレジスタS25内に保持する。
【0043】
図2に示す例では、時刻t3(立上りエッジu4)において、信号JDGTのラッチ結果がHレベルからLレベル(H→L)に切り替ることが検出され、信号CODET<2:0>の出力値#4がレジスタS25に保持される(図の矢付線aを参照)。レジスタS25は、保持した値#4を信号RESUST<2:0>として、演算回路27に出力する。なお、時刻t3において、レジスタH26の出力信号REGHT<2:0>の値は#0であるため、演算回路27の出力信号RESULT<2:0>は、#2(4の1/2)となる。
【0044】
上述した処理動作により、セットアップターゲットTsに対する最長の遅延時間に相当する遅延コード(CODET<2:0>)が、数値#4であることが判定される。これにより、遅延回路13における遅延コードが#4以下、すなわち、遅延時間D4以下でなければならないことが分かる。
【0045】
(ホールドターゲットThに対する遅延コードの探知動作についての説明)
続いて、図3を参照して、ホールドターゲットThに対する遅延コード(遅延時間)の探知動作について説明する。なお、図3に示すタイミングチャートは、図2に示すタイミングチャートに引き続く部分を示している。
【0046】
図3に示す、時刻t4以降の9サイクル目からは、内部クロック信号INTCLKにより、バイナリカウンタ21のカウント値の信号CONTT<3:0>が、内部クロック信号INTCLKの立ち上がりエッジu9,u10,u11,…,u16により、#8から#9,#A,#B,…,#Fへと増加して行く。また、パッド11に、ホールドターゲットThとなるタイミングでの1ショットパルス(ADD/CMD信号)が入力される。
【0047】
遅延回路13は、このADD/CMD信号が入力され、遅延された信号PA0Bを出力する。図に示すように、遅延回路13は、ADD/CMD信号を遅延するとともに、論理が反転した信号PA0Bを出力する。図において、矢付線(破線)Dが遅延回路13による遅延部分を示し、また、符号D0〜D7で示す遅延時間が、各遅延コード(CODET<2:0>=#0〜#7)に対応する遅延時間となる。この場合、信号PA0Bの遅延時間は、バイナリカウンタ21のカウント値が増加するにつれて、D0,D1,…、D7へと次第に増加して行く。
【0048】
一方、モード信号AがHレベルとなった後の9サイクル目以降(時刻t4以降)、バイナリカウンタ21のカウント値の最上位ビットCONTT<3>はHレベルである(カウント値が#8〜#Fであるため)。このため、遅延コード選択回路の出力CODET<2:0>は、「CODET<2:0>=CONTT<2:0>」となり、かつレジスタH26が選択される。
【0049】
従って、信号CONTT<3:0>が、#8から#Fへとカウントアップするにつれて、遅延コードCODET<2:0>は、#0〜#7へとカウントアップされた信号となる。これにより、信号CODET<2:0>を入力とする遅延回路13で生成される信号PA0Bは、遅延時間D0〜遅延時間D7へと次第に遅延時間が増加して行くことになる。また、この信号PA0Bは、タイミング調整回路23により、タイミング調整された信号PA0DBとして出力される。
【0050】
そして、ラッチ回路14では、この信号PA0BのHレベルの信号を、内部クロック信号INTCLKの立ち下がりエッジf9,f10,f11,…,f16によりラッチしようとする。しかし、内部クロック信号INTCLKの立下りエッジf9,f10のタイミングにおいては、信号PA0Bの遅延量が少なくHレベルをラッチすることができない。そして、時刻t4’において、立下りエッジf11により信号PA0BのHレベルのラッチが可能になる。
【0051】
このため、時刻t4’において、信号PA0BのHレベルがラッチ回路14にラッチされ、信号PA2BがLレベルからHレベルに遷移する(図の矢付線aを参照)。そして、この時の遅延コードCODET<2:0>は数値#2となる。従って、ホールドターゲットThに対して許容できる最短の遅延時間は、遅延時間D2であることが分かり、遅延回路13の遅延時間は、遅延時間D2以上でなければならないと判定できる。すなわち、遅延コードは#2以上でなければならない。
【0052】
一方、判定回路24では、信号PA2Bと信号PA0DBとを比較し、一致する場合には、Lレベルの信号JDGTを出力し、不一致の場合は、Hレベルの信号JDGTを出力する。
【0053】
また、信号CONTT<3>がHレベルであるため、レジスタH26が活性化されており、レジスタH26において、内部クロック信号INTCLKの立ち上がりエッジu9,u10,u11,…,u16で、信号JDGTをラッチする。このレジスタH26では、この信号JDGTのラッチ結果がHレベルからLレベル(H→L)に切り替る際の遅延コードCODET<2:0>をレジスタH26内に保持する。図3に示す例では、時刻t5において、立上りエッジu11により、信号JDGTのラッチ結果がHレベルからLレベル(H→L)に切り替ることが検出され、信号CODET<2:0>の値#2がレジスタH26に保持される。
【0054】
上述した処理により、ホールドターゲットThに対する最小の遅延時間に相当する遅延コード(CODET<2:0>)が、数値2であることが判定される。これにより、遅延回路13における遅延コードが#2以上、すなわち、遅延時間D2以上でなければならないことが分かる。
【0055】
この時、演算回路27の出力RESULTT<2:0>には、REGST<2:0>(値#4)とREGHT<2:0>(値#2)の中間値となる#3(<0,1,1>)が出力される。なお、REGST<2:0>の内容と、REGHT<2:0>の内容の和が奇数の場合には、いずれかに近い方の値に繰り上げ、または繰り下げてRESULTT<2:0>を設定する。例えば、REGST<2:0>が値#4で、REGHT<2:0>が値#3となる場合、中間値をREGST<2:0>に近い方へ繰り上げて、RESULTT<2:0>を#4とする。
【0056】
その後、テストモードエントリから16サイクル後の時刻t6において、バイナリカウンタ21のカウント値の最上位ビットCONTT<3>がHレベルからLレベルに遷移するのを受けてモード信号Aがリセットされる。この際に、遅延コード選択回路22は、演算回路27から出力される信号RESULTT<2:0>(この例では、#3)を入力とし、この信号RESULTT<2:0>を保持して、遅延コード選択回路22に出力する。すなわち、時刻t6において、遅延コード選択回路22から、出力信号CODET<2:0>として、#3が遅延回路13に出力される。
【0057】
遅延回路13は、時刻t6以降において(テストモードから抜け出た後)、最適な遅延コードが設定される。信号入力回路は、図1に符号1で示す正規パスの回路の構成部分において、データ信号ADD/CMDがパッド11に入力されると、遅延回路13によりデータ信号ADD/CMDを遅延した後、ラッチ回路14でデータをラッチし、正規パスの信号を対応する内部回路へ出力する。
【0058】
以上説明したように、本発明の半導体装置においては、テスト対象となる半導体装置の動作条件下にて、ターゲットなるデータ信号を入力して、セットアップ及びホールドの自動センタリングを行うことができる。
【0059】
なお、上述した実施形態では、半導体装置の各パッド毎にセットアップ及びホールドのセンタリング(遅延コードの自動設定)を行う例について説明したが、これに限定されない。例えば、アドレス信号等の信号入力回路は、通常の場合、各入力信号(ビット単位の信号)に対して共通の回路構成(共通の回路特性)を有していることが多い。このため、1つのパッドに対してセンタリング(遅延コードの決定)を行い、他のパッドに繋がる遅延回路に対しても共通の遅延コードを設定する構成とすることもできる。
【0060】
また、上述した実施形態においては、バイナリカウンタ21を4ビットのカウンタとし、セットアップ及びホールドのそれぞれに対する遅延コードの探知のために、それぞれ8サイクルのADD/CMD信号を入力する例について説明したが、これに限定されない。例えば、3ビットのバイナリカウンタを使用して、セットアップ及びホールドのそれぞれに対する遅延コードの探知のために、それぞれ4サイクルのADD/CMD信号を入力する構成とすることができる。また、5ビットのバイナリカウンタを使用して、それぞれ16サイクルのADD/CMD信号を入力する構成とすることもできる。
【0061】
以上、本発明の実施形態について説明したが、ここで、本実施形態と本発明との対応関係について補足して説明しておく。
【0062】
本発明における遅延回路は、図1に示す遅延回路13が相当し、ラッチ回路はラッチ回路14が相当し、判定回路は判定回路24が相当し、カウンタはバイナリカウンタ21が相当する。また、本発明における第1のレジスタは、レジスタS25が相当し、第2のレジスタは、レジスタH26が相当する。また、本発明におけるデータ信号はADD/CMD信号が相当し、第1のタイミング信号は、図2に示すセットアップターゲットTsの信号が相当し、第2のタイミング信号は、図3に示すホールドターゲットThの信号が相当する。
【0063】
また、本発明における遅延された信号は、遅延信号PA0Bが相当する(但し、判定回路24で比較される場合は信号PA0DBが相当する)。また、本発明における遅延コードは遅延コードCODET<2:0>が相当する。また、本発明におけるカウント値はカウント値CONTT<3:0>が相当する。また、本発明におけるラッチされた信号は、信号PA1Bをモード信号Aにより取り出した信号PA2Bが相当する。また、本発明における内部クロック信号は、内部クロック信号INTCLKが相当する。
【0064】
そして、本実施形態においては、データ信号ADD/CMDを遅延コードCODET<2:0>により可変に遅延させ、遅延された信号をラッチすると共に、遅延された信号PA0DBとラッチされたデータ信号PA2Bとの一致または不一致を判定し、一致すると判定した場合に、該判定結果に基いて遅延コードを決定し、決定後の遅延コードにより遅延回路13が動作する。
この構成によれば、ターゲットとなるデータ信号ADD/CMDを遅延回路13に入力するとともに、遅延回路13の遅延コードを変えて遅延時間を変化させる。そして、遅延された信号をラッチし、遅延された信号PA0DBとラッチされたデータ信号PA2Bとの一致または不一致を判定し、この判定結果に基いて、最適な遅延コード(遅延時間)を決定する。
これにより、半導体装置の実際の動作条件下において、遅延回路13における最適な遅延時間(遅延コード)を自動で設定することができる。
【0065】
また、上記実施形態においては、入力されるデータ信号ADD/CMDを遅延コードCODET<2:0>に従い可変に遅延させる遅延回路13と、遅延回路13により遅延された信号をラッチするラッチ回路14と、遅延された信号PA0DBとラッチ回路14にラッチされたデータ信号PA2Bとの一致または不一致を判定する判定回路24と、を備え、判定回路24において一致すると判定された場合に、該判定結果に基いて遅延コードを決定し、決定後の遅延コードにより遅延回路13が動作する。
この構成によれば、ターゲットとなるデータ信号ADD/CMDを遅延回路13に入力するとともに、遅延回路13の遅延コードを変えて遅延時間を変化させる。そして、遅延された信号をラッチ回路14によりラッチし、判定回路24により、遅延された信号PA0DBとラッチされたデータ信号PA2Bとの一致または不一致を判定し、この判定結果に基いて、最適な遅延コード(遅延時間)を決定する。
これにより、判定回路24により、遅延された信号PA0DBとラッチされたデータ信号PA2Bとの一致または不一致を判定することにより、最適な遅延コード(遅延時間)を決定することができる。このため、遅延回路13における最適な遅延時間(遅延コード)を自動で設定することができる。
【0066】
また、上記実施形態においては、遅延コードCODET<2:0>を、データ信号ADD/CMDのセットアップ時間及びホールド時間のそれぞれに対応させて生成する遅延コード選択回路22と、判定回路24の判定結果を基に、セットアップ時間に対応して決定される遅延コードを保持するレジスタS25と、判定回路24の判定結果を基に、ホールド時間に対応して決定される遅延コードを保持するレジスタH26と、レジスタS25及びレジスタH26に保持された遅延コードの中間値を演算して、遅延回路13で用いる遅延コードを決定する演算回路27と、をさらに備える。
この構成によれば、遅延コード選択回路22が、遅延コードコードCODET<2:0>を、データ信号ADD/CMD信号のセットアップ時間及びホールド時間のそれぞれに対応して生成する。そして、判定回路24の判定結果を基に、セットアップ時間に対応する(最大の)遅延コードをレジスタS25に保持し、ホールド時間に対応する(最小の)遅延コードをレジスタH26に保持する。そして、演算回路27が、レジスタS25及びレジスタH26に保持された遅延コードの中間値を演算して、遅延回路13で用いる遅延コードを決定する。
これにより、セットアップ及びホールド時間のそれぞれに対応する限界となる遅延コードを探知し、双方の遅延コードを基にして最適な遅延コード(遅延時間)を決定することができる。このため、遅延回路13における最適な遅延時間(遅延コード)を自動で設定することができる。
【0067】
また、上記実施形態においては、セットアップ時間に対応する遅延コードを決定するためのセットアップターゲットTsの信号と、ホールド時間に対応する遅延コードを決定するためのホールドターゲットThの信号とが選択的に入力されるように構成され、内部クロック信号INTCLKによりカウント動作を行うバイナリカウンタ21と、セットアップターゲットTsおよびホールドターゲットThの信号を遅延コードに応じて遅延させた遅延信号PA0Bを生成する遅延回路13と、バイナリカウンタ21のカウント値CONTT<3:0>の信号を入力とし、該カウント値に応じて、セットアップターゲットTsの信号が入力される場合には遅延コードを順次に減少させ、ホールドターゲットThの信号が入力される場合には遅延コードを順次に増加させ、該遅延コードを遅延回路13に出力する遅延コード選択回路22と、遅延信号を内部クロック信号により取り込むラッチ回路14と、ラッチ回路14によりラッチされた信号PA2Bと遅延信号PA0DBとの一致または不一致を判定する判定回路24と、セットアップターゲットTsの信号を入力して、遅延信号PA0Bの遅延時間を順次に減少させる場合において、判定回路24において一致が検出されたときに、このときの遅延コードを保持するレジスタS25と、ホールドターゲットThの信号を入力して、遅延信号PA0Bの遅延時間を順次に増加させる場合において、判定回路24において一致が検出されたときに、このときの遅延コードを保持するレジスタH26と、レジスタS25及びレジスタH26のレジスタの保持内容に対して、和の1/2を演算結果として出力する演算回路27と、を備える。
【0068】
この構成によれば、セットアップターゲットとなる信号(セットアップターゲットTs)と、ホールドターゲットとなる信号(ホールドターゲットTh)とを、選択して入力する。また、遅延コード選択回路22は、バイナリカウンタ21のカウント値CONTT<3:0>に応じて、セットアップターゲットTsの信号が入力される場合には遅延コードを順次に減少させ、ホールドターゲットThの信号が入力される場合には遅延コードを順次に増加させて遅延回路13に出力する。そして、セットアップターゲットTsの信号を入力して、遅延信号PA0Bの遅延時間を順次に減少させる場合において、判定回路24において一致が検出されたときに、このときの遅延コードをレジスタS25に保持する。また、ホールドターゲットThの信号を入力して、遅延信号PA0Bの遅延時間を順次に増加させる場合において、判定回路24において一致が検出されたときに、このときの遅延コードをレジスタH26に保持する。そして、演算回路27は、レジスタS25及びレジスタH26の保持内容に対して、和の1/2を演算結果として出力する。
これにより、セットアップ及びホールドのそれぞれの遅延時間の限界値を探知し、双方の中間値をセンタリングの最適解として導き出すことができる。このため、半導体装置の実際の動作条件下において、遅延回路における最適な遅延時間を自動で設定することができる。
【0069】
以上、本発明の実施の形態について説明したが、本発明の半導体装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【0070】
11…パッド、12…入力初段回路、13…遅延回路、14…ラッチ回路、21…バイナリカウンタ、22…遅延コード選択回路、23…タイミング調整回路、24…判定回路、S25…レジスタ、H26…レジスタ、27…演算回路、NAND1…ナンド回路、NOR1…ノア回路、INV1,INV2,INV3…インバータ回路

【特許請求の範囲】
【請求項1】
データ信号を遅延コードにより可変に遅延させ、遅延された信号をラッチすると共に、遅延された信号とラッチされたデータ信号との一致または不一致を判定し、一致すると判定した場合に、該判定結果に基いて遅延コードを決定し、決定後の遅延コードにより遅延回路が動作する半導体装置。
【請求項2】
入力されるデータ信号を遅延コードに従い可変に遅延させる遅延回路と、
前記遅延回路により遅延された信号をラッチするラッチ回路と、
前記遅延された信号と前記ラッチ回路にラッチされたデータとの一致または不一致を判定する判定回路と、
を備え、
前記判定回路において一致すると判定された場合に、該判定結果に基いて遅延コードを決定し、決定後の遅延コードにより前記遅延回路が動作する
ことを特徴とする請求項1に記載の半導体装置。
【請求項3】
前記遅延コードを、前記データ信号のセットアップ時間及びホールド時間のそれぞれに対応させて生成する遅延コード選択回路と、
前記判定回路の判定結果を基に、前記セットアップ時間に対応して決定される遅延コードを保持する第1のレジスタと、
前記判定回路の判定結果を基に、前記ホールド時間に対応して決定される遅延コードを保持する第2のレジスタと、
前記第1および第2のレジスタに保持された遅延コードの中間値を演算して、遅延回路で用いる遅延コードを決定する演算回路と、
をさらに備えることを特徴とする請求項2に記載の半導体装置。
【請求項4】
セットアップ時間に対応する遅延コードを決定するための第1のタイミング信号と、ホールド時間に対応する遅延コードを決定するための第2のタイミング信号とが選択的に入力されるように構成され、
内部クロック信号によりカウント動作を行うカウンタと、
前記タイミング信号を前記遅延コードに応じて遅延させた遅延信号を生成する遅延回路と、
前記カウンタのカウント値の信号を入力とし、該カウント値に応じて、前記第1のタイミング信号が入力される場合には前記遅延コードを順次に減少させ、前記第2のタイミング信号が入力される場合には前記遅延コードを順次に増加させ、該遅延コードを前記遅延回路に出力する遅延コード選択回路と、
前記遅延信号を前記内部クロック信号により取り込むラッチ回路と、
前記ラッチ回路によりラッチされた信号と前記遅延信号との一致または不一致を判定する判定回路と、
前記第1のタイミング信号を入力して、前記遅延信号の遅延時間を順次に減少させる場合において、前記判定回路において一致が検出されたときに、このときの遅延コードを保持する第1のレジスタと、
前記第2のタイミング信号を入力して、前記遅延信号の遅延時間を順次に増加させる場合において、前記判定回路において一致が検出されたときに、このときの遅延コードを保持する第2のレジスタと、
前記第1のレジスタ及び第2のレジスタの保持内容に対して、和の1/2を演算結果として出力する演算回路と、
を備えることを特徴とする請求項1に記載の半導体装置。
【請求項5】
データ信号のセットアップ及びホールド時間を調整する遅延回路における遅延コードの自動設定方法であって、
セットアップ時間に対応する遅延回路の遅延コードを決定するための第1のタイミング信号と、ホールド時間に対応する遅延コードを決定するための第2のタイミング信号とを選択的に入力し、
前記第1及び第2のタイミング信号に対して前記遅延コードを変化させ、内部でラッチが可能となるそれぞれの遅延コードの限界値を決定し、
前記第1のタイミング信号に対して決定される遅延コードと、前記第2のタイミング信号に対して決定される遅延コードの双方の中間値を最適な遅延コードとして遅延回路の遅延時間を設定する
ことを特徴とする遅延回路の遅延コード自動設定方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2011−97255(P2011−97255A)
【公開日】平成23年5月12日(2011.5.12)
【国際特許分類】
【出願番号】特願2009−247825(P2009−247825)
【出願日】平成21年10月28日(2009.10.28)
【出願人】(500174247)エルピーダメモリ株式会社 (2,599)
【Fターム(参考)】