(57)【要約】      （修正有）【課題】ＤＭＡコントローラ全体の故障を検知する機能を持った集積回路を提供する。【解決手段】制御対象のデバイスと、プロセッサ１５と、プロセッサ命令に基づいてデバイス間のデータ転送を制御するＤＭＡコントローラ１６と、バス１７と、ＤＭＡコントローラ１６の故障を診断する故障診断器１８とを備え、故障診断器１８は、ＤＭＡコントローラ１６への転送要求の通知からバス１７への転送元アドレス信号の出力に至る時間を制限時間としてプロセッサ命令により設定され転送要求の通知により計時を開始するタイマ２２と、タイマ２２の計時をＤＭＡコントローラ１６からバス１７への転送元アドレス信号の出力により止めるモニタ２３と、その計時結果が制限時間値を越えていることにより故障の発生を検知する検知器２４とを備える集積回路。【選択図】図３
2014209312.tif 000002
【特許請求の範囲】
【請求項１】
制御対象となる複数のデバイスと、
前記複数のデバイスを制御するプロセッサと、
前記プロセッサの命令に基づいて前記複数のデバイス間のデータ転送を制御するダイレクトメモリアクセス（ＤＭＡ）コントローラと、
前記ＤＭＡコントローラ、前記プロセッサおよび前記複数のデバイスに共通に接続されたバスと、
前記ＤＭＡコントローラに接続され前記ＤＭＡコントローラの故障を診断する故障診断器と、を備え、
前記故障診断器は、
前記ＤＭＡコントローラへの転送要求の通知から前記バスへの転送元アドレス信号の出力に至る時間を制限時間として前記プロセッサにより設定され、前記転送要求の通知により計時を開始するタイマと、
前記タイマの計時を前記ＤＭＡコントローラから前記バスへの前記転送元アドレス信号の出力によって停止させるモニタと、
前記モニタにより停止された前記計時の結果が前記制限時間を越えていることにより前記故障の発生を検知する検知器と、
を備える集積回路。
【請求項２】
制御対象となる複数のデバイスと、
前記複数のデバイスに対するプロセッサ命令に基づいて前記複数のデバイス間のデータ転送を制御するダイレクトメモリアクセスコントローラと、
前記ＤＭＡコントローラおよび前記複数のデバイスに共通に接続されたバスと、
前記ＤＭＡコントローラに接続され前記ＤＭＡコントローラの故障を診断する故障診断器と、を備え、
前記故障診断器は、
前記ＤＭＡコントローラへの転送要求の通知から前記バスへの転送元アドレス信号の出力に至る時間を制限時間として前記プロセッサ命令により設定され、前記転送要求の通知により計時を開始するタイマと、
前記タイマの計時を前記ＤＭＡコントローラから前記バスへの前記転送元アドレス信号の出力によって停止させるモニタと、
前記モニタにより停止された前記計時の結果が前記制限時間を越えていることにより前記故障の発生を検知する検知器と、
を備える集積回路。
【請求項３】
前記検知器は、
前記プロセッサにより設定される転送元の第１アドレスおよび前記モニタによる前記転送元アドレス信号の第２アドレスを比較する第１比較器と、
前記第１比較器からの各アドレス間の一致を示す結果により前記計時を停止させる前記タイマの計時結果および前記制限時間の上限値を比較する第２比較器と、
を備える請求項１又は請求項２記載の集積回路。
【請求項４】
前記ＤＭＡコントローラは複数のＤＭＡ転送要求についての設定値を記憶する複数のレジスタを備え、
前記レジスタ毎に前記設定値のマスク又は前記マスクの解除を操作し、前記マスクの解除により有効化された前記ＤＭＡ転送要求に対する前記故障の検知を遂行するマスク記憶部を備える請求項１又は請求項２記載の集積回路。
【請求項５】
前記ＤＭＡコントローラは、アクセス可能な第１記憶領域および前記アクセスが制限される第２記憶領域を有する第１内部メモリと、それぞれ前記第１内部メモリへのアクセスを制御する複数のポートと、前記複数のポートのうちの何れかにより前記第１記憶領域へのアクセスをプロテクトし、何れか他のポートにより前記第２記憶領域へのアクセスに対しては許可するアクセス設定部とを備え、
前記ポート毎に前記アクセスの制限を解除し、解除により有効化される前記ポートによるＤＭＡ転送要求に対する故障の検知を遂行するメモリプロテクション設定部を備える請求項１又は請求項２記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
一実施形態は集積回路に関する。
【背景技術】
【０００２】
近年、自動車向けの電気又は電子部品を対象とする機能安全注に関する規格が定められている（例えば非特許文献１参照）。自動車にはフェールセーフ機能を有する制御用のマイクロコントローラが設けられており、このマイクロコントローラには高い故障検出率が求められている。マイクロコントローラはＤＭＡ（ｄｉｒｅｃｔ ｍｅｍｏｒｙ ａｃｃｅｓｓ）コントローラを有する。
【０００３】
ＤＭＡコントローラは、内部に転送チャネル間の調停回路を持っているため、転送要求が来てもすぐに当該転送が始まるとは限らない。このため、従来、故障の監視回路は、ＤＭＡコントローラ内部の調停回路を意識するような構成（例えば特許文献１、２参照）を採る。或いは、監視回路は、それぞれのＤＭＡコントローラ内部を完全にブラックボックス化した二つのＤＭＡコントローラを用いたデュアルロックステップ［ｄｕａｌ ｌｏｃｋ ｓｔｅｐ］（デュアルコアロックステップ）方式によりＤＭＡコントローラ間をクロック単位で比較する構成（例えば特許文献３参照）を採る。従来の監視回路はこれらのうちのどちらかの構成を採るしかなかったが、前者、即ち調停回路による回路構成は複雑であるため、デュアルロックステップ方式による監視回路が大勢を占めている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平２−２７１４４９号公報
【特許文献２】特開平２−５８１４３号公報
【特許文献３】特開２０１１−１５０６４５号公報
【非特許文献】
【０００５】
【非特許文献１】ＩＳＯ２６２６２
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながらデュアルロックステップ方式による故障監視回路では、故障率が倍加し、共通原因故障又は系統的故障の発生確率が高まるというデメリットが存在する。
【０００７】
また、ＤＭＡコントローラ内部の調停回路を意識する構成の回路はその内部における特定部分で発生した故障を検知することは可能であるが、その回路はＤＭＡコントローラ全体の故障を検知する機能を持っていなかった。
【課題を解決するための手段】
【０００８】
このような課題を解決するため、一実施形態によれば、制御対象となる複数のデバイスと、前記複数のデバイスを制御するプロセッサと、前記プロセッサの命令に基づいて前記複数のデバイス間のデータ転送を制御するＤＭＡコントローラと、前記ＤＭＡコントローラ、前記プロセッサおよび前記複数のデバイスに共通に接続されたバスと、前記ＤＭＡコントローラに接続され前記ＤＭＡコントローラの故障を診断する故障診断器と、を備え、前記故障診断器は、前記ＤＭＡコントローラへの転送要求の通知から前記バスへの転送元アドレス信号の出力に至る時間を制限時間として前記プロセッサにより設定され、前記転送要求の通知により計時を開始するタイマと、前記タイマの計時を前記ＤＭＡコントローラから前記バスへの前記転送元アドレス信号の出力によって停止させるモニタと、前記モニタにより停止された前記計時の結果が前記制限時間を越えていることにより前記故障の発生を検知する検知器と、を備える集積回路が提供される。
【０００９】
また、別の一実施形態によれば、制御対象となる複数のデバイスと、前記複数のデバイスに対するプロセッサ命令に基づいて前記複数のデバイス間のデータ転送を制御するダイレクトメモリアクセスコントローラと、前記ＤＭＡコントローラおよび前記複数のデバイスに共通に接続されたバスと、前記ＤＭＡコントローラに接続され前記ＤＭＡコントローラの故障を診断する故障診断器と、を備え、前記故障診断器は、前記ＤＭＡコントローラへの転送要求の通知から前記バスへの転送元アドレス信号の出力に至る時間を制限時間として前記プロセッサ命令により設定され、前記転送要求の通知により計時を開始するタイマと、前記タイマの計時を前記ＤＭＡコントローラから前記バスへの前記転送元アドレス信号の出力によって停止させるモニタと、前記モニタにより停止された前記計時の結果が前記制限時間を越えていることにより前記故障の発生を検知する検知器と、を備える集積回路が提供される。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る集積回路の構成図である。
【図２】一実施形態に係る集積回路に用いられるＤＭＡコントローラの概略的な構成例を示すブロック図である。
【図３】一実施形態に係る集積回路の故障診断器のブロック図である。
【図４】（ａ）〜（ｅ）は一実施形態に集積回路の故障診断器による診断方法例を説明するための複数のタイミングチャートである。
【図５】（ａ）は第１変形例に係る集積回路の構成図であり、（ｂ）は第２変形例に係る集積回路の構成図であり、（ｃ）は第３変形例に係る集積回路の構成図である。
【図６】（ａ）は第４変形例に係る集積回路の構成図であり、（ｂ）第５変形例に係る集積回路の構成図である。
【図７】第６変形例に係る集積回路の構成図である。
【発明を実施するための形態】
【００１１】
以下、実施の形態に係る集積回路について、図１乃至図７を参照しながら説明する。尚、各図において同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【００１２】
（一実施形態）
図１は一実施形態に係る集積回路の構成図である。
【００１３】
本実施形態に係る集積回路は半導体集積回路１０である。
【００１４】
半導体集積回路１０は、矩形波発生器１１（デバイス）と、ＡＤ変換器１２（デバイス）と、ＲＡＭ（ｒａｎｄｏｍ ａｃｃｅｓｓ ｍｅｍｏｒｙ）１３とを備えている。
【００１５】
矩形波発生器１１は矩形波パルスを発生させる制御対象デバイスである。モータ５１はパルス幅変調されたパルス列により駆動制御される。
【００１６】
ＡＤ変換器１２はモータ５１又はモータ５１の回転角センサからの電流をＡＤ（アナログ to ディジタル）変換する制御対象デバイスである。
【００１７】
ＲＡＭ１３はＡＤ変換器１２からのディジタル信号を記憶する制御対象デバイスである。ＲＡＭ１３の記憶領域はデータを記憶するデータ領域及び演算結果を記憶するワーク領域を有する。
【００１８】
以下の説明では矩形波発生器１１、ＡＤ変換器１２及びＲＡＭ１３をデバイス１１〜１３と呼ぶことがある。
【００１９】
半導体集積回路１０は、ＲＯＭ（ｒｅａｄ ｏｎｌｙ ｍｅｍｏｒｙ）１４と、ＣＰＵ１５（プロセッサ）と、ＤＭＡコントローラ１６と、バス１７と、故障診断装置１８（故障診断器）とを備えている。
【００２０】
ＲＯＭ１４はＣＰＵ１５によりメモリ空間上に割付けられる記憶領域の割当て情報を記憶する。ＲＯＭ１４は命令実行プログラムを記憶する。
【００２１】
ＣＰＵ１５はデバイス１１〜１３を制御するプロセッサである。ＣＰＵ１５はデバイス１１、１２、１３間で共有されるメモリ空間をデバイス１１、１２、１３毎に割当てる。ＣＰＵ１５はデバイス１１、１２、１３毎にメモリ空間をＲＡＭ領域とＲＯＭ領域とに割付ける。
【００２２】
ＤＭＡコントローラ１６は、ＣＰＵ１５の命令に基づいてデバイス１１〜１３間のデータ転送を制御する。
【００２３】
ＤＭＡコントローラ１６はデバイス１１〜１３間の転送元から転送先へのダイレクトメモリアクセス（ＤＭＡ）の転送要求によりＤＭＡ転送を実行する。
【００２４】
図２はＤＭＡコントローラ１６の概略的な構成例を示すブロック図である。既述の符号はそれらと同じ要素を表す。
【００２５】
ＤＭＡコントローラ１６は、初期設定用のアドレスレジスタ３０と、チャネル数分のサブ回路５２と、インターフェース部６０とを備えている。
【００２６】
アドレスレジスタ３０はＣＰＵ１５により初期設定されるアドレスを記憶する。
【００２７】
一つ目のサブ回路５２は転送元アドレスレジスタ５３、転送先アドレスレジスタ５４、制御レジスタ５５及び転送制御器５６を備えている。
【００２８】
転送元アドレスレジスタ５３は転送元アドレスを記憶する。転送先アドレスレジスタ５４は転送先アドレスを記憶する。
【００２９】
転送元アドレスとはデバイス１１、１２、１３のうちの転送元のデバイスのソースアドレスを言う。転送先アドレスとは転送先のデバイスのデスティネーションアドレスを言う。
【００３０】
制御レジスタ５５は、コマンド、転送可否のフラグ、ステータス等を記憶する。制御レジスタ５５は複数のレジスタビットを持つ。
【００３１】
転送制御器５６は制御レジスタ５５によりデータのＤＭＡ転送を実行する。転送制御器５６はアドレスを生成しアドレス信号を発生させるアドレス発生回路５８を備える。更に転送制御器５６は、データの読出し及び書込みの各タイミングの制御、調停、ＤＭＡ転送要求の受付け、転送要求に対するアクノリッジの通知等を制御する。
【００３２】
他のサブ回路５２は何れもチャネル１用のサブ回路５２と実質同じ構成を有する。インターフェース部６０は各サブ回路５２とバス１７との間をインターフェースする。
【００３３】
図１においてバス１７はＤＭＡコントローラ１６、ＣＰＵ１５およびデバイス１１〜１３に共通に接続されている。バス１７はアドレスバス１７ａ（図３）及びデータバス１７ｂを有する。バス１７はそのバス幅によりメモリ空間のサイズを決める。メモリ空間は複数のデバイス間で共用される。
【００３４】
また、故障診断装置１８はＤＭＡコントローラ１６に接続されＤＭＡコントローラ１６の故障を診断する。故障診断装置１８はバス１７に接続されバス１７へのＤＭＡコントローラ１６からの信号およびＣＰＵ１５入力される設定データによってＤＭＡコントローラ１６の故障診断及び監視を行う。
【００３５】
図３は故障診断装置１８のブロック図である。既述の符号はそれらと同じ要素を表し、それらの要素の重複説明を省略する。
【００３６】
故障診断装置１８は、複数の転送要求１〜Ｎの何れかにそれぞれが割当てられた複数の診断回路２０を備えている。
【００３７】
故障診断装置１８は、複数異なるＤＭＡ転送要求をそれぞれ診断回路２０の何れかに分配するマルチプレキサ１９（分配器）と、複数の診断回路２０の検知出力の論理和を出力するＯＲゲート２９（他のゲート回路）とを備えている。
【００３８】
マルチプレキサ１９は複数の診断回路２０が割当てられているかどうかを個別に監視する。マルチプレキサ１９は複数のＤＭＡ転送要求を割当て外の診断回路２０に結びつける。
【００３９】
故障診断装置１８は転送元から転送先への転送要求に対し、転送元へアドレス信号を出力するタイミングの上限を、診断回路２０内のタイマ機能により設定する機能を有する。当該タイマ上限値の経過までに転送元へのアドレス信号をＤＭＡコントローラ１６が出力したかどうかを故障診断装置１８はモニタする。アドレス信号の出力が時間内になかった場合、故障診断装置１８はＤＭＡコントローラ１６内に故障が発生したとみなし、当該故障発生を外部に通知する。
【００４０】
各診断回路２０は故障診断装置１８のサブ回路である。
【００４１】
一つ目の診断回路２０は、バス１７上に発生する転送要求コマンドおよびＣＰＵ１５からの上限値（制限時間値）が入力される入力器２１を備えている。入力器２１は、アドレスバス１７ａ、データバス１７ｂに結合されている。
【００４２】
更に診断回路２０はタイマ２２を備える。タイマ２２はＤＭＡコントローラ１６への転送要求の通知からバス１７への転送元アドレス信号の出力に至る時間を制限時間としてＣＰＵ１５により設定される。タイマ２２はその転送要求の通知により計時を開始する。
【００４３】
タイマ２２は制限時間の上限値をＣＰＵ１５により設定されるカウントアップタイマである。上限値は許容される出力待ち時間に相当するタイマ値を有する。タイマ２２は検知器２４から計時終了及び初期化を示す信号を入力される。
【００４４】
更に診断回路２０は、モニタ２３と、検知器２４とを備えている。
【００４５】
モニタ２３はタイマ２２の計時をＤＭＡコントローラ１６からバス１７への転送元アドレス信号の出力によって停止させる。
【００４６】
モニタ２３はアドレスバス１７ａによりＤＭＡコントローラ１６から出力されるアドレス信号をモニタする。モニタ２３には、そのモニタ２３とＤＭＡコントローラ１６の出力との間に信号線又はローカルバスが接続されてもよい。
【００４７】
検知器２４はモニタ２３によって停止された計時の結果が制限時間を越えていることによりＤＭＡコントローラ１６の故障の発生を検知する。
【００４８】
検知器２４は転送元のアドレス信号がタイマ２２の上限値までに出力されたかどうかの比較判定により、アドレス信号が上限値までに出力されないことを検知する。
【００４９】
検知器２４は、タイマ２２への上限値及び転送元アドレス信号の入力により、比較演算を実行する。
【００５０】
検知器２４はそれぞれ二つのアドレス間の一致判定に用いられるアドレスレジスタ２５及び第１比較器２６（Ｉと表記）を備えている。
【００５１】
検知器２４はそれぞれ制限時間及び経過時間の比較に用いられる上限値レジスタ２７及び第２比較器２８（ＩＩと表記）を備えている。
【００５２】
アドレスレジスタ２５はＣＰＵ１５により設定される転送元のアドレスを記憶する。
【００５３】
第１比較器２６はアドレスレジスタ２５に記憶された転送元のアドレスおよびモニタ２３によるバス１７上の信号のアドレスを比較する。
【００５４】
上限値レジスタ２７は制限時間の上限値を記憶する。
【００５５】
第２比較器２８はタイマ２２の計時結果および上限値レジスタ２７に記憶された制限時間の上限値を比較する。第２比較器２８は第１比較器２６からのアドレス間の一致を示す結果により計時を停止させる。第２比較器２８はその結果によりタイマ値を初期化する。
【００５６】
以上は一つ目の診断回路２０の構成である。他の診断回路２０は何れも一つ目の診断回路２０の構成と実質同じ構成を有する。
【００５７】
次に上述の構成の本実施形態に係る半導体集積回路１０において、ＡＤ変換器１２からＲＡＭ１３へのＤＭＡ転送時の動作について図１、図３を参照して説明する。
【００５８】
まずＡＤ変換器１２（図１）はＤＭＡ転送の要求信号をバス１７に出力する。ＡＤ変換器１２は要求信号と同時、あるいは要求信号の出力後、転送元アドレス及び転送先アドレスをバス１７に出力する。具体的にはＡＤ変換器１２のバッファに割当てられたアドレスと、ＲＡＭ１３の所定領域のアドレスとが出力される。
【００５９】
ＤＭＡ転送の開始に先立って図３のＤＭＡコントローラ１６にはＤＭＡ転送による要求信号及び他の複数の要求信号が入力される（要求１〜Ｎと付した部分参照）。他の要求信号とは、デバイス１１、１２、１３の何れかの処理完了により生じる割込みである。
【００６０】
ＤＭＡコントローラ１６はＤＭＡ転送の要求信号を複数のサブ回路５２の何れかに割当てる。
【００６１】
ＡＤ変換器１２からのＤＭＡ転送要求信号に対して、ＤＭＡコントローラ１６はＡＤ変換器１２へのアクノリッジ信号をバス１７に出力する。
【００６２】
また、ＣＰＵ１５はＡＤ変換器１２からのＤＭＡ転送要求信号あるいはＤＭＡコントローラ１６からのアクノリッジ信号の発生を検知する。
【００６３】
検知により、ＣＰＵ１５は転送元アドレス信号を取込む。ＣＰＵ１５はＤＭＡ転送要求に応じてＤＭＡ転送に要する転送時間を計算する。計算は例えば転送元からのデータのバイト数を転送先のデータの処理速度で除算し、得られた結果に読み書きに要するウェイト時間を加算することによって見積もる。計算に必要な情報、演算式をＲＯＭ１４からＣＰＵ１５は得る。計算結果をタイマ値の上限値としてＣＰＵ１５は保持する。
【００６４】
ＣＰＵ１５は転送元アドレスをＤＭＡコントローラ１６内のアドレスレジスタ３０に初期設定する。
【００６５】
故障診断装置１８側では、最初のＤＭＡ転送要求信号により、又はその信号を取込んだＣＰＵ１５からの通知によりマルチプレキサ１９が起動する。マルチプレキサ１９はＤＭＡ転送要求を例えば一番目の診断回路２０へ割当てる。
【００６６】
一番目の診断回路２０では、ＣＰＵ１５は転送元アドレスを故障診断装置１８内のアドレスレジスタ２５に初期設定する。診断回路２０はタイマ２２を初期化する。ＣＰＵ１５は上限値を上限値レジスタ２７に初期設定する。
【００６７】
図４（ａ）はタイマ２２の時間経過を示すタイミングチャートである。例えば上限値７がタイマ２２にセットされる。
【００６８】
図４（ｂ）は故障診断装置１８のモニタによるＤＭＡコントローラ１６から出力のアドレス信号例を示すタイミングチャートである。
【００６９】
次に転送要求信号がＤＭＡコントローラ１６の入力にアサートされる。アサートとは、複数ビットから成る要求信号の何れかのビットの信号レベルがハイレベルに移ることである。転送要求信号のアサートはバス１７上で故障診断装置１８に共有される。
【００７０】
そのアサート時点を基準として、診断回路２０内のタイマ２２の計時動作が開始する。
【００７１】
図４（ｂ）のように、例えばタイマ値３の経過後、ＤＭＡコントローラ１６から転送元アドレス０ｘ４０を故障診断装置１８が取込むとする。０ｘとは０ｘに続く数値が１６進数であることを表す。
【００７２】
第１比較器２６はモニタされたアドレス信号を、アドレスレジスタ２５に記憶のアドレス信号と比較する。第１比較器２６はアドレス間が一致したことを示す肯定的な信号を出力する。計時中のタイマ２２への信号の入力によってタイマ２２は計時を停止する。
【００７３】
第２比較器２８はタイマ２２からのカウンタ値を、上限値レジスタ２７に記憶の上限値７と比較する。第２比較器２８はカウンタ値が上限値よりも小さいことを示す肯定的な信号を出力する。
【００７４】
第１比較器２６及び第２比較器２８からの肯定結果が出力される。出力によって、診断回路２０は予め設定されている上限値７に達しない範囲で、当該要求に対応する転送元アドレスが発生したと判定する。その場合、故障未発生として診断回路２０はタイマ２２のタイマ値を０に戻す。診断回路２０の状態は不活性に戻る。
【００７５】
あるいは転送要求信号のアサート後、図４（ｃ）のように、上限値７が経過するまでの間、転送元アドレス０ｘ４０を故障診断装置１８が得られないとする。
【００７６】
転送元アドレスが時間内に発生しない場合、第１比較器２６及び第２比較器２８は何れも否定的な結果を出力する。診断回路２０はＤＭＡコントローラ１６の動作が始まっておらず故障発生とみなす。ＯＲゲート２９によって故障の発生を診断回路２０は外部に通知する。否定的な結果が例えば１ビットのハイレベルで通知される。
【００７７】
あるいは転送要求信号のアサート後、図４（ｄ）のように、上限値７を経過した後、転送元アドレス０ｘ４０の出力を故障診断装置１８がモニタしたとする。
【００７８】
転送元アドレスの出力が遅れた場合、第１比較器２６は肯定的な結果を出力し、及び第２比較器２８は否定的な結果を出力する。診断回路２０はＤＭＡコントローラ１６の動作は始まっているにもかかわらず故障発生とみなす。ＯＲゲート２９によって故障の発生を診断回路２０は外部に通知する。
【００７９】
あるいは転送要求信号のアサート後、図４（ｅ）のように、上限値７のタイムアップ前に正しくない転送元アドレス０ｘ３８の出力を故障診断装置１８がモニタしたとする。
【００８０】
転送元アドレスが誤っている場合、第１比較器２６は否定的な結果を出力し続ける。第２比較器２８は上限値のタイムアップにより否定的な結果を出力する。
【００８１】
ＤＭＡコントローラ１６のアドレス発生回路５８の故障によりアドレスレジスタ３０に設定されたアドレスと異なるアドレスが発生する。異なる転送元アドレスが発生した場合、診断回路２０は「転送元アドレスが発生しない」とみなす。
【００８２】
以上のように、ＤＭＡコントローラ１６がどのように故障するかを示すＤＭＡ故障モードは複数のモードが存在する。
【００８３】
・図４（ｃ）のようにＤＭＡコントローラ１６の動作が始まっていないモード。いつまで経っても正しいアドレスが出力されない。
【００８４】
・図４（ｄ）のようにＤＭＡコントローラ１６の動作は始まっているが正しいアドレスの出力タイミングが遅れるモード。
【００８５】
・図４（ｅ）のように、出力タイミングは正しいが、アドレスが正しく出力されないモード。あるいは誤ったタイミングでＤＭＡコントローラ１６がスタートしているモード。
【００８６】
従来例に対して、故障診断装置１８及び半導体集積回路１０によれば、故障モードを分類できる等、故障監視の枠組みがより簡易な構成で得られる。
【００８７】
上述のように、低面積、低消費電力、低故障率で実装可能な、ＤＭＡコントローラ１６の故障監視を実現できる。簡易な構成で故障診断装置１８を構成することができる。また、ＤＭＡ転送に求められる時間保護機能（リアルタイム性の十分性の担保機能）も併せて実現できる。
【００８８】
元々ＤＭＡコントローラ１６はユーザがデータをリアルタイムに転送しようと意識して使う装置であるという性質を有する。故障診断装置１８及び半導体集積回路１０によれば、その性質を用い、各チャネルの転送要求と転送開始との間の時間制約情報をユーザに予め与えてもらうことによって、デュアルロックステップ方式を用いない故障監視が可能になる。
【００８９】
故障診断装置１８及び半導体集積回路１０によれば、調停回路を意識せずに、より簡易に、且つ、共通原因故障や系統的故障を最少化する故障監視の枠組みが提供される。
【００９０】
また、故障診断装置１８及び半導体集積回路１０によれば、上限値内に故障の発生の有無を確定できるため、副次的に、ＤＭＡ転送に要する時間を定められた枠組み内に収めることができる。車載ソフトウェアの共通化のため、複数の事業者の間では、車載ソフトウェアにおける標準的なソフトウェアプラットフォームのアーキテクチャが定められている。故障診断装置１８及び半導体集積回路１０によれば、アーキテクチャの一つであるＡＵＴＯＳＡＲ（ａｕｔｏｍｏｔｉｖｅ ｏｐｅｎ ｓｙｓｔｅｍ ａｒｃｈｉｔｅｃｔｕｒｅ）が求める時間保護の枠組みをＤＭＡ転送においても実現することができる。
【００９１】
このように本実施形態に係る集積回路によれば、短時間内にＤＭＡコントローラ１６の故障監視及び診断を確実に行うことができる。その装置及び回路がＬＳＩに実装されることにより、万が一の故障の発生に対しても故障状態が安全側に故障するように常に制御される。例えば車載システムに対し安全性を保証する機能安全を高めることができる。車載システムの構成要素あるいは部品の故障リスクが低減し、車載システムへの信頼性が向上する。
【００９２】
また、本実施形態に係る集積回路によれば、故障を検出できるため、重大な事故が起きる前に、システムは事故の発生を防ぐことができる。車のブレーキ制御、原子力発電所の制御、踏み切りの制御など、人の安全に関連する制御システムの信頼性を高められる。
【００９３】
（変形例）
上記実施形態においては故障診断装置１８は他の機能を実装してもよい。変形例に係る集積回路について図５乃至図７を参照して説明する。
【００９４】
特に断らない限り、以下に述べる各変形例に係る集積回路は何れも故障診断装置１８及び半導体集積回路１０と同じ構成を有する。
【００９５】
（第１変形例）
図５（ａ）は第１変形例に係る集積回路の構成図である。既述の符号はそれらと同じ要素を表す。それらについての重複説明を省略する。
【００９６】
故障診断装置１８は第３比較器３２を備える。第３比較器３２はバス１７上においてＤＭＡコントローラ１６からの出力データ値と、ＤＭＡコントローラ１６への入力データ値とを比較する。第３比較器３２は例えばバス幅に等しいビット数を持つ排他的論理和ゲートである。
【００９７】
次にこのように構成された半導体集積回路１０にＡＤ変換器１２からＲＡＭ１３へのＤＭＡ転送要求が発生したときの動作を説明する。
【００９８】
ＤＭＡコントローラ１６によるＤＭＡ転送の後、あるいはＤＭＡ転送中、故障診断装置１８は入出力データを取込む。
【００９９】
故障診断装置１８はＡＤ変換器１２からの３２ビットのデータ（同図のＡ参照）と、ＲＡＭ１３への３２ビットのデータ（同図のＢ参照）とをそれぞれＤＭＡコントローラ１６内のバッファ６１、６２に取込む。第３比較器３２はバッファ６１に蓄積される入力データと、バッファ６２に蓄積される出力データとの排他的論理和をとる。
【０１００】
ＤＭＡコントローラ１６が転送元アドレス信号を正しく出力したにもかかわらず、ＤＭＡコントローラ１６からＲＡＭ１３に至る経路上でアドレス信号が化けたことを検出できる。
【０１０１】
第１変形例による装置及び回路によれば、異常が発生した箇所を特定できる。
【０１０２】
（第２変形例）
図５（ｂ）は第２変形例に係る集積回路の構成図である。既述の符号はそれらと同じ要素を表す。それらについての重複説明を省略する。
【０１０３】
ＤＭＡコントローラ１６に予め設定済みの設定値のマスクをオン（マスクする）あるいはオフ（マスクを解除する）することを故障診断装置１８は切替える。
【０１０４】
ＤＭＡコントローラ１６はそれぞれ初期設定用のレジスタ３４、３５、…、３６をＤＭＡコントローラ１６デフォルトの機能として備えている。レジスタ３４、３５、…、３６は複数のＤＭＡ転送要求についての初期設定情報を記憶する。
【０１０５】
故障診断装置１８はレジスタ３４、３５、…、３６毎にその情報のマスク又はマスクの解除を操作し、及びマスクの解除により有効化されるＤＭＡ転送要求に対する故障の検知を遂行するマスク記憶部３３を備えている。
【０１０６】
マスク設定部３３による特定のレジスタビットのマスク解除によって、対応するＤＭＡ転送の設定済みの初期設定情報が有効にされ、及び故障の検知処理が遂行される。マスク設定部３３へのオン又はオフの設定は、ＣＰＵ１５により実行される。
【０１０７】
次にこのように構成された半導体集積回路１０の動作を説明する。マスクのオンオフに先立って、一つのレジスタ３４に転送元アドレス、転送先アドレス及びＤＭＡ転送コマンドなどの初期設定値が記憶される。他のレジスタ３５〜３６にも、同様にアドレスの対及びＤＭＡ転送コマンドが記憶される。
【０１０８】
ＣＰＵ１５がマスク設定部３３に対して、全てのレジスタ３４、３５、…、３６に対するマスクを解除させる。上記図４の例と同様に、故障診断装置１８は、任意のデバイスから発生したＤＭＡ転送要求の全てについて故障の診断を実行する。
【０１０９】
また、レジスタ３４、３５、…、３６のうちのレジスタ３４のビット値だけをマスク設定部３３がマスクする。この場合、レジスタ３４によって指定されたデバイスから他のデバイスへのＤＭＡ転送要求を故障診断装置１８は処理の対象外とする。それ以外のデバイス間の転送要求に対しては故障診断装置１８は故障診断を行う。
【０１１０】
また、レジスタ３４のビットだけそのマスクをマスク設定部３３が解除し、他のレジスタ３５等のビットをマスクしたままにする。この場合、レジスタ３４によるＤＭＡ転送要求だけを故障診断装置１８は扱う。
【０１１１】
ユーザ操作によりＣＰＵ１５がマスクするため、全てのデバイスのうちのの所望のＤＭＡ転送要求を選択できる。全ての組合せのデバイス間の転送要求の故障検知を扱う必要がない。半導体集積回路１０の回路規模の増大を抑えることができる。
【０１１２】
複雑なレジスタビットへの初期設定を逐一実行する必要があるため、ＡＤ変換器１２からＲＡＭ１３への転送の度に処理を指令することは効率的でない。処理毎の初期設定の手間を省くため、ＤＭＡコントローラ１６はレジスタ３４等に値を設定しておく。
【０１１３】
一旦初期設定が済めば、初期設定された転送要求と同じ要求がきたら、その要求についてはＤＭＡコントローラ１６は再度の受付け処理をせずに、故障診断装置１８によるマスクの解除によって以前に設定された内容をＤＭＡコントローラ１６に取込みさせる。
【０１１４】
故障診断装置１８は何れかのレジスタのビット値のマスク状態をオフからオンにすると、故障診断も併せて実施する。例えばＡＤ変換器１２からＲＡＭ１３へのＤＭＡ転送要求のマスクが解除された後、故障診断装置１８は正常な転送元アドレスをタイマ上限値のタイムアップまでに得られるかどうかを検知する。
【０１１５】
第２変形例による装置及び回路によれば、初期設定されたはずのＤＭＡ転送が、未設定であるかのように動作する異常が検知される。未だ初期設定されてないはずのＤＭＡ転送が既に設定されたかのように動作する異常が検知される。ＤＭＡコントローラ１６の状態がそのような故障モード内であることが検知される。
【０１１６】
（第３変形例）
図５（ｃ）は第３変形例に係る集積回路の構成図である。既述の符号はそれらと同じ要素を表す。それらについての重複説明を省略する。
【０１１７】
ＤＭＡコントローラ１６は内部メモリの特定の記憶領域へのアクセスを、ポートを介して禁止するメモリプロテクション機能をデフォルトの機能として備えている。故障診断装置１８は記憶領域へのアクセスの制限又は制限の解除を操作してもよい。
【０１１８】
ＤＭＡコントローラ１６は、リード及びライト等のアクセスが可能な第１の記憶領域３８ａと、リード及びライト等のアクセスが制限された第２の記憶領域３８ｂを有する第１内部メモリ６３とを備えている。
【０１１９】
アクセスの制限とは領域へのリード及びライト双方の禁止、あるいは領域へのライトの禁止である。
【０１２０】
更にＤＭＡコントローラ１６は、それぞれ第１内部メモリ６３へのアクセスを制御する複数のポート３９と、ポート３９毎にアクセス制限を設定するアクセス設定部４０とを備えている。
【０１２１】
アクセス設定部４０は複数のポート３９のうちの何れかにより第１の記憶領域３８ａへのアクセスをプロテクトし、何れか他のポート３９により第２の記憶領域３８ｂへのアクセスに対しては許可する。
【０１２２】
また、故障診断装置１８はポート３９毎にメモリプロテクションを設定するメモリプロテクション設定部３７を備えている。メモリプロテクション設定部３７はポート３９毎にアクセス制限を解除し、解除により有効化されるポート３９による転送要求に対する故障の検知を遂行する。メモリプロテクション設定部３７への設定はＣＰＵ１５により行われる。
【０１２３】
次にこのように構成された半導体集積回路１０の動作を説明する。アクセス制限の設定に先立ってアクセス設定部４０は第１内部メモリ６３の複数の記憶領域のそれぞれについて、データのライト又はリードの許可、制限、又は禁止といったプロテクションを設定する。
【０１２４】
次にＣＰＵ１５がメモリプロテクション設定部３７に対して第１内部メモリ６３内の複数の記憶領域３８ａ、３８ｂ…に対するアクセス制限を解除させる。
【０１２５】
第１内部メモリ６３内の全ての記憶領域へのアクセス制限が解除される場合、故障診断装置１８は、ポート３９を使って第１内部メモリ６３に記憶される任意のＤＭＡ転送要求について故障の診断を実行する。
【０１２６】
また、第１内部メモリ６３内の全ての記憶領域へのアクセスが全面的に禁止される場合、故障診断装置１８はＤＭＡ転送要求に対する故障の診断を何ら実行しない。
【０１２７】
またアクセス設定部４０は符号Ｃ付きのポート３９により第１の記憶領域３８ａへのアクセスをプロテクトする。アクセス設定部４０は符号Ｄ付きのポート３９により第２の記憶領域３８ｂへのアクセスに対して許可する。
【０１２８】
この場合、故障診断装置１８は、全てのＤＭＡ転送要求のうち、第１の記憶領域３８ａを使った転送要求に対しては処理しない。故障診断装置１８は、第２の記憶領域３８ｂを使った何れかのデバイス間の転送要求に対して、その転送要求についての故障診断を行う。
【０１２９】
第３変形例による装置及び回路によれば、第１内部メモリ６３にアクセス可能にされたＤＭＡ転送の動作が開始しないといった異常を検知できる。第１内部メモリ６３にアクセス不可能なＤＭＡ転送が、開始しているといった異常を検知できる。
【０１３０】
（第４変形例）
図６（ａ）は第４変形例に係る集積回路の構成図である。既述の符号はそれらと同じ要素を表す。それらについての重複説明を省略する。
【０１３１】
上記はＤＭＡコントローラ１６が故障したときの例である。第４変形例による装置及び回路は、故障診断装置１８に異常が発生する場合の診断を行う。
【０１３２】
故障診断装置１８は、予め期待値を故障診断装置１８に記憶しておく。故障診断装置１８は、第１比較器２６及び第２比較器２８（図３）の各出力値を期待値と比較して初期診断を実行する。第１比較器２６は転送元のアドレスおよびバス１７上のアドレス信号を比較する。第２比較器２８はタイマ値と上限値とを比較する。
【０１３３】
半導体集積回路１０は第２内部メモリ４３をＣＰＵ１５内に備えている。第２内部メモリ４３は転送元のアドレスの期待値と、期待値による故障診断を実行するソフトウェアとを記憶する。第２内部メモリ４３はバス１７上に接続される独立のメモリデバイスに設けられてもよい。
【０１３４】
故障診断装置１８は、第１比較器２６及び第２比較器２８の何れかの出力値を選択的に記憶する第１のバッファ４１を備えている。
【０１３５】
故障診断装置１８は、第２内部メモリ４３に記憶の期待値を記憶する第２のバッファ４２と、バッファ４１、４２の出力を比較により判定する比較判定器６４とを備えている。
【０１３６】
比較判定器６４は第１比較器２６の出力および第２内部メモリ４３に記憶の期待値を比較する。
【０１３７】
次にこのように構成された半導体集積回路１０は、車両のエンジン始動等、初期起動時において、全ての入力の組合わせで正しい結果が出るかどうかを診断する。
【０１３８】
ＣＰＵ１５により実行されるＣＰＵソフトウェアは、第２のバッファ４２へのアドレスの期待値を示すテスト用ビットをバス１７に出力する。テスト用ビットとは縮退故障をテストするために設計された値を持つビット列である。故障診断装置１８はバッファ４２にテスト用ビットを書込む。第１比較器２６の出力は例えば０又は１で表される。故障診断装置１８は０又は１をバッファ４１に書込む。
【０１３９】
バッファ４１出力の０、１と、バッファ４２出力の０、１とを比較判定器６４は比較する。入力の２ビットどうしの組合わせによる結果を比較判定器６４は取得する。比較判定器６４の結果をＣＰＵ１５は取得する。
【０１４０】
第１比較器２６が出力する０、１のパターンをＣＰＵ１５が変化させることによって、ＣＰＵ１５は対応する比較判定器６４の出力を監視する。
【０１４１】
例えば第１比較器２６の出力が常に０である場合、ＣＰＵ１５は第１比較器２６のハードウェアにＯＫ故障が発生していると判定する。ＯＫ故障とは故障によりシステムの状態を安全な状態に導く安全側故障である。
【０１４２】
一方第１比較器２６の出力が常に１である場合、ＣＰＵ１５は第１比較器２６のハードウェアにＮＧ故障が発生したと判定する。ＮＧ故障とは故障によりシステムの状態を危険な状態に直結させる危険側故障である。
【０１４３】
ＣＰＵソフトウェアはユーザ及びシステムへ警報を出力する。車両の例では、発進前のアラームの検知によって人に乗車の危険を知らせることができる。
【０１４４】
故障診断装置１８に異常が発生した場合、システムの監視機能が損なわれる。ソフトウェアにより監視は正常であるとしてシステムが動作していたとしても、異常な監視機能によって万が一の事故が全く起きないとも限らない。
【０１４５】
上記説明は第１比較器２６についての例であった。上記説明は第２比較器２８の出力の異常の判定に対しても同様である。
【０１４６】
即ち第２内部メモリ４３はタイマ２２（図３）のタイマ上限値の期待値を予め記憶する。
【０１４７】
故障診断装置１８によって取込まれたバッファ４２の値と、第２比較器２８からの出力が書込まれたバッファ４１の値とが比較される。
【０１４８】
比較判定器６４は第２比較器２８からの出力と、上限値の期待値とを比較する。ＣＰＵソフトウェアは第２比較器２８の故障を診断する。
【０１４９】
第４変形例による装置及び回路によれば、第１比較器２６及び第２比較器２８それぞれが期待値と出力値とを比較することによって初期診断するため、バッファ４１の故障を診断できる。
【０１５０】
第１比較器２６及び第２比較器２８への入出力をＣＰＵソフトウェアが制御するためのインターフェースを設けたため、故障診断装置１８に発生する異常を早期に検知することができる。
【０１５１】
（第５変形例）
図６（ｂ）は第５変形例に係る集積回路の構成図である。既述の符号はそれらと同じ要素を表す。それらについての重複説明を省略する。
【０１５２】
第４変形例において比較判定器（第１比較判定器）６４は二重化されてもよい。
【０１５３】
故障診断装置１８は、第１比較判定器６４と、第１比較判定器６４を二重化して設けられた第２比較判定器４４と、第１比較判定器６４および第２比較判定器４４の論理和を出力するＯＲゲート回路４５とを備えている。第１比較判定器６４、第２比較判定器４４はハードウェアによる。
【０１５４】
ＣＰＵ１５はＯＲゲート回路４５の出力によって第１比較器２６、第２比較器２８の何れかの故障を診断する第３比較判定器４６を備えている。第３比較判定器４６はＣＰＵソフトウェアによる。
【０１５５】
次にこのように構成された半導体集積回路１０は初期起動時において全ての入力の組合わせで正しい結果が出るかどうかを診断する。
【０１５６】
故障診断装置１８はＣＰＵソフトウェアからのアドレスの期待値を示すテスト用ビットをバッファ４２に書込む。故障診断装置１８は第１比較器２６からの出力０又は１をバッファ４１に書込む。
【０１５７】
第１比較判定器６４はバッファ４１、４２間を比較する。第２比較判定器４４は同じバッファ４１、４２間を比較する。
【０１５８】
以降、第１比較判定器６４、第２比較判定器４４はそれぞれ第４変形例の比較判定器６４の例と同様に動作する。ＣＰＵ１５はＯＲゲート回路４５の出力により、値が０又は１の連続が発生するかどうかを監視する。ＣＰＵ１５は０又は１を示す縮退故障の発生の有無を監視できる。
【０１５９】
また、ＯＲゲート回路４５の出力が常に０である場合、ＣＰＵ１５は第１比較判定器６４又は第２比較判定器４４のハードウェアにＯＫ故障が発生していると判定する。ＣＰＵソフトウェアはＯＫ故障を示す情報を人に通知する。
【０１６０】
一方ＯＲゲート回路４５の出力が常に１である場合、ＣＰＵ１５は第１比較判定器６４又は第２比較判定器４４のハードウェアにＮＧ故障が発生したと判定する。ＣＰＵソフトウェアはＮＧ故障を示すアラームを人に通知する。
【０１６１】
以上のようにそれぞれ期待値と出力値とを比較する第１比較器２６及び第２比較器２８が二重化された。判定機能も二重化された。第５変形例による装置及び回路によれば、故障診断装置１８の構成要素のうち、バッファ４１、４２は正常であっても、第１比較判定器６４又は第２比較判定器４４に異常が発生したことを検知することができる。
【０１６２】
判定機能の二重化により、たとえ第１比較判定器６４、第２比較判定器４４の一方が壊れても、重大な故障を見逃すことがなくなる。
【０１６３】
（第６変形例）
図７は第６変形例に係る集積回路の構成図である。既述の符号はそれらと同じ要素を表す。それらについての重複説明を省略する。
【０１６４】
第４変形例において第１比較器２６及び第２比較器２８の各出力値と期待値との比較による初期診断は、ＣＰＵソフトウェアの代わりにハードウェアＢＩＳＴ（ｂｕｉｌｔ ｉｎ ｓｅｌｆ ｔｅｓｔ）回路を用いてもよい。
【０１６５】
故障診断装置１８は、第１比較器２６及び第２比較器２８を含む論理回路５７と、論理回路５７内にそれぞれ生成され第１比較器２６および第２比較器２８をテストするための複数本のスキャンパス回路４７とを備えている。
【０１６６】
一本のスキャンパス回路４７は複数のフリップフロップ５９の直列接続からなる。
【０１６７】
故障診断装置１８は複数のスキャンパス回路４７へのテストパターンの発生器４８と、テストパターンに対する各スキャンパス回路４７からの応答を圧縮する圧縮器４９とを備えている。
【０１６８】
更に故障診断装置１８はテストパターンの発生器４８及び圧縮器４９を制御し、第１比較器２６及び第２比較器２８の故障を判定する組込み自己テスト回路５０とを備えている。
【０１６９】
次にこのように構成された故障診断装置１８におい組込み自己テスト回路５０は論理回路５７の状態を、シフト状態、キャプチャ状態及び再度シフト状態に切替える。
【０１７０】
最初のシフト状態の間、複数のフリップフロップ５９がそれぞれシフトレジスタを形成する。テストパターンが全てのシフトレジスタへシフトインされる。各フリップフロップ５９に値がセットされる。
【０１７１】
引続きキャプチャ状態の間、全てのフリップフロップ５９の値が論理回路５７内で受け渡しされる。論理回路５７からの出力が次段のフリップフロップ５９に取込まれる。
【０１７２】
その後、組込み自己テスト回路５０はキャプチャ状態からシフト状態へ戻される。
【０１７３】
論理回路５７よりシフトアウトされた結果を圧縮器４９が圧縮する。組込み自己テスト回路５０はシフトイン、シフトアウトの繰返しによって圧縮器出力を予め記憶する期待値と比較することによりテストを完了する。
【０１７４】
第６変形例による装置及び回路によれば、ハードウェア回路によって故障診断装置１８側に生じる故障の発生を検知することができる。ＣＰＵ１５側の負担の量をより減らせる。
【０１７５】
（第７変形例）
図３の診断回路２０の個数は、同時に発生しうる転送要求の数の最大よりも少なくて構わない。
【０１７６】
ＣＰＵ１５はバス１７に結合されたデバイス毎に一つずつチャネルを割当てる。チャネル数を図１の例よりも多い例えば１０とすると、診断回路２０の個数は１０で足りる。
【０１７７】
ＣＰＵ１５あるいはマルチプレキサは各時点での診断回路２０の割当ての有無又は処理データ量に応じて適宜診断回路２０を選択する。
【０１７８】
数十以上の転送要求の発生に対し、マルチプレキサ１９は１０個の診断回路２０の何れかに結びつける。
【０１７９】
また、図３の例と異なり、診断回路２０の数が１である場合、マルチプレキサ１９は不要である。故障診断装置１８が最低１個の診断回路２０を備えることによって、上記の各診断機能を実現可能である。
【０１８０】
上記の実施形態及び各変形例は実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
【０１８１】
上記実施形態では半導体集積回路１０はＣＰＵ１５を含んでいた。実施の形態に係る集積回路はＣＰＵ１５を集積化の構成要素に含めなくてもよい。
【０１８２】
図２のＤＭＡコントローラ１６の構成は一例であり、診断対象のＤＭＡコントローラ１６の構成は種々変更され得る。故障診断装置１８はＤＭＡコントローラ１６をＤＭＡコントローラ１６の外部から診断する。言うまでもなくＤＭＡコントローラ１６内部の構成要素の変更は故障診断装置１８及び半導体集積回路１０に本質的な影響を及ぼすものではない。
【０１８３】
上記タイマ２２はカウントアップタイマであったが、タイマ２２はカウントダウンタイマでもよい。ＣＰＵ１５はタイマ２２に下限値を設定してもよい。故障診断装置１８はタイマ値と下限値とを比較してもよい。
【０１８４】
それらの構成を変更して実施したに過ぎない実施品に対して実施の形態に係る集積回路の優位性は何ら損なわれるものではない。
【０１８５】
半導体集積回路１０は組込み用のマイクロコンピュータ及びＳｏＣ（ｓｙｓｔｅｍ−ｏｎ−ｃｈｉｐ）へ適用可能であり、例えば車載用のマイクロコンピュータ及び車載のＳｏＣに適用されてもよい。
【０１８６】
上記ＤＭＡコントローラ１６、故障診断装置１８の機能は主にＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ ｓｐｅｃｉｆｉｃ ｉｎｔｅｇｒａｔｅｄ ｃｉｒｃｕｉｔ）により実現される。
【０１８７】
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１８８】
１０…半導体集積回路（集積回路）、１１…矩形波発生器（デバイス）、１２…ＡＤ変換器（デバイス）、１３…ＲＡＭ、１４…ＲＯＭ、１５…ＣＰＵ（プロセッサ）、１６…ＤＭＡコントローラ、１７…バス１７ａ…アドレスバス、１７ｂ…データバス、１８…故障診断装置（故障診断器、ＤＭＡコントローラの故障診断装置）、１９…マルチプレキサ（分配器）、２０…診断回路、２１…入力器、２２…タイマ、２３…モニタ、２４…検知器、２５…アドレスレジスタ、２６…第１比較器、２７…上限値レジスタ、２８…第２比較器、２９…ＯＲゲート（他のゲート回路）、３０…アドレスレジスタ、３１…回路、３２…第３比較器、３３…マスク設定部、３４〜３６…レジスタ、３７…メモリプロテクション設定部、３８ａ…第１の記憶領域、３８ｂ…第２の記憶領域、３９…ポート、４０…アクセス設定部、４１…第１のバッファ、４２…第２のバッファ、４３…第２内部メモリ、４４…第２比較判定器、４５…ＯＲゲート回路、４６…第３比較判定器、４７…スキャンパス回路、４８…テストパターンの発生器、４９…圧縮器、５０…組込み自己テスト回路、５１…モータ、５２…サブ回路、５３…転送元アドレスレジスタ、５４…転送先アドレスレジスタ、５５…制御レジスタ、５６…転送制御器、５７…論理回路、５８…アドレス発生回路、５９…フリップフロップ、６０…インターフェース部、６１，６２…バッファ、６３…第１内部メモリ、６４…比較判定器（第１比較判定器）。
【図１】
2014209312.tif 000003
【図２】
2014209312.tif 000004
【図３】
2014209312.tif 000005
【図４】
2014209312.tif 000006
【図５】
2014209312.tif 000007
【図６】
2014209312.tif 000008
【図７】
2014209312.tif 000009