説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
以下、図面を参照して実施の形態について説明する。本実施の形態では、回路形式及び回路構成を変更可能な半導体装置において回路形式及び回路構成を変更する構成及び方法について説明する。なお、以下の説明では、アナログフロントエンド部では、回路形式を変更することでアナログ機能回路を別の機能を実現させ、回路構成を変更することでアナログ機能回路の回路特性及び入出力信号を切り替える。
そこで、本実施の形態に係る半導体装置の理解を助けるため、まず、実施の形態に係る半導体装置について説明する。図1は、本実施形態に係る半導体装置を含むセンサシステムの構成を示している。
図1に示すように、このセンサシステムは、センサ2と、センサに接続された半導体装置1とを備えている。
センサ2には、検出結果に応じた電流を出力する電流出力型センサや、検出結果に応じた電圧を出力する電圧出力型センサ、検出結果に応じて微弱な差動信号出力するセンサなど様々なセンサを利用することが可能である。
半導体装置1は、処理部(例えば、MCU部200)とアナログフロントエンド部(例えば、AFE部100)とを有している。例えば、半導体装置1は、MCU部200の半導体チップと、AFE部100の半導体チップとを1つの半導体装置に搭載したSoC(System-on-a-chip)である。なお、MCU部200とAFE部100とを含む1チップの半導体装置としてもよい。また、MCU部200のみを含む半導体装置と、AFE部100のみを含む半導体装置としてもよい。以下、AFE部100及びMCU部200を含む装置を半導体装置1と称する場合もあり、AFE部100のみ含む装置を半導体装置1と称する場合もある。
MCU部(処理部)200は、AFE部100を介して入力されるセンサ2の測定信号(検出信号)をA/D変換し、検出結果に応じた制御処理を行うマイクロコントローラである。また、MCU部200は、AFE部100の構成及び特性を設定変更するためのコマンドををAFE部100へ出力する。
AFE部(アナログ入力部)100は、センサ2が出力する測定信号に対し、増幅やフィルタリング等のアナログフロントエンド処理を行い、MCU部200で処理可能な信号とするアナログ回路である。また、AFE部100は、図1に示すように、トポロジ(回路形式及び回路構成)が変更可能であり、さらに、パラメータ(回路特性)も変更可能である。
図1の例のように、オペアンプ回路の構成から、I/Vアンプ、減算(差動)アンプ、加算アンプ、反転アンプ、非反転アンプ、計装アンプの構成に変更できる。また、非反転アンプのパラメータ例のように、動作点の変更、利得(ゲイン)の変更、オフセット調整を行うことができる。
図2は、半導体装置1の回路ブロックを示している。図2に示すように、MCU部200は、CPUコア210、メモリ220、オシレータ230、タイマ240、入出力ポート250、A/Dコンバータ260、通信インタフェース(例えば、SPI(Serial Peripheral Interface)インタフェース270)を備えている。なお、MCU部200は、マイクロコントローラの機能を実現するためのその他の回路、例えば、DMAや各種演算回路等を備えている。
CPUコア210は、メモリ220に格納されたプログラムを実行しプログラムに従った制御処理を行う。メモリ220は、CPUコア210で実行するプログラムや各種データを格納する。メモリ220は、各種データの1つとしてAFE部100に含まれる複数のアナログ回路要素により構成される回路の回路形式及び回路構成を指定する複数のコマンドを格納する。オシレータ230は、MCU部200の動作クロックを生成し、また、必要に応じてAFE部100へクロックを供給する。タイマ240は、MCU部200の制御動作に利用される。
入出力ポート250は、半導体装置1の外部の装置とデータ等の入出力を行うためのインタフェースであり、例えば、後述のように外部のコンピュータ装置等と接続可能である。
A/Dコンバータ260は、AFE部100を介して入力されるセンサ2の測定信号をA/D変換する。また、A/Dコンバータ260の電源は、AFE部100から供給されている。
SPI(Serial Peripheral Interface)インタフェース270は、AFE部100とデータ等の入出力を行うためのインタフェースである。なお、SPIインタフェース270は、汎用的なシリアルインタフェースであり、SPIに対応していれば、他のマイクロコントローラ/マイクロコンピュータであっても、AFE部100と接続することができる。
図2の半導体装置1は、汎用的な用途に対応可能な構成となっている。具体的には、様々な種類や特性のセンサを接続できるように、センサ用AFE回路一式を搭載している。すなわち、AFE部100は、コンフィギュラブル・アンプ110、同期検波対応増幅アンプ(増幅アンプともいう)120、SC型ローパス・フィルタ(ローパス・フィルタともいう)130、SC型ハイパス・フィルタ(ハイパス・フィルタともいう)140、可変レギュレータ150、温度センサ160、汎用アンプ170、SPIインタフェース180、を備えている。
コンフィギュラブル・アンプ110は、センサ2等の外部から入力される信号を増幅する増幅回路であり、MCU部200からの制御(例えば、MCU部200から送信されるコマンド)にしたがって回路形式及び特性、動作が設定可能である。コンフィギュラブル・アンプ110は、3chのアンプ、すなわち、3つのアンプを有している。この3つのアンプにより多くの回路構成を実現することができる。
増幅アンプ120は、コンフィギュラブル・アンプ110の出力や、センサ2等の外部から入力される信号を増幅する同期検波対応の増幅回路であり、MCU部200からの制御にしたがって特性、動作が設定可能である。
ローパス・フィルタ130は、コンフィギュラブル・アンプ110や増幅アンプ120の出力、センサ2等の外部から入力される信号に対し、高周波成分を除去し低周波成分を通過させるSC型のフィルタであり、MCU部200からの制御にしたがって特性、動作が設定可能である。ハイパス・フィルタ140は、コンフィギュラブル・アンプ110や増幅アンプ120の出力、センサ2等の外部から入力される信号に対し、低周波成分を除去し高周波成分を通過させるSC型のフィルタであり、MCU部200からの制御にしたがって特性、動作が設定可能である。
可変レギュレータ150は、MCU部200のA/Dコンバータ260へ電圧を供給する可変電圧源であり、MCU部200からの制御にしたがって特性、動作が設定可能である。温度センサ160は、半導体装置1の温度を測定するセンサであり、MCU部200からの制御にしたがって動作が設定可能である。
汎用アンプ170は、センサ2等の外部から入力される信号を増幅するアンプであり、MCU部200からの制御にしたがって動作が設定可能である。SPIインタフェース180は、MCU部200とデータ等の入出力を行うためのインタフェースであり、MCU部200のSPIインタフェース270とSPIバスを介して接続されている。なお、半導体装置1がMCU部200を有さない場合、SPIインタフェース180を半導体装置1の外部端子に接続し、外部端子経由で外部のマイクロコントローラやエミュレータ等とAFE部100とを接続する。
次に、半導体装置1におけるAFE部100の構成について詳細に説明する。図3は、AFE部100の各回路の接続関係を示している。AFE部100は、複数のアナログ回路要素(例えば、アンプ、抵抗、コンデンサ等)と、複数のアナログ回路要素間の接続状態を切り替えるスイッチ回路群(例えば、スイッチ、マルチプレクサを含むスイッチ回路)と、を含む。
SPIインタフェース180は、SPIバスに接続された外部端子(CS、SCLK、SDO、SDI)に接続されて、レジスタ(制御レジスタ)181を有している。MCU部200から、SPIインタフェースを介して、回路の構成・特性を変更するための構成情報(コマンド)が入力され、レジスタ181に格納される。レジスタ181は、AFE部100内の各回路に接続されており、レジスタ181の構成情報に応じてAFE部100内の各回路の構成・特性が設定される。
コンフィギュラブル・アンプ110は、個別アンプAMP1、AMP2、AMP3を有しており、アンプの入出力を切り替えるスイッチSW10〜SW15が接続されている。
個別アンプAMP1は、一方の入力端子がスイッチSW10を介してMPXIN10またはMPXIN11に接続され、他方の入力端子がスイッチSW11を介してMPXIN20またはMPXIN21に接続され、出力端子がAMP1_OUTに接続されている。同様に、個別アンプAMP2は、一方の入力端子がスイッチSW12を介してMPXIN30またはMPXIN31に接続され、他方の入力端子がスイッチSW13を介してMPXIN40またはMPXIN41に接続され、出力端子がAMP2_OUTに接続されている。
また、個別アンプAMP3は、一方の入力端子がスイッチSW14を介してMPXIN50、MPXIN51またはAMP1の出力端子に接続され、他方の入力端子がスイッチSW15を介してMPXIN60、MPXIN61またはAMP2の出力端子に接続され、出力端子がAMP3_OUTに接続されている。AMP1〜AMP3の出力端子は、増幅アンプ120、ローパス・フィルタ130、ハイパス・フィルタ140にも接続されている。
コンフィギュラブル・アンプ110は、レジスタ181の設定値に応じて、スイッチSW10〜SW15が切り替えられて、AMP1〜AMP3の接続構成が変更され、内部の回路形式・特性も後述のように変更される。
図4、図5は、スイッチSW10〜SW15によるAMP1〜AMP3の接続切り替え例である。図4では、レジスタ181の設定により、スイッチSW10,11を切り替えて、AMP1の入力端子をMPXIN10,MPXIN20に接続し、スイッチSW12,13を切り替えて、AMP2の入力端子をMPXIN30,MPXIN40に接続し、スイッチSW14,15を切り替えて、AMP3の入力端子をMPXIN50,MPXIN60に接続する。このように接続することで、AMP1、AMP2、AMP3をそれぞれ独立のアンプとして動作させることができる。
図5では、レジスタ181の設定により、スイッチSW10を切り替えて、AMP1の一方の入力端子をMPXIN10に接続し、スイッチSW13を切り替えて、AMP2の一方の入力端子をMPXIN40に接続し、スイッチSW11、SW12を切り替えて、AMP1の他方の入力端子とAMP2の他方の入力端子とを接続し、スイッチSW14,15を切り替えて、AMP3の一方の入力端子をAMP1の出力端子に接続し、AMP3の他方の入力端子をAMP3の出力端子に接続する。このように接続することで、AMP1〜AMP3を接続した計装アンプを構成することができる
また、図3に示すように、増幅アンプ120には、入力を切り替えるスイッチSW16、SW17が接続されている。増幅アンプ120は、入力端子がスイッチSW16、SW17を介してAMP1〜AMP3の出力端子、または、スイッチSW17を介してGAINAMP_INに接続され、出力端子がGAINAMP_OUTに接続されている。増幅アンプ120の出力端子は、ローパス・フィルタ130、ハイパス・フィルタ140にも接続されている。なお、SW16により、AMP1〜AMP3の出力端子と、外部端子及び増幅アンプとの接続を切り替えてもよい。
ローパス・フィルタ130には、入力を切り替えるスイッチSW18、SW19が接続され、ハイパス・フィルタ140にも、入力を切り替えるスイッチSW18、SW20が接続されている。ローパス・フィルタ130は、入力端子がスイッチSW16、SW17、SW18,SW19を介してAMP1〜AMP3の出力端子、増幅アンプ120の出力端子、SC_IN、またはスイッチSW19を介してハイパス・フィルタ140の出力端子に接続され、出力端子がLPF_OUTに接続されている。ハイパス・フィルタ140は、入力端子がスイッチSW16、SW17、SW18,SW20を介してAMP1〜AMP3の出力端子、増幅アンプ120の出力端子、SC_IN、またはスイッチSW19を介してローパス・フィルタ130の出力端子に接続され、出力端子がHPF_OUTに接続されている。なお、ローパス・フィルタ130、ハイパス・フィルタ140の出力端子と外部端子との間にスイッチを設けて、ローパス・フィルタ130、ハイパス・フィルタ140の出力端子と、外部端子及びSW19、SW20との接続を切り替えてもよい。
増幅アンプ120、ローパス・フィルタ130、ハイパス・フィルタ140は、レジスタ181の設定値に応じて、スイッチSW16〜SW20が切り替えられて、増幅アンプ120、ローパス・フィルタ130、ハイパス・フィルタ140の接続構成が変更され、内部の特性も後述のように変更される。
図6、図7は、スイッチSW17〜SW20による増幅アンプ120、ローパス・フィルタ130、ハイパス・フィルタ140の接続切り替え例である。図6では、レジスタ181の設定により、スイッチSW17を切り替えて、増幅アンプ120の入力端子をAMP1〜AMP3のいずれかの出力端子に接続し、スイッチSW18,SW19を切り替えて、ローパス・フィルタ130の入力端子を増幅アンプ120の出力端子に接続し、スイッチSW20を切り替えて、ハイパス・フィルタ140の入力端子をローパス・フィルタ130の出力端子に接続する。このように切り替えることで、AMP1〜AMP3のいずれか、増幅アンプ120、ローパス・フィルタ130、ハイパス・フィルタ140の順に接続した回路を構成することができる。
図7では、レジスタ181の設定により、スイッチSW17を切り替えて、増幅アンプ120の入力端子をGAINAMP_INに接続し、スイッチSW18、SW20を切り替えて、ハイパス・フィルタ140の入力端子をSC_INに接続し、スイッチSW19を切り替えて、ローパス・フィルタ130の入力端子をハイパス・フィルタ140の出力端子に接続する。このように切り替えることで、増幅アンプ120を1つの独立したアンプとして動作させ、また、ハイパス・フィルタ140、ローパス・フィルタ130の順に接続した回路を構成することができる。
また、図3に示すように、可変レギュレータ150は、出力端子がBGR_OUTとLDO_OUTに接続されている。可変レギュレータは、レジスタ181の設定値に応じて後述のように特性が変更される。
温度センサ160は、出力端子がTEMP_OUTに接続されている。温度センサ160は、レジスタ181の設定値に応じて後述のように特性が変更される。
汎用アンプ170は、一方の入力端子がAMP4_IN_NEに接続され、他方の入力端子がAMP4_IN_POに接続され、出力端子がAMP4_OUTに接続されている。汎用アンプは、1つのオペアンプにより構成されており、レジスタ181の設定値に応じて、電源ON/OFFが設定される。
次に、図8〜図14を用いて、コンフィギュラブル・アンプ110の具体的な回路構成について説明する。
コンフィギュラブル・アンプ110は、センサ出力信号を増幅するためのアンプであり、制御レジスタの設定に応じて、トポロジ(回路形式)を変更できるとともに、パラメータ(回路特性)を変更できる。特性の変更としてゲインを可変に設定することができる。例えば、個別アンプを独立して使用する場合、ゲインを6dB〜46dBまで2dB単位で設定でき、計装アンプとして使用する場合、ゲインを20dB〜60dBまで2dB単位で設定できる。また、スルーレートを可変に設定することもでき、パワーオフ・モードにより電源のオン/オフを切り替えることができる。
図8は、コンフィギュラブル・アンプ110の個別アンプAMP1の回路構成を示している。なお、AMP2、AMP3も同様の構成である。
図8に示すように、個別アンプAMP1は、オペアンプ111を有し、オペアンプ111の各端子に接続される可変抵抗112a〜112d、回路形式制御スイッチ(例えば、スイッチ113a〜113c)、DAC114を有しており、図3のようにマルチプレクサ(スイッチ)SW10、SW11が接続されている。
レジスタ181の設定値に応じて、マルチプレクサSW10、SW11によりオペアンプ111の入力を切り替え、スイッチ113a、113bにより可変抵抗(入力抵抗)112a、112bの有無を切り替え、スイッチ113cによりDAC114の接続を切り替えることができる。なお、オペアンプ111の出力は、図3のようにSW16、SW17、SW18により、増幅アンプ120、ローパス・フィルタ130、ハイパス・フィルタ140との接続が切り替えられる。また、レジスタ181の設定値に応じて、可変抵抗112a、112b、112c、112dの抵抗値、DAC114の設定を変えることで、AMP1のゲイン、動作点、オフセット等を変更することができる。さらに、レジスタ181の設定値に応じて、電源オン/オフを制御できる。また、レジスタ181の設定値に応じて、オペアンプの動作モードを高速モード、中速モード、低速モードに変更することで、スルーレートを制御することができる。
各スイッチ、マルチプレクサの切り替えにより、I/Vアンプ、反転アンプ、減算(差動)アンプ、非反転アンプ、加算アンプを構成することができる。
図9は、I/Vアンプを構成する例である。レジスタ181の設定に応じて、マルチプレクサSW10を切り替えて外部入力端子(MPXIN10)を反転入力端子に接続し、スイッチ113aをオンして可変抵抗112aを短絡する。また、マルチプレクサSW11を切り替えてDAC入力を非反転入力端子に接続し、スイッチ113bをオンして可変抵抗112bを短絡し、113cをオンする。この接続によりI/Vアンプが構成される。また、レジスタ181の設定により、可変抵抗112dの抵抗値を変えることでアンプのゲインを設定する。このI/Vアンプは、外部入力端子から電流型センサの信号が入力されると、入力電流を電圧に変換して出力する。
図10は、減算(差動)アンプを構成する例である。レジスタ181の設定に応じて、マルチプレクサSW10、SW11を切り替えて外部入力端子(MPXIN10)を反転入力端子に接続し、外部入力端子(MPXIN20)を非反転入力端子に接続する。また、スイッチ113a、113bをオフし、スイッチ113cをオンする。この接続により減算アンプが構成される。また、レジスタ181の設定により、可変抵抗112a、112b、112c、112dの抵抗値を変えることでアンプのゲインを設定する。この減算アンプは、外部入力端子から2つの信号(V1,V2)が入力されると、一方の入力電圧から他方の入力電圧を差し引いた電圧(V2−V1)を出力する。
図11は、加算アンプを構成する例である。なお、ここでは、可変抵抗112bと正入力との間にスイッチ113dを有しているものとする。レジスタ181の設定に応じて、マルチプレクサSW10、SW11、スイッチ113dを切り替えて外部入力端子(MPXIN10)と外部入力端子(MPXIN20)を反転入力端子に接続する。また、スイッチ113a、113bをオフし、スイッチ113cをオンする。この接続により加算アンプが構成される。また、レジスタ181の設定により、可変抵抗112a、112b、112dの抵抗値を変えることでアンプのゲインを設定する。この加算アンプは、外部入力端子から2つの信号(V1,V2)が入力されると、一方の入力電圧と他方の入力電圧を加算した電圧(V1+V1)を出力する。
図12は、反転アンプを構成する例である。レジスタの設定に応じて、マルチプレクサSW10を切り替えて外部入力端子(MPXIN10)を反転入力端子に接続し、スイッチ113cをオンにしてDAC114の出力を非反転入力端子に接続する。また、スイッチ113aをオフし、スイッチ113b、113cをオンする。この接続により反転アンプが構成される。また、レジスタ181の設定により、可変抵抗112a、112dの抵抗値を変えることでアンプのゲインを設定し、DACの出力電圧を変えることで、アンプの動作点やオフセットを調整する。この反転アンプは、外部入力端子から電圧型センサの信号が入力されると、入力電圧を反転増幅した電圧を出力する。
図13、非反転アンプを構成する例である。レジスタの設定に応じて、マルチプレクサSW10を切り替えてDAC114の出力を反転入力端子に接続し、マルチプレクサSW11を切り替えて外部入力端子(MPXIN20)を非反転入力端子に接続する。また、スイッチ113a、113cをオフし、スイッチ113bをオンする。この接続により非反転アンプが構成される。また、レジスタ181の設定により、可変抵抗112a、112dの抵抗値を変えることでアンプのゲインを設定し、DACの出力電圧を変えることで、アンプの動作点やオフセットを調整する。この非反転アンプは、外部入力端子から電圧型センサの信号が入力されると、入力電圧を非反転増幅した(入力と同相の)電圧を出力する。
図14は、AMP1〜AMP3により計装アンプを構成する例である。図5で説明したように、レジスタ181の設定に応じて、マルチプレクサ(スイッチ)SW10〜SW15及び図5では示していないスイッチSW00によりAMP1〜AMP3を接続することで、図14の計装アンプを構成できる。なお、各スイッチの図示を省略しているが、AMP1では、スイッチ113bをオンして可変抵抗112bを短絡すると共に、スイッチ113a、113cをオフする。AMP2では、スイッチ113bをオンして可変抵抗112bを短絡すると共に、スイッチ123a、123cをオフする。AMP3では、スイッチ113cをオンしてDAC114を非反転入力端子に接続し、スイッチ143a、143bをオフする。
また、レジスタ181の設定により、AMP3の可変抵抗112a〜112dの抵抗値を変えることで計装アンプのゲインを設定し、DAC114の出力電圧を変えることで、計装アンプの動作点やオフセットを調整する。この計装アンプは、外部入力端子から微弱な差動信号が入力されると、この差動信号を、AMP1、AMP2によりそれぞれ非反転増幅し、さらに、AMP3により差動増幅した電圧を出力する。
次に、図15〜図20を用いて、AFE部100内のその他の回路の具体的な回路構成について説明する。
図15は、増幅アンプ120の回路構成を示している。増幅アンプ120は、同期検波機能に対応しており、入力信号の増幅や同期検波を行う。特性の変更として、増幅アンプ120は、ゲインを可変に設定することができる。例えば、ゲインを6dB〜46dBまで2dB単位で設定できる。また、パワーオフ・モードにより電源のオン/オフを切り替えることができる。
図15に示すように、増幅アンプ120は、オペアンプAMP21、AMP22を有し、オペアンプAMP21、AMP22の各端子に接続される可変抵抗121a、121c、固定抵抗121b、122a、122b、122c及びDAC123を有している。また、図3のようにマルチプレクサ(スイッチ)SW17が接続されている。さらに、同期検波を行うための同期検波制御部として、同期検波スイッチ124、固定抵抗125を有している。
レジスタ181の設定値に応じて、マルチプレクサSW17が制御されて増幅アンプ120の入力を切り替える。また、レジスタ181の設定値に応じて、可変抵抗121a、121cの抵抗値、DAC123の設定を変えることでAMP21のゲイン、AMP21、AMP22の動作点、オフセット等を変更することができる。さらに、レジスタ181の設定値に応じて、オペアンプAMP21,AMP22の電源オン/オフを制御できる。
増幅アンプ120では、AMP1〜AMP3、または外部入力端子から信号が入力されると、AMP21により反転増幅され、さらにAMP22により反転増幅された信号が、GAINAMP_OUTへ出力される。
また、MCU部200から同期クロックCLK_SYNCHが入力され、同期クロックCLK_SYNCHのタイミングで、同期検波スイッチ124の接続が切り替わり、AMP21とAMP22のいずれかの出力信号がSYNCH_OUTへ出力される。
図16は、増幅アンプ120の出力動作を示すタイミングチャートである。図16(a)のように、AMP21は、入力信号の反転信号を出力し、図16(b)のように、AMP22は、さらに反転した信号を出力する。このAMP22の出力信号が、増幅アンプ120の出力としてGAINAMP_OUTへ出力される。
MCU部200は、GAINAMP_OUTに接続されており、GAINAMP_OUTの信号に応じたクロックを生成する。ここでは、図16(c)のように、GAINAMP_OUTが基準値よりもハイレベルの場合に、ハイレベルとなるCLK_SYNCHを生成する。そして、この同期クロックCLK_SYNCHを増幅アンプ120へ供給する。
同期検波スイッチ124は、このCLK_SYNCKに応じて、AMP21、AMP22とSYNCH_OUTとの接続を切り替える。クロックCLK_SYNCHがローレベルの場合、AMP21と接続してAPM21の出力をSYNCH_OUTへ出力し、クロックCLK_SYNCHがハイレベルの場合、AMP22と接続してAMP22の出力をSYNCH_OUTへ出力する。そうすると、図16(d)のように、同期検波し、全波整流された信号が、SYNCH_OUTから出力される。
図17は、ローパス・フィルタ130の回路構成を示している。ローパス・フィルタ130は、カットオフ周波数可変のSC(スイッチトキャパシタ)型ローパス・フィルタであり、入力信号のフィルタリングに用いられる。
ローパス・フィルタ130の特性は、Q値が固定値であり、例えば0.702である。特性の変更として、カットオフ周波数fcを可変に設定することができる。例えば、9Hz〜900Hzまで設定できる。また、パワーオフ・モードにより電源のオン/オフを切り替えることができる。
図17に示すように、ローパス・フィルタ130は、スイッチング信号を生成するスイッチング信号生成部131と、スイッチング信号に応じて入力信号をフィルタリングするフィルタ部132とを有している。
スイッチング信号生成部131は、フリップフロップ133と複数のインバータ134を有している。フィルタ部132は、複数のオペアンプ135を有し、複数のオペアンプ135に接続される複数のスイッチ136、コンデンサ137、DAC138に制御される可変電源139を有している。また、図3のようにマルチプレクサ(スイッチ)SW19が接続されている。
レジスタ181の設定値に応じて、マルチプレクサSW19が制御されてローパス・フィルタ130の入力を切り替える。また、レジスタ181の設定値に応じて、DAC138の設定を変えることで可変電源139を制御し、アンプの動作点、オフセット等を変更することができる。さらに、レジスタ181の設定値に応じて、ローパス・フィルタ130の電源をオン/オフを制御できる。
ローパス・フィルタ130では、スイッチング信号生成部131において、外部からクロックCLK_LPFが入力され、フリップフロップ133とインバータ134によりスイッチング信号Φ1、Φ2が生成される。フィルタ部132において、外部入力端子や増幅アンプ120等から信号が入力されると、3つのオペアンプ135を介して信号が出力され、その際、スイッチング信号Φ1、Φ2によりスイッチ136がオン/オフしてコンデンサ137の接続が切り替わる。そうすると、入力信号のカットオフ周波数よりも高周波成分を除去した信号が出力されることになる。
このカットオフ周波数は、MCU部200により外部から入力されるクロックCLK_LPFにより変更することができる。具体的には、カットオフ周波数fc=0.009×fs(スイッチング周波数 1/2f CLK_LPF)である。
図18は、ハイパス・フィルタ140の回路構成を示している。ハイパス・フィルタ140は、カットオフ周波数可変のSC型ハイパス・フィルタであり、入力信号のフィルタリングに用いられる。
ハイパス・フィルタ140の特性は、Q値が固定値であり、例えば0.702である。特性の変更として、カットオフ周波数fcを可変に設定することができる。例えば、8Hz〜800Hzまで設定できる。また、パワーオフ・モードにより電源のオン/オフを切り替えることができる。
図18に示すように、ハイパス・フィルタ140は、スイッチング信号を生成するスイッチング信号生成部141と、スイッチング信号に応じて入力信号をフィルタリングするフィルタ部142とを有している。
スイッチング信号生成部141は、フリップフロップ143と複数のインバータ144を有している。フィルタ部142は、複数のオペアンプ145を有し、複数のオペアンプ145に接続される複数のスイッチ146、コンデンサ147、DAC148に制御される可変電源149を有している。また、図3のようにマルチプレクサ(スイッチ)SW20が接続されている。
レジスタ181の設定値に応じて、マルチプレクサSW20が制御されてハイパス・フィルタ140の入力を切り替える。また、レジスタ181の設定値に応じて、DAC148の設定を変えることで可変電源149を制御し、アンプの動作点、オフセット等を変更することができる。さらに、レジスタ181の設定値に応じて、ハイパス・フィルタ140の電源をオン/オフを制御できる。
ハイパス・フィルタ140では、スイッチング信号生成部141において、外部からクロックCLK_HPFが入力され、フリップフロップ143とインバータ144によりスイッチング信号Φ1、Φ2が生成される。フィルタ部142において、外部入力端子や増幅アンプ120等から信号が入力されると、3つのオペアンプ145を介して信号が出力され、その際、スイッチング信号Φ1、Φ2によりスイッチ146がオン/オフしてコンデンサ147の接続が切り替わる。そうすると、入力信号のカットオフ周波数よりも低周波成分を除去した信号が出力されることになる。
このカットオフ周波数は、MCU部200により外部から入力されるクロックCLK_HPFにより変更することができる。具体的には、カットオフ周波数fc=0.008×fs(スイッチング周波数 1/2f CLK_HPF)である。
図19は、可変レギュレータ150の回路構成を示している。可変レギュレータ150は、出力電圧を可変にするレギュレータであり、MCU部200のA/Dコンバータ260の基準電源生成回路である。例えば、特性の変更として、可変レギュレータ150は、出力電圧を2.0V〜3.3Vまで、±5%の精度で、0.1V単位で設定することができる。また出力電流は15mAで、出力電源のオン/オフを制御することができる。
図19に示すように、可変レギュレータ150は、オペアンプ151を有し、オペアンプ151の入力側に接続されるバンドギャップリファレンスBGR、オペアンプ151の出力側に接続されるトランジスタ152、153、固定抵抗154、可変抵抗155を有している。
レジスタ181の設定値に応じて、BGRの電圧が設定され、可変抵抗155の抵抗値を変えることで出力電圧が変更できる。さらに、レジスタ181の設定値に応じて、オペアンプ151の電源オン/オフ、トランジスタ153のオン/オフが切り替えられ、出力電圧の出力開始/停止が制御される。
可変レギュレータ150では、BGRの電圧がBGR_OUTから出力される。BGRの電圧と可変抵抗155の電圧に応じてオペアンプ151が動作してトランジスタ152が制御され、固定抵抗154と可変抵抗155の比に応じた電圧が出力される。
図20は、温度センサ160の回路構成を示している。温度センサ160は、半導体装置1の温度を測定するセンサであり、MCU部200がこの測定結果に基づいて温度特性の補正等するために用いることができる。例えば、温度センサ160の特性として、出力温度係数は、−5mV/℃である。また、パワーオフ・モードにより電源のオン/オフを切り替えることができる。
図20に示すように、温度センサ160は、オペアンプ161を有し、オペアンプ161の入力側に接続される電流源162、ダイオード163、オペアンプ161の出力側に接続される固定抵抗164、165を有している。レジスタ181の設定値に応じて、オペアンプ161の電源をオン/オフすることができる。
温度センサ160は、温度に応じてダイオード163の電圧が−2mV/℃で変化し、この電圧をオペアンプ161が非反転増幅して、−5mV/℃として出力する。
このように、半導体装置1は、半導体装置内部のAFE部100の回路構成や特性を可変に設定することができる。このため、一つの半導体装置で様々なセンサ等を接続することができ、多くの応用システム(アプリケーション)で使用することができる。
例えば、コンフィギュラブル・アンプ110の回路構成を、非反転アンプとした場合、電圧出力型のセンサを接続可能であるため、赤外線センサ、温度センサ、磁気センサ等を用いた応用システムに使用できる。一例として、赤外線センサを備えたデジタルカメラ、温度センサを備えたプリンタ、磁気センサを備えたタブレット端末、赤外線センサを備えたエアコン等に使用することができる。
また、コンフィギュラブル・アンプ110の回路構成を、計装アンプとした場合、微弱な差動出力のセンサを接続可能となるため、圧力センサ、ジャイロセンサ、ショックセンサ等を用いた応用システムに使用できる。一例として、圧力センサを備えた血圧計、圧力センサを備えた体重計、ジャイロセンサを備えた携帯電話、ショックセンサを備えた液晶テレビ等に使用することができる。
さらに、コンフィギュラブル・アンプ110の回路構成を、I/Vアンプとした場合、電流出力のセンサを接続可能なため、フォトダイオード、人感センサ、赤外線センサ等を用いた応用システムに使用できる。一例として、フォトダイオードを備えたデジタルカメラ、人感センサを備えた監視カメラ、人感センサを備えた便座、赤外線センサを備えたバーコードリーダ等に使用することができる。
上記説明のように、実施の形態1の半導体装置1は、AFE部に設けられたアナログ回路要素の回路形式及び回路構成を変更することができる。半導体装置1は、MCU部200が内蔵するメモリ220に格納された複数の回路設定コマンド(以下単にコマンドと称す)をAFE部100に送信する。そして、半導体装置1は、AFE部100が受信したコマンドに基づきレジスタ181(以下、制御レジスタ181と称す)に格納された回路構成制御値を更新することでAFE部の回路形式及び回路構成を更新する。このとき、半導体装置1は、受信した複数のコマンドにより回路構成制御値を更新する前に、受信した複数のコマンドにより決定されるアナログ機能回路の更新の回路構成に不正なパスが含まれているか否かを確認するエラー検出処理を行う。これにより、半導体装置1は、メモリ220に格納されたコマンドの値が破壊される、或いは、コマンド送信時にコマンドの値が破壊する等の不具合によるAFE部の誤動作を防止する。
そこで、以下では、実施の形態1の半導体装置1においてコマンドのエラーを検出する構成及び方法についてより詳細に説明する。また、以下では、コマンドのエラーを検出する構成をAFE部100の通信インタフェース(例えば、SPIインタフェース180)内に設けた例について説明するが、コマンドのエラーを検出する構成は、AFE部100の内部に設けられていれば良く、AFE部100内のいずれの場所に配置しても良い。
図21に実施の形態1の半導体装置1のSPIインタフェース180の詳細なブロック図を示す。図21に示すように、SPIインタフェース180は、制御レジスタ181、データスタック182、レジスタ制御部183、シリアルパラレル変換回路184、エラーレジスタ10、回路構成エラー検出部11を有する。
制御レジスタ181は、図3等で示したレジスタである。制御レジスタ181は、複数のアナログ機能回路の現在の構成を規定する回路構成制御値を格納する。この制御レジスタ181は、回路構成データDATとして回路構成制御値が格納される領域のアドレスが予め決められている。そして、一のアドレスに対応する回路構成制御値は、予め決められたスイッチ回路の開閉状態を制御する値、或いは、予め決められた可変抵抗等の回路素子の特性値を指定する値となる。例えば、アドレス"00h"に格納された回路構成制御値は、スイッチ113a〜113b、SW00及びマルチプレクサSW10、SW11の接続状態を制御する。
データスタック182は、MCU部200から送信された複数のコマンドを格納する。このとき、データスタック182は、受信順にコマンドを格納する。このデータスタック182には、コマンドに含まれるアドレスデータADDと回路構成データDATとが格納される。ここで、複数のコマンドは、複数のアナログ機能回路の回路形式を指定する回路形式設定値を少なくとも指定するものである。また、回路構成データDATには、複数のアナログ機能回路の回路形式を指定する回路形式設定値と、アナログ機能回路の回路特性等を指定する回路構成設定値と、が含まれる。
レジスタ制御部183は、MCU部200から送信されるコマンド実行命令Execに応じて、データスタック182に格納された複数のコマンドのそれぞれに含まれる回路構成データDATにより制御レジスタ181の回路構成制御値を更新する。レジスタ制御部183は、エラーレジスタ10に格納されるエラーコードが、データスタック182に格納された複数のコマンドにより決定されるアナログ機能回路の更新後の回路構成にエラーが含まれていない正常値を示す場合に制御レジスタ181の回路構成制御値を更新する。一方、レジスタ制御部183は、エラーレジスタ10に格納されるエラーコードが、アナログ機能回路の更新後の回路構成にエラーが含まれていることを示すエラー値を有する場合には回路構成制御値の更新を停止する。
シリアルパラレル変換回路184は、SPI入力信号(CS、SCLK、SDIを含む信号)を受信し、シリアルデータである入力データSDIをパラレルデータに変換して、データスタック182に与える。この入力データSDIは、動作命令と、アドレスデータADDと、回路構成データDATとが直列に配列された信号である。
パラレルシリアル変換回路185は、AFE部100に設けられるメモリ、或いは、レジスタから与えられたパラレルデータをシリアルデータに変換して、SPI出力信号(SDOを含む信号)を出力する。
半導体装置1は、受信した動作命令がライト命令であった場合、シリアルパラレル変換回路184が入力データSDIに含まれるアドレスデータADDと回路構成データDATをスタック182に書き込む。半導体装置1は、受信した動作命令がリード命令であった場合、入力データに含まれるアドレスデータADDで指定されるレジスタ、或いは、メモリからデータを読み出して、パラレルシリアル変換回路185を用いて出力する。半導体装置1は、受信した動作命令がコマンド実行命令であった場合、レジスタ制御部183にコマンド実行命令Execを与える。
エラーレジスタ10は、エラーコードを格納する。このエラーコードは、回路構成エラー検出部11により値が更新される。データスタック182に格納される複数のコマンドにより決定されるアナログ機能回路の更新後の回路構成が禁止条件に含まれる不正な構成を含む場合、エラーコードはエラー値(例えば、00h、10h等)となる。一方、データスタック182に格納される複数のコマンドにより決定されるアナログ機能回路の更新後の回路構成が禁止条件に含まれる不正な構成を含んでいない場合、エラーコードは正常値(例えば、FFh等)となる。実施の形態1では、このエラーコードは、MCU部200からの求めに応じてMCU部200に送信される。
回路構成エラー検出部11は、データスタック182に格納された複数のコマンドにより決定されるアナログ機能回路の更新後の回路構成が、予め設定した禁止条件を満たす回路構成を含む場合に更新後の回路構成が禁止条件に違反することを示すエラー値を有するエラーコードを生成する。一方、回路構成エラー検出部11は、データスタック182に格納された複数のコマンドにより決定される更新後の回路構成が、予め設定した禁止条件を満たす回路構成を含んでいない場合に正常値を有するエラーコードを生成する。
より具体的には、回路構成エラー検出部11は、第1の回路形式解析部(例えば、回路形式解析部12)、禁止条件選択部13、エラー検出部14を有する。また、実施の形態1の半導体装置1で扱われる複数のコマンドには、更新後のアナログ機能回路の回路形式を指定する回路形式設定値が含まれる。つまり、この回路形式設定値は、回路形式設定コマンドの一部を構成するものである。また、回路形式設定コマンドには、アナログ機能回路に与える入力信号を指定する回路構成設定値も含まれる。なお、回路形式設定値及び回路構成設定値を含む値により回路構成データが構成されるものとする。また、複数のコマンドは、アナログ機能回路の回路特性を設定する他の回路構成設定値も含まれる。
回路形式解析部12は、データスタック182に格納された前記複数のコマンドを参照して前記アナログ機能回路の更新後の回路形式を特定し、特定した更新後の回路形式を示す回路形式信号ACSを出力する。より具体的には、回路形式設定コマンドには、スイッチ113a〜113c、123c〜123b、143a〜143c、SW00の開閉状態を指定する回路形式設定値が含まれる。また、本実施の形態では、回路形式設定コマンドには、マルチプレクサSW10〜SW15が選択する信号を示す回路構成設定値が含まれる。また、回路形式解析部12は、スイッチ113a〜113c、123c〜123b、143a〜143c、SW00(スイッチ123c〜123b、143a〜143c、SW00〜SW02については後述する)の開閉状態の期待値を回路構成毎に規定した回路形式データベースを有する。そして、回路形式解析部12は、回路形式設定コマンドに含まれる回路形式設定値と回路形式構成データベースに含まれる期待値とを比較して、回路形式設定値に一致する期待値に対応する回路形式を更新後の回路形式として特定する。
禁止条件選択部13は、禁止される接続状態を回路形式毎に記述した複数の禁止条件から回路形式解析部12により特定された回路形式に対応した禁止条件を選択する。より具体的には、回路形式毎の禁止条件を含む禁止接続データベースを含む。そして、禁止条件選択部13は、禁止接続データベースから更新後の回路形式に対応する禁止条件を選択する。このとき、禁止条件選択部13は、回路形式信号ACSにより示される回路形式に対応する禁止条件を選択する。また、禁止条件選択部13は、選択した禁止条件を禁止条件通知信号によってエラー検出部14に通知する。
なお、実施の形態1では、禁止条件として、マルチプレクサSW10、SW11及びスイッチSW00の設定値が誤っているために回路が正常に動作しない設定条件が含まれる。しかし、禁止条件は、上記条件に限られず、回路が正常に動作しない条件を守株含めることができる。
エラー検出部14は、データスタック182に格納された複数のコマンドを参照して、アナログ機能回路の更新後の回路構成が、禁止条件選択部13により選択された禁止条件を満たす接続状態を含む場合に更新後の回路構成が禁止条件に違反することを示すエラー値を有するエラーコードを生成する。より具体的には、エラー検出部14は、データスタック182に格納された複数のコマンドを参照して、禁止条件通知信号により示された禁止条件に一致する回路構成が含まれているか否かを判定する。そして、エラー検出部14は、禁止条件に一致する回路構成があればエラーコードをエラー値とする。
続いて、実施の形態1の半導体装置1の動作について具体例を挙げて説明する。ここでは、AFE部100の回路のコンフィギュラブル・アンプ110を実施の形態1の半導体装置1における制御対象回路の1つとして説明する。そこで、コンフィギュラブル・アンプ110の具体的な回路図を図22に示す。図22に示す例は、個別アンプAMP1〜AMP3をそれぞれ反転アンプとして構成し、3chの反転アンプを実現するものである。
図22に示すように、コンフィギュラブル・アンプ110は、個別アンプAMP1〜AMP3を有する。そして、コンフィギュラブル・アンプ110は、マルチプレクサSW10〜SW15の選択先と、スイッチ113a〜113c、123a〜123c、143a〜143cの開閉状態と、を切り替えることで、反転アンプ、非反転アンプ、差動(減算)アンプ、I/Vアンプ、計装アンプの5種類の回路構成を実現することができる。なお、抵抗112b、122b、142bの一端を各アンプの正入力入力端子に接続するか、負入力端子に接続するかを切り替えるスイッチ112d、112d、142dを設けることで加算アンプを実現することができる。また、コンフィギュラブル・アンプ110の個別アンプAMP1〜AMP3は、それぞれほぼ同一の回路構成を有する。そこで、図22では、個別アンプAMP1に付随する可変抵抗及びスイッチに対応する個別アンプAMP2、AMP2の抵抗及びスイッチに、個別アンプAMP1と同じルールに従った符号を付した。例えば、可変抵抗112aに対応する可変抵抗に122a、142aの符号を付した。
また、図22では、禁止条件の1つである信号経路を太い破線で示した。図22に示しめした禁止条件は、アナログ機能回路(例えば、個別アンプAMP1)の回路形式が反転アンプであった場合に、マルチプレクサSW11が外部入力を選択する回路構成値となるものである。
続いて、実施の形態1の半導体装置1で扱われるコマンドを説明する表を図23に示す。図23に示す表では、コンフィギュラブル・アンプ110を構成する個別アンプAMP1〜AMP3の回路形式及び回路構成を指定する回路形式設定コマンドのみを示した。なお、アナログフロントエンド部100に与えられるコマンドには、個別アンプのゲインを設定するコマンド、フィルタの特性を設定するコマンド、電源のオンオフを設定するコマンド等の回路特性を設定するコマンドも含まれる。
図23に示すように、回路形式設定コマンドは、アドレスデータADDとなるアドレス値と、回路形式設定値及び回路構成設定値が8ビットデータとして含まれる。より具体的には、8ビットのデータのうち上位3ビットが回路形式設定値であり、下位5ビットが回路構成設定値になる。SPIインタフェースを介して入力される入力データSDIには、このアドレス値と8ビットのデータとが含まれる。図23で示す表のアドレス値は、制御レジスタ181のアドレスを示すものである。
図23に示す例では、回路形式設定コマンドとして、個別アンプAMP1〜AMP3の回路形式を指定する回路形式設定コマンドを示した。個別アンプAMP1の回路形式を指定する回路形式設定コマンドは、アドレス00hが指定され、スイッチ113a〜113cの開閉状態を指定する回路形式設定値と、スイッチSW00の開閉状態を指定する回路構成値と、マルチプレクサSW10、SW11が選択する入力信号を指定する回路構成設定値と、が含まれる。個別アンプAMP2の回路形式を指定する回路形式設定コマンドは、アドレス01hが指定され、スイッチ123a〜123cの開閉状態を指定する回路形式設定値と、マルチプレクサSW12、SW13が選択する入力信号を指定する回路構成設定値と、が含まれる。個別アンプAMP3の回路形式を指定する回路形式設定コマンドは、アドレス02hが指定され、スイッチ143a〜143cの開閉状態を指定する回路形式設定値と、マルチプレクサSW14、SW15が選択する入力信号を指定する回路構成設定値と、が含まれる。
また、図24に、回路形式データベースの内容を説明する表を示す。図24では、個別アンプAMP1に対応した回路形式データベースのみを示したが、個別アンプAMP2、AMP3等に関しても同様のデータベースが設けられている。図24に示すように、個別アンプAMP1の回路形式データベースは、データスタック182に格納された設定値の上位3ビットの期待値を有する。この期待値は、回路形式毎に異なる値となる。また、回路形式データベースでは、期待値に対応して回路形式が規定されている。
回路形式解析部12は、回路形式データベースを参照して、図23に示した回路形式設定コマンドに含まれる回路形式設定値と、回路形式データベースに格納された期待値と、を比較して、回路形式設定値と一致する期待値に対応する経路形式をアナログ機能回路(例えば、個別アンプAMP1)の更新後の回路形式として特定する。例えば、回路形式解析部12は、スイッチ113aがオフであり、スイッチ113b、113cがオン状態であれば、個別アンプAMP1の更新後の回路形式が反転アンプであると特定する。
続いて、実施の形態1の半導体装置1で利用される禁止条件を含む接続禁止データベースについて説明する。実施の形態1では、外部入力端子に異常電流が発生する信号パス及び回路が正常に動作しない接続状態を禁止条件とする。そのため、実施の形態1で利用する接続禁止データベースには、回路構成毎に禁止される信号パスが形成されるスイッチの開閉状態を記述した禁止条件を含める。
そこで、図25〜図28に禁止条件の具体例を示し、この禁止条件について説明する。なお、図25〜図28に示す実施の形態1の禁止接続データベースでは異常状態に対応したエラーコードが定義されている。なお、本実施の形態では、禁止条件は、更新後のアナログ機能回路に含まれる信号パスに直流電流が流れる可能性があるスイッチ回路群の接続状態を規定した直流電流パス条件を含む。エラー検出部14は、検出したエラーに対応するエラーコードをエラー値としてエラーレジスタ10に格納する。
まず、図25に個別アンプAMP1の回路形式を反転アンプとした場合の禁止条件を説明する回路図及び表を示す。図25に示すように、回路形式を反転アンプとした場合、正常な状態では、マルチプレクサSW10は外部入力、マルチプレクサSW11はDAC入力となる。また、正常な状態では、スイッチ113aはオフとなり、スイッチ113b、113cはオンとなる。
そして、禁止条件は、上記スイッチの開閉状態となっている状態で異常な状態となるスイッチの開閉状態が記述される。図25に示す例では、3個の禁止条件が記述される。回路形式設定コマンドの下位5ビットが1xxxx(xはdon't care)となってしまた場合、マルチプレクサSW00がオンするため、個別アンプAMP2からの信号が回り込む不具合が生じる。この場合、エラー検出回路14は、エラーコードとして00hを出力する。回路形式設定コマンドの下位5ビットがx11xxとなってしまった場合、マルチプレクサSW10がDAC入力となるため、反転アンプの入力がなくなる不具合が生じる。この場合、エラー検出回路14は、エラーコードとして01hを出力する。回路形式設定コマンドの下位5ビットがxxx01となってしまった場合、マルチプレクサSW11が外部入力となるため、外部端子とDAC114との間に直流電流が流れるDCパスが形成され、異常電流が流れる不具合が生じる。この場合、エラー検出回路14は、エラーコードとして02hを出力する。
続いて、図26に個別アンプAMP1の回路形式を非反転アンプとした場合の禁止条件を説明する回路図及び表を示す。図26に示すように、回路形式を非反転アンプとした場合、正常な状態では、マルチプレクサSW10はDAC入力、マルチプレクサSW11は外部入力となる。また、正常な状態では、スイッチ113a、113cはオフとなり、スイッチ113bはオンとなる。
そして、禁止条件は、上記スイッチの開閉状態となっている状態で異常な状態となるスイッチの開閉状態が記述される。図26に示す例では、3個の禁止条件が記述される。回路形式設定コマンドの下位5ビットが1xxxxとなってしまった場合、マルチプレクサSW00がオンするため、個別アンプAMP2からの信号が回り込む不具合が生じる。この場合、エラー検出回路14は、エラーコードとして10hを出力する。回路形式設定コマンドの下位5ビットがx01xxとなってしまった場合、マルチプレクサSW10が外部入力となるため、基準電圧が定まらない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして11hを出力する。回路形式設定コマンドの下位5ビットがxxx11となってしまった場合、マルチプレクサSW11がDAC入力となるため、入力信号が入力されない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして12hを出力する。
続いて、図27に個別アンプAMP1の回路形式を差動アンプとした場合の禁止条件を説明する回路図及び表を示す。図27に示すように、回路形式を差動アンプとした場合、正常な状態では、マルチプレクサSW10、SW11は外部入力となる。また、正常な状態では、スイッチ113a、113bはオフとなり、スイッチ113cはオンとなる。
そして、禁止条件は、上記スイッチの開閉状態となっている状態で異常な状態となるスイッチの開閉状態が記述される。図27に示す例では、3個の禁止条件が記述される。回路形式設定コマンドの下位5ビットが1xxxxとなってしまった場合、マルチプレクサSW00がオンするため、個別アンプAMP2からの信号が回り込む不具合が生じる。この場合、エラー検出回路14は、エラーコードとして20hを出力する。回路形式設定コマンドの下位5ビットがx11xxとなってしまった場合、マルチプレクサSW10がDAC入力となるため、差動アンプとして機能しない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして21hを出力する。また、回路形式設定コマンドの下位5ビットがxxx11となってしまった場合、マルチプレクサSW11がDAC入力となるため、差動アンプとして機能しない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして22hを出力する。
続いて、図28に個別アンプAMP1の回路形式をI/Vアンプとした場合の禁止条件を説明する回路図及び表を示す。図28に示すように、回路形式をI/Vアンプとした場合、正常な状態では、マルチプレクサSW10は外部入力、マルチプレクサSW11はDAC入力となる。また、正常な状態では、スイッチ113a〜113cはオンとなる。
そして、禁止条件は、上記スイッチの開閉状態となっている状態で異常な状態となるスイッチの開閉状態が記述される。図28に示す例では、3個の禁止条件が記述される。回路形式設定コマンドの下位5ビットが1xxxxとなってしまった場合、マルチプレクサSW00がオンするため、個別アンプAMP2からの信号が回り込む不具合が生じる。この場合、エラー検出回路14は、エラーコードとして30hを出力する。回路形式設定コマンドの下位5ビットがx11xxとなってしまった場合、マルチプレクサSW10がDAC入力となるため、入力信号が入力されない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして31hを出力する。回路形式設定コマンドの下位5ビットがxxx01となってしまった場合、マルチプレクサSW10が外部入力となるため、異常電流が流れる不具合が生じる。この場合、エラー検出回路14は、エラーコードとして32hを出力する。
なお、上記説明では、回路形式毎に3つの禁止条件を示したが、禁止条件は、図25〜図28に示した条件に限られず、不具合が生じる構成を種々設定することができる。また、図25〜図28では、個別アンプAMP2、AMP3についても、図25〜図28で示した禁止条件が設定される。
続いて、実施の形態1のSPIインタフェース180の動作について説明する。そこで、まず、SPIインタフェース180の通信タイミングを示すタイミングチャートを図29に示す。
SPIインタフェース180は、MCU部200とAFE部100との間のインタフェースであり、AFE部100の設定、すなわち制御レジスタ181の書き込みと、AFE部100内のレジスタに格納されたデータの読み出しと、書き込んだコマンドに基づく回路構成の変更処理の実行と、を行う。ここでは、SPIクロック周波数は10MHzであり、通信データ量は16ビット、通信方向はMSBである。
図29に示すように、SPIインタフェース180では、チップセレクトCS(反転信号)、シリアルクロックSCLK(反転信号)、シリアルデータ入力SDIが、MCU部200からAFE部100へ入力され、シリアルデータ出力SDOが、AFE部100からMCU部200へ出力される。
SPIインタフェース180では、チップセレクトCSがローレベルとなると、シリアルクロックSCLKに同期して各ビットが入出力される。MCU部200は、R/W/Eにレジスタ181のリード命令、ライト命令及びコマンド実行命令を示すビットを設定し、A1〜A6に、リード/ライトする制御レジスタ181のアドレスを設定する。
R/W/Eがライト命令(例えば、00)の場合、MCU部200は、D0〜D7にレジスタへ書き込むデータを設定する。R/W/Eがリード命令(例えば、10)の場合、AFE部200は、D0〜D7にAFE部100内のレジスタから読み出したデータを設定する。R/W/Eがコマンド実行命令(例えば、11)の場合、MCU部200は、A0〜A7及びD0〜D7は特に指定しない。
AFE部100は、SDIでR/W/E、A1〜A6が入力されると、クロックSCLKの立ち上りエッジのタイミング(t1)でSDIのサンプリングを開始し、タイミングt2で、命令とアドレスをラッチする。タイミングt2の後、D7〜D0クロックSCLKの立下りエッジのタイミング(タイミングt3)で送信データを1ビットシフトして設定する。さらに、チップセレクトCSのタイミング(t4)でデータをラッチする。
実施の形態1の半導体装置1では、図29で示したタイミングチャートに従ってコマンドを1つずつMCU部200からAFE部100に送信する。実施の形態1の半導体装置1では、1つの回路構成の設定を複数のコマンドを用いて行う。そこで、半導体装置1のコマンド送信手順を示すフローチャートを図30に示す。図30に示すフローチャートは、個別アンプAMP1を反転アンプとするための手順である。AFE部100において他の回路構成を実現する場合には、回路構成毎に送信するコマンドが異なるが、1つの回路構成を実現するために複数のコマンドを要する点については同じである。
図30に示すように、個別アンプAMP1を反転アンプとする場合、MCU部200は、ステップS101〜S105において1つずつコマンドを送信する。ステップS101では、回路形式設定コマンドを送信して回路形式設定レジスタの設定を行う。ステップS102では、アンプ動作モード設定コマンドを送信してアンプ動作モード設定レジスタの設定を行う。ステップS103では、アンプゲイン設定コマンドを送信してアンプゲイン設定レジスタを設定する。ステップS104では、パワーオン設定コマンドを送信してパワーオン設定レジスタを設定する。そして、ステップS105においてコマンド実行命令を入力する。これにより、AFE部100は、回路構成を、ステップS101〜S104で入力されたコマンドに基づく回路構成に更新する。
ここで、半導体装置1では、回路形式毎にコマンドの送信順序が規定される。これは、データスタック182にはコマンドが受信順に格納され、受信したコマンドに基づく制御レジスタ181の回路構成制御値の更新は、データスタック182に格納された順に行われるためである。
また、回路形式解析部12は、データスタック182に格納されているコマンドを常時監視し、回路形式設定コマンドにより回路形式設定値が入力されたことに応じてアナログ機能回路の更新後の回路形式を特定する。これにより、コマンド実行命令が入力された時点において、エラー検出部14は、エラー検出処理を完了させることができる。また、コマンド実行命令が入力された時点において、エラー検出処理を完了させておくことで、コマンド実行命令の入力タイミングに対して遅延させることなく回路形式を更新することができる。
続いて、実施の形態1のSPIインタフェース180の動作について説明する。そこで、図31にSPIインタフェース180の動作を示すフローチャートを示す。なお、半導体装置1は、図31に示したフローチャートの処理を行うのと同時にコマンドを受信するコマンド受信ステップを実行する。
そして、図31に示すように、SPIインタフェース180は、回路形式解析部12が、データスタック182に格納されたコマンドのアドレス値を参照して、回路形式設定値を読み込む。次いで、ステップS111において、回路形式解析部12は、回路形式設定コマンドにより指定された回路形式設定値に基づき更新後の回路形式を特定する。次いで、ステップS112において、禁止条件選択部13が特定された更新後の回路形式に対応する禁止条件を接続禁止データベースから選択する。次いで、ステップS113において、エラー検出部14がステップS112で選択された禁止条件とデータスタック182に格納された回路形式設定値と、を比較する。次いで、ステップS114において、エラー検出部14が禁止条件に含まれる回路構成がデータスタック182に格納された回路構成設定値から導き出される回路構成中にあるか否かについて判断を行う。
そして、ステップS114の判断ステップにおいて、禁止条件で示される回路構成に合致する信号経路が更新後の回路構成にあると判断された場合(ステップS114のNOの枝)、ステップS117において、エラー検出部14がエラーレジスタにエラーコードとしてエラー値(例えば、00h等の値)を書き込む。また、エラーコードがエラー値である場合、ステップS118において、レジスタ制御部183は、制御レジスタ181の回路構成制御値を現在の値で維持する。つまり、ステップS118では、レジスタ制御部183は、制御レジスタ181の回路構成制御値をデータスタック182に格納された回路形成設定値及び回路構成設定値により更新することは行わない。
一方、ステップS114の判断ステップにおいて、禁止条件で示される回路構成に合致する回路構成が更新後の回路構成にないと判断された場合(ステップS114のYESの枝)、ステップS115において、エラー検出部14がエラーレジスタにエラーコードとして正常値(例えば、FFh)を書き込む。そして、ステップS116において、レジスタ制御部183は、制御レジスタ181の回路構成制御値をデータスタック182に格納された回路形式設定値及び回路構成設定値により更新する。
上記説明おいて、ステップS111〜S115及びS117の処理が、回路構成エラー検出部11によるエラー判定ステップである。つまり、エラー判定ステップでは、AFE部100が受信した複数のコマンドにより決定される更新後回路構成が予め設定した禁止条件を満たす場合に更新後回路構成が禁止条件を満たすエラー状態であることを示すエラー値を有するエラーコードを生成する。また、ステップS118の処理が、回路設定禁止ステップである。つまり、回路設定禁止ステップでは、エラーコードがエラー値を有する場合には、回路構成制御値を複数のコマンドによらず維持する。また、S116の処理が、回路設定更新ステップである。つまり、回路設定更新ステップでは、エラーコードがアナログ機能回路の更新後の回路構成が禁止条件を満たさないことを示す正常値であった場合にはアナログ機能回路の現在の回路構成を規定する回路構成制御値を複数のコマンドにより更新する。
また、エラー判定ステップは、複数のステップを含む。より具体的には、ステップS111が回路形式解析部12による第1の回路形式解析ステップである。第1の回路形式解析ステップでは、アナログフロントエンド部が受信した複数のコマンドに含まれる回路形式設定値に基づきアナログ機能回路の更新後の回路形式を特定する。また、ステップS112は、禁止条件選択部13による禁止条件選択ステップである。禁止条件選択ステップでは、禁止される接続状態を回路形式毎に記述した複数の禁止条件から回路形式解析ステップにより特定された回路形式に対応した禁止条件を選択する。なお、実施の形態1では、禁止条件選択ステップにおいて、第1の回路形式解析ステップで特定された更新後の回路形式に基づき接続禁止データベースから禁止条件を選択する。また、ステップS113、S114、S117は、エラー検出部14によるエラー検出ステップである。エラー検出ステップでは、データスタック182に格納された複数のコマンドを参照して、アナログ機能回路の更新後の回路構成が禁止条件選択ステップにより選択された禁止条件を満たす接続状態を含む場合に、更新後の回路構成が禁止条件に違反することを示すエラー値を有するエラーコードを生成する。
続いて、実施の形態1の半導体装置1の全体の動作について説明する。そこで、図32に実施の形態1の半導体装置1の動作を示すフローチャートを示す。
図32に示すように、半導体装置1は、ステップS121において、MCU部200からAFE部100にコマンドを送信してAFE部100の回路形式を含む回路構成を設定する。これにより、AFE部100の回路形式及び回路構成が確定する。そして、ステップS122において、AFE部100からセンサによる測定結果を取得する。
その後、ステップS123において、MCU部200が、取得した測定結果と測定想定範囲とを比較して、測定結果が測定想定範囲内にある否かを判断する。このステップS123の判断において、測定結果が測定想定範囲内であった場合(ステップS123のYESの枝)、ステップS124において、MCU部200は測定結果に対する情報処理を行う。そして、ステップS125において、MCU部200は、回路構成を変更するプログラムコードがMCU部200のCPUにて実行されたか否かを判断する。このステップS125において、回路構成を変更するプログラムコードが実行されていないと判断された場合(ステップS125のNOの枝)、MCU部200は、引き続きAFE部100からセンサの測定結果を取得する。また、ステップS125において、回路構成を変更するプログラムコードが実行されたと判断された場合(ステップS125のYESの枝)、MCU部200は、再度ステップS121の回路構成の設定処理を行う。
一方、ステップS123の判断ステップにおいて、測定結果が測定想定範囲外であった場合(ステップS123のNOの枝)、ステップS126において、MCU部200はAFE部100からエラーコードを取得する。そして、ステップS127において、MCU部200は、取得したエラーコードに応じたエラー処理を行う。図32に示す例では、ステップS127でMCU部200は、エラー処理として再度ステップS121の回路構成の設定処理を行う。
上記説明より、実施の形態1の半導体装置1は、MUC部200から送信されるコマンドに基づき決定される更新後回路構成が本来想定していない禁止条件を満たす構成を有するか否かを判断する回路構成エラー検出部11を有する。そして、半導体装置1では、回路構成エラー検出部11においてエラーが検出された場合には、レジスタ制御部183が制御レジスタ181の回路構成制御値の更新を停止する。これにより、例えば、MCU部200のメモリ220上でコマンドを構成するデータにビット誤りが生じた場合、或いは、データ転送時にコマンドを構成するデータにビット誤りが生じた場合などであっても、当該ビット誤りにより更新後の回路に不具合が生じることを防止することができる。
また、実施の形態1の半導体装置1は、回路構成エラー検出部11でエラーが検出された場合には、エラーコードをエラー値とする。これにより、MCU部200は、AFE部100から取得した測定結果に異常があった場合には、回路構成の設定処理においてエラーが生じたことを知ることができる。また、MCU部200は、エラーが生じたことに応じて適切なエラー処理を行うことができる。
このように、回路構成の変更時に生じるエラーを検出することで、半導体装置1は、信頼性を高めることができる。また、回路構成の変更時に生じるエラーを検出することで、半導体装置1は、AFE部100を誤った回路構成で使用し続けるこを防止することができる。回路構成を動的に再構成可能な半導体装置1においては、回路構成の変更時にエラーが生じる可能性が固定された回路構成を有する回路に比べて高く、回路構成の変更時に生じるエラーを検出することの効果は大きい。
また、実施の形態1の半導体装置1では、禁止条件の1つとして直流的に入力外部端子とアナログ回路要素の出力(例えば、DAC出力)とが接続される経路が形成されるスイッチの条件を設定した。半導体装置1では、外部入力端子にセンサが接続される。このセンサに直流電圧が印加された場合、センサの特性劣化、或いは、センサの破壊等の不具合が生じる。しかし、実施の形態1の半導体装置1では、外部入力端子に直流電圧が印加される経路が形成されることを防止することができるため、コマンドのビット誤りに起因する誤動作からセンサを保護することができる。
実施の形態2
実施の形態2では、加算アンプについて回路構成のエラーを検出する対象とした場合の構成について説明する。この実施の形態2では、SPIインタフェース180の構成は実施の形態1と同じであるため、ここでは説明を省略する。一方、実施の形態2では、実施の形態1とは回路形式設定コマンドが異なる。そこで、以下の説明では、回路設定コマンド(或いは、回路形式設定値)の違いについてより詳細に説明する。
加算アンプは、図11に示すように、他の回路形式を実現する個別アンプAMP1にスイッチ113dが追加されている。加算アンプを指定する回路形式設定値は、4ビットの値にスイッチ113dの開閉状態を指定する回路形式設定値を有する。そこで、図33に加算アンプの回路構成に対応した回路形式設定コマンドの例を示す。また、図34に加算アンプの回路構成に対応した回路形式データベースの例を示す。
図33に示すように、実施の形態2に係る回路形式設定コマンドにより指定される設定値では、上位4ビットに回路形式設定値が規定され、下位5ビットに回路構成設定値が規定される。また、図34に示すように、回路形式データベースは、回路形式毎に4ビットの期待値を有する。この期待値は、回路形式設定値のビット数を同じビット数を有し、スイッチ113a〜113dの期待値を示すものもである。
続いて、図35に個別アンプAMP1の回路形式を加算アンプとした場合の禁止条件を説明する回路図及び表を示す。図35に示すように、回路構成を加算アンプとした場合、スイッチ113dが追加される。回路構成を非反転アンプとした場合、正常な状態では、マルチプレクサSW10、SW11は外部入力となる。また、正常な状態では、スイッチ113a、113bはオフとなり、スイッチ113cはオンとなり、スイッチ113dは正入力に接続される。
そして、禁止条件は、上記スイッチの開閉状態となっている状態で異常な状態となるスイッチの開閉状態が記述される。図35に示す例では、3個の禁止条件が記述される。回路形式設定コマンドの下位5ビットが1xxxxとなってしまった場合、マルチプレクサSW00がオンするため、個別アンプAMP2からの信号が回り込む不具合が生じる。この場合、エラー検出部14は、エラーコードとして40hを出力する。回路形式設定コマンドの下位5ビットがx11xxとなってしまった場合、マルチプレクサSW10がDAC入力となるため、加算アンプとして機能しない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして41hを出力する。また、回路形式設定コマンドの下位5ビットがxxx11となってしまった場合、マルチプレクサSW11がDAC入力となるため、加算アンプとして機能しない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして41hを出力する。
上記説明より、実施の形態2では、加算アンプを指定する回路形式設定値について説明したが、回路形式設定コマンド及び個別アンプの回路構成を加算アンプに対応したものとすることで、加算アンプにも対応することができる。
実施の形態3
実施の形態3では、個別アンプAMP1〜AMP3を用いて計装アンプを構成する場合の回路形式データベースの期待値及び禁止接続データベースの禁止条件について説明する。この実施の形態3では、SPIインタフェース180の構成は実施の形態1と同じであるため、ここでは説明を省略する。一方、実施の形態3では、実施の形態1とは回路形式データベース上の期待値と禁止接続データベース上の禁止条件が異なる。そこで、以下の説明では、回路形式データベースの期待値と、禁止条件について詳細に説明する。
まず、図36に、実施の形態3にかかる回路形式データベースを説明するための表を示す。また、図37Aに個別アンプAMP1〜AMP3を用いて計装アンプを構成した場合の禁止条件を説明する回路図を示す。図37Aに示すように、計装アンプでは、個別アンプAMP1〜AMP3を用いて構成される。また、計装アンプではスイッチSW00がオン状態となる。
そのため、図36に示すように、計装アンプに対応する期待値は、個別アンプAMP1〜AMP3の回路形式設定値(例えば、回路形式設定コマンドの上位3ビット)に加えて、個別アンプAMP1の回路形式設定コマンドの4ビット目に規定されるスイッチSW00の設定値を回路形式設定値として用いる。なお、回路形式解析部12は、スイッチSW00に対応するデータスタック182上の設定値を参照して、個別アンプAMP1〜AMP3の回路形式設定値を一体の回路形式設定値として判断すべきか否かを決定する。
そのため、実施の形態3にかかる回路形式データベースでは、計装アンプについての期待値は、スイッチSW00が1に設定され、個別アンプAMP1のスイッチ113a、113cはオフ、スイッチ113bはオン、個別アンプAMP2、AMP3のスイッチ123a、123cはオフ、スイッチ123bはオン、個別アンプAMP3のスイッチ143a、143bはオフ、スイッチ143cはオンに設定される。
上記期待値に基づき回路構成が決定された場合、図37Aに示すように、コンフィギュラブル・アンプ110は、正常な状態では、マルチプレクサSW10、SW12は遮断状態、マルチプレクサSW11、SW13は外部入力、マルチプレクサSW14はアンプ1出力、マルチプレクサSW15はアンプ2出力となる。また、正常な状態では、スイッチ113a、113c、123a、123c、143a、143bはオフとなり、スイッチ113b、123b、143cはオンとなる。また、計装アンプでは、スイッチSW00、SW02がオン、スイッチSW01がオフとなる。
また、図36では、計装アンプ以外の回路形式に対応する期待値も示した。例えば、個別アンプAMP1〜AMP3を3チャンネルの反転アンプとして利用する場合は、スイッチSW00が0に設定され、いずれの個別アンプの期待値が同じ値に設定される。また、3つの個別アンプにより、2チャンネルのI/Vアンプと1チャンネルの反転アンプを構成することもできる。
続いて、計装アンプの禁止条件について説明する。図37Bに計装アンプの禁止条件を説明する表を示す。図37Bに示すように、計装アンプの禁止条件は、上記スイッチの開閉状態となっている状態で異常な状態となる回路構成が記述される。図37Bに示す例では、11個の禁止条件が記述される。個別アンプAMP1に対応する回路形式設定コマンドの下位5ビットの値が1xxxxとなってしまった場合、マルチプレクサSW00がオンするため、ケイ素南婦の出力が不定になる不具合が生じる。この場合、エラー検出回路14は、エラーコードとして50hを出力する。個別アンプAMP1に対応する回路形式設定コマンドの下位5ビットの値がx01xxとなってしまった場合、マルチプレクサSW10が外部入力となるため、出力にノイズが混入する不具合が生じる。この場合、エラー検出回路14は、エラーコードとして51hを出力する。また、個別アンプAMP1に対応する回路形式設定コマンドの下位5ビットの値がx11xxとなってしまった場合、マルチプレクサSW10がDAC入力となるため、計装アンプとして動作しない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして52hを出力する。個別アンプAMP1に対応する回路形式設定コマンドの下位5ビットの値がxxx11となってしまった場合、マルチプレクサSW11がDAC入力となるため、計装アンプとして動作しない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして53hを出力する。
個別アンプAMP2に対応する回路形式設定コマンドの下位5ビットの値がx01xxとなってしまった場合、マルチプレクサSW12が外部入力となるため、出力にノイズが混入する不具合が生じる。この場合、エラー検出回路14は、エラーコードとして54hを出力する。また、個別アンプAMP2に対応する回路形式設定コマンドの下位5ビットの値がx11xxとなってしまった場合、マルチプレクサSW12がDAC入力となるため、計装アンプとして動作しない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして55hを出力する。個別アンプAMP2に対応する回路形式設定コマンドの下位5ビットの値がxxx11となってしまった場合、マルチプレクサSW13がDAC入力となるため、計装アンプとして動作しない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして56hを出力する。
個別アンプAMP3に対応する回路形式設定コマンドの下位5ビットの値がx11xxとなってしまった場合、マルチプレクサSW14がDAC入力となるため、出力が出ない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして57hを出力する。個別アンプAMP3に対応する回路形式設定コマンドの下位5ビットの値がx01xxとなってしまった場合、マルチプレクサSW14が外部入力となるため、出力が出ない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして58hを出力する。個別アンプAMP3に対応する回路形式設定コマンドの下位5ビットの値がxxx11となってしまった場合、マルチプレクサSW15がDAC入力となるため、出力が出ない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして59hを出力する。個別アンプAMP3に対応する回路形式設定コマンドの下位5ビットの値がxxx01となってしまった場合、マルチプレクサSW15が外部入力となるため、出力が出ない不具合が生じる。この場合、エラー検出回路14は、エラーコードとして60hを出力する。
上記説明より、実施の形態3では、複数の個別アンプを用いて計装アンプを構成する場合であっても、回路形式データベース及び禁止条件を追加するのみで回路構成のエラーを検出可能な構成について説明した。実施の形態1にかかる半導体装置を用いることで、回路構成エラー検出部11等の回路構成を変更することなく様々な回路形式のエラーを検出出来ることがわかる。
実施の形態4
実施の形態4では、回路形式設定コマンドとして、個別アンプの回路形式を切り替えるスイッチ(例えば、スイッチ113a〜113c、123a〜123c、143a〜143c)の設定値を個別に指定することなく、これらのスイッチの数よりも少ないビット数の回路形式設定値を含むものについて説明する。
そこで、図38に、実施の形態4にかかるSPIインタフェース180aのブロック図を示す。図38に示すように、SPIインタフェース180aは、実施の形態1のSPIインタフェース180をレジスタ制御部183aに置き換え、回路構成エラー検出部11から回路構成解析部12を除くと共に、禁止条件選択部13を禁止条件選択部13aに置き換えたものである。
禁止条件選択部13aは、実施の形態4にかかる回路構成コマンドに含まれる回路設定値のいずれのビットが1であるかに応じて禁止接続データベースから禁止条件を選択する。
レジスタ制御部183aは、実施の形態4にかかる回路形式設定コマンドに基づき制御レジスタ181の回路構成制御値を更新する場合に、回路形式設定コマンドの回路形式設定値をデコードして、制御レジスタ181のアドレス00h〜02hの回路構成制御値を書き換える。
ここで、実施の形態4において利用される回路形式設定コマンドについて説明する。図39に実施の形態4にかかるコマンドを説明する表を示す。また、図40に実施の形態4にかかる回路形式設定コマンドの内容を説明する表を示す。
図39に示すように、実施の形態4では、回路形式設定コマンドと、マルチプレクサSW10〜SW15が選択する入力信号を指定する回路構成設定コマンドと、が別に設けられる。回路形式設定コマンドは、アドレス00hを指定し、3ビットの回路形式設定値を有する。また、回路構成設定コマンドは、アドレス01h或いはアドレス01hを指定し、マルチプレクサが選択する入力信号をそれぞれ2ビットの値で指定する。
そして、図40に示すように、実施の形態4では、回路形式設定コマンドの回路形式設定値のいずれのビットが1となっているかに応じて指定する回路形式を特定する。例えば、回路形式設定値CONFIGが001であった場合、回路形式として反転アンプが指定される。
上記説明より、実施の形態4では、回路形式設定コマンドがスイッチの開閉状態を個別に指定することなく回路形式を指定することができる。そのため、回路構成解析部12を用いることなく更新後回路構成を特定するとができる。これにより、実施の形態4の半導体装置は、回路構成特定処理を必要とせず、短時間で更新後回路構成に応じた禁止条件を選択することができる。
実施の形態5
実施の形態5では、回路形式設定値のエラーに対する耐性向上させる為の構成について説明する。実施の形態5にかかるSPIインタフェース180bのブロック図を図41に示す。なお、実施の形態5の説明において実施の形態1の構成要素と同じ構成要素については、実施の形態1と同じ符号を付して説明を省略する。
図41に示すように、SPIインタフェース180bは、実施の形態1のレジスタ制御部183をレジスタ制御部183bに置き換え、回路構成エラー検出部11の回路形式解析部12を回路構成解析部12bに置き換えたものである。また、実施の形態5にかかるSPIインタフェース180bに対しては、エラー耐性を向上させる回路形式設定値を他ビット化した回路形式設定コマンドを用いる。
そこで、SPIインタフェース180bの詳細について説明する前に、実施の形態5にかかる半導体装置で用いられる回路形式設定コマンド及び回路形式設定値の期待値について説明する。
図42に実施の形態5の半導体装置で利用される回路形式設定コマンドを説明するための表を示す。図42に示す例では、この回路形式設定コマンドに含まれる回路形式設定値のうちスイッチ113cに対応する値が1ビットから3ビットに拡張されている。この3ビットの値はそれぞれ同一値が設定されるものである。つまり、実施の形態5では、回路形式設定値が、アナログ機能回路の回路形式を切り替える回路形式制御スイッチ(例えば、スイッチ113a〜113c)のそれぞれに対応した複数のスイッチ切替値を含み、複数のスイッチ切替値のうちの少なくとも1つは同一値が3ビット以上連続した冗長スイッチ切替値である。図42に示す例では、個別アンプAMP1に対応する回路形式設定値は、スイッチ113a〜113cに対応した3つのスイッチ切替値を含み、このスイッチ切替値のうちスイッチ113cが同一値が3ビット以上連続した冗長スイッチ切替値である。
また、図43に実施の形態5の半導体装置で利用される回路形式データベースを説明するための表を示す。図43に示すように、回路形式データベースには、回路形式設定値にエラーがない場合の回路形式設定値が設定される。図43では、反転アンプを指定する回路形式設定値と、非反転アンプを指定する回路形式設定値と、の2つの期待値を示した。詳しくは後述するが、回路形式解析部12bは、データスタック182に格納された回路形式設定値と、回路形式データベースの期待値とのハミング距離を算出して、当該ハミング距離に基づき更新後の回路形式を特定する。そこで、実施の形態5では、異なる形式を指定する回路形式設定値の間のハミング距離が3以上離れるように回路形式設定値が規定される。
実施の形態5にかかる半導体装置では、上記回路形式設定値に基づき回路形式を更新する。そこで、レジスタ制御部183b及び回路形式解析部12bは、以下のような特徴を有する。
レジスタ制御部183bは、冗長スイッチ切替値(例えば、スイッチ113cの開閉状態を指定する回路形式設定値)に対しては、多数決処理を行い、多数決処理において数が多いと判断された値をスイッチ切替値として制御レジスタ181に出力する。また、回路形式解析部12bは、回路形式設定値との間のハミング距離が最も近い期待値に対応する回路形式を更新後のアナログ機能回路の回路形式として特定する。
ここで、ハミング距離について説明する。ハミング距離は、隣り合う2つの値のうち異なるビットの数を示すものである。例えば、図43に示した期待値が設定されている状態で、データスタック182上の回路形式設定値が01111であった場合は、反転アンプの期待値と回路形式設定値との間のハミング距離は0となり、非反転アンプの期待値と回路形式設定値との間のハミング距離は3となる。一方、データスタック182上の回路形式設定値が01101であった場合は、反転アンプの期待値と回路形式設定値との間のハミング距離は1となり、非反転アンプの期待値と回路形式設定値との間のハミング距離は2となる。
回路形式解析部12bは、上記の例では、本来01111として反転アンプを指定する回路形式設定値の下位3ビット中に1ビットの誤りが生じた場合であっても、ハミング距離に基づき、ハミング距離が小さな期待値に対応する反転アンプを更新後の回路形式として特定する。
上記説明より、実施の形態5にかかる半導体装置では、回路解析部12bがハミング距離に基づき更新後の回路形式を特定する。これにより、受信した回路形式設定値に誤りがある場合であっても、正しく回路形式を特定することができる。また、実施の形態5にかかる半導体装置では、レジスタ制御部183bが、冗長スイッチ切替値については多数決処理を行うことで、エラービットが生じた場合であっても正しいスイッチ切替値を制御レジスタ181に設定することができる。
なお、上記説明では、回路形式設定値の1つについて冗長ビットを付加する例について説明したが、全てのビットについて冗長ビットを付加することも可能である。例えば、3つの回路形式設定値をいずれも3ビット(合計9ビット)とすることで、全てのビットに対するエラー耐性を向上させることができる。また、回路形式設定値の理想値の間のハミング距離を3以上とする条件のもと、反転アンプ、非反転アンプ以外の他の回路形式のアンプを指定する回路形式設定値のエラー耐性を向上させることもできる。
実施の形態6
実施の形態6のSPIインタフェース180cのブロック図を図44に示す。図44に示すように、SPIインタフェース180cは、実施の形態1にかかるSPIインタフェース180に第2の回路形式解析部(例えば、回路形式解析部20)及びソフトリセットコマンド発生回路21を追加したものである。また、SPIインタフェース180cでは、レジスタ制御部183に代えて、レジスタ制御部183cを有する。
回路形式解析部20は、制御レジスタ181に格納された回路構成制御値に基づき規定される現在の回路構成が複数のアンプにより構成される計装アンプであることを検出して、計装アンプ検出信号を出力する。また、回路形式解析部20は、レジスタ制御部183cが制御レジスタ181の回路構成制御値の更新を開始するタイミングで出力される更新通知信号RFSに基づき解析を開始する。
ソフトリセットコマンド発生回路21は、計装アンプ検出信号に基づき、現在の回路構成制御値の更新時に合わせて制御レジスタ181に格納された回路構成制御値を初期状態とするソフトリセットコマンドRSTを生成する。このソフトリセットコマンドは、制御レジスタ181に格納されている回路構成制御値を初期状態とするコマンドであって、例えば、アドレス13hのD0の領域にフィールドが設定される。また、このソフトリセットコマンドが制御レジスタ181に与えられることにより、AFE部100のアナログ回路要素の特性値及びスイッチ回路群の開閉状態は予め設定された初期状態となる。
そして、実施の形態6のSPIインタフェース180cは、ソフトリセット処理後にデータスタック182に格納された複数のコマンドに基づき制御レジスタ181の回路構成制御値を更新する。
そこで、実施の形態6のSPIインタフェース180cの動作を示すタイミングチャートを図45に示す。図45に示すように、実施の形態6のSPIインタフェース180cの動作は、実施の形態1のSPIインタフェース180の動作(図31)にステップS201〜S203の処理を加えたものである。そこで、ここではステップS201〜S203の動作について特に詳細に説明し、他のステップの処理の説明は省略する。
図45に示すように、実施の形態6のSPIインタフェース180cは、ステップS115において、エラーレジスタのエラー値として正常値が書き込まれると、ステップS201でレジスタ制御部183cが更新通知信号RFSを出力する。そして、ステップS202の第2の回路形式解析ステップにおいて、回路形式解析部20が更新通知信号RFSに応じて回路構成制御値に基づき規定される前記現在の回路構成が複数のアンプにより構成される計装アンプであることを検出する。このステップS202で、現在の回路構成が計装アンプであると判断された場合(ステップS202のYESの枝)、ステップS203のリセットコマンド生成ステップをソフトリセットコマンド発生回路21が実行する。このリセットコマンド生成ステップでは、現在の回路構成制御値の更新時に合わせて回路構成制御値を初期状態とするリセットコマンドを生成する。これにより、AFE部100の回路は初期状態となる。一方、のステップS202で、現在の回路構成が計装アンプでないと判断された場合(ステップS202のNOの枝)、ステップS203のリセットコマンド生成ステップ実行せずに、ステップS116で制御レジスタ181の回路構成制御値を更新する。
上記説明より、実施の形態6の半導体装置では、コンフィギュラブル・アンプの回路構成を計装アンプから他のアンプに切り替える際に、一端回路構成を初期状態に戻した後にと制御レジスタ181の回路構成制御値を更新する。計装アンプから他の回路構成(例えば、個別アンプを独立して動作させる回路構成)に切り替えた場合、コマンドにより、動作させる対象の回路の構成は変更されても、他の回路の構成が計装アンプの状態で維持される。そのため、計装アンプの状態が維持される他の回路の経路がオープンになり回路の動作が不安定になることがある。しかし、実施の形態6のSPIインタフェース180cでは、計装アンプから他の回路構成に切り替える際には一度初期状態に戻した後に対象の回路の設定を行うため、他の回路の動作が不安定になることがない。
また、SPIインタフェース180cの回路形式解析部20における解析処理を回路形式解析部12に行わせることも可能である。そこで、実施の形態6のSPIインタフェース180cの別の形態となるSPIインタフェース180dのブロック図を図46に示す。
図46に示すように、変形例となるSPIインタフェース180dでは、回路形式解析部12dが、回路形式解析部12の処理に加えて、回路形式解析部20の処理も行う。つまり、回路形式解析部12dは、制御レジスタ181の回路構成制御値に基づき解析した回路構成が計装アンプであった場合には、ソフトリセットコマンド発生回路21にリセットコマンドの生成を指示する。
このような構成とすることで、SPIインタフェース180dは、SPIインタフェース180cと同等の動作を行うことが可能でありながら、回路規模を小さくすることができる。
実施の形態7
実施の形態7のSPIインタフェース180eのブロック図を図47に示す。図47に示すように、SPIインタフェース180eは、実施の形態1のSPIインタフェース180の回路形式解析部12に代えて、回路形式解析部12eを有する。
回路形式解析部12eは、データスタック182に格納された複数のコマンド中に回路構成コマンドが含まれていない場合に、制御レジスタ181に格納された回路構成制御値を参照してデータスタック182に格納された複数のコマンドにより決定される更新後回路構成を特定する。
ここで、実施の形態7のSPIインタフェース180eの動作について説明する。図48に、実施の形態7のSPIインタフェース180eの動作を示すフローチャートを示す。図48に示すように、実施の形態7の回路形式解析部12eによる動作は、実施の形態1のSPIインタフェース180の動作(図31)のステップS111の前に行われる。
より具体的には、SPIインタフェース180eでは、ステップS111の回路構成特定処理の前に実施する、ステップS131の処理において、データスタック182中に回路形式設定値を含む回路形式設定コマンドがあるか否かを判断する。そして、ステップS131においてデータスタック182に回路形式設定コマンドがあると判断された場合(ステップS131のYESの枝)、ステップS132においてデータスタック182から回路形式設定コマンドを取得する。一方、ステップS131においてデータスタック182に回路形式設定コマンドがないと判断された場合(ステップS131のNOの枝)、制御レジスタ181から回路形式設定値に対応する回路構成制御値を取得する。実施の形態7では、ステップS131からステップS111までの処理が第1の回路形式解析ステップとなる。
上記説明より、実施の形態7の半導体装置では、回路形成設定値を送信することなく、マルチプレクサの選択先及び回路特性値の少なくとも一方のみを更新した場合においても回路構成エラー検出部11による回路構成のエラー検出処理を行うことができる。
実施の形態8
実施の形態8のSPIインタフェース180fのブロック図を図49に示す。図49に示すように、SPIインタフェース180fは、実施の形態1のSPIインタフェース180に使用端子検出部30、端子構成解析部31及び比較器32を追加したものである。また、図49では、AFE部100に入力信号を与える複数の外部入力端子(図49のMPXIN10〜MPXIN60)も示した。
使用端子検出部30は、外部入力端子に接続されるセンサ素子の有無を判定して端子状態通知信号を出力する。端子構成解析部31は、第3の回路形式解析部であって、端子状態通知信号に基づき利用可能な回路形式を特定する。比較器32は、回路形式解析部12が特定した更新後の回路形式と、端子構成解析部31が特定した回路形式とが不一致であった場合にエラー値を有するエラーコードを出力する。このエラーコードは、エラーレジスタ10に格納される。また、比較器32は、回路形式解析部12が出力する回路形成信号ACSに基づき回路形式解析部12が特定した変更後の回路形式を取得する。
ここで、使用端子検出部30には、外部入力端子毎に接続素子検出回路33を有する。そこで、この接続素子検出回路33の構成について説明する。図50に、接続素子検出部の回路図を示す。
図50に示すように、接続素子検出回路33は、プルアップ抵抗Rpuと、バッファ34とを有する。プルアップ抵抗Rpuは外部入力端子と内部回路とを接続する入力配線と電源端子との間に接続される。バッファ34は、入力配線の電圧をモニタし、入力配線の電圧が電源電圧とほぼ等しいレベルであれば、対応する外部入力端子にセンサが接続されていないことを示す端子状態通知信号(例えば、ロウレベルの信号)を出力する。また、バッファ34には、予め閾値電圧が設定されており、入力配線の電圧値が閾値電圧より低ければ、対応する外部入力端子にセンサが接続されていることを示す端子状態通知信号(例えば、ハイレベルの信号)を出力する。ここで、一般的にセンサは、何らかの電流を消費するためセンサが外部入力端子に接続されることで入力配線の電圧は低下する。
端子構成解析部31は、端子構成と回路形式とを対応付けた端子構成データベースを有し、使用端子検出部30から入力される端子状態通知信号の論理レベルと端子構成データベースとを比較することで使用可能な回路形式を特定する。そこで、この端子構成データベースを説明する表を図51に示す。
図51に示すように、端子構成データベースは、回路形式毎にセンサが接続されるべき外部入力端子を記述したものである。例えば、端子構成解析部31は、外部入力端子MPXIN20、MPXIN40、MPXIN60に対応する接続素子検出回路33が出力する端子状態通知信号がハイレベルであれば、使用可能な回路形式として非反転アンプを選択する。そして、端子構成解析部31は、選択した回路形式を比較器32に通知する。
続いて、実施の形態8のSPIインタフェース180fの動作について説明する。そこで、図52に実施の形態8のSPIインタフェース180fの動作を示すフローチャートを示す。
図52に示すように、実施の形態8のSPIインタフェース180fの動作は、実施の形態1のSPIインタフェース180の動作にステップS301〜S304の処理を加えたものである。
ステップS301では、端子構成解析部31が端子状態通知信号により端子接続状態情報を取得し、端子接続情報に基づき使用可能な回路形式を特定する。より具体的には、ステップS301は、使用端子検出ステップと、第3の回路形式解析ステップとを含む。使用端子検出ステップでは、使用端子検出部30が外部入力端子に接続されるセンサ素子の有無を判定して端子状態通知信号を出力する。第3の回路形式解析ステップでは、端子構成解析部31が端子状態通知信号に基づき利用可能な回路形式を特定する。
続いて、ステップS302が比較器32が第1の回路形式解析ステップ(例えば、ステップS111)で特定された回路形式と、ステップS301で特定された回路形式とが一致するか否かを判断する。そして、第1の回路形式解析ステップにおいて特定した更新後の回路形式と、第3の回路形式解析ステップにおいて特定した回路形式とが不一致であった場合(ステップS302のNOの枝)にエラー値を有するエラーコードを出力する(ステップS303)。そして、ステップS303でエラーフラグがエラー値となったことに応じてレジスタ制御部183は、制御レジスタ181の回路構成制御値の更新を停止する(ステップS304)。一方、ステップS302において、第1の回路形式解析ステップにおいて特定した更新後の回路形式と、第3の回路形式解析ステップにおいて特定した回路形式とが一致したと判断された場合(ステップS302のYESの枝)、エラーコードは正常値をなるため、実施の形態1と同様にステップS112以降の処理が行われる。
上記説明より、実施の形態8では、センサの接続状態と、AFE部100の回路形式とが異なることによる不具合を防ぐことができる。また、センサは固定的に接続されるものであり、回路形式もセンサに対応したもとすることが通常である。そのため、端子状態から導き出される回路形式と、データスタック182に格納された複数のコマンドから導き出される回路形式とに不一致があると言うことは、データスタック182に格納された複数のコマンドに誤りが有る可能性がある。しかし、実施の形態8のSPIインタフェース180fを用いることで、コマンドから導き出される回路構成が誤りであるような不具合を回避することができる。
実施の形態9
実施の形態9のSPIインタフェース180gのブロック図を図53に示す。図53に示すように、実施の形態9のSPIインタフェース180gは、実施の形態1のSPIインタフェース180に不正コマンド解析部40を加えたものである。
不正コマンド解析部40は、データスタック182に格納されている複数のコマンド中に予め規定されたコマンドとは異なる不正コマンドが含まれている場合にエラー値を有するエラーコードを生成する。また、不正コマンド解析部40は送信されるコマンドの一覧を記述したコマンドデータベースを有する。不正コマンド解析部40は、コマンドデータベースに記述されたコマンドとデータスタック182に格納されたコマンドとを比較して、データスタック182に格納されたコマンドにコマンドデータベースのコマンドと不一致なコマンドが有ればエラーコードをエラー値とする。このエラーコマンドは、エラーレジスタ10に格納される。
続いて、実施の形態9のSPIインタフェース180gの動作について説明する。そこで、図54に実施の形態9のSPIインタフェース180gの動作を示すフローチャートを示す。
図54に示すように、実施の形態9のSPIインタフェース180gは、実施の形態1のSPIインタフェース180の動作に対してステップS401〜S403の動作を追加したものである。ステップS401では、受信した複数のコマンド中に予め規定されたコマンドとは異なる不正コマンドが含まれているか否かを判断する。このステップS401の判断において不正なコマンドがあると判断された場合(ステップS401のYESの枝)、不正コマンド解析部40は、ステップS402においてエラーレジスタにエラー値を書き込む。このステップS401とステップS402の処理が不正コマンド解析ステップである。そして、エラーレジスタ10にエラー値が書き込まれたことで、レジスタ制御部183は、制御レジスタ181の回路構成制御値の更新を停止する(ステップS403)。
上記説明より、実施の形態9の半導体装置では、回路構成が特定できない不正なコマンドが入力された場合であっても当該不正コマンドが入力されたことをエラーとして検出することができる。
実施の形態10
実施の形態10のSPIインタフェース180hのブロック図を図55に示す。図55に示すように、実施の形態10のSPIインタフェース180hは、実施の形態1のSPIインタフェース180に緊急通知フラグレジスタ(以下、単にフラグレジスタ50と称す)及び緊急通知判断部51を追加し、回路形式解析部12を回路形式解析部12hに置き換えたものである。
フラグレジスタ50は、緊急通知フラグEMを格納する。緊急通知判断部51は、緊急通知フラグが第1の値である場合に、エラーコードが正常値からエラー値に切り替わったことに応じてMCU部200にエラー信号を出力する。このエラー信号は、MCU部200において割込要求として扱われるものである。
また、回路形式解析部12hは、実施の形態1の回路形式解析部12に緊急通知フラグの生成処理を追加したものである。回路形式解析部12hは、特定した更新後の回路形式が予め設定された緊急通知対象回路形式であった場合に緊急通知フラグを更新後の回路形式が緊急通知を必要としない構成であることを示す第2の値から更新後の回路形式が緊急通知を必要とする回路形式であることを示す第1の値に書き換える。
続いて、実施の形態10のSPIインタフェース180hの動作について説明する。そこで、図56にSPIインタフェース180hの動作を示すフローチャートを示す。図56に示すように、実施の形態10のSPIインタフェース180hの動作は、実施の形態1のSPIインタフェース180の動作にステップS501〜S504の処理を追加したものである。
ステップS501は、ステップS111の回路形式解析ステップの処理の後に行われる処理である。ステップS501では、ステップS111で特定された更新後の回路形式が緊急通知対象回路形式であるか否かの判断を行う。このステップS501の判断において、特定された更新後の回路形式が緊急通知対象回路形式であった場合(ステップS501のYESの枝)、回路形式解析部12hは、ステップS502において、緊急通知フラグEMを第1の値(例えば、1)とする。その後、SPIインタフェース180hは、SPIインタフェース180と同じ動作に従ってステップS112の禁止条件選択ステップを実行する。一方、ステップS501の判断において、特定された更新後の回路形式が緊急通知対象回路形式でなかった場合(ステップS501のNOの枝)、回路構成エラー検出部11は、ステップS502の処理を行うことなくステップS112の処理を実行する。
そして、実施の形態10の半導体装置は、ステップS117でエラーレジスタ10にエラー値が書き込まれたことに応じて、緊急通知判断部51が緊急通知フラグEMが1であるか否かを判断する(ステップS503)。そして、ステップS503において、緊急通知フラグEMが1であると判断された場合(ステップS503のYESの枝)には、ステップS504において、緊急通知判断部51がエラー信号をMCU部200に出力し、その後に制御レジスタ181の更新処理を停止する(ステップS116)。一方、ステップS503において、緊急通知フラグEMが第2の値(例えば、0)であると判断された場合(ステップS503のNOの枝)には、ステップS504の処理を行うことなく制御レジスタ181の更新処理を停止する(ステップS116)。
上記説明より、実施の形態10の半導体装置は、回路形式に応じてエラーをMCU部200に緊急通知するか否かを選択することができる。また、エラー信号を受信したMCU部200において割込処理等によるエラー処理を行うことができる。そこで、以下では、実施の形態10の半導体装置の全体の動作について説明する。図57に実施の形態10の半導体装置の動作を示すフローチャートを示す。
図57に示すように、実施の形態10の半導体装置は、ステップS121でAFE部100にコマンドを送信して回路構成を設定した後に、MCU部200にエラー信号の入力があった場合(ステップS511のYESの枝)に、MCU部200において割込処理を実施し、AFE部100からエラーコードを取得する(ステップS126)。そして、MCU部200は、当該エラーコードに応じたエラー処理を行う(ステップS127)。
一方、実施の形態10の半導体装置は、ステップS511において、MCU部200に対するエラー信号の入力がなかった場合(ステップS511のNOの枝)、実施の形態1と同様にAFE部100から測定結果を取得する(ステップS122)。
上記説明より、実施の形態10の半導体装置は、AFE部100の回路形式が予め選択した緊急通知対象回路形式と同じものであれば、即座にエラーの発生をMCU部200において認識することができる。このように、即座にエラーの発生を認識することで、実施の形態10の半導体装置は、エラー処理の速度を高めることができる。
例えば、センサ2として加速度センサと、照度センサを利用する場合、照度センサについては確認周期が長くなっても大きな問題とはならないが、加速度センサは装置の落下等を検出し、落下に対する耐衝撃処理を実施しなければならない等の理由により、高速なエラー処理(例えば、コマンドの再送信)が必要になる。このような場合に、加速度センサからの測定結果を取得するAFE部の回路については緊急通知等による早い復帰処理が要求される。このような用途で半導体装置が利用される場合であっても、実施の形態10にかかる半導体装置であれば対応できる。
実施の形態11
上記実施の形態では、MCU部200からAFE部100に送信されるコマンドのエラーに起因する誤動作を防止する構成について説明した。実施の形態11では、MCU部200のメモリ220に格納するコマンドについてエラーの発生を防止するための方法について説明する。実施の形態11で利用されるコマンドは、実施の形態11の半導体装置1で実行するプログラムの生成工程の一部で生成される。
そこで、半導体装置1の設計フローについて説明する。図58に、半導体装置1の設計フローを示すフローチャートを示す。図58に示すように、半導体装置1の設計フローでは、まず、AFE部100に内蔵される回路のモデルを利用したソフトフェアシミュレーションを実施する(ステップS601)。このソフトウェアシミュレーションは、独立したコンピュータシステムを用いて実施しても良いし、ネットワークを介して他の場所に配置されたサーバーを利用して実施しても良い。このソフトウェアシミュレーションにおいて、使用予定のセンサと、それに対応するAFE部100の回路構成の大まかな値を取得することができる。
続いて、ボード評価を行う(ステップS602)。このボード評価では、ステップS601で得られたコマンドを元により詳細な回路構成を決定する。ボード評価では、PCB基板等の評価ボード上に半導体装置1とセンサとを実際に配置し、コンピュータ等の操作装置を用いて半導体装置1を制御し、回路特性の評価を行う。
続いて、半導体装置1を含む装置を動作させるプログラムコードの作成と、オブジェクトファイルの生成を行う(ステップS603)。プログラムコードは、例えばC言語等のプログラミング言語で書かれたソースの一部にコマンドを記載したものである。オブジェクトファイルは、プログラムコードをコンパイルして作成するバイナリファイルであって、半導体装置1のメモリ220に書き込まれるものである。
続いて、ステップ603で生成したオブジェクトファイルを半導体装置1に書き込むことで、半導体装置1の設計が完了する。
実施の形態11では、ステップS603のオブジェクトファイル生成工程において、コマンドの記述ミスを防止するための方法について説明する。そこで、プログラムコードの作成とオブジェクトファイルの生成とを行うコンパイル装置の概要について説明する。図59にコンパイル装置6の概要を示すブロック図を示す。
図59に示したように、コンパイル装置6は、CPU61、入力装置62、表示装置63、メモリ64、HDD(Hard Disk Drive)65、入出力インタフェース66、NIC67を有する。このコンパイル装置6においてコンパイル処理を行うコンパイルプログラム651は、HDD65に格納される。また、HDD61には、プログラムコードファイル652(以下、コードファイル652と称す)及び生成されるオブジェクトファイル653も格納される。
CPU61は、コンパイルプログラム651を読み込んで、コンパイル処理を実施する演算部である。入力装置62は、ユーザーからの操作を受け付ける入力インタフェースである。表示装置63は、ユーザーインタフェース画面等を表示する装置である。メモリ64は、CPU61の処理で利用される中間データ等が格納されるものである。入出力インタフェース66は、例えば、USBインタフェース等のコンパイル装置6の外部インタフェースである。NIC67は、ネットワークインタフェースである。
コンパイル装置6では、特にコンパイルプログラム651による処理に特徴がある。そこで、コンパイルプログラム651に基づくコンパイル処理の手順を示すフローチャートを図60に示す。
図60に示すように、コンパイルプログラム651は、まず、コードファイル652を読み込む読み込み処理を行う(ステップS611)。続いて、コンパイルプログラム651は、読み込んだコードファイル652に含まれるコマンドに上記実施の形態で説明した禁止条件に違反する構成が含まれているかを判断する(ステップS612)。このステップS612では、上記実施の形態においてハードウェアにて実行していた回路構成エラー検出部11のエラー検出処理をソフトウェアを用いて実行する。
そして、ステップS612の判断処理において、回路構成のエラーが発見されなければ(ステップS612のYESの枝)、オブジェクトファイル653を生成する(ステップS613)。一方、ステップS612の判断処理において、回路構成のエラーが発見された場合(ステップS612のNOの枝)、コンパイルプログラム651は、表示装置63にエラーコード(例えば図25等に示したエラーコード)を表示して処理を終了する(ステップS614)。これにより、ユーザーは、コードファイル652中のコマンドにより実現される回路構成にエラーが含まれていれば、当該エラー箇所を修正した上で正しいコマンドを含むオブジェクトファイルを作成することができる。
上記説明より、実施の形態11にかかるコンパイルプログラム651によれば、回路構成にエラーが含まれるコマンドが含まれるオブジェクトファイルが生成されることを防止することができる。このように、書き込むオブジェクトファイルの信頼性を向上させることで、半導体装置1を含むシステムの信頼性を向上させることができる。
なお、実施の形態11では、コマンドにエラーが含まれていた場合には、エラーコードを表示して処理を終了する例を示したが、エラーの種類に応じて自動的に修正後のコマンドコードを生成した上でオブジェクトファイルを生成することも可能である。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
実施の形態12
実施の形態12では、図58のソフトウェアシミュレーションにおいてエラー箇所を表示することで作業効率を向上させる実施例について説明する。そこでまず、本実施の形態に係る半導体装置1の動作をシミュレーションするためのシミュレーションシステム(設計支援システム)の構成図を図61に示す。
図61に示すように、このシミュレーションシステムは、ネットワーク5を介して通信可能に接続されたユーザ端末3とウェブシミュレータ4とを備えている。ユーザ端末3は、主に、ウェブブラウザ300、記憶部301を有している。ウェブシミュレータ4は、主に、ウェブサーバ400、シミュレーション制御部401、記憶部402を有している。
ネットワーク5は、例えばインターネット等であり、ユーザ端末3とウェブシミュレータ4の間でウェブページ情報が伝送可能なネットワークである。ネットワーク5は、有線ネットワークでもよいし、無線ネットワークでもよい。
ユーザ端末3のウェブブラウザ300は、ウェブサーバ400から受信したウェブページ情報に基づいてウェブページを表示装置に表示する。ウェブブラウザ300は、ユーザからの操作を受け付け、ユーザの操作に応じてウェブサーバ400にアクセスし、ウェブシミュレータ4でシミュレーションを実行するためのユーザインタフェースでもある。
ユーザ端末3の記憶部301は、ユーザ端末3の機能を実現するための各種データやプログラム等が記憶される。また、記憶部301は、後述のように、半導体装置1の制御レジスタ181に設定するためのレジスタ情報をウェブシミュレータ4からダウンロードし記憶する。
ウェブシミュレータ4のウェブサーバ400は、ウェブブラウザ300にウェブシミュレータのウェブサービスを提供するサーバである。ウェブサーバ400は、ウェブブラウザ300からのアクセスを受け付け、アクセスに応じてウェブブラウザに表示するためのウェブページ情報を送信する。
ウェブシミュレータ4のシミュレーション制御部401は、センサ及び半導体装置1のシミュレーション機能を実現する。後述のように、ウェブシミュレータ4は、シミュレーション対象であるセンサ及び半導体装置1の回路構成を設定し、シミュレーションに必要なパラメータを設定し、シミュレーションを実行する。
ウェブシミュレータ4の記憶部402は、ウェブシミュレータの機能を実現するための各種データやプログラム等が記憶される。後述のように、記憶部402は、選択可能なセンサの情報やセンサに適したバイアス回路の情報、センサ及びバイアス回路に適したアナログ回路の情報等を記憶する。
ユーザ端末3は、クライアント装置として動作するパーソナルコンピュータなどのコンピュータ装置であり、ウェブシミュレータ4は、サーバ装置として動作するワークステーションなどのコンピュータ装置である。図62は、ユーザ端末3またはウェブシミュレータ4を実現するためのハードウェア構成の例を示している。なお、ユーザ端末3またはウェブシミュレータ4は、単一のコンピュータでなくとも、複数のコンピュータによって構成することも可能である。
図62に示すように、ユーザ端末3またはウェブシミュレータ4は、一般的なコンピュータ装置であり、中央処理装置(CPU)311とメモリ314とを含んでいる。CPU311とメモリ314は、バスを介して補助記憶装置としてのハードディスク装置(HDD)315に接続される。ユーザ端末3は、ユーザ・インターフェース・ハードウェアとして、例えば、ユーザが入力するためのポインティング・デバイス(マウス、ジョイスティック等)やキーボード等の入力装置312や、GUI等の視覚データをユーザに提示するためのCRTや液晶ディスプレイなどの表示装置313を有している。ウェブシミュレータ4についても、ユーザ端末3と同様にユーザ・インタフェース・ハードウェアを有しても良い。
HDD315等の記憶媒体はオペレーティングシステムと協働してCPU311等に命令を与え、ユーザ端末3またはウェブシミュレータ4の機能を実施するためのブラウザプログラムやシミュレーションプログラムを記憶することができる。このプログラムは、メモリ34にロードされることによって実行される。
また、ユーザ端末3またはウェブシミュレータ4は、外部装置と接続するための入出力インタフェース(I/O)316やNIC(Network Interface Card)317を有している。例えば、ユーザ端末3は、入出力インタフェース316として半導体装置1等に接続するためのUSB等を備えている。ユーザ端末3及びウェブシミュレータ4は、ネットワーク5に接続するためのNIC317としてイーサネット(登録商標)カード等を備えている。
図63Aは、ウェブシミュレータ4におけるシミュレーション制御部401の機能ブロックと、記憶部402に記憶される各種データを示している。なお、図63Aは一例であり、後述の図64の処理や画面表示が実現できればその他の構成であってもよい。
シミュレーション制御部401は、CPU311がシミュレーションプログラムを実行することでシミュレーションのための各部の機能を実現している。図63Aに示すように、シミュレーション制御部401は、主に、ウェブページ処理部411、回路設定部412、パラメータ設定部413、シミュレーション実行部415、レジスタ情報生成部416を有している。さらに、シミュレーション実行部415は、物理量変換部(物理量対電気特性換算機能)450、自動設定部451、過渡解析部452、AC解析部453、フィルタ効果解析部454、同期検波解析部455を有している。
記憶部402は、HDD315やメモリ314により実現されている。図63Aに示すように、記憶部402は、センサデータベース421、センサバイアス回路データベース422、コンフィギュラブルアナログ回路データベース423、AFEデータベース424、ウェブページ情報記憶部425、回路情報記憶部426、パラメータ記憶部427、結果情報記憶部428、レジスタ情報記憶部429、入力パターン記憶部430を有している。
センサデータベース421は、各種センサのデータシートを格納するデータベースである。センサのデータシートには、センサのタイプ(種類)や特性等の情報が含まれている。センサデータベース421には、センサとタイプ及び特性とが関連付けて記憶されている。
センサバイアス回路データベース422は、各種センサで使用可能なバイアス回路(バイアス方法)を格納するデータベースである。バイアス回路の情報として、バイアス回路を構成する素子や、各素子の接続関係、出力端子等の情報が含まれている。センサバイアス回路データベース422には、センサとバイアス回路とが関連付けて記憶されている。
コンフィギュラブルアナログ回路データベース423は、センサとセンサバイアス回路に最適なアナログ回路を選択するためのデータベースである。コンフィギュラブルアナログ回路の情報として、半導体装置1のコンフィギュラブル・アンプ110の構成や入力端子等の情報が含まれている。コンフィギュラブルアナログ回路データベース423には、センサ及びバイアス回路と、コンフィギュラブル・アンプ110の構成とが関連付けられている。
AFEデータベース424は、半導体装置1のデータシートを格納するデータベースである。特に、半導体装置1のAFE部100のシミュレーションを行うため、データシートにはAFE部100の構成や特性等の情報が含まれている。AFEデータベース424には、半導体装置1とAFE部100の構成とが関連付けられている。例えば、AFEデータベース424には、半導体装置1のデータシートが格納されている。
ウェブページ情報記憶部425は、ユーザ端末3のウェブブラウザ300に各種画面を表示するためのウェブページ情報を記憶する。ウェブページ情報は、後述のように半導体装置1をシミュレーションするためのGUIを含むウェブページ(画面)を表示するための情報である。
回路情報記憶部426は、シミュレーションの対象となる回路の回路情報を記憶する。この回路情報には、センサやバイアス回路、AFE部100の回路素子や各素子の接続関係の情報が含まれている。パラメータ記憶部427は、シミュレーション条件として、シミュレーションの実行に必要なパラメータを記憶する。このパラメータには、物理量などの入力情報や回路パラメータ等が含まれている。
結果情報記憶部428は、シミュレーションの実行結果である結果情報を記憶する。この結果情報には、過渡解析、AC解析、フィルタ効果解析、同期検波解析のシミュレーション結果として、AFE部100の各回路の入出力波形が含まれている。レジスタ情報記憶部429は、半導体装置1の制御レジスタ181に設定するレジスタ情報(構成情報)を記憶する。入力パターン記憶部439は、センサに入力する信号の複数の波形パターンの情報を記憶する。入力パターン記憶部439には、入力パターンとして、後述するような正弦波や方形波、三角波、ステップ応答などのパターンが記憶されている。
ウェブページ処理部(ウェブページ表示部)411は、ウェブページ情報記憶部425に記憶されたウェブページ情報を、ウェブサーバ400を介してユーザ端末3へ送信することで、ウェブブラウザ300にGUIを含むウェブページ(画面)を表示し、さらに、ユーザによるウェブページのGUIへの入力操作をユーザ端末3から受け付ける。
ウェブページ処理部411は、各画面を表示するための表示部を有している。すなわち、ウェブページ処理部411は、センサ表示部411a、バイアス回路表示部411b、AFE表示部411c、入力パターン表示部411dを有している。センサ表示部411aは、センサデータベース421を参照して、ユーザが選択したセンサのタイプに対応する複数のセンサを表示する。バイアス回路表示部411bは、センサバイアス回路データベース422を参照して、選択されたセンサに対応する複数のバイアス回路を表示する。AFE表示部(半導体装置表示部)411cは、AFEデータベース424を参照して、設定された回路構成のコンフィギュラブル・アンプ110を有する複数の半導体装置1を表示する。入力パターン表示部411dは、入力パターン記憶部430に記憶されている複数の波形パターンを表示する。
回路設定部412は、ユーザによるウェブページ(画面)の入力操作に応じて、回路情報を生成し、回路情報記憶部426に記憶する。回路設定部412は、センサ、バイアス回路、半導体装置1の選択に応じて回路情報を生成する。例えば、回路設定部412は、センサ選択部412a、バイアス回路選択部412b、AFE設定選択部412cを有している。
センサ選択部412aは、センサ表示部411aが表示した、センサデータベース421に含まれる複数のセンサからユーザ操作により選択されたセンサの情報に基づいて回路情報を生成する。バイアス回路選択部412bは、バイアス回路表示部411bが表示した、選択されたセンサに適した複数のバイアス回路からユーザ操作により選択されたバイアス回路の情報に基づいて回路情報を生成する。AFE設定選択部(回路構成設定部)412cは、コンフィギュラブルアナログ回路データベース423を参照し、選択されたセンサ及びバイアス回路に適したコンフィギュラブル・アンプ110の構成及び接続関係を特定し、回路情報を生成する。また、AFE設定選択部(半導体装置選択)412cは、AFE表示部411cが表示した、AFEデータベース424に含まれる複数の半導体装置1からユーザ操作により選択された半導体装置1の情報に基づいて回路情報を生成する。
パラメータ設定部413は、ユーザによるウェブページ(画面)の入力操作に応じて、シミュレーションを実行するためのパラメータを生成し、パラメータ記憶部427に記憶する。パラメータ設定部(入力パターン選択部)413は、入力パターン表示部411dが表示した複数の波形パターンの中からユーザの操作にしたがって選択された、センサに入力される物理量の入力パターンの情報を生成する。
シミュレーション実行部415は、回路情報記憶部426及びパラメータ記憶部427を参照し、記憶されている回路情報及びパラメータに基づいてシミュレーションを実行する。
物理量変換部450は、センサの入力情報である物理量をセンサ出力の電気信号に変換する。物理量変換部450は、パラメータ記憶部427を参照し、設定された物理量の入力パターンにしたがい、時系列の順に変動する物理量に対応してセンサの出力信号を生成する。
自動設定部(回路特性設定部)451は、AFE部100の回路特性を自動的に設定し、設定したパラメータをパラメータ記憶部427に記憶する。自動設定部451は、回路情報記憶部426を参照し、設定されたセンサ及びバイアス回路、コンフィギュラブル・アンプ110の回路構成において、自動的に適切なコンフィギュラブル・アンプ110のゲイン・オフセットを設定する。自動設定部451は、コンフィギュラブル・アンプ110の動作をシミュレーションし、最適なゲイン・オフセットとなるように、コンフィギュラブル・アンプ110のDAC電圧やゲイン等のパラメータを調整する。
過渡解析部452は、過渡特性を解析するためAFE部100の入出力特性をシミュレーションし、シミュレーション結果を結果情報記憶部428に記憶する。過渡解析部452は、回路情報記憶部426及びパラメータ記憶部427を参照し、各パラメータをシミュレーション条件として設定された構成の回路動作をシミュレーションし、入出力特性を示す波形を生成する。過渡解析部452は、時系列に入力される物理量の入力パターンについて物理量変換部450が変換したセンサ出力信号をAFE部100の入力信号として、AFE部100の動作をシミュレーションし、AFE部100の各回路の時系列の出力信号を生成する。
AC解析部453は、AC特性を解析するためAFE部100の周波数特性をシミュレーションし、シミュレーション結果を結果情報記憶部428に記憶する。AC解析部453は、回路情報記憶部426及びパラメータ記憶部427を参照し、各パラメータをシミュレーション条件として設定された構成の回路動作をシミュレーションし、周波数特性を示す波形を生成する。AC解析部453は、周波数ごとに物理量の入力パターンを生成し、物理量変換部450が変換したセンサ出力信号をAFE部100の入力信号として、AFE部100の動作をシミュレーションし、AFE部100の各回路の周波数ごとの出力信号を生成する。
フィルタ効果解析部454は、フィルタ効果を解析するためノイズが発生する環境におけるAFE部100の入出力特性をシミュレーションし、シミュレーション結果を結果情報記憶部428に記憶する。フィルタ効果解析部454は、回路情報記憶部426及びパラメータ記憶部427を参照し、各パラメータをシミュレーション条件として設定された構成の回路動作をシミュレーションし、ノイズ環境における入出力特性を示す波形を生成する。フィルタ効果解析部454は、時系列に入力される物理量の入力パターンにノイズを付加し、ノイズを付加した信号を物理量変換部450が変換したセンサ出力信号をAFE部100の入力信号として、AFE部100の動作をシミュレーションし、AFE部100の各回路の時系列の出力信号を生成する。
同期検波解析部455は、同期検波動作を解析するためAFE部100の同期検波動作をシミュレーションし、シミュレーション結果を結果情報記憶部428に記憶する。同期検波解析部455は、回路情報記憶部426及びパラメータ記憶部427を参照し、各パラメータをシミュレーション条件として設定された構成の回路動作をシミュレーションし、同期検波動作を示す波形を生成する。同期検波解析部455は、時系列に入力される物理量の入力パターンと、図16で示したような同期クロックを入力として、AFE部100の動作をシミュレーションし、AFE部100の各回路の時系列の出力信号を生成する。
レジスタ情報生成部416は、半導体装置1のレジスタ181に設定するレジスタ情報を生成し、レジスタ情報記憶部429に記憶する。レジスタ情報生成部416は、回路情報記憶部426及びパラメータ記憶部427を参照し、シミュレーション対象として設定されているAFE部100の回路構成及び回路特性に応じてレジスタ情報を生成する。
また、図63Bや図63Cのように、図63Aに示したブロックのうちの一部のブロックによりウェブシミュレータ4を構成してもよい。例えば、図63Bに示すように、ウェブシミュレータ4は、図63Aの構成のうち少なくとも、センサバイアス回路データベース422、センサ選択部412a、バイアス回路表示部412b、バイアス回路選択部412b、回路構成設定部(AFE設定選択部)412c、シミュレーション実行部415を備えている。
すなわち、図63Bでは、センサ選択部412aが、半導体装置1に接続するセンサを選択する。センサバイアス回路データベース422が、センサと当該センサにバイアス信号を供給する複数のバイアス回路とを関連付けて記憶し、バイアス回路表示部412bが、センサバイアス回路データベース422を参照して、選択されたセンサに対応する複数のバイアス回路を表示する。バイアス回路選択部412bが、表示した複数のバイアス回路の中からユーザの操作に従い、選択されたセンサに接続するバイアス回路を選択し選択されたセンサに接続するバイアス回路を選択する。回路構成設定部412cが、選択されたセンサ及びバイアス回路に接続する半導体装置1の回路構成を設定する。シミュレーション実行部415が、選択されたセンサ及びバイアス回路と設定された回路構成の半導体装置1とを接続した接続回路のシミュレーションを実行する。少なくとも、図63Bのようにウェブシミュレータ4を構成することで、センサに応じた複数のバイアス回路から最適なバイアス回路を選択し、効果的にシミュレーションを行うことができる。
また、図63Cに示すように、ウェブシミュレータ4は、図63Aの構成のうち少なくとも、入力パターン記憶部430と、回路構成設定部(AFE設定部)412cと、入力パターン表示部411dと、入力パターン選択部(パラメータ設定部)413と、シミュレーション実行部415を備えている。
すなわち、図63Cでは、回路構成設定部412cが、半導体装置1に接続するセンサに応じて半導体装置1の回路構成を設定する。入力パターン記憶部430が、センサに入力する信号の複数の波形パターンを記憶し、入力パターン表示部411dが、入力パターン記憶部430に記憶されている複数の波形パターンを表示する。入力パターン選択部413が、表示した複数の波形パターンの中からユーザの操作に従い、センサに入力する信号の波形パターンを選択する。シミュレーション実行部415が、選択された波形パターンを入力条件として、センサと設定された回路構成のアナログフロントエンド回路とを接続した接続回路のシミュレーションを実行する。少なくとも、図63Cのようにウェブシミュレータ4を構成することで、センサに入力する波形パターンから所望のパターンを選択し、効果的にシミュレーションを行うことができる。
次に、図64を用いて、本実施の形態に係るシミュレーションシステムで実行されるシミュレーション方法について説明する。このシミュレーション方法は、主に図61〜図63のウェブシミュレータ4で各処理が実行され、ユーザ端末3の表示装置に画面表示を行うことで実現されるため、以下ではウェブシミュレータ4で実行される処理について説明する。
図64のフローチャートは、本実施の形態に係るシミュレーション処理の全体の流れを示している。このシミュレーション処理では、まず、ウェブページ処理部411はユーザ端末3にガイダンス画面を表示させる(ステップS801)。ユーザ端末3のウェブブラウザ300において、ユーザがウェブシミュレータ4のURLを指定すると、ウェブブラウザ300がウェブサーバ400にアクセスし、ウェブシミュレータ4においてシミュレーションプログラムが起動する。そうすると、ウェブページ処理部411は、起動ページであるガイダンス画面のウェブページ情報をユーザ端末3へ送信し、ウェブブラウザ300にガイダンス画面を表示させる。
次いで、ウェブページ処理部411はユーザ端末3にセンサ選択画面を表示させ、ユーザがセンサを選択する(ステップS802)。ステップS801のガイダンス画面において、ユーザがセンサを選択するための操作を行うと、ウェブページ処理部411は、センサを選択するためのセンサ選択画面のウェブページ情報をユーザ端末3へ送信し、ウェブブラウザ300にセンサ選択画面を表示させる。ウェブページ処理部411は、ユーザがセンサタイプなどの絞り込み条件(検索条件もしくはフィルタ条件)を指定すると、センサデータベース421から絞り込み条件に該当するセンサを抽出し、抽出したセンサのリストをセンサ選択画面に表示する。センサ選択画面において表示されたセンサリストの中からユーザが使用するセンサを選択すると、回路設定部412(センサ選択部412a)は、選択されたセンサをシミュレーション対象の回路として回路情報記憶部426に記憶する。
次いで、ウェブページ処理部411はユーザ端末3にバイアス回路選択画面を表示させ、ユーザがバイアス回路を選択する(ステップS803)。ステップS802のセンサ選択画面において、ユーザがバイアス回路を設定するための操作を行うと、ウェブページ処理部411はバイアス回路選択画面のウェブページ情報をユーザ端末3へ送信し、ウェブブラウザ300にバイアス回路選択画面を表示させる。ウェブページ処理部411は、センサバイアス回路データベース422を参照し、ステップS802で選択したセンサに適した複数のバイアス回路を抽出し、バイアス回路選択画面に表示する。バイアス回路選択画面において表示された複数のバイアス回路の中からユーザがバイアス回路を選択すると、回路設定部412(バイアス回路選択部412b)は、選択されたバイアス回路をシミュレーション対象の回路として回路情報記憶部426に記憶する。
次いで、ウェブページ処理部411はユーザ端末3に物理量入力画面を表示させ、ユーザが物理量を入力する(ステップS804)。ステップS802のセンサ選択画面やステップS803のバイアス回路選択画面において、ユーザがセンサの物理量を入力するための操作を行うと、ウェブページ処理部411はユーザがセンサの物理量を入力するための物理量入力画面のウェブページ情報をユーザ端末3へ送信し、ウェブブラウザ300に物理量入力画面を表示させる。ウェブページ処理部411は、センサに入力する物理量を時系列に入力するための複数の入力パターン(入力波形)を物理量入力画面に表示し、ユーザがシミュレーションで使用する入力パターンを選択する。また、ウェブページ処理部411は、センサデータベース421を参照し、選択されたセンサに応じた物理量の入力範囲を物理量入力画面に表示し、ユーザが物理量の入力範囲を設定する。物理量入力画面において、ユーザがセンサに入力する物理量の入力パターンと入力範囲を入力すると、パラメータ設定部413は、入力されたパラメータをパラメータ記憶部427に設定する。
次いで、ウェブページ処理部411はユーザ端末3にAFE選択画面を表示させ、ユーザがAFE(半導体装置)を選択する(ステップS805)。ステップS801のガイダンス画面やステップS802のセンサ選択画面等において、ユーザが半導体装置1(AFE部100)を選択するための操作を行うと、ウェブページ処理部411はユーザが半導体装置1を選択するためのAFE選択画面のウェブページ情報をユーザ端末3へ送信し、ウェブブラウザ300にAFE選択画面を表示させる。
ウェブページ処理部411は、AFEデータベース424を参照し、選択されたセンサ及びバイアス回路に適したコンフィギュラブル・アンプ110の構成を含む半導体装置1を抽出する。このとき、コンフィギュラブルアナログ回路データベース423を参照し、選択されたセンサ及びバイアス回路に適したコンフィギュラブル・アンプ110の構成を決定し、決定した構成のコンフィギュラブル・アンプ110を含む半導体装置1を抽出する。さらに、ウェブページ処理部411は、ユーザが半導体装置1の構成などの絞り込み条件を指定すると、AFEデータベース424から絞り込み条件に該当する半導体装置1を抽出し、抽出した半導体装置1のリストをAFE選択画面に表示する。AFE選択画面において表示された半導体装置1のリストの中からユーザが使用する半導体装置1(AFE部100)を選択すると、回路設定部412(AFE設定選択部412c)は、選択された半導体装置1のAFE部100をシミュレーション対象の回路として回路情報記憶部426に記憶する。
次いで、回路設定部412は、コンフィギュラブル・アンプ110の構成と接続関係を決定する(ステップS806)。ステップS802〜S803でセンサ及びバイアス回路が選択され、ステップS805で半導体装置1が選択されると、回路設定部412は、コンフィギュラブルアナログ回路データベース423を参照し、選択されたセンサ及びバイアス回路に適したコンフィギュラブル・アンプ110の構成を決定し、センサ及びバイアス回路とコンフィギュラブル・アンプ110との接続関係(接続端子)を決定する。回路設定部412(AFE設定選択部412c)は、決定したコンフィギュラブル・アンプ110の構成と接続関係の情報を回路情報記憶部426に記憶する。
ここで、ステップS806では、回路情報記憶部426にコンフィギュラブル・アンプ110の構成と接続関係情報を格納する前に、上記実施の形態の回路構成エラー検出部11で実施していたエラー検出処理を行う。そして、このエラー検出処理において、エラーが発見された場合、表示装置312に表示箇所を明示したGUI画面を表示する(ステップS821)。
このGUI画面の一例を図65に示す。図65に示すように、GUI画面では、エラー箇所を示す信号パスが強調表示されると共に、画面下部にエラーコードとエラー内容が表示される。また、GUI画面には、エラー箇所に対する処理として「修正」と「無視」との選択を行うボタンが配置される。ユーザーは、「修正」ボタンを選択すると、エラー箇所を修正することができる。また、ユーザーは、「無視」ボタンを選択することで、エラー箇所があっても処理をステップS807に進めることができる。
なお、ステップS806において、エラーが検出されなかった場合には、エラーが無かったととがユーザーに通知されると共に、ステップS807に処理を進めることが可能になる。
次いで、ウェブページ処理部411はユーザ端末3にセンサAFE接続画面を表示させ、ユーザがセンサとAFE(半導体装置1)とを接続する(ステップS807)。ステップS805のAFE選択画面において、ユーザがセンサと半導体装置1を接続するための操作を行うと、ウェブページ処理部411はユーザがセンサと半導体装置1とを接続するためのセンサAFE接続画面のウェブページ情報をユーザ端末3へ送信し、ウェブブラウザ300にセンサAFE接続画面を表示させる。ウェブページ処理部411は、選択されたセンサ及びバイアス回路の出力端子と、選択された半導体装置1(AFE部100)の入力端子とを表示し、ユーザがセンサ及びバイアス回路と半導体装置1との接続関係を選択できるように表示する。さらに、デフォルトの接続状態として、ステップS806で決定した接続関係によりセンサ及びバイアス回路と半導体装置1とを接続するように、接続関係を表示する。センサAFE接続画面において、ユーザがセンサと半導体装置1との接続関係を選択すると、回路設定部412は、選択された接続関係をシミュレーション対象の回路の接続関係として回路情報記憶部426に記憶する。
次いで、自動設定部451は、自動設定処理を実行する(ステップS808)。ステップS802〜S807でセンサ及びバイアス回路、コンフィギュラブル・アンプ110の構成及び接続関係が決定すると、自動設定部451は、コンフィギュラブル・アンプ110のデフォルト値を自動的に設定するため、自動設定処理を実行する。この自動設定処理の詳細については後述する。自動設定部451は、自動設定処理により設定されたコンフィギュラブル・アンプ110のDAC出力やゲイン等のパラメータをパラメータ記憶部427に記憶する。
次いで、シミュレーション実行部415は、シミュレーション実行処理を行う(ステップS809)。S802〜S808でセンサ及びバイアス回路、半導体装置1(AFE部100)の構成及び接続関係が決定すると、シミュレーション実行部415はユーザの操作にしたがって過渡解析、AC解析、フィルタ効果解析、同期検波解析などのためシミュレーションを実行する。このシミュレーション実行処理の詳細については後述する。シミュレーション実行部415は、シミュレーション実行処理により得られたシミュレーション結果を結果情報記憶部428に記憶する。
次いで、ウェブページ処理部411はユーザ端末3に部品リスト画面を表示させる(ステップS810)。ステップS801のガイダンス画面やステップS809のシミュレーション画面において、ユーザが部品リスト(BOM:Bills of Materials)を表示するための操作を行うと、ウェブページ処理部411は部品リストを表示するための部品リスト画面のウェブページ情報をユーザ端末3へ送信し、ウェブブラウザ300に部品リスト画面を表示させる。ウェブページ処理部411は、回路情報記憶部426を参照し、シミュレーション対象に選択されたセンサ及び半導体装置1を含む部品リストを部品リスト画面に表示する。表示する部品リストは部品の購入サイトにリンクが設定されており、部品リスト画面において、ユーザが部品を選択すると部品の購入サイトにアクセスされ、部品を購入することができる。
次いで、レジスタ情報生成部416は、レジスタ情報を生成する(ステップS811)。ステップS802〜S809で半導体装置1(AFE部100)の回路構成及びパラメータ(回路特性)が決定すると、レジスタ情報生成部416は半導体装置1のレジスタ181に設定するためのレジスタ情報を生成する。レジスタ情報生成部416は、回路情報記憶部426及びパラメータ記憶部427を参照して半導体装置1の回路構成及びパラメータに基づいてレジスタ情報を生成し、生成したレジスタ情報をレジスタ情報記憶部429に記憶する。レジスタ情報はレポート画面に表示されるため、ステップS811のレジスタ情報の生成は、レポート画面の表示までに実行されていればよい。
次いで、ウェブページ処理部411はユーザ端末3にレポート画面を表示させる(ステップS812)。ステップS801のガイダンス画面やステップS809のシミュレーション画面等において、ユーザがシミュレーション結果を出力するための操作を行うと、ウェブページ処理部411はシミュレーション結果を含むレポート画面のウェブページ情報をユーザ端末3へ送信し、ウェブブラウザ300にレポート画面を表示させる。ウェブページ処理部411は、結果情報記憶部428を参照し、シミュレーション結果をレポート画面に表示する。また、ウェブページ処理部411は、回路情報記憶部426、パラメータ記憶部427、レジスタ情報記憶部429を参照し、シミュレーション対象のセンサ及びバイアス回路、半導体装置1の回路構成、接続関係、パラメータを表示し、半導体装置1のレジスタ情報も表示する。さらに、レポート画面において、ユーザの操作に応じてレジスタ情報をユーザ端末3へダウンロードすることができる。
上記説明より、実施の形態12にかかるシミュレータでは、回路構成が上記実施の形態で説明した禁止条件に違反していることを検出して、エラーコードと共にエラー箇所をGUI画面上に表示する。これにより、ユーザーは誤った回路構成でシミュレーションを実行することがないため、設計工程の時間を短くすることができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。