JP2004095668A - Semiconductor integrated circuit - Google Patents

Semiconductor integrated circuit Download PDF

Info

Publication number
JP2004095668A
JP2004095668A JP2002251640A JP2002251640A JP2004095668A JP 2004095668 A JP2004095668 A JP 2004095668A JP 2002251640 A JP2002251640 A JP 2002251640A JP 2002251640 A JP2002251640 A JP 2002251640A JP 2004095668 A JP2004095668 A JP 2004095668A
Authority
JP
Japan
Prior art keywords
clock
circuit
flip
test
scan
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.)
Pending
Application number
JP2002251640A
Other languages
Japanese (ja)
Inventor
Naoki Ueda
植田 直樹
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2002251640A priority Critical patent/JP2004095668A/en
Publication of JP2004095668A publication Critical patent/JP2004095668A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To obtain a semiconductor integrated circuit capable of performing stable scanning tests by preventing the data from being slipping out due to the the flip-flop holding time fault caused by a clock skew. <P>SOLUTION: A scanning test of a combination circuit 200 is performed on the basis of a test pattern generated by a scan pattern generation circuit 300, a comparison control circuit 400 compares a test result with an expected value to check the shifting of the flip-flops 100-105. When the slip of the data is generated due to the hold time fault caused by a clock skew and non-coincidence between the test result and the expected value is generated, the circuit 400 specifies the generated position of the data slip and controls the clock delay by a control signal for a delay control selector. Then the test pattern is inputted from a scanning-in signal SI to perform the scanning test of the combination circuit 200. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、半導体集積回路のテストに関するものであり、特に、半導体集積回路のテストを容易に行うため半導体集積回路内部にスキャンパスを有する半導体集積回路に関するものである。
【0002】
【従来の技術】
近年、半導体製造の多層配線技術や微細化技術の向上により、半導体集積回路の1チップの搭載ゲート規模も大きくなり、高性能・高機能の半導体集積回路が実現可能となっている。1チップの搭載ゲート規模が大きくなったことにより、設計、製造、テストの各工程でさまざまな問題が生じている。特に、テストに関する問題は大きい。
【0003】
半導体集積回路では、そのチップが所望の機能を満足しているかのテスト以外に、製造工程での不良を検出しなければならない。すなわち、半導体集積回路内の全てのトランジスタに対してオン/オフ動作を確認しなければならない。このような半導体集積回路のテストを困難にする要因の一つとして、半導体集積回路内部のフリップフロップの入力の可制御性とその出力の可観測性が悪いことが挙げられる。
【0004】
このような問題を改善するための従来技術として、半導体集積回路内のフリップフロップを外部端子から直接制御し観測するための経路(スキャン・チェーン)を設けるスキャンパス設計手法がある。
【0005】
図3を参照して、従来のスキャンパス設計によるテストを説明する。図3において、1000〜1005はフリップフロップ、2000はテスト対象となる半導体集積回路の組み合せ回路、3000〜3008はクロックバッファ、4000,4010,4020,4030,4040は遅延回路、4001〜4003はバッファである。フリップフロップ1000〜1005は、組み合せ回路2000のデータをラッチし、組み合せ回路2000に出力する通常の配線とともに、フリップフロップ1000,1001…の順にシリアルに接続されシフトレジスタとしても動作するように設計されている。
【0006】
つぎに、スキャンテストの動作を説明する。まず、スキャンイン信号SIからテストデータを入力し、シフト機能を用いてフリップフロップ1000,1001,1002の順にテストデータをシフトする。そして、フリップフロップ1000〜1002の出力を擬似入力として組み合せ回路2000を動作させる。このときの組み合せ回路2000の出力をフリップフロップ1003〜1005がラッチする。さらに、フリップフロップ1000〜1005は、シフト機能を用いて最終段のフリップフロップ1005からスキャンアウト信号SOにラッチしたテスト結果を出力する。このスキャンアウト信号SOを観測し、期待値と比較する。
【0007】
このようにスキャンパス設計による半導体集積回路のテストは、フリップフロップ1000〜1005のシフト動作により、スキャンイン信号SIから擬似入力したテストパターンで組み合せ回路を動作させ、その結果をラッチしてスキャンアウト信号SOに出力する。これにより、半導体集積回路内のトランジスタのオン/オフ動作を確認することができる。
【0008】
【発明が解決しようとする課題】
しかしながら、シフトレジスタを構成しているフリップフロップ1000〜1005がシフト動作を行う際に、フリップフロップ1000〜1005のタイミング条件の一つであるホールド・タイムが満足できずデータがすり抜けてしまった場合、スキャンアウト信号SOで観測される信号と期待値が不一致となる。すなわち、組み合せ回路2000が正しく動作しており、半導体集積回路本来の機能は満足しているにもかかわらず、スキャンテスト時のシフト動作により半導体集積回路は不良品と判定されてしまうという問題があった。
【0009】
このようなデータのすり抜けは、フリップフロップ1000〜1005のクロック端子Tに供給されるクロックのスキューにより発生する。フリップフロップ1000〜1005のクロック端子Tに供給されるクロックは、クロック信号CKからクロックバッファ3000に入力される。クロックバッファ3000は、クロックバッファ3001,3002に入力された信号を出力する。クロックバッファ3001は、クロックバッファ3003〜3005に、クロックバッファ3002は、クロックバッファ3006〜3008に、それぞれ入力された信号を出力する。そして、クロックバッファ3003は、フリップフロップ1000のクロック端子Tに、クロックバッファ3004は、フリップフロップ1001のクロック端子Tに、というように、クロックバッファ3003〜3008はフリップフロップ1000〜1005に入力された信号をそれぞれ出力する。このように複数段のクロックバッファを木構造にしてクロックを分配するクロックツリーシンセシス(CTS:Clock Tree Synthesis)は、大きなファンアウトでのクロックのスキューを最小とする用途に適した方法である。
【0010】
しかし、クロックバッファに接続されるフリップフロップの数が多くなるとそれぞれのフリップフロップのクロック端子Tにクロックが到達するまでのスキューが大きくなる。特に、半導体製造の微細化によりパス遅延全体に対する配線遅延の割合がゲート遅延と同じくらいの比重を占めるようになり、クロックのスキューの問題は大きくなっている。
【0011】
クロックのスキューによるホールド・タイムの違反(この場合は、ホールド・タイムの不足時間)を補うために、図3に示した従来技術では、シフトレジスタを構成するフリップフロップ1000〜1005の間に遅延回路4000〜4040を挿入している。遅延回路4000〜4040は、バッファ4001〜4003で構成され、例えば、フリップフロップ1000の出力端子Oの信号をバッファ4001〜4003のゲート遅延だけ遅らせてフリップフロップ1001の入力端子Sに入力するようにしている。しかしセルのゲート遅延は製造によりばらつきがあり、確実にホールド・タイムを保証することはできないという問題もあった。
【0012】
この発明は上記に鑑みてなされたもので、クロックのスキューが原因で発生するフリップフロップのホールド・タイム違反によるデータのすり抜けを防止し、安定したスキャンテストを行う半導体集積回路を得ることを目的としている。
【0013】
【課題を解決するための手段】
上記目的を達成するために、この発明にかかる半導体集積回路は、スキャンパス設計がなされたフリップフロップのクロックをクロックツリーシンセシスによる木構成で供給する半導体集積回路において、前記フリップフロップのクロック端子に入力するクロックを、所定の信号により異なる遅延を負荷した複数のクロックから選択するクロック選択回路と、スキャンテスト用のテストパターンと該テストパターンを用いて組み合せ回路のテストを行った場合の期待値とを生成するスキャンパターン生成回路と、外部選択信号に基づき外部入力端子から入力されたテストパターンと前記スキャンパターン生成回路で生成されたテストパターンとを選択する第1のセレクタと、前記外部選択信号により前記スキャンパターン生成回路で生成されたテストパターンが選択された場合、そのテストパターンでの前記組み合せ回路のテスト結果と前記期待値とを比較し、該比較結果が不一致の場合、前記フリップフロップのシフト時の誤動作の箇所を特定し、該特定したフリップフロップにクロックを供給しているクロック選択回路に対して、現在より遅延の負荷を大きくするための遅延調整セレクタ用制御信号を前記所定の信号として前記クロック選択回路に出力する比較制御回路とを備えることを特徴とする。
【0014】
この発明によれば、スキャンパターン生成回路で生成したテストパターンに基づいて組み合せ回路のスキャンテストを実行し、比較制御回路がテスト結果と期待値との比較を行い、フリップフロップのシフト動作の確認を行う。そして、テスト結果と期待値に不一致が発生した場合、比較制御回路は、フリップフロップのホールド・タイム違反によるシフト時の誤動作の箇所を特定し、遅延調整セレクタ用制御信号によりクロックの遅延を調整する。その後、外部入力端子からテストパターンを入力し、組み合せ回路のスキャンテストを実行するようにしている。
【0015】
つぎの発明にかかる半導体集積回路は、上記の発明において、前記クロック選択回路は、入力クロックに対して異なる遅延を負荷した複数のクロックを生成する遅延調整回路と、前記遅延調整セレクタ用制御信号に基づいて前記入力クロックと前記異なる遅延を負荷した複数のクロックの何れか一つを選択する第2のセレクタとを備えたことを特徴とする。
【0016】
この発明によれば、クロック選択回路は、入力クロックに対して異なる遅延を負荷した複数のクロックを生成し、生成した複数のクロックと入力クロックの何れか一つを遅延調整セレクタ用制御信号に基づいて出力するようにしている。
【0017】
つぎの発明にかかる半導体集積回路は、上記の発明において、前記半導体集積回路にCPUが内蔵されている場合、前記CPUにより、前記スキャンパターン生成回路および前記比較制御回路の機能を実現することを特徴とする。
【0018】
この発明によれば、半導体集積回路にCPUが内蔵されている場合、CPUがスキャンテスト用のテストパターンで行った組み合せ回路のテスト結果と期待値とを比較し、その結果が不一致であった場合、フリップフロップのホールド・タイム違反によるシフト時の誤動作の箇所を特定し、遅延調整セレクタ用制御信号によりクロックの遅延を調整するようにしている。
【0019】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる半導体集積回路の好適な実施の形態を詳細に説明する。
【0020】
図1および図2を用いて本発明の実施の形態を説明する。図1は、本実施の形態のスキャン設計された半導体集積回路の構成を示すブロック図である。図1において、100〜105はフリップフロップ、200はテスト対象となる半導体集積回路内の組み合せ回路、300はスキャンパターン生成回路、400は比較制御回路、500〜502はセレクタ、610〜631はクロック選択回路、701〜703はバッファ、710〜714は遅延回路である。
【0021】
フリップフロップ100〜105は、組み合せ回路200のデータをラッチし、組み合せ回路200に出力する通常の配線とともに、フリップフロップ100,101…の順にシリアル接続されシフト動作するように設計されている。シリアル接続する際に、フリップフロップ100〜105の間にバッファ701〜703をシリアルに接続して遅延を設ける遅延回路710〜714がそれぞれ挿入されている。
【0022】
スキャンパターン生成回路300は、スキャンテストのテストパターンを生成する。そして、生成したテストパターンをセレクタ500に出力する。また、そのテストパターンで組み合せ回路200を動作させた時の期待値を比較制御回路400に出力する。
【0023】
セレクタ500は、テストパターンを選択する外部選択信号TESTに基づいてスキャンパターン生成回路300で生成されたテストパターンとスキャンイン信号SIから入力されるテストパターンのどちらか一方を選択し、フリップフロップ100に出力する。
【0024】
比較制御回路400は、外部選択信号TESTによりスキャンパターン生成回路300で生成されたテストパターンでスキャンテストが行われた場合に、フリップフロップ105から入力されたテスト結果とスキャンパターン生成回路300から入力された期待値とを比較する。そして、比較の結果が不一致であった場合、ホールド・タイム違反があったフリップフロップを特定し、クロック選択回路610〜631にクロックの遅延を調整するための遅延調整セレクタ用制御信号を出力する。
【0025】
セレクタ501は、選択信号SEL0に基づいて外部クロックCK0〜CK5の何れか1つをクロック選択回路610に出力する。セレクタ502は選択信号SEL1に基づいて外部クロックCK6〜CK11の何れか1つをクロック選択回路621に出力する。
【0026】
クロック選択回路610〜631は、入力クロックに遅延調整セレクタ用制御信号により指定された遅延を負荷して出力する。クロック選択回路610は、セレクタ501から入力された入力クロックに遅延調整セレクタ用制御信号により指定された遅延を負荷する。そして、クロック選択回路611,612に遅延を負荷した出力クロックを出力する。クロック選択回路611は、クロック選択回路610から入力された入力クロックに遅延調整セレクタ用制御信号により指定された遅延を負荷する。そして、クロック選択回路613〜616に遅延を負荷した出力クロックを出力する。クロック選択回路613は、クロック選択回路611から入力された入力クロックに遅延調整セレクタ用制御信号により指定された遅延を負荷する。そして、フリップフロップ100のクロック端子Tの遅延を負荷した出力クロックを出力する。クロック選択回路616は、クロック選択回路611から入力された入力クロックに遅延調整セレクタ用制御信号により指定された遅延を負荷する。そして、フリップフロップ101のクロック端子Tの遅延を負荷した出力クロックを出力する。クロック選択回路614,615はそれぞれ図示していないが半導体集積回路内のフリップフロップFFへ遅延を負荷した出力クロックを出力する。
【0027】
クロック選択回路612は、クロック選択回路610から入力されたクロックに遅延調整セレクタ用制御信号により指定された遅延を負荷する。そして、クロック選択回路617〜620に遅延を負荷した出力クロックを出力する。クロック選択回路619は、クロック選択回路612から入力された入力クロックに遅延調整セレクタ用制御信号により指定された遅延を負荷する。そして、フリップフロップ102のクロック端子Tに遅延を負荷した出力クロックを出力する。クロック選択信号617,618,620はそれぞれ図示していないが半導体集積回路内のフリップフロップFFへ遅延を負荷した出力クロックを出力する。
【0028】
クロック選択回路621〜631は、上述したクロック選択回路610〜620と同様にクロック選択回路621を起点としてクロック選択回路622からクロック選択回路624〜627へ、クロック選択回路623からクロック選択回路628〜631へとCTSによる木構造を構成し、それぞれの遅延調整セレクタ用制御信号により指定された遅延を負荷してクロックを出力する。そして、クロック選択回路625,628,631は、フリップフロップ103〜105のクロック端子Tにそれぞれ遅延を負荷したクロックを出力する。
【0029】
図1に示したクロック選択回路610〜631は全て同じ機能を備えている。図2に示したクロック選択回路610の構成を示すブロック図を参照して、クロック選択回路の機能を説明する。図2において、600は遅延調整回路、602はクロックバッファ、603はセレクタである。入力クロックは、クロックバッファ602を介して、遅延調整回路600内のバッファ601a,601b,601d,601gとセレクタ603に出力される。遅延調整回路600は、バッファ601aのゲート遅延を負荷したクロック、バッファ601b,601cのゲート遅延を負荷したクロック、バッファ601d〜601fのゲート遅延を負荷したクロック、バッファ601g〜601jのゲート遅延を負荷したクロックの4種類の異なる遅延を有するクロックを生成し、セレクタ603に出力する。セレクタ603は、遅延調整セレクタ用制御信号で指定されたクロック、すなわち、異なる遅延を有する5種類のクロックから1つを選択し、出力クロックとする。なお、遅延調整回路600の構成は、異なる遅延を有するクロックを生成するものであれば、これに限るものではない。また、生成するクロック数も、これに限定されるものではない。
【0030】
つぎに、本実施の形態の半導体集積回路の動作を説明する。まず、外部選択信号TESTにスキャンパターン生成回路300のテストパターンを用いてスキャンテストを実行する信号を入力する。これにより、セレクタ500は、フリップフロップ100にスキャンパターン生成回路300のテストパターンを出力する。
【0031】
セレクタ501は、選択信号SEL0に基づいて周期や位相が異なる外部クロックCK0〜CK5の何れか1つを選択し、クロック選択回路610に出力する。また、セレクタ502は、選択信号SEL1に基づいて周期や位相が異なる外部クロックCK6〜CK11の何れか1つを選択し、クロック選択回路621に出力する。
【0032】
クロック選択回路610〜631は、セレクタ501,502で選択されたクロックに対して、それぞれの遅延調整セレクタ用制御信号に基づき遅延を負荷したクロックを出力する。ここでは、初期設定として、遅延が一番小さいクロックバッファ602の出力を選択するようにしておく。フリップフロップ100〜105は、それぞれのクロック端子Tに供給されるクロックに基づいて、シフト動作を行い、テストデータをシフトする。そして、フリップフロップ100〜102の出力を擬似入力として動作した組み合せ回路200の出力をフリップフロップ103〜105がラッチする。フリップフロップ100〜105はシフト動作により、テスト結果を比較制御回路400に出力する。
【0033】
比較制御回路400は、スキャンパターン生成回路300から入力された期待値と、フリップフロップ105から入力されたテスト結果を比較する。比較結果が一致した場合は、クロックのスキューによるデータのすり抜けは発生していないと判断し、テストを継続する。比較結果が不一致の場合は、クロックのスキューによるデータのすり抜けが発生したと判断し、発生した箇所を特定する。データのすり抜け箇所の特定は、たとえば、比較制御回路400内にカウンタを備え、シフト動作毎にカウントを行う。これにより、期待値とテスト結果の不一致が何番目のデータであるかがわかり、データのすり抜けが発生した箇所が特定できる。
【0034】
データのすり抜けが発生した箇所を特定すると、比較制御回路400は、特定された箇所のフリップフロップにクロックを供給しているクロック選択回路の遅延調整セレクタ用制御信号を変更する。たとえば、フリップフロップ102とフリップフロップ103の間でデータのすり抜け、すなわち、フリップフロップ103のクロック端子Tのホールド・タイム違反が発生した場合、比較制御回路400は、フリップフロップ102にクロックを供給しているクロック選択回路619に出力している遅延調整セレクタ用制御信号を現在よりも遅延が大きくなるクロックを選択するように変更する。ここで、すでにクロック選択回路619が最大の遅延を選択するような遅延調整セレクタ用制御信号が指定されていた場合には、クロックの起点にさかのぼり(この場合はクロック選択回路612)、フリップフロップ102にクロック端子Tに入力されるクロックに対して遅延を負荷する。
【0035】
つぎに、外部選択信号TESTにスキャンイン信号SIから入力されたテストパターンを用いてスキャンテストを実行する信号を入力する。これにより、セレクタ500は、フリップフロップ100にスキャンイン信号SIから入力されたテストパターンを出力する。このとき、クロック選択回路610〜631に入力される遅延調整セレクタ用制御信号は、スキャンパターン生成回路300のテストパターンを用いて調整した信号がそれぞれ入力される。すなわち、データのすり抜けが発生しないように調整されたクロックがフリップフロップ100〜105に入力される。このクロックによりフリップフロップ100〜105はシフト動作を行い、スキャンイン信号SIから入力されたテストパターンにより組み合せ回路200のスキャンテストを実行し、スキャンアウト信号SOにテスト結果を出力する。そして、このテスト結果と期待値を比較する。
【0036】
このように本実施の形態では、スキャンパターン生成回路300で生成したテストパターンに基づいて組み合せ回路200のスキャンテストを実行し、比較制御回路400がテスト結果と期待値との比較を行い、フリップフロップ100〜105のシフト動作の確認を行う。そして、クロックのスキューによるホールド・タイム違反によるデータのすり抜けが発生し、テスト結果と期待値に不一致が発生した場合、比較制御回路400は、データのすり抜けが発生した箇所を特定し、遅延調整セレクタ用制御信号によりクロックの遅延を調整する。その後、スキャンイン信号SIからテストパターンを入力し、組み合せ回路200のスキャンテストを実行するようにしているため、半導体集積回路製造時のクロックのばらつきによるスキャンテストの不良を軽減し、安定したスキャンテストを行うことができる。
【0037】
なお、半導体集積回路内部にCPU(Central Processing Unit)が内蔵されている場合、スキャンパターン生成回路300と比較制御回路400の機能をCPUで実行するようにしてもよい。
【0038】
【発明の効果】
以上説明したように、この発明によれば、スキャンパターン生成回路で生成したテストパターンに基づいて組み合せ回路のスキャンテストを実行し、比較制御回路がテスト結果と期待値との比較を行い、フリップフロップのシフト動作の確認を行う。そして、テスト結果と期待値に不一致が発生した場合、比較制御回路は、フリップフロップのホールド・タイム違反によるシフト時の誤動作の箇所を特定し、遅延調整セレクタ用制御信号によりクロックの遅延を調整する。その後、外部入力端子からテストパターンを入力し、組み合せ回路のスキャンテストを実行するようにしているため、半導体集積回路製造時のクロックのばらつきによるスキャンテストの不良を軽減し、安定したスキャンテストを行うことができる。
【0039】
つぎの発明によれば、クロック選択回路は、入力クロックに対して複数の異なる遅延を負荷したクロックを生成し、生成したクロックと入力クロックの何れか一つを遅延調整セレクタ用制御信号に基づいて出力するようにしているため、フリップフロップに供給するクロックの遅延をきめ細かく設定することができる。
【0040】
つぎの発明によれば、半導体集積回路にCPUが内蔵されている場合、CPUがスキャンテスト用のテストパターンでおこなった半導体集積回路のテスト結果と期待値とを比較し、その結果が不一致であった場合、フリップフロップのホールド・タイム違反によるシフト時の誤動作の箇所を特定し、遅延調整セレクタ用制御信号によりクロックの遅延を調整するようにしているため、半導体集積回路製造時のクロックのばらつきによるスキャンテストの不良を軽減し、安定したスキャンテストを行うことができる。
【図面の簡単な説明】
【図1】本実施の形態の半導体集積回路の構成を示すブロック図である。
【図2】図1に示したクロック選択回路の構成を示すブロック図である。
【図3】従来の技術を説明するための図である。
【符号の説明】
100,101,102,103、104,105,1000,1001,1002,1003,1004,1005 フリップフロップ、200,2000組み合せ回路、300 スキャンパターン生成回路、400 比較制御回路、500,501,502,603 セレクタ、600 遅延調整回路、601a,601b,601c,601d,601e,601f,601g,601h,601i,601j,701,702,703,4001,4002,4003バッファ、602,3000,3001,3002,3003,3004,3005,3006,3007,3008 クロックバッファ、610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631 クロック選択回路、710,711,712,713,714,4000,4010,4020,4030,4040 遅延回路。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a test of a semiconductor integrated circuit, and more particularly to a semiconductor integrated circuit having a scan path inside a semiconductor integrated circuit for easily testing the semiconductor integrated circuit.
[0002]
[Prior art]
2. Description of the Related Art In recent years, with the improvement of multilayer wiring technology and miniaturization technology in semiconductor manufacturing, the scale of a gate mounted on one chip of a semiconductor integrated circuit has been increased, and a semiconductor integrated circuit with high performance and high functionality can be realized. The increase in the size of the gate mounted on one chip has caused various problems in each of the design, manufacturing, and test processes. In particular, the problems related to testing are significant.
[0003]
2. Description of the Related Art In a semiconductor integrated circuit, a defect in a manufacturing process must be detected in addition to a test of whether a chip satisfies a desired function. That is, it is necessary to confirm the on / off operation for all the transistors in the semiconductor integrated circuit. One of the factors that makes such a test of a semiconductor integrated circuit difficult is that the controllability of the input and the observability of the output of the flip-flop inside the semiconductor integrated circuit are poor.
[0004]
As a conventional technique for solving such a problem, there is a scan path design method for providing a path (scan chain) for directly controlling and observing a flip-flop in a semiconductor integrated circuit from an external terminal.
[0005]
With reference to FIG. 3, a test based on a conventional scan path design will be described. 3, reference numerals 1000 to 105 denote flip-flops, 2000 denotes a combinational circuit of a semiconductor integrated circuit to be tested, 3000 to 3008 denote clock buffers, 4000, 4010, 4020, 4030 and 4040 denote delay circuits, and 4001 to 4003 denote buffers. is there. The flip-flops 1000 to 1005 are designed to latch data of the combination circuit 2000 and to be serially connected in the order of the flip-flops 1000, 1001,. I have.
[0006]
Next, the operation of the scan test will be described. First, test data is input from the scan-in signal SI, and the test data is shifted in the order of the flip-flops 1000, 1001, and 1002 using the shift function. Then, the combination circuit 2000 is operated using the outputs of the flip-flops 1000 to 1002 as pseudo inputs. The outputs of combination circuit 2000 at this time are latched by flip-flops 1003 to 1005. Further, the flip-flops 1000 to 1005 output test results latched by the scan-out signal SO from the last-stage flip-flop 1005 using the shift function. This scan-out signal SO is observed and compared with an expected value.
[0007]
As described above, in the test of the semiconductor integrated circuit by the scan path design, the combination circuit is operated by the test pattern pseudo-input from the scan-in signal SI by the shift operation of the flip-flops 1000 to 1005, the result is latched and the scan-out signal is output. Output to SO. Thus, the on / off operation of the transistor in the semiconductor integrated circuit can be confirmed.
[0008]
[Problems to be solved by the invention]
However, when the flip-flops 1000 to 105 constituting the shift register perform the shift operation, if the hold time, which is one of the timing conditions of the flip-flops 1000 to 1005, cannot be satisfied, and the data passes through, The signal observed in the scan-out signal SO does not match the expected value. That is, there is a problem that the semiconductor integrated circuit is determined to be defective due to the shift operation at the time of the scan test, although the combinational circuit 2000 operates correctly and the original function of the semiconductor integrated circuit is satisfied. Was.
[0009]
Such data slippage occurs due to the skew of the clock supplied to the clock terminals T of the flip-flops 1000 to 1005. The clock supplied to the clock terminal T of the flip-flops 1000 to 1005 is input to the clock buffer 3000 from the clock signal CK. Clock buffer 3000 outputs a signal input to clock buffers 3001 and 3002. The clock buffer 3001 outputs signals input to the clock buffers 3003 to 3005, and the clock buffer 3002 outputs signals input to the clock buffers 3006 to 3008. The clock buffer 3003 is connected to the clock terminal T of the flip-flop 1000, the clock buffer 3004 is connected to the clock terminal T of the flip-flop 1001, and the clock buffers 3003 to 3008 are input to the flip-flops 1000 to 1005. Are output. Clock tree synthesis (CTS: Clock Tree Synthesis) in which clocks are distributed in a tree structure using a plurality of clock buffers in this manner is a method suitable for applications that minimize clock skew with a large fan-out.
[0010]
However, as the number of flip-flops connected to the clock buffer increases, the skew until the clock reaches the clock terminal T of each flip-flop increases. In particular, with the miniaturization of semiconductor manufacturing, the ratio of the wiring delay to the entire path delay occupies the same specific gravity as the gate delay, and the problem of clock skew is increasing.
[0011]
In order to compensate for the violation of the hold time due to the clock skew (in this case, the shortage of the hold time), in the prior art shown in FIG. 3, a delay circuit is provided between flip-flops 1000 to 1005 constituting a shift register. 4000 to 4040 are inserted. The delay circuits 4000 to 4040 are constituted by buffers 4001 to 4003, for example, so that the signal at the output terminal O of the flip-flop 1000 is delayed by the gate delay of the buffers 4001 to 4003 and is input to the input terminal S of the flip-flop 1001. I have. However, there is a problem that the gate delay of the cell varies depending on the manufacturing, and the hold time cannot be reliably guaranteed.
[0012]
The present invention has been made in view of the above, and an object of the present invention is to provide a semiconductor integrated circuit that prevents data slippage due to a hold time violation of a flip-flop caused by clock skew and performs a stable scan test. I have.
[0013]
[Means for Solving the Problems]
In order to achieve the above object, a semiconductor integrated circuit according to the present invention supplies a clock of a flip-flop designed for scan path in a tree structure by clock tree synthesis. A clock selection circuit for selecting a clock to be performed from a plurality of clocks loaded with different delays by a predetermined signal, a test pattern for a scan test, and an expected value when a test of a combinational circuit is performed using the test pattern. A scan pattern generation circuit to be generated, a first selector that selects a test pattern input from an external input terminal based on an external selection signal and a test pattern generated by the scan pattern generation circuit, Generated by the scan pattern generation circuit When a test pattern is selected, the test result of the combinational circuit in the test pattern is compared with the expected value.If the comparison results do not match, a portion of the flip-flop that malfunctions when shifting is specified. A comparison control for outputting, to the clock selection circuit, the control signal for a delay adjustment selector for increasing the delay load from the present time to the clock selection circuit supplying the clock to the specified flip-flop, as the predetermined signal. And a circuit.
[0014]
According to the present invention, the scan test of the combination circuit is executed based on the test pattern generated by the scan pattern generation circuit, the comparison control circuit compares the test result with the expected value, and confirms the shift operation of the flip-flop. Do. Then, when a mismatch between the test result and the expected value occurs, the comparison control circuit specifies a portion of the malfunction during the shift due to the hold time violation of the flip-flop, and adjusts the clock delay by the delay adjustment selector control signal. . Thereafter, a test pattern is input from an external input terminal, and a scan test of the combination circuit is executed.
[0015]
In the semiconductor integrated circuit according to the next invention, in the above invention, the clock selection circuit includes a delay adjustment circuit that generates a plurality of clocks loaded with different delays with respect to the input clock; and a delay adjustment selector control signal. A second selector for selecting any one of the input clock and the plurality of clocks loaded with the different delays based on the input clock.
[0016]
According to the present invention, the clock selection circuit generates a plurality of clocks loaded with different delays with respect to the input clock, and selects one of the generated plurality of clocks and the input clock based on the delay adjustment selector control signal. Output.
[0017]
A semiconductor integrated circuit according to the next invention is characterized in that, in the above invention, when a CPU is built in the semiconductor integrated circuit, the functions of the scan pattern generation circuit and the comparison control circuit are realized by the CPU. And
[0018]
According to the present invention, when the CPU is built in the semiconductor integrated circuit, the CPU compares the test result of the combination circuit performed with the test pattern for the scan test with the expected value, and when the result does not match. In addition, the location of a malfunction at the time of shift due to a hold time violation of the flip-flop is specified, and the delay of the clock is adjusted by the control signal for the delay adjustment selector.
[0019]
BEST MODE FOR CARRYING OUT THE INVENTION
Preferred embodiments of a semiconductor integrated circuit according to the present invention will be described below in detail with reference to the accompanying drawings.
[0020]
An embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a block diagram showing a configuration of a scan-designed semiconductor integrated circuit according to the present embodiment. In FIG. 1, 100 to 105 are flip-flops, 200 is a combination circuit in a semiconductor integrated circuit to be tested, 300 is a scan pattern generation circuit, 400 is a comparison control circuit, 500 to 502 are selectors, and 610 to 631 are clock selections. Circuits, 701 to 703 are buffers, and 710 to 714 are delay circuits.
[0021]
The flip-flops 100 to 105 are designed to latch data of the combinational circuit 200 and serially connect the flip-flops 100, 101,. At the time of serial connection, delay circuits 710 to 714 are provided between the flip-flops 100 to 105 to serially connect the buffers 701 to 703 and provide a delay.
[0022]
The scan pattern generation circuit 300 generates a test pattern for a scan test. Then, the generated test pattern is output to the selector 500. Further, an expected value when the combination circuit 200 is operated with the test pattern is output to the comparison control circuit 400.
[0023]
The selector 500 selects one of the test pattern generated by the scan pattern generation circuit 300 and the test pattern input from the scan-in signal SI based on the external selection signal TEST for selecting the test pattern, Output.
[0024]
The comparison control circuit 400 receives the test result input from the flip-flop 105 and the input from the scan pattern generation circuit 300 when the scan test is performed with the test pattern generated by the scan pattern generation circuit 300 by the external selection signal TEST. To the expected value. If the result of the comparison is a mismatch, the flip-flop having the hold time violation is specified, and a control signal for a delay adjustment selector for adjusting the clock delay is output to the clock selection circuits 610 to 631.
[0025]
The selector 501 outputs any one of the external clocks CK0 to CK5 to the clock selection circuit 610 based on the selection signal SEL0. The selector 502 outputs any one of the external clocks CK6 to CK11 to the clock selection circuit 621 based on the selection signal SEL1.
[0026]
The clock selection circuits 610 to 631 load the input clock with a delay specified by the delay adjustment selector control signal and output the input clock. The clock selection circuit 610 loads the input clock input from the selector 501 with a delay specified by the delay adjustment selector control signal. Then, an output clock with a delay loaded is output to the clock selection circuits 611 and 612. The clock selection circuit 611 loads the input clock input from the clock selection circuit 610 with a delay specified by the delay adjustment selector control signal. Then, an output clock with a delay loaded is output to the clock selection circuits 613 to 616. The clock selection circuit 613 loads the input clock input from the clock selection circuit 611 with a delay specified by the delay adjustment selector control signal. Then, it outputs an output clock loaded with the delay of the clock terminal T of the flip-flop 100. The clock selection circuit 616 loads the input clock input from the clock selection circuit 611 with a delay specified by the delay adjustment selector control signal. Then, it outputs an output clock loaded with the delay of the clock terminal T of the flip-flop 101. Although not shown, the clock selection circuits 614 and 615 each output a delay-loaded output clock to a flip-flop FF in the semiconductor integrated circuit.
[0027]
The clock selection circuit 612 loads the clock input from the clock selection circuit 610 with a delay specified by the delay adjustment selector control signal. Then, an output clock with a delay loaded is output to the clock selection circuits 617 to 620. The clock selection circuit 619 loads the input clock input from the clock selection circuit 612 with a delay specified by the delay adjustment selector control signal. Then, an output clock with a delay loaded to the clock terminal T of the flip-flop 102 is output. The clock selection signals 617, 618, and 620 each output an output clock with a delay loaded to a flip-flop FF in the semiconductor integrated circuit (not shown).
[0028]
The clock selection circuits 621 to 631 are provided with the clock selection circuit 621 as a starting point, from the clock selection circuit 622 to the clock selection circuits 624 to 627, and from the clock selection circuit 623 to the clock selection circuits 628 to 631 similarly to the above-described clock selection circuits 610 to 620. Then, a tree structure is formed by CTS, and a clock is output with a delay specified by each delay adjustment selector control signal. Then, the clock selection circuits 625, 628, and 631 output clocks with delay loads to the clock terminals T of the flip-flops 103 to 105, respectively.
[0029]
The clock selection circuits 610 to 631 shown in FIG. 1 all have the same function. The function of the clock selection circuit will be described with reference to a block diagram showing the configuration of the clock selection circuit 610 shown in FIG. In FIG. 2, reference numeral 600 denotes a delay adjustment circuit, 602 denotes a clock buffer, and 603 denotes a selector. The input clock is output to the buffers 601 a, 601 b, 601 d, and 601 g and the selector 603 in the delay adjustment circuit 600 via the clock buffer 602. The delay adjustment circuit 600 loads a clock loaded with a gate delay of the buffer 601a, a clock loaded with a gate delay of the buffers 601b and 601c, a clock loaded with a gate delay of the buffers 601d to 601f, and a gate delay of the buffers 601g to 601j. A clock having four different delays of the clock is generated and output to the selector 603. The selector 603 selects a clock specified by the delay adjustment selector control signal, that is, one of five types of clocks having different delays, and sets the selected clock as an output clock. Note that the configuration of the delay adjustment circuit 600 is not limited to this as long as it generates clocks having different delays. Further, the number of generated clocks is not limited to this.
[0030]
Next, the operation of the semiconductor integrated circuit according to the present embodiment will be described. First, a signal for executing a scan test using the test pattern of the scan pattern generation circuit 300 is input to the external selection signal TEST. Thereby, the selector 500 outputs the test pattern of the scan pattern generation circuit 300 to the flip-flop 100.
[0031]
The selector 501 selects any one of the external clocks CK <b> 0 to CK <b> 5 having different periods and phases based on the selection signal SEL <b> 0 and outputs the same to the clock selection circuit 610. Further, the selector 502 selects any one of the external clocks CK6 to CK11 having different periods and phases based on the selection signal SEL1, and outputs the same to the clock selection circuit 621.
[0032]
The clock selection circuits 610 to 631 output clocks with delays applied to the clocks selected by the selectors 501 and 502 based on the respective delay adjustment selector control signals. Here, as an initial setting, the output of the clock buffer 602 having the smallest delay is selected. The flip-flops 100 to 105 perform a shift operation based on the clock supplied to each clock terminal T to shift the test data. Then, flip-flops 103 to 105 latch the outputs of the combinational circuit 200 that operates using the outputs of the flip-flops 100 to 102 as pseudo inputs. The flip-flops 100 to 105 output test results to the comparison control circuit 400 by a shift operation.
[0033]
The comparison control circuit 400 compares the expected value input from the scan pattern generation circuit 300 with the test result input from the flip-flop 105. If the comparison results match, it is determined that no data slippage has occurred due to clock skew, and the test is continued. If the comparison results do not match, it is determined that data slippage has occurred due to clock skew, and the location where the slippage occurred is identified. For example, the comparison control circuit 400 includes a counter for specifying the data passing position, and counts each time a shift operation is performed. As a result, it is possible to determine the order of the data where the mismatch between the expected value and the test result is, and it is possible to identify the place where the data slips through.
[0034]
When the location where data slippage occurs is specified, the comparison control circuit 400 changes the control signal for the delay adjustment selector of the clock selection circuit that supplies the clock to the flip-flop at the specified location. For example, when data passes between the flip-flop 102 and the flip-flop 103, that is, when a hold time violation occurs at the clock terminal T of the flip-flop 103, the comparison control circuit 400 supplies a clock to the flip-flop 102. The control signal for the delay adjustment selector output to the clock selection circuit 619 is changed so as to select a clock having a larger delay than the current one. Here, if the control signal for the delay adjustment selector has already been specified so that the clock selection circuit 619 selects the maximum delay, the control goes back to the starting point of the clock (in this case, the clock selection circuit 612) and the flip-flop 102 A delay is applied to the clock input to the clock terminal T.
[0035]
Next, a signal for executing a scan test using the test pattern input from the scan-in signal SI is input to the external selection signal TEST. Accordingly, the selector 500 outputs the test pattern input from the scan-in signal SI to the flip-flop 100. At this time, as the control signals for the delay adjustment selector input to the clock selection circuits 610 to 631, signals adjusted using the test pattern of the scan pattern generation circuit 300 are input. That is, a clock adjusted so that data does not pass through is input to the flip-flops 100 to 105. The flip-flops 100 to 105 perform a shift operation by this clock, execute a scan test of the combination circuit 200 according to the test pattern input from the scan-in signal SI, and output a test result as a scan-out signal SO. Then, the test result is compared with an expected value.
[0036]
As described above, in the present embodiment, the scan test of the combination circuit 200 is executed based on the test pattern generated by the scan pattern generation circuit 300, the comparison control circuit 400 compares the test result with the expected value, and The shift operation of 100 to 105 is confirmed. Then, when data slippage occurs due to a hold time violation due to clock skew, and a mismatch occurs between the test result and the expected value, the comparison control circuit 400 specifies the location where the data slippage occurred, and a delay adjustment selector The clock delay is adjusted by the control signal. Thereafter, a test pattern is input from the scan-in signal SI, and the scan test of the combinational circuit 200 is executed. Therefore, scan test failures due to clock variations at the time of manufacturing a semiconductor integrated circuit are reduced, and a stable scan test is performed. It can be performed.
[0037]
When a CPU (Central Processing Unit) is built in the semiconductor integrated circuit, the functions of the scan pattern generation circuit 300 and the comparison control circuit 400 may be executed by the CPU.
[0038]
【The invention's effect】
As described above, according to the present invention, a scan test of a combination circuit is executed based on a test pattern generated by a scan pattern generation circuit, a comparison control circuit compares a test result with an expected value, and Confirm the shift operation of. Then, when a mismatch between the test result and the expected value occurs, the comparison control circuit specifies a portion of the malfunction during the shift due to the hold time violation of the flip-flop, and adjusts the clock delay by the delay adjustment selector control signal. . Thereafter, a test pattern is input from an external input terminal, and a scan test of the combinational circuit is executed. Therefore, scan test failures due to clock variations during semiconductor integrated circuit manufacture are reduced, and a stable scan test is performed. be able to.
[0039]
According to the next invention, the clock selection circuit generates a clock loaded with a plurality of different delays with respect to the input clock, and selects one of the generated clock and the input clock based on the delay adjustment selector control signal. Since the output is performed, the delay of the clock supplied to the flip-flop can be set finely.
[0040]
According to the next invention, when the CPU is built in the semiconductor integrated circuit, the CPU compares the test result of the semiconductor integrated circuit performed with the test pattern for the scan test with the expected value, and the result does not match. In this case, the malfunction of the flip-flop during the shift due to the hold time violation is specified, and the delay of the clock is adjusted by the control signal for the delay adjustment selector. Scan test defects can be reduced, and a stable scan test can be performed.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a semiconductor integrated circuit according to an embodiment.
FIG. 2 is a block diagram showing a configuration of a clock selection circuit shown in FIG.
FIG. 3 is a diagram for explaining a conventional technique.
[Explanation of symbols]
100, 101, 102, 103, 104, 105, 1000, 1001, 1002, 1003, 1004, 1005 Flip-flop, 200, 2000 combination circuit, 300 scan pattern generation circuit, 400 comparison control circuit, 500, 501, 502, 603 Selector, 600 delay adjustment circuit, 601a, 601b, 601c, 601d, 601e, 601f, 601g, 601h, 601i, 601j, 701, 702, 703, 4001, 4002, 4003 buffers, 602, 3000, 3001, 3002, 3003 3004, 3005, 3006, 3007, 3008 clock buffers, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624 25,626,627,628,629,630,631 clock selection circuit, 710,711,712,713,714,4000,4010,4020,4030,4040 delay circuit.

Claims (3)

スキャンパス設計がなされたフリップフロップのクロックをクロックツリーシンセシスによる木構成で供給する半導体集積回路において、
前記フリップフロップのクロック端子に入力するクロックを、所定の信号により異なる遅延を負荷した複数のクロックから選択するクロック選択回路と、
スキャンテスト用のテストパターンと該テストパターンを用いて組み合せ回路のテストを行った場合の期待値とを生成するスキャンパターン生成回路と、
外部選択信号に基づき外部入力端子から入力されたテストパターンと前記スキャンパターン生成回路で生成されたテストパターンとを選択する第1のセレクタと、
前記外部選択信号により前記スキャンパターン生成回路で生成されたテストパターンが選択された場合、そのテストパターンでの前記組み合せ回路のテスト結果と前記期待値とを比較し、該比較結果が不一致の場合、前記フリップフロップのシフト時の誤動作の箇所を特定し、該特定したフリップフロップにクロックを供給しているクロック選択回路に対して、現在より遅延の負荷を大きくするための遅延調整セレクタ用制御信号を前記所定の信号として前記クロック選択回路に出力する比較制御回路と、
を備えることを特徴とする半導体集積回路。
In a semiconductor integrated circuit which supplies a flip-flop clock with a scan path design in a tree structure by clock tree synthesis,
A clock selection circuit for selecting a clock input to the clock terminal of the flip-flop from a plurality of clocks loaded with different delays by a predetermined signal;
A scan pattern generating circuit that generates a test pattern for a scan test and an expected value when a combination circuit is tested using the test pattern;
A first selector for selecting a test pattern input from an external input terminal based on an external selection signal and a test pattern generated by the scan pattern generation circuit;
When a test pattern generated by the scan pattern generation circuit is selected by the external selection signal, the test result of the combination circuit in the test pattern is compared with the expected value, and when the comparison result does not match, A malfunctioning portion during the shift of the flip-flop is specified, and a control signal for a delay adjustment selector for increasing a delay load from the present time is supplied to a clock selection circuit that supplies a clock to the specified flip-flop. A comparison control circuit that outputs the predetermined signal to the clock selection circuit;
A semiconductor integrated circuit comprising:
前記クロック選択回路は、
入力クロックに対して異なる遅延を負荷した複数のクロックを生成する遅延調整回路と、
前記遅延調整セレクタ用制御信号に基づいて前記入力クロックと前記異なる遅延を負荷した複数のクロックの何れか一つを選択する第2のセレクタと、
を備えたことを特徴とする請求項1に記載の半導体集積回路。
The clock selection circuit,
A delay adjustment circuit that generates a plurality of clocks loaded with different delays with respect to the input clock;
A second selector for selecting any one of the input clock and a plurality of clocks loaded with the different delays based on the delay adjustment selector control signal;
The semiconductor integrated circuit according to claim 1, further comprising:
前記半導体集積回路にCPUが内蔵されている場合、前記CPUにより、前記スキャンパターン生成回路および前記比較制御回路の機能を実現することを特徴とする請求項1または2に記載の半導体集積回路。The semiconductor integrated circuit according to claim 1, wherein when the semiconductor integrated circuit includes a CPU, the functions of the scan pattern generation circuit and the comparison control circuit are realized by the CPU.
JP2002251640A 2002-08-29 2002-08-29 Semiconductor integrated circuit Pending JP2004095668A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002251640A JP2004095668A (en) 2002-08-29 2002-08-29 Semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002251640A JP2004095668A (en) 2002-08-29 2002-08-29 Semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JP2004095668A true JP2004095668A (en) 2004-03-25

Family

ID=32058178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002251640A Pending JP2004095668A (en) 2002-08-29 2002-08-29 Semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2004095668A (en)

Similar Documents

Publication Publication Date Title
JP4130329B2 (en) Semiconductor integrated circuit provided with scan path circuit and scan path circuit
US20110060952A1 (en) Semiconductor integrated circuit
US20160349318A1 (en) Dynamic Clock Chain Bypass
US7778790B2 (en) Semiconductor integrated circuit device and delay fault testing method
US7380183B2 (en) Semiconductor circuit apparatus and scan test method for semiconductor circuit
US6529033B1 (en) Area efficient clock inverting circuit for design for testability
US7080302B2 (en) Semiconductor device and test system therefor
US9021323B1 (en) Test techniques and circuitry
US8797082B2 (en) Apparatus and methods for clock characterization
US20090083595A1 (en) Scan test circuit
US7284171B2 (en) Integrated circuit device
JP2005121544A (en) Integrated circuit and its inspection method
JP4786287B2 (en) Wiring structure of semiconductor integrated circuit and wiring method of semiconductor integrated circuit
JP2004095668A (en) Semiconductor integrated circuit
JP2003121497A (en) Scan path circuit for logic circuit test and integrated circuit device provided with it
US6573703B1 (en) Semiconductor device
WO2012115840A2 (en) Delay fault testing for chip i/o
US20060242507A1 (en) Achieving Desired Synchronization at Sequential Elements While Testing Integrated Circuits Using Sequential Scan Techniques
JP3998607B2 (en) Test apparatus and test method for semiconductor integrated circuit device
JP2013088400A (en) Method for inspecting semiconductor integrated circuit, and the semiconductor integrated circuit
JP2003150658A (en) Method for designing semiconductor integrated circuit and scanning test method
JP2001228213A (en) Semiconductor integrated circuit device and method for inspecting clock skew
JP2010073761A (en) Semiconductor device, and method of controlling the same
US7386773B2 (en) Method and system for testing distributed logic circuitry
JP6530288B2 (en) Semiconductor device and test method of semiconductor device