JP4186559B2 - スキャンフリップフロップ - Google Patents
スキャンフリップフロップ 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
【発明の属する技術分野】
本発明は、スキャンフリップフロップに係り、より詳しくは、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 スキャンアウトプット端子
Claims (2)
- 少なくともクロック発生回路及び論理回路を備えた半導体集積回路に複数搭載され、前記論理回路を挟んで直列接続する通常動作を行う経路とは別に前記論理回路を介さずに直接接続することによりスキャンチェーンを構成してスキャンテストを可能にするスキャンフリップフロップであって、
データ入力端子と、スキャンデータ入力端子と、スキャンイネーブル端子と、クロック端子と、データ出力端子と、を少なくとも備え、前記クロック端子に入力された前記クロック発生回路からのクロック信号に同期して、前記スキャンイネーブル端子に入力されたスキャンイネーブル信号に応じて前記データ入力端子に入力されたデータ又は前記スキャンデータ入力端子に入力されたスキャンデータを前記データ出力端子に選択的に出力するフリップフロップと、
少なくとも前記スキャンデータ入力端子に入力されたスキャンデータが、複数の前記フリップフロップを直列接続してスキャンチェーンを構成した場合に順次後段のフリップフロップに転送されるように、前記クロック信号の遅延時間よりも長い予め定めた所定時間遅延させる遅延手段と、
を内蔵し、
前記半導体集積回路は周波数の異なるクロックを発生する複数のクロック発生回路を備えると共に、前記スキャンテスト時には前記複数のクロック発生回路のうち何れか1つのクロック発生回路から出力されたクロック信号により前記フリップフロップが動作し、
前記遅延手段は、前記データ出力端子側に設けられたことを特徴とするスキャンフリップフロップ。 - 少なくともクロック発生回路及び論理回路を備えた半導体集積回路に複数搭載され、前記論理回路を挟んで直列接続する通常動作を行う経路とは別に前記論理回路を介さずに直接接続することによりスキャンチェーンを構成してスキャンテストを可能にするスキャンフリップフロップであって、
データ入力端子と、スキャンデータ入力端子と、スキャンイネーブル端子と、クロック端子と、データ出力端子と、を少なくとも備え、前記クロック端子に入力された前記クロック発生回路からのクロック信号に同期して、前記スキャンイネーブル端子に入力されたスキャンイネーブル信号に応じて前記データ入力端子に入力されたデータ又は前記スキャンデータ入力端子に入力されたスキャンデータを前記データ出力端子に選択的に出力するフリップフロップと、
少なくとも前記スキャンデータ入力端子に入力されたスキャンデータが、複数の前記フリップフロップを直列接続してスキャンチェーンを構成した場合に順次後段のフリップフロップに転送されるように、前記クロック信号の遅延時間よりも長い予め定めた所定時間遅延させる遅延手段と、
を内蔵し、
前記半導体集積回路は周波数の異なるクロックを発生する複数のクロック発生回路を備えると共に、前記スキャンテスト時には前記複数のクロック発生回路のうち何れか1つのクロック発生回路から出力されたクロック信号により前記フリップフロップが動作し、
前記遅延手段は前記データ出力端子側に設けられ、かつ前記遅延手段からの遅延データ又は前記データ出力端子からの出力データを選択信号に応じて選択的に出力する選択手段と、前記選択信号を入力するための選択信号入力手段と、をさらに備えたことを特徴とするスキャンフリップフロップ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002266528A JP4186559B2 (ja) | 2002-09-12 | 2002-09-12 | スキャンフリップフロップ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002266528A JP4186559B2 (ja) | 2002-09-12 | 2002-09-12 | スキャンフリップフロップ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004101460A JP2004101460A (ja) | 2004-04-02 |
JP4186559B2 true JP4186559B2 (ja) | 2008-11-26 |
Family
ID=32265325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002266528A Expired - Fee Related JP4186559B2 (ja) | 2002-09-12 | 2002-09-12 | スキャンフリップフロップ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4186559B2 (ja) |
-
2002
- 2002-09-12 JP JP2002266528A patent/JP4186559B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004101460A (ja) | 2004-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2522140B2 (ja) | 論理回路 | |
US20070143652A1 (en) | Test circuit for semiconductor integrated circuit | |
US8536918B2 (en) | Flip-flop circuit, scan test circuit, and method of controlling scan test circuit | |
JP2002289776A (ja) | 半導体装置 | |
US20050055614A1 (en) | Multi-clock domain logic system and related method | |
JP4512934B2 (ja) | 論理設計された集積回路に対するレイアウト設計及びタイミング調整の方法及び装置並びにこの方法を実行するためのプログラム及びこのプログラムが記録されたコンピュータ読み取り可能な記録媒体 | |
JP2002083000A (ja) | 論理回路設計方法及び論理回路 | |
JP3363691B2 (ja) | 半導体論理集積回路 | |
JP4186559B2 (ja) | スキャンフリップフロップ | |
JP5806050B2 (ja) | 出力制御スキャンフリップフロップ、それを備えた半導体集積回路及び半導体集積回路の設計方法 | |
US20060236177A1 (en) | Method for eliminating hold error in scan chain | |
JP3469294B2 (ja) | 線型帰還シフトレジスタおよび半導体集積回路装置 | |
JP4416469B2 (ja) | 半導体集積回路およびその設計方法 | |
JP2006194727A (ja) | 集積回路のテスト方法。 | |
JP2962232B2 (ja) | スキャンパス回路の自動配置配線方法 | |
JP2009175154A (ja) | 半導体集積回路およびその設計方法 | |
JP2000266818A (ja) | スキャン・テスト回路 | |
JP2008219535A (ja) | 同期回路 | |
JPH10177060A (ja) | スキャン回路 | |
JP2004037264A (ja) | スキャン機能付きフリップフロップ回路およびスキャンテスト回路 | |
JP3251748B2 (ja) | 半導体集積回路 | |
JP2004294213A (ja) | スキャン機能付フリップフロップ回路およびスキャンテスト回路ならびにスキャンテスト回路配線方法 | |
JP2000310671A (ja) | スキャンフリップフロップ | |
JP2000353939A (ja) | クロック信号同期式フリップフロップ回路 | |
JPH0261569A (ja) | シリアルシフトレジスタ |
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 |