(57)【要約】【課題】設計者が容易に動作検証をすることを可能にする。【解決手段】電子回路装置１００の検証支援処理回路２２は、電子回路検証装置２００から送信される検証指示情報に基づいて、機能ブロック回路１の検証を制御する検証制御情報を生成し、機能ブロック回路１へ送信する。機能ブロック回路１は、その検証制御情報を受信すると、遷移停止制御回路４０、状態コード注入回路５０およびエラー状態注入回路８０を介して、その検証制御情報で指定される任意の状態コードおよびエラー状態を機能ブロック回路１の状態コードレジスタおよびエラー状態レジスタに注入した上で、機能ブロック回路１の動作を開始または停止させる。状態履歴記憶回路６０には、そのときの状態コードおよび過去の最新の所定動作サイクル数の状態コードの履歴が記憶されている。検証支援処理回路２２は、その状態コードの履歴を取得して、電子回路検証装置２００へ送信する。【選択図】図１
2011149855.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが制御対象回路およびその制御対象回路を制御するシーケンサ回路を含んでなる複数の機能ブロック回路と、前記機能ブロック回路の検証を支援する機能ブロック検証支援回路と、を含んで構成される電子回路装置であって、
前記機能ブロック検証支援回路は、
外部の電子回路検証装置に接続され、前記電子回路検証装置との間で通信する通信インタフェース回路と、
前記機能ブロック回路に検証制御情報を供給して、前記機能ブロック回路の検証動作を支援する検証支援処理回路と、
を備え、
前記機能ブロック回路は、
前記機能ブロック検証支援回路から供給される前記検証制御情報に基づき、前記シーケンサ回路の遷移動作を停止させる遷移停止制御回路と、
前記検証制御情報によって指定される状態コードを、前記シーケンサ回路の状態を定める状態コードレジスタに注入する状態コード注入回路と、
前記状態コードレジスタのそのときの値、および、それ以前の最新の所定動作サイクル数の履歴値を記憶する状態履歴記憶回路と、
前記検証制御情報によって指定されるエラー状態を、前記制御対象回路に含まれるエラー状態レジスタに注入するエラー状態注入回路と、
を備え、
前記機能ブロック検証支援回路の前記検証支援処理回路は、
前記電子回路検証装置から送信された検証指示情報を、前記通信インタフェース回路を介して受信した後、前記検証指示情報によって指定される機能ブロック回路を選択し、
前記選択した機能ブロック回路に、前記検証指示情報によって指定される検証制御情報を供給して、前記検証指示情報によって指定される検証動作を行わせ、
前記状態履歴記憶回路に記憶されている前記状態コードレジスタの履歴値を、前記検証動作の検証結果情報として取得し、
前記取得した検証結果情報を、前記通信インタフェース回路を介して前記電子回路検証装置へ送信すること
を特徴とする電子回路装置。
【請求項２】
前記機能ブロック回路は、さらに、
前記シーケンサ回路への制御入力を注入する制御入力注入レジスタを有する制御入力注入回路を備えること
を特徴とする請求項１に記載の電子回路装置。
【請求項３】
その全体の回路が１個の半導体基板チップ上に構成されていること
を特徴とする請求項１に記載の電子回路装置。
【請求項４】
その全体の回路が分割されて複数の半導体基板チップの上に構成され、前記複数の半導体基板チップが絶縁基板上に搭載され、互いに配線で接続されていること
を特徴とする請求項１に記載の電子回路装置。
【請求項５】
それぞれが制御対象回路およびその制御対象回路を制御するシーケンサ回路を含んでなる複数の機能ブロック回路と、前記機能ブロック回路の検証を支援する機能ブロック検証支援回路と、を含んで構成される電子回路装置の動作検証支援方法であって、
前記機能ブロック検証支援回路は、
外部の電子回路検証装置に接続され、前記電子回路検証装置との間で通信する通信インタフェース回路と、
前記機能ブロック回路に検証制御情報を供給して、前記機能ブロック回路の検証動作を支援する検証支援処理回路と、
を備え、
前記機能ブロック回路は、
前記機能ブロック検証支援回路から供給される前記検証制御情報に基づき、前記シーケンサ回路の遷移動作を停止させる遷移停止制御回路と、
前記検証制御情報によって指定される状態コードを、前記シーケンサ回路の状態を定める状態コードレジスタに注入する状態コード注入回路と、
前記状態コードレジスタのそのときの値、および、それ以前の最新の所定動作サイクル数の履歴値を記憶する状態履歴記憶回路と、
前記検証制御情報によって指定されるエラー状態を、前記制御対象回路に含まれるエラー状態レジスタに注入するエラー状態注入回路と、
を備え、
前記機能ブロック検証支援回路の前記検証支援処理回路は、
前記電子回路検証装置から送信された検証指示情報を、前記通信インタフェース回路を介して受信した後、前記検証指示情報によって指定される機能ブロック回路を選択し、
前記選択した機能ブロック回路に、前記検証指示情報によって指定される検証制御情報を供給して、前記検証指示情報によって指定される検証動作を行わせ、
前記状態履歴記憶回路に記憶されている前記状態コードレジスタの履歴値を、前記検証動作の検証結果情報として取得し、
前記取得した検証結果情報を、前記通信インタフェース回路を介して前記電子回路検証装置へ送信すること
を特徴とする電子回路装置の動作検証支援方法。
【請求項６】
前記機能ブロック回路は、さらに、
前記シーケンサ回路への制御入力を注入する制御入力注入レジスタを有する制御入力注入回路を備えること
を特徴とする請求項５に記載の電子回路装置の動作検証支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路などにより構成された電子回路装置およびその電子回路装置の動作検証支援方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路における集積化技術の進展に伴い、従来「システム」と呼ばれるほどの大規模な回路を１チップのシリコン基板上の半導体集積回路として集積化することが可能になった。そのような集積回路は、しばしば、システム・オン・チップ（ＳｏＣ）と呼ばれる。また、１つのセラミックなどの基板上に、ＳｏＣレベルの大規模な集積回路チップを複数個実装した、さらに、大規模な電子回路も実用化されている。そのような電子回路は、しばしば、システム・イン・パッケージ（ＳｉＰ）と呼ばれている。
【０００３】
加えて、近年では、いわゆるＦＰＧＡ（Field Programmable Gate Array）が普及したため、より多くの電子回路の設計者がＳｏＣやＳｉＰレベルの大規模な電子回路を設計する機会が多くなった。そのような電子回路の設計者にとって大きな問題となるのは、設計した電子回路が正しく設計されているか否かを検証し、また、製造された電子回路が正しく動作しているか否かを検証することが容易ではないことである。
【０００４】
そのような電子回路の検証が容易でないのには、次の２つの理由が考えられる。第一に、設計者が、例えばオシロスコープなどにより、集積回路内部に封じ込められた回路の信号を直接に観測することができないことである。従って、設計者が集積回路内部の回路動作が正しく動作しているか否かを直接に目で見て判断をすることは、事実上困難である。また、第二に、設計した電子回路に対して、例えば、特殊な回路状態、例えば、まれにしか生じないエラー状態を生じさせることが困難なことである。従って、設計者は、そのようなエラー状態になったとき、設計した電子回路がどのように動作するかを検証することができない。
【０００５】
特許文献１には、集積回路内部に封じ込められた回路の信号を直接に観測することができないという問題を解決するために、その内部に存在するフリップ・フロップやレジスタの信号値を外部端子にスキャンイン／スキャンアウトするようにしたバウンダリスキャン回路の例が開示されている。また、特許文献２には、集積回路からなる電子回路が実動作中であるときに、その電子回路の故障を検出する診断動作を可能にした故障診断技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−１０１２３３号公報
【特許文献２】特開２００８−２６７９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１や特許文献２などに開示されているバウンダリスキャンや故障診断技術は、電子回路（集積回路）内の故障を効率よく検出することを目的としたものである。従って、これらの技術を設計者が行う電子回路（集積回路）の動作検証や設計検証に適用した場合には、バウンダリスキャンや故障診断に必要なテストデータを、設計者自身が容易には作成することができないという問題が生じる。
【０００８】
すなわち、特許文献１や特許文献２などに開示されている技術では、設計者は、どのようなテストデータを入力すれば、どのような結果が得られるかを設定する必要があるが、その設定を設計者がするのは、非常に困難である。なお、その困難を解決するために、従来は、電子回路のシミュレーションが援用されているが、シミュレーションを行うには、それ相応のコストと手間が掛かることになる。
【０００９】
本発明の目的は、設計者が容易に動作検証をすることが可能な電子回路装置およびその電子回路装置の動作検証支援方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の電子回路装置は、それぞれが制御対象回路およびその制御対象回路を制御するシーケンサ回路を含んでなる複数の機能ブロック回路と、前記機能ブロック回路の検証を支援する機能ブロック検証支援回路と、を含んで構成される。
そして、その機能ブロック検証支援回路は、外部の電子回路検証装置に接続され、その電子回路検証装置との間で通信する通信インタフェース回路と、前記機能ブロック回路に検証制御情報を供給して、その機能ブロック回路の検証動作を支援する検証支援処理回路と、を備える。
また、前記機能ブロック回路は、前記機能ブロック検証支援回路から供給される検証制御情報に基づき、前記シーケンサ回路の遷移動作を停止させる遷移停止制御回路と、前記検証制御情報によって指定される状態コードを、前記シーケンサ回路の状態を定める状態コードレジスタに注入する状態コード注入回路と、その状態コードレジスタのそのときの値、および、それ以前の最新の所定動作サイクル数の履歴値を記憶する状態履歴記憶回路と、前記検証制御情報によって指定されるエラー状態を、前記制御対象回路に含まれるエラー状態レジスタに注入するエラー状態注入回路と、を備える。
【００１１】
そして、前記検証支援処理回路は、前記電子回路検証装置から送信された検証指示情報を、前記通信インタフェース回路を介して受信した後、その検証指示情報によって指定される機能ブロック回路を選択し、その選択した機能ブロック回路に、その検証指示情報によって指定される検証制御情報を供給して、その検証指示情報によって指定される検証動作を行わせ、その後、前記状態履歴記憶回路に記憶されている状態コードレジスタの履歴値を、前記検証動作の検証結果情報として取得し、その取得した検証結果情報を、前記通信インタフェース回路を介して前記電子回路検証装置へ送信する。
【００１２】
本発明の電子回路装置の検証支援処理回路は、外部の電子回路検証装置から送信される検証指示情報に基づいて、機能ブロック回路の検証を制御する検証制御情報を生成し、機能ブロック回路へ送信する。機能ブロック回路は、その検証制御情報を受信すると、遷移停止制御回路、状態コード注入回路およびエラー状態注入回路を介して、その検証制御情報で指定される任意の状態コードおよびエラー状態を機能ブロック回路の状態コードレジスタおよびエラー状態レジスタに設定（注入）した上で、動作開始または動作停止する。また、状態履歴記憶回路には、そのときの状態コード（状態コードレジスタの値）および過去の最新の所定動作サイクル数の状態コードの履歴が記憶されている。そこで、検証支援処理回路は、その状態コードの履歴を取得して、外部の電子回路検証装置へ送信する。
【００１３】
従って、本発明によれば、電子回路装置の設計者は、電子回路検証装置を介して、電子回路装置内の機能ブロック回路の動作状態およびエラー状態を任意に設定し、機能ブロック回路を動作させることができ、機能ブロック回路の状態コードの履歴を得ることができる。
【発明の効果】
【００１４】
本発明によれば、設計者が容易に動作検証をすることが可能な電子回路装置およびその電子回路装置の動作検証支援方法を提供することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係る電子回路装置の構成の例を示した図。
【図２】シーケンサ回路の原理モデルの例を示した図。
【図３】本発明の実施形態に係る図１の電子回路装置を構成する機能ブロック回路の詳細な構成の例を示した図。
【図４】制御入力注入回路を有する機能ブロック回路の例を示した図。
【図５】機能ブロック検証支援回路の検証支援処理回路が自在にアクセス可能なレジスタのアドレス割り当ての例を示した図。
【図６】電子回路検証装置から電子回路装置へ送信される機能ブロック回路の検証を支援する検証支援コマンドの例を示した図。
【図７】電子回路検証装置で行われる機能ブロック回路動作検証処理の例、および、その処理の対象となる機能ブロック回路におけるシーケンサ回路の状態遷移図の例を示した図。
【図８】機能ブロック回路の検証支援処理回路における検証支援コマンド受信時の処理フローの例を示した図。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【００１７】
図１は、本発明の実施形態に係る電子回路装置の構成の例を示した図である。図１に示すように、電子回路装置１００は、電子回路検証装置２００に通信線２０１を介して接続される。ここで、電子回路検証装置２００は、一般的なコンピュータによって構成され、また、通信線２０１としては、例えば、ＲＳ−２３２Ｃ、イーサネット（登録商標）、ＵＳＢ（Universal Serial Bus）などが用いられる。
【００１８】
また、電子回路装置１００は、それぞれが所定の機能を実現する複数の機能ブロック回路１と、その機能ブロック回路１の設計者による動作検証を支援する機能ブロック検証支援回路２と、を含んで構成されている。この場合、機能ブロック検証支援回路２は、検証支援制御バス２３を介して各機能ブロック回路１に接続されている。
【００１９】
また、図１に示すように、各機能ブロック回路１は、シーケンサ回路３０、および、そのシーケンサ回路によって制御される制御対象回路７０を含んで構成され、さらに、そのシーケンサ回路３０の動作検証を容易化するための回路として、遷移停止制御回路４０、状態コード注入回路５０、状態履歴記憶回路６０、エラー状態注入回路８０などを備えている。なお、これらの回路の詳細については、図２以降の図面を用いて順次説明する。
【００２０】
また、機能ブロック検証支援回路２は、通信インタフェース回路２１、検証支援処理回路２２を含んで構成される。
【００２１】
ここで、通信インタフェース回路２１は、通信線２０１を介して電子回路検証装置２００との間で行われる通信を制御する通信制御回路（図示省略）、その通信により電子回路検証装置２００から送信される検証指示情報（検証支援コマンドおよび付随情報）や電子回路検証装置２００へ送信する検証結果情報を一時記憶する一時記憶メモリ（図示省略）などを含んで構成される。
【００２２】
また、検証支援処理回路２２は、例えば、簡単なプロセッサ形式の処理回路によって構成されており、その検証支援処理回路２２は、検証支援制御バス２３を介して、各機能ブロック回路１に設けられている検証制御のための各種レジスタ（詳細後記）と、通信インタフェース回路２１内の一時記憶メモリとに、自在にアクセス可能なように構成されている。
【００２３】
本実施形態では、このような電子回路装置１００は、集積回路として１チップの半導体基板上に構成されているものとする。あるいは、電子回路装置１００は、その全体の回路が適宜分割されて複数の半導体基板上に構成され、その複数の半導体基板が、ポリイミドやセラミックスなどの絶縁基板上に搭載された、いわゆる、ＳｉＰであってもよい。
【００２４】
次に、機能ブロック回路１の詳細な構成の例について説明する前に、図２を参照して、機能ブロック回路１に用いられているシーケンサ回路３０の原理モデルについて説明する。図２は、シーケンサ回路の原理モデルの例を示した図である。
【００２５】
図２（ａ）に示すように、原理モデルのシーケンサ回路３０ａは、シーケンスロジック３１と状態コードレジスタ３２とを含んで構成される。シーケンスロジック３１は、いわゆる組み合わせ回路であり、状態コードレジスタ３２の出力および外部からの制御入力３５が入力される。また、シーケンスロジック３１の出力の一部は、状態コードレジスタ３２へフィードバック入力されるとともに、他の一部は、制御出力３６として外部へ出力される。なお、ここでいう外部とは、シーケンサ回路３０ａの外部をいう。
【００２６】
シーケンサ回路３０ａは、所定のクロック信号（図示省略）に同期して動作し、通常、そのクロックサイクルごとに状態コードレジスタ３２の値が定められる。従って、状態コードレジスタ３２の値は、シーケンサ回路３０ａの動作状態を表すものとして、しばしば「状態コード」または単に「状態」と呼ばれる。すなわち、状態コードレジスタ３２にクロック信号が入力されると、状態コードレジスタ３２の値は、自らの現在値と制御入力の値とによって定められる新しい値に変化する。このように状態コードレジスタ３２の値が変化することを「状態遷移」という。
【００２７】
図２（ｂ）に示した状態遷移図の例では、丸で囲んだ数字が状態を、矢印の方向が状態遷移の方向を、矢印の傍のＣ０〜Ｃ２の記号は、条件を表している。また、Ｃ０〜Ｃ２の上部の横棒（バー）は、条件の否定を表している。すなわち、図２（ｂ）においては、例えば、状態「０」がＩＤＬＥ状態（初期化された状態）である場合、条件「Ｃ０」が成立したときには、状態「１」へ遷移し、条件「Ｃ０」が成立しなかったときには、状態「０」に留まることを表している。同様に、状態「１」である場合に、条件「Ｃ１」が成立したときには、状態「２」へ遷移し、条件「Ｃ１」が成立しなかったときには、状態「７」へ遷移することを表している。また、条件が記載されていない遷移は、無条件遷移であることを表している。なお、条件Ｃ０〜Ｃ２は、状態コードレジスタ３２の出力および外部からの制御入力３５の組み合わせ論理によって与えられる。
【００２８】
シーケンサ回路３０ａにおいては、その状態遷移の仕様や制御入力３５のタイミングをどのように定めるかによって、シーケンスロジック３１の回路内容が定まり、また、制御出力３６の出力タイミング仕様が定まる。すなわち、シーケンサ回路３０ａにおいては、シーケンスロジック３１を状態遷移や制御入力３５に応じた回路にすることによって、様々な動作をする回路が容易に実現される。
【００２９】
以上のような原理モデルのシーケンサ回路３０ａおよび状態遷移図は、ディジタル制御の電子回路の設計者によく知られた概念であり、そのような設計者にとって、電子回路の設計とは、シーケンサ回路３０ａを前提とした状態遷移の設計といってもよい。従って、設計者は、シーケンサ回路３０ａの動作、つまり状態遷移がどのように行われるかを十分に把握している。そして、このようなシーケンサ回路３０ａからなる機能ブロック回路を複数含んでなる電子回路装置において、その電子回路装置の動作の検証とは、各シーケンサ回路３０ａにおいて、その状態遷移が設計したとおりに正しく行われているか否かを確認するに作業にほかならない。
【００３０】
そこで、本実施形態では、機能ブロック回路１は、図１に示したようにシーケンサ回路３０だけでなく、そのシーケンサ回路３０の動作検証を容易化するための回路として、遷移停止制御回路４０、状態コード注入回路５０、状態履歴記憶回路６０およびエラー状態注入回路８０を含んでいる。
【００３１】
図３は、本発明の実施形態に係る図１の電子回路装置１００を構成する機能ブロック回路１の詳細な構成の例を示した図である。図３に示すように、機能ブロック回路１は、シーケンスロジック３１と状態コードレジスタ３２とからなるシーケンサ回路３０を主構成要素として含み、前記したように遷移停止制御回路４０、状態コード注入回路５０、状態履歴記憶回路６０およびエラー状態注入回路８０をシーケンサ回路３０の動作検証を容易化するための回路として含み、さらに、シーケンサ回路３０によって制御される制御対象回路７０、および、シーケンサ回路３０の誤動作などを検出するＴＯ（タイムアウト）監視タイマ１１を含んで構成される。
【００３２】
ここで、シーケンサ回路３０の基本的な構成および動作は、図２を用いて説明したシーケンサ回路３０ａの構成および動作と同じである。
【００３３】
制御対象回路７０は、機能ブロック回路１に応じて、適宜、設けられる回路であり、例えば、加減算回路や乗算回路などの演算回路、シリアルデータ処理に付随する符号化回路、複合化回路、誤りチェック回路などである。図３では、そのような回路の主要部を制御対象具体回路７１として表している。このとき、制御対象具体回路７１へは、その制御のためにシーケンスロジック３１の出力（制御出力３６の一部）が入力され、また、制御対象具体回路７１の出力は、シーケンスロジック３１へ（制御入力３５の一部として）入力される。
【００３４】
このような制御対象具体回路７１を有する制御対象回路７０は、多くの場合、その動作状態、とくに異常状態を表すレジスタとして、エラー状態レジスタ７２を有している。エラー状態レジスタ７２には、制御対象具体回路７１において生じるエラー状態が表示される。例えば、制御対象具体回路７１がファイア符号検査回路である場合には、そのファイア符号検査回路で検出可能なバースト誤りが検出されたようなとき、そのバースト誤りが検出されたことを示すエラー状態がエラー状態レジスタ７２に表示される。そして、そのエラー状態を示す信号（エラーフラグ）は、制御対象具体回路７１を介してシーケンスロジック３１に入力され、シーケンサ回路３０の動作に影響を与える。
【００３５】
このようなエラーフラグ（例えば、前記のバーストエラー検出のエラーフラグ）は、シーケンサ回路３０から制御対象具体回路７１（例えば、前記のファイア符号検査回路）へ簡単なデータ系列を入力するだけでは、生じさせることが難しい。そのため、長いデータ系列の入力が必要となり、シーケンサ回路３０の動作検証に時間が掛かることになる。
【００３６】
そこで、本実施形態に係る機能ブロック回路１では、シーケンサ回路３０の状態コードレジスタ３２および制御対象回路７０のエラー状態レジスタ７２に、設計者が任意の値を設定できるようにするために、状態コード注入回路５０およびエラー状態注入回路８０が設けられている。
【００３７】
すなわち、状態コード注入回路５０には、検証支援処理回路２２（図１参照）から自在にアクセス可能なＳＴＡＲＴコードレジスタ５１が設けられている。そして、例えば、シーケンサ回路３０の遷移動作の停止中（すなわち、後記する遷移停止ＦＦ（フリップ・フロップ）４３が「１」を出力中）に、後記するＳＴＡＲＴパルス２５を受信すると、そのＳＴＡＲＴパルス２５によって、ＳＴＡＲＴコードレジスタ５１にセットされている値が状態コードレジスタ３２に転送される（注入される）ようにしている。
【００３８】
このとき、セレクタ５２は、状態コードレジスタ３２へ入力する信号を選択する回路であり、シーケンサ回路３０の遷移動作中の場合には、シーケンスロジック３１からの信号が選択され、遷移停止中の場合には、ＳＴＡＲＴコードレジスタ５１からの信号が選択される。なお、遷移動作中／停止中の選択信号としては、遷移停止ＦＦ４３の出力信号を利用することができるが、図３では、その選択信号の記載は省略されている。
【００３９】
同様に、エラー状態注入回路８０にも、検証支援処理回路２２（図１参照）から自在にアクセス可能なエラー状態注入レジスタ８１が設けられている。そして、例えば、シーケンサ回路３０の遷移動作の停止中（すなわち、遷移停止ＦＦ４３が「１」を出力中）に、ＳＴＡＲＴパルス２５を受信すると、そのＳＴＡＲＴパルス２５によって、エラー状態注入レジスタ８１にセットされている値がエラー状態レジスタ７２に転送される（注入される）。
【００４０】
また、セレクタ８２は、エラー状態レジスタ７２へ入力する信号を選択する回路であり、シーケンサ回路３０の遷移動作中の場合には、制御対象具体回路７１からの信号が選択され、遷移停止中の場合には、エラー状態注入レジスタ８１からの信号が選択される。なお、遷移動作中／停止中の選択信号としては、遷移停止ＦＦ４３の出力信号を利用することができるが、図３では、その選択信号の記載は省略されている。
【００４１】
さらに、図３に示すように、機能ブロック回路１は、遷移停止制御回路４０を有している。遷移停止制御回路４０は、ＳＴＯＰコードレジスタ４１、比較回路４２、遷移停止ＦＦ４３を含んで構成されている。ここで、遷移停止ＦＦ４３は、シーケンサ回路３０における状態遷移を動作または停止させる信号を生成する。すなわち、遷移停止ＦＦ４３は、通常状態で「０」、つまり遷移動作中を表し、検証支援処理回路２２からＳＴＯＰパルス２６を受信すると、遷移停止ＦＦ４３は「１」（遷移停止中）となる。また、その遷移停止中に、検証支援処理回路２２からＳＴＡＲＴパルス２５を受信すると、遷移停止ＦＦ４３は「０」にクリアされ、遷移動作中に戻る。
【００４２】
ＳＴＯＰコードレジスタ４１は、ＳＴＡＲＴコードレジスタ５１と同様の検証支援処理回路２２から自在にアクセス可能なレジスタであり、検証支援処理回路２２は、ＳＴＯＰコードレジスタ４１に任意の値（ＳＴＯＰコード）をセットすることができる。そして、ＳＴＯＰコードレジスタ４１にＳＴＯＰコードがセットされると、比較回路４２は、そのＳＴＯＰコードと状態コードレジスタ３２の出力である状態コードとを比較し、両者が一致したとき、遷移停止ＦＦ４３に「１」をセットして、シーケンサ回路３０の遷移動作を停止させる。
【００４３】
すなわち、シーケンサ回路３０の遷移動作は、シーケンサ回路３０の状態がＳＴＯＰコードレジスタ４１で指定した状態になったときに停止する。これは、検証支援処理回路２２がシーケンサ回路３０の遷移動作をＳＴＯＰコードレジスタ４１で指定した状態で、自在に停止させることができることを意味している、
【００４４】
さらに、機能ブロック回路１は、状態履歴記憶回路６０を有している。状態履歴記憶回路６０は、状態コードレジスタ３２に接続された、例えば、３段構成のＦＩＦＯ（First In First Out）レジスタからなるコード履歴レジスタ６１を含んで構成される。コード履歴レジスタ６１には、シーケンサ回路３０の状態遷移のクロック信号に同期して状態コードレジスタ３２の出力が次々に３段構成のＦＩＦＯレジスタ（コード履歴レジスタ６１）へ入力される。従って、遷移停止ＦＦ４３が「１」にセットされて、シーケンサ回路３０の遷移動作が停止したときには、３段構成のＦＩＦＯレジスタであるコード履歴レジスタ６１には、遷移動作が停止したときの状態コードレジスタ３２の値である状態コードと、その１クロックサイクル前の状態コードと、その２クロックサイクル前の状態コードと、が記憶されていることになる。なお、コード履歴レジスタ６１のＦＩＦＯレジスタは、３段構成に限定されるものではなく、２段構成や４段構成などであってもよい。
【００４５】
さらに、コード履歴レジスタ６１は、検証支援処理回路２２から自在にアクセス可能なレジスタでとして機能するようにも構成されている。従って、検証支援処理回路２２は、シーケンサ回路３０の遷移動作が停止したとき、そのシーケンサ回路３０が辿ってきた過去の状態の履歴を得ることができる。
【００４６】
さらに、機能ブロック回路１は、ＴＯ監視タイマ１１およびＴＯ監視停止レジスタ１２を有している。ＴＯ監視タイマ１１は、シーケンサ回路３０の誤動作を検出するタイマであり、シーケンスロジック３１からの出力によって監視時間がセットまたはリセットされるとともに、監視時間を経過した場合には、タイムアウトエラー信号を出力する。また、ＴＯ監視停止レジスタ１２は、ＴＯ監視タイマ１１のタイムアウト監視機能を停止させるレジスタであり、ＳＴＯＰパルス２６などにより、シーケンサ回路３０の動作が停止させられるときに合わせて用いられる。
【００４７】
なお、図３において、制御入力３５は、他の機能ブロック回路１の制御出力３６や、電子回路装置１００が、例えば、ＳｏＣやＳｉＰである場合の外部入力端子に接続される。また、制御出力３６は、他の機能ブロック回路１の制御入力３５や、電子回路装置１００が、例えば、ＳｏＣやＳｉＰである場合の外部出力端子に接続される。
【００４８】
以上、図３に示した機能ブロック回路１の構成によって、設計者は、シーケンサ回路３０の遷移動作を、電子回路検証装置２００および検証支援処理回路２２を有する機能ブロック検証支援回路２（図１参照）を介して、自らが意図する状態で停止させたり、開始させたり、その遷移動作の履歴を取得したりすることが可能となる。すなわち、設計者は、機能ブロック回路１のシーケンサ回路３０の遷移動作の検証を容易に行うことができるようになる。なお、設計者による検証の手順については後記する。
【００４９】
ここで、図３の機能ブロック回路１の構成について補足すると、制御対象回路７０は、存在しないものとしても構わない。その場合、制御対象回路７０に対応するものが現実に全く存在しないこともある。しかしながら、多くの場合は、他の機能ブロック回路１を制御対象回路７０に相当する回路とみなすことにより、図３の機能ブロック回路１の構成と同等の構成を得ることができる。なお、この場合、制御対象回路７０のエラー状態レジスタ７２には、前記の他の機能ブロック回路１の状態コードレジスタ３２が相当している。
【００５０】
従って、制御対象回路７０が存在しないとする場合には、制御対象回路７０に対応する他の複数の機能ブロック回路１の状態コードレジスタ３２に、エラー状態に対応する状態コードを設定することによって、図３の機能ブロック回路１の動作検証と同等の遷移動作の検証が可能となる。
【００５１】
図４は、制御入力注入回路を有する機能ブロック回路の例を示した図である。図３に示した機能ブロック回路１において、制御入力３５の値が定まらない場合は、一般には、シーケンサ回路３０の状態遷移が定めることができない。その場合には、シーケンサ回路３０の遷移動作の検証を行うことができない。そこで、図４に示す機能ブロック回路１ａでは、図３に示した機能ブロック回路１に制御入力注入回路９０を追加し、シーケンサ回路３０の遷移動作の検証を行うことができるようにしている。
【００５２】
図４に示すように、制御入力注入回路９０は、制御入力注入レジスタ９１とセレクタ９２とを含んで構成される。制御入力注入レジスタ９１は、ＳＴＡＲＴコードレジスタ５１と同様に、検証支援処理回路２２から自在にアクセス可能なレジスタであり、検証支援処理回路２２は、制御入力注入レジスタ９１に任意の値（制御入力値）をセットすることができる。
【００５３】
セレクタ９２は、シーケンスロジック３１へ入力する信号を選択する回路であり、シーケンサ回路３０が遷移動作中の場合には、制御入力３５の信号が選択され、遷移停止中の場合には、制御入力注入レジスタ９１からの信号が選択される。なお、遷移動作中／停止中の選択信号としては、遷移停止ＦＦ４３の出力信号を利用することができるが、図４では、その選択信号の記載は省略されている。
【００５４】
なお、本明細書における以下の説明では、電子回路装置１００を構成する機能回路ブロックは、図３に示した機能回路ブロック１であるとするが、以下の説明は、図４に示した機能回路ブロック１ａにも同様に適用可能である。
【００５５】
図１に示した電子回路装置１００では、図３に示した機能ブロック回路１に代えて、図４に示した機能ブロック回路１ａを用いてもよい。この場合には、電子回路装置１００を構成する機能ブロック回路１ａの動作検証を、他の機能ブロック回路１ａの動作から完全に切離すことができるので、機能ブロック回路１ａの動作を考慮する必要がない。従って、設計者は、より容易にその機能ブロック回路１ａの動作検証を行うことができるようになる。
【００５６】
図５は、機能ブロック検証支援回路２の検証支援処理回路２２が自在にアクセス可能なレジスタのアドレス割り当ての例を示した図である。図３に示したように、検証支援処理回路２２は、検証支援制御バス２３を介して、各機能ブロック回路１に含まれるＳＴＯＰコードレジスタ４１、ＳＴＡＲＴコードレジスタ５１、エラー状態注入レジスタ８１、ＴＯ監視停止レジスタ１２、ＳＴＡＲＴ／ＳＴＯＰパルス生成レジスタ（図３に図示せず）、遷移停止ＦＦ４３、コード履歴レジスタ６１などに接続されている。そこで、図５に示すように、これらの各レジスタには、検証支援処理回路２２が検証支援制御バス２３を介してアクセスするときのアドレス（図５におけるアドレスは、１６進数表示（ＨＥＸ））が割り当てられている。
【００５７】
このとき、検証支援制御バス２３は、例えば、１６ビットのアドレスバスと８ビットのデータバスによって構成さる。そして、アドレスバスの上位８ビットは、検証対象の機能ブロック回路１を指定する機能ブロック回路識別番号の送出に用いられ、下位８ビットは、図５に示したレジスタを識別するアドレスが送出される。
【００５８】
なお、図５において、ＳＴＡＲＴ／ＳＴＯＰパルス生成レジスタは、図３に示されていないが、ＳＴＡＲＴ／ＳＴＯＰパルス生成レジスタのｂｉｔ０に「１」が書き込まれたときには、ＳＴＯＰパルス２６が発信される。同様に、そのｂｉｔ１に「１」が書き込まれたときには、ＳＴＡＲＴパルス２５が発信される。また、遷移停止ＦＦ４３は、読み出し専用レジスタとして、検証支援制御バス２３に接続されている（図３では、その接続線の記載が省略）。従って、検証支援処理回路２２は、シーケンサ回路３０の遷移動作中／停止中の状態を、適宜、知ることができる。
【００５９】
また、図５の各レジスタ（遷移停止ＦＦ４３およびコード履歴レジスタ６１を除く）に書き込まれるデータは、シーケンサ回路３０および制御対象具体回路７１の検証動作を制御する情報であるので、以下、検証制御情報と総称する。また、コード履歴レジスタから読み出される状態コードの履歴値は、検証動作の結果得られる情報であるので、以下、検証結果情報という。
【００６０】
図６は、電子回路検証装置２００から電子回路装置１００へ送信される機能ブロック回路１の検証を支援する検証支援コマンドの例を示した図で、（ａ）は、検証支援コマンドの送信フレームフォーマットの例、（ｂ）は、各検証支援コマンドに必要なパラメータを示した図である。なお、図６（ｂ）において、「○」は、そのパラメータが必要であること、「−」は、そのパラメータが不要であること、「○／−」は、必要なこともあり、また、不要なこともあることを示している。
【００６１】
機能ブロック回路１の検証を支援する検証支援コマンドは、図６（ａ）に示すように、コマンド名称、機能ブロック回路識別番号、ＳＴＯＰ状態コード、エラー状態コードの各フィールドを含んで構成される。また、コマンドの種類としては、例えば、図６（ｂ）に示すように、ＳＴＯＰ、ＳＴＡＲＴ、ＳＴＯＰ＠、ＳＴＡＲＴ＠、ＳＴＡＲＴ＠＆ＳＴＯＰ＠、ＲＥＡＤなどがある。
【００６２】
ここで、ＳＴＯＰコマンドは、機能ブロック回路識別番号で指定される機能ブロック回路１のシーケンサ回路３０の遷移動作を任意に停止させるコマンドであり、ＳＴＡＲＴコマンドは、前記シーケンサ回路３０の遷移動作を任意に開始させるコマンドである。これらのコマンドでは、機能ブロック回路識別番号だけを設定しておけばよい。
【００６３】
また、ＳＴＯＰ＠コマンドは、機能ブロック回路識別番号で指定される機能ブロック回路１に対して、ＳＴＯＰ状態コードで指定した状態で前記シーケンサ回路３０の遷移動作を停止させるコマンドであり、ＳＴＡＲＴ＠コマンドは、ＳＴＡＲＴ状態コードを指定してシーケンサ回路３０の遷移動作を開始させるコマンドである。これらのコマンドで設定が必要なパラメータは、それぞれ、機能ブロック回路識別番号とＳＴＯＰ状態コード、または、機能ブロック回路識別番号とＳＴＡＲＴ状態コードである。また、検証動作に応じて必要な場合には、エラー状態コードを設定する。
【００６４】
また、ＳＴＡＲＴ＠＆ＳＴＯＰ＠コマンドは、機能ブロック回路識別番号で指定される機能ブロック回路１に対して、ＳＴＡＲＴ状態コードを指定してシーケンサ回路３０の遷移動作を開始させ、その後、ＳＴＯＰ状態コードで指定した状態でシーケンサ回路３０の遷移動作を停止させるコマンドである。このコマンドでは、機能ブロック回路識別番号、ＳＴＯＰ状態コード、ＳＴＡＲＴ状態コードを設定しておき、さらに、検証動作に応じて必要な場合には、エラー状態コードを設定する。
【００６５】
また、ＲＥＡＤコマンドは、機能ブロック回路識別番号で指定される機能ブロック回路１から、コード履歴レジスタ６１に記憶されている状態コードの履歴情報を読み出すコマンドである。このコマンドでは、機能ブロック回路識別番号だけを設定しておけばよい。
【００６６】
設計者が電子回路装置１００の機能ブロック回路１の動作検証をする場合には、その動作検証の内容に応じて、図６で示した検証支援コマンドを、適宜、電子回路装置１００へ送信することにより、機能ブロック回路１の動作検証を行うことができる。すなわち、設計者は、検証支援コマンドという設計支援指示情報を電子回路装置１００の機能ブロック回路１へ送信することによって、機能ブロック回路１に対し、検証動作を実行させることができ、さらには、ＲＥＡＤコマンドによって、コード履歴レジスタ６１に記憶されている状態コードの履歴情報を検証結果情報として取得するこができる。
【００６７】
図７は、（ａ）電子回路検証装置２００で行われる機能ブロック回路動作検証処理の例、および、（ｂ）その処理の対象となる機能ブロック回路１におけるシーケンサ回路３０の状態遷移図の例を示した図である。
【００６８】
まず、電子回路検証装置２００は、ＳＴＯＰコマンドを電子回路装置１００へ送信する（ステップＳ０１）。指定された機能ブロック回路１の検証支援処理回路２２は、そのＳＴＯＰコマンドを受信すると、機能ブロック回路１へＳＴＯＰパルス２６を発信する。機能ブロック回路１は、そのＳＴＯＰパルス２６を受信するとシーケンサ回路３０の状態遷移動作が停止する。ただし、このコマンドでは、停止したときの状態は指定されない。この例では、図７（ｂ）に示すように、状態遷移動作は、例えば、状態「１」で停止したとする。
【００６９】
次に、電子回路検証装置２００は、例えば、ＳＴＡＲＴ状態コードを「３」、ＳＴＯＰ状態コードを「６」、エラー状態コードを「エラーあり」としたＳＴＡＲＴ＠＆ＳＴＯＰ＠コマンドを電子回路装置１００へ送信する（ステップＳ０２）。検証支援処理回路２２は、ＳＴＡＲＴ＠＆ＳＴＯＰ＠コマンドを受信すると、後記する図８の処理を実行することによって、エラー状態注入レジスタ８１に「エラーあり」の情報を設定した上で、シーケンサ回路３０の状態遷移を状態「３」から再開させ、状態「６」で停止させる。
【００７０】
次に、電子回路検証装置２００は、ＲＥＡＤコマンドを電子回路装置１００へ送信し（ステップＳ０３）、その応答として、シーケンサ回路３０の状態遷移の履歴データを受信する（ステップＳ０４）。このとき、図７（ｂ）の例では、電子回路検証装置２００は、「エラーあり」の経路に対応する状態「６」、「５」、「３」のデータを受信する。
【００７１】
次に、電子回路検証装置２００は、その受信した状態遷移の履歴データを期待値と比較し（ステップＳ０５）、一致／不一致の情報を表示装置に表示する（ステップＳ０６）。こうして、設計者は、機能ブロック回路１における検証動作が正しく動作したか否かを知ることができる。
【００７２】
ちなみに、図７（ｂ）の例では、エラー状態レジスタ７２にエラーを注入しているので、状態遷移の履歴データとして「６」、「５」、「３」が受信された場合には、状態遷移は正しく行われたと判断され、状態遷移の履歴データとして「６」、「５」、「３」以外が受信された場合には、状態遷移は誤って行われたと判断される。そして、状態遷移は誤って行われたと判断された場合には、シーケンスロジック３１などに設計上の誤りがあったり、製造上の素子故障があったりすることになる。
【００７３】
以上の機能ブロック回路動作検証処理により、例えば、まれにしか生じないようなエラー状態を発生させて、そのエラー状態に対するエラー処理経路についても、設計者は、電子回路検証装置２００を用いて、その状態遷移が正しく行われているか否かを容易に検証することができるようになる。
【００７４】
図８は、機能ブロック回路１の検証支援処理回路２２における検証支援コマンド受信時の処理フローの例を示した図であり、（ａ）は、ＳＴＯＰコマンド受信時の処理、（ｂ）ＳＴＡＲＴ＠＆ＳＴＯＰ＠コマンド受信時の処理の例である。
【００７５】
図８（ａ）に示すように、検証支援処理回路２２は、電子回路検証装置２００からＳＴＯＰコマンドを受信すると（ステップＳ１１）、そのＳＴＯＰコマンドの受信フレームから機能ブロック回路識別番号を抽出する（ステップＳ１２）。次に、検証支援処理回路２２は、その機能ブロック回路識別番号で指定される機能ブロック回路１に対して、ＳＴＯＰパルス２６を発信する（ステップＳ１３）。
【００７６】
なお、ＳＴＯＰパルス２６の発信は、ＳＴＡＲＴ／ＳＴＯＰパルス生成レジスタ（図５参照）にデータ「０１（ＨＥＸ：１６進数表示）」を書き込むことによって実現される。機能ブロック回路１は、このＳＴＯＰパルス２６を受信すると、遷移停止ＦＦ４３が「１」にセットされて、シーケンサ回路３０の遷移動作が停止する。
【００７７】
次に、検証支援処理回路２２は、遷移停止ＦＦ４３の値を読み出し（ステップＳ１３）、シーケンサ回路３０が遷移停止したか否かを判定する（ステップＳ１４）。その判定の結果、遷移停止した場合には（ステップＳ１５でＹｅｓ）、ＳＴＯＰコマンド受信時の処理を終了する。一方、遷移停止していない場合には（ステップＳ１５でＮｏ）、ステップＳ１４へ戻って、遷移停止ＦＦ４３の値を再度読み出す。
【００７８】
図８（ｂ）に示すように、検証支援処理回路２２は、電子回路検証装置２００からＳＴＡＲＴ＠＆ＳＴＯＰ＠コマンドを受信すると（ステップＳ２１）、そのＳＴＡＲＴ＠＆ＳＴＯＰ＠コマンドの受信フレームから機能ブロック回路識別番号、ＳＴＡＲＴ状態コード、ＳＴＯＰ状態コードおよびエラー状態コードを抽出する（ステップＳ２２）。
【００７９】
次に、検証支援処理回路２２は、その機能ブロック回路識別番号で指定される機能ブロック回路１のＳＴＡＲＴコードレジスタ５１に、前記抽出したＳＴＡＲＴ状態コードを書き込む（ステップＳ２３）。同様に、検証支援処理回路２２は、前記の機能ブロック回路識別番号で指定される機能ブロック回路１のＳＴＯＰコードレジスタ４１に、前記抽出したＳＴＯＰ状態コードを書き込む（ステップＳ２４）。また、同様に、検証支援処理回路２２は、前記の機能ブロック回路識別番号で指定される機能ブロック回路１のエラー状態注入レジスタ８１に前記抽出したエラー状態コードを書き込む（ステップＳ２５）。
【００８０】
次に、検証支援処理回路２２は、前記の機能ブロック回路識別番号で指定される機能ブロック回路１に対して、ＳＴＡＲＴパルス２５を発信する（ステップＳ２６）。なお、ＳＴＡＲＴパルス２５の発信は、ＳＴＡＲＴ／ＳＴＯＰパルス生成レジスタ（図５参照）にデータ「０２（ＨＥＸ）」を書き込むことによって実現される。機能ブロック回路１は、このＳＴＡＲＴパルス２５を受信すると、遷移停止ＦＦ４３が「０」にセットされて、シーケンサ回路３０の遷移動作が開始する。
【００８１】
次に、検証支援処理回路２２は、遷移停止ＦＦ４３の値を読み出し（ステップＳ２７）、シーケンサ回路３０が遷移開始したか否かを判定し（ステップＳ２８）、その判定の結果、遷移開始した場合には（ステップＳ２８でＹｅｓ）、検証支援処理回路２２は、遷移停止ＦＦ４３の値を再度読み出す（ステップＳ２９）。一方、ステップＳ２８の判定の結果、遷移開始していない場合には（ステップＳ２８でＮｏ）、検証支援処理回路２２は、ステップＳ２７へ戻って、遷移停止ＦＦ４３の値を再度読み出す。
【００８２】
さらに、検証支援処理回路２２は、ステップＳ２９で読み出した遷移停止ＦＦ４３の値に基づき、シーケンサ回路３０が遷移停止したか否かを判定する（ステップＳ３０）。その判定の結果、遷移停止した場合には（ステップＳ３０でＹｅｓ）、検証支援処理回路２２は、ＳＴＡＲＴ＠＆ＳＴＯＰ＠コマンドの受信処理を終了する。一方、遷移停止していない場合には（ステップＳ３０でＮｏ）、ステップＳ２９へ戻って、遷移停止ＦＦ４３の値を再度読み出す。
【００８３】
以上、ステップＳ２７〜Ｓ３０の処理では、シーケンサ回路３０の遷移動作が開始され、その後、遷移動作が停止したことを確認する。
【００８４】
以上、ここでは、ＳＴＯＰコマンドおよびＳＴＡＲＴ＠＆ＳＴＯＰ＠コマンドについてのみ、検証支援処理回路２２におけるコマンド受信時の処理フローについて説明したが、他のコマンドについても類似した処理であるので、その説明を省略する。
【００８５】
なお、図６に示した検証支援コマンドのうち、ＳＴＯＰコマンドおよびＳＴＯＰ＠コマンドは、基本的には、シーケンサ回路３０の遷移動作中に電子回路検証装置２００から送信され、検証支援処理回路２２で処理される。一方、ＳＴＯＰコマンドおよびＳＴＯＰ＠コマンド以外の検証支援コマンドは、基本的には、シーケンサ回路３０の遷移停止中に電子回路検証装置２００から送信され、検証支援処理回路２２で処理される。
【００８６】
また、検証支援処理回路２２は、ＳＴＯＰコマンド、ＳＴＯＰ＠コマンドまたはＳＴＡＲＴ＠＆ＳＴＯＰ＠コマンドを受信したときには、そのコマンドの処理を開始するに先立って、ＴＯ監視停止レジスタ１２にデータ「０１（ＨＥＸ）」を送信して、ＴＯ監視タイマ１１の動作を停止させる。また、ＳＴＡＲＴコマンドまたはＳＴＡＲＴ＠コマンドを受信したときには、そのコマンドの処理を開始するに先立って、ＴＯ監視停止レジスタ１２にデータ「００（ＨＥＸ）」を送信して、ＴＯ監視タイマ１１の動作を再開させる。
【００８７】
以上、本実施形態によれば、設計者は、検証支援コマンドを適宜用いることによって、図１に示した電子回路装置１００の動作検証を容易に行うことが可能になる。
【符号の説明】
【００８８】
１，１ａ      機能ブロック回路
１ａ    機能ブロック回路
２      機能ブロック検証支援回路
１１    ＴＯ監視タイマ
１２    ＴＯ監視停止レジスタ
２１    通信インタフェース回路
２２    検証支援処理回路
２３    検証支援制御バス
２５    ＳＴＡＲＴパルス
２６    ＳＴＯＰパルス
３０，３０ａ    シーケンサ回路
３１    シーケンスロジック
３２    状態コードレジスタ
３５    制御入力
３６    制御出力
４０    遷移停止制御回路
４１    ＳＴＯＰコードレジスタ
４２    比較回路
５０    状態コード注入回路
５１    ＳＴＡＲＴコードレジスタ
５２，８２，９２    セレクタ
６０    状態履歴記憶回路
６１    コード履歴レジスタ
７０    制御対象回路
７１    制御対象具体回路
７２    エラー状態レジスタ
８０    エラー状態注入回路
８１    エラー状態注入レジスタ
９０    制御入力注入回路
９１    制御入力注入レジスタ
１００  電子回路装置
２００  電子回路検証装置
２０１  通信線
【図１】
2011149855.tif 000003
【図２】
2011149855.tif 000004
【図３】
2011149855.tif 000005
【図４】
2011149855.tif 000006
【図５】
2011149855.tif 000007
【図６】
2011149855.tif 000008
【図７】
2011149855.tif 000009
【図８】
2011149855.tif 000010