JP2012058997A - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP2012058997A
JP2012058997A JP2010201317A JP2010201317A JP2012058997A JP 2012058997 A JP2012058997 A JP 2012058997A JP 2010201317 A JP2010201317 A JP 2010201317A JP 2010201317 A JP2010201317 A JP 2010201317A JP 2012058997 A JP2012058997 A JP 2012058997A
Authority
JP
Japan
Prior art keywords
test
data
write
circuit
delay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2010201317A
Other languages
English (en)
Inventor
Taichi Toyoshima
嶋 太 一 豊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2010201317A priority Critical patent/JP2012058997A/ja
Publication of JP2012058997A publication Critical patent/JP2012058997A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

【課題】信号の位相差の調整又はテストを高精度且つ簡略に行える半導体集積回路を提供する。
【解決手段】半導体集積回路は、書き込みストローブ生成回路、書き込みストローブ遅延回路、書き込み用遅延回路、出力データ生成回路、データ入力回路、及び、入力データ比較回路を備える。前記書き込み用遅延回路は複数の書き込みテストクロック信号を生成する。前記出力データ生成回路は、対応する前記書き込みテストクロック信号にそれぞれ同期した複数のテスト出力データを生成する。前記データ入力回路は、前記複数のテスト出力データと前記テスト書き込み用ストローブ信号とに基づいて前記メモリに書き込まれた複数のテスト書き込みデータを並列に入力する。前記入力データ比較回路は、入力された前記複数のテスト書き込みデータと前記複数のテスト出力データとの対応するもの同士を比較して、一致した前記テスト出力データを特定する。
【選択図】図1

Description

本発明の実施形態は、半導体集積回路に関する。
メモリコントローラとメモリ(例えば、DDR−SDRAM(Double Data Rate − Synchronous Dynamic Random Access Memory)など)は、ボード上やパッケージ内に複数のデバイスとして実装されている。メモリコントローラとメモリは、メモリI/FなどのパラレルI/Oを介して接続されている。メモリコントローラは、このパラレルI/Oを用いて、データ及びデータストローブ信号を、メモリに出力すると共にメモリから入力している。
このようなメモリがデータを高速に書き込み/読み出し出来るようにするため、データとデータストローブ信号との位相差をメモリコントローラ側で正確に調整する必要がある。
また、製品の出荷テストにおいては、正しく書き込み/読み出しが行える、データとデータストローブ信号との位相差の範囲を検出する必要がある。
しかしながら、信号の位相差の調整又はテストを高精度に行うには、複雑な回路や処理が必要であった。
特開2008−71018号公報
本発明の目的は、信号の位相差の調整又はテストを高精度且つ簡略に行える半導体集積回路を提供することにある。
実施形態によれば、半導体集積回路は、書き込みストローブ生成回路と、書き込みストローブ遅延回路と、書き込み用遅延回路と、出力データ生成回路と、データ入力回路と、入力データ比較回路と、を備える。前記半導体集積回路は、書き込み用ストローブ信号に同期してデータを書き込むメモリに接続可能である。前記書き込みストローブ生成回路は、基準書き込みストローブ信号を生成する。前記書き込みストローブ遅延回路は、前記基準書き込みストローブ信号をテスト書き込み用遅延時間だけ遅延したテスト書き込み用ストローブ信号を生成する。前記書き込み用遅延回路は、前記基準書き込みストローブ信号を遅延させ、前記基準書き込みストローブ信号に対して少なくとも2種類の遅延時間を有する複数の書き込みテストクロック信号を生成する。前記出力データ生成回路は、対応する前記書き込みテストクロック信号にそれぞれ同期した複数のテスト出力データを生成する。前記データ入力回路は、前記複数のテスト出力データと前記テスト書き込み用ストローブ信号とに基づいて前記メモリに書き込まれた複数のテスト書き込みデータを、前記メモリから並列に入力する。前記入力データ比較回路は、入力された前記複数のテスト書き込みデータと、前記複数のテスト出力データと、の対応するもの同士を比較して、一致した前記テスト出力データを特定する。
第1の実施形態に係るメモリコントローラ側LSIとメモリとを示すブロック図である。 第1の実施形態に係るテスト出力データを示すタイミング図である。 第1の実施形態に係るテスト出力データとデータストローブ信号とを示すタイミング図である。 第1の実施形態に係る読み出しテストクロック信号を示すタイミング図である。 第1の実施形態に係る読み出しテストクロック信号と入力データとを示すタイミング図である。 第2の実施形態に係るメモリコントローラ側LSIとメモリとを示すブロック図である。
以下に、図面を参照して本発明の実施形態について説明する。これらの実施形態は、本発明を限定するものではない。
(第1の実施形態)
本実施形態は、様々な遅延量で遅延した複数のデータを並列にメモリに出力すると共に、メモリからの複数のデータを様々な遅延量のクロック信号に同期して並列に入力することを、特徴の1つとする。
図1は、第1の実施形態に係るメモリコントローラ側LSIとメモリとを示すブロック図である。
同図に示すように、メモリコントローラ側LSI1(半導体集積回路)と、メモリ2とが、n(nは2以上の整数)ビットのパラレルI/O40で接続されている。メモリコントローラ側LSI1は、このパラレルI/O40を介して、データストローブ信号DQSとデータDQ1〜DQnとを、メモリ2に出力すると共にメモリ2から入力している。メモリ2は、例えば、本実施形態ではDDR−SDRAMとする。つまり、メモリ2は、書き込み用データストローブ信号に同期してデータを書き込むと共に、読み出し用データストローブ信号と、読み出し用データストローブ信号に同期したデータと、を出力する。本明細書では、説明を明確化するため1ビットのみのデータストローブ信号DQSを示しているが、複数ビットのデータストローブ信号DQSを用いることもできる。
メモリコントローラ側LSI1は、メモリコントローラ3と、書き込みストローブ生成回路4aと、書き込みストローブ遅延回路4bと、読み出しストローブ遅延回路5と、遅延回路6と、パターン発生器7と、入力データ比較回路8と、n個のフリップフロップ9〜12と、n個のフリップフロップ23〜26と、n−1個のマルチプレクサ13〜15と、n個のマルチプレクサ19〜22と、n−1個のマルチプレクサ27〜29と、直列に接続されたn−1個の遅延素子16〜18と、直列に接続されたn−1個の遅延素子30〜32と、n個のI/Oバッファ33〜37と、遅延調整回路38と、レジスタ39と、を備える。
遅延回路6と、遅延素子30〜32とは、書き込み用遅延回路50aとして機能する。読み出しストローブ遅延回路5と、遅延素子16〜18とは、読み出し用遅延回路50bとして機能する。パターン発生器7と、フリップフロップ23〜26とは、出力データ生成回路60として機能する。フリップフロップ9〜12は、データ入力回路70として機能する。
ここでは、各遅延素子16〜18,30〜32の遅延時間は等しいとする。
なお、本実施形態ではメモリ2がDDR−SDRAMである一例について説明していることから、フリップフロップ9〜12、23〜26はクロック信号の立ち上がりと立ち下がりの両エッジでデータを取り込むものとする。
次に、メモリコントローラ側LSI1の動作を、(1)書き込みモード時に遅延を付加する場合、(2)読み出しモード時に遅延を付加する場合、(3)書き込みモード時及び読み出しモード時に遅延を付加する場合について説明する。これらの動作は、ソフトウェアに基づいて、図示しない制御部がレジスタ39を介して各部を制御することで行われる。
(1)書き込みモード時に遅延を付加する場合
(1−1)テスト書き込み
書き込みストローブ生成回路4aは、基準書き込みストローブ信号Rを発生する。
書き込み用遅延回路50aは、次の様に動作する。遅延回路6は、基準書き込みストローブ信号Rを遅延して第1の書き込みテストクロック信号を出力する。第1の書き込みテストクロック信号は、次段の遅延素子(図示せず)に入力される。遅延素子30は、前段の遅延素子(図示せず)からの第(n−3)の書き込みテストクロック信号を遅延して第(n−2)の書き込みテストクロック信号を出力する。遅延素子31は、第(n−2)の書き込みテストクロック信号を遅延して第(n−1)の書き込みテストクロック信号を出力する。遅延素子32は、第(n−1)の書き込みテストクロック信号を遅延して第nの書き込みテストクロック信号を出力する。本実施形態では、第1〜第nの書き込みテストクロック信号は、基準書き込みストローブ信号Rと比較して任意の遅延時間をそれぞれ持っている。
つまり、書き込み用遅延回路50aは、基準書き込みストローブ信号Rを遅延して、複数の書き込みテストクロック信号の全てが異なる遅延時間を有するように生成してもよいが、少なくとも2つの書き込みテストクロック信号の遅延時間が異なるように生成すればよい。
ここで、遅延回路6は書き込みテストクロック信号の遅延時間を粗調整し、遅延素子30〜32は書き込みテストクロック信号の遅延時間を微調整するように機能する。遅延素子30〜32による遅延のみで所望の遅延時間が得られる場合、遅延回路6の遅延時間を無くすように設定しても良い。
第1の書き込みテストクロック信号は、フリップフロップ23のクロック入力端子に入力される。第(n−2)〜第nの書き込みテストクロック信号は、それぞれ、レジスタ39に制御されたマルチプレクサ27〜29を介してフリップフロップ24〜26の各クロック入力端子に入力される。
出力データ生成回路60は、次の様に動作する。パターン発生器7は、レジスタ39の制御により、所定のテストパターンを発生する。このテストパターンは、レジスタ39に制御されたマルチプレクサ19〜22を介して、フリップフロップ23〜26の入力端子に入力される。本実施形態では、テストパターンは「ハイ」と「ロー」を交互に繰り返す信号である。
フリップフロップ23〜26は、それぞれ、入力された第1〜第nの書き込みテストクロック信号の立ち上がりと立ち下がりとでテストパターンを取り込んで、第1から第nのテスト出力データを出力する。本実施形態では、第1〜第nのテスト出力データは、各々任意の遅延時間をそれぞれ持っている。
つまり、出力データ生成回路60は、複数のテスト出力データを、少なくとも2つのテスト出力データの遅延時間が異なるように、各書き込みテストクロック信号に同期して生成し、メモリ2に書き込むために並列に出力する。
各フリップフロップ23〜26からの各第1〜第nのテスト出力データは、I/Oバッファ33〜36を介して、データDQ1〜DQnとしてメモリ2に並列に出力される。以下、テスト書き込み時においては、データDQ1〜DQnはテスト出力データと等価である。
図2は、第1の実施形態に係るテスト出力データを示すタイミング図である。同図に示す様に、データDQn−2〜DQnは、データDQ1に対して所定の遅延時間を持っている。
また、書き込みストローブ遅延回路4bは、基準書き込みストローブ信号Rをテスト書き込み用遅延時間(例えば、位相90度に相当する時間)だけ遅延してテスト書き込み用データストローブ信号を生成し、I/Oバッファ37を介してデータストローブ信号DQSとしてメモリ2に出力する。以下、テスト書き込み時においては、データストローブ信号DQSはテスト書き込み用データストローブ信号を表す。このデータストローブ信号DQSは、データDQ1〜DQnに対して必ずしも90度遅延させる必要はなく、任意の遅延量の設定とすれば良い。というのも、後述する様に、データストローブ信号DQSの位相と、データDQ1〜DQnの位相とは、調整されるからである。
メモリ2は、入力されたデータストローブ信号DQSの立ち上がりと立ち下がりとのタイミングで、データDQ1〜DQnをそれぞれテスト書き込みデータとして書き込む。
(1−2)テスト読み出し
次に、メモリ2は、データストローブ信号DQSと、データDQ1〜DQnと、を出力する。以下、テスト読み出し時においては、データストローブ信号DQSは読み出し用データストローブ信号を表し、データDQ1〜DQnは、上述した(1−1)においてメモリ2に書き込まれたテスト書き込みデータと等価である。データDQ1〜DQnは、データストローブ信号DQSに同期している。つまり、データDQ1〜DQnの変化点で、データストローブ信号DQSも変化する。
メモリ2からのデータストローブ信号DQSは、I/Oバッファ37を介して読み出しストローブ遅延回路5に入力される。読み出しストローブ遅延回路5は、データストローブ信号DQSに対して位相が例えば90度遅れたクロック信号を生成する。このクロック信号はフリップフロップ9のクロック端子にCLK1として入力される。更には、このクロック信号は、レジスタ39に制御されたマルチプレクサ13〜15を介して、フリップフロップ10〜12のクロック端子にクロック信号CLKn−2〜CLKnとして入力される。つまり、ここでは遅延素子16〜18の出力信号は用いられない。
メモリ2からのデータDQ1〜DQnは、それぞれI/Oバッファ33〜36を介してフリップフロップ9〜12の入力端子に入力される。各フリップフロップ9〜12は、各データDQ1〜DQnを、クロック信号CLK1〜CLKnの立ち上がりと立ち下がりのタイミングで入力し、入力されたデータを出力する。
つまり、データ入力回路70は、(1−1)において複数のテスト出力データと書き込み用データストローブ信号とに基づいてメモリ2に書き込まれた複数のテスト書き込みデータを、メモリ2から並列に入力する。
(1−3)比較
次に、フリップフロップ9〜12の出力データ(メモリ2より入力された複数のテスト書き込みデータ)は、入力データ比較回路8に入力される。
入力データ比較回路8は、入力された複数のテスト書き込みデータと、複数のテスト出力データと、の対応するもの同士を比較して、一致したテスト出力データを特定する。
図3は、第1の実施形態に係るテスト出力データとデータストローブ信号とを示すタイミング図である。
図中、黒丸はメモリ2が正しく受け取れなかったデータを表し、白丸はメモリ2が正しく受け取れたデータを表す。ここで、データDQ2,DQn−3,DQn−4は、図1で記載を省略した回路から出力されたデータである。
このように、データDQ1〜DQnは、互いに異なる遅延量を有しているので、データストローブ信号DQSとの位相差に応じて、正しく書き込めるデータDQn−3,DQn−4と、正しく書き込めないデータDQ1,DQ2,DQn−2,DQn−1,DQnと、が存在する。
図3の例では、白丸のみが表示されているデータDQn−3,DQn−4は、同一ビットの対応するテスト出力データと一致するので、パス領域にあると判定される。黒丸のみが表示されているデータDQ1,DQ2,DQn−2,DQn−1,DQnは、同一ビットの対応するテスト出力データと一致しない(反転している)ので、フェイル領域にあると判定される。
(1−4)遅延時間調整
入力データ比較回路8は、特定されたテスト出力データの中から1つを選択する。
例えば、図3の例では、入力データ比較回路8は、(1−3)においてパス領域と判定されたデータDQn−3,DQn−4の中からデータDQn−4を選択して、このデータに対応するビットを特定する。入力データ比較回路8は、例えば、特定された複数のテスト出力データの中から、中央付近のデータを選択しても良い。
遅延調整回路38は、選択されたテスト出力データに対応する書き込みテストクロック信号の遅延時間と、テスト書き込み用遅延時間と、に基づいて、書き込み遅延時間を計算する。つまり、遅延調整回路38は、特定されたビットが何個の遅延素子30〜32に対応するか計算すると共に、計算した遅延素子による遅延時間と遅延回路6の遅延時間との和を、テスト書き込み用遅延時間から減算して、書き込み遅延時間を得る。遅延調整回路38は、計算した書き込み遅延時間を書き込みストローブ遅延回路4bに設定する。
以上の動作で決定された書き込み遅延時間に基づいて、メモリ2への通常の書き込み時には、次の動作が行われる。
書き込みストローブ遅延回路4bは、書き込み時に、基準書き込みストローブ信号Rを書き込み遅延時間だけ遅延して書き込み用データストローブ信号を生成し、I/Oバッファ37を介してデータストローブ信号DQSとしてメモリ2に出力する。
遅延回路6は、書き込み時に、基準書き込みストローブ信号Rを遅延させずに出力する。
マルチプレクサ27〜29は、書き込み時に、レジスタ39の制御により、遅延素子30〜32に接続されていない方の経路を選択し、すなわち遅延回路6からの基準書き込みストローブ信号Rをフリップフロップ23〜26のクロック端子に出力する。
マルチプレクサ19〜22は、書き込み時に、レジスタ39の制御により、パターン発生器7に接続されていない方の経路を選択し、すなわちメモリコントローラ3からの信号をフリップフロップ23〜26に出力する。
フリップフロップ23〜26は、メモリコントローラ3からの信号を基準書き込みストローブ信号Rの立ち上がりと立ち下がりとのタイミングで取り込んで、複数の出力データとして出力する。
各フリップフロップ23〜26からの各出力データは、I/Oバッファ33〜36を介して、データDQ1〜DQnとしてメモリ2に並列に出力される。
つまり、出力データ生成回路60は、書き込み時に、基準書き込みストローブ信号Rに同期して複数の出力データを生成し、メモリ2に並列に出力する。
これにより、1度のデータの書き込み、読み出しによるテストによって、書き込み時に、データストローブ信号DQSとデータDQ1〜DQnとは、適切な位相でメモリ2に出力されるので、メモリ2はデータDQ1〜DQnを適切に書き込みできる。
(2)読み出しモード時に遅延を付加する場合
(2−1)テスト書き込み
書き込みストローブ生成回路4aは、基準ストローブ信号Rを生成する。この基準ストローブ信号Rは、遅延時間無しに設定された遅延回路6と、レジスタ39に制御されたマルチプレクサ27〜29とを介して、フリップフロップ23〜26のクロック端子に入力される。つまり、ここでは遅延素子30〜32の出力信号は用いられない。このフリップフロップ23〜26のクロック端子に入力される信号は、スキュー調整されたものとする。
出力データ生成回路60は、次の様に動作する。パターン発生器7は、レジスタ39の制御により、所定のテストパターンを発生する。このテストパターンは、レジスタ39に制御されたマルチプレクサ19〜22を介して、フリップフロップ23〜26の入力端子に入力される。本実施形態では、テストパターンは「ハイ」と「ロー」を交互に繰り返す信号である。
フリップフロップ23〜26は、それぞれ、クロック端子に入力された信号の立ち上がりと立ち下がりとでテストパターンを取り込んで、第1から第nのテスト出力データを出力する。各フリップフロップ23〜26からの各第1〜第nのテスト出力データは、I/Oバッファ33〜36を介して、データDQ1〜DQnとしてメモリ2に並列に出力される。以下、テスト書き込み時においては、データDQ1〜DQnはテスト出力データと等価である。また、本実施形態においては、データDQ1〜DQnは等しいデータである。
つまり、出力データ生成回路60は、複数のテスト出力データを、メモリ2に書き込むために並列に出力する。
また、書き込みストローブ遅延回路4bは、基準書き込みストローブ信号Rを遅延して書き込み用データストローブ信号を生成し、I/Oバッファ37を介してデータストローブ信号DQSとしてメモリ2に出力する。以下、テスト書き込み時においては、データストローブ信号DQSは書き込み用データストローブ信号を表す。データストローブ信号DQSは、確実にデータDQ1〜DQnを書き込みできるタイミングに設定しておく。
メモリ2は、入力されたデータストローブ信号DQSの立ち上がりと立ち下がりとのタイミングで、データDQ1〜DQnをそれぞれテスト書き込みデータとして書き込む。テスト書き込みデータは、データDQ1〜DQnと等しい。
(2−2)テスト読み出し
メモリ2は、データストローブ信号DQSと、データストローブ信号DQSに同期したデータDQ1〜DQnと、を出力する。以下、テスト読み出し時においては、データストローブ信号DQSは読み出し用データストローブ信号を表し、データDQ1〜DQnは、上述した(2−1)においてメモリ2に書き込まれたテスト書き込みデータと等価である。
読み出し用遅延回路50bは、次の様に動作する。読み出しストローブ遅延回路5は、メモリ2から出力されたデータストローブ信号DQSを遅延して第1の読み出しテストクロック信号を出力する。第1の読み出しテストクロック信号は、次段の遅延素子(図示せず)に入力される。遅延素子16は、前段の遅延素子(図示せず)からの第(n−3)の読み出しテストクロック信号を遅延して第(n−2)の読み出しテストクロック信号を出力する。遅延素子17は、第(n−2)の読み出しテストクロック信号を遅延して第(n−1)の読み出しテストクロック信号を出力する。遅延素子18は、第(n−1)の読み出しテストクロック信号を遅延して第nの読み出しテストクロック信号を出力する。本実施形態では、第1〜第nの読み出しテストクロック信号は、データストローブ信号DQSと比較して任意の遅延時間をそれぞれ持っている。
つまり、読み出し用遅延回路50bは、データストローブ信号DQSを遅延して、複数の読み出しテストクロック信号の全てが異なる遅延時間を有するように生成してもよいが、少なくとも2つの読み出しテストクロック信号の遅延時間が異なるように生成すればよい。
第1の読み出しテストクロック信号は、クロック信号CLK1としてフリップフロップ9のクロック入力端子に入力される。第(n−2)〜第nの読み出しテストクロック信号は、それぞれ、レジスタ39に制御されたマルチプレクサ13〜15を介してクロック信号CLKn−2〜CLKnとしてフリップフロップ10〜12の各クロック入力端子に入力される。
図4は、第1の実施形態に係る読み出しテストクロック信号を示すタイミング図である。同図に示す様に、クロック信号CLKn−2〜CLKnは、クロック信号CLK1に対して所定の遅延時間を持っている。
メモリ2からのデータDQ1〜DQnは、それぞれI/Oバッファ33〜36を介してフリップフロップ9〜12の入力端子に入力される。各フリップフロップ9〜12は、各データDQ1〜DQnを、各クロック信号CLK1〜CLKnの立ち上がりと立ち下がりのタイミングで入力し、入力されたデータを出力する。
つまり、データ入力回路70は、メモリ2から出力された、メモリ2に書き込まれた複数のテスト書き込みデータを、対応する読み出しテストクロック信号に同期して複数のテスト入力データとしてメモリ2から並列に入力する。
(2−3)比較
入力データ比較回路8は、データ入力回路70からの複数のテスト入力データと、出力データ生成回路60が(2−1)で出力した複数のテスト出力データと、の対応するもの同士を比較して、一致したテスト入力データを特定する。
図5は、第1の実施形態に係る読み出しテストクロック信号と入力データとを示すタイミング図である。
図中、黒丸はデータ入力回路70がデータを正しく受け取れなかったタイミングを表し、白丸はデータ入力回路70がデータを正しく受け取れたタイミングを表す。ここで、クロック信号CLK2,CLKn−3,CLKn−4は、図1で記載を省略した回路に入力されたクロック信号である。
このように、クロック信号CLK1〜CLKnは、互いに異なる遅延量を有しているので、データDQ1〜DQnとの位相に応じて、データ入力回路70が正しく入力できるデータと、正しく入力できないデータとが存在する。
図5の例では、白丸のみが表示されているクロック信号CLKn−3,CLKn−4により入力されたデータDQn−3,DQn−4は、同一ビットの対応するテスト出力データと一致するので、パス領域にあると判定される。黒丸のみが表示されているクロック信号CLK1,CLK2,CLKn−2,CLKn−1,CLKnにより入力されたデータDQ1,DQ2,DQn−2,DQn−1,DQnは、同一ビットの対応するテスト出力データと一致しない(反転している)ので、フェイル領域にあると判定される。
(2−4)遅延時間調整
入力データ比較回路8は、特定されたテスト入力データの中から1つを選択する。
例えば、図5の例では、入力データ比較回路8は、(2−3)においてパス領域と判定された、クロック信号CLKn−3,CLKn−4により入力されたデータDQn−3,DQn−4の中からデータDQn−4を選択して、このデータに対応するビットを特定する。入力データ比較回路8は、例えば、特定された複数のテスト入力データの中から、中央付近のデータを選択しても良い。
遅延調整回路38は、選択されたテスト入力データに対応する読み出しテストクロック信号の遅延時間を、読み出し遅延時間として計算する。つまり、特定されたビットが何個の遅延素子16〜18に対応するか計算する。遅延調整回路38は、計算した読み出し遅延時間を読み出しストローブ遅延回路5に設定する。
以上の動作で決定された読み出し遅延時間に基づいて、メモリ2からの通常の読み出し時には、次の動作が行われる。
読み出し用遅延回路50bの読み出しストローブ遅延回路5は、メモリ2からの読み出し時に、データストローブ信号DQSを読み出し遅延時間だけ遅延して読み出しクロック信号を生成する。読み出しクロック信号は、フリップフロップ9のクロック入力端子に入力されると共に、レジスタ39によって遅延素子16〜18を介さない方の経路、すなわち読み出しストローブ遅延回路5からの出力信号を選択制御されたマルチプレクサ13〜15を介して、フリップフロップ10〜12のクロック入力端子に入力される。
各フリップフロップ9〜12は、各データDQ1〜DQnを、読み出しクロック信号の立ち上がりと立ち下がりのタイミングで入力し、入力されたデータを出力する。
つまり、データ入力回路70は、読み出し時に、メモリ2からの複数の入力データを、読み出しクロック信号に同期して並列に入力する。
各フリップフロップ9〜12からの各出力データは、メモリコントローラ3に並列に入力される。
このように、1度のデータの書き込み、読み出しによるテストによって、読み出し時に、データDQ1〜DQnは適切な位相の読み出しクロック信号で入力されるので、メモリコントローラ側LSI1はデータDQ1〜DQnを適切に入力できる。
(3)書き込みモード時及び読み出しモード時に遅延を付加する場合
この場合、前述の(1)と(2)の動作を組み合わせて行う。即ち、以下の様に動作する。
書き込みストローブ生成回路4aは基準書き込みストローブ信号Rを生成する。
書き込みストローブ遅延回路4bは、メモリ2への書き込み時に、基準書き込みストローブ信号Rをテスト書き込み用遅延時間だけ遅延したデータストローブ信号DQS(テスト書き込み用ストローブ信号)をメモリ2に出力する。
書き込み用遅延回路50aは、基準書き込みストローブ信号Rを遅延して、複数の書き込みテストクロック信号を、少なくとも2つの書き込みテストクロック信号の遅延時間が異なるように生成する。
テスト書き込み時に、出力データ生成回路60は、データDQ1〜DQn(複数のテスト出力データ)を、少なくとも2つのテスト出力データの遅延時間が異なるように、各書き込みテストクロック信号に同期して生成し、メモリ2に書き込むために並列に出力する。
メモリ2は、入力されたデータストローブ信号DQSの立ち上がりと立ち下がりとのタイミングで、データDQ1〜DQnをそれぞれテスト書き込みデータとして書き込む。
続いて、テスト読み出し時に、メモリ2は、データストローブ信号DQS(読み出し用ストローブ信号)と、データストローブ信号DQSに同期したデータDQ1〜DQn(上述したメモリ2に書き込まれたテスト書き込みデータ)と、を出力する。
読み出し用遅延回路50bは、データストローブ信号DQSを遅延して、複数の読み出しテストクロック信号を、少なくとも2つの読み出しテストクロック信号の遅延時間が異なるように生成する。
データ入力回路70は、メモリ2から出力された、複数のテスト出力データとテスト書き込み用ストローブ信号とに基づいてメモリ2に書き込まれた複数のテスト書き込みデータを、対応する読み出しテストクロック信号に同期して複数のテスト入力データとしてメモリ2から並列に入力する。
入力データ比較回路8は、複数のテスト入力データと、複数のテスト出力データと、の対応するもの同士を比較して、一致したテスト入力データを特定する。
入力データ比較回路8は、特定されたテスト入力データの中から1つを選択する。
遅延調整回路38は、選択されたテスト入力データに対応する書き込みテストクロック信号の遅延時間と、テスト書き込み用遅延時間と、に基づいて、書き込み遅延時間を計算する。遅延調整回路38は、計算した書き込み遅延時間を書き込みストローブ遅延回路4bに設定する。
また、遅延調整回路38は、選択されたテスト入力データに対応する読み出しテストクロック信号の遅延時間を、読み出し遅延時間として計算する。遅延調整回路38は、計算した読み出し遅延時間を読み出しストローブ遅延回路5に設定する。
以上の動作で決定された書き込み及び読み出し遅延時間に基づいて、通常の書き込み及び読み出し時には、次の動作が行われる。
書き込みストローブ遅延回路4bは、書き込み時に、基準書き込みストローブ信号Rを書き込み遅延時間だけ遅延してデータストローブ信号DQSを生成し、I/Oバッファ37を介してメモリ2に出力する。
読み出し用遅延回路50bの読み出しストローブ遅延回路5は、読み出し時に、データストローブ信号DQSを読み出し遅延時間だけ遅延して読み出しクロック信号を生成する。
出力データ生成回路60は、書き込み時に、基準書き込みストローブ信号Rに同期して複数の出力データを生成し、メモリ2に並列に出力する。データ入力回路70は、読み出し時に、メモリ2からの複数の入力データを、読み出しクロック信号に同期して並列に入力する。
各回路の詳細な動作は、前述の(1)、(2)と同様であるため、詳細な説明は省略する。
なお、以上の(1)〜(3)では、遅延素子16〜18,30〜32は、同じ遅延量を有するものとして説明したが、異なる遅延量を有しても良い。例えば、データDQ1〜DQnの中心ビット付近の遅延素子の遅延量を小さくして、それ以外の遅延素子の遅延量を大きくしても良い。これにより、限られたデータ数(ビット数)であっても、必要な領域では高精度な検出ができる。
また、各遅延素子16〜18は第1の遅延量を有し、各遅延素子30〜32は第2の遅延量を有し、第1の遅延量と第2の遅延量は異なるようにしても良い。また、各遅延素子16〜18,30〜32は遅延量を変化できるものでも良い。
さらに、以上の(1−1)では、データDQ1〜DQnは互いに異なる遅延量を有しているものとして説明したが、例えば、一部のデータは同じ遅延量(遅延素子なし)を有していると共に、論理(テストパターンの「ハイ」と「ロー」)が互いに反転していても良い。つまり、これらについては、異なるテストパターンと、同じテストクロック信号とにより生成しても良い。
また、同様に、(2−1)で、一部のビットで論理が互いに反転したデータをメモリ2に書き込み、(2−2)で、これらのデータを同じ読み出しテストクロック信号により読み出しても良い。
このように、本実施形態によれば、様々な遅延量で遅延した複数のテスト出力データを並列にメモリ2に出力するようにしたので、メモリ2に実際に書き込まれたテスト書き込みデータとテスト出力データとを比較することで、1度のデータの書き込み、読み出しによるテストによって、適切な遅延量(位相差)を選択して、位相差を調節できる。これにより、実装の仕方等に依存せず、メモリ2はデータDQ1〜DQnを適切に書き込みできる。
同様に、メモリ2からの複数のデータを様々な遅延量の読み出しテストクロック信号に同期してテスト入力データとして入力するようにしたので、実際に入力されたテスト入力データと、予めメモリ2に書き込まれていたテスト出力データと、を比較することで、適切な遅延量(位相差)を選択して、位相差を調節できる。これにより、実装の仕方等に依存せず、メモリコントローラ側LSI1はデータDQ1〜DQnを適切に入力できる。
(第2の実施形態)
本実施形態は、データとデータストローブ信号との位相差のテストをテスタにより行うようにした点が、第1の実施形態と異なる。
図6は、第2の実施形態に係るメモリコントローラ側LSIとメモリとを示すブロック図である。
このメモリコントローラ側LSI1は、第1の実施形態の構成に加え、レジスタ39に接続されたテストI/F100を備える。テストI/F100は、テスタ101に接続可能である。その他の回路構成は、図1の第1の実施形態と同一であるため、同一の要素に同一の符号を付して説明を省略する。
テスタ101は、テストI/F100を介してレジスタ39に設定を書き込むことで、メモリコントローラ側LSI1の各部を制御する。これにより、第1の実施形態の(1−1)〜(1−3)の動作と、(2−1)〜(2−3)の動作との少なくとも何れかが行われる。
ここで、第1の実施形態とは異なり、入力データ比較回路8での比較結果はレジスタ39に書き込まれる。レジスタ39に書き込まれた比較結果は、テストI/F100を介してテスタ101に読み出され、位相差のテスト結果が得られる。
このように、本実施形態によれば、第1の実施形態のコントローラ側LSI1をテスタ101で制御するようにしたので、コントローラ側LSI1とメモリ2とを含んだ量産テストにおいて、接続確認や位相差のマージンテストを、複数のビットを用いた1回の書き込み/読み出しにより容易に行うことができる。また、パッケージ組み立て時に実装されるメモリ2の出荷テストに適用できる。ここで、パッケージは、例えば、SiP(System in Package)、MCM(Multi-chip Module)及びTSV(thorough-silicon via)を含む。
また、データとデータストローブ信号DQSとの理想的な位相調整情報を得ることもできる。
なお、第1の実施形態と同様に、テストによって得られた適切な位相範囲の中から所定の遅延量を選択し、選択した遅延量に基づいて書き込み遅延時間または読み出し遅延時間を計算し、書き込みと読み出しの少なくとも何れかを行うこともできる。
また、メモリ2は、テスタ101内に設けられているものを用いても良い。これにより、コントローラ側LSI1のみのテストが行える。
一方、以上の第1及び第2の実施形態に対して、発明者が知得する比較例では、工場出荷時等に、書き込み用のデータストローブ信号の遅延量を複数の設定値に切り替えながら、テストデータのメモリへの書き込みと、書き込まれたデータの読み出しと、を複数回行い、正しく書き込みが行えた遅延量の範囲を求めるようにしていた(トレーニングシーケンス)。即ち、複数回の書き込み/読み出しが必須となる。よって、所定の範囲の遅延量のテストを行う場合、遅延量の設定値の間隔が狭いほど精度は高くなるが、テスト時間が長くなる。一方、遅延量の設定値の間隔が広いほどテスト時間は短くなるが、精度は低くなる。
また、発明者が知得する他の比較例では、実際に位相を計測するために、サンプリング回路を設けて2倍以上のクロック信号を用意する必要があった。また、他の比較例では、実際に位相を計測するために、チップの外部に複数の外付け部品が必要となっていた。
以上で説明した実施形態によれば、信号の位相差の調整又はテストを高精度且つ簡略に行える半導体集積回路を提供できる。
以上、本発明の実施形態を詳述してきたが、具体的な構成は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々に変形して実施することができる。
例えば、上記実施形態のメモリ2としてDDR−SDRAM以外を用いる場合、フリップフロップ9〜12,23〜26は、クロック端子に入力される信号の立ち上がり又は立ち下がりの何れかでデータを取り込むものでも良い。
1 メモリコントローラ側LSI(半導体集積回路)
2 メモリ
3 メモリコントローラ
4a 書き込みストローブ生成回路
4b 書き込みストローブ遅延回路
5 読み出しストローブ遅延回路(読み出し用遅延回路)
6 遅延回路(書き込み用遅延回路)
7 パターン発生器(出力データ生成回路)
8 入力データ比較回路
9〜12 フリップフロップ(データ入力回路)
13〜15,19〜22,27〜29 マルチプレクサ
16〜18 遅延素子(読み出し用遅延回路)
30〜32 遅延素子(書き込み用遅延回路)
23〜26 フリップフロップ(出力データ生成回路)
33〜37 I/Oバッファ
38 遅延調整回路
39 レジスタ
40 パラレルI/O
50a 書き込み用遅延回路
50b 読み出し用遅延回路
60 出力データ生成回路
70 データ入力回路

Claims (5)

  1. 書き込み用ストローブ信号に同期してデータを書き込むメモリに接続可能な半導体集積回路であって、
    基準書き込みストローブ信号を生成する書き込みストローブ生成回路と、
    前記基準書き込みストローブ信号をテスト書き込み用遅延時間だけ遅延したテスト書き込み用ストローブ信号を生成する書き込みストローブ遅延回路と、
    前記基準書き込みストローブ信号を遅延させ、前記基準書き込みストローブ信号に対して少なくとも2種類の遅延時間を有する複数の書き込みテストクロック信号を生成する書き込み用遅延回路と、
    対応する前記書き込みテストクロック信号にそれぞれ同期した複数のテスト出力データを生成する出力データ生成回路と、
    前記複数のテスト出力データと前記テスト書き込み用ストローブ信号とに基づいて前記メモリに書き込まれた複数のテスト書き込みデータを、前記メモリから並列に入力する、データ入力回路と、
    入力された前記複数のテスト書き込みデータと、前記複数のテスト出力データと、の対応するもの同士を比較して、一致した前記テスト出力データを特定する、入力データ比較回路と、
    を備えることを特徴とする半導体集積回路。
  2. 遅延調整回路を更に備え、
    前記入力データ比較回路は、特定された前記テスト出力データの中から1つを選択し、
    前記遅延調整回路は、選択された前記テスト出力データに対応する前記書き込みテストクロック信号の遅延時間と、前記テスト書き込み用遅延時間と、に基づいて書き込み遅延時間を計算し、
    前記書き込みストローブ遅延回路は、前記メモリへの書き込み時に、前記基準書き込みストローブ信号を前記書き込み遅延時間だけ遅延した前記書き込み用ストローブ信号を生成し、
    前記出力データ生成回路は、前記書き込み時に、前記基準書き込みストローブ信号に同期した複数の出力データを生成し、前記メモリに並列に出力する、
    ことを特徴とする請求項1に記載の半導体集積回路。
  3. 読み出し用ストローブ信号と、前記読み出し用ストローブ信号に同期したデータと、を出力するメモリに接続可能な半導体集積回路であって、
    複数のテスト出力データを生成する出力データ生成回路と、
    前記読み出し用ストローブ信号を遅延させ、前記読み出し用ストローブ信号に対して少なくとも2種類の遅延時間を有する複数の読み出しテストクロック信号を生成する読み出し用遅延回路と、
    前記複数のテスト出力データが複数のテスト書き込みデータとして書き込まれた前記メモリから、前記複数のテスト書き込みデータを、前記各テスト書き込みデータに対応した前記読み出しテストクロック信号により複数のテスト入力データとして並列に入力する、データ入力回路と、
    前記複数のテスト入力データと、前記複数のテスト出力データと、の対応するもの同士を比較して、一致した前記テスト入力データを特定する、入力データ比較回路と、
    を備えることを特徴とする半導体集積回路。
  4. 遅延調整回路を更に備え、
    前記入力データ比較回路は、特定された前記テスト入力データの中から1つを選択し、
    前記遅延調整回路は、選択された前記テスト入力データに対応する前記読み出しテストクロック信号の遅延時間を、読み出し遅延時間として計算し、
    前記読み出し用遅延回路は、前記メモリからの読み出し時に、前記読み出し用ストローブ信号を前記読み出し遅延時間だけ遅延した読み出しクロック信号を生成し、
    前記データ入力回路は、前記読み出し時に、前記メモリからの複数の入力データを、前記読み出しクロック信号に同期して並列に入力する、
    ことを特徴とする請求項3に記載の半導体集積回路。
  5. 書き込み用ストローブ信号に同期してデータを書き込むと共に、読み出し用ストローブ信号と、前記読み出し用ストローブ信号に同期した前記データと、を出力するメモリに接続可能な半導体集積回路であって、
    基準書き込みストローブ信号を生成する書き込みストローブ生成回路と、
    前記基準書き込みストローブ信号をテスト書き込み用遅延時間だけ遅延した前記テスト書き込み用ストローブ信号を生成する書き込みストローブ遅延回路と、
    前記基準書き込みストローブ信号を遅延させ、前記基準書き込みストローブ信号に対して少なくとも2種類の遅延時間を有する複数の書き込みテストクロック信号を生成する書き込み用遅延回路と、
    対応する前記書き込みテストクロック信号にそれぞれ同期した複数のテスト出力データを生成する出力データ生成回路と、
    前記読み出し用ストローブ信号を遅延させ、前記読み出し用ストローブ信号に対して少なくとも2種類の遅延時間を有する複数の読み出しテストクロック信号を生成する読み出し用遅延回路と、
    前記複数のテスト出力データが前記テスト書き込み用ストローブ信号に基づいて複数のテスト書き込みデータとして書き込まれた前記メモリから、前記複数のテスト書き込みデータを、前記各テスト書き込みデータに対応した前記読み出しテストクロック信号により複数のテスト入力データとして並列に入力する、データ入力回路と、
    前記複数のテスト入力データと、前記複数のテスト出力データと、の対応するもの同士を比較して、一致した前記テスト入力データを特定する、入力データ比較回路と、
    を備えることを特徴とする半導体集積回路。
JP2010201317A 2010-09-08 2010-09-08 半導体集積回路 Withdrawn JP2012058997A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010201317A JP2012058997A (ja) 2010-09-08 2010-09-08 半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010201317A JP2012058997A (ja) 2010-09-08 2010-09-08 半導体集積回路

Publications (1)

Publication Number Publication Date
JP2012058997A true JP2012058997A (ja) 2012-03-22

Family

ID=46056022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010201317A Withdrawn JP2012058997A (ja) 2010-09-08 2010-09-08 半導体集積回路

Country Status (1)

Country Link
JP (1) JP2012058997A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016208849A1 (de) 2015-05-28 2016-12-01 Socionext Inc. Empfangsschaltkreis, Verfahren zum Einstellen eines Zeitpunkts in dem Empfangsschaltkreis und eine Halbleitervorrichtung
US10643570B2 (en) 2016-09-12 2020-05-05 Mitsubishi Electric Corporation Display control apparatus and display control method that prevent excessive determinations of an abnormal control condition
CN115862707A (zh) * 2022-11-25 2023-03-28 湖南兴芯微电子科技有限公司 一种psram相位校准方法及控制器

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016208849A1 (de) 2015-05-28 2016-12-01 Socionext Inc. Empfangsschaltkreis, Verfahren zum Einstellen eines Zeitpunkts in dem Empfangsschaltkreis und eine Halbleitervorrichtung
KR20160140433A (ko) 2015-05-28 2016-12-07 가부시키가이샤 소시오넥스트 수신 회로, 수신 회로의 타이밍 조정 방법, 반도체 장치
US9620196B2 (en) 2015-05-28 2017-04-11 Socionext Inc. Reception circuit, method for adjusting timing in reception circuit, and semiconductor device
US10643570B2 (en) 2016-09-12 2020-05-05 Mitsubishi Electric Corporation Display control apparatus and display control method that prevent excessive determinations of an abnormal control condition
CN115862707A (zh) * 2022-11-25 2023-03-28 湖南兴芯微电子科技有限公司 一种psram相位校准方法及控制器
CN115862707B (zh) * 2022-11-25 2024-03-12 湖南兴芯微电子科技有限公司 一种psram相位校准方法及控制器

Similar Documents

Publication Publication Date Title
US8115529B2 (en) Device and control method of device
US20080205170A1 (en) Ddr-sdram interface circuitry, and method and system for testing the interface circuitry
US8369159B2 (en) Input/output circuit and method of semiconductor apparatus and system with the same
US20050270852A1 (en) Read latency control circuit
US20100322022A1 (en) Semiconductor storage device
US7177230B1 (en) Memory controller and memory system
KR20060028666A (ko) 반도체 집적 회로
KR100883140B1 (ko) 데이터 출력 제어회로, 반도체 메모리 장치 및 그의 동작방법
KR20070002546A (ko) 동기식 메모리 장치의 데이타 래치 제어 장치
US20080225629A1 (en) Memory control device
KR100907016B1 (ko) 반도체 메모리 장치의 데이터 입력 회로 및 그 제어 방법
KR100857450B1 (ko) 반도체 메모리 장치의 출력 인에이블 신호 생성 회로 및방법
US20080043545A1 (en) Multiple Data Rate Ram Memory Controller
US7493461B1 (en) Dynamic phase alignment for resynchronization of captured data
US8754656B2 (en) High speed test circuit and method
KR101180405B1 (ko) 반도체 메모리 장치 및 이의 테스트 방법
JP2012058997A (ja) 半導体集積回路
KR102075497B1 (ko) 반도체 집적회로
KR102010963B1 (ko) 반도체 장치
JP2010079520A (ja) メモリモジュールのコントローラ及びメモリモジュールのコントローラの制御方法
US7948912B2 (en) Semiconductor integrated circuit with test mode
KR20070002806A (ko) 반도체메모리소자
KR100728556B1 (ko) 반도체 메모리 장치의 데이터 출력 회로
US9239354B2 (en) Pin removal mode signal generation circuit and semiconductor apparatus including the same
US11705896B2 (en) Apparatuses and methods for delay measurement initialization

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20131203