(57)【要約】【課題】実行するプログラムの種類又は発生する異常の種類などの、動作開始後の状況に合わせて外部端子の状態をプログラマブルに設定する。【解決手段】プログラム処理回路によるデータ処理状態、プログラム処理回路が実行するプログラム若しくはデータ処理の種類、あるいはデータ処理による異常の種別毎に、異常発生時の入出力端子の端子状態を制御する制御データを予め不揮発性記憶部（１４０）に保存する。プログラム実行前若しくはプログラムの実行時に逐次に不揮発性記憶部に制御データを特定する検索キーを設定し、異常が発生した場合は、当該検索キーに基づいて参照された制御データに従って、入出力端子の状態をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定する。【選択図】図１
2012222614.tif 000002
【特許請求の範囲】
【請求項１】
複数個の外部端子と、
前記外部端子に接続されたインタフェース部と、
前記インタフェース部を制御するインタフェース制御部と、
前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、及びその他のデータ処理を行うデータ処理部と、
前記データ処理部に接続された不揮発性記憶部と、を有し、
前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路と、所定の前記外部端子に入力端子が接続された入力バッファ回路と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路とを有し、
前記不揮発性記憶部は、前記外部端子の状態を指定するための状態指定コードを検索キーとする制御データのルックアップテーブルを格納する領域を有し、前記データ処理部によるデータ処理に従って予め前記状態指定コードが格納され、前記データ処理部から所定事象の発生が通知されたとき予め格納されている前記状態指定コードを用いて前記ルックアップテーブルから制御データを読み出し、
前記インタフェース制御部は前記読み出された前記制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する、半導体装置。
【請求項２】
前記不揮発性記憶部は、前記データ処理部によって前記状態指定コードを書き込み可能な不揮発性の状態指定コードレジスタを有し、前記データ処理部から所定事象の発生が通知されたとき前記状態指定コードレジスタの状態指定コードを用いて前記ルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する、請求項１記載の半導体装置。
【請求項３】
前記データ処理部はデータ処理の一環として、当該データ処理の先頭で所要の状態指定コードを予め前記状態指定コードレジスタに書き込む、請求項２記載の半導体装置。
【請求項４】
前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する、請求項３記載の半導体装置。
【請求項５】
前記所定の事象は電源検出器によって検出される電源電圧の所定電圧以下への変化であり、
前記不揮発性記憶部は、前記データ処理部から前記電源電圧の所定電圧以下への変化が通知されたとき、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する、請求項３記載の半導体装置。
【請求項６】
前記所定の事象は所定の割り込み要因又は例外要因であり、
前記不揮発性記憶部は、前記データ処理部から前記所定の割り込み要因又は例外要因の発生が通知されたとき、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する、請求項３記載の半導体装置。
【請求項７】
複数個の外部端子と、
前記外部端子に接続されたインタフェース部と、
前記インタフェース部を制御するインタフェース制御部と、
前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、命令を実行するプログラム処理及びその他のデータ処理を行うデータ処理部と、
前記データ処理部に接続された不揮発性記憶部と、を有し、
前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路と、所定の前記外部端子に入力端子が接続された入力バッファ回路と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路とを有し、
前記不揮発性記憶部は、前記データ処理部による現在の実行命令アドレスを捕捉するための命令アドレス情報を逐次保持する不揮発性の実行アドレスレジスタと、前記データ処理部が実行するプログラムアドレス範囲毎に、その範囲のプログラムの実行中に想定される所定事象の発生要因に外部端子の状態指定コードを対応付けた第１ルックアップテーブルと、前記状態指定コードを検索キーとする制御データの第２ルックアップテーブルと、を格納する領域を有し、前記データ処理部から所定事象の発生が通知されたとき前記実行アドレスレジスタの命令アドレス情報及び当該所定事象の発生要因に基づいて前記第１ルックアップテーブルから状態指定コードを取得すると共に取得した状態指定コードを用いて前記第２のルックアップテーブルから制御データを読み出してインタフェース制御部に与え、
前記インタフェース制御部は、与えられた制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する、半導体装置。
【請求項８】
前記実行アドレスレジスタはMRAMである、請求項７記載の半導体装置。
【請求項９】
前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する、請求項７記載の半導体装置。
【請求項１０】
前記所定の事象の発生要因は電源検出器によって検出される電源電圧の所定電圧以下への変化であり、
前記不揮発性メモリ部は、前記所定電圧以下への変化による割り込み要因の発生が前記データ処理部から通知されたとき、前記実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第１ルックアップテーブルから取得すると共に、取得した状態指定コードを用いて前記第２のルックアップテーブルから制御データを取得して前記インタフェース部に出力する、請求項７記載の半導体装置。
【請求項１１】
前記所定の事象の発生要因は所定の割り込み要因又は例外要因であり、
前記不揮発性記憶部は、前記所定の割り込み要因又は例外要因の発生が前記データ処理部から通知されると、そのときの実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第１ルックアップテーブルから取得すると共に、取得した状態指定コードを用いて前記第２のルックアップテーブルから制御データを読み出して前記インタフェース部に出力する、請求項７記載の半導体装置。
【請求項１２】
複数個の外部端子と、
前記外部端子に接続されたインタフェース部と、
前記インタフェース部を制御するインタフェース制御部と、
前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、及びその他のデータ処理を行うデータ処理部と、
前記データ処理部に接続された不揮発性記憶部と、を有し、
前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路と、所定の前記外部端子に入力端子が接続された入力バッファ回路と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路とを有し、
前記不揮発性記憶部は前記外部端子の状態を指定するための状態指定コードを検索キーとする制御データのルックアップテーブルを格納する領域を有し、
前記データ処理部は、データ処理に従って予め前記状態指定コードを不揮発性記憶部に格納し、所定の事象の発生が通知されたとき、前記不揮発性記憶部に予め格納されている前記状態指定コードを用いて前記ルックアップテーブルから制御データを読み出し、
前記インタフェース制御部は前記読み出された前記制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する、半導体装置。
【請求項１３】
前記不揮発性記憶部は前記データ処理部によって前記状態指定コードを書き込み可能な不揮発性の状態指定コードレジスタを有し、
前記データ処理部は所定事象の発生を検出したとき前記状態指定コードレジスタの状態指定コードを用いて前記ルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する、請求項１２記載の半導体装置。
【請求項１４】
前記データ処理部はデータ処理の一環として、当該データ処理の先頭で所要の状態指定コードを予め前記状態指定コードレジスタに書き込む、請求項１３記載の半導体装置。
【請求項１５】
前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する、請求項１４記載の半導体装置。
【請求項１６】
前記所定の事象は電源検出器によって検出される電源電圧の所定電圧以下への変化であり、
前記データ処理部は電源検出器の出力により前記電源電圧の所定電圧以下への変化を判別したとき、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する、請求項１４記載の半導体装置。
【請求項１７】
前記所定の事象は所定の割り込み要因又は例外要因であり、
前記データ処理部は前記所定の割り込み要因による割り込み処理又は所定の例外要因による例外処理によって、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する、請求項１４記載の半導体装置。
【請求項１８】
複数個の外部端子と、
前記外部端子に接続されたインタフェース部と、
前記インタフェース部を制御するインタフェース制御部と、
前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、命令を実行するプログラム処理及びその他のデータ処理を行うデータ処理部と、
前記データ処理部に接続された不揮発性記憶部と、を有し、
前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路と、所定の前記外部端子に入力端子が接続された入力バッファ回路と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路とを有し、
前記不揮発性記憶部は、前記データ処理部による現在の実行命令アドレスを捕捉するための命令アドレス情報を逐次保持する不揮発性の実行アドレスレジスタと、前記データ処理部が実行するプログラムアドレス範囲毎に、その範囲のプログラムの実行中に想定される所定事象の発生要因に外部端子の状態指定コードを対応付けた第１ルックアップテーブルと、前記状態指定コードを検索キーとする制御データの第２ルックアップテーブルと、を格納する領域を有し、
前記データ処理部は、所定の事象が発生したとき前記実行アドレスレジスタの命令アドレス情報及び当該所定事象の発生要因に基づいて前記第１ルックアップテーブルから状態指定コードを取得すると共に取得した状態指定コードを用いて前記第２のルックアップテーブルから制御データを読み出し、
前記インタフェース制御部は、読み出された制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する、半導体装置。
【請求項１９】
前記実行アドレスレジスタはMRAMである、請求項１８記載の半導体装置。
【請求項２０】
前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する、請求項１８記載の半導体装置。
【請求項２１】
前記所定の事象の発生要因は電源検出器によって検出される電源電圧の所定電圧以下への変化であり、
前記データ処理部は前記所定電圧以下への変化を要因とする割り込み処理によって、そのときの実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第１ルックアップテーブルから取得すると共に、取得した状態指定コードを用いて前記第２のルックアップテーブルから制御データを読み出して前記インタフェース部に出力する、請求項１８記載の半導体装置。
【請求項２２】
前記所定の事象の発生要因は所定の割り込み要因又は例外要因であり、
前記データ処理部は前記所定の割り込み要因による割り込み処理又は所定の例外要因による例外処理によって、そのときの実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第１ルックアップテーブルから取得すると共に、取得した状態指定コードを用いて前記第２のルックアップテーブルから制御データを取得して前記インタフェース部に出力する、請求項１８記載の半導体装置。
【請求項２３】
データ処理を行う第１半導体装置と、前記第１半導体装置に接続されてその制御を受ける第２半導体装置とを有するデータ処理システムであって、
前記第１半導体装置は、異常が発生したときに所定の入出力端子の端子状態を前記データ処理の処理毎の状態に応じて制御するための制御データを予め不揮発性メモリ部に保存し、データ処理の処理毎に不揮発性メモリ部に前記制御データを特定する検索キーを逐次設定し、前記異常が発生したときは、当該検索キーに基づいて参照した制御データに従って、所定の入出力端子の状態をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定し、
前記第２半導体装置は、前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定し、前記第１半導体装置は、前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定する、データ処理システム。
【請求項２４】
データ処理を行う第１半導体装置と、前記第１半導体装置に接続されてその制御を受ける第２半導体装置とを有するデータ処理システムであって、
前記第１半導体装置は、異常が発生したときに所定の入出力端子の端子状態を前記データ処理のプログラム範囲及びその範囲のプログラムの実行中に想定される所定事象の発生要因に応じて制御するための制御データを予め不揮発性メモリ部に保存し、データ処理の進行に伴って不揮発性メモリ部に前記制御データを特定する検索キーを逐次設定し、前記異常が発生したときは、当該検索キーに基づいて参照した制御データに従って、所定の入出力端子の状態をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定し、
前記第２半導体装置は前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定し、前記第１半導体装置は前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定する、データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の外部端子に対する初期設定若しくはプリセットに関し、例えばマイクロコンピュータ若しくはデータプロセッサなどのデータ処理デバイスにおける異常発生時の外部端子に対する初期化機能に適用して有効な技術に関する。
【背景技術】
【０００２】
特許文献１には、電源投入時の初期化動作の一環として、不揮発性メモリの制御データでスイッチ制御されるスイッチを用いて入出力ポートの入力状態を選択的にプルアップまたはプルダウン状態にすることができる半導体装置について記載される。これにより、半導体装置にプルアップ回路又はプルダウン回路を外付けすることを要しない。更に制御データを変更することによって入出力ポートの初期状態を可変に設定することが可能になる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１４７６０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術は電源投入時の初期化動作において入出力ポートの初期状態を決定するものであり、一度状態が決定されれば、その状態は電源が遮断されるまで維持される。初期設定後の変更については特に考慮されていない。本発明者は、電源投入時の初期化だけでなく、割り込みや例外の発生、電源電圧の不所望な低下等の事象がデータ処理途上で発生したとき、それに応じてモード端子や制御端子などの外部端子の入出力状態をプログラマブルに制御することについて検討した。即ち、半導体装置が実行するプログラムの種類毎、さらには発生した異常の種類毎など、状況に合わせて所望の外部端子の状態を固定できるようにすることがシステム構成さらにはシステム動作の柔軟性を高めることが可能になると認識した。特許文献１ではそのような観点について全く着眼されていない。
【０００５】
本発明の目的は、実行するプログラムの種類又は発生する異常の種類などの、動作開始後の状況に合わせて外部端子の状態をプログラムブルに設定することができる半導体装置を提供することにある。
【０００６】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００８】
すなわち、プログラム処理回路によるデータ処理状態、前記プログラム処理回路が実行するプログラム若しくはデータ処理の種類、あるいはデータ処理による異常の種別毎に、異常発生時の入出力端子の端子状態を制御する制御データを予め不揮発性記憶部に保存し、プログラム実行前若しくはプログラムの実行時に逐次に不揮発性記憶部に前記制御データを特定する検索キーを設定する。異常が発生した場合は、当該検索キーに基づいて参照された制御データに従って、入出力端子の状態をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定する。
【発明の効果】
【０００９】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１０】
すなわち、実行するプログラムの種類又は発生する異常の種類などの、動作開始後の状況に合わせて外部端子の状態をプログラマブルに固定することができる。したがって、半導体装置が認識した異常やそのとき当該半導体装置が実行中のプログラムに応じて、当該半導体装置の外部端子に接続された周辺回路の状態、更には当該半導体装置自らの状態を所要の状態に制御することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は本発明の第１の実施の形態に係る半導体装置を例示するブロック図である。
【図２】図２は図１の半導体装置のデータ処理動作に伴う不揮発性記憶部の動作タイミングを例示するタイミングチャートである。
【図３】図３は図１の半導体装置を用いたデータ処理システムを例示するブロック図である。
【図４】図４は図３のデータ処理システムの動作タイミングを例示するタイミングチャートである。
【図５】図５は図１の半導体装置を用いたデータ処理システムの別の例示を示すブロック図である。
【図６】図６は図５のデータ処理システムの動作タイミングを例示するタイミングチャートである。
【図７】図７は本発明の第２の実施の形態に係る半導体装置を例示するブロック図である。
【図８】図８は図７の半導体装置のデータ処理動作に伴う不揮発性記憶部を用いた動作タイミングを例示するタイミングチャートである。
【図９】図９は図７の半導体装置を用いたデータ処理システムを例示するブロック図である。
【図１０】図１０は図９のデータ処理システムで用いる第１ルックアップテーブル２４４の記憶情報を例示する説明図である。
【図１１】図１１は図９のデータ処理システムで用いる第２ルックアップテーブルの記憶情報を例示する説明図である。
【図１２】図１２は本発明の第３の実施の形態に係る半導体装置を例示するブロック図である。
【図１３】図１３は本発明の第４の実施の形態に係る半導体装置を例示するブロック図である。
【発明を実施するための形態】
【００１２】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１３】
〔１〕＜所定事象発生時の内部状態に応じた外部端子の設定、ハード依存＞
本発明の代表的な実施の形態に係る半導体装置（１００）は、複数個の外部端子（１０６）と、前記外部端子に接続されたインタフェース部（１０５）と、前記インタフェース部を制御するインタフェース制御部（１３２）と、を有する。更に前記半導体装置は、前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、及びその他のデータ処理を行うデータ処理部（１０１）と、前記データ処理部に接続された不揮発性記憶部（１４０）と、を有する。前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路（１１０）と、所定の前記外部端子に入力端子が接続された入力バッファ回路（１１１）と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路（１１２）とを有する。前記不揮発性記憶部は、前記外部端子の状態を指定するための状態指定コードを検索キーとする制御データのルックアップテーブル（１４１）を格納する領域を有し、前記データ処理部によるデータ処理に従って予め前記状態指定コードが格納され、前記データ処理部から所定事象の発生が通知されたとき前記データ処理に従って予め格納された前記状態指定コードを用いて前記ルックアップテーブルから制御データを読み出す。前記インタフェース制御部は前記読み出された前記制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する。
【００１４】
これにより、ルックアップテーブルを用意し、データ処理部によるデータ処理に従って予め状態指定コードを格納し、異常発生時などには当該状態指定コードを用いてルックアップテーブルを参照するから、実行するデータ処理状況に合わせて外部端子の状態をプログラマブルに設定することができる。特に、検索キーを用いたルックアップテーブルの検索と検索した制御データの入出力制御回路への供給を不揮発性記憶部が自立的に行うから、その処理には所定事象発生時にデータ処理部の健全性を担保しておくことを要しない。したがって、半導体装置が認識した異常やそのとき当該半導体装置が実行中のプログラムに応じて、当該半導体装置の外部端子に接続された周辺回路の状態、更には当該半導体装置自らの状態を所要の状態に制御することができる。
【００１５】
〔２〕＜予め不揮発性レジスタに格納された状態指定コードを異常発生時に用いる＞
項１の半導体装置において、前記不揮発性記憶部は、前記データ処理部によって前記状態指定コードを書き込み可能な不揮発性の状態指定コードレジスタ（１４３）を有し、前記データ処理部から所定事象の発生が通知されたとき前記状態指定コードレジスタの状態指定コードを用いて前記ルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する。
【００１６】
これによれば、データ処理の種別ごとにそれに対応する所定事象発生時の状態指定コードを不揮発性の状態指定コードレジスタにあらかじめ書き込めばよいから、予め設定された状態指定コードが所定事象の発生時によって失われたり変化されたりする事態の発生を未然に防止することができる。
【００１７】
〔３〕＜データ処理部がデータ処理の一環として不揮発性のレジスタに制御コードをセット＞
項２の半導体装置において、前記データ処理部はデータ処理の一環として、当該データ処理の先頭で所要の状態指定コードを予め前記状態指定コードレジスタに書き込む。
【００１８】
これによれば、データ処理部はデータ処理の種別ごとにそれに対応する所定事象発生時の状態指定コードを不揮発性記憶部に書き込む操作を負担すればよい。
【００１９】
〔４〕＜トライステート出力バッファをHiZにして端子状態を設定＞
項３の半導体装置において、前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する。
【００２０】
所定の事象が発生したときトライステート出力バッファがどの状態にあっても、制御データが指示する状態に外部入出力端子を安定化させることが容易になる。
【００２１】
〔５〕＜電源電圧低下に応じた端子状態の設定＞
項３の半導体装置において、前記所定の事象が電源検出器（１５２）によって検出される電源電圧の所定電圧以下への変化であるとき、前記不揮発性記憶部は、前記データ処理部から前記電源電圧の所定電圧以下への変化が通知されることにより、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する。
【００２２】
電源電圧の所定電圧以下への変化に応答して所定の外部端子の状態を所望に設定することができる。
【００２３】
〔６〕＜所定の割り込み要因又は例外要因に応じた端子状態の設定＞
項３の半導体装置において、前記所定の事象が所定の割り込み要因又は例外要因であるとき、前記不揮発性記憶部は、前記データ処理部から前記所定の割り込み要因又は例外要因の発生が通知されることにより、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する。
【００２４】
所定の割り込み要因又は例外要因の発生に応答して所定の外部端子の状態を所望に設定することができる。
【００２５】
〔７〕＜所定事象発生時の命令実行アドレスと当該事象発生要因に基づく外部端子の設定、ハード依存＞
本発明の別の実施の形態に係る半導体装置（２００）は、複数個の外部端子（１０６）と、前記外部端子に接続されたインタフェース部（１０５）と、前記インタフェース部を制御するインタフェース制御部（１３２）と、を有する。更に前記半導体装置は、前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、命令を実行するプログラム処理及びその他のデータ処理を行うデータ処理部（２０１）と、前記データ処理部に接続された不揮発性記憶部（２４０）と、を有する。前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路（１１０）と、所定の前記外部端子に入力端子が接続された入力バッファ回路（１１１）と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路（１１２）とを有する。前記不揮発性記憶部は、前記データ処理部による現在の実行命令アドレスを捕捉するための命令アドレス情報を逐次保持する不揮発性の実行アドレスレジスタ（２４３）を格納する領域を有する。更に前記不揮発性記憶部は、前記データ処理部が実行するプログラムアドレス範囲毎に、その範囲のプログラムの実行中に想定される所定事象の発生要因に外部端子の状態指定コードを対応付けた第１ルックアップテーブル（２４４）と、前記状態指定コードを検索キーとする制御データの第２ルックアップテーブル（２４１）と、を格納する領域を有する。更に前記不揮発性記憶部は、前記データ処理部から所定事象の発生が通知されたとき前記実行アドレスレジスタの命令アドレス情報及び当該所定事象の発生要因に基づいて前記第１ルックアップテーブルから状態指定コードを取得すると共に取得した状態指定コードを用いて前記第２のルックアップテーブルから制御データを読み出してインタフェース制御部に与える。前記インタフェース制御部は、与えられた制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する。
【００２６】
これにより、第１及び第２ルックアップテーブルを予め不揮発性メモリ部に用意し、データ処理の進行とともに実行アドレスレジスタの情報を実行アドレスのアドレス情報に書き換えてゆき、異常発生時などにはその実行アドレス情報に基づいて第１及び第２ルックアップテーブルを参照するから、実行するデータ処理状況に合わせて外部端子の状態をプログラマブルに設定することができる。特に、第１及び第２ルックアップテーブルを用いた制御データの検索と検索した制御データの入出力制御回路への供給を不揮発性記憶部が自立的に行うから、その処理には所定事象発生時にデータ処理部の健全性を担保しておくことを要しない。したがって、半導体装置が認識した異常やそのとき当該半導体装置が実行中のプログラムに応じて、当該半導体装置の外部端子に接続された周辺回路の状態、更には当該半導体装置自らの状態を所要の状態に制御することができる。
【００２７】
〔８〕＜MRAMで構成された実行アドレスレジスタ＞
項７の半導体装置において前記実行アドレスレジスタはMRAM（Magnetoresistive Random Access Memory）である。
【００２８】
命令実行サイクルに同期した命令アドレスの高速な書き換えが可能である。
【００２９】
〔９〕＜トライステート出力バッファをHiZにして端子状態を設定＞
項７の半導体装置において、前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する。
【００３０】
所定の事象が発生したときトライステート出力バッファがどの状態にあっても、制御データが指示する状態に外部入出力端子を容易に安定化させることが可能になる。
【００３１】
〔１０〕＜電源電圧低下に応じた端子状態の設定＞
項７の半導体装置において、前記所定の事象の発生要因が電源検出器によって検出される電源電圧の所定電圧以下への変化であるとき、前記不揮発性メモリ部は、前記所定電圧以下への変化による割り込み要因の発生が前記データ処理部から通知されることにより、前記実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第１ルックアップテーブルから取得する。そして、取得した状態指定コードを用いて前記第２のルックアップテーブルから制御データを取得して前記インタフェース部に出力する。
【００３２】
電源電圧の所定電圧以下への変化に応答して所定の外部端子の状態を所望に設定することができる。
【００３３】
〔１１〕＜所定の割り込み要因又は例外要因に応じた端子状態の設定＞
項７の半導体装置において、前記所定の事象の発生要因が所定の割り込み要因又は例外要因であるとき、前記不揮発性記憶部は、前記所定の割り込み要因又は例外要因の発生が前記データ処理部から通知されると、そのときの実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第１ルックアップテーブルから取得する。そして、取得した状態指定コードを用いて前記第２のルックアップテーブルから制御データを読み出して前記インタフェース部に出力する。
【００３４】
所定の割り込み要因又は例外要因の発生に応答して所定の外部端子の状態を所望に設定することができる。
【００３５】
〔１２〕＜所定事象発生時の内部状態に応じた外部端子の設定、ソフト依存＞
本発明の更に別の形態に係る半導体装置（３００）は、複数個の外部端子と、前記外部端子に接続されたインタフェース部と、前記インタフェース部を制御するインタフェース制御部と、前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、及びその他のデータ処理を行うデータ処理部（１０１Ａ）と、前記データ処理部に接続された不揮発性記憶部（１４０Ａ）と、を有する。前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路と、所定の前記外部端子に入力端子が接続された入力バッファ回路と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路とを有する。前記不揮発性記憶部は前記外部端子の状態を指定するための状態指定コードを検索キーとする制御データのルックアップテーブルを格納する領域を有する。前記データ処理部は、データ処理に従って予め前記状態指定コードを不揮発性記憶部に格納し、所定の事象の発生が通知されたとき、前記不揮発性記憶部に予め格納されている前記状態指定コードを用いて前記ルックアップテーブルから制御データを読み出す。前記インタフェース制御部は前記読み出された前記制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する。
【００３６】
項１２の半導体装置は項１の半導体装置に比べて状態指定コードによるルックアップテーブルの検索をデータ処理部で行う点が相違される。したがって、不揮発性記憶部は状態指定コードによるルックアップテーブルの検索機能を備えることを要せず、データ処理部を流用してソフトウェア処理で対処する事ができる。よって、所定事象発生時でもデータ処理部の健全性が担保されていることが前提となり、所定事象発生によってデータ処理部のデータ処理が還元に不能になるような事象の発生には対応することができない。その他の点ついては項１と同様の作用効果を奏する。
【００３７】
〔１３〕＜予め不揮発性レジスタに格納された状態指定コードを異常発生時に用いる＞
項１２の半導体装置において、前記不揮発性記憶部は前記データ処理部によって前記状態指定コードを書き込み可能な不揮発性の状態指定コードレジスタ（１４３）を有する。前記データ処理部は所定事象の発生を検出したとき前記状態指定コードレジスタの状態指定コードを用いて前記ルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する。
【００３８】
これによれば、データ処理の種別ごとにそれに対応する所定事象発生時の状態指定コードを不揮発性の状態指定コードレジスタにあらかじめ書き込めばよいから、予め設定された状態指定コードが所定事象の発生時によって失われたり変化されたりする事態の発生を未然に防止することができる。
【００３９】
〔１４〕＜データ処理部がデータ処理の一環として不揮発性のレジスタに制御コードをセット＞
項１３の半導体装置において、前記データ処理部はデータ処理の一環として、当該データ処理の先頭で所要の状態指定コードを予め前記状態指定コードレジスタに書き込む。
【００４０】
これによれば、データ処理部はデータ処理の種別ごとにそれに対応する所定事象発生時の状態指定コードを不揮発性記憶部に書き込む操作を負担すればよい。
【００４１】
〔１５〕＜トライステート出力バッファをHiZにして端子状態を設定＞
項１４の半導体装置において、前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する。
【００４２】
所定の事象が発生したときトライステート出力バッファがどの状態にあっても、制御データが指示する状態に外部入出力端子を安定化させることが容易になる。
【００４３】
〔１６〕＜電源電圧低下に応じた端子状態の設定＞
項１４の半導体装置において、前記所定の事象が電源検出器によって検出される電源電圧の所定電圧以下への変化であるとき、前記データ処理部は電源検出器の出力により前記電源電圧の所定電圧以下への変化を判別することにより、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する。
【００４４】
電源電圧の所定電圧以下への変化に応答して所定の外部端子の状態を所望に設定することができる。
【００４５】
〔１７〕＜所定の割り込み要因又は例外要因に応じた端子状態の設定＞
項１４の半導体装置において、前記所定の事象が所定の割り込み要因又は例外要因であるとき、前記データ処理部は前記所定の割り込み要因による割り込み処理又は所定の例外要因による例外処理によって、前記状態指定コードレジスタが保有する状態指定コードを用いてルックアップテーブルから検索した前記制御データを前記インタフェース部に出力する。
【００４６】
所定の割り込み要因又は例外要因の発生に応答して所定の外部端子の状態を所望に設定することができる。
【００４７】
〔１８〕＜所定事象発生時の命令実行アドレスと当該事象発生要因に基づく外部端子の設定、ソフト依存＞
本発明の更に別の形態に係る半導体装置（４００）は、複数個の外部端子と、前記外部端子に接続されたインタフェース部と、前記インタフェース部を制御するインタフェース制御部と、を有する。更に前記半導体装置は、前記インタフェース制御部から入力した入力信号の処理、前記インタフェース部から出力する出力信号の生成、命令を実行するプログラム処理及びその他のデータ処理を行うデータ処理部（２０１Ａ）と、前記データ処理部に接続された不揮発性記憶部（２４０Ａ）と、を有する。前記インタフェース部は、所定の前記外部端子に出力端子が接続されたトライステート出力バッファ回路と、所定の前記外部端子に入力端子が接続された入力バッファ回路と、所定の前記外部端子に接続され当該外部端子を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する端子状態設定回路とを有する。前記不揮発性記憶部は、前記データ処理部による現在の実行命令アドレスを捕捉するための命令アドレス情報を逐次保持する不揮発性の実行アドレスレジスタ（２４３）を格納する領域を有する。更に前記不揮発性記憶部は、前記データ処理部が実行するプログラムアドレス範囲毎に、その範囲のプログラムの実行中に想定される所定事象の発生要因に外部端子の状態指定コードを対応付けた第１ルックアップテーブル（２４４）と、前記状態指定コードを検索キーとする制御データの第２ルックアップテーブル（２４１）と、を格納する領域を有する。前記データ処理部は、所定の事象が発生したとき前記実行アドレスレジスタの命令アドレス情報及び当該所定事象の発生要因に基づいて前記第１ルックアップテーブルから状態指定コードを取得すると共に取得した状態指定コードを用いて前記第２のルックアップテーブルから制御データを読み出す。前記インタフェース制御部は、読み出された制御データに従って前記トライステート出力バッファ回路及び前記端子状態設定回路を制御して前記所定の外部端子の状態を決定する。
【００４８】
項１８の半導体装置は項７の半導体装置に比べて命令アドレスに基づく第１及び第２ルックアップテーブルの検索をデータ処理部で行う点が相違される。したがって、不揮発性記憶部は命令アドレスによる第１ルックアップテーブルの検索機能及び状態指定コードによる第２ルックアップテーブルの検索機能を備えることを要せず、データ処理部を流用してソフトウェア処理で対処する事ができる。よって、所定事象発生時でもデータ処理部の健全性が担保されていることが前提となり、所定事象発生によってデータ処理部のデータ処理が完全不能になるような事象の発生には対応することができない。その他の点については項７と同様の作用効果を奏する。
【００４９】
〔１９〕＜MRAMで構成された実行アドレスレジスタ＞
項１８の半導体装置において前記実行アドレスレジスタはMRAMである。
【００５０】
命令実行サイクルに同期した命令アドレスの高速な書き換えが可能である。
【００５１】
〔２０〕＜トライステート出力バッファをHiZにして端子状態を設定＞
項１８の半導体装置において、前記インタフェース制御部は、前記制御データに従って前記トライステート出力バッファをハイインピーダンスにして前記端子状態設定回路をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定する。
【００５２】
所定の事象が発生したときトライステート出力バッファがどの状態にあっても、制御データが指示する状態に外部入出力端子を用意に安定化させることが可能になる。
【００５３】
〔２１〕＜電源電圧低下に応じた端子状態の設定＞
項１８の半導体装置において、前記所定の事象の発生要因が電源検出器によって検出される電源電圧の所定電圧以下への変化であるとき、前記データ処理部は前記所定電圧以下への変化を要因とする割り込み処理によって、そのときの実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第１ルックアップテーブルから取得する。そして、取得した状態指定コードを用いて前記第２のルックアップテーブルから制御データを読み出して前記インタフェース部に出力する。
【００５４】
電源電圧の所定電圧以下への変化に応答して所定の外部端子の状態を所望に設定することができる。
【００５５】
〔２２〕＜所定の割り込み要因又は例外要因に応じた端子状態の設定＞
項１８の半導体装置において、前記所定の事象の発生要因が所定の割り込み要因又は例外要因であるとき、前記データ処理部は前記所定の割り込み要因による割り込み処理又は所定の例外要因による例外処理によって、そのときの実行アドレスレジスタの値と前記要因とに対応する前記状態指定コードを第１ルックアップテーブルから取得する。そして、取得した状態指定コードを用いて前記第２のルックアップテーブルから制御データを取得して前記インタフェース部に出力する。
【００５６】
所定の割り込み要因又は例外要因の発生に応答して所定の外部端子の状態を所望に設定することができる。
【００５７】
〔２３〕＜異常発生時のデータ処理状態に応じて外部端子を設定するシステム＞
本発明の更に別の実施の形態に係るデータ処理システムは、データ処理を行う第１半導体装置（１００，３００）と、前記第１半導体装置に接続されてその制御を受ける第２半導体装置（５００〜５０２）とを有する。前記第１半導体装置は、異常が発生したときに所定の入出力端子の端子状態を前記データ処理の処理毎の状態に応じて制御するための制御データを予め不揮発性メモリ部に保存し、データ処理の処理毎に不揮発性メモリ部に前記制御データを特定する検索キーを逐次設定する。前記第１半導体装置は、前記異常が発生したときは、当該検索キーに基づいて参照した制御データに従って、所定の入出力端子の状態をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定する。前記第２半導体装置は、前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定し、前記第１半導体装置は、前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定する。
【００５８】
これにより、第１半導体装置は実行するデータ処理状況に合わせて外部端子の状態をプログラマブルに固定することができる。したがって、第１半導体装置が認識した異常やそのとき当該半導体装置が実行中のプログラムに応じて、当該第１半導体装置の外部端子に接続された第２半導体装置の状態、更には第１半導体装置自らの状態を所要の状態に制御することができ、異常発生時におけるデータ処理システムの状態をプログラマブルに決定することが可能になる。
【００５９】
〔２４〕＜異常発生時の発生要因と実行プログラムアドレスに応じて外部端子を設定するシステム＞
本発明の更に別の実施の形態に係るデータ処理システムは、データ処理を行う第１半導体装置（２００，４００）と、前記第１半導体装置に接続されてその制御を受ける第２半導体装置（６００〜６０６）とを有する。前記第１半導体装置は、異常が発生したときに所定の入出力端子の端子状態を前記データ処理のプログラム範囲及びその範囲のプログラムの実行中に想定される所定事象の発生要因に応じて制御するための制御データを予め不揮発性メモリ部に保存し、データ処理の進行に伴って不揮発性メモリ部に前記制御データを特定する検索キーを逐次設定する。前記異常が発生したときは、当該検索キーに基づいて参照した制御データに従って、所定の入出力端子の状態をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定する。前記第２半導体装置は前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定し、前記第１半導体装置は前記所定の入出力端子の内の所要端子の状態を入力回路で受けて内部状態を決定する。
【００６０】
項２３のデータ処理システムに対して第１半導体装置は異常が発生したときに所定の入出力端子の端子状態を前記データ処理の処理状態だけでなく異常の種別にも応じて制御するための制御データを不揮発性メモリ部に保存する点が相違され、その相違点故に、項２３よりもきめ細かく外部端子の状態をプログラマブルに設定することが可能である。
【００６１】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００６２】
《実施の形態１》
図１には本発明の一実施の形態に係る半導体装置が例示される。同図に示される半導体装置１００は特に制限されないが公知のＣＭＯＳ集積回路製造技術によって単結晶シリコンのような１個の半導体基板に形成される。半導体装置は外部電源電圧Ｖｅｘｔとグランド電圧Ｖｓｓを受けて動作電源とする。
【００６３】
半導体装置１００はシステムオンチップのシステムＬＳＩ又はマイクロコンピュータのようなプログラム処理機能を備えたデータ処理デバイスとして構成される。半導体装置１００のデータ処理部としてのコアロジック（ＣＲＬＧＣ）１０１は、特に制限されないが、命令を実行するＣＰＵ（中央処理装置）、ＣＰＵで処理可能なデータ処理機能の一部を負担するアクセラレータ、ＣＰＵ等のワーク領域として利用されるＲＡＭ、及びタイマやＤＭＡＣ（ダイレクトメモリアクセスコントローラ）などのＣＰＵの周辺回路を備える。コアロジック１０１のＣＰＵはメモリバス１０３を介して接続されたプログラムメモリ１０２から命令をフェッチして実行する。
【００６４】
図１には代表的に一つの外部インタフェース部（ＥＸＩＦ）１０５が例示される。外部インタフェース部１０５には対応する外部端子１０６が接続される。外部インタフェース部１０５は、対応する外部端子１０６に出力端子が接続されたトライステート出力バッファ回路１１０、前記外部端子１０６に入力端子が接続された入力バッファ回路１１１、端子状態設定回路１１２、及びトライステート出力バッファ回路１１０のイネーブル信号生成回路１１３を備える。
【００６５】
端子状態設定回路１１２は、前記外部端子１０６に接続され選択スイッチ１２０を介して当該外部端子１０６を選択的にプルアップ、プルダウン、オープン又は前値保持の状態に設定する。プルアップの状態は選択スイッチ１２０で外部端子１０６を電源電圧Ｖｅｘｔに接続して達成される。プルダウンの状態は選択スイッチ１２０で外部端子１０６をグランド電圧Ｖｓｓに接続して達成される。オープンの状態は選択スイッチ１２０で外部端子１０６をフローティングノードＮＣに接続して達成される。前置保持の状態は選択スイッチ１２０で外部端子１０６をスタティックラッチＳＬＡＴに接続して達成される。トライステート出力バッファ回路１１０が出力動作可能にされるときは選択スイッチ１２０はオープン状態を選択する。端子状態設定回路１１２によって外部端子１０６をプルアップ、プルダウン、オープン又は前値保持の状態に設定するときトライステート出力バッファ回路１１０はハイインピーダンス状態にされる。
【００６６】
イネーブル信号生成回路１１３はトライステート出力バッファ回路１１０を出力動作可能にするとき選択スイッチ１２１を介して出力イネーブル信号１２２をハイレベルに、出力動作不可能にするとき選択スイッチ１２１を介して出力イネーブル信号１２２をローレベルにする。
【００６７】
インタフェース制御部（ＩＦＣＮＴ）１３２は選択スイッチ１２０のスイッチ制御信号１３０、選択スイッチ１２１のスイッチ制御信号１３１を生成する。インタフェース制御部１３２に対するスイッチ制御の指示はコアロジック１０１又は不揮発性記憶部１４０が与える。コアロジック１０１は、パワーオンリセット若しくはシステムリセットが解除されると、スイッチ制御信号１３１によって端子状態設定回路１１２にはフローティングノードＮＣを選択させる。プログラムメモリ１０２に格納されているプログラムにしたがったデータ処理動作によって外部端子１０６から出力動作を行うときはスイッチ制御信号１３０によりイネーブル信号生成回路１１３にトライステート出力バッファ回路１１０による出力動作可能な状態を選択させる。入力動作を行うときはスイッチ制御信号１３０によりイネーブル信号生成回路１１３にトライステート出力バッファ回路１１０のハイインピーダンス状態を選択させる。尚、外部インタフェース部１０５、外部端子１０６及びインタフェース制御部１３２は、特に図示はしないが、半導体装置１００に必要な分だけ多数配置されているものと理解されたい。
【００６８】
不揮発性記憶部１４０は半導体装置において所定事象の発生が検出されたとき外部端子１０６の状態を所定の状態に規制するための制御データの記憶と読み出し制御とを行う。以下その構成について詳述する。
【００６９】
不揮発性記憶部１４０は、電気的に書き換え可能な不揮発性メモリを主体に構成され、不揮発性メモリ領域にはルックアップテーブル１４１と状態指定コードレジスタ（ＩＣＲＥＧ）１４３が格納され、それらに対する消去及び書き込み制御及び記憶情報の読み出し制御を行うためのタイミングコントローラ（ＴＭＧＣＮＴ）１４２を備える。
【００７０】
ルックアップテーブル１４１は、１０６に代表される外部端子の状態を指定するための状態指定コードを検索キーとして複数の制御データを格納する。状態指定コードはコアロジック１０１の内部状態、更には半導体装置１００のその他の状態を想定して予め決定しておく。ここで、そのような想定すべき状態とは、コアロジック１０１によるデータ処理によって引き起こされた割り込みや例外などの状態だけでなく、外部入力端子１５０を介して外部から入力される特定の信号１５１によって通知されることによってコアロジック１０１の内部に発生する状態（例えば外部割込み要求による割り込み発生状態）である。電源検出器（ＬＶＤ）１５２による外部電源電圧Ｖｅｘｔの不所望なレベル低下の検出信号１５３で通知されることによってコアロジック１０１の内部に発生する状態なども考慮する。個々の内部状態毎に前記状態指定コードが割り当てられる。図１では状態１，状態２，…が状態指定コードを意味し、状態指定コード毎に端子１，端子２，…に対応する制御データＤ１１，Ｄ１２，…が格納される。例えば外部端子１０６の制御データは状態１のときＤ１１、状態２のときＤ２１となる。ルックアップテーブル１４１の書き込みは、リセット解除に応答してＣＰＵが外部からダウンロードしてメモリバス１０３経由で不揮発性メモリ部１４０に書き込んでも良いし、半導体装置の製造段階で予め書き込んでおき、必要に応じて書き換えるようにしてもよい。
【００７１】
状態指定コードレジスタ（ＩＣＲＥＧ）１４３にはＣＰＵが実行するプログラムに従ってメモリバス１０３経由で状態指定コードが書き込まれる。例えばイベントドリブン方式でプログラムを実行するような場合を想定すると、イベントに応じた個々のプログラムの実行開始毎に、夫々のプログラム実行で発生が想定される異常に対応するための状態指定コードを状態指定コードレジスタ１４３に書き込んでおく。コアロジック１０１はプログラムの実行、外部からの通知、電源電圧低下の通知などによって所定の内部状態の発生を検出すると、この検出信号１５５がタイミングコントローラ１４２に与えられる。これに応答してタイミングコントローラ１４２はそのとき状態指定コードレジスタ１４３にセットされている状態指定コードに一致する状態の制御データをルックアップテーブル１４１から検索し、検索した制御データをそれぞれ対応するインタフェース制御部１３２に与える。これによってインタフェース制御回路１３２は与えられた制御データにしたがって、トライステート出力バッファ回路１１０をハイインピーダンスにしてから、端子状態設定回路１１２によって対応する外部端子１０６をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定する。
【００７２】
図２には半導体装置１００のデータ処理動作に伴う不揮発性記憶部１４０の動作タイミングが例示される。
【００７３】
ここではコアロジック１０１のＣＰＵがプログラムＡ、Ｂ、Ｃの順に実行する場合を想定する。プログラムＡを実行するときその先頭でＣＰＵは状態指定コードレジスタ（ＩＣＲＥＧ）１４３に状態１に応ずる状態指定コードをメモリバス１０３経由で書き込む（Ｓ１）。ここで、状態１はプログラムＡの実行中に発生が想定される所定事象（所定の異常の発生）に対応される状態指定コードである。これに続いてＣＰＵはプログラムＡの実行を継続し、例えば割り込み（ＩＮＴ１）が発生することによってＣＰＵは退避動作を行ってプログラムＢの実行に遷移する。
【００７４】
プログラムＢを実行するときその先頭でＣＰＵは状態指定コードレジスタ（ＩＣＲＥＧ）１４３に状態２に応ずる状態指定コードをメモリバス１０３経由で転送して書き換える（Ｓ２）。ここで、状態２はプログラムＢの実行中に発生が想定される所定事象（所定の異常の発生）に対応される状態指定コードである。これに続いてＣＰＵはプログラムＢの実行を継続し、実行完了によってもとのプログラムＡの実行状態に復帰する。
【００７５】
プログラムＡの実行状態に復帰するときＣＰＵは状態指定コードレジスタ（ＩＣＲＥＧ）１４３に状態１に応ずる状態指定コードをメモリバス１０３経由で転送して書き換える（Ｓ３）。ＣＰＵはプログラムＡの実行を完了すると、次のプログラムＣの実行に移る。
【００７６】
プログラムＣを実行するときその先頭でＣＰＵは状態指定コードレジスタ（ＩＣＲＥＧ）１４３に状態３に応ずる状態指定コードをメモリバス１０３経由で転送して書き換える（Ｓ４）。ここで、状態３はプログラムＣの実行中に発生が想定される所定事象（所定の異常の発生）に対応される状態指定コードである。これに続いてＣＰＵはプログラムＣの実行を継続する。その途上で状態３に応ずる異常が発生すると（Ｓ５）、不揮発性記憶部１４０が状態３に応ずる各端子の制御データを対応するインタフェース制御部１３２に与え、インタフェース制御部１３２はその制御データに従って対応する外部端子１０６の状態をインタフェース回路１０５経由でプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に固定する（Ｓ６）。
【００７７】
図３には半導体装置１００を用いたデータ処理システムが例示される。半導体装置（ＬＳＩ）１００にはその外部端子を介して別の半導体装置（ＩＣ１、ＩＣ２，ＩＣ３）５００，５０１，５０２が接続される。図においてＩＯ０〜ＩＯ７のそれぞれは半導体装置１００の外部端子と対応するインタフェース回路を意味する。半導体装置（ＬＳＩ）１００は別の半導体装置５００，５０１，５０２と信号の入出力を行ってそれらを制御する。特に半導体装置（ＩＣ２）５０１はリセットＩＣとされる。
【００７８】
図４には図３のデータ処理システムの動作タイミングが例示される。ここでは、所定事象の発生によって状態が固定される外部端子の状態を他の半導体装置が入力してその動作モードを決定する場合を例示する。
【００７９】
時刻ｔ０でＣＰＵは状態指定コードレジスタ（ＩＣＲＥＧ）１４３に状態ｘに応ずる状態指定コードを書き込んでプログラム、例えば演算量の多いプログラムを実行する。そのプログラムの実行途上において時刻ｔ１でＣＰＵに状態ｘに応ずるエラーが発生され、ＣＰＵの状態が不安定になる。時刻ｔ１までのＣＰＵの安定状態では半導体装置（ＩＣ１）５００と半導体装置（ＩＣ３）５０２は所定のオペレーションを行い、半導体装置（ＩＣ２）５０１はリセット信号をリセット解除状態で出力しているものとする。時刻１でエラーが発生すると、半導体装置１００はＩＯ１、ＩＯ２、ＩＯ３の外部端子をそれぞれＬ（ローレベル）、Ｈ（ハイレベル）、Ｈ（ハイレベル）に固定する。この状態を受ける半導体装置（ＩＣ１）５００は自己診断モードに遷移する。例えばその診断結果を半導体装置（ＩＣ２）５０１が受け取ることによって時刻ｔ２にリセットを発行し、これによって半導体装置１００，５００，５０２のシステムリセットが行われ、時刻ｔ３でシステムリセットが解除されることによってそれ以降、半導体装置１００、５００、５０２は所定のオペレーションが可能にされる。尚、図４の例では半導体装置（ＩＣ３）５０２に対してエラー発生による外部端子固定機能は非活性にされているものとした。
【００８０】
図５には半導体装置１００を用いたデータ処理システムが例示される。基本的な構成は図３と同様であるが、ここでは、所定事象の発生によって状態が固定される外部端子の状態を半導体装置１００自らが入力して自らの状態を規定する場合を例示する。ここの趣旨にしたがって半導体装置１００の内部には外部端子ＩＯ５，ＩＯ６については入力バッファ回路１１１と端子状態設定回路１１２の一部を図示してある。
【００８１】
図６には図５のデータ処理システムの動作タイミングが例示される。ここでは、所定事象の発生によって状態が固定される外部端子ＩＯ５，ＩＯ６の状態を半導体装置１００自らが入力バッファ回路１１１から入力して自らの状態を規定する場合を例示する。
【００８２】
時刻ｔ０でＣＰＵは状態指定コードレジスタ（ＩＣＲＥＧ）１４３に状態ｘに応ずる状態指定コードを書き込んでプログラム、例えば演算量の多いプログラムを実行する。そのプログラムの実行途上において時刻ｔ１でＣＰＵに状態ｘに応ずるエラーが発生され、ＣＰＵの状態が不安定になる。時刻ｔ１までのＣＰＵの安定状態では半導体装置（ＩＣ１）５００と半導体装置（ＩＣ３）５０２は所定のオペレーションを行い、半導体装置（ＩＣ２）５０１はリセット信号をリセット解除状態で出力しているものとする。時刻１でエラーが発生すると、半導体装置１００はＩＯ１、ＩＯ２、ＩＯ３の外部端子をそれぞれＬ（ローレベル）、Ｈ（ハイレベル）、Ｈ（ハイレベル）に固定し、且つ、ＩＯ５の外部端子をプリアップとし、ＩＯ６の外部端子をプルダウンに固定する。この状態を受ける半導体装置（ＩＣ１）５００は自己診断モードに遷移する。半導体装置（ＩＣ３）５０２はＩＯ５，ＩＯ６に対応する外部端子をそれぞれハイインピーダンスにするが、半導体装置（ＬＳＩ）１００は、ＩＯ５，ＩＯ６に対する外部端子から入力バッファ回路１１１への入力がフローティングにされることによって不定になるのを自ら抑制しながら内部状態を維持する。この間に半導体装置（ＩＣ１）５００による診断結果を半導体装置（ＩＣ２）５０１が受け取ることによって時刻ｔ２にリセットを発行し、これによって半導体装置１００，５００，５０２のシステムリセットが行われ、時刻ｔ３でシステムリセットが解除されることによってそれ以降、半導体装置１００、５００、５０２は所定のオペレーションが可能にされる。
【００８３】
実施の形態１によれば以下の作用効果を得る。
【００８４】
（１）ルックアップテーブル１４１を用意し、コアロジック１０１によるデータ処理に従って予め状態指定コードを状態指定コードレジスタ１４３に格納し、異常発生時などには当該状態指定コードを用いてルックアップテーブル１４１を参照するから、実行するデータ処理状況に合わせて外部端子の状態をプログラマブルに設定することができる。特に、ルックアップテーブル１４１の検索と検索した制御データの入出力制御回路１３２への供給を不揮発性記憶部１４０が自立的に行うから、その処理には所定事象発生時にコアロジック１０１の健全性を担保しておくことを要しない。したがって、半導体装置１００が認識した異常やそのとき当該半導体装置１００が実行中のプログラムに応じて、当該半導体装置１００の外部端子１０６に接続された回路５００，５０１，５０２の状態、更には当該半導体装置１００自らの状態を所要の状態に制御することができる。
【００８５】
（２）実行するプログラムもしくは処理毎にそれに対応する所定事象発生時の状態指定コードを最初に不揮発性の状態指定コードレジスタ１４３に書き込めばよいから、予め設定された状態指定コードが所定事象の発生時によって失われたり変化されたりする事態の発生を未然に防止することができる。
【００８６】
（３）コアロジック１０１は実行するプログラム若しくは処理毎にそれに対応する所定事象発生時の状態指定コードを状態指定コードレジスタ１４３に書き込む操作を負担すればよい。
【００８７】
（４）制御データに従ってトライステート出力バッファ１１０をハイインピーダンスにして前記端子状態設定回路１１２をプルアップ、プルダウン、オープン又は前値保持の状態とすることにより前記所定の外部端子の状態を決定するから、所定の事象が発生したときトライステート出力バッファ１１０がどの状態にあっても、制御データが指示する状態に外部入出力端子１０６を安定化させることが容易になる。
【００８８】
（５）電源検出器１５２によって検出される電源電圧の所定電圧以下への変化、所定の割り込み要因又は例外要因の発生だけでなく、電源上昇検出、ＰＬＬ回路のロックはずれ、水晶発振の発振停止検出などの異常の種類に応じて、外部端子の状態をプログラマブルに設定することができる。
【００８９】
（６）不揮発性記憶部にＭＲＡＭのような高速に書き換え可能な記憶形式を採用することにより、処理プログラムが変わる毎に状態指定コードを書き換えるために、フラッシュメモリに必要とされるような数１００マイクロ秒というような時間を費やすことを要しない。従って、リアルタイム性を要するシステムにも好適である。
【００９０】
《実施の形態２》
図７には本発明の第２の実施の形態に係る半導体装置が例示される。同図に示される半導体装置２００は図１に比べて不揮発性記憶部の構成とその制御手法が相違される。
【００９１】
半導体装置２００はシステムオンチップのシステムＬＳＩ又はマイクロコンピュータのようなプログラム処理機能を備えたデータ処理デバイスとして構成される。半導体装置２００のデータ処理部としてのコアロジック（ＣＲＬＧＣ）２０１は、特に制限されないが、命令を実行するＣＰＵ（中央処理装置）、ＣＰＵで処理可能なデータ処理機能の一部を負担するアクセラレータ、ＣＰＵ等のワーク領域として利用されるＲＡＭ、及びタイマやＤＭＡＣ（ダイレクトメモリアクセスコントローラ）などのＣＰＵの周辺回路を備える。コアロジック２０１のＣＰＵはメモリバス１０３を介して接続されたプログラムメモリ１０２から命令をフェッチして実行する。
【００９２】
図７には代表的に一つの外部インタフェース部（ＥＸＩＦ）１０５が例示される。外部インタフェース部１０５には対応する外部端子１０６が接続される。外部インタフェース部１０５の構成は図１と同様である。外部インタフェース部１０５を制御するインタフェース制御部（ＩＦＣＮＴ）１３２についても図1と同様に構成される。インタフェース制御部１３２に対するスイッチ制御の指示はコアロジック２０１又は不揮発性記憶部２４０が与える。コアロジック２０１は、パワーオンリセット若しくはシステムリセットが解除されると、スイッチ制御信号１３１によって端子状態設定回路１１２にはフローティングノードＮＣを選択させる。プログラムメモリ１０２に格納されているプログラムにしたがったデータ処理動作によって外部端子１０６から出力動作を行うときはスイッチ制御信号１３０によりイネーブル信号生成回路１１３にトライステート出力バッファ回路１１０による出力動作可能な状態を選択させる。入力動作を行うときはスイッチ制御信号１３０によりイネーブル信号生成回路１１３にトライステート出力バッファ回路１１０のハイインピーダンス状態を選択させる。尚、外部インタフェース部１０５、外部端子１０６及びインタフェース制御部１３２は、特に図示はしないが、半導体装置１００に必要な分だけ多数配置されているものと理解されたい。
【００９３】
不揮発性記憶部２４０は半導体装置において所定事象の発生が検出されたとき外部端子１０６の状態を所定の状態に規制するための制御データの記憶と読み出し制御とを行う。以下その構成について詳述する。
【００９４】
不揮発性記憶部２４０は、電気的に書き換え可能な不揮発性メモリを主体に構成され、不揮発性メモリ領域には第１ルックアップテーブ２４４、第２ルックアップテーブル２４１、実行アドレスレジスタ（ＥＡＲＥＧ）２４３が格納され、それらに対する消去及び書き込み制御及び記憶情報の読み出し制御を行うためのタイミングコントローラ（ＴＭＧＣＮＴ）２４２を備える。
【００９５】
第１ルックアップテーブル２４４は、データ処理部としてのコアロジック２０１が実行するプログラムアドレス範囲毎に、その範囲のプログラムの実行中に想定される所定事象の発生要因に外部端子の状態指定コードを対応付けたテーブルである。プログラムの実行中に想定される所定事象とは、コアロジック２０１の内部状態、更には半導体装置２００のその他の状態を想定して決定される。ここで、そのような想定すべき状態とは、コアロジック２０１によるデータ処理によって引き起こされた割り込みや例外などの状態だけでなく、外部入力端子１５０を介して外部から入力される特定の信号１５１によって通知されることによってコアロジック２０１の内部に発生する状態（例えば外部割込み要求による割り込み発生状態）である。また、電源検出器（ＬＶＤ）１５２による外部電源電圧Ｖｅｘｔの不所望なレベル低下の検出信号１５３で通知されることによってコアロジック２０１の内部に発生する状態なども考慮する。ここでは、所定事象の発生要因として、割り込みや例外などの要因を想定する。実行するプログラムアドレス範囲は例えば開始アドレスと終了アドレスによって、或いは開始アドレスとプログラムサイズなどによって特定することができる。図７において第１ルックアップテーブル２４４は、プログラムの開始アドレス（ＳＡ）と終了アドレス（Ｅ）で特定されるプログラム毎にその実行途上で発生することが想定される割り込みや例外などの異常要因に対応する内部状態に則して状態指定コードを保持する。図では状態指定コードを状態１、状態８、状態３のように例示してある。
【００９６】
第２ルックアップテーブル２４１はルックアップテーブル１４１と同様に構成され、外部端子の状態を指定するための状態指定コードを検索キーとして複数の制御データを格納する。図では状態１，状態２，…が状態指定コードを意味し、状態指定コード毎に端子１，端子２，…に対応する制御データＤ１１，Ｄ１２，…が格納される。例えば外部端子１０６の制御データは状態１のときＤ１１、状態２のときＤ２１となる。
【００９７】
ルックアップテーブル２４１、２４４の書き込みは、リセット解除に応答してＣＰＵが外部からダウンロードしてメモリバス１０３経由で不揮発性メモリ部２４０に書き込んでも良いし、半導体装置の製造段階で予め書き込んでおき、必要に応じて書き換えるようにしてもよい。
【００９８】
実行アドレスレジスタ（ＥＡＲＥＧ）２４３はコアロジック２０１のＣＰＵによる現在の実行命令アドレスを捕捉するための命令アドレス情報を逐次保持する不揮発性のレジスタである。例えば、実行アドレスレジスタ２４３にはＣＰＵが実行する命令のアドレス、例えばＣＰＵのプログラムカウンタの値が専用信号線２５７から実行アドレスレジスタ２４３に直接与えられて書き込まれる。メモリバス１０３経由で書き込むようにすることも可能である。したがって、ＣＰＵの命令実行サイクルに対して実行アドレスレジスタ２４３への実行アドレスの書き込みは高速に行うことが必要になるから、不揮発性メモリ部２４０はフラッシュメモリよりもＭＲＡＭのように書き込みアクセス速度の速いメモリを用いることが得策である。また、実行アドレスレジスタ２４３に格納する実行アドレスは、プログラムの境界アドレスを特定できる上位側のアドレス情報に限定することも可能である。
【００９９】
コアロジック２０１はプログラムの実行、外部からの通知、電源電圧低下の通知などによって所定の内部状態の発生を検出すると、その検出信号２５５とその内部状態の発生要因２５６とをタイミングコントローラ２４２に与える。これに応答してタイミングコントローラ２４２は、そのとき実行アドレスレジスタ２４３にセットされている命令アドレスを含むプログラムアドレス範囲の状態エントリを第１ルックアップテーブル２４４から参照し、当該状態エントリの中から、そのときの異常発生要因に応ずる状態指定コードを抽出する。更にタイミングコントローラ２４２は抽出した状態指定コードに一致する状態の制御データを第２ルックアップテーブル２４１から検索し、検索した制御データをそれぞれ対応するインタフェース制御部１３２に与える。これによってインタフェース制御回路１３２は与えられた制御データにしたがって、トライステート出力バッファ回路１１０をハイインピーダンスにしてから、端子状態設定回路１１２によって対応する外部端子１０６をプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に設定する。
【０１００】
図８には半導体装置２００のデータ処理動作に伴う不揮発性記憶部１４０を用いた動作タイミングが例示される。
【０１０１】
ここではコアロジック２０１のＣＰＵがプログラムＡ、プログラムＢ、Ｃの順に実行する場合を想定する。不揮発性メモリ部２４０の実行アドレスレジスタ２４３はＣＰＵが現在実行する命令のアドレスを逐次受け取って保持する。従って実施の形態１で説明したようにプログラムの先頭でＣＰＵが状態指定コードレジスタ１４３に対応する状態指定コードを書き込む処理は必要とされない。プログラムＣの実行途上で異常、例えば電源異常が発生すると、それに応ずる割り込み要因と異常発生がタイミングコントローラ２４２に通知されることにより、そのとき実行アドレスレジスタ２４３が保有するアドレス情報によって第１ルックアップテーブル２４４が参照されて状態指定コードが取得され、これによって第２ルックアップテーブル２４１からインタフェース制御部１３２に制御データが供給される。これによってインタフェース制御部１３２はその制御データに従って対応する外部端子１０６の状態をインタフェース回路１０５経由でプルアップ、プルダウン、ハイインピーダンス又は前値保持の状態に固定する。
【０１０２】
図９には半導体装置２００を用いたデータ処理システムが例示される。半導体装置２００はマスタマイコンとされ、その外部端子を介して別の半導体装置として、リセットＩＣ６００、通信先マイコン６０１、センサ６０２、センサ６０３、周辺ＩＣ６０４、サブマイコン６０５、及び電源ＩＣ６０６が接続される。
【０１０３】
例えばこのデータデータ処理システムでマスタマイコンが暴走したとき、これに接続されている回路に対して、動作中のプログラムや動作状態に応じてマスタマイコン２００の外部端子の状態をプログラマブルに固定する場合を一例にその動作を説明する。例えば、ある動作状態においてマスタマイコン２００が暴走したとき、リセットＩＣ６００に対してリセット発行フラグを供給し（Ｉ１）、電源ＩＣ６０６には自己診断及び電源復帰命令を発行し（Ｉ２）、周辺ＩＣ６０４には現状保持を指示する（Ｉ３）、場合について想定する。このとき第１ルックアップテーブル２４４は図１０の記憶情報を有し、第２ルックアップテーブル２４１は図１１の記憶情報を有する。図１０においてＡ２〜Ａ３のアドレス範囲においてリセット例外を異常発生の要因とするとき状態指定コードには状態２が設定されている。図１１では状態２における外部端子ＰＡ０〜Ｐｘｘの制御データには、Ｈｉｚ，Ｐｕｌｌ−ｕｐ，Ｐｕｌｌ−Ｄｏｗｎ，…，Ｐｕｌｌ−Ｄｏｗｎが設定されている。外部端子ＰＡ１はリセット発行フラグの出力端子、外部端子ＰＡ２は自己診断及び電源復帰命令の出力端子、Ｐｘｘは周辺ＩＣ６０４に対する現状保持の指示端子に割りあてられる。マスタマイコン２００がＡ２〜Ａ３のアドレス範囲のプログラムを実行しているとき、リセット例外が発生すると、図１０の第１ルックアップテーブル２４４と図１１の第２ルックアップテーブル２４１の記憶情報に従ってたとえばリセットＩＣ６００に対してリセット発行フラグを供給し（Ｉ１）、電源ＩＣ６０６には自己診断及び電源復帰命令を発行（Ｉ２）する。これにより、周辺ＩＣ６０４には現状保持を指示する（Ｉ３）ために必要な外部端子ＰＡ１，ＰＡ２，ＰＡｘｘの状態が生成される。
【０１０４】
実施の形態２によれば以下の作用効果を得る。
【０１０５】
第１及び第２ルックアップテーブル２４４，２４１を予め不揮発性メモリ部２４０に用意し、データ処理の進行とともに実行アドレスレジスタ２４０の情報を実行アドレスのアドレス情報に書き換えてゆき、異常発生時などにはその実行アドレス情報に基づいて第１及び第２ルックアップテーブル２４４，２４１を参照するから、実行するデータ処理状況に合わせて外部端子１０６の状態をプログラムブルに設定することができる。特にプログラムアドレスに基づいて制御データを指定することができ、更に２個のルックアップテーブル２４４，２４１を用いて制御データの参照を行うから、外部端子に対して更に柔軟に状態設定を行うことができる。特に、第１及び第２ルックアップテーブル２４４，２４１を用いた制御データの検索と検索した制御データの入出力制御回路１３２への供給を不揮発性記憶部２４０が自立的に行うから、実施の形態１と同様に、その処理には所定事象発生時にデータ処理部の健全性を担保しておくことを要しない。したがって、半導体装置２００が認識した異常やそのとき当該半導体装置１００が実行中のプログラムに応じて、当該半導体装置１００の外部端子１０６に接続された周辺回路６００〜６０６の状態、更には当該半導体装置１００自らの状態を所要の状態に制御することができる。
【０１０６】
その他、実施の形態１と同様の作用効果を奏する。
【０１０７】
《実施の形態３》
図１２には本発明の第３の実施の形態に係る半導体装置３００が例示される。実施の形態１との相違点は、所定事象が発生したとき状態指定コードレジスタ１４３のアドレス情報を用いたルックアップテーブル１４１の参照主体がコアロジック１０１Ａであるという点である。そのような参照を不揮発性記憶部１４０Ａが自立的におこなうことを要しないから実施の形態１における所定事象の検出信号１５５を不揮発性メモリ部１４０Ａに与える必要はない。不揮発性記憶部１４０Ａの内部タイミング制御はタイミングコントローラ１４２Ａが行う。例えば、割り込みや例外などの所定の事象が発生したとき、コアロジック１０１Ａはメモリバス１０３を介して状態指定コードレジスタ１４３のアドレス情報をリードし、リードしたアドレス情報を用いてルックアップテーブル１４１から対応する制御データを読み出し制御する。図においてリードデータはルックアップテーブル１４１から直接インタフェース制御部１３２に供給されているが、これに限定されず、コアロジックが制御データを読み込んで、インタフェース制御部１３２に供給してもよい。その他の構成は実施の形態１と同様であるからその詳細な説明は省略する。
【０１０８】
半導体装置３００は状態指定コードによるルックアップテーブル１４１の検索をコアロジック１０１Ａで行うから、不揮発性記憶部１４０Ａは状態指定コードによるルックアップテーブル１４１の検索機能を備えることを要せず、コアロジック１０１Ａを流用してソフトウェア処理で対処する事ができる。よって、所定事象発生時でもコアロジック１０１Ａの健全性が担保されていることが前提となり、所定事象発生によってコアロジック１０１Ａのデータ処理が完全に不能になるような事象の発生には対応することができない。その他の点ついては実施の形態１と同様の作用効果を奏する。
【０１０９】
《実施の形態４》
図１３には本発明の第４の実施の形態に係る半導体装置４００が例示される。実施の形態２との相違点は、所定事象が発生したとき実行アドレスレジスタ２４３のアドレス情報を用いたルックアップテーブル２４４，２４１の参照主体がコアロジック２０１Ａであるという点である。そのような参照を不揮発性記憶部２４０Ａが自立的におこなうことを要しないから実施の形態２における所定事象の検出信号２５５及びその発生要因２５６を不揮発性記憶部２４０Ａに与える必要はない。不揮発性記憶部２４０Ａの内部タイミング制御はタイミングコントローラ２４２Ａが行う。例えば、割り込みや例外などの所定の事象が発生したとき、コアロジック２０１Ａはメモリバス１０３を介して実行アドレスレジスタ２４３のアドレス情報をリードし、リードしたアドレス情報を用いて第１ルックアップテーブル２４４から対応する状態指定コードをリードし、更にリードした状態指定コードを用いて第２ルックアップテーブル２４１から制御データを読み出し制御する。図においてリードされた制御データは第２ルックアップテーブル２４１から直接インタフェース制御部１３２に供給されているが、これに限定されず、コアロジック２０１Ａが制御データを読み込んで、インタフェース制御部１３２に供給してもよい。その他の構成は実施の形態１と同様であるからその詳細な説明は省略する。
【０１１０】
半導体装置４００は実施の形態２の半導体装置２００に比べて命令アドレスに基づく第１及び第２ルックアップテーブル２４４，２４１の検索をコアロジック２０１Ａで行うから、不揮発性記憶部２４０Ａは命令アドレスによる第１ルックアップテーブル２４４の検索機能及び状態指定コードによる第２ルックアップテーブル２４１の検索機能を備えることを要せず、コアロジック２０１Ａを流用してソフトウェア処理で対処する事ができる。よって、所定事象発生時でもコアロジック２０１Ａの健全性が担保されていることが前提となり、所定事象発生によってコアロジック２０１Ａのデータ処理が完全に不能になるような事象の発生には対応することができない。その他の点ついては実施の形態２と同様の作用効果を奏する。
【０１１１】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１１２】
例えば、外部端子の状態を設定するトリガとなる所定事象の発生は、上述した電源低下検出、電源上昇検出、ＰＬＬのロックはずれ、水晶発振の発振停止検出などに限定されず適宜変更可能である。
【０１１３】
外部端子の状態を設定する設定態様はレベル固定に限定されず、一定の周波数でＨ→Ｌ→Ｈ→…のように周期的に若しくは所定の信号波形を形成するように外部端子の電圧レベルを変更するようにしてもよい。
【０１１４】
不揮発性メモリ部はＣＭＯＳプロセスで形成されるオンチップＳＲＡＭと同程度のアクセス速度を実現することができるＭＲＡＭに限定されず、電気的に書き換え可能な不揮発性メモリであるフラッシュメモリ又はＥＥＰＲＯＭなどを主体として構成することも可能である。
【０１１５】
実施の形態２，４において実行アドレスレジスタ２４３に書き込まれる実行命令のアドレス情報は直接コアロジックから当該レジスタ２４３に供給される場合に限定されず、タイミングコントローラ２４２を経由して行ってもよい。
【符号の説明】
【０１１６】
１００  半導体装置
Ｖｅｘｔ  外部電源電圧
Ｖｓｓ  グランド電圧
１０１  コアロジック（ＣＲＬＧＣ）
１０３  メモリバス
１０２  プログラムメモリ
１０５  外部インタフェース部（ＥＸＩＦ）
１０６  外部端子
１１０  トライステート出力バッファ回路
１１１  入力バッファ回路
１１３  イネーブル信号生成回路
１２２  出力イネーブル信号
１２２をハイレベルに、出力動作不可能にするとき選択スイッチ１２１を介して出力イネーブル信号１２２をローレベルにする。
【０１１７】
１３２  インタフェース制御部（ＩＦＣＮＴ）
１３０，１３１  スイッチ制御信号
１４０  不揮発性記憶部
１０２  プログラムメモリ
１４１  ルックアップテーブル
１４３  状態指定コードレジスタ（ＩＣＲＥＧ）
１４２  タイミングコントローラ（ＴＭＧＣＮＴ）
１５５  検出信号
２００  半導体装置
２０１  コアロジック（ＣＲＬＧＣ）
２４０  不揮発性記憶部
２４４  第１ルックアップテーブ
２４１  第２ルックアップテーブル
２４３  実行アドレスレジスタ（ＥＡＲＥＧ）
２４２  タイミングコントローラ（ＴＭＧＣＮＴ）
２５５  検出信号
２５６  内部状態の発生要因
３００  半導体装置
１０１Ａ  コアロジック
１４０Ａ  不揮発性記憶部
１４２Ａ  タイミングコントローラ
４００  半導体装置
２０１Ａ  コアロジック
２４０Ａ  不揮発性記憶部
２４２Ａ  タイミングコントローラ
【図１】
2012222614.tif 000003
【図２】
2012222614.tif 000004
【図３】
2012222614.tif 000005
【図４】
2012222614.tif 000006
【図５】
2012222614.tif 000007
【図６】
2012222614.tif 000008
【図７】
2012222614.tif 000009
【図８】
2012222614.tif 000010
【図９】
2012222614.tif 000011
【図１０】
2012222614.tif 000012
【図１１】
2012222614.tif 000013
【図１２】
2012222614.tif 000014
【図１３】
2012222614.tif 000015