(57)【要約】【課題】同期回路の検証（テスト）にあたって、共通クロックを動作させると、対象とする回路以外の他の回路の状態も変化してし、回路状態が異なった状態となってしまう。デバッグしたい回路だけ個別に動作させることはできない。【解決手段】同期回路に論理和回路を配置して、共通クロックとデバッグ用クロックを供給可能とし、共通クロックを停止させて所望のフリップフロップ回路にデバッグ用クロックを供給することにより、デバッグに関係のないフリップフロップ回路の状態を保持したままデバッグ動作を実行する。すべてのフリップフロップ回路にデバッグ用クロックを供給する場合でも、出力された情報を記憶しておくことにより、元の状態を保持することができる。【選択図】      図１
2005181061.tif 000002
【特許請求の範囲】
【請求項１】
複数のフリップフロップ回路を備え共通クロックに同期して動作する電子回路であって、前記共通クロックとデバッグ用クロックとの論理和を出力する論理和回路と、制御信号および論理和回路が出力するデバッグ用クロックに同期して動作する第１のフリップフロップ回路を備えることを特徴とする電子回路。
【請求項２】
前記制御信号は前記デバッグ用クロックに同期して動作する第２のフリップフロップ回路が出力する読み出し信号であり、前記第１のフリップフロップ回路の保持する情報が読み出される請求項１記載の電子回路。
【請求項３】
前記情報は第１のフリップフロップ回路と接続するＣＰＵバスへ出力される請求項２記載の電子回路。
【請求項４】
前記制御信号は前記デバッグ用クロックに同期して動作する第３のフリップフロップ回路が出力する書き込み信号であり、前記第１のフリップフロップ回路に情報が書き込まれる請求項１記載の電子回路。
【請求項５】
前記情報は前記第１のフリップフロップ回路と接続するＣＰＵバスから入力される請求項４記載の電子回路。
【請求項６】
前記共通クロックのみの供給を受ける第４のフリップフロップ回路を備える請求項１ないし５のうちいずれか１つに記載の電子回路。
【請求項７】
前記論理和回路からデバッグ用クロックの供給を受ける第５のフリップフロップ回路を備える請求項１ないし５のうちいずれか１つに記載の電子回路。
【請求項８】
前記第５のフリップフロップ回路にはテストバスが接続する請求項７記載の電子回路。
【請求項９】
前記第５のフリップフロップ回路への前記テストバスからの入力とその他の入力をデバッグ信号に基づきセレクトするセレクタを備える請求項７または８記載の電子回路。
【請求項１０】
前記第５のフリップフロップ回路から出力される情報を保持し、デバッグ信号に基づき前記デバッグ用クロックに同期して該情報を出力する記憶回路を備える請求項９記載の電子回路。
【請求項１１】
複数のフリップフロップ回路を備え共通クロックに同期して動作する電子回路のテスト方法であって、
電子回路の動作中に前記共通クロックの供給を停止する第１のステップと、
デバッグ用クロックとデバッグ用クロックに同期した制御信号を特定のフリップフロップ回路へ供給し、該特定のフリップフロップ回路を動作させる第２のステップと、
を備えることを特徴とする電子回路のテスト方法。
【請求項１２】
前記制御信号は読み出し信号であり、前記特定のフリップフロップ回路に保持された情報が読み出される請求項１１記載の電子回路のテスト方法。
【請求項１３】
前記制御信号は書き込み信号であり、前記特定のフリップフロップ回路に情報が書き込まれる請求項１１記載の電子回路のテスト方法。
【請求項１４】
前記共通クロックの供給を再開するステップを備える請求項１１記載の電子回路のテスト方法。
【請求項１５】
前記第２のステップにおいて、前記特定のフリップフロップ回路とは別のフリップフロップ回路が、デバッグ用クロックに同期して保持する情報を出力するステップを備える請求項１１または１２記載の電子回路のテスト方法。
【請求項１６】
前記特定のフリップフロップ回路とは別のフリップフロップ回路に対して、デバッグ用クロックに同期して情報を入力するステップを備える請求項１１または１３記載の電子回路のテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は共通のクロックによって同期して動作する電子回路に関する。
【背景技術】
【０００２】
近年、半導体素子に複雑で大規模な電子回路が構成されたシステムオンチップと呼ばれるデバイスが普及している。この半導体デバイス１は、例えば図７に示されるように、中央制御部２（ＣＰＵ）、記憶部３（ＭＥＭＯＲＹ）、デジタル信号処理部４（ＤＰＳ）、およびＵＳＥＲ  ＬＯＧＩＣ５など大規模な回路を備える。この半導体デバイス１に形成される電子回路は、スキャンテストなどを考慮して自動合成ツールによって同期設計が行われる。
【０００３】
図８は、完全同期回路である上記ＵＳＥＲ  ＬＯＧＩＣ５の一部の構成例を示す。フリップフロップ回路（ＦＦ）１０はＣＰＵ２のデータバス（ＣＰＵバス１１）に接続し、ＣＰＵ２はその値を読み出すことができる。ＣＰＵ読み出し信号（ＲＤ）をリタイミングするフリップフロップ回路９が上記フリップフロップ回路１０に接続している。２つのフリップフロップ回路１０、９、およびＣＰＵバス１１とは接続しない別のフリップフロップ回路８にはそれぞれ共通クロック（ＣＬＫ）が供給される。上記フリップフロップ回路に接続する論理回路１２、１３、１４内にフリップフロップ回路が存在する場合、そのフリップフロップ回路にも同じクロック（ＣＬＫ）が供給される。
【０００４】
一方、上述のような複雑で大規模な同期回路をテストすることは困難を伴う。論理回路にフリップフロップ回路が組み込まれた上記同期回路をテストする方法としては、様々な方法が提案されている（例えば、特許文献１参照）。
【０００５】
【特許文献１】特開２００１−１０８７２７号公報（図１、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このような同期回路の検証は、共通クロックを動作させて回路が目的に合った動作をしているかを確認していく。目的と異なる動作が発生した場合、回路内部のどの部分が仕様と異なっているかを確認する必要がある。このような回路のデバッグにおいて、ある状態におけるフリップフロップ回路１０の内容を読み出したい場合、あらかじめ読み出しに必要なクロック数を考慮して読み出し動作を行う必要がある。しかし、フリップフロップ回路１０の値を読み出すために共通クロック５を動作させると、別のフリップフロップ回路８の状態も変化してしまう。すなわちデバッグ動作を行うことにより回路全体が進んでしまい、回路状態が異なった状態となってしまうという問題がある。デバッグしたいフリップフロップ回路だけ個別に動作させることはできない。また、ＣＰＵバスに接続されていない上記フリップフロップ回路８においては途中状態を確認したり、ある値をセットしたりするなどデバッグする方法がないという問題がある。
【課題を解決するための手段】
【０００７】
本発明は上記課題を解決するため、共通クロックで動作する他のフリップフロップ回路の状態を保持したまま、一部のフリップフロップ回路のみ動作させ、回路動作途中におけるフリップフロップ回路を容易にデバッグすることができる電子回路及びそのテスト方法を提供する。
【０００８】
本発明の電子回路は、複数のフリップフロップ回路を備え共通クロックに同期して動作する電子回路であって、共通クロックとデバッグ用クロックとの論理和を出力する論理和回路と、制御信号および論理和回路が出力するデバッグ用クロックに同期して動作する第１のフリップフロップ回路を備える。上記制御信号がデバッグ用クロックに同期して動作する第２のフリップフロップ回路が出力する読み出し信号の場合、第１のフリップフロップ回路の保持する情報が読み出される。また制御信号がデバッグ用クロックに同期して動作する第３のフリップフロップ回路が出力する書き込み信号の場合、第１のフリップフロップ回路に情報が書き込まれる。これらの情報の読み出しおよび書き込みは第１のフリップフロップ回路が接続するＣＰＵバスを介して行われる。電子回路は、共通クロックのみの供給を受ける第４のフリップフロップ回路、あるいは論理和回路からデバッグ用クロックを受ける第５のフリップフロップ回路を備えることができる。この第５のフリップフロップ回路にはテストバスが接続することができる。また電子回路は第５のフリップフロップ回路へのテストバスからの入力とその他の入力をデバッグ信号に基づきセレクトするセレクタを備えることができる。第５のフリップフロップ回路から出力される情報を保持し、デバッグ信号に基づきデバッグ用クロックに同期して該情報を出力する記憶回路を備えることもできる。
【０００９】
一方、本発明の電子回路のテスト方法は、複数のフリップフロップ回路を備え共通クロックに同期して動作する電子回路を対象とし、電子回路の動作中に共通クロックの供給を停止する第１のステップと、特定のフリップフロップ回路にデバッグ用クロックと該デバッグ用クロックに同期ぢた制御信号を供給し、該特定のフリップフロップ回路を動作させる第２のステップとを備える。制御信号が読み出し信号の場合、該特定ののフリップフロップ回路に保持された情報が読み出される。制御信号が書き込み信号の場合、該特定のフリップフロップ回路に情報が書き込まれる。共通クロックの供給を再開するステップを備えることができる。上記第２のステップにおいて、特定のフリップフロップ回路とは別のフリップフロップ回路が、デバッグ用クロックに同期して保持する情報を出力するステップを備えることができる。また上記特定のフリップフロップ回路とは別のフリップフロップ回路に対して、デバッグ用クロックに同期して情報を入力するステップを備えることができる。
【発明の効果】
【００１０】
本発明の電子回路及びそのテスト方法では、電子回路の同期動作中、他のフリップフロップ回路を内容を保存しながら、特定のフリップフロップ回路をデバッグすることができる。また、デバッグを回路動作の途中から行いたい場合に、最初から回路を動作させて回路を所望の状態まで進める必要がなく、上記保存している値を戻すことによってデバッグに要する時間を短縮することが可能である。
【発明を実施するための最良の形態】
【００１１】
図１に示された電子回路の例において、論理和回路１６には共通クロック（ＣＬＫ）とデバッグ用クロック（ＤＣＬＫ）が入力する。この論理和出力はフリップフロップ回路９、１０にそれぞれ供給される。一方のフリップフロップ回路９はＣＰＵ読み出し信号（ＲＤ）のリタイミング回路である。他方のフリップフロップ回路１０は論理回路１４と接続し、リタイミングされた読み出し信号に従って情報が読み出される。読み出された情報はＣＰＵバス１１に出力される。共通クロック（ＣＬＫ）は論理和回路１６の手前でフリップフロップ回路８からなる同期回路に入力する。このフリップフロップ回路８は論理回路１２、１３と接続する。
【００１２】
図２は上記電子回路中のクロックの例を示す。論理和回路１６は共通クロック（ＣＬＫ）とデバッグ用クロック（ＤＣＬＫ）の論理和を出力することができる。この論理和出力はフリップフロップ回路９、１０に供給される。他のフリップフロップ回路８には共通クロック（ＣＬＫ）のみが供給される。
【００１３】
上記電子回路のテストにおいて、動作中の共通クロック５を停止させると、ＣＰＵ読み出しとは無関係のフリップフロップ回路８はクロックが停止した時の状態を保持する。このとき、論理和回路１６にデバッグ用クロック（ＤＣＬＫ）を供給する。フリップフロップ回路９、１０はデバッグ用クロック（ＤＣＬＫ）によって動作し、フリップフロップ回路１０の内容がＣＰＵバス１１に出力され、読み出される。上述のように、共通クロックの供給を受けて同期動作しているがＣＰＵ読み出しには関係のないフリップフロップ回路はすべて共通クロックを停止させたときの状態を保つことができる。従って動作途中でフリップフロップ回路１０をデバッグすることができる。デバッグ後、共通クロックを停止した状態から再び電子回路の動作を開始させることができる。
【００１４】
図３は、本発明の電子回路の他の例を示す。この電子回路は、図１とほぼ同様の構成であるが、すべてのフリップフロップ回路が論理和回路１６の出力を受けて動作する。従って共通クロック５を停止し、論理和回路１６からデバッグ用クロック（ＤＣＬＫ）を供給すると、上記ＣＰＵ読み出しには関係のないフリップフロップ回路８は、その内容を接続されているテストバス１７へ出力する。フリップフロップ回路９、１０の動作は上述と同様である。
【００１５】
図４は、さらに本発明の電子回路の他の例を示す。構成は図１の構成とほぼ同様である。ここでは、フリップフロップ回路１９はＣＰＵ書き込み信号（ＷＲ）のリタイミング回路である。他方のフリップフロップ回路２０はＣＰＵバス１１と接続し、リタイミングされた書き込み信号（ＷＲ）に従ってＣＰＵバス１１から供給される情報が書き込まれる。ここでも、共通クロックを停止すると、書き込みとは無関係のフリップフロップ回路８はその時の状態を保持する。
【００１６】
図５は、本発明の電子回路の別の構成例を示す。ここではすべてのフリップフロップ回路に論理和回路１６の出力が供給される。フリップフロップ回路２０にはＣＰＵバス１１から情報が書き込まれる。しかし、ＣＰＵバス１１に接続されていないフリップフロップ回路８にも情報が書き込まれ得る。すなわち、このフリップフロップ回路８には、セレクタ（ＳＥＬ）２３が接続している。セレクタ２３には、通常動作時にフリップフロップ回路８に情報を供給する論理回路１２とテストバス２１が接続している。ＤＥＢＡＧ信号（ＤＥＢＡＧ−１）によって、セレクタ２３がこれらいずれかをフリップフロップ回路８に接続させる。例えば、ＤＥＢＡＧ信号が「１」のときテストバス２１から出力される情報がフリップフロップ回路８への入力となる。この結果、デバッグ時、共通クロック（ＣＬＫ）を停止させ、デバッグ用クロック（ＤＣＬＫ）を供給して、フリップフロップ回路８に様々な値をセットすることが可能になる。デバッグにおいて、動作が確認できているところまでの電子回路の動作を省略して、デバッグしたい状態に回路状態をセットすることにより、デバッグ時間を短縮できるという効果が得られる。
【００１７】
図６はフリップフロップ回路８からテストバス１７に出力される情報を保持する記憶回路２５の例を示す。この例では記憶回路２５はフリップフロップ回路２４を含むが、他の記憶素子でも可能である。フリップフロップ回路２４はデバッグ信号（ＤＥＢＡＧ−２）をイネーブルとし、デバッグ用クロック（ＤＣＬＫ）により、図３で示されたようなテストバス１７への出力情報を、図５に示されたテストバス２１から出力される情報とすることができる。テストバス１７、２０を同じバスとすることができる。これらの構成とデバッグ用クロックを用いたＣＰＵ読み出し、ＣＰＵ書き込みを用いて、各フリップフロップ回路の値を保存したときの状態に戻すことができる。このため、デバッグを行う場合、回路を最初の状態からこの状態まで進めるために要する時間を節約することができる。
【００１８】
なお、上記デバッグ動作にはこれを制御する制御部が必要である。該制御部は、上述の同期回路が配置される半導体チップに形成することができる。あるいは、制御部を別個に備え、テスト時に半導体チップと接続してテストを行うことができる。
【００１９】
上述の各種フリップフロップ回路は複数個配置されることができる。ＣＰＵバスと接続しないフリップフロップ回路８のすべてに上記セレクタ２３、またはテストバス１７、あるいは両方が配置され得る。
【図面の簡単な説明】
【００２０】
【図１】本発明の電子回路の構成例を示すブロック図。
【図２】図１に示された電子回路に適用されるクロックの例を示す図。
【図３】本発明の電子回路の他の構成例を示すブロック図。
【図４】本発明の電子回路のさらに他の構成例を示すブロック図。
【図５】本発明の電子回路のさらに他の構成例を示すブロック図。
【図６】本発明の電子回路に適用される記憶回路の構成例を示すブロック図。
【図７】システムオンチップに基本構成の例をブロック図。
【図８】従来の同期動作する電子回路の構成例を示すブロック図。
【符号の説明】
【００２１】
８、９、１０  フリップフロップ回路
１１  ＣＰＵバス
１２、１３、１４、１５  論理回路
１７、２１  テストバス
１９、２０  論理回路
【図１】
2005181061.tif 000003
【図２】
2005181061.tif 000004
【図３】
2005181061.tif 000005
【図４】
2005181061.tif 000006
【図５】
2005181061.tif 000007
【図６】
2005181061.tif 000008
【図７】
2005181061.tif 000009
【図８】
2005181061.tif 000010