(57)【要約】【課題】従来の半導体装置では、回路構成を指定するコマンドの誤りを検出することができなかった。【解決手段】一実施の形態によれば、半導体装置は、アナログフロントエンド部の回路構成を指定する複数のコマンドを処理部からアナログフロントエンド部に送信し、アナログフロントエンド部において受信した複数のコマンドを解析し、複数のコマンドによって決定されるアナログフロントエンド部の更新後回路構成が予め設定された禁止条件を含む場合には受信した複数のコマンドによる回路構成の更新処理を停止する。【選択図】図２１
2014132418.tif 000002
【特許請求の範囲】
【請求項１】
複数のアナログ機能回路と、前記複数のアナログ機能回路の回路形式及び回路構成を切り替えるスイッチ回路群と、を含むアナログフロントエンド部と、
プログラムを実行する演算部と、前記プログラムと前記複数のアナログ機能回路の回路形式を指定する回路形式設定値を少なくとも指定する複数のコマンドとを格納するメモリと、を備える処理部と、
前記アナログフロントエンド部と前記処理部との間で通信を行う通信インタフェースと、を有し、
前記アナログフロントエンド部は、
前記処理部から送信された前記複数のコマンドを格納するデータスタックと、
前記複数のアンプの現在の構成を規定する回路構成制御値を格納する制御レジスタと、
前記データスタックに格納された前記複数のコマンドを参照して前記アナログ機能回路の更新後の回路形式を特定する第１の回路形式解析部と、
禁止される接続状態を回路形式毎に記述した複数の禁止条件から前記第１の回路形式解析部により特定された回路形式に対応した前記禁止条件を選択する禁止条件選択部と、
前記データスタックに格納された複数のコマンドを参照して、前記アナログ機能回路の更新後の回路構成が、前記禁止条件選択部により選択された前記禁止条件を満たす接続状態を含む場合に更新後の回路構成が前記禁止条件に違反することを示すエラー値を有するエラーコードを生成するエラー検出部と、
前記処理部から送信されるコマンド実行命令に応じて、前記データスタックに格納された前記複数のコマンドにより前記制御レジスタの前記回路構成制御値を更新するレジスタ制御部と、を有し、
前記レジスタ制御部は、前記エラーコードが前記エラー値を有する場合には前記回路構成制御値の更新を停止する半導体装置。
【請求項２】
前記第１の回路形式解析部は、前記回路形式設定値の期待値を有し、当該期待値と前記データスタックから取得した前記回路形式設定値とを比較して更新後の前記アナログ機能回路の回路形式を特定する請求項１に記載の半導体装置。
【請求項３】
前記回路形式設定値は、異なる回路形式を示す設定値の間のハミング距離が３以上離れ、
前記第１の回路形式解析部は、前記回路形式設定値との間のハミング距離が最も近い前記期待値に対応する回路形式を更新後の前記アナログ機能回路の回路形式として特定する請求項２に記載の半導体装置。
【請求項４】
前記回路形式設定値は、前記アナログ機能回路の回路形式を切り替える回路形式制御スイッチのそれぞれに対応した複数のスイッチ切替値を含み、前記複数のスイッチ切替値のうちの少なくとも１つは同一値が３ビット以上連続した冗長スイッチ切替値であって、
前記レジスタ制御部は、前記冗長スイッチ切替値に対しては、多数決処理を行い、前記多数決処理において数が多いと判断された値を前記スイッチ切替値として出力する請求項３に記載の半導体装置。
【請求項５】
前記第１の回路形式解析部は、前記データスタックに格納された前記複数のコマンド中に前記回路形式設定値が含まれていない場合に、前記制御レジスタに格納された前記回路構成制御値を参照して更新後の前記アナログ機能回路の回路形式を特定する請求項１に記載の半導体装置。
【請求項６】
前記制御レジスタに格納された前記回路構成制御値に基づき規定される前記アナログ機能回路の現在の回路形式が複数のアンプにより構成される計装アンプであることを検出して、計装アンプ検出信号を出力する第２の回路形式解析部と、
前記計装アンプ検出信号に基づき、現在の前記回路構成制御値の更新時に合わせて前記制御レジスタに格納された前記回路構成制御値を初期状態とするリセットコマンドを生成するリセットコマンド発生回路と、を有する請求項１に記載の半導体装置。
【請求項７】
前記アナログフロントエンド部に入力信号を与える複数の外部入力端子と、
前記外部入力端子に接続されるセンサ素子の有無を判定して端子状態通知信号を出力する使用端子検出部と、
前記端子状態通知信号に基づき利用可能な回路形式を特定する第３の回路形式解析部と、
前記第１の回路形式解析部が特定した回路形式と、前記第３の回路形式解析部が特定した回路形式とが不一致であった場合に前記エラー値を有する前記エラーコードを出力する比較器と、
を有する請求項１に記載の半導体装置。
【請求項８】
緊急通知フラグを格納する緊急通知フラグレジスタと、
前記緊急通知フラグが第１の値である場合に、前記エラーコードが正常値から前記エラー値に切り替わったことに応じて前記処理部にエラー信号を出力する緊急通知判断部と、を有し、
前記第１の回路形式解析部は、特定した回路形式が予め設定された緊急通知対象回路形式であった場合に緊急通知フラグを第２の値から前記第１の値に書き換える請求項１に記載の半導体装置。
【請求項９】
前記データスタックに格納されている前記複数のコマンド中に予め規定されたコマンドとは異なる不正コマンドが含まれている場合に前記エラー値を有するエラーコードを生成する不正コマンド解析部を有する請求項１に記載の半導体装置。
【請求項１０】
前記禁止条件は、更新後の前記アナログ機能回路に含まれる信号パスに直流電流が流れる可能性がある前記スイッチ回路群の接続状態を規定した直流電流パス条件を含む請求項１に記載の半導体装置。
【請求項１１】
前記処理部は、前記エラーコードを参照して、予め設定された処理を実行する請求項１に記載の半導体装置。
【請求項１２】
複数のアナログ機能回路と、前記複数のアナログ機能回路の回路形式及び回路構成を切り替えるスイッチ回路群と、を含むアナログフロントエンド部と、
プログラムを実行する演算部と、前記プログラムと前記複数のアナログ機能回路の回路形式を指定する回路形式設定値を少なくとも指定する複数のコマンドとを格納するメモリと、を備える処理部と、
前記アナログフロントエンド部と前記処理部との間で通信を行う通信インタフェースと、を有する半導体装置のコマンド制御方法であって、
前記処理部から前記複数のコマンドを受信してデータスタックに格納するコマンド受信ステップと、
前記アナログフロントエンド部が受信した前記複数のコマンドに含まれる前記回路形式設定値に基づき前記アナログ機能回路の更新後の回路形式を特定する第１の回路形式解析ステップと、
禁止される接続状態を回路形式毎に記述した複数の禁止条件から前記第１の回路形式解析ステップにより特定された回路形式に対応した前記禁止条件を選択する禁止条件選択ステップと、
前記データスタックに格納された複数のコマンドを参照して、前記アナログ機能回路の更新後の回路構成が前記禁止条件選択ステップにより選択された前記禁止条件を満たす接続状態を含む場合に、更新後の回路構成が前記禁止条件に違反することを示すエラー値を有するエラーコードを生成するエラー検出ステップと、
前記エラーコードが前記アナログ機能回路の更新後の回路構成が前記禁止条件を満たさないことを示す正常値であった場合には前記アナログ機能回路の現在の回路構成を規定する回路構成制御値を前記複数のコマンドにより更新する回路設定更新ステップと、
前記エラーコードが前記エラー値を有する場合には、前記回路構成制御値を前記複数のコマンドによらず維持する回路設定禁止ステップと、
を有する半導体装置のコマンド制御方法。
【請求項１３】
前記第１の回路形式解析ステップにおいて、前記回路形式設定値の期待値と前記データスタックから取得した前記回路形式設定値とを比較して更新後の前記アナログ機能回路の回路形式を特定する請求項１２に記載の半導体装置のコマンド制御方法。
【請求項１４】
前記回路形式設定値は、異なる回路形式を示す設定値の間のハミング距離が３以上離れ、
前記第１の回路形式解析ステップにおいては、前記回路形式設定値との間のハミング距離が最も近い前記期待値に対応する回路形式を更新後の前記アナログ機能回路の回路形式として特定する請求項１３に記載の半導体装置のコマンド制御方法。
【請求項１５】
前記回路形式設定値は、前記アナログ機能回路の回路形式を切り替える回路形式制御スイッチのそれぞれに対応した複数のスイッチ切替値を含み、前記複数のスイッチ切替値のうちの少なくとも１つは同一値が３ビット以上連続した冗長スイッチ切替値であって、
前記回路設定更新ステップにおいて、前記冗長スイッチ切替値に対しては、多数決処理を行い、前記多数決処理において数が多いと判断された値を前記スイッチ切替値として出力する請求項１４に記載の半導体装置のコマンド制御方法。
【請求項１６】
前記コマンド受信ステップで受信した前記複数のコマンド中に前記回路形式設定値が含まれていない場合に、前記第１の回路形式解析ステップにおいて、前記回路構成制御値を参照して前記アナログ機能回路の更新後の回路形式を特定する請求項１２に記載の半導体装置のコマンド制御方法。
【請求項１７】
前記回路構成制御値に基づき規定される前記アナログ機能回路の現在の回路構成が複数のアンプにより構成される計装アンプであることを検出する第２の回路形式解析ステップと、
現在の回路形式が前記計装アンプであった場合、現在の前記回路構成制御値の更新時に合わせて前記回路構成制御値を初期状態とするリセットコマンドを生成するリセットコマンド生成ステップと、を有する請求項１２に記載の半導体装置のコマンド制御方法。
【請求項１８】
前記半導体装置は、前記アナログフロントエンド部に入力信号を与える複数の外部入力端子を有し、
前記外部入力端子に接続されるセンサ素子の有無を判定して端子状態通知信号を出力する使用端子検出ステップと、
前記端子状態通知信号に基づき利用可能な回路構成を特定する第３の回路形式解析ステップと、を有し、
前記第１の回路形式解析ステップにおいて特定した回路形式と、前記第３の回路形式解析ステップにおいて特定した回路形式とが不一致であった場合に前記エラー値を有する前記エラーコードを出力する請求項１２に記載の半導体装置のコマンド制御方法。
【請求項１９】
前記第１の回路形式解析ステップにおいて特定した回路形式が予め設定された緊急通知対象回路形式であった場合には、前記エラーコードが前記エラー値となったことに応じて前記アナログフロントエンド部から前記処理部にエラー信号を出力する請求項１２に記載の半導体装置のコマンド制御方法。
【請求項２０】
受信した前記複数のコマンド中に予め規定されたコマンドとは異なる不正コマンドが含まれている場合に前記エラー値を有する前記エラーコードを生成する不正コマンド解析ステップを有する請求項１２に記載の半導体装置のコマンド制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置及びそのコマンド制御方法に関し、例えば回路構成を再構成可能なアナログ回路群を含む半導体装置及びそのコマンド制御方法に関する。
【背景技術】
【０００２】
近年、回路の動作範囲、或いは、回路の構成をプログラマブルに切り替えるプログラマブル半導体装置が提案されている。そこで、このプログラマブル半導体装置の一例が特許文献１に開示されている。
【０００３】
特許文献１には、入力電圧レンジがプログラマブルに切り替え可能なアナログデジタル変換回路が開示されている。このアナログデジタル変換回路は、シリアルポートから入力されるデータ入力に基づきアナログ入力信号をサンプリングするＣａｐＤＡＣ配列のいずれのビットにサンプリングするかを設定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００７−５３１４０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、シリアルポートから入力されるデータ入力の値の真偽については判断できず、データ入力が壊れてしまった場合に回路を想定した構成とすることが出来ない問題がある。
【０００６】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
一実施の形態によれば、半導体装置は、アナログフロントエンド部の回路構成を指定する複数のコマンドを処理部からアナログフロントエンド部に送信し、アナログフロントエンド部において受信した複数のコマンドを解析し、複数のコマンドによって決定されるアナログフロントエンド部の更新後回路構成が予め設定された禁止条件を含む場合には受信した複数のコマンドによる回路構成の更新処理を停止する。
【０００８】
なお、上記実施の形態の装置を方法やシステムに置き換えて表現したもの、該装置または該装置の一部の処理をコンピュータに実行せしめるプログラム、該装置を備えた撮像装置なども、本発明の態様としては有効である。
【発明の効果】
【０００９】
前記一実施の形態によれば、回路構成を指定する複数のコマンドに含まれるエラーに起因する回路の誤設定を防ぐことができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係るセンサシステムの構成図である。
【図２】実施の形態１に係る半導体装置の回路ブロック図である。
【図３】実施の形態１に係る半導体装置の回路の接続関係を示す図である。
【図４】実施の形態１に係る半導体装置の回路の接続例を示す図である。
【図５】実施の形態１に係る半導体装置の回路の接続例を示す図である。
【図６】実施の形態１に係る半導体装置の回路の接続例を示す図である。
【図７】実施の形態１に係る半導体装置の回路の接続例を示す図である。
【図８】実施の形態１に係る半導体装置の回路構成を示す回路図である。
【図９】実施の形態１に係る半導体装置の構成変更例を示す回路図である。
【図１０】実施の形態１に係る半導体装置の構成変更例を示す回路図である。
【図１１】実施の形態１に係る半導体装置の構成変更例を示す回路図である。
【図１２】実施の形態１に係る半導体装置の構成変更例を示す回路図である。
【図１３】実施の形態１に係る半導体装置の構成変更例を示す回路図である。
【図１４】実施の形態１に係る半導体装置の構成変更例を示す回路図である。
【図１５】実施の形態１に係る半導体装置の回路構成を示す回路図である。
【図１６】実施の形態１に係る半導体装置の回路の動作を示すタイミングチャートである。
【図１７】実施の形態１に係る半導体装置の回路構成を示す回路図である。
【図１８】実施の形態１に係る半導体装置の回路構成を示す回路図である。
【図１９】実施の形態１に係る半導体装置の回路構成を示す回路図である。
【図２０】実施の形態１に係る半導体装置の回路構成を示す回路図である。
【図２１】実施の形態１に係る半導体装置のＳＰＩインタフェースを示すブロック図である。
【図２２】実施の形態１に係る半導体装置のコンフィギュラブル・アンプの回路図である。
【図２３】実施の形態１に係る半導体装置で扱われるコマンドを説明する表である。
【図２４】実施の形態１に係る半導体装置で利用される回路形式データベースの内容を説明する表である。
【図２５】実施の形態１に係る半導体装置の禁止条件を説明する回路図及び表である。
【図２６】実施の形態１に係る半導体装置の禁止条件を説明する回路図及び表である。
【図２７】実施の形態１に係る半導体装置の禁止条件を説明する回路図及び表である。
【図２８】実施の形態１に係る半導体装置の禁止条件を説明する回路図及び表である。
【図２９】実施の形態１に係る半導体装置の通信タイミングを示すタイミングチャートである。
【図３０】実施の形態１に係る半導体装置のコマンド送信手順を示すフローチャートである。
【図３１】実施の形態１に係る半導体装置のＳＰＩインタフェースの動作を示すフローチャートである。
【図３２】実施の形態１に係る半導体装置の動作を示すフローチャートである。
【図３３】実施の形態２に係る半導体装置で扱われるコマンドを説明する表である。
【図３４】実施の形態２に係る半導体装置で利用される回路形式データベースの内容を説明する表である。
【図３５】実施の形態２に係る半導体装置の禁止条件を説明する回路図及び表である。
【図３６】実施の形態３に係る半導体装置で利用される回路形式データベースの内容を説明する表である。
【図３７Ａ】実施の形態３に係る半導体装置の禁止条件を説明する回路図である。
【図３７Ｂ】実施の形態３に係る半導体装置の禁止条件を説明する表である。
【図３８】実施の形態４に係る半導体装置のＳＰＩインタフェースを示すブロック図である。
【図３９】実施の形態４に係る半導体装置で扱われるコマンドを説明する表である。
【図４０】実施の形態４に係る半導体装置で利用される回路形式データベースの内容を説明する表である。
【図４１】実施の形態５に係る半導体装置のＳＰＩインタフェースを示すブロック図である。
【図４２】実施の形態５に係る半導体装置で扱われるコマンドを説明する表である。
【図４３】実施の形態５に係る半導体装置で利用される回路形式データベースの内容を説明する表である。
【図４４】実施の形態６に係る半導体装置のＳＰＩインタフェースを示すブロック図である。
【図４５】実施の形態６に係る半導体装置の動作を示すフローチャートである。
【図４６】実施の形態６に係る半導体装置のＳＰＩインタフェースの別の形態を示すブロック図である。
【図４７】実施の形態７に係る半導体装置のＳＰＩインタフェースを示すブロック図である。
【図４８】実施の形態７に係る半導体装置の動作を示すフローチャートである。
【図４９】実施の形態８に係る半導体装置のＳＰＩインタフェースを示すブロック図である。
【図５０】実施の形態８に係る半導体装置の使用端子検出部の回路を示す回路図である。
【図５１】実施の形態８に係る半導体装置の使用端子と回路形式との対応を規定する端子構成データベースを説明する表である。
【図５２】実施の形態８に係る半導体装置の動作を示すフローチャートである。
【図５３】実施の形態９に係る半導体装置のＳＰＩインタフェースを示すブロック図である。
【図５４】実施の形態９に係る半導体装置の動作を示すフローチャートである。
【図５５】実施の形態１０に係る半導体装置のＳＰＩインタフェースを示すブロック図である。
【図５６】実施の形態１０に係る半導体装置の動作を示すフローチャートである。
【図５７】実施の形態１０に係る半導体装置の動作を示すフローチャートである。
【図５８】実施の形態に係る半導体装置の設計フローを示すフローチャートである。
【図５９】実施の形態に係る半導体装置に入力するオブジェクトファイルを生成するコンパイル装置の構成図である。
【図６０】実施の形態に係るコンパイル装置のコンパイル方法を示すフローチャートである。
【図６１】実施の形態に係るシミュレーションシステムの構成図である。
【図６２】実施の形態に係るシミュレーションシステムを構成する装置のハードウェア構成図である。
【図６３Ａ】実施の形態に係るウェブシミュレータの機能ブロック図である。
【図６３Ｂ】実施の形態に係るウェブシミュレータの機能ブロック図である。
【図６３Ｃ】実施の形態に係るウェブシミュレータの機能ブロック図である。
【図６４】実施の形態に係るウェブシミュレータのシミュレーション方法を示すフローチャートである。
【図６５】実施の形態に係るウェブシミュレータにおけるエラー表示画面のイメージ図である。
【発明を実施するための形態】
【００１１】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１２】
以下、図面を参照して実施の形態について説明する。本実施の形態では、回路形式及び回路構成を変更可能な半導体装置において回路形式及び回路構成を変更する構成及び方法について説明する。なお、以下の説明では、アナログフロントエンド部では、回路形式を変更することでアナログ機能回路を別の機能を実現させ、回路構成を変更することでアナログ機能回路の回路特性及び入出力信号を切り替える。
【００１３】
そこで、本実施の形態に係る半導体装置の理解を助けるため、まず、実施の形態に係る半導体装置について説明する。図１は、本実施形態に係る半導体装置を含むセンサシステムの構成を示している。
【００１４】
図１に示すように、このセンサシステムは、センサ２と、センサに接続された半導体装置１とを備えている。
【００１５】
センサ２には、検出結果に応じた電流を出力する電流出力型センサや、検出結果に応じた電圧を出力する電圧出力型センサ、検出結果に応じて微弱な差動信号出力するセンサなど様々なセンサを利用することが可能である。
【００１６】
半導体装置１は、処理部（例えば、ＭＣＵ部２００）とアナログフロントエンド部（例えば、ＡＦＥ部１００）とを有している。例えば、半導体装置１は、ＭＣＵ部２００の半導体チップと、ＡＦＥ部１００の半導体チップとを１つの半導体装置に搭載したＳｏＣ（System-on-a-chip）である。なお、ＭＣＵ部２００とＡＦＥ部１００とを含む１チップの半導体装置としてもよい。また、ＭＣＵ部２００のみを含む半導体装置と、ＡＦＥ部１００のみを含む半導体装置としてもよい。以下、ＡＦＥ部１００及びＭＣＵ部２００を含む装置を半導体装置１と称する場合もあり、ＡＦＥ部１００のみ含む装置を半導体装置１と称する場合もある。
【００１７】
ＭＣＵ部（処理部）２００は、ＡＦＥ部１００を介して入力されるセンサ２の測定信号（検出信号）をＡ／Ｄ変換し、検出結果に応じた制御処理を行うマイクロコントローラである。また、ＭＣＵ部２００は、ＡＦＥ部１００の構成及び特性を設定変更するためのコマンドををＡＦＥ部１００へ出力する。
【００１８】
ＡＦＥ部（アナログ入力部）１００は、センサ２が出力する測定信号に対し、増幅やフィルタリング等のアナログフロントエンド処理を行い、ＭＣＵ部２００で処理可能な信号とするアナログ回路である。また、ＡＦＥ部１００は、図１に示すように、トポロジ（回路形式及び回路構成）が変更可能であり、さらに、パラメータ（回路特性）も変更可能である。
【００１９】
図１の例のように、オペアンプ回路の構成から、Ｉ／Ｖアンプ、減算（差動）アンプ、加算アンプ、反転アンプ、非反転アンプ、計装アンプの構成に変更できる。また、非反転アンプのパラメータ例のように、動作点の変更、利得（ゲイン）の変更、オフセット調整を行うことができる。
【００２０】
図２は、半導体装置１の回路ブロックを示している。図２に示すように、ＭＣＵ部２００は、ＣＰＵコア２１０、メモリ２２０、オシレータ２３０、タイマ２４０、入出力ポート２５０、Ａ／Ｄコンバータ２６０、通信インタフェース（例えば、ＳＰＩ（Serial Peripheral Interface）インタフェース２７０）を備えている。なお、ＭＣＵ部２００は、マイクロコントローラの機能を実現するためのその他の回路、例えば、ＤＭＡや各種演算回路等を備えている。
【００２１】
ＣＰＵコア２１０は、メモリ２２０に格納されたプログラムを実行しプログラムに従った制御処理を行う。メモリ２２０は、ＣＰＵコア２１０で実行するプログラムや各種データを格納する。メモリ２２０は、各種データの１つとしてＡＦＥ部１００に含まれる複数のアナログ回路要素により構成される回路の回路形式及び回路構成を指定する複数のコマンドを格納する。オシレータ２３０は、ＭＣＵ部２００の動作クロックを生成し、また、必要に応じてＡＦＥ部１００へクロックを供給する。タイマ２４０は、ＭＣＵ部２００の制御動作に利用される。
【００２２】
入出力ポート２５０は、半導体装置１の外部の装置とデータ等の入出力を行うためのインタフェースであり、例えば、後述のように外部のコンピュータ装置等と接続可能である。
【００２３】
Ａ／Ｄコンバータ２６０は、ＡＦＥ部１００を介して入力されるセンサ２の測定信号をＡ／Ｄ変換する。また、Ａ／Ｄコンバータ２６０の電源は、ＡＦＥ部１００から供給されている。
【００２４】
ＳＰＩ（Serial Peripheral Interface）インタフェース２７０は、ＡＦＥ部１００とデータ等の入出力を行うためのインタフェースである。なお、ＳＰＩインタフェース２７０は、汎用的なシリアルインタフェースであり、ＳＰＩに対応していれば、他のマイクロコントローラ／マイクロコンピュータであっても、ＡＦＥ部１００と接続することができる。
【００２５】
図２の半導体装置１は、汎用的な用途に対応可能な構成となっている。具体的には、様々な種類や特性のセンサを接続できるように、センサ用ＡＦＥ回路一式を搭載している。すなわち、ＡＦＥ部１００は、コンフィギュラブル・アンプ１１０、同期検波対応増幅アンプ（増幅アンプともいう）１２０、ＳＣ型ローパス・フィルタ（ローパス・フィルタともいう）１３０、ＳＣ型ハイパス・フィルタ（ハイパス・フィルタともいう）１４０、可変レギュレータ１５０、温度センサ１６０、汎用アンプ１７０、ＳＰＩインタフェース１８０、を備えている。
【００２６】
コンフィギュラブル・アンプ１１０は、センサ２等の外部から入力される信号を増幅する増幅回路であり、ＭＣＵ部２００からの制御（例えば、ＭＣＵ部２００から送信されるコマンド）にしたがって回路形式及び特性、動作が設定可能である。コンフィギュラブル・アンプ１１０は、３ｃｈのアンプ、すなわち、３つのアンプを有している。この３つのアンプにより多くの回路構成を実現することができる。
【００２７】
増幅アンプ１２０は、コンフィギュラブル・アンプ１１０の出力や、センサ２等の外部から入力される信号を増幅する同期検波対応の増幅回路であり、ＭＣＵ部２００からの制御にしたがって特性、動作が設定可能である。
【００２８】
ローパス・フィルタ１３０は、コンフィギュラブル・アンプ１１０や増幅アンプ１２０の出力、センサ２等の外部から入力される信号に対し、高周波成分を除去し低周波成分を通過させるＳＣ型のフィルタであり、ＭＣＵ部２００からの制御にしたがって特性、動作が設定可能である。ハイパス・フィルタ１４０は、コンフィギュラブル・アンプ１１０や増幅アンプ１２０の出力、センサ２等の外部から入力される信号に対し、低周波成分を除去し高周波成分を通過させるＳＣ型のフィルタであり、ＭＣＵ部２００からの制御にしたがって特性、動作が設定可能である。
【００２９】
可変レギュレータ１５０は、ＭＣＵ部２００のＡ／Ｄコンバータ２６０へ電圧を供給する可変電圧源であり、ＭＣＵ部２００からの制御にしたがって特性、動作が設定可能である。温度センサ１６０は、半導体装置１の温度を測定するセンサであり、ＭＣＵ部２００からの制御にしたがって動作が設定可能である。
【００３０】
汎用アンプ１７０は、センサ２等の外部から入力される信号を増幅するアンプであり、ＭＣＵ部２００からの制御にしたがって動作が設定可能である。ＳＰＩインタフェース１８０は、ＭＣＵ部２００とデータ等の入出力を行うためのインタフェースであり、ＭＣＵ部２００のＳＰＩインタフェース２７０とＳＰＩバスを介して接続されている。なお、半導体装置１がＭＣＵ部２００を有さない場合、ＳＰＩインタフェース１８０を半導体装置１の外部端子に接続し、外部端子経由で外部のマイクロコントローラやエミュレータ等とＡＦＥ部１００とを接続する。
【００３１】
次に、半導体装置１におけるＡＦＥ部１００の構成について詳細に説明する。図３は、ＡＦＥ部１００の各回路の接続関係を示している。ＡＦＥ部１００は、複数のアナログ回路要素（例えば、アンプ、抵抗、コンデンサ等）と、複数のアナログ回路要素間の接続状態を切り替えるスイッチ回路群（例えば、スイッチ、マルチプレクサを含むスイッチ回路）と、を含む。
【００３２】
ＳＰＩインタフェース１８０は、ＳＰＩバスに接続された外部端子（ＣＳ、ＳＣＬＫ、ＳＤＯ、ＳＤＩ）に接続されて、レジスタ（制御レジスタ）１８１を有している。ＭＣＵ部２００から、ＳＰＩインタフェースを介して、回路の構成・特性を変更するための構成情報（コマンド）が入力され、レジスタ１８１に格納される。レジスタ１８１は、ＡＦＥ部１００内の各回路に接続されており、レジスタ１８１の構成情報に応じてＡＦＥ部１００内の各回路の構成・特性が設定される。
【００３３】
コンフィギュラブル・アンプ１１０は、個別アンプＡＭＰ１、ＡＭＰ２、ＡＭＰ３を有しており、アンプの入出力を切り替えるスイッチＳＷ１０〜ＳＷ１５が接続されている。
【００３４】
個別アンプＡＭＰ１は、一方の入力端子がスイッチＳＷ１０を介してＭＰＸＩＮ１０またはＭＰＸＩＮ１１に接続され、他方の入力端子がスイッチＳＷ１１を介してＭＰＸＩＮ２０またはＭＰＸＩＮ２１に接続され、出力端子がＡＭＰ１＿ＯＵＴに接続されている。同様に、個別アンプＡＭＰ２は、一方の入力端子がスイッチＳＷ１２を介してＭＰＸＩＮ３０またはＭＰＸＩＮ３１に接続され、他方の入力端子がスイッチＳＷ１３を介してＭＰＸＩＮ４０またはＭＰＸＩＮ４１に接続され、出力端子がＡＭＰ２＿ＯＵＴに接続されている。
【００３５】
また、個別アンプＡＭＰ３は、一方の入力端子がスイッチＳＷ１４を介してＭＰＸＩＮ５０、ＭＰＸＩＮ５１またはＡＭＰ１の出力端子に接続され、他方の入力端子がスイッチＳＷ１５を介してＭＰＸＩＮ６０、ＭＰＸＩＮ６１またはＡＭＰ２の出力端子に接続され、出力端子がＡＭＰ３＿ＯＵＴに接続されている。ＡＭＰ１〜ＡＭＰ３の出力端子は、増幅アンプ１２０、ローパス・フィルタ１３０、ハイパス・フィルタ１４０にも接続されている。
【００３６】
コンフィギュラブル・アンプ１１０は、レジスタ１８１の設定値に応じて、スイッチＳＷ１０〜ＳＷ１５が切り替えられて、ＡＭＰ１〜ＡＭＰ３の接続構成が変更され、内部の回路形式・特性も後述のように変更される。
【００３７】
図４、図５は、スイッチＳＷ１０〜ＳＷ１５によるＡＭＰ１〜ＡＭＰ３の接続切り替え例である。図４では、レジスタ１８１の設定により、スイッチＳＷ１０，１１を切り替えて、ＡＭＰ１の入力端子をＭＰＸＩＮ１０，ＭＰＸＩＮ２０に接続し、スイッチＳＷ１２，１３を切り替えて、ＡＭＰ２の入力端子をＭＰＸＩＮ３０，ＭＰＸＩＮ４０に接続し、スイッチＳＷ１４，１５を切り替えて、ＡＭＰ３の入力端子をＭＰＸＩＮ５０，ＭＰＸＩＮ６０に接続する。このように接続することで、ＡＭＰ１、ＡＭＰ２、ＡＭＰ３をそれぞれ独立のアンプとして動作させることができる。
【００３８】
図５では、レジスタ１８１の設定により、スイッチＳＷ１０を切り替えて、ＡＭＰ１の一方の入力端子をＭＰＸＩＮ１０に接続し、スイッチＳＷ１３を切り替えて、ＡＭＰ２の一方の入力端子をＭＰＸＩＮ４０に接続し、スイッチＳＷ１１、ＳＷ１２を切り替えて、ＡＭＰ１の他方の入力端子とＡＭＰ２の他方の入力端子とを接続し、スイッチＳＷ１４，１５を切り替えて、ＡＭＰ３の一方の入力端子をＡＭＰ１の出力端子に接続し、ＡＭＰ３の他方の入力端子をＡＭＰ３の出力端子に接続する。このように接続することで、ＡＭＰ１〜ＡＭＰ３を接続した計装アンプを構成することができる
【００３９】
また、図３に示すように、増幅アンプ１２０には、入力を切り替えるスイッチＳＷ１６、ＳＷ１７が接続されている。増幅アンプ１２０は、入力端子がスイッチＳＷ１６、ＳＷ１７を介してＡＭＰ１〜ＡＭＰ３の出力端子、または、スイッチＳＷ１７を介してＧＡＩＮＡＭＰ＿ＩＮに接続され、出力端子がＧＡＩＮＡＭＰ＿ＯＵＴに接続されている。増幅アンプ１２０の出力端子は、ローパス・フィルタ１３０、ハイパス・フィルタ１４０にも接続されている。なお、ＳＷ１６により、ＡＭＰ１〜ＡＭＰ３の出力端子と、外部端子及び増幅アンプとの接続を切り替えてもよい。
【００４０】
ローパス・フィルタ１３０には、入力を切り替えるスイッチＳＷ１８、ＳＷ１９が接続され、ハイパス・フィルタ１４０にも、入力を切り替えるスイッチＳＷ１８、ＳＷ２０が接続されている。ローパス・フィルタ１３０は、入力端子がスイッチＳＷ１６、ＳＷ１７、ＳＷ１８，ＳＷ１９を介してＡＭＰ１〜ＡＭＰ３の出力端子、増幅アンプ１２０の出力端子、ＳＣ＿ＩＮ、またはスイッチＳＷ１９を介してハイパス・フィルタ１４０の出力端子に接続され、出力端子がＬＰＦ＿ＯＵＴに接続されている。ハイパス・フィルタ１４０は、入力端子がスイッチＳＷ１６、ＳＷ１７、ＳＷ１８，ＳＷ２０を介してＡＭＰ１〜ＡＭＰ３の出力端子、増幅アンプ１２０の出力端子、ＳＣ＿ＩＮ、またはスイッチＳＷ１９を介してローパス・フィルタ１３０の出力端子に接続され、出力端子がＨＰＦ＿ＯＵＴに接続されている。なお、ローパス・フィルタ１３０、ハイパス・フィルタ１４０の出力端子と外部端子との間にスイッチを設けて、ローパス・フィルタ１３０、ハイパス・フィルタ１４０の出力端子と、外部端子及びＳＷ１９、ＳＷ２０との接続を切り替えてもよい。
【００４１】
増幅アンプ１２０、ローパス・フィルタ１３０、ハイパス・フィルタ１４０は、レジスタ１８１の設定値に応じて、スイッチＳＷ１６〜ＳＷ２０が切り替えられて、増幅アンプ１２０、ローパス・フィルタ１３０、ハイパス・フィルタ１４０の接続構成が変更され、内部の特性も後述のように変更される。
【００４２】
図６、図７は、スイッチＳＷ１７〜ＳＷ２０による増幅アンプ１２０、ローパス・フィルタ１３０、ハイパス・フィルタ１４０の接続切り替え例である。図６では、レジスタ１８１の設定により、スイッチＳＷ１７を切り替えて、増幅アンプ１２０の入力端子をＡＭＰ１〜ＡＭＰ３のいずれかの出力端子に接続し、スイッチＳＷ１８，ＳＷ１９を切り替えて、ローパス・フィルタ１３０の入力端子を増幅アンプ１２０の出力端子に接続し、スイッチＳＷ２０を切り替えて、ハイパス・フィルタ１４０の入力端子をローパス・フィルタ１３０の出力端子に接続する。このように切り替えることで、ＡＭＰ１〜ＡＭＰ３のいずれか、増幅アンプ１２０、ローパス・フィルタ１３０、ハイパス・フィルタ１４０の順に接続した回路を構成することができる。
【００４３】
図７では、レジスタ１８１の設定により、スイッチＳＷ１７を切り替えて、増幅アンプ１２０の入力端子をＧＡＩＮＡＭＰ＿ＩＮに接続し、スイッチＳＷ１８、ＳＷ２０を切り替えて、ハイパス・フィルタ１４０の入力端子をＳＣ＿ＩＮに接続し、スイッチＳＷ１９を切り替えて、ローパス・フィルタ１３０の入力端子をハイパス・フィルタ１４０の出力端子に接続する。このように切り替えることで、増幅アンプ１２０を１つの独立したアンプとして動作させ、また、ハイパス・フィルタ１４０、ローパス・フィルタ１３０の順に接続した回路を構成することができる。
【００４４】
また、図３に示すように、可変レギュレータ１５０は、出力端子がＢＧＲ＿ＯＵＴとＬＤＯ＿ＯＵＴに接続されている。可変レギュレータは、レジスタ１８１の設定値に応じて後述のように特性が変更される。
【００４５】
温度センサ１６０は、出力端子がＴＥＭＰ＿ＯＵＴに接続されている。温度センサ１６０は、レジスタ１８１の設定値に応じて後述のように特性が変更される。
【００４６】
汎用アンプ１７０は、一方の入力端子がＡＭＰ４＿ＩＮ＿ＮＥに接続され、他方の入力端子がＡＭＰ４＿ＩＮ＿ＰＯに接続され、出力端子がＡＭＰ４＿ＯＵＴに接続されている。汎用アンプは、１つのオペアンプにより構成されており、レジスタ１８１の設定値に応じて、電源ＯＮ／ＯＦＦが設定される。
【００４７】
次に、図８〜図１４を用いて、コンフィギュラブル・アンプ１１０の具体的な回路構成について説明する。
【００４８】
コンフィギュラブル・アンプ１１０は、センサ出力信号を増幅するためのアンプであり、制御レジスタの設定に応じて、トポロジ（回路形式）を変更できるとともに、パラメータ（回路特性）を変更できる。特性の変更としてゲインを可変に設定することができる。例えば、個別アンプを独立して使用する場合、ゲインを６ｄＢ〜４６ｄＢまで２ｄＢ単位で設定でき、計装アンプとして使用する場合、ゲインを２０ｄＢ〜６０ｄＢまで２ｄＢ単位で設定できる。また、スルーレートを可変に設定することもでき、パワーオフ・モードにより電源のオン／オフを切り替えることができる。
【００４９】
図８は、コンフィギュラブル・アンプ１１０の個別アンプＡＭＰ１の回路構成を示している。なお、ＡＭＰ２、ＡＭＰ３も同様の構成である。
【００５０】
図８に示すように、個別アンプＡＭＰ１は、オペアンプ１１１を有し、オペアンプ１１１の各端子に接続される可変抵抗１１２ａ〜１１２ｄ、回路形式制御スイッチ（例えば、スイッチ１１３ａ〜１１３ｃ）、ＤＡＣ１１４を有しており、図３のようにマルチプレクサ（スイッチ）ＳＷ１０、ＳＷ１１が接続されている。
【００５１】
レジスタ１８１の設定値に応じて、マルチプレクサＳＷ１０、ＳＷ１１によりオペアンプ１１１の入力を切り替え、スイッチ１１３ａ、１１３ｂにより可変抵抗（入力抵抗）１１２ａ、１１２ｂの有無を切り替え、スイッチ１１３ｃによりＤＡＣ１１４の接続を切り替えることができる。なお、オペアンプ１１１の出力は、図３のようにＳＷ１６、ＳＷ１７、ＳＷ１８により、増幅アンプ１２０、ローパス・フィルタ１３０、ハイパス・フィルタ１４０との接続が切り替えられる。また、レジスタ１８１の設定値に応じて、可変抵抗１１２ａ、１１２ｂ、１１２ｃ、１１２ｄの抵抗値、ＤＡＣ１１４の設定を変えることで、ＡＭＰ１のゲイン、動作点、オフセット等を変更することができる。さらに、レジスタ１８１の設定値に応じて、電源オン／オフを制御できる。また、レジスタ１８１の設定値に応じて、オペアンプの動作モードを高速モード、中速モード、低速モードに変更することで、スルーレートを制御することができる。
【００５２】
各スイッチ、マルチプレクサの切り替えにより、Ｉ／Ｖアンプ、反転アンプ、減算（差動）アンプ、非反転アンプ、加算アンプを構成することができる。
【００５３】
図９は、Ｉ／Ｖアンプを構成する例である。レジスタ１８１の設定に応じて、マルチプレクサＳＷ１０を切り替えて外部入力端子（ＭＰＸＩＮ１０）を反転入力端子に接続し、スイッチ１１３ａをオンして可変抵抗１１２ａを短絡する。また、マルチプレクサＳＷ１１を切り替えてＤＡＣ入力を非反転入力端子に接続し、スイッチ１１３ｂをオンして可変抵抗１１２ｂを短絡し、１１３ｃをオンする。この接続によりＩ／Ｖアンプが構成される。また、レジスタ１８１の設定により、可変抵抗１１２ｄの抵抗値を変えることでアンプのゲインを設定する。このＩ／Ｖアンプは、外部入力端子から電流型センサの信号が入力されると、入力電流を電圧に変換して出力する。
【００５４】
図１０は、減算（差動）アンプを構成する例である。レジスタ１８１の設定に応じて、マルチプレクサＳＷ１０、ＳＷ１１を切り替えて外部入力端子（ＭＰＸＩＮ１０）を反転入力端子に接続し、外部入力端子（ＭＰＸＩＮ２０）を非反転入力端子に接続する。また、スイッチ１１３ａ、１１３ｂをオフし、スイッチ１１３ｃをオンする。この接続により減算アンプが構成される。また、レジスタ１８１の設定により、可変抵抗１１２ａ、１１２ｂ、１１２ｃ、１１２ｄの抵抗値を変えることでアンプのゲインを設定する。この減算アンプは、外部入力端子から２つの信号（Ｖ１，Ｖ２）が入力されると、一方の入力電圧から他方の入力電圧を差し引いた電圧（Ｖ２−Ｖ１）を出力する。
【００５５】
図１１は、加算アンプを構成する例である。なお、ここでは、可変抵抗１１２ｂと正入力との間にスイッチ１１３ｄを有しているものとする。レジスタ１８１の設定に応じて、マルチプレクサＳＷ１０、ＳＷ１１、スイッチ１１３ｄを切り替えて外部入力端子（ＭＰＸＩＮ１０）と外部入力端子（ＭＰＸＩＮ２０）を反転入力端子に接続する。また、スイッチ１１３ａ、１１３ｂをオフし、スイッチ１１３ｃをオンする。この接続により加算アンプが構成される。また、レジスタ１８１の設定により、可変抵抗１１２ａ、１１２ｂ、１１２ｄの抵抗値を変えることでアンプのゲインを設定する。この加算アンプは、外部入力端子から２つの信号（Ｖ１，Ｖ２）が入力されると、一方の入力電圧と他方の入力電圧を加算した電圧（Ｖ１＋Ｖ１）を出力する。
【００５６】
図１２は、反転アンプを構成する例である。レジスタの設定に応じて、マルチプレクサＳＷ１０を切り替えて外部入力端子（ＭＰＸＩＮ１０）を反転入力端子に接続し、スイッチ１１３ｃをオンにしてＤＡＣ１１４の出力を非反転入力端子に接続する。また、スイッチ１１３ａをオフし、スイッチ１１３ｂ、１１３ｃをオンする。この接続により反転アンプが構成される。また、レジスタ１８１の設定により、可変抵抗１１２ａ、１１２ｄの抵抗値を変えることでアンプのゲインを設定し、ＤＡＣの出力電圧を変えることで、アンプの動作点やオフセットを調整する。この反転アンプは、外部入力端子から電圧型センサの信号が入力されると、入力電圧を反転増幅した電圧を出力する。
【００５７】
図１３、非反転アンプを構成する例である。レジスタの設定に応じて、マルチプレクサＳＷ１０を切り替えてＤＡＣ１１４の出力を反転入力端子に接続し、マルチプレクサＳＷ１１を切り替えて外部入力端子（ＭＰＸＩＮ２０）を非反転入力端子に接続する。また、スイッチ１１３ａ、１１３ｃをオフし、スイッチ１１３ｂをオンする。この接続により非反転アンプが構成される。また、レジスタ１８１の設定により、可変抵抗１１２ａ、１１２ｄの抵抗値を変えることでアンプのゲインを設定し、ＤＡＣの出力電圧を変えることで、アンプの動作点やオフセットを調整する。この非反転アンプは、外部入力端子から電圧型センサの信号が入力されると、入力電圧を非反転増幅した（入力と同相の）電圧を出力する。
【００５８】
図１４は、ＡＭＰ１〜ＡＭＰ３により計装アンプを構成する例である。図５で説明したように、レジスタ１８１の設定に応じて、マルチプレクサ（スイッチ）ＳＷ１０〜ＳＷ１５及び図５では示していないスイッチＳＷ００によりＡＭＰ１〜ＡＭＰ３を接続することで、図１４の計装アンプを構成できる。なお、各スイッチの図示を省略しているが、ＡＭＰ１では、スイッチ１１３ｂをオンして可変抵抗１１２ｂを短絡すると共に、スイッチ１１３ａ、１１３ｃをオフする。ＡＭＰ２では、スイッチ１１３ｂをオンして可変抵抗１１２ｂを短絡すると共に、スイッチ１２３ａ、１２３ｃをオフする。ＡＭＰ３では、スイッチ１１３ｃをオンしてＤＡＣ１１４を非反転入力端子に接続し、スイッチ１４３ａ、１４３ｂをオフする。
【００５９】
また、レジスタ１８１の設定により、ＡＭＰ３の可変抵抗１１２ａ〜１１２ｄの抵抗値を変えることで計装アンプのゲインを設定し、ＤＡＣ１１４の出力電圧を変えることで、計装アンプの動作点やオフセットを調整する。この計装アンプは、外部入力端子から微弱な差動信号が入力されると、この差動信号を、ＡＭＰ１、ＡＭＰ２によりそれぞれ非反転増幅し、さらに、ＡＭＰ３により差動増幅した電圧を出力する。
【００６０】
次に、図１５〜図２０を用いて、ＡＦＥ部１００内のその他の回路の具体的な回路構成について説明する。
【００６１】
図１５は、増幅アンプ１２０の回路構成を示している。増幅アンプ１２０は、同期検波機能に対応しており、入力信号の増幅や同期検波を行う。特性の変更として、増幅アンプ１２０は、ゲインを可変に設定することができる。例えば、ゲインを６ｄＢ〜４６ｄＢまで２ｄＢ単位で設定できる。また、パワーオフ・モードにより電源のオン／オフを切り替えることができる。
【００６２】
図１５に示すように、増幅アンプ１２０は、オペアンプＡＭＰ２１、ＡＭＰ２２を有し、オペアンプＡＭＰ２１、ＡＭＰ２２の各端子に接続される可変抵抗１２１ａ、１２１ｃ、固定抵抗１２１ｂ、１２２ａ、１２２ｂ、１２２ｃ及びＤＡＣ１２３を有している。また、図３のようにマルチプレクサ（スイッチ）ＳＷ１７が接続されている。さらに、同期検波を行うための同期検波制御部として、同期検波スイッチ１２４、固定抵抗１２５を有している。
【００６３】
レジスタ１８１の設定値に応じて、マルチプレクサＳＷ１７が制御されて増幅アンプ１２０の入力を切り替える。また、レジスタ１８１の設定値に応じて、可変抵抗１２１ａ、１２１ｃの抵抗値、ＤＡＣ１２３の設定を変えることでＡＭＰ２１のゲイン、ＡＭＰ２１、ＡＭＰ２２の動作点、オフセット等を変更することができる。さらに、レジスタ１８１の設定値に応じて、オペアンプＡＭＰ２１，ＡＭＰ２２の電源オン／オフを制御できる。
【００６４】
増幅アンプ１２０では、ＡＭＰ１〜ＡＭＰ３、または外部入力端子から信号が入力されると、ＡＭＰ２１により反転増幅され、さらにＡＭＰ２２により反転増幅された信号が、ＧＡＩＮＡＭＰ＿ＯＵＴへ出力される。
【００６５】
また、ＭＣＵ部２００から同期クロックＣＬＫ＿ＳＹＮＣＨが入力され、同期クロックＣＬＫ＿ＳＹＮＣＨのタイミングで、同期検波スイッチ１２４の接続が切り替わり、ＡＭＰ２１とＡＭＰ２２のいずれかの出力信号がＳＹＮＣＨ＿ＯＵＴへ出力される。
【００６６】
図１６は、増幅アンプ１２０の出力動作を示すタイミングチャートである。図１６（ａ）のように、ＡＭＰ２１は、入力信号の反転信号を出力し、図１６（ｂ）のように、ＡＭＰ２２は、さらに反転した信号を出力する。このＡＭＰ２２の出力信号が、増幅アンプ１２０の出力としてＧＡＩＮＡＭＰ＿ＯＵＴへ出力される。
【００６７】
ＭＣＵ部２００は、ＧＡＩＮＡＭＰ＿ＯＵＴに接続されており、ＧＡＩＮＡＭＰ＿ＯＵＴの信号に応じたクロックを生成する。ここでは、図１６（ｃ）のように、ＧＡＩＮＡＭＰ＿ＯＵＴが基準値よりもハイレベルの場合に、ハイレベルとなるＣＬＫ＿ＳＹＮＣＨを生成する。そして、この同期クロックＣＬＫ＿ＳＹＮＣＨを増幅アンプ１２０へ供給する。
【００６８】
同期検波スイッチ１２４は、このＣＬＫ＿ＳＹＮＣＫに応じて、ＡＭＰ２１、ＡＭＰ２２とＳＹＮＣＨ＿ＯＵＴとの接続を切り替える。クロックＣＬＫ＿ＳＹＮＣＨがローレベルの場合、ＡＭＰ２１と接続してＡＰＭ２１の出力をＳＹＮＣＨ＿ＯＵＴへ出力し、クロックＣＬＫ＿ＳＹＮＣＨがハイレベルの場合、ＡＭＰ２２と接続してＡＭＰ２２の出力をＳＹＮＣＨ＿ＯＵＴへ出力する。そうすると、図１６（ｄ）のように、同期検波し、全波整流された信号が、ＳＹＮＣＨ＿ＯＵＴから出力される。
【００６９】
図１７は、ローパス・フィルタ１３０の回路構成を示している。ローパス・フィルタ１３０は、カットオフ周波数可変のＳＣ（スイッチトキャパシタ）型ローパス・フィルタであり、入力信号のフィルタリングに用いられる。
【００７０】
ローパス・フィルタ１３０の特性は、Ｑ値が固定値であり、例えば０．７０２である。特性の変更として、カットオフ周波数ｆｃを可変に設定することができる。例えば、９Ｈｚ〜９００Ｈｚまで設定できる。また、パワーオフ・モードにより電源のオン／オフを切り替えることができる。
【００７１】
図１７に示すように、ローパス・フィルタ１３０は、スイッチング信号を生成するスイッチング信号生成部１３１と、スイッチング信号に応じて入力信号をフィルタリングするフィルタ部１３２とを有している。
【００７２】
スイッチング信号生成部１３１は、フリップフロップ１３３と複数のインバータ１３４を有している。フィルタ部１３２は、複数のオペアンプ１３５を有し、複数のオペアンプ１３５に接続される複数のスイッチ１３６、コンデンサ１３７、ＤＡＣ１３８に制御される可変電源１３９を有している。また、図３のようにマルチプレクサ（スイッチ）ＳＷ１９が接続されている。
【００７３】
レジスタ１８１の設定値に応じて、マルチプレクサＳＷ１９が制御されてローパス・フィルタ１３０の入力を切り替える。また、レジスタ１８１の設定値に応じて、ＤＡＣ１３８の設定を変えることで可変電源１３９を制御し、アンプの動作点、オフセット等を変更することができる。さらに、レジスタ１８１の設定値に応じて、ローパス・フィルタ１３０の電源をオン／オフを制御できる。
【００７４】
ローパス・フィルタ１３０では、スイッチング信号生成部１３１において、外部からクロックＣＬＫ＿ＬＰＦが入力され、フリップフロップ１３３とインバータ１３４によりスイッチング信号Φ１、Φ２が生成される。フィルタ部１３２において、外部入力端子や増幅アンプ１２０等から信号が入力されると、３つのオペアンプ１３５を介して信号が出力され、その際、スイッチング信号Φ１、Φ２によりスイッチ１３６がオン／オフしてコンデンサ１３７の接続が切り替わる。そうすると、入力信号のカットオフ周波数よりも高周波成分を除去した信号が出力されることになる。
【００７５】
このカットオフ周波数は、ＭＣＵ部２００により外部から入力されるクロックＣＬＫ＿ＬＰＦにより変更することができる。具体的には、カットオフ周波数ｆｃ＝０．００９×ｆｓ（スイッチング周波数  １／２ｆ  ＣＬＫ＿ＬＰＦ）である。
【００７６】
図１８は、ハイパス・フィルタ１４０の回路構成を示している。ハイパス・フィルタ１４０は、カットオフ周波数可変のＳＣ型ハイパス・フィルタであり、入力信号のフィルタリングに用いられる。
【００７７】
ハイパス・フィルタ１４０の特性は、Ｑ値が固定値であり、例えば０．７０２である。特性の変更として、カットオフ周波数ｆｃを可変に設定することができる。例えば、８Ｈｚ〜８００Ｈｚまで設定できる。また、パワーオフ・モードにより電源のオン／オフを切り替えることができる。
【００７８】
図１８に示すように、ハイパス・フィルタ１４０は、スイッチング信号を生成するスイッチング信号生成部１４１と、スイッチング信号に応じて入力信号をフィルタリングするフィルタ部１４２とを有している。
【００７９】
スイッチング信号生成部１４１は、フリップフロップ１４３と複数のインバータ１４４を有している。フィルタ部１４２は、複数のオペアンプ１４５を有し、複数のオペアンプ１４５に接続される複数のスイッチ１４６、コンデンサ１４７、ＤＡＣ１４８に制御される可変電源１４９を有している。また、図３のようにマルチプレクサ（スイッチ）ＳＷ２０が接続されている。
【００８０】
レジスタ１８１の設定値に応じて、マルチプレクサＳＷ２０が制御されてハイパス・フィルタ１４０の入力を切り替える。また、レジスタ１８１の設定値に応じて、ＤＡＣ１４８の設定を変えることで可変電源１４９を制御し、アンプの動作点、オフセット等を変更することができる。さらに、レジスタ１８１の設定値に応じて、ハイパス・フィルタ１４０の電源をオン／オフを制御できる。
【００８１】
ハイパス・フィルタ１４０では、スイッチング信号生成部１４１において、外部からクロックＣＬＫ＿ＨＰＦが入力され、フリップフロップ１４３とインバータ１４４によりスイッチング信号Φ１、Φ２が生成される。フィルタ部１４２において、外部入力端子や増幅アンプ１２０等から信号が入力されると、３つのオペアンプ１４５を介して信号が出力され、その際、スイッチング信号Φ１、Φ２によりスイッチ１４６がオン／オフしてコンデンサ１４７の接続が切り替わる。そうすると、入力信号のカットオフ周波数よりも低周波成分を除去した信号が出力されることになる。
【００８２】
このカットオフ周波数は、ＭＣＵ部２００により外部から入力されるクロックＣＬＫ＿ＨＰＦにより変更することができる。具体的には、カットオフ周波数ｆｃ＝０．００８×ｆｓ（スイッチング周波数  １／２ｆ  ＣＬＫ＿ＨＰＦ）である。
【００８３】
図１９は、可変レギュレータ１５０の回路構成を示している。可変レギュレータ１５０は、出力電圧を可変にするレギュレータであり、ＭＣＵ部２００のＡ／Ｄコンバータ２６０の基準電源生成回路である。例えば、特性の変更として、可変レギュレータ１５０は、出力電圧を２．０Ｖ〜３．３Ｖまで、±５％の精度で、０．１Ｖ単位で設定することができる。また出力電流は１５ｍＡで、出力電源のオン／オフを制御することができる。
【００８４】
図１９に示すように、可変レギュレータ１５０は、オペアンプ１５１を有し、オペアンプ１５１の入力側に接続されるバンドギャップリファレンスＢＧＲ、オペアンプ１５１の出力側に接続されるトランジスタ１５２、１５３、固定抵抗１５４、可変抵抗１５５を有している。
【００８５】
レジスタ１８１の設定値に応じて、ＢＧＲの電圧が設定され、可変抵抗１５５の抵抗値を変えることで出力電圧が変更できる。さらに、レジスタ１８１の設定値に応じて、オペアンプ１５１の電源オン／オフ、トランジスタ１５３のオン／オフが切り替えられ、出力電圧の出力開始／停止が制御される。
【００８６】
可変レギュレータ１５０では、ＢＧＲの電圧がＢＧＲ＿ＯＵＴから出力される。ＢＧＲの電圧と可変抵抗１５５の電圧に応じてオペアンプ１５１が動作してトランジスタ１５２が制御され、固定抵抗１５４と可変抵抗１５５の比に応じた電圧が出力される。
【００８７】
図２０は、温度センサ１６０の回路構成を示している。温度センサ１６０は、半導体装置１の温度を測定するセンサであり、ＭＣＵ部２００がこの測定結果に基づいて温度特性の補正等するために用いることができる。例えば、温度センサ１６０の特性として、出力温度係数は、−５ｍＶ／℃である。また、パワーオフ・モードにより電源のオン／オフを切り替えることができる。
【００８８】
図２０に示すように、温度センサ１６０は、オペアンプ１６１を有し、オペアンプ１６１の入力側に接続される電流源１６２、ダイオード１６３、オペアンプ１６１の出力側に接続される固定抵抗１６４、１６５を有している。レジスタ１８１の設定値に応じて、オペアンプ１６１の電源をオン／オフすることができる。
【００８９】
温度センサ１６０は、温度に応じてダイオード１６３の電圧が−２ｍＶ／℃で変化し、この電圧をオペアンプ１６１が非反転増幅して、−５ｍＶ／℃として出力する。
【００９０】
このように、半導体装置１は、半導体装置内部のＡＦＥ部１００の回路構成や特性を可変に設定することができる。このため、一つの半導体装置で様々なセンサ等を接続することができ、多くの応用システム（アプリケーション）で使用することができる。
【００９１】
例えば、コンフィギュラブル・アンプ１１０の回路構成を、非反転アンプとした場合、電圧出力型のセンサを接続可能であるため、赤外線センサ、温度センサ、磁気センサ等を用いた応用システムに使用できる。一例として、赤外線センサを備えたデジタルカメラ、温度センサを備えたプリンタ、磁気センサを備えたタブレット端末、赤外線センサを備えたエアコン等に使用することができる。
【００９２】
また、コンフィギュラブル・アンプ１１０の回路構成を、計装アンプとした場合、微弱な差動出力のセンサを接続可能となるため、圧力センサ、ジャイロセンサ、ショックセンサ等を用いた応用システムに使用できる。一例として、圧力センサを備えた血圧計、圧力センサを備えた体重計、ジャイロセンサを備えた携帯電話、ショックセンサを備えた液晶テレビ等に使用することができる。
【００９３】
さらに、コンフィギュラブル・アンプ１１０の回路構成を、Ｉ／Ｖアンプとした場合、電流出力のセンサを接続可能なため、フォトダイオード、人感センサ、赤外線センサ等を用いた応用システムに使用できる。一例として、フォトダイオードを備えたデジタルカメラ、人感センサを備えた監視カメラ、人感センサを備えた便座、赤外線センサを備えたバーコードリーダ等に使用することができる。
【００９４】
上記説明のように、実施の形態１の半導体装置１は、ＡＦＥ部に設けられたアナログ回路要素の回路形式及び回路構成を変更することができる。半導体装置１は、ＭＣＵ部２００が内蔵するメモリ２２０に格納された複数の回路設定コマンド（以下単にコマンドと称す）をＡＦＥ部１００に送信する。そして、半導体装置１は、ＡＦＥ部１００が受信したコマンドに基づきレジスタ１８１（以下、制御レジスタ１８１と称す）に格納された回路構成制御値を更新することでＡＦＥ部の回路形式及び回路構成を更新する。このとき、半導体装置１は、受信した複数のコマンドにより回路構成制御値を更新する前に、受信した複数のコマンドにより決定されるアナログ機能回路の更新の回路構成に不正なパスが含まれているか否かを確認するエラー検出処理を行う。これにより、半導体装置１は、メモリ２２０に格納されたコマンドの値が破壊される、或いは、コマンド送信時にコマンドの値が破壊する等の不具合によるＡＦＥ部の誤動作を防止する。
【００９５】
そこで、以下では、実施の形態１の半導体装置１においてコマンドのエラーを検出する構成及び方法についてより詳細に説明する。また、以下では、コマンドのエラーを検出する構成をＡＦＥ部１００の通信インタフェース（例えば、ＳＰＩインタフェース１８０）内に設けた例について説明するが、コマンドのエラーを検出する構成は、ＡＦＥ部１００の内部に設けられていれば良く、ＡＦＥ部１００内のいずれの場所に配置しても良い。
【００９６】
図２１に実施の形態１の半導体装置１のＳＰＩインタフェース１８０の詳細なブロック図を示す。図２１に示すように、ＳＰＩインタフェース１８０は、制御レジスタ１８１、データスタック１８２、レジスタ制御部１８３、シリアルパラレル変換回路１８４、エラーレジスタ１０、回路構成エラー検出部１１を有する。
【００９７】
制御レジスタ１８１は、図３等で示したレジスタである。制御レジスタ１８１は、複数のアナログ機能回路の現在の構成を規定する回路構成制御値を格納する。この制御レジスタ１８１は、回路構成データＤＡＴとして回路構成制御値が格納される領域のアドレスが予め決められている。そして、一のアドレスに対応する回路構成制御値は、予め決められたスイッチ回路の開閉状態を制御する値、或いは、予め決められた可変抵抗等の回路素子の特性値を指定する値となる。例えば、アドレス"００ｈ"に格納された回路構成制御値は、スイッチ１１３ａ〜１１３ｂ、ＳＷ００及びマルチプレクサＳＷ１０、ＳＷ１１の接続状態を制御する。
【００９８】
データスタック１８２は、ＭＣＵ部２００から送信された複数のコマンドを格納する。このとき、データスタック１８２は、受信順にコマンドを格納する。このデータスタック１８２には、コマンドに含まれるアドレスデータＡＤＤと回路構成データＤＡＴとが格納される。ここで、複数のコマンドは、複数のアナログ機能回路の回路形式を指定する回路形式設定値を少なくとも指定するものである。また、回路構成データＤＡＴには、複数のアナログ機能回路の回路形式を指定する回路形式設定値と、アナログ機能回路の回路特性等を指定する回路構成設定値と、が含まれる。
【００９９】
レジスタ制御部１８３は、ＭＣＵ部２００から送信されるコマンド実行命令Ｅｘｅｃに応じて、データスタック１８２に格納された複数のコマンドのそれぞれに含まれる回路構成データＤＡＴにより制御レジスタ１８１の回路構成制御値を更新する。レジスタ制御部１８３は、エラーレジスタ１０に格納されるエラーコードが、データスタック１８２に格納された複数のコマンドにより決定されるアナログ機能回路の更新後の回路構成にエラーが含まれていない正常値を示す場合に制御レジスタ１８１の回路構成制御値を更新する。一方、レジスタ制御部１８３は、エラーレジスタ１０に格納されるエラーコードが、アナログ機能回路の更新後の回路構成にエラーが含まれていることを示すエラー値を有する場合には回路構成制御値の更新を停止する。
【０１００】
シリアルパラレル変換回路１８４は、ＳＰＩ入力信号（ＣＳ、ＳＣＬＫ、ＳＤＩを含む信号）を受信し、シリアルデータである入力データＳＤＩをパラレルデータに変換して、データスタック１８２に与える。この入力データＳＤＩは、動作命令と、アドレスデータＡＤＤと、回路構成データＤＡＴとが直列に配列された信号である。
【０１０１】
パラレルシリアル変換回路１８５は、ＡＦＥ部１００に設けられるメモリ、或いは、レジスタから与えられたパラレルデータをシリアルデータに変換して、ＳＰＩ出力信号（ＳＤＯを含む信号）を出力する。
【０１０２】
半導体装置１は、受信した動作命令がライト命令であった場合、シリアルパラレル変換回路１８４が入力データＳＤＩに含まれるアドレスデータＡＤＤと回路構成データＤＡＴをスタック１８２に書き込む。半導体装置１は、受信した動作命令がリード命令であった場合、入力データに含まれるアドレスデータＡＤＤで指定されるレジスタ、或いは、メモリからデータを読み出して、パラレルシリアル変換回路１８５を用いて出力する。半導体装置１は、受信した動作命令がコマンド実行命令であった場合、レジスタ制御部１８３にコマンド実行命令Ｅｘｅｃを与える。
【０１０３】
エラーレジスタ１０は、エラーコードを格納する。このエラーコードは、回路構成エラー検出部１１により値が更新される。データスタック１８２に格納される複数のコマンドにより決定されるアナログ機能回路の更新後の回路構成が禁止条件に含まれる不正な構成を含む場合、エラーコードはエラー値（例えば、００ｈ、１０ｈ等）となる。一方、データスタック１８２に格納される複数のコマンドにより決定されるアナログ機能回路の更新後の回路構成が禁止条件に含まれる不正な構成を含んでいない場合、エラーコードは正常値（例えば、ＦＦｈ等）となる。実施の形態１では、このエラーコードは、ＭＣＵ部２００からの求めに応じてＭＣＵ部２００に送信される。
【０１０４】
回路構成エラー検出部１１は、データスタック１８２に格納された複数のコマンドにより決定されるアナログ機能回路の更新後の回路構成が、予め設定した禁止条件を満たす回路構成を含む場合に更新後の回路構成が禁止条件に違反することを示すエラー値を有するエラーコードを生成する。一方、回路構成エラー検出部１１は、データスタック１８２に格納された複数のコマンドにより決定される更新後の回路構成が、予め設定した禁止条件を満たす回路構成を含んでいない場合に正常値を有するエラーコードを生成する。
【０１０５】
より具体的には、回路構成エラー検出部１１は、第１の回路形式解析部（例えば、回路形式解析部１２）、禁止条件選択部１３、エラー検出部１４を有する。また、実施の形態１の半導体装置１で扱われる複数のコマンドには、更新後のアナログ機能回路の回路形式を指定する回路形式設定値が含まれる。つまり、この回路形式設定値は、回路形式設定コマンドの一部を構成するものである。また、回路形式設定コマンドには、アナログ機能回路に与える入力信号を指定する回路構成設定値も含まれる。なお、回路形式設定値及び回路構成設定値を含む値により回路構成データが構成されるものとする。また、複数のコマンドは、アナログ機能回路の回路特性を設定する他の回路構成設定値も含まれる。
【０１０６】
回路形式解析部１２は、データスタック１８２に格納された前記複数のコマンドを参照して前記アナログ機能回路の更新後の回路形式を特定し、特定した更新後の回路形式を示す回路形式信号ＡＣＳを出力する。より具体的には、回路形式設定コマンドには、スイッチ１１３ａ〜１１３ｃ、１２３ｃ〜１２３ｂ、１４３ａ〜１４３ｃ、ＳＷ００の開閉状態を指定する回路形式設定値が含まれる。また、本実施の形態では、回路形式設定コマンドには、マルチプレクサＳＷ１０〜ＳＷ１５が選択する信号を示す回路構成設定値が含まれる。また、回路形式解析部１２は、スイッチ１１３ａ〜１１３ｃ、１２３ｃ〜１２３ｂ、１４３ａ〜１４３ｃ、ＳＷ００（スイッチ１２３ｃ〜１２３ｂ、１４３ａ〜１４３ｃ、ＳＷ００〜ＳＷ０２については後述する）の開閉状態の期待値を回路構成毎に規定した回路形式データベースを有する。そして、回路形式解析部１２は、回路形式設定コマンドに含まれる回路形式設定値と回路形式構成データベースに含まれる期待値とを比較して、回路形式設定値に一致する期待値に対応する回路形式を更新後の回路形式として特定する。
【０１０７】
禁止条件選択部１３は、禁止される接続状態を回路形式毎に記述した複数の禁止条件から回路形式解析部１２により特定された回路形式に対応した禁止条件を選択する。より具体的には、回路形式毎の禁止条件を含む禁止接続データベースを含む。そして、禁止条件選択部１３は、禁止接続データベースから更新後の回路形式に対応する禁止条件を選択する。このとき、禁止条件選択部１３は、回路形式信号ＡＣＳにより示される回路形式に対応する禁止条件を選択する。また、禁止条件選択部１３は、選択した禁止条件を禁止条件通知信号によってエラー検出部１４に通知する。
【０１０８】
なお、実施の形態１では、禁止条件として、マルチプレクサＳＷ１０、ＳＷ１１及びスイッチＳＷ００の設定値が誤っているために回路が正常に動作しない設定条件が含まれる。しかし、禁止条件は、上記条件に限られず、回路が正常に動作しない条件を守株含めることができる。
【０１０９】
エラー検出部１４は、データスタック１８２に格納された複数のコマンドを参照して、アナログ機能回路の更新後の回路構成が、禁止条件選択部１３により選択された禁止条件を満たす接続状態を含む場合に更新後の回路構成が禁止条件に違反することを示すエラー値を有するエラーコードを生成する。より具体的には、エラー検出部１４は、データスタック１８２に格納された複数のコマンドを参照して、禁止条件通知信号により示された禁止条件に一致する回路構成が含まれているか否かを判定する。そして、エラー検出部１４は、禁止条件に一致する回路構成があればエラーコードをエラー値とする。
【０１１０】
続いて、実施の形態１の半導体装置１の動作について具体例を挙げて説明する。ここでは、ＡＦＥ部１００の回路のコンフィギュラブル・アンプ１１０を実施の形態１の半導体装置１における制御対象回路の１つとして説明する。そこで、コンフィギュラブル・アンプ１１０の具体的な回路図を図２２に示す。図２２に示す例は、個別アンプＡＭＰ１〜ＡＭＰ３をそれぞれ反転アンプとして構成し、３ｃｈの反転アンプを実現するものである。
【０１１１】
図２２に示すように、コンフィギュラブル・アンプ１１０は、個別アンプＡＭＰ１〜ＡＭＰ３を有する。そして、コンフィギュラブル・アンプ１１０は、マルチプレクサＳＷ１０〜ＳＷ１５の選択先と、スイッチ１１３ａ〜１１３ｃ、１２３ａ〜１２３ｃ、１４３ａ〜１４３ｃの開閉状態と、を切り替えることで、反転アンプ、非反転アンプ、差動（減算）アンプ、Ｉ／Ｖアンプ、計装アンプの５種類の回路構成を実現することができる。なお、抵抗１１２ｂ、１２２ｂ、１４２ｂの一端を各アンプの正入力入力端子に接続するか、負入力端子に接続するかを切り替えるスイッチ１１２ｄ、１１２ｄ、１４２ｄを設けることで加算アンプを実現することができる。また、コンフィギュラブル・アンプ１１０の個別アンプＡＭＰ１〜ＡＭＰ３は、それぞれほぼ同一の回路構成を有する。そこで、図２２では、個別アンプＡＭＰ１に付随する可変抵抗及びスイッチに対応する個別アンプＡＭＰ２、ＡＭＰ２の抵抗及びスイッチに、個別アンプＡＭＰ１と同じルールに従った符号を付した。例えば、可変抵抗１１２ａに対応する可変抵抗に１２２ａ、１４２ａの符号を付した。
【０１１２】
また、図２２では、禁止条件の１つである信号経路を太い破線で示した。図２２に示しめした禁止条件は、アナログ機能回路（例えば、個別アンプＡＭＰ１）の回路形式が反転アンプであった場合に、マルチプレクサＳＷ１１が外部入力を選択する回路構成値となるものである。
【０１１３】
続いて、実施の形態１の半導体装置１で扱われるコマンドを説明する表を図２３に示す。図２３に示す表では、コンフィギュラブル・アンプ１１０を構成する個別アンプＡＭＰ１〜ＡＭＰ３の回路形式及び回路構成を指定する回路形式設定コマンドのみを示した。なお、アナログフロントエンド部１００に与えられるコマンドには、個別アンプのゲインを設定するコマンド、フィルタの特性を設定するコマンド、電源のオンオフを設定するコマンド等の回路特性を設定するコマンドも含まれる。
【０１１４】
図２３に示すように、回路形式設定コマンドは、アドレスデータＡＤＤとなるアドレス値と、回路形式設定値及び回路構成設定値が８ビットデータとして含まれる。より具体的には、８ビットのデータのうち上位３ビットが回路形式設定値であり、下位５ビットが回路構成設定値になる。ＳＰＩインタフェースを介して入力される入力データＳＤＩには、このアドレス値と８ビットのデータとが含まれる。図２３で示す表のアドレス値は、制御レジスタ１８１のアドレスを示すものである。
【０１１５】
図２３に示す例では、回路形式設定コマンドとして、個別アンプＡＭＰ１〜ＡＭＰ３の回路形式を指定する回路形式設定コマンドを示した。個別アンプＡＭＰ１の回路形式を指定する回路形式設定コマンドは、アドレス００ｈが指定され、スイッチ１１３ａ〜１１３ｃの開閉状態を指定する回路形式設定値と、スイッチＳＷ００の開閉状態を指定する回路構成値と、マルチプレクサＳＷ１０、ＳＷ１１が選択する入力信号を指定する回路構成設定値と、が含まれる。個別アンプＡＭＰ２の回路形式を指定する回路形式設定コマンドは、アドレス０１ｈが指定され、スイッチ１２３ａ〜１２３ｃの開閉状態を指定する回路形式設定値と、マルチプレクサＳＷ１２、ＳＷ１３が選択する入力信号を指定する回路構成設定値と、が含まれる。個別アンプＡＭＰ３の回路形式を指定する回路形式設定コマンドは、アドレス０２ｈが指定され、スイッチ１４３ａ〜１４３ｃの開閉状態を指定する回路形式設定値と、マルチプレクサＳＷ１４、ＳＷ１５が選択する入力信号を指定する回路構成設定値と、が含まれる。
【０１１６】
また、図２４に、回路形式データベースの内容を説明する表を示す。図２４では、個別アンプＡＭＰ１に対応した回路形式データベースのみを示したが、個別アンプＡＭＰ２、ＡＭＰ３等に関しても同様のデータベースが設けられている。図２４に示すように、個別アンプＡＭＰ１の回路形式データベースは、データスタック１８２に格納された設定値の上位３ビットの期待値を有する。この期待値は、回路形式毎に異なる値となる。また、回路形式データベースでは、期待値に対応して回路形式が規定されている。
【０１１７】
回路形式解析部１２は、回路形式データベースを参照して、図２３に示した回路形式設定コマンドに含まれる回路形式設定値と、回路形式データベースに格納された期待値と、を比較して、回路形式設定値と一致する期待値に対応する経路形式をアナログ機能回路（例えば、個別アンプＡＭＰ１）の更新後の回路形式として特定する。例えば、回路形式解析部１２は、スイッチ１１３ａがオフであり、スイッチ１１３ｂ、１１３ｃがオン状態であれば、個別アンプＡＭＰ１の更新後の回路形式が反転アンプであると特定する。
【０１１８】
続いて、実施の形態１の半導体装置１で利用される禁止条件を含む接続禁止データベースについて説明する。実施の形態１では、外部入力端子に異常電流が発生する信号パス及び回路が正常に動作しない接続状態を禁止条件とする。そのため、実施の形態１で利用する接続禁止データベースには、回路構成毎に禁止される信号パスが形成されるスイッチの開閉状態を記述した禁止条件を含める。
【０１１９】
そこで、図２５〜図２８に禁止条件の具体例を示し、この禁止条件について説明する。なお、図２５〜図２８に示す実施の形態１の禁止接続データベースでは異常状態に対応したエラーコードが定義されている。なお、本実施の形態では、禁止条件は、更新後のアナログ機能回路に含まれる信号パスに直流電流が流れる可能性があるスイッチ回路群の接続状態を規定した直流電流パス条件を含む。エラー検出部１４は、検出したエラーに対応するエラーコードをエラー値としてエラーレジスタ１０に格納する。
【０１２０】
まず、図２５に個別アンプＡＭＰ１の回路形式を反転アンプとした場合の禁止条件を説明する回路図及び表を示す。図２５に示すように、回路形式を反転アンプとした場合、正常な状態では、マルチプレクサＳＷ１０は外部入力、マルチプレクサＳＷ１１はＤＡＣ入力となる。また、正常な状態では、スイッチ１１３ａはオフとなり、スイッチ１１３ｂ、１１３ｃはオンとなる。
【０１２１】
そして、禁止条件は、上記スイッチの開閉状態となっている状態で異常な状態となるスイッチの開閉状態が記述される。図２５に示す例では、３個の禁止条件が記述される。回路形式設定コマンドの下位５ビットが１ｘｘｘｘ（ｘはdon't care）となってしまた場合、マルチプレクサＳＷ００がオンするため、個別アンプＡＭＰ２からの信号が回り込む不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして００ｈを出力する。回路形式設定コマンドの下位５ビットがｘ１１ｘｘとなってしまった場合、マルチプレクサＳＷ１０がＤＡＣ入力となるため、反転アンプの入力がなくなる不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして０１ｈを出力する。回路形式設定コマンドの下位５ビットがｘｘｘ０１となってしまった場合、マルチプレクサＳＷ１１が外部入力となるため、外部端子とＤＡＣ１１４との間に直流電流が流れるＤＣパスが形成され、異常電流が流れる不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして０２ｈを出力する。
【０１２２】
続いて、図２６に個別アンプＡＭＰ１の回路形式を非反転アンプとした場合の禁止条件を説明する回路図及び表を示す。図２６に示すように、回路形式を非反転アンプとした場合、正常な状態では、マルチプレクサＳＷ１０はＤＡＣ入力、マルチプレクサＳＷ１１は外部入力となる。また、正常な状態では、スイッチ１１３ａ、１１３ｃはオフとなり、スイッチ１１３ｂはオンとなる。
【０１２３】
そして、禁止条件は、上記スイッチの開閉状態となっている状態で異常な状態となるスイッチの開閉状態が記述される。図２６に示す例では、３個の禁止条件が記述される。回路形式設定コマンドの下位５ビットが１ｘｘｘｘとなってしまった場合、マルチプレクサＳＷ００がオンするため、個別アンプＡＭＰ２からの信号が回り込む不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして１０ｈを出力する。回路形式設定コマンドの下位５ビットがｘ０１ｘｘとなってしまった場合、マルチプレクサＳＷ１０が外部入力となるため、基準電圧が定まらない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして１１ｈを出力する。回路形式設定コマンドの下位５ビットがｘｘｘ１１となってしまった場合、マルチプレクサＳＷ１１がＤＡＣ入力となるため、入力信号が入力されない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして１２ｈを出力する。
【０１２４】
続いて、図２７に個別アンプＡＭＰ１の回路形式を差動アンプとした場合の禁止条件を説明する回路図及び表を示す。図２７に示すように、回路形式を差動アンプとした場合、正常な状態では、マルチプレクサＳＷ１０、ＳＷ１１は外部入力となる。また、正常な状態では、スイッチ１１３ａ、１１３ｂはオフとなり、スイッチ１１３ｃはオンとなる。
【０１２５】
そして、禁止条件は、上記スイッチの開閉状態となっている状態で異常な状態となるスイッチの開閉状態が記述される。図２７に示す例では、３個の禁止条件が記述される。回路形式設定コマンドの下位５ビットが１ｘｘｘｘとなってしまった場合、マルチプレクサＳＷ００がオンするため、個別アンプＡＭＰ２からの信号が回り込む不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして２０ｈを出力する。回路形式設定コマンドの下位５ビットがｘ１１ｘｘとなってしまった場合、マルチプレクサＳＷ１０がＤＡＣ入力となるため、差動アンプとして機能しない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして２１ｈを出力する。また、回路形式設定コマンドの下位５ビットがｘｘｘ１１となってしまった場合、マルチプレクサＳＷ１１がＤＡＣ入力となるため、差動アンプとして機能しない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして２２ｈを出力する。
【０１２６】
続いて、図２８に個別アンプＡＭＰ１の回路形式をＩ／Ｖアンプとした場合の禁止条件を説明する回路図及び表を示す。図２８に示すように、回路形式をＩ／Ｖアンプとした場合、正常な状態では、マルチプレクサＳＷ１０は外部入力、マルチプレクサＳＷ１１はＤＡＣ入力となる。また、正常な状態では、スイッチ１１３ａ〜１１３ｃはオンとなる。
【０１２７】
そして、禁止条件は、上記スイッチの開閉状態となっている状態で異常な状態となるスイッチの開閉状態が記述される。図２８に示す例では、３個の禁止条件が記述される。回路形式設定コマンドの下位５ビットが１ｘｘｘｘとなってしまった場合、マルチプレクサＳＷ００がオンするため、個別アンプＡＭＰ２からの信号が回り込む不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして３０ｈを出力する。回路形式設定コマンドの下位５ビットがｘ１１ｘｘとなってしまった場合、マルチプレクサＳＷ１０がＤＡＣ入力となるため、入力信号が入力されない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして３１ｈを出力する。回路形式設定コマンドの下位５ビットがｘｘｘ０１となってしまった場合、マルチプレクサＳＷ１０が外部入力となるため、異常電流が流れる不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして３２ｈを出力する。
【０１２８】
なお、上記説明では、回路形式毎に３つの禁止条件を示したが、禁止条件は、図２５〜図２８に示した条件に限られず、不具合が生じる構成を種々設定することができる。また、図２５〜図２８では、個別アンプＡＭＰ２、ＡＭＰ３についても、図２５〜図２８で示した禁止条件が設定される。
【０１２９】
続いて、実施の形態１のＳＰＩインタフェース１８０の動作について説明する。そこで、まず、ＳＰＩインタフェース１８０の通信タイミングを示すタイミングチャートを図２９に示す。
【０１３０】
ＳＰＩインタフェース１８０は、ＭＣＵ部２００とＡＦＥ部１００との間のインタフェースであり、ＡＦＥ部１００の設定、すなわち制御レジスタ１８１の書き込みと、ＡＦＥ部１００内のレジスタに格納されたデータの読み出しと、書き込んだコマンドに基づく回路構成の変更処理の実行と、を行う。ここでは、ＳＰＩクロック周波数は１０ＭＨｚであり、通信データ量は１６ビット、通信方向はＭＳＢである。
【０１３１】
図２９に示すように、ＳＰＩインタフェース１８０では、チップセレクトＣＳ（反転信号）、シリアルクロックＳＣＬＫ（反転信号）、シリアルデータ入力ＳＤＩが、ＭＣＵ部２００からＡＦＥ部１００へ入力され、シリアルデータ出力ＳＤＯが、ＡＦＥ部１００からＭＣＵ部２００へ出力される。
【０１３２】
ＳＰＩインタフェース１８０では、チップセレクトＣＳがローレベルとなると、シリアルクロックＳＣＬＫに同期して各ビットが入出力される。ＭＣＵ部２００は、Ｒ／Ｗ／Ｅにレジスタ１８１のリード命令、ライト命令及びコマンド実行命令を示すビットを設定し、Ａ１〜Ａ６に、リード／ライトする制御レジスタ１８１のアドレスを設定する。
【０１３３】
Ｒ／Ｗ／Ｅがライト命令（例えば、００）の場合、ＭＣＵ部２００は、Ｄ０〜Ｄ７にレジスタへ書き込むデータを設定する。Ｒ／Ｗ／Ｅがリード命令（例えば、１０）の場合、ＡＦＥ部２００は、Ｄ０〜Ｄ７にＡＦＥ部１００内のレジスタから読み出したデータを設定する。Ｒ／Ｗ／Ｅがコマンド実行命令（例えば、１１）の場合、ＭＣＵ部２００は、Ａ０〜Ａ７及びＤ０〜Ｄ７は特に指定しない。
【０１３４】
ＡＦＥ部１００は、ＳＤＩでＲ／Ｗ／Ｅ、Ａ１〜Ａ６が入力されると、クロックＳＣＬＫの立ち上りエッジのタイミング（ｔ１）でＳＤＩのサンプリングを開始し、タイミングｔ２で、命令とアドレスをラッチする。タイミングｔ２の後、Ｄ７〜Ｄ０クロックＳＣＬＫの立下りエッジのタイミング（タイミングｔ３）で送信データを１ビットシフトして設定する。さらに、チップセレクトＣＳのタイミング（ｔ４）でデータをラッチする。
【０１３５】
実施の形態１の半導体装置１では、図２９で示したタイミングチャートに従ってコマンドを１つずつＭＣＵ部２００からＡＦＥ部１００に送信する。実施の形態１の半導体装置１では、１つの回路構成の設定を複数のコマンドを用いて行う。そこで、半導体装置１のコマンド送信手順を示すフローチャートを図３０に示す。図３０に示すフローチャートは、個別アンプＡＭＰ１を反転アンプとするための手順である。ＡＦＥ部１００において他の回路構成を実現する場合には、回路構成毎に送信するコマンドが異なるが、１つの回路構成を実現するために複数のコマンドを要する点については同じである。
【０１３６】
図３０に示すように、個別アンプＡＭＰ１を反転アンプとする場合、ＭＣＵ部２００は、ステップＳ１０１〜Ｓ１０５において１つずつコマンドを送信する。ステップＳ１０１では、回路形式設定コマンドを送信して回路形式設定レジスタの設定を行う。ステップＳ１０２では、アンプ動作モード設定コマンドを送信してアンプ動作モード設定レジスタの設定を行う。ステップＳ１０３では、アンプゲイン設定コマンドを送信してアンプゲイン設定レジスタを設定する。ステップＳ１０４では、パワーオン設定コマンドを送信してパワーオン設定レジスタを設定する。そして、ステップＳ１０５においてコマンド実行命令を入力する。これにより、ＡＦＥ部１００は、回路構成を、ステップＳ１０１〜Ｓ１０４で入力されたコマンドに基づく回路構成に更新する。
【０１３７】
ここで、半導体装置１では、回路形式毎にコマンドの送信順序が規定される。これは、データスタック１８２にはコマンドが受信順に格納され、受信したコマンドに基づく制御レジスタ１８１の回路構成制御値の更新は、データスタック１８２に格納された順に行われるためである。
【０１３８】
また、回路形式解析部１２は、データスタック１８２に格納されているコマンドを常時監視し、回路形式設定コマンドにより回路形式設定値が入力されたことに応じてアナログ機能回路の更新後の回路形式を特定する。これにより、コマンド実行命令が入力された時点において、エラー検出部１４は、エラー検出処理を完了させることができる。また、コマンド実行命令が入力された時点において、エラー検出処理を完了させておくことで、コマンド実行命令の入力タイミングに対して遅延させることなく回路形式を更新することができる。
【０１３９】
続いて、実施の形態１のＳＰＩインタフェース１８０の動作について説明する。そこで、図３１にＳＰＩインタフェース１８０の動作を示すフローチャートを示す。なお、半導体装置１は、図３１に示したフローチャートの処理を行うのと同時にコマンドを受信するコマンド受信ステップを実行する。
【０１４０】
そして、図３１に示すように、ＳＰＩインタフェース１８０は、回路形式解析部１２が、データスタック１８２に格納されたコマンドのアドレス値を参照して、回路形式設定値を読み込む。次いで、ステップＳ１１１において、回路形式解析部１２は、回路形式設定コマンドにより指定された回路形式設定値に基づき更新後の回路形式を特定する。次いで、ステップＳ１１２において、禁止条件選択部１３が特定された更新後の回路形式に対応する禁止条件を接続禁止データベースから選択する。次いで、ステップＳ１１３において、エラー検出部１４がステップＳ１１２で選択された禁止条件とデータスタック１８２に格納された回路形式設定値と、を比較する。次いで、ステップＳ１１４において、エラー検出部１４が禁止条件に含まれる回路構成がデータスタック１８２に格納された回路構成設定値から導き出される回路構成中にあるか否かについて判断を行う。
【０１４１】
そして、ステップＳ１１４の判断ステップにおいて、禁止条件で示される回路構成に合致する信号経路が更新後の回路構成にあると判断された場合（ステップＳ１１４のＮＯの枝）、ステップＳ１１７において、エラー検出部１４がエラーレジスタにエラーコードとしてエラー値（例えば、００ｈ等の値）を書き込む。また、エラーコードがエラー値である場合、ステップＳ１１８において、レジスタ制御部１８３は、制御レジスタ１８１の回路構成制御値を現在の値で維持する。つまり、ステップＳ１１８では、レジスタ制御部１８３は、制御レジスタ１８１の回路構成制御値をデータスタック１８２に格納された回路形成設定値及び回路構成設定値により更新することは行わない。
【０１４２】
一方、ステップＳ１１４の判断ステップにおいて、禁止条件で示される回路構成に合致する回路構成が更新後の回路構成にないと判断された場合（ステップＳ１１４のＹＥＳの枝）、ステップＳ１１５において、エラー検出部１４がエラーレジスタにエラーコードとして正常値（例えば、ＦＦｈ）を書き込む。そして、ステップＳ１１６において、レジスタ制御部１８３は、制御レジスタ１８１の回路構成制御値をデータスタック１８２に格納された回路形式設定値及び回路構成設定値により更新する。
【０１４３】
上記説明おいて、ステップＳ１１１〜Ｓ１１５及びＳ１１７の処理が、回路構成エラー検出部１１によるエラー判定ステップである。つまり、エラー判定ステップでは、ＡＦＥ部１００が受信した複数のコマンドにより決定される更新後回路構成が予め設定した禁止条件を満たす場合に更新後回路構成が禁止条件を満たすエラー状態であることを示すエラー値を有するエラーコードを生成する。また、ステップＳ１１８の処理が、回路設定禁止ステップである。つまり、回路設定禁止ステップでは、エラーコードがエラー値を有する場合には、回路構成制御値を複数のコマンドによらず維持する。また、Ｓ１１６の処理が、回路設定更新ステップである。つまり、回路設定更新ステップでは、エラーコードがアナログ機能回路の更新後の回路構成が禁止条件を満たさないことを示す正常値であった場合にはアナログ機能回路の現在の回路構成を規定する回路構成制御値を複数のコマンドにより更新する。
【０１４４】
また、エラー判定ステップは、複数のステップを含む。より具体的には、ステップＳ１１１が回路形式解析部１２による第１の回路形式解析ステップである。第１の回路形式解析ステップでは、アナログフロントエンド部が受信した複数のコマンドに含まれる回路形式設定値に基づきアナログ機能回路の更新後の回路形式を特定する。また、ステップＳ１１２は、禁止条件選択部１３による禁止条件選択ステップである。禁止条件選択ステップでは、禁止される接続状態を回路形式毎に記述した複数の禁止条件から回路形式解析ステップにより特定された回路形式に対応した禁止条件を選択する。なお、実施の形態１では、禁止条件選択ステップにおいて、第１の回路形式解析ステップで特定された更新後の回路形式に基づき接続禁止データベースから禁止条件を選択する。また、ステップＳ１１３、Ｓ１１４、Ｓ１１７は、エラー検出部１４によるエラー検出ステップである。エラー検出ステップでは、データスタック１８２に格納された複数のコマンドを参照して、アナログ機能回路の更新後の回路構成が禁止条件選択ステップにより選択された禁止条件を満たす接続状態を含む場合に、更新後の回路構成が禁止条件に違反することを示すエラー値を有するエラーコードを生成する。
【０１４５】
続いて、実施の形態１の半導体装置１の全体の動作について説明する。そこで、図３２に実施の形態１の半導体装置１の動作を示すフローチャートを示す。
【０１４６】
図３２に示すように、半導体装置１は、ステップＳ１２１において、ＭＣＵ部２００からＡＦＥ部１００にコマンドを送信してＡＦＥ部１００の回路形式を含む回路構成を設定する。これにより、ＡＦＥ部１００の回路形式及び回路構成が確定する。そして、ステップＳ１２２において、ＡＦＥ部１００からセンサによる測定結果を取得する。
【０１４７】
その後、ステップＳ１２３において、ＭＣＵ部２００が、取得した測定結果と測定想定範囲とを比較して、測定結果が測定想定範囲内にある否かを判断する。このステップＳ１２３の判断において、測定結果が測定想定範囲内であった場合（ステップＳ１２３のＹＥＳの枝）、ステップＳ１２４において、ＭＣＵ部２００は測定結果に対する情報処理を行う。そして、ステップＳ１２５において、ＭＣＵ部２００は、回路構成を変更するプログラムコードがＭＣＵ部２００のＣＰＵにて実行されたか否かを判断する。このステップＳ１２５において、回路構成を変更するプログラムコードが実行されていないと判断された場合（ステップＳ１２５のＮＯの枝）、ＭＣＵ部２００は、引き続きＡＦＥ部１００からセンサの測定結果を取得する。また、ステップＳ１２５において、回路構成を変更するプログラムコードが実行されたと判断された場合（ステップＳ１２５のＹＥＳの枝）、ＭＣＵ部２００は、再度ステップＳ１２１の回路構成の設定処理を行う。
【０１４８】
一方、ステップＳ１２３の判断ステップにおいて、測定結果が測定想定範囲外であった場合（ステップＳ１２３のＮＯの枝）、ステップＳ１２６において、ＭＣＵ部２００はＡＦＥ部１００からエラーコードを取得する。そして、ステップＳ１２７において、ＭＣＵ部２００は、取得したエラーコードに応じたエラー処理を行う。図３２に示す例では、ステップＳ１２７でＭＣＵ部２００は、エラー処理として再度ステップＳ１２１の回路構成の設定処理を行う。
【０１４９】
上記説明より、実施の形態１の半導体装置１は、ＭＵＣ部２００から送信されるコマンドに基づき決定される更新後回路構成が本来想定していない禁止条件を満たす構成を有するか否かを判断する回路構成エラー検出部１１を有する。そして、半導体装置１では、回路構成エラー検出部１１においてエラーが検出された場合には、レジスタ制御部１８３が制御レジスタ１８１の回路構成制御値の更新を停止する。これにより、例えば、ＭＣＵ部２００のメモリ２２０上でコマンドを構成するデータにビット誤りが生じた場合、或いは、データ転送時にコマンドを構成するデータにビット誤りが生じた場合などであっても、当該ビット誤りにより更新後の回路に不具合が生じることを防止することができる。
【０１５０】
また、実施の形態１の半導体装置１は、回路構成エラー検出部１１でエラーが検出された場合には、エラーコードをエラー値とする。これにより、ＭＣＵ部２００は、ＡＦＥ部１００から取得した測定結果に異常があった場合には、回路構成の設定処理においてエラーが生じたことを知ることができる。また、ＭＣＵ部２００は、エラーが生じたことに応じて適切なエラー処理を行うことができる。
【０１５１】
このように、回路構成の変更時に生じるエラーを検出することで、半導体装置１は、信頼性を高めることができる。また、回路構成の変更時に生じるエラーを検出することで、半導体装置１は、ＡＦＥ部１００を誤った回路構成で使用し続けるこを防止することができる。回路構成を動的に再構成可能な半導体装置１においては、回路構成の変更時にエラーが生じる可能性が固定された回路構成を有する回路に比べて高く、回路構成の変更時に生じるエラーを検出することの効果は大きい。
【０１５２】
また、実施の形態１の半導体装置１では、禁止条件の１つとして直流的に入力外部端子とアナログ回路要素の出力（例えば、ＤＡＣ出力）とが接続される経路が形成されるスイッチの条件を設定した。半導体装置１では、外部入力端子にセンサが接続される。このセンサに直流電圧が印加された場合、センサの特性劣化、或いは、センサの破壊等の不具合が生じる。しかし、実施の形態１の半導体装置１では、外部入力端子に直流電圧が印加される経路が形成されることを防止することができるため、コマンドのビット誤りに起因する誤動作からセンサを保護することができる。
【０１５３】
実施の形態２
実施の形態２では、加算アンプについて回路構成のエラーを検出する対象とした場合の構成について説明する。この実施の形態２では、ＳＰＩインタフェース１８０の構成は実施の形態１と同じであるため、ここでは説明を省略する。一方、実施の形態２では、実施の形態１とは回路形式設定コマンドが異なる。そこで、以下の説明では、回路設定コマンド（或いは、回路形式設定値）の違いについてより詳細に説明する。
【０１５４】
加算アンプは、図１１に示すように、他の回路形式を実現する個別アンプＡＭＰ１にスイッチ１１３ｄが追加されている。加算アンプを指定する回路形式設定値は、４ビットの値にスイッチ１１３ｄの開閉状態を指定する回路形式設定値を有する。そこで、図３３に加算アンプの回路構成に対応した回路形式設定コマンドの例を示す。また、図３４に加算アンプの回路構成に対応した回路形式データベースの例を示す。
【０１５５】
図３３に示すように、実施の形態２に係る回路形式設定コマンドにより指定される設定値では、上位４ビットに回路形式設定値が規定され、下位５ビットに回路構成設定値が規定される。また、図３４に示すように、回路形式データベースは、回路形式毎に４ビットの期待値を有する。この期待値は、回路形式設定値のビット数を同じビット数を有し、スイッチ１１３ａ〜１１３ｄの期待値を示すものもである。
【０１５６】
続いて、図３５に個別アンプＡＭＰ１の回路形式を加算アンプとした場合の禁止条件を説明する回路図及び表を示す。図３５に示すように、回路構成を加算アンプとした場合、スイッチ１１３ｄが追加される。回路構成を非反転アンプとした場合、正常な状態では、マルチプレクサＳＷ１０、ＳＷ１１は外部入力となる。また、正常な状態では、スイッチ１１３ａ、１１３ｂはオフとなり、スイッチ１１３ｃはオンとなり、スイッチ１１３ｄは正入力に接続される。
【０１５７】
そして、禁止条件は、上記スイッチの開閉状態となっている状態で異常な状態となるスイッチの開閉状態が記述される。図３５に示す例では、３個の禁止条件が記述される。回路形式設定コマンドの下位５ビットが１ｘｘｘｘとなってしまった場合、マルチプレクサＳＷ００がオンするため、個別アンプＡＭＰ２からの信号が回り込む不具合が生じる。この場合、エラー検出部１４は、エラーコードとして４０ｈを出力する。回路形式設定コマンドの下位５ビットがｘ１１ｘｘとなってしまった場合、マルチプレクサＳＷ１０がＤＡＣ入力となるため、加算アンプとして機能しない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして４１ｈを出力する。また、回路形式設定コマンドの下位５ビットがｘｘｘ１１となってしまった場合、マルチプレクサＳＷ１１がＤＡＣ入力となるため、加算アンプとして機能しない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして４１ｈを出力する。
【０１５８】
上記説明より、実施の形態２では、加算アンプを指定する回路形式設定値について説明したが、回路形式設定コマンド及び個別アンプの回路構成を加算アンプに対応したものとすることで、加算アンプにも対応することができる。
【０１５９】
実施の形態３
実施の形態３では、個別アンプＡＭＰ１〜ＡＭＰ３を用いて計装アンプを構成する場合の回路形式データベースの期待値及び禁止接続データベースの禁止条件について説明する。この実施の形態３では、ＳＰＩインタフェース１８０の構成は実施の形態１と同じであるため、ここでは説明を省略する。一方、実施の形態３では、実施の形態１とは回路形式データベース上の期待値と禁止接続データベース上の禁止条件が異なる。そこで、以下の説明では、回路形式データベースの期待値と、禁止条件について詳細に説明する。
【０１６０】
まず、図３６に、実施の形態３にかかる回路形式データベースを説明するための表を示す。また、図３７Ａに個別アンプＡＭＰ１〜ＡＭＰ３を用いて計装アンプを構成した場合の禁止条件を説明する回路図を示す。図３７Ａに示すように、計装アンプでは、個別アンプＡＭＰ１〜ＡＭＰ３を用いて構成される。また、計装アンプではスイッチＳＷ００がオン状態となる。
【０１６１】
そのため、図３６に示すように、計装アンプに対応する期待値は、個別アンプＡＭＰ１〜ＡＭＰ３の回路形式設定値（例えば、回路形式設定コマンドの上位３ビット）に加えて、個別アンプＡＭＰ１の回路形式設定コマンドの４ビット目に規定されるスイッチＳＷ００の設定値を回路形式設定値として用いる。なお、回路形式解析部１２は、スイッチＳＷ００に対応するデータスタック１８２上の設定値を参照して、個別アンプＡＭＰ１〜ＡＭＰ３の回路形式設定値を一体の回路形式設定値として判断すべきか否かを決定する。
【０１６２】
そのため、実施の形態３にかかる回路形式データベースでは、計装アンプについての期待値は、スイッチＳＷ００が１に設定され、個別アンプＡＭＰ１のスイッチ１１３ａ、１１３ｃはオフ、スイッチ１１３ｂはオン、個別アンプＡＭＰ２、ＡＭＰ３のスイッチ１２３ａ、１２３ｃはオフ、スイッチ１２３ｂはオン、個別アンプＡＭＰ３のスイッチ１４３ａ、１４３ｂはオフ、スイッチ１４３ｃはオンに設定される。
【０１６３】
上記期待値に基づき回路構成が決定された場合、図３７Ａに示すように、コンフィギュラブル・アンプ１１０は、正常な状態では、マルチプレクサＳＷ１０、ＳＷ１２は遮断状態、マルチプレクサＳＷ１１、ＳＷ１３は外部入力、マルチプレクサＳＷ１４はアンプ１出力、マルチプレクサＳＷ１５はアンプ２出力となる。また、正常な状態では、スイッチ１１３ａ、１１３ｃ、１２３ａ、１２３ｃ、１４３ａ、１４３ｂはオフとなり、スイッチ１１３ｂ、１２３ｂ、１４３ｃはオンとなる。また、計装アンプでは、スイッチＳＷ００、ＳＷ０２がオン、スイッチＳＷ０１がオフとなる。
【０１６４】
また、図３６では、計装アンプ以外の回路形式に対応する期待値も示した。例えば、個別アンプＡＭＰ１〜ＡＭＰ３を３チャンネルの反転アンプとして利用する場合は、スイッチＳＷ００が０に設定され、いずれの個別アンプの期待値が同じ値に設定される。また、３つの個別アンプにより、２チャンネルのＩ／Ｖアンプと１チャンネルの反転アンプを構成することもできる。
【０１６５】
続いて、計装アンプの禁止条件について説明する。図３７Ｂに計装アンプの禁止条件を説明する表を示す。図３７Ｂに示すように、計装アンプの禁止条件は、上記スイッチの開閉状態となっている状態で異常な状態となる回路構成が記述される。図３７Ｂに示す例では、１１個の禁止条件が記述される。個別アンプＡＭＰ１に対応する回路形式設定コマンドの下位５ビットの値が１ｘｘｘｘとなってしまった場合、マルチプレクサＳＷ００がオンするため、ケイ素南婦の出力が不定になる不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして５０ｈを出力する。個別アンプＡＭＰ１に対応する回路形式設定コマンドの下位５ビットの値がｘ０１ｘｘとなってしまった場合、マルチプレクサＳＷ１０が外部入力となるため、出力にノイズが混入する不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして５１ｈを出力する。また、個別アンプＡＭＰ１に対応する回路形式設定コマンドの下位５ビットの値がｘ１１ｘｘとなってしまった場合、マルチプレクサＳＷ１０がＤＡＣ入力となるため、計装アンプとして動作しない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして５２ｈを出力する。個別アンプＡＭＰ１に対応する回路形式設定コマンドの下位５ビットの値がｘｘｘ１１となってしまった場合、マルチプレクサＳＷ１１がＤＡＣ入力となるため、計装アンプとして動作しない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして５３ｈを出力する。
【０１６６】
個別アンプＡＭＰ２に対応する回路形式設定コマンドの下位５ビットの値がｘ０１ｘｘとなってしまった場合、マルチプレクサＳＷ１２が外部入力となるため、出力にノイズが混入する不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして５４ｈを出力する。また、個別アンプＡＭＰ２に対応する回路形式設定コマンドの下位５ビットの値がｘ１１ｘｘとなってしまった場合、マルチプレクサＳＷ１２がＤＡＣ入力となるため、計装アンプとして動作しない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして５５ｈを出力する。個別アンプＡＭＰ２に対応する回路形式設定コマンドの下位５ビットの値がｘｘｘ１１となってしまった場合、マルチプレクサＳＷ１３がＤＡＣ入力となるため、計装アンプとして動作しない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして５６ｈを出力する。
【０１６７】
個別アンプＡＭＰ３に対応する回路形式設定コマンドの下位５ビットの値がｘ１１ｘｘとなってしまった場合、マルチプレクサＳＷ１４がＤＡＣ入力となるため、出力が出ない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして５７ｈを出力する。個別アンプＡＭＰ３に対応する回路形式設定コマンドの下位５ビットの値がｘ０１ｘｘとなってしまった場合、マルチプレクサＳＷ１４が外部入力となるため、出力が出ない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして５８ｈを出力する。個別アンプＡＭＰ３に対応する回路形式設定コマンドの下位５ビットの値がｘｘｘ１１となってしまった場合、マルチプレクサＳＷ１５がＤＡＣ入力となるため、出力が出ない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして５９ｈを出力する。個別アンプＡＭＰ３に対応する回路形式設定コマンドの下位５ビットの値がｘｘｘ０１となってしまった場合、マルチプレクサＳＷ１５が外部入力となるため、出力が出ない不具合が生じる。この場合、エラー検出回路１４は、エラーコードとして６０ｈを出力する。
【０１６８】
上記説明より、実施の形態３では、複数の個別アンプを用いて計装アンプを構成する場合であっても、回路形式データベース及び禁止条件を追加するのみで回路構成のエラーを検出可能な構成について説明した。実施の形態１にかかる半導体装置を用いることで、回路構成エラー検出部１１等の回路構成を変更することなく様々な回路形式のエラーを検出出来ることがわかる。
【０１６９】
実施の形態４
実施の形態４では、回路形式設定コマンドとして、個別アンプの回路形式を切り替えるスイッチ（例えば、スイッチ１１３ａ〜１１３ｃ、１２３ａ〜１２３ｃ、１４３ａ〜１４３ｃ）の設定値を個別に指定することなく、これらのスイッチの数よりも少ないビット数の回路形式設定値を含むものについて説明する。
そこで、図３８に、実施の形態４にかかるＳＰＩインタフェース１８０ａのブロック図を示す。図３８に示すように、ＳＰＩインタフェース１８０ａは、実施の形態１のＳＰＩインタフェース１８０をレジスタ制御部１８３ａに置き換え、回路構成エラー検出部１１から回路構成解析部１２を除くと共に、禁止条件選択部１３を禁止条件選択部１３ａに置き換えたものである。
【０１７０】
禁止条件選択部１３ａは、実施の形態４にかかる回路構成コマンドに含まれる回路設定値のいずれのビットが１であるかに応じて禁止接続データベースから禁止条件を選択する。
【０１７１】
レジスタ制御部１８３ａは、実施の形態４にかかる回路形式設定コマンドに基づき制御レジスタ１８１の回路構成制御値を更新する場合に、回路形式設定コマンドの回路形式設定値をデコードして、制御レジスタ１８１のアドレス００ｈ〜０２ｈの回路構成制御値を書き換える。
【０１７２】
ここで、実施の形態４において利用される回路形式設定コマンドについて説明する。図３９に実施の形態４にかかるコマンドを説明する表を示す。また、図４０に実施の形態４にかかる回路形式設定コマンドの内容を説明する表を示す。
【０１７３】
図３９に示すように、実施の形態４では、回路形式設定コマンドと、マルチプレクサＳＷ１０〜ＳＷ１５が選択する入力信号を指定する回路構成設定コマンドと、が別に設けられる。回路形式設定コマンドは、アドレス００ｈを指定し、３ビットの回路形式設定値を有する。また、回路構成設定コマンドは、アドレス０１ｈ或いはアドレス０１ｈを指定し、マルチプレクサが選択する入力信号をそれぞれ２ビットの値で指定する。
【０１７４】
そして、図４０に示すように、実施の形態４では、回路形式設定コマンドの回路形式設定値のいずれのビットが１となっているかに応じて指定する回路形式を特定する。例えば、回路形式設定値ＣＯＮＦＩＧが００１であった場合、回路形式として反転アンプが指定される。
【０１７５】
上記説明より、実施の形態４では、回路形式設定コマンドがスイッチの開閉状態を個別に指定することなく回路形式を指定することができる。そのため、回路構成解析部１２を用いることなく更新後回路構成を特定するとができる。これにより、実施の形態４の半導体装置は、回路構成特定処理を必要とせず、短時間で更新後回路構成に応じた禁止条件を選択することができる。
【０１７６】
実施の形態５
実施の形態５では、回路形式設定値のエラーに対する耐性向上させる為の構成について説明する。実施の形態５にかかるＳＰＩインタフェース１８０ｂのブロック図を図４１に示す。なお、実施の形態５の説明において実施の形態１の構成要素と同じ構成要素については、実施の形態１と同じ符号を付して説明を省略する。
【０１７７】
図４１に示すように、ＳＰＩインタフェース１８０ｂは、実施の形態１のレジスタ制御部１８３をレジスタ制御部１８３ｂに置き換え、回路構成エラー検出部１１の回路形式解析部１２を回路構成解析部１２ｂに置き換えたものである。また、実施の形態５にかかるＳＰＩインタフェース１８０ｂに対しては、エラー耐性を向上させる回路形式設定値を他ビット化した回路形式設定コマンドを用いる。
【０１７８】
そこで、ＳＰＩインタフェース１８０ｂの詳細について説明する前に、実施の形態５にかかる半導体装置で用いられる回路形式設定コマンド及び回路形式設定値の期待値について説明する。
【０１７９】
図４２に実施の形態５の半導体装置で利用される回路形式設定コマンドを説明するための表を示す。図４２に示す例では、この回路形式設定コマンドに含まれる回路形式設定値のうちスイッチ１１３ｃに対応する値が１ビットから３ビットに拡張されている。この３ビットの値はそれぞれ同一値が設定されるものである。つまり、実施の形態５では、回路形式設定値が、アナログ機能回路の回路形式を切り替える回路形式制御スイッチ（例えば、スイッチ１１３ａ〜１１３ｃ）のそれぞれに対応した複数のスイッチ切替値を含み、複数のスイッチ切替値のうちの少なくとも１つは同一値が３ビット以上連続した冗長スイッチ切替値である。図４２に示す例では、個別アンプＡＭＰ１に対応する回路形式設定値は、スイッチ１１３ａ〜１１３ｃに対応した３つのスイッチ切替値を含み、このスイッチ切替値のうちスイッチ１１３ｃが同一値が３ビット以上連続した冗長スイッチ切替値である。
【０１８０】
また、図４３に実施の形態５の半導体装置で利用される回路形式データベースを説明するための表を示す。図４３に示すように、回路形式データベースには、回路形式設定値にエラーがない場合の回路形式設定値が設定される。図４３では、反転アンプを指定する回路形式設定値と、非反転アンプを指定する回路形式設定値と、の２つの期待値を示した。詳しくは後述するが、回路形式解析部１２ｂは、データスタック１８２に格納された回路形式設定値と、回路形式データベースの期待値とのハミング距離を算出して、当該ハミング距離に基づき更新後の回路形式を特定する。そこで、実施の形態５では、異なる形式を指定する回路形式設定値の間のハミング距離が３以上離れるように回路形式設定値が規定される。
【０１８１】
実施の形態５にかかる半導体装置では、上記回路形式設定値に基づき回路形式を更新する。そこで、レジスタ制御部１８３ｂ及び回路形式解析部１２ｂは、以下のような特徴を有する。
【０１８２】
レジスタ制御部１８３ｂは、冗長スイッチ切替値（例えば、スイッチ１１３ｃの開閉状態を指定する回路形式設定値）に対しては、多数決処理を行い、多数決処理において数が多いと判断された値をスイッチ切替値として制御レジスタ１８１に出力する。また、回路形式解析部１２ｂは、回路形式設定値との間のハミング距離が最も近い期待値に対応する回路形式を更新後のアナログ機能回路の回路形式として特定する。
【０１８３】
ここで、ハミング距離について説明する。ハミング距離は、隣り合う２つの値のうち異なるビットの数を示すものである。例えば、図４３に示した期待値が設定されている状態で、データスタック１８２上の回路形式設定値が０１１１１であった場合は、反転アンプの期待値と回路形式設定値との間のハミング距離は０となり、非反転アンプの期待値と回路形式設定値との間のハミング距離は３となる。一方、データスタック１８２上の回路形式設定値が０１１０１であった場合は、反転アンプの期待値と回路形式設定値との間のハミング距離は１となり、非反転アンプの期待値と回路形式設定値との間のハミング距離は２となる。
【０１８４】
回路形式解析部１２ｂは、上記の例では、本来０１１１１として反転アンプを指定する回路形式設定値の下位３ビット中に１ビットの誤りが生じた場合であっても、ハミング距離に基づき、ハミング距離が小さな期待値に対応する反転アンプを更新後の回路形式として特定する。
【０１８５】
上記説明より、実施の形態５にかかる半導体装置では、回路解析部１２ｂがハミング距離に基づき更新後の回路形式を特定する。これにより、受信した回路形式設定値に誤りがある場合であっても、正しく回路形式を特定することができる。また、実施の形態５にかかる半導体装置では、レジスタ制御部１８３ｂが、冗長スイッチ切替値については多数決処理を行うことで、エラービットが生じた場合であっても正しいスイッチ切替値を制御レジスタ１８１に設定することができる。
【０１８６】
なお、上記説明では、回路形式設定値の１つについて冗長ビットを付加する例について説明したが、全てのビットについて冗長ビットを付加することも可能である。例えば、３つの回路形式設定値をいずれも３ビット（合計９ビット）とすることで、全てのビットに対するエラー耐性を向上させることができる。また、回路形式設定値の理想値の間のハミング距離を３以上とする条件のもと、反転アンプ、非反転アンプ以外の他の回路形式のアンプを指定する回路形式設定値のエラー耐性を向上させることもできる。
【０１８７】
実施の形態６
実施の形態６のＳＰＩインタフェース１８０ｃのブロック図を図４４に示す。図４４に示すように、ＳＰＩインタフェース１８０ｃは、実施の形態１にかかるＳＰＩインタフェース１８０に第２の回路形式解析部（例えば、回路形式解析部２０）及びソフトリセットコマンド発生回路２１を追加したものである。また、ＳＰＩインタフェース１８０ｃでは、レジスタ制御部１８３に代えて、レジスタ制御部１８３ｃを有する。
【０１８８】
回路形式解析部２０は、制御レジスタ１８１に格納された回路構成制御値に基づき規定される現在の回路構成が複数のアンプにより構成される計装アンプであることを検出して、計装アンプ検出信号を出力する。また、回路形式解析部２０は、レジスタ制御部１８３ｃが制御レジスタ１８１の回路構成制御値の更新を開始するタイミングで出力される更新通知信号ＲＦＳに基づき解析を開始する。
【０１８９】
ソフトリセットコマンド発生回路２１は、計装アンプ検出信号に基づき、現在の回路構成制御値の更新時に合わせて制御レジスタ１８１に格納された回路構成制御値を初期状態とするソフトリセットコマンドＲＳＴを生成する。このソフトリセットコマンドは、制御レジスタ１８１に格納されている回路構成制御値を初期状態とするコマンドであって、例えば、アドレス１３ｈのＤ０の領域にフィールドが設定される。また、このソフトリセットコマンドが制御レジスタ１８１に与えられることにより、ＡＦＥ部１００のアナログ回路要素の特性値及びスイッチ回路群の開閉状態は予め設定された初期状態となる。
【０１９０】
そして、実施の形態６のＳＰＩインタフェース１８０ｃは、ソフトリセット処理後にデータスタック１８２に格納された複数のコマンドに基づき制御レジスタ１８１の回路構成制御値を更新する。
【０１９１】
そこで、実施の形態６のＳＰＩインタフェース１８０ｃの動作を示すタイミングチャートを図４５に示す。図４５に示すように、実施の形態６のＳＰＩインタフェース１８０ｃの動作は、実施の形態１のＳＰＩインタフェース１８０の動作（図３１）にステップＳ２０１〜Ｓ２０３の処理を加えたものである。そこで、ここではステップＳ２０１〜Ｓ２０３の動作について特に詳細に説明し、他のステップの処理の説明は省略する。
【０１９２】
図４５に示すように、実施の形態６のＳＰＩインタフェース１８０ｃは、ステップＳ１１５において、エラーレジスタのエラー値として正常値が書き込まれると、ステップＳ２０１でレジスタ制御部１８３ｃが更新通知信号ＲＦＳを出力する。そして、ステップＳ２０２の第２の回路形式解析ステップにおいて、回路形式解析部２０が更新通知信号ＲＦＳに応じて回路構成制御値に基づき規定される前記現在の回路構成が複数のアンプにより構成される計装アンプであることを検出する。このステップＳ２０２で、現在の回路構成が計装アンプであると判断された場合（ステップＳ２０２のＹＥＳの枝）、ステップＳ２０３のリセットコマンド生成ステップをソフトリセットコマンド発生回路２１が実行する。このリセットコマンド生成ステップでは、現在の回路構成制御値の更新時に合わせて回路構成制御値を初期状態とするリセットコマンドを生成する。これにより、ＡＦＥ部１００の回路は初期状態となる。一方、のステップＳ２０２で、現在の回路構成が計装アンプでないと判断された場合（ステップＳ２０２のＮＯの枝）、ステップＳ２０３のリセットコマンド生成ステップ実行せずに、ステップＳ１１６で制御レジスタ１８１の回路構成制御値を更新する。
【０１９３】
上記説明より、実施の形態６の半導体装置では、コンフィギュラブル・アンプの回路構成を計装アンプから他のアンプに切り替える際に、一端回路構成を初期状態に戻した後にと制御レジスタ１８１の回路構成制御値を更新する。計装アンプから他の回路構成（例えば、個別アンプを独立して動作させる回路構成）に切り替えた場合、コマンドにより、動作させる対象の回路の構成は変更されても、他の回路の構成が計装アンプの状態で維持される。そのため、計装アンプの状態が維持される他の回路の経路がオープンになり回路の動作が不安定になることがある。しかし、実施の形態６のＳＰＩインタフェース１８０ｃでは、計装アンプから他の回路構成に切り替える際には一度初期状態に戻した後に対象の回路の設定を行うため、他の回路の動作が不安定になることがない。
【０１９４】
また、ＳＰＩインタフェース１８０ｃの回路形式解析部２０における解析処理を回路形式解析部１２に行わせることも可能である。そこで、実施の形態６のＳＰＩインタフェース１８０ｃの別の形態となるＳＰＩインタフェース１８０ｄのブロック図を図４６に示す。
【０１９５】
図４６に示すように、変形例となるＳＰＩインタフェース１８０ｄでは、回路形式解析部１２ｄが、回路形式解析部１２の処理に加えて、回路形式解析部２０の処理も行う。つまり、回路形式解析部１２ｄは、制御レジスタ１８１の回路構成制御値に基づき解析した回路構成が計装アンプであった場合には、ソフトリセットコマンド発生回路２１にリセットコマンドの生成を指示する。
【０１９６】
このような構成とすることで、ＳＰＩインタフェース１８０ｄは、ＳＰＩインタフェース１８０ｃと同等の動作を行うことが可能でありながら、回路規模を小さくすることができる。
【０１９７】
実施の形態７
実施の形態７のＳＰＩインタフェース１８０ｅのブロック図を図４７に示す。図４７に示すように、ＳＰＩインタフェース１８０ｅは、実施の形態１のＳＰＩインタフェース１８０の回路形式解析部１２に代えて、回路形式解析部１２ｅを有する。
【０１９８】
回路形式解析部１２ｅは、データスタック１８２に格納された複数のコマンド中に回路構成コマンドが含まれていない場合に、制御レジスタ１８１に格納された回路構成制御値を参照してデータスタック１８２に格納された複数のコマンドにより決定される更新後回路構成を特定する。
【０１９９】
ここで、実施の形態７のＳＰＩインタフェース１８０ｅの動作について説明する。図４８に、実施の形態７のＳＰＩインタフェース１８０ｅの動作を示すフローチャートを示す。図４８に示すように、実施の形態７の回路形式解析部１２ｅによる動作は、実施の形態１のＳＰＩインタフェース１８０の動作（図３１）のステップＳ１１１の前に行われる。
【０２００】
より具体的には、ＳＰＩインタフェース１８０ｅでは、ステップＳ１１１の回路構成特定処理の前に実施する、ステップＳ１３１の処理において、データスタック１８２中に回路形式設定値を含む回路形式設定コマンドがあるか否かを判断する。そして、ステップＳ１３１においてデータスタック１８２に回路形式設定コマンドがあると判断された場合（ステップＳ１３１のＹＥＳの枝）、ステップＳ１３２においてデータスタック１８２から回路形式設定コマンドを取得する。一方、ステップＳ１３１においてデータスタック１８２に回路形式設定コマンドがないと判断された場合（ステップＳ１３１のＮＯの枝）、制御レジスタ１８１から回路形式設定値に対応する回路構成制御値を取得する。実施の形態７では、ステップＳ１３１からステップＳ１１１までの処理が第１の回路形式解析ステップとなる。
【０２０１】
上記説明より、実施の形態７の半導体装置では、回路形成設定値を送信することなく、マルチプレクサの選択先及び回路特性値の少なくとも一方のみを更新した場合においても回路構成エラー検出部１１による回路構成のエラー検出処理を行うことができる。
【０２０２】
実施の形態８
実施の形態８のＳＰＩインタフェース１８０ｆのブロック図を図４９に示す。図４９に示すように、ＳＰＩインタフェース１８０ｆは、実施の形態１のＳＰＩインタフェース１８０に使用端子検出部３０、端子構成解析部３１及び比較器３２を追加したものである。また、図４９では、ＡＦＥ部１００に入力信号を与える複数の外部入力端子（図４９のＭＰＸＩＮ１０〜ＭＰＸＩＮ６０）も示した。
【０２０３】
使用端子検出部３０は、外部入力端子に接続されるセンサ素子の有無を判定して端子状態通知信号を出力する。端子構成解析部３１は、第３の回路形式解析部であって、端子状態通知信号に基づき利用可能な回路形式を特定する。比較器３２は、回路形式解析部１２が特定した更新後の回路形式と、端子構成解析部３１が特定した回路形式とが不一致であった場合にエラー値を有するエラーコードを出力する。このエラーコードは、エラーレジスタ１０に格納される。また、比較器３２は、回路形式解析部１２が出力する回路形成信号ＡＣＳに基づき回路形式解析部１２が特定した変更後の回路形式を取得する。
【０２０４】
ここで、使用端子検出部３０には、外部入力端子毎に接続素子検出回路３３を有する。そこで、この接続素子検出回路３３の構成について説明する。図５０に、接続素子検出部の回路図を示す。
【０２０５】
図５０に示すように、接続素子検出回路３３は、プルアップ抵抗Ｒｐｕと、バッファ３４とを有する。プルアップ抵抗Ｒｐｕは外部入力端子と内部回路とを接続する入力配線と電源端子との間に接続される。バッファ３４は、入力配線の電圧をモニタし、入力配線の電圧が電源電圧とほぼ等しいレベルであれば、対応する外部入力端子にセンサが接続されていないことを示す端子状態通知信号（例えば、ロウレベルの信号）を出力する。また、バッファ３４には、予め閾値電圧が設定されており、入力配線の電圧値が閾値電圧より低ければ、対応する外部入力端子にセンサが接続されていることを示す端子状態通知信号（例えば、ハイレベルの信号）を出力する。ここで、一般的にセンサは、何らかの電流を消費するためセンサが外部入力端子に接続されることで入力配線の電圧は低下する。
【０２０６】
端子構成解析部３１は、端子構成と回路形式とを対応付けた端子構成データベースを有し、使用端子検出部３０から入力される端子状態通知信号の論理レベルと端子構成データベースとを比較することで使用可能な回路形式を特定する。そこで、この端子構成データベースを説明する表を図５１に示す。
【０２０７】
図５１に示すように、端子構成データベースは、回路形式毎にセンサが接続されるべき外部入力端子を記述したものである。例えば、端子構成解析部３１は、外部入力端子ＭＰＸＩＮ２０、ＭＰＸＩＮ４０、ＭＰＸＩＮ６０に対応する接続素子検出回路３３が出力する端子状態通知信号がハイレベルであれば、使用可能な回路形式として非反転アンプを選択する。そして、端子構成解析部３１は、選択した回路形式を比較器３２に通知する。
【０２０８】
続いて、実施の形態８のＳＰＩインタフェース１８０ｆの動作について説明する。そこで、図５２に実施の形態８のＳＰＩインタフェース１８０ｆの動作を示すフローチャートを示す。
【０２０９】
図５２に示すように、実施の形態８のＳＰＩインタフェース１８０ｆの動作は、実施の形態１のＳＰＩインタフェース１８０の動作にステップＳ３０１〜Ｓ３０４の処理を加えたものである。
【０２１０】
ステップＳ３０１では、端子構成解析部３１が端子状態通知信号により端子接続状態情報を取得し、端子接続情報に基づき使用可能な回路形式を特定する。より具体的には、ステップＳ３０１は、使用端子検出ステップと、第３の回路形式解析ステップとを含む。使用端子検出ステップでは、使用端子検出部３０が外部入力端子に接続されるセンサ素子の有無を判定して端子状態通知信号を出力する。第３の回路形式解析ステップでは、端子構成解析部３１が端子状態通知信号に基づき利用可能な回路形式を特定する。
【０２１１】
続いて、ステップＳ３０２が比較器３２が第１の回路形式解析ステップ（例えば、ステップＳ１１１）で特定された回路形式と、ステップＳ３０１で特定された回路形式とが一致するか否かを判断する。そして、第１の回路形式解析ステップにおいて特定した更新後の回路形式と、第３の回路形式解析ステップにおいて特定した回路形式とが不一致であった場合（ステップＳ３０２のＮＯの枝）にエラー値を有するエラーコードを出力する（ステップＳ３０３）。そして、ステップＳ３０３でエラーフラグがエラー値となったことに応じてレジスタ制御部１８３は、制御レジスタ１８１の回路構成制御値の更新を停止する（ステップＳ３０４）。一方、ステップＳ３０２において、第１の回路形式解析ステップにおいて特定した更新後の回路形式と、第３の回路形式解析ステップにおいて特定した回路形式とが一致したと判断された場合（ステップＳ３０２のＹＥＳの枝）、エラーコードは正常値をなるため、実施の形態１と同様にステップＳ１１２以降の処理が行われる。
【０２１２】
上記説明より、実施の形態８では、センサの接続状態と、ＡＦＥ部１００の回路形式とが異なることによる不具合を防ぐことができる。また、センサは固定的に接続されるものであり、回路形式もセンサに対応したもとすることが通常である。そのため、端子状態から導き出される回路形式と、データスタック１８２に格納された複数のコマンドから導き出される回路形式とに不一致があると言うことは、データスタック１８２に格納された複数のコマンドに誤りが有る可能性がある。しかし、実施の形態８のＳＰＩインタフェース１８０ｆを用いることで、コマンドから導き出される回路構成が誤りであるような不具合を回避することができる。
【０２１３】
実施の形態９
実施の形態９のＳＰＩインタフェース１８０ｇのブロック図を図５３に示す。図５３に示すように、実施の形態９のＳＰＩインタフェース１８０ｇは、実施の形態１のＳＰＩインタフェース１８０に不正コマンド解析部４０を加えたものである。
【０２１４】
不正コマンド解析部４０は、データスタック１８２に格納されている複数のコマンド中に予め規定されたコマンドとは異なる不正コマンドが含まれている場合にエラー値を有するエラーコードを生成する。また、不正コマンド解析部４０は送信されるコマンドの一覧を記述したコマンドデータベースを有する。不正コマンド解析部４０は、コマンドデータベースに記述されたコマンドとデータスタック１８２に格納されたコマンドとを比較して、データスタック１８２に格納されたコマンドにコマンドデータベースのコマンドと不一致なコマンドが有ればエラーコードをエラー値とする。このエラーコマンドは、エラーレジスタ１０に格納される。
【０２１５】
続いて、実施の形態９のＳＰＩインタフェース１８０ｇの動作について説明する。そこで、図５４に実施の形態９のＳＰＩインタフェース１８０ｇの動作を示すフローチャートを示す。
【０２１６】
図５４に示すように、実施の形態９のＳＰＩインタフェース１８０ｇは、実施の形態１のＳＰＩインタフェース１８０の動作に対してステップＳ４０１〜Ｓ４０３の動作を追加したものである。ステップＳ４０１では、受信した複数のコマンド中に予め規定されたコマンドとは異なる不正コマンドが含まれているか否かを判断する。このステップＳ４０１の判断において不正なコマンドがあると判断された場合（ステップＳ４０１のＹＥＳの枝）、不正コマンド解析部４０は、ステップＳ４０２においてエラーレジスタにエラー値を書き込む。このステップＳ４０１とステップＳ４０２の処理が不正コマンド解析ステップである。そして、エラーレジスタ１０にエラー値が書き込まれたことで、レジスタ制御部１８３は、制御レジスタ１８１の回路構成制御値の更新を停止する（ステップＳ４０３）。
【０２１７】
上記説明より、実施の形態９の半導体装置では、回路構成が特定できない不正なコマンドが入力された場合であっても当該不正コマンドが入力されたことをエラーとして検出することができる。
【０２１８】
実施の形態１０
実施の形態１０のＳＰＩインタフェース１８０ｈのブロック図を図５５に示す。図５５に示すように、実施の形態１０のＳＰＩインタフェース１８０ｈは、実施の形態１のＳＰＩインタフェース１８０に緊急通知フラグレジスタ（以下、単にフラグレジスタ５０と称す）及び緊急通知判断部５１を追加し、回路形式解析部１２を回路形式解析部１２ｈに置き換えたものである。
【０２１９】
フラグレジスタ５０は、緊急通知フラグＥＭを格納する。緊急通知判断部５１は、緊急通知フラグが第１の値である場合に、エラーコードが正常値からエラー値に切り替わったことに応じてＭＣＵ部２００にエラー信号を出力する。このエラー信号は、ＭＣＵ部２００において割込要求として扱われるものである。
【０２２０】
また、回路形式解析部１２ｈは、実施の形態１の回路形式解析部１２に緊急通知フラグの生成処理を追加したものである。回路形式解析部１２ｈは、特定した更新後の回路形式が予め設定された緊急通知対象回路形式であった場合に緊急通知フラグを更新後の回路形式が緊急通知を必要としない構成であることを示す第２の値から更新後の回路形式が緊急通知を必要とする回路形式であることを示す第１の値に書き換える。
【０２２１】
続いて、実施の形態１０のＳＰＩインタフェース１８０ｈの動作について説明する。そこで、図５６にＳＰＩインタフェース１８０ｈの動作を示すフローチャートを示す。図５６に示すように、実施の形態１０のＳＰＩインタフェース１８０ｈの動作は、実施の形態１のＳＰＩインタフェース１８０の動作にステップＳ５０１〜Ｓ５０４の処理を追加したものである。
【０２２２】
ステップＳ５０１は、ステップＳ１１１の回路形式解析ステップの処理の後に行われる処理である。ステップＳ５０１では、ステップＳ１１１で特定された更新後の回路形式が緊急通知対象回路形式であるか否かの判断を行う。このステップＳ５０１の判断において、特定された更新後の回路形式が緊急通知対象回路形式であった場合（ステップＳ５０１のＹＥＳの枝）、回路形式解析部１２ｈは、ステップＳ５０２において、緊急通知フラグＥＭを第１の値（例えば、１）とする。その後、ＳＰＩインタフェース１８０ｈは、ＳＰＩインタフェース１８０と同じ動作に従ってステップＳ１１２の禁止条件選択ステップを実行する。一方、ステップＳ５０１の判断において、特定された更新後の回路形式が緊急通知対象回路形式でなかった場合（ステップＳ５０１のＮＯの枝）、回路構成エラー検出部１１は、ステップＳ５０２の処理を行うことなくステップＳ１１２の処理を実行する。
【０２２３】
そして、実施の形態１０の半導体装置は、ステップＳ１１７でエラーレジスタ１０にエラー値が書き込まれたことに応じて、緊急通知判断部５１が緊急通知フラグＥＭが１であるか否かを判断する（ステップＳ５０３）。そして、ステップＳ５０３において、緊急通知フラグＥＭが１であると判断された場合（ステップＳ５０３のＹＥＳの枝）には、ステップＳ５０４において、緊急通知判断部５１がエラー信号をＭＣＵ部２００に出力し、その後に制御レジスタ１８１の更新処理を停止する（ステップＳ１１６）。一方、ステップＳ５０３において、緊急通知フラグＥＭが第２の値（例えば、０）であると判断された場合（ステップＳ５０３のＮＯの枝）には、ステップＳ５０４の処理を行うことなく制御レジスタ１８１の更新処理を停止する（ステップＳ１１６）。
【０２２４】
上記説明より、実施の形態１０の半導体装置は、回路形式に応じてエラーをＭＣＵ部２００に緊急通知するか否かを選択することができる。また、エラー信号を受信したＭＣＵ部２００において割込処理等によるエラー処理を行うことができる。そこで、以下では、実施の形態１０の半導体装置の全体の動作について説明する。図５７に実施の形態１０の半導体装置の動作を示すフローチャートを示す。
【０２２５】
図５７に示すように、実施の形態１０の半導体装置は、ステップＳ１２１でＡＦＥ部１００にコマンドを送信して回路構成を設定した後に、ＭＣＵ部２００にエラー信号の入力があった場合（ステップＳ５１１のＹＥＳの枝）に、ＭＣＵ部２００において割込処理を実施し、ＡＦＥ部１００からエラーコードを取得する（ステップＳ１２６）。そして、ＭＣＵ部２００は、当該エラーコードに応じたエラー処理を行う（ステップＳ１２７）。
【０２２６】
一方、実施の形態１０の半導体装置は、ステップＳ５１１において、ＭＣＵ部２００に対するエラー信号の入力がなかった場合（ステップＳ５１１のＮＯの枝）、実施の形態１と同様にＡＦＥ部１００から測定結果を取得する（ステップＳ１２２）。
【０２２７】
上記説明より、実施の形態１０の半導体装置は、ＡＦＥ部１００の回路形式が予め選択した緊急通知対象回路形式と同じものであれば、即座にエラーの発生をＭＣＵ部２００において認識することができる。このように、即座にエラーの発生を認識することで、実施の形態１０の半導体装置は、エラー処理の速度を高めることができる。
【０２２８】
例えば、センサ２として加速度センサと、照度センサを利用する場合、照度センサについては確認周期が長くなっても大きな問題とはならないが、加速度センサは装置の落下等を検出し、落下に対する耐衝撃処理を実施しなければならない等の理由により、高速なエラー処理（例えば、コマンドの再送信）が必要になる。このような場合に、加速度センサからの測定結果を取得するＡＦＥ部の回路については緊急通知等による早い復帰処理が要求される。このような用途で半導体装置が利用される場合であっても、実施の形態１０にかかる半導体装置であれば対応できる。
【０２２９】
実施の形態１１
上記実施の形態では、ＭＣＵ部２００からＡＦＥ部１００に送信されるコマンドのエラーに起因する誤動作を防止する構成について説明した。実施の形態１１では、ＭＣＵ部２００のメモリ２２０に格納するコマンドについてエラーの発生を防止するための方法について説明する。実施の形態１１で利用されるコマンドは、実施の形態１１の半導体装置１で実行するプログラムの生成工程の一部で生成される。
【０２３０】
そこで、半導体装置１の設計フローについて説明する。図５８に、半導体装置１の設計フローを示すフローチャートを示す。図５８に示すように、半導体装置１の設計フローでは、まず、ＡＦＥ部１００に内蔵される回路のモデルを利用したソフトフェアシミュレーションを実施する（ステップＳ６０１）。このソフトウェアシミュレーションは、独立したコンピュータシステムを用いて実施しても良いし、ネットワークを介して他の場所に配置されたサーバーを利用して実施しても良い。このソフトウェアシミュレーションにおいて、使用予定のセンサと、それに対応するＡＦＥ部１００の回路構成の大まかな値を取得することができる。
【０２３１】
続いて、ボード評価を行う（ステップＳ６０２）。このボード評価では、ステップＳ６０１で得られたコマンドを元により詳細な回路構成を決定する。ボード評価では、ＰＣＢ基板等の評価ボード上に半導体装置１とセンサとを実際に配置し、コンピュータ等の操作装置を用いて半導体装置１を制御し、回路特性の評価を行う。
【０２３２】
続いて、半導体装置１を含む装置を動作させるプログラムコードの作成と、オブジェクトファイルの生成を行う（ステップＳ６０３）。プログラムコードは、例えばＣ言語等のプログラミング言語で書かれたソースの一部にコマンドを記載したものである。オブジェクトファイルは、プログラムコードをコンパイルして作成するバイナリファイルであって、半導体装置１のメモリ２２０に書き込まれるものである。
【０２３３】
続いて、ステップ６０３で生成したオブジェクトファイルを半導体装置１に書き込むことで、半導体装置１の設計が完了する。
【０２３４】
実施の形態１１では、ステップＳ６０３のオブジェクトファイル生成工程において、コマンドの記述ミスを防止するための方法について説明する。そこで、プログラムコードの作成とオブジェクトファイルの生成とを行うコンパイル装置の概要について説明する。図５９にコンパイル装置６の概要を示すブロック図を示す。
【０２３５】
図５９に示したように、コンパイル装置６は、ＣＰＵ６１、入力装置６２、表示装置６３、メモリ６４、ＨＤＤ（Hard Disk Drive）６５、入出力インタフェース６６、ＮＩＣ６７を有する。このコンパイル装置６においてコンパイル処理を行うコンパイルプログラム６５１は、ＨＤＤ６５に格納される。また、ＨＤＤ６１には、プログラムコードファイル６５２（以下、コードファイル６５２と称す）及び生成されるオブジェクトファイル６５３も格納される。
【０２３６】
ＣＰＵ６１は、コンパイルプログラム６５１を読み込んで、コンパイル処理を実施する演算部である。入力装置６２は、ユーザーからの操作を受け付ける入力インタフェースである。表示装置６３は、ユーザーインタフェース画面等を表示する装置である。メモリ６４は、ＣＰＵ６１の処理で利用される中間データ等が格納されるものである。入出力インタフェース６６は、例えば、ＵＳＢインタフェース等のコンパイル装置６の外部インタフェースである。ＮＩＣ６７は、ネットワークインタフェースである。
【０２３７】
コンパイル装置６では、特にコンパイルプログラム６５１による処理に特徴がある。そこで、コンパイルプログラム６５１に基づくコンパイル処理の手順を示すフローチャートを図６０に示す。
【０２３８】
図６０に示すように、コンパイルプログラム６５１は、まず、コードファイル６５２を読み込む読み込み処理を行う（ステップＳ６１１）。続いて、コンパイルプログラム６５１は、読み込んだコードファイル６５２に含まれるコマンドに上記実施の形態で説明した禁止条件に違反する構成が含まれているかを判断する（ステップＳ６１２）。このステップＳ６１２では、上記実施の形態においてハードウェアにて実行していた回路構成エラー検出部１１のエラー検出処理をソフトウェアを用いて実行する。
【０２３９】
そして、ステップＳ６１２の判断処理において、回路構成のエラーが発見されなければ（ステップＳ６１２のＹＥＳの枝）、オブジェクトファイル６５３を生成する（ステップＳ６１３）。一方、ステップＳ６１２の判断処理において、回路構成のエラーが発見された場合（ステップＳ６１２のＮＯの枝）、コンパイルプログラム６５１は、表示装置６３にエラーコード（例えば図２５等に示したエラーコード）を表示して処理を終了する（ステップＳ６１４）。これにより、ユーザーは、コードファイル６５２中のコマンドにより実現される回路構成にエラーが含まれていれば、当該エラー箇所を修正した上で正しいコマンドを含むオブジェクトファイルを作成することができる。
【０２４０】
上記説明より、実施の形態１１にかかるコンパイルプログラム６５１によれば、回路構成にエラーが含まれるコマンドが含まれるオブジェクトファイルが生成されることを防止することができる。このように、書き込むオブジェクトファイルの信頼性を向上させることで、半導体装置１を含むシステムの信頼性を向上させることができる。
【０２４１】
なお、実施の形態１１では、コマンドにエラーが含まれていた場合には、エラーコードを表示して処理を終了する例を示したが、エラーの種類に応じて自動的に修正後のコマンドコードを生成した上でオブジェクトファイルを生成することも可能である。
【０２４２】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ＲＯＭ）、ＥＰＲＯＭ（Erasable  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０２４３】
実施の形態１２
実施の形態１２では、図５８のソフトウェアシミュレーションにおいてエラー箇所を表示することで作業効率を向上させる実施例について説明する。そこでまず、本実施の形態に係る半導体装置１の動作をシミュレーションするためのシミュレーションシステム（設計支援システム）の構成図を図６１に示す。
【０２４４】
図６１に示すように、このシミュレーションシステムは、ネットワーク５を介して通信可能に接続されたユーザ端末３とウェブシミュレータ４とを備えている。ユーザ端末３は、主に、ウェブブラウザ３００、記憶部３０１を有している。ウェブシミュレータ４は、主に、ウェブサーバ４００、シミュレーション制御部４０１、記憶部４０２を有している。
【０２４５】
ネットワーク５は、例えばインターネット等であり、ユーザ端末３とウェブシミュレータ４の間でウェブページ情報が伝送可能なネットワークである。ネットワーク５は、有線ネットワークでもよいし、無線ネットワークでもよい。
【０２４６】
ユーザ端末３のウェブブラウザ３００は、ウェブサーバ４００から受信したウェブページ情報に基づいてウェブページを表示装置に表示する。ウェブブラウザ３００は、ユーザからの操作を受け付け、ユーザの操作に応じてウェブサーバ４００にアクセスし、ウェブシミュレータ４でシミュレーションを実行するためのユーザインタフェースでもある。
【０２４７】
ユーザ端末３の記憶部３０１は、ユーザ端末３の機能を実現するための各種データやプログラム等が記憶される。また、記憶部３０１は、後述のように、半導体装置１の制御レジスタ１８１に設定するためのレジスタ情報をウェブシミュレータ４からダウンロードし記憶する。
【０２４８】
ウェブシミュレータ４のウェブサーバ４００は、ウェブブラウザ３００にウェブシミュレータのウェブサービスを提供するサーバである。ウェブサーバ４００は、ウェブブラウザ３００からのアクセスを受け付け、アクセスに応じてウェブブラウザに表示するためのウェブページ情報を送信する。
【０２４９】
ウェブシミュレータ４のシミュレーション制御部４０１は、センサ及び半導体装置１のシミュレーション機能を実現する。後述のように、ウェブシミュレータ４は、シミュレーション対象であるセンサ及び半導体装置１の回路構成を設定し、シミュレーションに必要なパラメータを設定し、シミュレーションを実行する。
【０２５０】
ウェブシミュレータ４の記憶部４０２は、ウェブシミュレータの機能を実現するための各種データやプログラム等が記憶される。後述のように、記憶部４０２は、選択可能なセンサの情報やセンサに適したバイアス回路の情報、センサ及びバイアス回路に適したアナログ回路の情報等を記憶する。
【０２５１】
ユーザ端末３は、クライアント装置として動作するパーソナルコンピュータなどのコンピュータ装置であり、ウェブシミュレータ４は、サーバ装置として動作するワークステーションなどのコンピュータ装置である。図６２は、ユーザ端末３またはウェブシミュレータ４を実現するためのハードウェア構成の例を示している。なお、ユーザ端末３またはウェブシミュレータ４は、単一のコンピュータでなくとも、複数のコンピュータによって構成することも可能である。
【０２５２】
図６２に示すように、ユーザ端末３またはウェブシミュレータ４は、一般的なコンピュータ装置であり、中央処理装置（ＣＰＵ）３１１とメモリ３１４とを含んでいる。ＣＰＵ３１１とメモリ３１４は、バスを介して補助記憶装置としてのハードディスク装置（ＨＤＤ）３１５に接続される。ユーザ端末３は、ユーザ・インターフェース・ハードウェアとして、例えば、ユーザが入力するためのポインティング・デバイス（マウス、ジョイスティック等）やキーボード等の入力装置３１２や、ＧＵＩ等の視覚データをユーザに提示するためのＣＲＴや液晶ディスプレイなどの表示装置３１３を有している。ウェブシミュレータ４についても、ユーザ端末３と同様にユーザ・インタフェース・ハードウェアを有しても良い。
【０２５３】
ＨＤＤ３１５等の記憶媒体はオペレーティングシステムと協働してＣＰＵ３１１等に命令を与え、ユーザ端末３またはウェブシミュレータ４の機能を実施するためのブラウザプログラムやシミュレーションプログラムを記憶することができる。このプログラムは、メモリ３４にロードされることによって実行される。
【０２５４】
また、ユーザ端末３またはウェブシミュレータ４は、外部装置と接続するための入出力インタフェース（Ｉ／Ｏ）３１６やＮＩＣ（Network Interface Card）３１７を有している。例えば、ユーザ端末３は、入出力インタフェース３１６として半導体装置１等に接続するためのＵＳＢ等を備えている。ユーザ端末３及びウェブシミュレータ４は、ネットワーク５に接続するためのＮＩＣ３１７としてイーサネット（登録商標）カード等を備えている。
【０２５５】
図６３Ａは、ウェブシミュレータ４におけるシミュレーション制御部４０１の機能ブロックと、記憶部４０２に記憶される各種データを示している。なお、図６３Ａは一例であり、後述の図６４の処理や画面表示が実現できればその他の構成であってもよい。
【０２５６】
シミュレーション制御部４０１は、ＣＰＵ３１１がシミュレーションプログラムを実行することでシミュレーションのための各部の機能を実現している。図６３Ａに示すように、シミュレーション制御部４０１は、主に、ウェブページ処理部４１１、回路設定部４１２、パラメータ設定部４１３、シミュレーション実行部４１５、レジスタ情報生成部４１６を有している。さらに、シミュレーション実行部４１５は、物理量変換部（物理量対電気特性換算機能）４５０、自動設定部４５１、過渡解析部４５２、ＡＣ解析部４５３、フィルタ効果解析部４５４、同期検波解析部４５５を有している。
【０２５７】
記憶部４０２は、ＨＤＤ３１５やメモリ３１４により実現されている。図６３Ａに示すように、記憶部４０２は、センサデータベース４２１、センサバイアス回路データベース４２２、コンフィギュラブルアナログ回路データベース４２３、ＡＦＥデータベース４２４、ウェブページ情報記憶部４２５、回路情報記憶部４２６、パラメータ記憶部４２７、結果情報記憶部４２８、レジスタ情報記憶部４２９、入力パターン記憶部４３０を有している。
【０２５８】
センサデータベース４２１は、各種センサのデータシートを格納するデータベースである。センサのデータシートには、センサのタイプ（種類）や特性等の情報が含まれている。センサデータベース４２１には、センサとタイプ及び特性とが関連付けて記憶されている。
【０２５９】
センサバイアス回路データベース４２２は、各種センサで使用可能なバイアス回路（バイアス方法）を格納するデータベースである。バイアス回路の情報として、バイアス回路を構成する素子や、各素子の接続関係、出力端子等の情報が含まれている。センサバイアス回路データベース４２２には、センサとバイアス回路とが関連付けて記憶されている。
【０２６０】
コンフィギュラブルアナログ回路データベース４２３は、センサとセンサバイアス回路に最適なアナログ回路を選択するためのデータベースである。コンフィギュラブルアナログ回路の情報として、半導体装置１のコンフィギュラブル・アンプ１１０の構成や入力端子等の情報が含まれている。コンフィギュラブルアナログ回路データベース４２３には、センサ及びバイアス回路と、コンフィギュラブル・アンプ１１０の構成とが関連付けられている。
【０２６１】
ＡＦＥデータベース４２４は、半導体装置１のデータシートを格納するデータベースである。特に、半導体装置１のＡＦＥ部１００のシミュレーションを行うため、データシートにはＡＦＥ部１００の構成や特性等の情報が含まれている。ＡＦＥデータベース４２４には、半導体装置１とＡＦＥ部１００の構成とが関連付けられている。例えば、ＡＦＥデータベース４２４には、半導体装置１のデータシートが格納されている。
【０２６２】
ウェブページ情報記憶部４２５は、ユーザ端末３のウェブブラウザ３００に各種画面を表示するためのウェブページ情報を記憶する。ウェブページ情報は、後述のように半導体装置１をシミュレーションするためのＧＵＩを含むウェブページ（画面）を表示するための情報である。
【０２６３】
回路情報記憶部４２６は、シミュレーションの対象となる回路の回路情報を記憶する。この回路情報には、センサやバイアス回路、ＡＦＥ部１００の回路素子や各素子の接続関係の情報が含まれている。パラメータ記憶部４２７は、シミュレーション条件として、シミュレーションの実行に必要なパラメータを記憶する。このパラメータには、物理量などの入力情報や回路パラメータ等が含まれている。
【０２６４】
結果情報記憶部４２８は、シミュレーションの実行結果である結果情報を記憶する。この結果情報には、過渡解析、ＡＣ解析、フィルタ効果解析、同期検波解析のシミュレーション結果として、ＡＦＥ部１００の各回路の入出力波形が含まれている。レジスタ情報記憶部４２９は、半導体装置１の制御レジスタ１８１に設定するレジスタ情報（構成情報）を記憶する。入力パターン記憶部４３９は、センサに入力する信号の複数の波形パターンの情報を記憶する。入力パターン記憶部４３９には、入力パターンとして、後述するような正弦波や方形波、三角波、ステップ応答などのパターンが記憶されている。
【０２６５】
ウェブページ処理部（ウェブページ表示部）４１１は、ウェブページ情報記憶部４２５に記憶されたウェブページ情報を、ウェブサーバ４００を介してユーザ端末３へ送信することで、ウェブブラウザ３００にＧＵＩを含むウェブページ（画面）を表示し、さらに、ユーザによるウェブページのＧＵＩへの入力操作をユーザ端末３から受け付ける。
【０２６６】
ウェブページ処理部４１１は、各画面を表示するための表示部を有している。すなわち、ウェブページ処理部４１１は、センサ表示部４１１ａ、バイアス回路表示部４１１ｂ、ＡＦＥ表示部４１１ｃ、入力パターン表示部４１１ｄを有している。センサ表示部４１１ａは、センサデータベース４２１を参照して、ユーザが選択したセンサのタイプに対応する複数のセンサを表示する。バイアス回路表示部４１１ｂは、センサバイアス回路データベース４２２を参照して、選択されたセンサに対応する複数のバイアス回路を表示する。ＡＦＥ表示部（半導体装置表示部）４１１ｃは、ＡＦＥデータベース４２４を参照して、設定された回路構成のコンフィギュラブル・アンプ１１０を有する複数の半導体装置１を表示する。入力パターン表示部４１１ｄは、入力パターン記憶部４３０に記憶されている複数の波形パターンを表示する。
【０２６７】
回路設定部４１２は、ユーザによるウェブページ（画面）の入力操作に応じて、回路情報を生成し、回路情報記憶部４２６に記憶する。回路設定部４１２は、センサ、バイアス回路、半導体装置１の選択に応じて回路情報を生成する。例えば、回路設定部４１２は、センサ選択部４１２ａ、バイアス回路選択部４１２ｂ、ＡＦＥ設定選択部４１２ｃを有している。
【０２６８】
センサ選択部４１２ａは、センサ表示部４１１ａが表示した、センサデータベース４２１に含まれる複数のセンサからユーザ操作により選択されたセンサの情報に基づいて回路情報を生成する。バイアス回路選択部４１２ｂは、バイアス回路表示部４１１ｂが表示した、選択されたセンサに適した複数のバイアス回路からユーザ操作により選択されたバイアス回路の情報に基づいて回路情報を生成する。ＡＦＥ設定選択部（回路構成設定部）４１２ｃは、コンフィギュラブルアナログ回路データベース４２３を参照し、選択されたセンサ及びバイアス回路に適したコンフィギュラブル・アンプ１１０の構成及び接続関係を特定し、回路情報を生成する。また、ＡＦＥ設定選択部（半導体装置選択）４１２ｃは、ＡＦＥ表示部４１１ｃが表示した、ＡＦＥデータベース４２４に含まれる複数の半導体装置１からユーザ操作により選択された半導体装置１の情報に基づいて回路情報を生成する。
【０２６９】
パラメータ設定部４１３は、ユーザによるウェブページ（画面）の入力操作に応じて、シミュレーションを実行するためのパラメータを生成し、パラメータ記憶部４２７に記憶する。パラメータ設定部（入力パターン選択部）４１３は、入力パターン表示部４１１ｄが表示した複数の波形パターンの中からユーザの操作にしたがって選択された、センサに入力される物理量の入力パターンの情報を生成する。
【０２７０】
シミュレーション実行部４１５は、回路情報記憶部４２６及びパラメータ記憶部４２７を参照し、記憶されている回路情報及びパラメータに基づいてシミュレーションを実行する。
【０２７１】
物理量変換部４５０は、センサの入力情報である物理量をセンサ出力の電気信号に変換する。物理量変換部４５０は、パラメータ記憶部４２７を参照し、設定された物理量の入力パターンにしたがい、時系列の順に変動する物理量に対応してセンサの出力信号を生成する。
【０２７２】
自動設定部（回路特性設定部）４５１は、ＡＦＥ部１００の回路特性を自動的に設定し、設定したパラメータをパラメータ記憶部４２７に記憶する。自動設定部４５１は、回路情報記憶部４２６を参照し、設定されたセンサ及びバイアス回路、コンフィギュラブル・アンプ１１０の回路構成において、自動的に適切なコンフィギュラブル・アンプ１１０のゲイン・オフセットを設定する。自動設定部４５１は、コンフィギュラブル・アンプ１１０の動作をシミュレーションし、最適なゲイン・オフセットとなるように、コンフィギュラブル・アンプ１１０のＤＡＣ電圧やゲイン等のパラメータを調整する。
【０２７３】
過渡解析部４５２は、過渡特性を解析するためＡＦＥ部１００の入出力特性をシミュレーションし、シミュレーション結果を結果情報記憶部４２８に記憶する。過渡解析部４５２は、回路情報記憶部４２６及びパラメータ記憶部４２７を参照し、各パラメータをシミュレーション条件として設定された構成の回路動作をシミュレーションし、入出力特性を示す波形を生成する。過渡解析部４５２は、時系列に入力される物理量の入力パターンについて物理量変換部４５０が変換したセンサ出力信号をＡＦＥ部１００の入力信号として、ＡＦＥ部１００の動作をシミュレーションし、ＡＦＥ部１００の各回路の時系列の出力信号を生成する。
【０２７４】
ＡＣ解析部４５３は、ＡＣ特性を解析するためＡＦＥ部１００の周波数特性をシミュレーションし、シミュレーション結果を結果情報記憶部４２８に記憶する。ＡＣ解析部４５３は、回路情報記憶部４２６及びパラメータ記憶部４２７を参照し、各パラメータをシミュレーション条件として設定された構成の回路動作をシミュレーションし、周波数特性を示す波形を生成する。ＡＣ解析部４５３は、周波数ごとに物理量の入力パターンを生成し、物理量変換部４５０が変換したセンサ出力信号をＡＦＥ部１００の入力信号として、ＡＦＥ部１００の動作をシミュレーションし、ＡＦＥ部１００の各回路の周波数ごとの出力信号を生成する。
【０２７５】
フィルタ効果解析部４５４は、フィルタ効果を解析するためノイズが発生する環境におけるＡＦＥ部１００の入出力特性をシミュレーションし、シミュレーション結果を結果情報記憶部４２８に記憶する。フィルタ効果解析部４５４は、回路情報記憶部４２６及びパラメータ記憶部４２７を参照し、各パラメータをシミュレーション条件として設定された構成の回路動作をシミュレーションし、ノイズ環境における入出力特性を示す波形を生成する。フィルタ効果解析部４５４は、時系列に入力される物理量の入力パターンにノイズを付加し、ノイズを付加した信号を物理量変換部４５０が変換したセンサ出力信号をＡＦＥ部１００の入力信号として、ＡＦＥ部１００の動作をシミュレーションし、ＡＦＥ部１００の各回路の時系列の出力信号を生成する。
【０２７６】
同期検波解析部４５５は、同期検波動作を解析するためＡＦＥ部１００の同期検波動作をシミュレーションし、シミュレーション結果を結果情報記憶部４２８に記憶する。同期検波解析部４５５は、回路情報記憶部４２６及びパラメータ記憶部４２７を参照し、各パラメータをシミュレーション条件として設定された構成の回路動作をシミュレーションし、同期検波動作を示す波形を生成する。同期検波解析部４５５は、時系列に入力される物理量の入力パターンと、図１６で示したような同期クロックを入力として、ＡＦＥ部１００の動作をシミュレーションし、ＡＦＥ部１００の各回路の時系列の出力信号を生成する。
【０２７７】
レジスタ情報生成部４１６は、半導体装置１のレジスタ１８１に設定するレジスタ情報を生成し、レジスタ情報記憶部４２９に記憶する。レジスタ情報生成部４１６は、回路情報記憶部４２６及びパラメータ記憶部４２７を参照し、シミュレーション対象として設定されているＡＦＥ部１００の回路構成及び回路特性に応じてレジスタ情報を生成する。
【０２７８】
また、図６３Ｂや図６３Ｃのように、図６３Ａに示したブロックのうちの一部のブロックによりウェブシミュレータ４を構成してもよい。例えば、図６３Ｂに示すように、ウェブシミュレータ４は、図６３Ａの構成のうち少なくとも、センサバイアス回路データベース４２２、センサ選択部４１２ａ、バイアス回路表示部４１２ｂ、バイアス回路選択部４１２ｂ、回路構成設定部（ＡＦＥ設定選択部）４１２ｃ、シミュレーション実行部４１５を備えている。
【０２７９】
すなわち、図６３Ｂでは、センサ選択部４１２ａが、半導体装置１に接続するセンサを選択する。センサバイアス回路データベース４２２が、センサと当該センサにバイアス信号を供給する複数のバイアス回路とを関連付けて記憶し、バイアス回路表示部４１２ｂが、センサバイアス回路データベース４２２を参照して、選択されたセンサに対応する複数のバイアス回路を表示する。バイアス回路選択部４１２ｂが、表示した複数のバイアス回路の中からユーザの操作に従い、選択されたセンサに接続するバイアス回路を選択し選択されたセンサに接続するバイアス回路を選択する。回路構成設定部４１２ｃが、選択されたセンサ及びバイアス回路に接続する半導体装置１の回路構成を設定する。シミュレーション実行部４１５が、選択されたセンサ及びバイアス回路と設定された回路構成の半導体装置１とを接続した接続回路のシミュレーションを実行する。少なくとも、図６３Ｂのようにウェブシミュレータ４を構成することで、センサに応じた複数のバイアス回路から最適なバイアス回路を選択し、効果的にシミュレーションを行うことができる。
【０２８０】
また、図６３Ｃに示すように、ウェブシミュレータ４は、図６３Ａの構成のうち少なくとも、入力パターン記憶部４３０と、回路構成設定部（ＡＦＥ設定部）４１２ｃと、入力パターン表示部４１１ｄと、入力パターン選択部（パラメータ設定部）４１３と、シミュレーション実行部４１５を備えている。
【０２８１】
すなわち、図６３Ｃでは、回路構成設定部４１２ｃが、半導体装置１に接続するセンサに応じて半導体装置１の回路構成を設定する。入力パターン記憶部４３０が、センサに入力する信号の複数の波形パターンを記憶し、入力パターン表示部４１１ｄが、入力パターン記憶部４３０に記憶されている複数の波形パターンを表示する。入力パターン選択部４１３が、表示した複数の波形パターンの中からユーザの操作に従い、センサに入力する信号の波形パターンを選択する。シミュレーション実行部４１５が、選択された波形パターンを入力条件として、センサと設定された回路構成のアナログフロントエンド回路とを接続した接続回路のシミュレーションを実行する。少なくとも、図６３Ｃのようにウェブシミュレータ４を構成することで、センサに入力する波形パターンから所望のパターンを選択し、効果的にシミュレーションを行うことができる。
【０２８２】
次に、図６４を用いて、本実施の形態に係るシミュレーションシステムで実行されるシミュレーション方法について説明する。このシミュレーション方法は、主に図６１〜図６３のウェブシミュレータ４で各処理が実行され、ユーザ端末３の表示装置に画面表示を行うことで実現されるため、以下ではウェブシミュレータ４で実行される処理について説明する。
【０２８３】
図６４のフローチャートは、本実施の形態に係るシミュレーション処理の全体の流れを示している。このシミュレーション処理では、まず、ウェブページ処理部４１１はユーザ端末３にガイダンス画面を表示させる（ステップＳ８０１）。ユーザ端末３のウェブブラウザ３００において、ユーザがウェブシミュレータ４のＵＲＬを指定すると、ウェブブラウザ３００がウェブサーバ４００にアクセスし、ウェブシミュレータ４においてシミュレーションプログラムが起動する。そうすると、ウェブページ処理部４１１は、起動ページであるガイダンス画面のウェブページ情報をユーザ端末３へ送信し、ウェブブラウザ３００にガイダンス画面を表示させる。
【０２８４】
次いで、ウェブページ処理部４１１はユーザ端末３にセンサ選択画面を表示させ、ユーザがセンサを選択する（ステップＳ８０２）。ステップＳ８０１のガイダンス画面において、ユーザがセンサを選択するための操作を行うと、ウェブページ処理部４１１は、センサを選択するためのセンサ選択画面のウェブページ情報をユーザ端末３へ送信し、ウェブブラウザ３００にセンサ選択画面を表示させる。ウェブページ処理部４１１は、ユーザがセンサタイプなどの絞り込み条件（検索条件もしくはフィルタ条件）を指定すると、センサデータベース４２１から絞り込み条件に該当するセンサを抽出し、抽出したセンサのリストをセンサ選択画面に表示する。センサ選択画面において表示されたセンサリストの中からユーザが使用するセンサを選択すると、回路設定部４１２（センサ選択部４１２ａ）は、選択されたセンサをシミュレーション対象の回路として回路情報記憶部４２６に記憶する。
【０２８５】
次いで、ウェブページ処理部４１１はユーザ端末３にバイアス回路選択画面を表示させ、ユーザがバイアス回路を選択する（ステップＳ８０３）。ステップＳ８０２のセンサ選択画面において、ユーザがバイアス回路を設定するための操作を行うと、ウェブページ処理部４１１はバイアス回路選択画面のウェブページ情報をユーザ端末３へ送信し、ウェブブラウザ３００にバイアス回路選択画面を表示させる。ウェブページ処理部４１１は、センサバイアス回路データベース４２２を参照し、ステップＳ８０２で選択したセンサに適した複数のバイアス回路を抽出し、バイアス回路選択画面に表示する。バイアス回路選択画面において表示された複数のバイアス回路の中からユーザがバイアス回路を選択すると、回路設定部４１２（バイアス回路選択部４１２ｂ）は、選択されたバイアス回路をシミュレーション対象の回路として回路情報記憶部４２６に記憶する。
【０２８６】
次いで、ウェブページ処理部４１１はユーザ端末３に物理量入力画面を表示させ、ユーザが物理量を入力する（ステップＳ８０４）。ステップＳ８０２のセンサ選択画面やステップＳ８０３のバイアス回路選択画面において、ユーザがセンサの物理量を入力するための操作を行うと、ウェブページ処理部４１１はユーザがセンサの物理量を入力するための物理量入力画面のウェブページ情報をユーザ端末３へ送信し、ウェブブラウザ３００に物理量入力画面を表示させる。ウェブページ処理部４１１は、センサに入力する物理量を時系列に入力するための複数の入力パターン（入力波形）を物理量入力画面に表示し、ユーザがシミュレーションで使用する入力パターンを選択する。また、ウェブページ処理部４１１は、センサデータベース４２１を参照し、選択されたセンサに応じた物理量の入力範囲を物理量入力画面に表示し、ユーザが物理量の入力範囲を設定する。物理量入力画面において、ユーザがセンサに入力する物理量の入力パターンと入力範囲を入力すると、パラメータ設定部４１３は、入力されたパラメータをパラメータ記憶部４２７に設定する。
【０２８７】
次いで、ウェブページ処理部４１１はユーザ端末３にＡＦＥ選択画面を表示させ、ユーザがＡＦＥ（半導体装置）を選択する（ステップＳ８０５）。ステップＳ８０１のガイダンス画面やステップＳ８０２のセンサ選択画面等において、ユーザが半導体装置１（ＡＦＥ部１００）を選択するための操作を行うと、ウェブページ処理部４１１はユーザが半導体装置１を選択するためのＡＦＥ選択画面のウェブページ情報をユーザ端末３へ送信し、ウェブブラウザ３００にＡＦＥ選択画面を表示させる。
【０２８８】
ウェブページ処理部４１１は、ＡＦＥデータベース４２４を参照し、選択されたセンサ及びバイアス回路に適したコンフィギュラブル・アンプ１１０の構成を含む半導体装置１を抽出する。このとき、コンフィギュラブルアナログ回路データベース４２３を参照し、選択されたセンサ及びバイアス回路に適したコンフィギュラブル・アンプ１１０の構成を決定し、決定した構成のコンフィギュラブル・アンプ１１０を含む半導体装置１を抽出する。さらに、ウェブページ処理部４１１は、ユーザが半導体装置１の構成などの絞り込み条件を指定すると、ＡＦＥデータベース４２４から絞り込み条件に該当する半導体装置１を抽出し、抽出した半導体装置１のリストをＡＦＥ選択画面に表示する。ＡＦＥ選択画面において表示された半導体装置１のリストの中からユーザが使用する半導体装置１（ＡＦＥ部１００）を選択すると、回路設定部４１２（ＡＦＥ設定選択部４１２ｃ）は、選択された半導体装置１のＡＦＥ部１００をシミュレーション対象の回路として回路情報記憶部４２６に記憶する。
【０２８９】
次いで、回路設定部４１２は、コンフィギュラブル・アンプ１１０の構成と接続関係を決定する（ステップＳ８０６）。ステップＳ８０２〜Ｓ８０３でセンサ及びバイアス回路が選択され、ステップＳ８０５で半導体装置１が選択されると、回路設定部４１２は、コンフィギュラブルアナログ回路データベース４２３を参照し、選択されたセンサ及びバイアス回路に適したコンフィギュラブル・アンプ１１０の構成を決定し、センサ及びバイアス回路とコンフィギュラブル・アンプ１１０との接続関係（接続端子）を決定する。回路設定部４１２（ＡＦＥ設定選択部４１２ｃ）は、決定したコンフィギュラブル・アンプ１１０の構成と接続関係の情報を回路情報記憶部４２６に記憶する。
【０２９０】
ここで、ステップＳ８０６では、回路情報記憶部４２６にコンフィギュラブル・アンプ１１０の構成と接続関係情報を格納する前に、上記実施の形態の回路構成エラー検出部１１で実施していたエラー検出処理を行う。そして、このエラー検出処理において、エラーが発見された場合、表示装置３１２に表示箇所を明示したＧＵＩ画面を表示する（ステップＳ８２１）。
【０２９１】
このＧＵＩ画面の一例を図６５に示す。図６５に示すように、ＧＵＩ画面では、エラー箇所を示す信号パスが強調表示されると共に、画面下部にエラーコードとエラー内容が表示される。また、ＧＵＩ画面には、エラー箇所に対する処理として「修正」と「無視」との選択を行うボタンが配置される。ユーザーは、「修正」ボタンを選択すると、エラー箇所を修正することができる。また、ユーザーは、「無視」ボタンを選択することで、エラー箇所があっても処理をステップＳ８０７に進めることができる。
【０２９２】
なお、ステップＳ８０６において、エラーが検出されなかった場合には、エラーが無かったととがユーザーに通知されると共に、ステップＳ８０７に処理を進めることが可能になる。
【０２９３】
次いで、ウェブページ処理部４１１はユーザ端末３にセンサＡＦＥ接続画面を表示させ、ユーザがセンサとＡＦＥ（半導体装置１）とを接続する（ステップＳ８０７）。ステップＳ８０５のＡＦＥ選択画面において、ユーザがセンサと半導体装置１を接続するための操作を行うと、ウェブページ処理部４１１はユーザがセンサと半導体装置１とを接続するためのセンサＡＦＥ接続画面のウェブページ情報をユーザ端末３へ送信し、ウェブブラウザ３００にセンサＡＦＥ接続画面を表示させる。ウェブページ処理部４１１は、選択されたセンサ及びバイアス回路の出力端子と、選択された半導体装置１（ＡＦＥ部１００）の入力端子とを表示し、ユーザがセンサ及びバイアス回路と半導体装置１との接続関係を選択できるように表示する。さらに、デフォルトの接続状態として、ステップＳ８０６で決定した接続関係によりセンサ及びバイアス回路と半導体装置１とを接続するように、接続関係を表示する。センサＡＦＥ接続画面において、ユーザがセンサと半導体装置１との接続関係を選択すると、回路設定部４１２は、選択された接続関係をシミュレーション対象の回路の接続関係として回路情報記憶部４２６に記憶する。
【０２９４】
次いで、自動設定部４５１は、自動設定処理を実行する（ステップＳ８０８）。ステップＳ８０２〜Ｓ８０７でセンサ及びバイアス回路、コンフィギュラブル・アンプ１１０の構成及び接続関係が決定すると、自動設定部４５１は、コンフィギュラブル・アンプ１１０のデフォルト値を自動的に設定するため、自動設定処理を実行する。この自動設定処理の詳細については後述する。自動設定部４５１は、自動設定処理により設定されたコンフィギュラブル・アンプ１１０のＤＡＣ出力やゲイン等のパラメータをパラメータ記憶部４２７に記憶する。
【０２９５】
次いで、シミュレーション実行部４１５は、シミュレーション実行処理を行う（ステップＳ８０９）。Ｓ８０２〜Ｓ８０８でセンサ及びバイアス回路、半導体装置１（ＡＦＥ部１００）の構成及び接続関係が決定すると、シミュレーション実行部４１５はユーザの操作にしたがって過渡解析、ＡＣ解析、フィルタ効果解析、同期検波解析などのためシミュレーションを実行する。このシミュレーション実行処理の詳細については後述する。シミュレーション実行部４１５は、シミュレーション実行処理により得られたシミュレーション結果を結果情報記憶部４２８に記憶する。
【０２９６】
次いで、ウェブページ処理部４１１はユーザ端末３に部品リスト画面を表示させる（ステップＳ８１０）。ステップＳ８０１のガイダンス画面やステップＳ８０９のシミュレーション画面において、ユーザが部品リスト（ＢＯＭ：Bills of Materials）を表示するための操作を行うと、ウェブページ処理部４１１は部品リストを表示するための部品リスト画面のウェブページ情報をユーザ端末３へ送信し、ウェブブラウザ３００に部品リスト画面を表示させる。ウェブページ処理部４１１は、回路情報記憶部４２６を参照し、シミュレーション対象に選択されたセンサ及び半導体装置１を含む部品リストを部品リスト画面に表示する。表示する部品リストは部品の購入サイトにリンクが設定されており、部品リスト画面において、ユーザが部品を選択すると部品の購入サイトにアクセスされ、部品を購入することができる。
【０２９７】
次いで、レジスタ情報生成部４１６は、レジスタ情報を生成する（ステップＳ８１１）。ステップＳ８０２〜Ｓ８０９で半導体装置１（ＡＦＥ部１００）の回路構成及びパラメータ（回路特性）が決定すると、レジスタ情報生成部４１６は半導体装置１のレジスタ１８１に設定するためのレジスタ情報を生成する。レジスタ情報生成部４１６は、回路情報記憶部４２６及びパラメータ記憶部４２７を参照して半導体装置１の回路構成及びパラメータに基づいてレジスタ情報を生成し、生成したレジスタ情報をレジスタ情報記憶部４２９に記憶する。レジスタ情報はレポート画面に表示されるため、ステップＳ８１１のレジスタ情報の生成は、レポート画面の表示までに実行されていればよい。
【０２９８】
次いで、ウェブページ処理部４１１はユーザ端末３にレポート画面を表示させる（ステップＳ８１２）。ステップＳ８０１のガイダンス画面やステップＳ８０９のシミュレーション画面等において、ユーザがシミュレーション結果を出力するための操作を行うと、ウェブページ処理部４１１はシミュレーション結果を含むレポート画面のウェブページ情報をユーザ端末３へ送信し、ウェブブラウザ３００にレポート画面を表示させる。ウェブページ処理部４１１は、結果情報記憶部４２８を参照し、シミュレーション結果をレポート画面に表示する。また、ウェブページ処理部４１１は、回路情報記憶部４２６、パラメータ記憶部４２７、レジスタ情報記憶部４２９を参照し、シミュレーション対象のセンサ及びバイアス回路、半導体装置１の回路構成、接続関係、パラメータを表示し、半導体装置１のレジスタ情報も表示する。さらに、レポート画面において、ユーザの操作に応じてレジスタ情報をユーザ端末３へダウンロードすることができる。
【０２９９】
上記説明より、実施の形態１２にかかるシミュレータでは、回路構成が上記実施の形態で説明した禁止条件に違反していることを検出して、エラーコードと共にエラー箇所をＧＵＩ画面上に表示する。これにより、ユーザーは誤った回路構成でシミュレーションを実行することがないため、設計工程の時間を短くすることができる。
【０３００】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【０３０１】
１  半導体装置
２  センサ
３  ユーザ端末
４  ウェブシミュレータ
５  ネットワーク
６  コンパイル装置
１０  エラーレジスタ
１１  回路構成エラー検出部
１２、１２ｂ、１２ｄ、１２ｅ、１２ｈ、２０  回路形式解析部
１３、１３ａ  禁止条件選択部
１４  エラー検出部
２１  ソフトリセットコマンド発生回路
３０  使用端子検出部
３１  端子構成解析部
３２  比較器
３３  接続素子検出回路
３４  バッファ
４０  不正コマンド解析部
５０  フラグレジスタ
５１  緊急通知判断部
６１  ＣＰＵ
６２  入力装置
６３  表示装置
６４  メモリ
６５  ＨＤＤ
６５１  コンパイルプログラム
６５２  コードファイル
６５３  オブジェクトファイル
６６  入出力インタフェース
６７  ＮＩＣ
１００  ＡＦＥ（アナログフロントエンド）部
１１０  コンフィギュラブル・アンプ
１１１  オペアンプ
１１２  可変抵抗
１１３  スイッチ
１２０  （同期検波対応）増幅アンプ
１２１  抵抗（可変抵抗、固定抵抗）
１２４  同期検波スイッチ
１２５  固定抵抗
１３０  ローパス・フィルタ
１３１  スイッチング信号生成部
１３２  フィルタ部
１３３  フリップフロップ
１３４  インバータ
１３５  オペアンプ
１３６  スイッチ
１３７  コンデンサ
１３９  可変電源
１４０  ハイパス・フィルタ
１４１  スイッチング信号生成部
１４２  フィルタ部
１４３  フリップフロップ
１４４  インバータ
１４５  オペアンプ
１４６  スイッチ
１４７  コンデンサ
１４９  可変電源
１５０  可変レギュレータ
１５１  オペアンプ
１５２、１５３  トランジスタ
１５４  固定抵抗
１５５  可変抵抗
１６０  温度センサ
１６１  オペアンプ
１６２  電流源
１６３  ダイオード
１６４  固定抵抗
１７０  汎用アンプ
１８０、１８０ａ〜１８０ｈ  ＳＰＩインタフェース
１８１  制御レジスタ
１８２  データスタック
１８３、１８３ａ〜１８３ｃ  レジスタ制御部
１８４  シリアルパラレル変換回路
１８５  パラレルシリアル変換回路
１９０  計装アンプ
１９１  （コンパレータ内蔵）高速計装アンプ
１９２  オペアンプ
１９３  可変抵抗
１９４  固定抵抗
２００  ＭＣＵ部
２１０  ＣＰＵコア
２２０  メモリ
２３０  オシレータ
２４０  タイマ
２５０  入出力ポート
２６０  Ａ／Ｄコンバータ
２７０  ＳＰＩインタフェース
３００  ウェブブラウザ
３０１  記憶部
３１１  ＣＰＵ
３１２  入力装置
３１３  表示装置
３１４  メモリ
３１５  ＨＤＤ
３１６  入出力インタフェース
３１７  ＮＩＣ
４００  ウェブサーバ
４１０  シミュレーション制御部
４１１  ウェブページ処理部
４１２  回路設定部
４１２ａ  センサ選択部
４１２ｂ  バイアス回路選択部
４１２ｃ  ＡＦＥ設定選択部
４１３  パラメータ設定部
４１５  シミュレーション実行部
４１６  レジスタ情報生成部
４２０  記憶部
４２１  センサデータベース
４２２  センサバイアス回路データベース
４２３  コンフィギュラブルアナログ回路データベース
４２４  ＡＦＥデータベース
４２５  ウェブページ情報記憶部
４２６  回路情報記憶部
４２７  パラメータ記憶部
４２８  結果情報記憶部
４２９  レジスタ情報記憶部
４５０  物理量変換部
４５１  自動設定部
４５２  過渡解析部
４５３  ＡＣ解析部
４５４  フィルタ効果解析部
４５５  同期検波解析部
ＡＣＳ  回路形式信号
【図１】
2014132418.tif 000003
【図２】
2014132418.tif 000004
【図３】
2014132418.tif 000005
【図４】
2014132418.tif 000006
【図５】
2014132418.tif 000007
【図６】
2014132418.tif 000008
【図７】
2014132418.tif 000009
【図８】
2014132418.tif 000010
【図９】
2014132418.tif 000011
【図１０】
2014132418.tif 000012
【図１１】
2014132418.tif 000013
【図１２】
2014132418.tif 000014
【図１３】
2014132418.tif 000015
【図１４】
2014132418.tif 000016
【図１５】
2014132418.tif 000017
【図１６】
2014132418.tif 000018
【図１７】
2014132418.tif 000019
【図１８】
2014132418.tif 000020
【図１９】
2014132418.tif 000021
【図２０】
2014132418.tif 000022
【図２１】
2014132418.tif 000023
【図２２】
2014132418.tif 000024
【図２３】
2014132418.tif 000025
【図２４】
2014132418.tif 000026
【図２５】
2014132418.tif 000027
【図２６】
2014132418.tif 000028
【図２７】
2014132418.tif 000029
【図２８】
2014132418.tif 000030
【図２９】
2014132418.tif 000031
【図３０】
2014132418.tif 000032
【図３１】
2014132418.tif 000033
【図３２】
2014132418.tif 000034
【図３３】
2014132418.tif 000035
【図３４】
2014132418.tif 000036
【図３５】
2014132418.tif 000037
【図３６】
2014132418.tif 000038
【図３７Ａ】
2014132418.tif 000039
【図３７Ｂ】
2014132418.tif 000040
【図３８】
2014132418.tif 000041
【図３９】
2014132418.tif 000042
【図４０】
2014132418.tif 000043
【図４１】
2014132418.tif 000044
【図４２】
2014132418.tif 000045
【図４３】
2014132418.tif 000046
【図４４】
2014132418.tif 000047
【図４５】
2014132418.tif 000048
【図４６】
2014132418.tif 000049
【図４７】
2014132418.tif 000050
【図４８】
2014132418.tif 000051
【図４９】
2014132418.tif 000052
【図５０】
2014132418.tif 000053
【図５１】
2014132418.tif 000054
【図５２】
2014132418.tif 000055
【図５３】
2014132418.tif 000056
【図５４】
2014132418.tif 000057
【図５５】
2014132418.tif 000058
【図５６】
2014132418.tif 000059
【図５７】
2014132418.tif 000060
【図５８】
2014132418.tif 000061
【図５９】
2014132418.tif 000062
【図６０】
2014132418.tif 000063
【図６１】
2014132418.tif 000064
【図６２】
2014132418.tif 000065
【図６３Ａ】
2014132418.tif 000066
【図６３Ｂ】
2014132418.tif 000067
【図６３Ｃ】
2014132418.tif 000068
【図６４】
2014132418.tif 000069
【図６５】
2014132418.tif 000070