JP4186559B2 - Scan flip-flop - Google Patents
Scan flip-flop Download PDFInfo
- Publication number
- JP4186559B2 JP4186559B2 JP2002266528A JP2002266528A JP4186559B2 JP 4186559 B2 JP4186559 B2 JP 4186559B2 JP 2002266528 A JP2002266528 A JP 2002266528A JP 2002266528 A JP2002266528 A JP 2002266528A JP 4186559 B2 JP4186559 B2 JP 4186559B2
- Authority
- JP
- Japan
- Prior art keywords
- scan
- flip
- terminal
- flop
- data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、スキャンフリップフロップに係り、より詳しくは、LSIのテストを容易化するためのスキャン設計に用いられるスキャンフリップフロップに関する。
【0002】
【従来の技術】
従来、LSI等の半導体集積回路中の複数のフリップフロップをシフトレジスタのように連結して(これを「スキャンチェーン」又は「スキャンパス」という)、外部端子からテスト信号を入力して、論理回路の動作結果をこのスキャンパスを介して読み出すことにより、テストの容易化を図ることができる技術が知られている(例えば特許文献1及び特許文献2参照)。
【0003】
図15には、スキャンチェーンを構成しない場合の半導体集積回路20の回路構成を示した。半導体集積回路20は、フリップフロップFF1−1〜FF1−n(nは自然数)、論理回路10−1〜10−(n−1)、及びバッファBUF12を備えている。
【0004】
フリップフロップFF1−1〜FF1−nのクロック端子CKには、バッファBUF12から所定周波数のクロック信号が入力される。フリップフロップFF1−1のD端子にはデータが入力され、フリップフロップFF1−1のQ端子は論理回路10−1を介して後段のフリップフロップFF1−2のデータ入力端子Dと接続されている。同様に、フリップフロップFF1−2のデータ出力端子Qは論理回路10−2を介して後段のフリップフロップFF1−3のデータ入力端子Dと接続されている。フリップフロップFF1−1は、データ入力端子Dに入力されたデータをクロック端子CKに入力されたクロック信号の立ち上がりエッジに同期してデータ出力端子Qに出力する。フリップフロップFF1−2以降のフリップフロップも同様である。
【0005】
LSI等の半導体集積回路の製造テスト時には、半導体集積回路を構成する素子を全て検査する必要があるが、図15に示したような構成では、任意のデータを任意のフリップフロップにセットするのが困難である。
【0006】
このため、フリップフロップFF1−1〜FF1−nを図16に示すようなフリップフロップFF3−1〜FF3−nに置き換えてスキャンチェーンすなわちシフトレジスタを構成し、任意のデータを任意のフリップフロップにセットしたり外部へ取り出すことによりテストするのが一般的である。
【0007】
フリップフロップFF3−1〜FF3−nは、データ入力端子D、データ出力端子Q、及びクロック端子CKに加えて、スキャンインプット端子SI及びスキャンイネーブル端子SEが設けられている。スキャンインプット端子SIには、任意のスキャンデータが入力される。スキャンイネーブル端子SEには、データ出力端子Qに出力するデータを選択するためのスキャンイネーブル信号が入力される。例えばスキャンイネーブル信号がイネーブル(例えばハイレベル)の場合には、図17に示すように、スキャンインプット端子SIに入力されたスキャンデータをクロック端子CKに入力されたクロック信号の立ち上がりエッジに同期してデータ出力端子Qに出力する。これにより、各フリップフロップのデータ出力端子Qが後段のフリップフロップのスキャンインプット端子SIと接続され、任意のデータをセットすることができる。
【0008】
一方、スキャンイネーブル信号がイネーブルでない場合には、図17に示すように、データ入力端子Dに入力されたデータをクロック端子CKに入力されたクロック信号の立ち上がりエッジに同期してデータ出力端子Qに出力する。なお、スキャンイネーブル信号は、スキャンテスト時には、必要に応じてローレベル又はハイレベルとなり、通常動作時には、ローレベルに固定される。
【0009】
しかしながら、図16に示した構成では、バッファBUF12から各フリップフロップに供給されるクロック信号にスキュー、すなわち時間差による遅延が生じると誤動作を起こす場合がある。すなわち、図18に示すように、例えばフリップフロップFF3−2に入力されるクロック信号とフリップフロップFF3−3に入力されるクロック信号との間にスキューが生じている場合、フリップフロップFF3−2のデータ出力端子Qからデータが出力された後にフリップフロップFF3−3に入力されるクロック信号が立ち上がるため、データがシフトされず、フリップフロップFF3−2と同じサイクルでフリップフロップFF3−3からデータが出力されてしまうという異常動作を起こしてしまう。
【0010】
このため、図19に示すように、フリップフロップFF3−2のデータ出力端子QとフリップフロップFF3−3のスキャンインプット端子SIとの間に、スキューによる遅延時間よりも長い遅延値を有する遅延回路DLY4を挿入することにより、タイミングの改善を図っていた。これにより、図20に示すように、フリップフロップFF3−2のデータ出力端子Qから出力されたデータが遅延回路DLY4によってスキューによる遅延時間よりも長い時間遅延されてフリップフロップFF3−3のスキャンインプット端子SIに入力されるため、フリップフロップFF3−2と同じサイクルでフリップフロップFF3−3からデータが出力されてしまうのを防ぐことができる。
【0011】
図21には、スキャンチェーンを構成可能な半導体集積回路であって複数のクロック回路を備えた半導体集積回路30を示した。図21に示す半導体集積回路30は、各々周波数が異なるクロック信号を出力するバッファBUF12、BUF14、及びクロック選択回路MUX16を備えている。ここで、バッファBUF14が出力するクロック信号の周波数は、バッファBUF12が出力するクロック信号の周波数よりも高いものとする。
【0012】
クロック選択回路MUX16は、B端子、A端子、及びS端子を備えており、B端子にはバッファBUF12からのクロック信号が、A端子にはバッファBUF14からのクロック信号が、S端子には、クロック選択信号がそれぞれ入力される。S端子には、例えば通常動作時にはローレベルが入力され、スキャンテスト時にはハイレベルが入力される。
【0013】
クロック選択回路MUX16は、S端子に入力されるクロック選択信号がローレベルの場合、すなわち通常動作時には、A端子に入力されるバッファBUF14からのクロック信号を選択してフリップフロップFF3−3〜FF3−nに出力する。一方、S端子に入力されるクロック選択信号がハイレベルの場合、すなわちスキャンテスト時には、B端子に入力されるバッファBUF12からのクロック信号を選択してフリップフロップFF3−3〜FF3−nに出力する。
【0014】
すなわち、通常動作時には、図22に示すように、例えばフリップフロップFF3−2は、フリップフロップFF3−3とは異なる周波数のクロックで動作する。一方、スキャンテスト時には、それぞれ同一周波数のクロックで動作する。
【0015】
このため、図22に示すように、例えばバッファBUF12からのクロック信号により動作するフリップフロップFF3−2から出力されたデータは、次段のフリップフロップFF3−3では複数サイクル保持される。従って、バッファBUF12、BUF19における前述したスキューによる問題は発生せず、フリップフロップFF3−2から出力されたデータは、スキューの有り無しに関係なくフリップフロップFF3−3に受け渡される。なお、このような関係をマルチサイクルパスという。
【0016】
しかしながら、スキャンテスト時には、図23に示すように何れのフリップフロップもバッファBUF12からのクロックにより動作するため、前述したように、クロックのスキューが発生することによりフリップフロップFF3−2が取り込んだデータが同一サイクルで次段のフリップフロップFF3−3が取り込んでしまうという異常動作を起こしてしまう。
【0017】
このため、通常動作時では問題とならないスキューを補正するために、タイミング改善の設計が必要であった。
【0018】
従って、スキャンテスト設計を行う際には、図24に示すように、まず通常のLSIの機能についての回路設計を行い(ステップ200)、その後スキャン用のフリップフロップの挿入等のスキャン設計を行い(ステップ202)、上記のようなスキューによる異常動作を防ぐために遅延回路を挿入する等のタイミング改善のための設計を行う(ステップ204)ことにより、最終的な回路を決定していた。
【0019】
【特許文献1】
特開平10−177060号公報。
【特許文献2】
特開平11−125662号公報。
【0020】
【発明が解決しようとする課題】
しかしながら、タイミング改善のための設計は、LSIが通常動作する分においては必要ないため、タイミング改善のための設計工数は、実際は余分な工数となっていた。
【0021】
本発明は、上記事実に鑑みて成されたものであり、LSI開発の設計工数を少なくすることができるスキャンフリップフロップを提供することを目的とする。
【0022】
【課題を解決するための手段】
上記目的を達成するために、請求項1記載の発明は、少なくともクロック発生回路及び論理回路を備えた半導体集積回路に複数搭載され、前記論理回路を挟んで直列接続する通常動作を行う経路とは別に前記論理回路を介さずに直接接続することによりスキャンチェーンを構成してスキャンテストを可能にするスキャンフリップフロップであって、データ入力端子と、スキャンデータ入力端子と、スキャンイネーブル端子と、クロック端子と、データ出力端子と、を少なくとも備え、前記クロック端子に入力された前記クロック発生回路からのクロック信号に同期して、前記スキャンイネーブル端子に入力されたスキャンイネーブル信号に応じて前記データ入力端子に入力されたデータ又は前記スキャンデータ入力端子に入力されたスキャンデータを前記データ出力端子に選択的に出力するフリップフロップと、少なくとも前記スキャンデータ入力端子に入力されたスキャンデータが、複数の前記フリップフロップを直列接続してスキャンチェーンを構成した場合に順次後段のフリップフロップに転送されるように、前記クロック信号の遅延時間よりも長い予め定めた所定時間遅延させる遅延手段と、を内蔵し、前記半導体集積回路は周波数の異なるクロックを発生する複数のクロック発生回路を備えると共に、前記スキャンテスト時には前記複数のクロック発生回路のうち何れか1つのクロック発生回路から出力されたクロック信号により前記フリップフロップが動作し、前記遅延手段は、前記データ出力端子側に設けられたことを特徴とする。
【0023】
スキャンフリップフロップは、クロック発生回路及び論理回路を備えた半導体集積回路に複数搭載され、論理回路を介さずに直列接続することによりスキャンチェーンを構成してスキャンテストを可能にするものである。ここで、論理回路を介さずに直列接続するとは、スキャンフリップフロップのデータ出力端子が論理回路を介さずに後段のスキャンフリップフロップのスキャンデータ入力端子に接続されるように接続することをいう。
【0024】
そして、スキャンフリップフロップは、フリップフロップ及び遅延手段を内蔵している。
【0025】
フリップフロップは、データ入力端子と、スキャンデータ入力端子と、スキャンイネーブル端子と、クロック端子と、データ出力端子と、を少なくとも備えており、例えばクロック端子に入力されたクロック発生回路からのクロック信号の立ち上がりエッジに同期して、スキャンイネーブル端子に入力されたスキャンイネーブル信号に応じてデータ入力端子に入力されたデータ又はスキャンデータ入力端子に入力されたスキャンデータをデータ出力端子に選択的に出力する。
【0026】
遅延手段は、少なくともスキャンデータ入力端子に入力されたスキャンデータが、複数のフリップフロップを直列接続してスキャンチェーンを構成した場合に順次後段のフリップフロップに転送されるように、すなわち、複数のフリップフロップが同一サイクルで同じデータを取り込まないように、クロック信号の遅延時間よりも長い予め定めた所定時間遅延させる。
【0027】
このような遅延手段を内蔵しているため、スキャン設計後にタイミング改善のための設計を行う必要がない。これにより、半導体集積回路の設計工数を少なくすることができる。
【0030】
ところで、半導体集積回路が周波数の異なるクロックを発生する複数のクロック発生回路を備える場合がある。例えば周波数の低いクロックで動作するフリップフロップから周波数が高いフリップフロップへデータを受け渡す場合、そのデータは、複数サイクル保持されるため、クロックの遅延による問題はないが、スキャンテスト時には、同一クロックでテストする必要があるため問題となる。
【0031】
そこで、前記半導体集積回路は周波数の異なるクロックを発生する複数のクロック発生回路を備えると共に、前記スキャンテスト時には前記複数のクロック発生回路のうち何れか1つのクロック発生回路から出力されたクロック信号により前記フリップフロップが動作し、前記遅延手段は、前記データ出力端子側に設けられた構成とすることができる。
【0032】
このように、データ出力端子側に遅延手段を設けることにより、データ出力端子から出力されたデータが遅延手段により遅延されて後段のフリップフロップに出力される。従って、複数のフリップフロップが同一サイクルで同じデータを取り込んでしまうのを防ぐことができる。
【0033】
また、請求項2に記載したように、前記半導体集積回路は周波数の異なるクロックを発生する複数のクロック発生回路を備えると共に、前記スキャンテスト時には前記複数のクロック発生回路のうち何れか1つのクロック発生回路から出力されたクロック信号により前記フリップフロップが動作し、前記遅延手段は前記データ出力端子側に設けられ、かつ前記遅延手段からの遅延データ又は前記データ出力端子からの出力データを選択信号に応じて選択的に出力する選択手段と、前記選択信号を入力するための選択信号入力手段と、をさらに備えた構成としてもよい。
【0034】
この場合、選択手段は、例えばスキャンテスト時には遅延データを選択して出力し、通常動作時にはデータ出力端子からのデータを選択してそのまま出力することができる。これにより、スキャンテスト時には、データ出力端子から出力されたデータが遅延手段により遅延されて後段のフリップフロップに出力されるため、複数のフリップフロップが同一サイクルで同じデータを取り込んでしまうのを防ぐことができ、通常動作時には、データ出力端子からのデータが遅延されずにそのまま出力されるため、データが無駄に遅延するのを防ぐことができる。
【0035】
【発明の実施の形態】
(第1実施形態)
以下、図面を参照して本発明の第1実施形態について説明する。なお、従来技術で説明した回路と同一部分については同一符号を付し、その詳細な説明は省略する。
【0036】
図1には、本実施形態に係る半導体集積回路40を示した。図1に示すように、半導体集積回路40は、フリップフロップFF5−1〜FF5−n(nは自然数)、論理回路10−1〜10−(n−1)、及びバッファBUF12を備えている。
【0037】
フリップフロップFF5−1〜FF5−nは、データ入力端子D、データ出力端子Q、クロック端子CK、スキャンインプット端子SI、スキャンイネーブル端子SE、スキャンアウトプット端子SOが設けられている。
【0038】
データ入力端子Dは、半導体集積回路40の通常動作で使用されるデータが入力される。フリップフロップFF5−1のデータ入力端子Dは、例えば外部入力端子に接続され、フリップフロップFF5−2〜FF5−nのデータ入力端子Dは、それぞれ前段の論理回路10−1〜10−(n−1)の出力端子と接続される。
【0039】
データ出力端子Qからは、データ入力端子D又はスキャンインプット端子SIに入力されたデータが選択的に出力される。フリップフロップFF5−1〜FF5−(n−1)のデータ出力端子Qは、それぞれ後段の論理回路10−1〜10−nの入力端子に接続され、フリップフロップFF5−nのデータ出力端子Qは、例えば外部出力端子と接続される。
【0040】
クロック端子CKには、バッファBUF12から所定周波数のクロック信号が入力される。
スキャンインプット端子SIには、任意のスキャンテスト用のスキャンデータが入力される。フリップフロップFF5−1のスキャンインプット端子SIは、例えばスキャンデータ入力用の外部入力端子に接続され、フリップフロップFF5−2〜FF5−nのスキャンインプット端子SIは、それぞれ前段のフリップフロップFF5−1〜FF5−(n−1)のスキャンアウトプット端子SOと接続される。
【0041】
スキャンイネーブル端子SEには、データ出力端子Qに出力するデータを選択するためのスキャンイネーブル信号が入力される。例えばスキャンイネーブル信号がイネーブル(例えばハイレベル)の場合には、スキャンインプット端子SIに入力されたスキャンデータがクロック端子CKに入力されたクロック信号の立ち上がりエッジに同期してデータ出力端子Qから出力される。また、詳細は後述するが、スキャンアウトプット端子SOからは、データ出力端子Qから出力されるデータを所定時間遅延させたデータが出力される。
【0042】
一方、スキャンイネーブル信号がイネーブルでない場合(ローレベルの場合)には、データ入力端子Dに入力されたデータがクロック端子CKに入力されたクロック信号の立ち上がりエッジに同期してデータ出力端子Qに出力される。また、スキャンアウトプット端子SOからは、データ出力端子Qから出力されるデータを所定時間遅延させたデータが出力される。
【0043】
なお、スキャンイネーブル信号は、スキャンテスト時には、必要に応じてローレベル又はハイレベルとなり、通常動作時には、ローレベルに固定される。
【0044】
このように、前段のフリップフロップのデータ出力端子Qが論理回路を挟んで後段のフリップフロップのデータ入力端子Dと接続されると共に、前段のスキャンアウトプット端子SOが後段のスキャンインプット端子SIに接続され、データ入力端子D又はスキャンインプット端子SIに入力されたデータが選択的にデータ出力端子Q及びスキャンアウトプット端子SOから後段のフリップフロップに出力されるため、任意のデータを論理回路にセットすることができ、スキャンテストを実施することができる。
【0045】
図2には、フリップフロップFF5−2の内部構成を示した。なお、フリップフロップFF5−1、FF5−3〜FF5−nについても同様の構成である。
【0046】
フリップフロップFF5−2は、図2に示すように、フリップフロップFF42及び遅延回路DLY8を備えている。
【0047】
なお、フリップフロップFF5−1〜FF5−nは本発明のスキャンフリップフロップに相当し、フリップフロップFF42は本発明のフリップフロップに相当し、遅延回路DLY8は本発明の遅延手段に相当し、バッファBUF12は本発明のクロック発生回路に相当し、データ入力端子Dは本発明のデータ入力端子に相当し、データ出力端子Qは本発明のデータ出力端子に相当し、スキャンイネーブル端子SEは本発明のスキャンイネーブル端子に相当し、クロック端子CKは本発明のクロック端子に相当し、スキャンインプット端子SIは本発明のスキャンデータ入力端子に相当し、スキャンアウトプット端子SOは本発明の遅延データ出力端子に相当する。
【0048】
フリップフロップFF42は、前述した図16のFF3−1等と同一の構成である。すなわち、データ入力端子D、データ出力端子Q、及びクロック端子CKに加えて、スキャンインプット端子SI及びスキャンイネーブル端子SEが設けられており、スキャンイネーブル端子SEに入力されたスキャンイネーブル信号に応じてスキャンインプット端子SIに入力されたスキャンデータ又はデータ入力端子Dに入力されたデータを選択的にデータ出力端子Qに出力する。
【0049】
フリップフロップFF42のデータ出力端子Qは、2方向に分岐され、一方は、フリップフロップFF5−1のデータ出力端子Qに接続され、他方は遅延回路DLY8の入力側に接続される。遅延回路DLY8の出力側は、フリップフロップFF5−1のスキャンアウトプット端子SOに接続される。
【0050】
遅延回路DLY8は、フリップフロップFF42のデータ出力端子Qから出力されたデータを所定時間遅延させてスキャンアウトプット端子SOに出力する。
【0051】
この所定時間は、クロック信号のスキュー、すなわち各フリップフロップ間で発生するクロック信号の遅延時間よりも長い時間に設定される。
【0052】
次に、フリップフロップFF5−2、FF5−3の動作について、図3に示すタイミングチャートを参照して説明する。
【0053】
スキャンテスト時において、フリップフロップFF5−2のスキャンイネーブル端子SEにハイレベルが入力されている場合、図3に示すように、クロック端子CKに入力されたクロック信号の立ち上がりエッジに同期して、スキャンインプット端子SIに入力されたデータが遅延回路DLY8によってクロック信号の遅延時間よりも長い所定時間遅延されてスキャンアウトプット端子SOから出力される。
【0054】
これにより、図3に示すようにフリップフロップFF5−2のクロック端子CKに入力されるクロック信号とフリップフロップFF5−3のクロック端子CKに入力されるクロック信号との間にスキューが発生している場合でも、フリップフロップFF5−3のスキャンインプット端子SIに入力されるデータがクロック信号の遅延時間よりも長い時間遅延して入力されるため、フリップフロップFF5−2及びフリップフロップFF5−3が同一サイクルでデータを取り込んでしまうのを防ぐことができる。
【0055】
このように、フリップフロップFF5−1〜FF5−nは、出力データを遅延するための遅延回路DLY8を内蔵している。このため、半導体集積回路40を設計する際には、図4に示すように、まず回路設計を行い(ステップ100)、その後スキャン設計を行う(ステップ102)だけでよい。従って、従来のようにスキャン設計の後にタイミング改善のための設計を行う必要がなく、半導体集積回路の設計工数を少なくすることができる。
【0056】
(第2実施形態)
次に、本発明の第2実施形態について説明する。なお、第1実施形態と同一部分には同一符号を付し、詳細な説明は省略する。
【0057】
図5には、本実施形態に係る半導体集積回路50を示した。半導体集積回路50が図1に示した半導体集積回路40と異なる点は、フリップフロップFF7−1〜FF7−nがスキャンアウトプット端子SOを備えておらず、データ出力端子Qが後段の論理回路の入力側に接続されると共に、後段のフリップフロップのスキャンインプット端子SIにも接続されている点である。なお、他の構成については図1に示した半導体集積回路40と同様であるので説明を省略する。
【0058】
図6には、フリップフロップFF7−3の内部構成を示した。なお、フリップフロップFF7−1、FF7−2、FF7−4〜FF7−nについても同様の構成である。
【0059】
フリップフロップFF7−3は、フリップフロップFF42及び遅延回路DLY8を備えている。遅延回路DLY8の出力側は、フリップフロップFF42のスキャンインプット端子SIに接続されている。
【0060】
従って、図7に示すように、フリップフロップFF7−3のスキャンインプット端子SIに入力されたデータは、遅延回路DLY8によってクロック信号の遅延時間よりも長い所定時間遅延されてフリップフロップFF42のスキャンインプット端子SIに入力される。そして、フリップフロップFF42は、クロック信号CKの立ち上がりエッジに同期してスキャンインプット端子SIに入力されたデータをデータ出力端子Qに出力する。
【0061】
これにより、フリップフロップFF7−2及びフリップフロップFF7−3が同一サイクルでデータを取り込んでしまうのを防ぐことができる。
【0062】
このように、フリップフロップFF7−1〜FF7−nは、出力データを遅延するための遅延回路DLY8を内蔵しているため、半導体集積回路50を設計する際には、タイミング改善のための設計を行う必要がなく、半導体集積回路の設計工数を少なくすることができる。
【0063】
(第3実施形態)
次に、本発明の第3実施形態について説明する。なお、従来技術で説明した回路と同一部分には同一符号を付し、詳細な説明は省略する。
【0064】
図8には、本実施形態に係る半導体集積回路60を示した。半導体集積回路60が図21に示した半導体集積回路30と異なる点は、フリップフロップFF11−1〜FF11−nの構成だけであるので、その他の構成については説明を省略する。
【0065】
図9には、フリップフロップFF11−2の内部構成を示した。なお、フリップフロップFF11−1、FF11−3〜FF11−nについても同様の構成である。
【0066】
フリップフロップFF11−2は、図9に示すように、フリップフロップFF42及び遅延回路DLY8を備えており、遅延回路DLY8の入力側は、フリップフロップFF42のデータ出力端子Qに接続され、遅延回路DLY8の出力側は、フリップフロップFF11−2のデータ出力端子Qに接続されている。これにより、フリップフロップFF42のデータ出力端子Qから出力されたデータは、クロック信号の遅延時間よりも長い時間遅延されて後段の論理回路の入力側及び後段のフリップフロップFF3−3のスキャンインプット端子SIに出力される。
【0067】
次に、フリップフロップFF11−2、FF11−3の動作について、図10に示すタイミングチャートを参照して説明する。
【0068】
スキャンテスト時には、クロック選択回路MUX16のS端子にクロック選択信号としてハイレベルが入力される、これにより、クロック選択回路MUX16は、B端子に入力されるバッファBUF12からのクロック信号を選択してフリップフロップFF11−3〜FF3−nに出力する。
【0069】
このため、図10に示すように、フリップフロップFF11−2、フリップフロップFF11−3は、共にバッファBUF12からのクロック信号により動作する。
【0070】
そして、スキャンテスト時において、フリップフロップFF11−2のスキャンイネーブル端子SEにローレベルが入力されている場合、図10に示すように、クロック端子CKに入力されたクロック信号の立ち上がりエッジに同期して、データ入力端子Dに入力されたデータが遅延回路DLY8によってクロック信号の遅延時間よりも長い所定時間遅延されてデータ出力端子Qから出力される。
【0071】
これにより、図10に示すようにフリップフロップFF11−2のクロック端子CKに入力されるクロック信号とフリップフロップFF11−3のクロック端子CKに入力されるクロック信号との間にスキューが発生している場合でも、フリップフロップFF11−2及びフリップフロップFF11−3が同一サイクルでデータを取り込んでしまうのを防ぐことができる。
【0072】
このように、フリップフロップFF11−1〜FF11−nは、出力データを遅延するための遅延回路DLY8を内蔵している。このため、半導体集積回路60を設計する際には、スキャン設計の後にタイミング改善のための設計を行う必要がなく、半導体集積回路の設計工数を少なくすることができる。
【0073】
(第4実施形態)
次に、本発明の第4実施形態について説明する。なお、第3実施形態と同一部分には同一符号を付し、詳細な説明は省略する。
【0074】
図11には、本実施形態に係る半導体集積回路70を示した。半導体集積回路70が図8に示した半導体集積回路60と異なる点は、フリップフロップFF12−1〜FF12−nの構成だけであるので、その他の構成については説明を省略する。
【0075】
図12には、フリップフロップFF12−2の内部構成を示した。なお、フリップフロップFF12−1、FF12−3〜FF12−nについても同様の構成である。
【0076】
フリップフロップFF12−2は、図12に示すように、フリップフロップFF42、遅延回路DLY8、及び出力選択回路MUX44を備えている。フリップフロップFF12−2は、データ入力端子D、スキャンインプット端子SI、スキャンイネーブル端子SE、クロック端子CK、データ出力端子Qの他、出力選択信号SHを入力するための出力選択信号入力端子SHを備えている。
【0077】
なお、出力選択回路MUX44は本発明の選択手段に相当し、出力選択信号入力端子SHは本発明の選択信号入力手段に相当する。
【0078】
出力選択回路MUX44は、B端子、A端子、及びS端子を備えており、B端子は、フリップフロップFF42のデータ出力端子Qに接続されており、A端子は遅延回路DLY8の出力側に接続されている。遅延回路DLY8の入力側はフリップフロップFF42のデータ出力端子Qに接続されている。
【0079】
出力選択回路MUX44は、S端子に入力された出力選択信号SHに応じてB端子又はA端子に入力されたデータを選択的にフリップフロップFF12−2のデータ出力端子Qに出力する。例えば出力選択信号SHは、通常動作時にはローレベル、スキャンテスト時にはハイレベルとなる信号である。そして、出力選択回路MUX44は、出力選択信号SHがローレベルの場合、すなわち通常動作時には、B端子に入力されたデータを選択してフリップフロップFF12−2のデータ出力端子Qに出力し、出力選択信号SHがハイレベルの場合、すなわちスキャンテスト時には、A端子に入力されたデータを選択してフリップフロップFF12−2のデータ出力端子Qに出力する。
【0080】
従って、通常動作時には、フリップフロップFF42のデータ出力端子Qから出力されたデータがそのままフリップフロップFF12−2のデータ出力端子Qに出力され、スキャンテスト時には、フリップフロップFF42のデータ出力端子Qから出力されたデータが遅延回路DLY8でクロック信号の遅延時間よりも長い時間遅延されてフリップフロップFF12−2のデータ出力端子Qに出力される。
【0081】
次に、フリップフロップFF12−2、FF12−3のスキャンテスト時の動作について、図13に示すタイミングチャートを参照して説明する。
【0082】
スキャンテスト時には、クロック選択回路MUX16のS端子にクロック選択信号としてハイレベルが入力される。これにより、クロック選択回路MUX16は、B端子に入力されるバッファBUF12からのクロック信号を選択してフリップフロップFF12−3〜FF12−nに出力する。
【0083】
このため、図13に示すように、フリップフロップFF12−2、フリップフロップFF12−3は、共にバッファBUF12からのクロック信号により動作する。
【0084】
そして、スキャンテスト時において、フリップフロップFF12−2のスキャンイネーブル端子SEにローレベルが入力され、かつ出力選択信号入力端子SHにハイレベルが入力されている場合、図13に示すように、クロック端子CKに入力されたクロック信号の立ち上がりエッジに同期して、データ入力端子Dに入力されたデータが遅延回路DLY8によってクロック信号の遅延時間よりも長い所定時間遅延されてデータ出力端子Qから出力される。
【0085】
これにより、図13に示すようにフリップフロップFF12−2のクロック端子CKに入力されるクロック信号とフリップフロップFF12−3のクロック端子CKに入力されるクロック信号との間にスキューが発生している場合でも、フリップフロップFF12−2及びフリップフロップFF12−3が同一サイクルでデータを取り込んでしまうのを防ぐことができる。
【0086】
次に、フリップフロップFF12−2、FF12−3の通常動作時の動作について、図14に示すタイミングチャートを参照して説明する。
【0087】
通常動作時時には、クロック選択回路MUX16のS端子にクロック選択信号としてローレベルが入力される。これにより、クロック選択回路MUX16は、A端子に入力されるバッファBUF14からのクロック信号を選択してフリップフロップFF12−3〜FF12−nに出力する。
【0088】
このため、図14に示すように、フリップフロップFF12−2、フリップフロップFF12−3は、異なる周波数のクロック信号により動作する。
【0089】
そして、通常動作時において、フリップフロップFF12−2のスキャンイネーブル端子SEにローレベルが入力され、かつ出力選択信号入力端子SHにローレベルが入力されている場合、出力選択回路MUX44は、B端子に入力されたデータ、すなわちフリップフロップFF42のデータ出力端子Qから出力されたデータを選択してフリップフロップFF12−2のデータ出力端子Qに出力する。これにより、図14に示すようにデータを遅延させることなく出力することができる。
【0090】
このように、フリップフロップFF12−1〜FF12−nは、出力データを遅延するための遅延回路DLY8及び出力選択回路MUX44を内蔵している。このため、半導体集積回路70を設計する際には、スキャン設計の後にタイミング改善のための設計を行う必要がなく、半導体集積回路の設計工数を少なくすることができる。
【0091】
【発明の効果】
以上説明したように、本発明によれば、LSI開発の設計工数を少なくすることができる、という効果を有する。
【図面の簡単な説明】
【図1】第1実施形態に係る半導体集積回路の回路図である。
【図2】第1実施形態に係るフリップフロップの回路図である。
【図3】第1実施形態に係る半導体集積回路の動作タイミングを示すタイミングチャートである。
【図4】第1実施形態に係る半導体集積回路の設計フローを示すフローチャートである。
【図5】第2実施形態に係る半導体集積回路の回路図である。
【図6】第2実施形態に係るフリップフロップの回路図である。
【図7】第2実施形態に係る半導体集積回路の動作タイミングを示すタイミングチャートである。
【図8】第3実施形態に係る半導体集積回路の回路図である。
【図9】第3実施形態に係るフリップフロップの回路図である。
【図10】第3実施形態に係る半導体集積回路の動作タイミングを示すタイミングチャートである。
【図11】第4実施形態に係る半導体集積回路の回路図である。
【図12】第4実施形態に係るフリップフロップの回路図である。
【図13】第4実施形態に係る半導体集積回路のスキャンテスト時における動作タイミングを示すタイミングチャートである。
【図14】第4実施形態に係る半導体集積回路の通常動作時における動作タイミングを示すタイミングチャートである。
【図15】従来例に係る半導体集積回路の回路図である。
【図16】従来例に係る半導体集積回路の回路図である。
【図17】従来例に係る半導体集積回路の動作タイミングを示すタイミングチャートである。
【図18】従来例に係る半導体集積回路の動作タイミングを示すタイミングチャートである。
【図19】従来例に係る半導体集積回路の回路図である。
【図20】従来例に係る半導体集積回路の動作タイミングを示すタイミングチャートである。
【図21】従来例に係る半導体集積回路の回路図である。
【図22】従来例に係る半導体集積回路の通常動作時における動作タイミングを示すタイミングチャートである。
【図23】従来例に係る半導体集積回路のスキャンテスト時における動作タイミングを示すタイミングチャートである。
【図24】従来例に係る半導体集積回路の設計フローを示すフローチャートである。
【符号の説明】
10 論理回路
20、30、40、50、60、70 半導体集積回路
BUF12、BUF14 バッファ
DLY4、DLY8 遅延回路
FF1、FF3、FF5、FF7、FF11、FF12 フリップフロップ
FF42 フリップフロップ
MUX16 クロック選択回路
MUX44 出力選択回路
D データ入力端子
Q データ出力端子
CK クロック端子
SE スキャンイネーブル端子
SH 出力選択信号入力端子
SI スキャンインプット端子
SO スキャンアウトプット端子[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a scan flip-flop, and more particularly to a scan flip-flop used in scan design for facilitating LSI testing.
[0002]
[Prior art]
Conventionally, a plurality of flip-flops in a semiconductor integrated circuit such as an LSI are connected like a shift register (this is called a “scan chain” or “scan path”), and a test signal is input from an external terminal to generate a logic circuit A technique is known that can facilitate the test by reading out the operation result of (1) through this scan path (see, for example,
[0003]
FIG. 15 shows a circuit configuration of the semiconductor integrated
[0004]
A clock signal having a predetermined frequency is input from the buffer BUF12 to the clock terminals CK of the flip-flops FF1-1 to FF1-n. Data is input to the D terminal of the flip-flop FF1-1, and the Q terminal of the flip-flop FF1-1 is connected to the data input terminal D of the subsequent flip-flop FF1-2 via the logic circuit 10-1. Similarly, the data output terminal Q of the flip-flop FF1-2 is connected to the data input terminal D of the subsequent flip-flop FF1-3 via the logic circuit 10-2. The flip-flop FF1-1 outputs the data input to the data input terminal D to the data output terminal Q in synchronization with the rising edge of the clock signal input to the clock terminal CK. The same applies to flip-flops after the flip-flop FF1-2.
[0005]
At the time of manufacturing test of a semiconductor integrated circuit such as an LSI, it is necessary to inspect all elements constituting the semiconductor integrated circuit. However, in the configuration shown in FIG. 15, arbitrary data is set in an arbitrary flip-flop. Have difficulty.
[0006]
Therefore, the flip-flops FF1-1 to FF1-n are replaced with flip-flops FF3-1 to FF3-n as shown in FIG. 16 to form a scan chain, that is, a shift register, and arbitrary data is set in any flip-flop. It is common to test by taking out or taking outside.
[0007]
The flip-flops FF3-1 to FF3-n are provided with a scan input terminal SI and a scan enable terminal SE in addition to the data input terminal D, the data output terminal Q, and the clock terminal CK. Arbitrary scan data is input to the scan input terminal SI. A scan enable signal for selecting data to be output to the data output terminal Q is input to the scan enable terminal SE. For example, when the scan enable signal is enabled (for example, high level), as shown in FIG. 17, the scan data input to the scan input terminal SI is synchronized with the rising edge of the clock signal input to the clock terminal CK. Output to data output terminal Q. Thus, the data output terminal Q of each flip-flop is connected to the scan input terminal SI of the subsequent flip-flop, and arbitrary data can be set.
[0008]
On the other hand, when the scan enable signal is not enabled, as shown in FIG. 17, the data input to the data input terminal D is applied to the data output terminal Q in synchronization with the rising edge of the clock signal input to the clock terminal CK. Output. The scan enable signal is at a low level or a high level as necessary during a scan test, and is fixed at a low level during normal operation.
[0009]
However, in the configuration shown in FIG. 16, a malfunction may occur if a skew, that is, a delay due to a time difference occurs in the clock signal supplied from the
[0010]
Therefore, as shown in FIG. 19, a delay circuit DLY4 having a delay value longer than the delay time due to skew between the data output terminal Q of the flip-flop FF3-2 and the scan input terminal SI of the flip-flop FF3-3. The timing was improved by inserting. As a result, as shown in FIG. 20, the data output from the data output terminal Q of the flip-flop FF3-2 is delayed by a delay circuit DLY4 for a time longer than the delay time due to the skew, and the scan input terminal of the flip-flop FF3-3. Since it is input to SI, it is possible to prevent data from being output from the flip-flop FF3-3 in the same cycle as the flip-flop FF3-2.
[0011]
FIG. 21 shows a semiconductor integrated
[0012]
The clock selection circuit MUX16 has a B terminal, an A terminal, and an S terminal. The B terminal has a clock signal from the buffer BUF12, the A terminal has a clock signal from the buffer BUF14, and the S terminal has a clock signal. Each selection signal is input. For example, a low level is input to the S terminal during a normal operation, and a high level is input during a scan test.
[0013]
The clock selection circuit MUX16 selects the clock signal from the buffer BUF14 input to the A terminal and selects the flip-flops FF3-3 to FF3-when the clock selection signal input to the S terminal is at a low level, that is, during normal operation. output to n. On the other hand, when the clock selection signal input to the S terminal is at a high level, that is, during a scan test, the clock signal from the buffer BUF12 input to the B terminal is selected and output to the flip-flops FF3-3 to FF3-n. .
[0014]
That is, during normal operation, as shown in FIG. 22, for example, the flip-flop FF3-2 operates with a clock having a frequency different from that of the flip-flop FF3-3. On the other hand, at the time of a scan test, each operates with a clock having the same frequency.
[0015]
For this reason, as shown in FIG. 22, for example, the data output from the flip-flop FF3-2 operated by the clock signal from the buffer BUF12 is held in the next-stage flip-flop FF3-3 for a plurality of cycles. Therefore, the problem caused by the skew in the buffers BUF12 and BUF19 does not occur, and the data output from the flip-flop FF3-2 is transferred to the flip-flop FF3-3 regardless of the presence or absence of skew. Such a relationship is called a multi-cycle path.
[0016]
However, at the time of the scan test, as shown in FIG. 23, since any flip-flop operates with the clock from the buffer BUF12, as described above, the data taken in by the flip-flop FF3-2 due to the clock skew occurs. In the same cycle, the next stage flip-flop FF3-3 takes in an abnormal operation.
[0017]
For this reason, in order to correct a skew that does not cause a problem during normal operation, a design for improving timing is required.
[0018]
Therefore, when performing a scan test design, as shown in FIG. 24, first, a circuit design for a normal LSI function is performed (step 200), and then a scan design such as insertion of a scan flip-flop is performed ( In step 202), the final circuit is determined by performing a design for improving the timing such as inserting a delay circuit in order to prevent the abnormal operation due to the skew as described above (step 204).
[0019]
[Patent Document 1]
Japanese Patent Laid-Open No. 10-177060.
[Patent Document 2]
JP-A-11-125662.
[0020]
[Problems to be solved by the invention]
However, since the design for improving the timing is not necessary for the normal operation of the LSI, the design man-hour for improving the timing is actually an extra man-hour.
[0021]
The present invention has been made in view of the above-described facts, and an object of the present invention is to provide a scan flip-flop capable of reducing the design man-hour for LSI development.
[0022]
[Means for Solving the Problems]
In order to achieve the above object, the invention according to
[0023]
A plurality of scan flip-flops are mounted on a semiconductor integrated circuit including a clock generation circuit and a logic circuit, and are connected in series without using a logic circuit to constitute a scan chain and enable a scan test. Here, the serial connection without using the logic circuit means that the data output terminal of the scan flip-flop is connected so as to be connected to the scan data input terminal of the subsequent scan flip-flop without using the logic circuit.
[0024]
The scan flip-flop includes a flip-flop and a delay unit.
[0025]
The flip-flop includes at least a data input terminal, a scan data input terminal, a scan enable terminal, a clock terminal, and a data output terminal. For example, a flip-flop receives a clock signal from a clock generation circuit input to the clock terminal. In synchronization with the rising edge, data input to the data input terminal or scan data input to the scan data input terminal is selectively output to the data output terminal in accordance with the scan enable signal input to the scan enable terminal.
[0026]
The delay means is configured so that at least scan data input to the scan data input terminal is sequentially transferred to a subsequent flip-flop when a plurality of flip-flops are connected in series to form a scan chain. The delay is delayed for a predetermined time longer than the delay time of the clock signal so that the clock does not capture the same data in the same cycle.
[0027]
Since such a delay means is built in, it is not necessary to design for timing improvement after the scan design. Thereby, the design man-hour of the semiconductor integrated circuit can be reduced.
[0030]
By the way, a semiconductor integrated circuit may include a plurality of clock generation circuits that generate clocks having different frequencies. For example, when data is transferred from a flip-flop that operates with a low-frequency clock to a flip-flop with a high frequency, the data is held for multiple cycles, so there is no problem due to clock delay. This is a problem because it needs to be tested.
[0031]
Therefore, in front The semiconductor integrated circuit includes a plurality of clock generation circuits that generate clocks having different frequencies, and the flip-flop is operated by a clock signal output from any one of the plurality of clock generation circuits during the scan test. The delay means may be provided on the data output terminal side.
[0032]
Thus, by providing the delay means on the data output terminal side, the data output from the data output terminal is delayed by the delay means and output to the subsequent flip-flop. Therefore, it is possible to prevent a plurality of flip-flops from capturing the same data in the same cycle.
[0033]
[0034]
In this case, for example, the selection means can select and output the delay data during the scan test, and can select and output the data from the data output terminal as it is during the normal operation. This prevents the data output from the data output terminal from being delayed by the delay means and output to the subsequent flip-flop during the scan test, thereby preventing multiple flip-flops from capturing the same data in the same cycle. In normal operation, the data from the data output terminal is output as it is without being delayed, so that it is possible to prevent the data from being delayed unnecessarily.
[0035]
DETAILED DESCRIPTION OF THE INVENTION
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. Note that the same reference numerals are given to the same parts as those described in the prior art, and detailed description thereof is omitted.
[0036]
FIG. 1 shows a semiconductor integrated
[0037]
The flip-flops FF5-1 to FF5-n are provided with a data input terminal D, a data output terminal Q, a clock terminal CK, a scan input terminal SI, a scan enable terminal SE, and a scan output terminal SO.
[0038]
Data used for normal operation of the semiconductor integrated
[0039]
From the data output terminal Q, data input to the data input terminal D or the scan input terminal SI is selectively output. The data output terminals Q of the flip-flops FF5-1 to FF5- (n-1) are respectively connected to the input terminals of the logic circuits 10-1 to 10-n in the subsequent stage, and the data output terminals Q of the flip-flops FF5-n are For example, it is connected to an external output terminal.
[0040]
A clock signal having a predetermined frequency is input from the buffer BUF12 to the clock terminal CK.
Arbitrary scan test scan data is input to the scan input terminal SI. The scan input terminal SI of the flip-flop FF5-1 is connected to, for example, an external input terminal for inputting scan data, and the scan input terminals SI of the flip-flops FF5-2 to FF5-n are respectively connected to the preceding flip-flops FF5-1 to FF5-1. It is connected to the scan output terminal SO of FF5- (n-1).
[0041]
A scan enable signal for selecting data to be output to the data output terminal Q is input to the scan enable terminal SE. For example, when the scan enable signal is enabled (for example, high level), the scan data input to the scan input terminal SI is output from the data output terminal Q in synchronization with the rising edge of the clock signal input to the clock terminal CK. The Although details will be described later, data obtained by delaying data output from the data output terminal Q by a predetermined time is output from the scan output terminal SO.
[0042]
On the other hand, when the scan enable signal is not enabled (when the level is low), the data input to the data input terminal D is output to the data output terminal Q in synchronization with the rising edge of the clock signal input to the clock terminal CK. Is done. Further, data obtained by delaying data output from the data output terminal Q by a predetermined time is output from the scan output terminal SO.
[0043]
The scan enable signal is at a low level or a high level as necessary during a scan test, and is fixed at a low level during normal operation.
[0044]
Thus, the data output terminal Q of the preceding flip-flop is connected to the data input terminal D of the succeeding flip-flop across the logic circuit, and the preceding scan output terminal SO is connected to the succeeding scan input terminal SI. Since the data input to the data input terminal D or the scan input terminal SI is selectively output from the data output terminal Q and the scan output terminal SO to the subsequent flip-flop, arbitrary data is set in the logic circuit. And a scan test can be performed.
[0045]
FIG. 2 shows the internal configuration of the flip-flop FF5-2. The flip-flops FF5-1 and FF5-3 to FF5-n have the same configuration.
[0046]
As shown in FIG. 2, the flip-flop FF5-2 includes a flip-flop FF42 and a delay circuit DLY8.
[0047]
The flip-flops FF5-1 to FF5-n correspond to the scan flip-flop of the present invention, the flip-flop FF42 corresponds to the flip-flop of the present invention, the delay circuit DLY8 corresponds to the delay means of the present invention, and the buffer BUF12. Corresponds to the clock generation circuit of the present invention, the data input terminal D corresponds to the data input terminal of the present invention, the data output terminal Q corresponds to the data output terminal of the present invention, and the scan enable terminal SE corresponds to the scan input terminal of the present invention. The clock terminal CK corresponds to the clock terminal of the present invention, the scan input terminal SI corresponds to the scan data input terminal of the present invention, and the scan output terminal SO corresponds to the delayed data output terminal of the present invention. To do.
[0048]
The flip-flop FF42 has the same configuration as the above-described FF3-1 in FIG. That is, in addition to the data input terminal D, the data output terminal Q, and the clock terminal CK, a scan input terminal SI and a scan enable terminal SE are provided, and a scan is performed according to a scan enable signal input to the scan enable terminal SE. The scan data input to the input terminal SI or the data input to the data input terminal D is selectively output to the data output terminal Q.
[0049]
The data output terminal Q of the flip-flop FF42 branches in two directions, one is connected to the data output terminal Q of the flip-flop FF5-1 and the other is connected to the input side of the delay circuit DLY8. The output side of the delay circuit DLY8 is connected to the scan output terminal SO of the flip-flop FF5-1.
[0050]
The delay circuit DLY8 delays the data output from the data output terminal Q of the flip-flop FF42 for a predetermined time and outputs the delayed data to the scan output terminal SO.
[0051]
This predetermined time is set to a time longer than the skew of the clock signal, that is, the delay time of the clock signal generated between the flip-flops.
[0052]
Next, operations of the flip-flops FF5-2 and FF5-3 will be described with reference to a timing chart shown in FIG.
[0053]
When a high level is input to the scan enable terminal SE of the flip-flop FF5-2 at the time of the scan test, as shown in FIG. 3, the scan is performed in synchronization with the rising edge of the clock signal input to the clock terminal CK. The data input to the input terminal SI is delayed by a predetermined time longer than the delay time of the clock signal by the delay circuit DLY8 and output from the scan output terminal SO.
[0054]
As a result, as shown in FIG. 3, there is a skew between the clock signal input to the clock terminal CK of the flip-flop FF5-2 and the clock signal input to the clock terminal CK of the flip-flop FF5-3. Even in this case, since the data input to the scan input terminal SI of the flip-flop FF5-3 is input with a delay longer than the delay time of the clock signal, the flip-flop FF5-2 and the flip-flop FF5-3 are in the same cycle. Can prevent data from being imported.
[0055]
As described above, the flip-flops FF5-1 to FF5-n incorporate the delay circuit DLY8 for delaying the output data. For this reason, when designing the semiconductor integrated
[0056]
(Second Embodiment)
Next, a second embodiment of the present invention will be described. In addition, the same code | symbol is attached | subjected to the same part as 1st Embodiment, and detailed description is abbreviate | omitted.
[0057]
FIG. 5 shows a semiconductor integrated
[0058]
FIG. 6 shows the internal configuration of the flip-flop FF7-3. The flip-flops FF7-1, FF7-2, and FF7-4 to FF7-n have the same configuration.
[0059]
The flip-flop FF7-3 includes a flip-flop FF42 and a delay circuit DLY8. The output side of the delay circuit DLY8 is connected to the scan input terminal SI of the flip-flop FF42.
[0060]
Therefore, as shown in FIG. 7, the data input to the scan input terminal SI of the flip-flop FF7-3 is delayed by a predetermined time longer than the delay time of the clock signal by the delay circuit DLY8, and the scan input terminal of the flip-flop FF42. Input to SI. The flip-flop FF42 outputs the data input to the scan input terminal SI to the data output terminal Q in synchronization with the rising edge of the clock signal CK.
[0061]
Thereby, it is possible to prevent the flip-flop FF7-2 and the flip-flop FF7-3 from capturing data in the same cycle.
[0062]
As described above, since the flip-flops FF7-1 to FF7-n incorporate the delay circuit DLY8 for delaying output data, when designing the semiconductor integrated
[0063]
(Third embodiment)
Next, a third embodiment of the present invention will be described. The same parts as those of the circuit described in the prior art are denoted by the same reference numerals, and detailed description thereof is omitted.
[0064]
FIG. 8 shows a semiconductor integrated
[0065]
FIG. 9 shows the internal configuration of the flip-flop FF11-2. The flip-flops FF11-1 and FF11-3 to FF11-n have the same configuration.
[0066]
As shown in FIG. 9, the flip-flop FF11-2 includes a flip-flop FF42 and a delay circuit DLY8. The input side of the delay circuit DLY8 is connected to the data output terminal Q of the flip-flop FF42, and the delay circuit DLY8 The output side is connected to the data output terminal Q of the flip-flop FF11-2. As a result, the data output from the data output terminal Q of the flip-flop FF42 is delayed for a time longer than the delay time of the clock signal, and the input side of the subsequent logic circuit and the scan input terminal SI of the subsequent flip-flop FF3-3. Is output.
[0067]
Next, operations of the flip-flops FF11-2 and FF11-3 will be described with reference to a timing chart shown in FIG.
[0068]
At the time of the scan test, a high level is input as a clock selection signal to the S terminal of the clock selection circuit MUX16. Thus, the clock selection circuit MUX16 selects the clock signal from the buffer BUF12 input to the B terminal and flip-flop Output to FF11-3 to FF3-n.
[0069]
Therefore, as shown in FIG. 10, both the flip-flop FF11-2 and the flip-flop FF11-3 are operated by the clock signal from the buffer BUF12.
[0070]
In the scan test, when a low level is input to the scan enable terminal SE of the flip-flop FF11-2, as shown in FIG. 10, in synchronization with the rising edge of the clock signal input to the clock terminal CK. The data input to the data input terminal D is delayed by a predetermined time longer than the delay time of the clock signal by the delay circuit DLY8 and output from the data output terminal Q.
[0071]
As a result, as shown in FIG. 10, there is a skew between the clock signal input to the clock terminal CK of the flip-flop FF11-2 and the clock signal input to the clock terminal CK of the flip-flop FF11-3. Even in this case, the flip-flop FF11-2 and the flip-flop FF11-3 can be prevented from capturing data in the same cycle.
[0072]
As described above, the flip-flops FF11-1 to FF11-n incorporate the delay circuit DLY8 for delaying the output data. Therefore, when designing the semiconductor integrated
[0073]
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described. In addition, the same code | symbol is attached | subjected to the same part as 3rd Embodiment, and detailed description is abbreviate | omitted.
[0074]
FIG. 11 shows a semiconductor integrated
[0075]
FIG. 12 shows the internal configuration of the flip-flop FF12-2. The flip-flops FF12-1 and FF12-3 to FF12-n have the same configuration.
[0076]
As shown in FIG. 12, the flip-flop FF12-2 includes a flip-flop FF42, a delay circuit DLY8, and an output selection circuit MUX44. In addition to the data input terminal D, the scan input terminal SI, the scan enable terminal SE, the clock terminal CK, and the data output terminal Q, the flip-flop FF12-2 includes an output selection signal input terminal SH for inputting the output selection signal SH. ing.
[0077]
The output selection circuit MUX44 corresponds to the selection means of the present invention, and the output selection signal input terminal SH corresponds to the selection signal input means of the present invention.
[0078]
The output selection circuit MUX44 has a B terminal, an A terminal, and an S terminal, the B terminal is connected to the data output terminal Q of the flip-flop FF42, and the A terminal is connected to the output side of the delay circuit DLY8. ing. The input side of the delay circuit DLY8 is connected to the data output terminal Q of the flip-flop FF42.
[0079]
The output selection circuit MUX 44 selectively outputs the data input to the B terminal or the A terminal to the data output terminal Q of the flip-flop FF12-2 according to the output selection signal SH input to the S terminal. For example, the output selection signal SH is a signal that is at a low level during normal operation and at a high level during a scan test. The output selection circuit MUX 44 selects the data input to the B terminal and outputs it to the data output terminal Q of the flip-flop FF12-2 for output selection when the output selection signal SH is at a low level, that is, during normal operation. When the signal SH is at a high level, that is, during a scan test, the data input to the A terminal is selected and output to the data output terminal Q of the flip-flop FF12-2.
[0080]
Accordingly, during normal operation, the data output from the data output terminal Q of the flip-flop FF42 is output as it is to the data output terminal Q of the flip-flop FF12-2, and during the scan test, it is output from the data output terminal Q of the flip-flop FF42. The delayed data is delayed by the delay circuit DLY8 for a time longer than the delay time of the clock signal and output to the data output terminal Q of the flip-flop FF12-2.
[0081]
Next, the operation during the scan test of the flip-flops FF12-2 and FF12-3 will be described with reference to the timing chart shown in FIG.
[0082]
During the scan test, a high level is input as a clock selection signal to the S terminal of the clock selection circuit MUX16. Thereby, the clock selection circuit MUX16 selects the clock signal from the buffer BUF12 input to the B terminal and outputs it to the flip-flops FF12-3 to FF12-n.
[0083]
For this reason, as shown in FIG. 13, both the flip-flop FF12-2 and the flip-flop FF12-3 are operated by the clock signal from the buffer BUF12.
[0084]
In the scan test, when a low level is input to the scan enable terminal SE of the flip-flop FF12-2 and a high level is input to the output selection signal input terminal SH, as shown in FIG. In synchronization with the rising edge of the clock signal input to CK, the data input to the data input terminal D is delayed by a predetermined time longer than the delay time of the clock signal by the delay circuit DLY8 and output from the data output terminal Q. .
[0085]
As a result, as shown in FIG. 13, a skew is generated between the clock signal input to the clock terminal CK of the flip-flop FF12-2 and the clock signal input to the clock terminal CK of the flip-flop FF12-3. Even in this case, the flip-flop FF12-2 and the flip-flop FF12-3 can be prevented from taking in data in the same cycle.
[0086]
Next, operations during normal operation of the flip-flops FF12-2 and FF12-3 will be described with reference to a timing chart shown in FIG.
[0087]
During normal operation, a low level is input as a clock selection signal to the S terminal of the clock selection circuit MUX16. Thereby, the clock selection circuit MUX16 selects the clock signal from the buffer BUF14 input to the A terminal and outputs it to the flip-flops FF12-3 to FF12-n.
[0088]
Therefore, as shown in FIG. 14, the flip-flop FF12-2 and the flip-flop FF12-3 operate with clock signals having different frequencies.
[0089]
In a normal operation, when a low level is input to the scan enable terminal SE of the flip-flop FF12-2 and a low level is input to the output selection signal input terminal SH, the output selection circuit MUX44 is connected to the B terminal. The input data, that is, the data output from the data output terminal Q of the flip-flop FF42 is selected and output to the data output terminal Q of the flip-flop FF12-2. As a result, the data can be output without delay as shown in FIG.
[0090]
As described above, the flip-flops FF12-1 to FF12-n incorporate the delay circuit DLY8 and the output selection circuit MUX44 for delaying the output data. Therefore, when designing the semiconductor integrated
[0091]
【The invention's effect】
As described above, according to the present invention, it is possible to reduce the design man-hours for LSI development.
[Brief description of the drawings]
FIG. 1 is a circuit diagram of a semiconductor integrated circuit according to a first embodiment.
FIG. 2 is a circuit diagram of a flip-flop according to the first embodiment.
FIG. 3 is a timing chart showing operation timings of the semiconductor integrated circuit according to the first embodiment.
FIG. 4 is a flowchart showing a design flow of the semiconductor integrated circuit according to the first embodiment.
FIG. 5 is a circuit diagram of a semiconductor integrated circuit according to a second embodiment.
FIG. 6 is a circuit diagram of a flip-flop according to a second embodiment.
FIG. 7 is a timing chart showing operation timings of the semiconductor integrated circuit according to the second embodiment.
FIG. 8 is a circuit diagram of a semiconductor integrated circuit according to a third embodiment.
FIG. 9 is a circuit diagram of a flip-flop according to a third embodiment.
FIG. 10 is a timing chart showing operation timings of the semiconductor integrated circuit according to the third embodiment.
FIG. 11 is a circuit diagram of a semiconductor integrated circuit according to a fourth embodiment.
FIG. 12 is a circuit diagram of a flip-flop according to a fourth embodiment.
FIG. 13 is a timing chart showing operation timings during a scan test of the semiconductor integrated circuit according to the fourth embodiment.
FIG. 14 is a timing chart showing operation timings during normal operation of the semiconductor integrated circuit according to the fourth embodiment.
FIG. 15 is a circuit diagram of a semiconductor integrated circuit according to a conventional example.
FIG. 16 is a circuit diagram of a semiconductor integrated circuit according to a conventional example.
FIG. 17 is a timing chart showing operation timings of a semiconductor integrated circuit according to a conventional example.
FIG. 18 is a timing chart showing operation timing of a semiconductor integrated circuit according to a conventional example.
FIG. 19 is a circuit diagram of a semiconductor integrated circuit according to a conventional example.
FIG. 20 is a timing chart showing the operation timing of a semiconductor integrated circuit according to a conventional example.
FIG. 21 is a circuit diagram of a semiconductor integrated circuit according to a conventional example.
FIG. 22 is a timing chart showing operation timings in a normal operation of a semiconductor integrated circuit according to a conventional example.
FIG. 23 is a timing chart showing operation timings during a scan test of a semiconductor integrated circuit according to a conventional example.
FIG. 24 is a flowchart showing a design flow of a semiconductor integrated circuit according to a conventional example.
[Explanation of symbols]
10 logic circuits
20, 30, 40, 50, 60, 70 Semiconductor integrated circuit
BUF12, BUF14 buffer
DLY4, DLY8 delay circuit
FF1, FF3, FF5, FF7, FF11, FF12 flip-flop
FF42 flip-flop
MUX16 clock selection circuit
MUX44 output selection circuit
D Data input terminal
Q Data output terminal
CK clock pin
SE scan enable pin
SH Output selection signal input terminal
SI scan input terminal
SO Scan output terminal
Claims (2)
データ入力端子と、スキャンデータ入力端子と、スキャンイネーブル端子と、クロック端子と、データ出力端子と、を少なくとも備え、前記クロック端子に入力された前記クロック発生回路からのクロック信号に同期して、前記スキャンイネーブル端子に入力されたスキャンイネーブル信号に応じて前記データ入力端子に入力されたデータ又は前記スキャンデータ入力端子に入力されたスキャンデータを前記データ出力端子に選択的に出力するフリップフロップと、
少なくとも前記スキャンデータ入力端子に入力されたスキャンデータが、複数の前記フリップフロップを直列接続してスキャンチェーンを構成した場合に順次後段のフリップフロップに転送されるように、前記クロック信号の遅延時間よりも長い予め定めた所定時間遅延させる遅延手段と、
を内蔵し、
前記半導体集積回路は周波数の異なるクロックを発生する複数のクロック発生回路を備えると共に、前記スキャンテスト時には前記複数のクロック発生回路のうち何れか1つのクロック発生回路から出力されたクロック信号により前記フリップフロップが動作し、
前記遅延手段は、前記データ出力端子側に設けられたことを特徴とするスキャンフリップフロップ。A plurality of semiconductor integrated circuits including at least a clock generation circuit and a logic circuit are mounted, and a scan chain can be formed by directly connecting without passing through the logic circuit separately from a path for performing a normal operation with the logic circuit sandwiched in series. A scan flip-flop that is configured to enable scan testing,
A data input terminal, a scan data input terminal, a scan enable terminal, a clock terminal, and a data output terminal are provided at least, and in synchronization with a clock signal from the clock generation circuit input to the clock terminal, A flip-flop that selectively outputs data input to the data input terminal or scan data input to the scan data input terminal to the data output terminal in response to a scan enable signal input to the scan enable terminal;
From the delay time of the clock signal, at least the scan data input to the scan data input terminal is sequentially transferred to the subsequent flip-flop when a plurality of flip-flops are connected in series to form a scan chain. A delay means for delaying a predetermined time that is too long,
Built-in,
The semiconductor integrated circuit includes a plurality of clock generation circuits that generate clocks having different frequencies, and the flip-flop is operated by a clock signal output from any one of the plurality of clock generation circuits during the scan test. Works and
A scan flip-flop , wherein the delay means is provided on the data output terminal side .
データ入力端子と、スキャンデータ入力端子と、スキャンイネーブル端子と、クロック端子と、データ出力端子と、を少なくとも備え、前記クロック端子に入力された前記クロック発生回路からのクロック信号に同期して、前記スキャンイネーブル端子に入力されたスキャンイネーブル信号に応じて前記データ入力端子に入力されたデータ又は前記スキャンデータ入力端子に入力されたスキャンデータを前記データ出力端子に選択的に出力するフリップフロップと、
少なくとも前記スキャンデータ入力端子に入力されたスキャンデータが、複数の前記フリップフロップを直列接続してスキャンチェーンを構成した場合に順次後段のフリップフロップに転送されるように、前記クロック信号の遅延時間よりも長い予め定めた所定時間遅延させる遅延手段と、
を内蔵し、
前記半導体集積回路は周波数の異なるクロックを発生する複数のクロック発生回路を備えると共に、前記スキャンテスト時には前記複数のクロック発生回路のうち何れか1つのクロック発生回路から出力されたクロック信号により前記フリップフロップが動作し、
前記遅延手段は前記データ出力端子側に設けられ、かつ前記遅延手段からの遅延データ又は前記データ出力端子からの出力データを選択信号に応じて選択的に出力する選択手段と、前記選択信号を入力するための選択信号入力手段と、をさらに備えたことを特徴とするスキャンフリップフロップ。A plurality of semiconductor integrated circuits including at least a clock generation circuit and a logic circuit are mounted, and a scan chain can be formed by directly connecting without passing through the logic circuit separately from a path for performing a normal operation with the logic circuit sandwiched in series. A scan flip-flop that is configured to enable scan testing,
A data input terminal, a scan data input terminal, a scan enable terminal, a clock terminal, and a data output terminal are provided at least, and in synchronization with a clock signal from the clock generation circuit input to the clock terminal, A flip-flop that selectively outputs data input to the data input terminal or scan data input to the scan data input terminal to the data output terminal in response to a scan enable signal input to the scan enable terminal;
From the delay time of the clock signal, at least the scan data input to the scan data input terminal is sequentially transferred to the subsequent flip-flop when a plurality of flip-flops are connected in series to form a scan chain. A delay means for delaying a predetermined time that is too long,
Built-in,
The semiconductor integrated circuit includes a plurality of clock generation circuits that generate clocks having different frequencies, and the flip-flop is operated by a clock signal output from any one of the plurality of clock generation circuits during the scan test. Works and
The delay means is provided on the data output terminal side, and selectively outputs delay data from the delay means or output data from the data output terminal according to a selection signal; and inputs the selection signal And a selection signal input means for performing the scan flip-flop.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002266528A JP4186559B2 (en) | 2002-09-12 | 2002-09-12 | Scan flip-flop |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002266528A JP4186559B2 (en) | 2002-09-12 | 2002-09-12 | Scan flip-flop |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004101460A JP2004101460A (en) | 2004-04-02 |
JP4186559B2 true JP4186559B2 (en) | 2008-11-26 |
Family
ID=32265325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002266528A Expired - Fee Related JP4186559B2 (en) | 2002-09-12 | 2002-09-12 | Scan flip-flop |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4186559B2 (en) |
-
2002
- 2002-09-12 JP JP2002266528A patent/JP4186559B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004101460A (en) | 2004-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2522140B2 (en) | Logic circuit | |
US20070143652A1 (en) | Test circuit for semiconductor integrated circuit | |
JP2002289776A (en) | Semiconductor device | |
US8536918B2 (en) | Flip-flop circuit, scan test circuit, and method of controlling scan test circuit | |
US20050055614A1 (en) | Multi-clock domain logic system and related method | |
JP4512934B2 (en) | Layout design and timing adjustment method and apparatus for logically designed integrated circuit, program for executing the method, and computer-readable recording medium on which the program is recorded | |
JP5806050B2 (en) | Output control scan flip-flop, semiconductor integrated circuit having the same, and method for designing semiconductor integrated circuit | |
JP3363691B2 (en) | Semiconductor logic integrated circuit | |
JP4186559B2 (en) | Scan flip-flop | |
JP3469294B2 (en) | Linear feedback shift register and semiconductor integrated circuit device | |
JP4416469B2 (en) | Semiconductor integrated circuit and design method thereof | |
US20060236177A1 (en) | Method for eliminating hold error in scan chain | |
JP2962232B2 (en) | Automatic placement and routing of scan path circuits | |
JP2000266818A (en) | Scan test circuit | |
JP2009175154A (en) | Semiconductor integrated circuit and design method thereof | |
JP2008219535A (en) | Synchronous circuit | |
JPH10177060A (en) | Scanning circuit | |
JP2006194727A (en) | Integrated circuit test method. | |
JP2004037264A (en) | Flip-flop circuit with scanning function, and scanning test circuit | |
KR100267782B1 (en) | Chip having time checking function | |
JP3251748B2 (en) | Semiconductor integrated circuit | |
JP2004294213A (en) | Flip-flop circuit with scanning function, scanning test circuit, and scanning test circuit wiring method | |
JP2000310671A (en) | Scan flip flop | |
JP2000353939A (en) | Clock signal synchronous flip flop circuit | |
JPH0261569A (en) | Serial shift register |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050701 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080408 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080603 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080819 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080901 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4186559 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110919 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110919 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110919 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120919 Year of fee payment: 4 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120919 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130919 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |