(57)【要約】【課題】  １つの集積回路内にクロック種別の異なるフリップフロップ回路が複数あった場合、これをスキャンテストする際には使用するクロック種別によるフリップフロップ回路をあらかじめ分離したり、条件付きリセット信号の分離を行わねばならないので、通常動作する回路とは別にテストのための専用回路を挿入し、スキャンテストに対応するよう回路の修正・タイミング調整を行わねばならないという課題があった。【解決手段】  単相クロックを使用する半導体集積回路全体もしくは回路ブロック内のフリップフロップ回路単位１に、立ち上がり及び立ち下がりの両エッジクロック入力切り換え用のＸＯＲゲート４と、通常動作用とテスト用リセット入力切り換え用セレクタ７をあらかじめ設ける。これにより通常動作が立上がり、立下りのいずれであっても、スキャンテストは常に立ち上がりだけでテストできるようになり、テストのための回路の修正などが不要となる。【選択図】図１
2005164437.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路に使用され、データ入力端子とデータ出力端子とクロック信号端子とを有するフリップフロップ機能部分を有するフリップフロップ回路であって、
前記クロック信号端子に出力端子が接続されたクロック反転制御用のＸＯＲゲートを備えたことを特徴とするフリップフロップ回路。
【請求項２】
半導体集積回路に使用され、データ入力端子とデータ出力端子とクロック信号端子とリセット信号端子とを有するフリップフロップ機能部分を有するフリップフロップ回路であって、
前記クロック信号端子に出力端子が接続されたクロック反転制御用のＸＯＲゲートと、前記リセット信号端子に出力端子が接続されたリセット信号選択用セレクタとを備えたことを特徴とするフリップフロップ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に組み込んだとき、その製造テストであるスキャンテストをしやすくしたフリップフロップ回路に関するものである。
【背景技術】
【０００２】
半導体集積回路を製造したとき、その動作テストを効率よく実施するための方法としていわゆるスキャンテストが知られている。スキャンテストについては特許文献１に例がある。半導体集積回路においてスキャンテストを行うには回路をスキャンパスを構成するように接続する必要がある。この際、１つの半導体集積回路の中の使用クロック周波数や信号の種別（例えばトリガの種類が立上がりか、立下りかなど）が全て同じであれば全ての回路を１つのスキャンパスを構成するように接続することができる。しかし、１つの半導体集積回路の中に使用クロック周波数や信号の種別が異なる複数種類の回路が含まれているときには、それらの種別ごとに回路を分離してスキャンパスを構成することが必要である。
例えば立ち上がりエッジトリガのクロックを使用するフリップフロップと、立ち下がりエッジトリガのクロックを使用するフリップフロップは、回路ブロックを分けてスキャンパスを構成する必要があり、また、条件付きリセット信号が存在する場合は、スキャンテスト時にテスト信号によってリセット動作してしまうことのないよう、リセット信号を独立した信号として分離して扱う必要があるためテストに多大の時間を要する。（例えば、非特許文献１）
そこでこのような事前準備の手間を軽減するため、通常動作する回路とは別に、テストのための接続変更回路をあらかじめ準備しておく事でスキャンテストに対応するように回路の修正・タイミング調整を行うことも行われていた。しかしこのような余分な回路を含ませるために半導体集積回路のコストが増大するなどの問題点があった。
【特許文献１】特開平２−１１８４７１号公報
【非特許文献１】日本シノプシス（株）・メンターグラフィックジャパン（株）監修「システムＬＳＩ設計のためのリユース・メソドロジ・マニュアル」丸善（株）出版  平成１２年９月２５日発行、Ｐ．１００、Ｐ．２００
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の半導体集積回路用フリップフロップ回路では、回路をスキャンテストに対応させる際、使用するクロック種別によるフリップフロップ回路ブロックの分離、条件付きリセット信号の分離を行わねばならないため、通常動作する回路とは別に、テストのための接続変更回路などをあらかじめ準備したりする事でスキャンテストに対応できるように回路の修正・タイミング調整を行わねばならずコストが増大するという課題があった。
【０００４】
この発明は、上記のような課題を解消するためになされたもので、スキャンテストに対応させるための回路修正が不要にしたフリップフロップ回路を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この発明に係る半導体集積回路のフリップフロップ回路は、半導体集積回路に使用され、クロック信号端子を有するフリップフロップ機能部分を有するフリップフロップ回路であって、前記クロック信号端子に出力端子が接続されたクロック反転制御用のＸＯＲゲートを備えたものである。ＸＯＲゲートの一方をクロック反転入力としクロック入力エッジ切り換え用として使用することで、いずれの信号種別にも対応させることが可能なためスキャンテストのためのスキャンパスを容易に構成できるようになる。
また、フリップフロップ機能部分のリセット信号の入力端子にはセレクタを設置し、このセレクタの一方の入力を通常動作用リセット信号を供給、もう一方の入力をスキャンテスト用の外部から直接制御可能なリセット信号を入力するようにしたものである。
これによりスキャンテストの信号でリセットしてしまうことがなくなる。
【発明の効果】
【０００６】
この発明によれば、クロックエッジの切り換え、あるいは外部制御リセット信号入力を、フリップフロップ回路の回路単位毎にスキャンテストの都合にあわせて選択できるようになるので、クロックエッジや内部リセットに対するテスト回路による回路修正や、タイミング調整を行うことなくスキャンテストに対応可能な回路設計を行うことができる。また、ＨＤＬ（Hardware Description Language ハードウェア記述言語）によるＲＴＬ（Register Transfer Level）記述で回路設計する場合は、論理合成ツールを使用すればスキャン回路の自動生成も可能である。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
以下、この発明の実施の形態１のフリップフロップ回路を図について説明する。半導体集積回路では複数のフリップフロップ回路が使用されることが多いが、ここでは説明の都合上、１個のフリップフロップ回路を用いて説明する。図１において、フリップフロップ回路単位１は、フリップフロップ機能部分１１へのデータ入力端子２、フリップフロップ機能部分１１からのデータ出力端子３、外部から与えられるクロック入力信号５とクロック反転入力信号６のクロックエッジの反転を制御するとともにクロック信号端子１２へクロックを入力するＸＯＲ（排他的論理和）ゲート４、フリップフロップ機能部分１１をリセットするためのリセット信号を選択してリセット信号端子１３へ入力するセレクタ７、通常動作時用リセット入力８、スキャンテスト時用外部制御可能なリセット入力９、通常動作時用リセット入力とスキャンテスト時用リセットの切り換えを行うリセット切り換え入力１０を有する。
ここでは説明の都合上、図１に示すフリップフロップ回路単位１は１個だけ図示しているが、一般には複数個が１集積回路に集積されて使用される。
【０００８】
図１のように構成されたフリップフロップ回路単位１は、単相クロックを使用する半導体集積回路全体もしくは回路ブロック内のフリップフロップ全てに適用される。
【０００９】
次に図１の回路の動作について説明する。
まず、図１の動作の概要を示すと、フリップフロップ単位１は通常動作（スキャンテストではない動作）時には、フリップフロップ機能部分１１の動作が、クロック入力５から入力されるクロックの立上がりエッジによるモードと、立下りエッジによるモードとの２つが選択できる。
そしてスキャンテスト時には、クロック反転入力６に必要な信号を入力することにより、スキャンパスを構成する複数のフリップフロップ回路単位のクロックエッジを立ち上がりに統一する。
【００１０】
次に具体例により動作を詳細に説明する。通常動作を立上がりエッジで動作するようにする場合には、クロック反転入力６をＬｏｗ状態、リセット切り換え入力１０をＬｏｗ状態とする。この時、フリップフロップ回路単位１はクロック入力５から入力されるクロックの立ち上がりエッジにより、フリップフロップ機能部分１１が動作し、データ入力２から入力されたデータ信号を、データ出力３へラッチする。また、通常動作時にリセットを行う場合は、通常動作時リセット入力８からリセット信号を入力する。この通常動作時リセット入力８から入力するリセット信号はスキャンテスト時には使用しない。
このようにな通常動作時のフリップフロップ回路単位１がクロックの立ち上がりエッジを使用して動作するものをスキャンテストする時には、スキャンテスト時も同じ状態でよいため、クロック反転入力６はＬｏｗ状態でスキャンテストを行う。
【００１１】
通常動作時のフリップフロップ回路単位１がクロックの立ち下がりエッジを使用して動作するようにした場合、スキャンテスト時にはクロック反転入力６をＨｉｇｈ状態としてＸＯＲゲート４でクロックエッジを反転し、クロックの立ち上がりエッジを使用するようにしてからスキャンテストする。また、リセットは、スキャンテスト時、リセット切り換え入力１０をＨｉｇｈ状態とすることで、通常動作時の信号種別には関係なくスキャンテスト用リセット入力９が有効となる。
【００１２】
上記の動作を使い分けることにより、通常動作時の信号がクロックエッジの立上がりか立ち下がりかの種別にかかわりなく、スキャンテストのスキャンパスは立ち上がりクロックエッジを使用するパスのみとなるので、従来のようにクロック種別による回路の分離を行う必要がない。
スキャンテスト用リセット入力９は、外部より直接制御可能なリセット信号を入力することによって、通常動作時の信号がクロックエッジの立上がりか立ち下がりかの種別にかかわりなくスキャンテストの初期化を簡単に行うことができる。この時、通常動作用リセット入力８は、無効となっているのでここに何らかの信号があってもスキャンテストには影響しない。
【００１３】
実施の形態２．
なお、上記発明の実施の形態１では、リセット信号付きフリップフロップ回路単位１を示したが、図２に示すように、図１のものからセレクタ７を省き、即ち、通常動作用リセット入力８とスキャンテスト用リセット入力９とリセット切り換え入力１０を省いたフリップフロップ回路単位２１としてもよい。フリップフロップ回路単位１１は実施の形態１に示すものと同じ物でもよいし、リセット信号端子１３のないものでもよい。この場合もスキャンテスト時の動作は実施の形態１の説明と変わりがない。  一方、リセット動作（初期化）はスキャンパスを通した初期化を行うことになる。その分スキャンテストパターンが増大することにはなるが、回路要素が減少した分、集積度を上げることができるという効果が得られる。
【００１４】
実施の形態３．
上記実施の形態１および実施の形態２に説明したフリップフロップ回路１、２１は複数個を１つの半導体集積回路内に組み込んで使用することができる。このとき各フリップフロップ回路１、２１ごとに立上がり、立下りのいずれで通常動作を行わせるか、あるいはリセットを実施の形態１あるいは２で説明したいずれの方法で行うかは、適宜選択することができる。また、ＨＤＬ（Hardware Description Language ハードウェア記述言語）によるＲＴＬ（Register Transfer Level）記述で回路設計する場合は、論理合成ツールを使用すればスキャン回路の自動生成も可能である。
図３に３個のフリップフロップ回路をスキャンテストする際の接続例を示す。説明の都合上図に向かって左からフリップフロップＡ，Ｂ，Ｃと呼ぶ。図３の場合、フリップフロップＡとＢはクロック反転入力６がＬであるから立上がりエッジで動作し、フリップフロップＣはクロック反転入力６がＨであるから立下がりエッジで動作するものである。図３ではこのように信号種別の異なるフリップフロップＡ，ＢとＣとを接続してテストすることができる。
また、信号１０をスキャンテスト時のみＨとすることで通常時リセット信号８は無効となり、スキャンテスト時リセット信号９により同時にリセットすることができる。
【産業上の利用可能性】
【００１５】
この発明のフリップフロップ回路は、単体の回路素子として使用することも、また、半導体集積回路に組み込んで使用することもできる。
【図面の簡単な説明】
【００１６】
【図１】この発明の実施の形態１による半導体集積回路のフリップフロップ回路単位を示す回路図である。
【図２】この発明の実施の形態２による半導体集積回路のフリップフロップ回路単位を示す回路図である。
【図３】半導体集積回路に構成したフリップフロップ回路のスキャンテスト説明図である。
【符号の説明】
【００１７】
１  フリップフロップ回路単位、    ２  データ入力端子、
３  データ出力端子、    ４  ＸＯＲゲート、    ５  クロック入力、
６  クロック反転入力、      ７  セレクタ、    ８  通常動作時用リセット入力、
９  スキャンテスト時用リセット入力、    １０  リセット切り換え入力、
１１  フリップフロップ機能部分、    １２  クロック信号端子、
１３  リセット信号端子    ２１  第２のフリップフロップ回路単位。
【図１】
2005164437.tif 000003
【図２】
2005164437.tif 000004
【図３】
2005164437.tif 000005