(57)【要約】【課題】集積回路の実使用現場で発生するソフトウエアでは検知不可能な不具合を回避することを目的とする。【解決手段】ＬＳＩの集積回路において、バス等の任意の一つ以上の信号の状態をモニタする監視手段と、プログラマブルに任意の値が設定可能な記憶手段と、前記モニタした信号の状態と前記記憶手段に設定した値を比較する比較手段と、比較判定手段の結果に応じて値が変わる信号を出力する出力手段から構成された不具合検出手段を備えたことを特徴とする集積回路等、を提供する。【選択図】図１
2010020424.tif 000002
【特許請求の範囲】
【請求項１】
バスの状態をモニタする監視手段と、
任意の値が設定可能な記憶手段と、
前記モニタした信号の状態と前記記憶手段に設定した値とを比較する比較手段と、
前記比較手段の結果に応じて値が変わる信号を出力する出力手段とから構成される不具合検出手段を備えたことを特徴とする集積回路。
【請求項２】
前記記憶手段は、前記モニタする信号の任意の信号パターンを記憶することを特徴とする請求項１に記載の集積回路。
【請求項３】
前記監視手段は、前記モニタした信号の状態によりアサートされる信号に同期して前記モニタする信号をモニタすることを特徴とする請求項２に記載の集積回路。
【請求項４】
前記出力手段は、前記比較手段の結果が等しいと判断された場合、出力信号をアサートすることを特徴とする請求項１に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路に関するものである。
【背景技術】
【０００２】
近年、集積回路を含む論理システムの規模が増加している。それに伴い、論理システムの複雑度は指数関数的に上昇し、要求仕様を満たす機能を検証する困難度も増加している。
一方、市場では信頼性の高い商品が求められており、不具合が生じた場合は莫大な回収費等を伴い、さらにはブランド力の低下を招き、競合他社に対する競争力の低下は事業存続の危機を招く。そのため、論理システムの信頼性の向上を図る必要が生じている。
【０００３】
図８は、従来の集積回路の一例を示すブロック図である。
７００は、集積回路である。７０１は、中央制御回路であるところのＣＰＵである。７０２は、割り込み制御回路である。７０３は、主記憶メモリである。７０４は、主記憶メモリ７０３の制御回路であるメモリコントローラである。
また、７０５〜７０９は、主記憶メモリ７０３と、図示しない外部デバイスの間でＤＭＡ（ダイレクトメモリアクセス）データ転送を行うＤＭＡコントローラＤＭＡＣ＿１〜ＤＭＡＣ＿５である。
【０００４】
また、１１０は、ＣＰＵ７０１と、ＤＭＡコントローラ７０５〜７０９と、図示しない内部ブロックと、を論理的に接続するシステムバスである。図示しない内部ブロックとは書き換え可能なソフトウエアの格納領域であるところのフラッシュＲＯＭやそれを制御するフラッシュＲＯＭのコントローラ、クロック生成回路、リセット生成回路、タイマ等である。
図８に示すシステム構成の集積回路７００は、各ブロックに内蔵される読み書き可能なレジスタアクセス及びデータ転送はすべてシステムバス１１０を経由して行われる。ＣＰＵ７０１及びＤＭＡコントローラ７０５〜７０９は、システムバス１１０に対しマスタとして機能し、それ以外のシステムバスに接続されるブロックはスレーブとして機能する。
【０００５】
一般的に図８の集積回路を含む論理システムを検証する場合は、十分な時間を掛けて実施するが、検証を１００パーセント行うことは不可能であり、実使用現場において潜在的に不具合が存在しているのが現状であり、その回避技術が求められている。
従来の集積回路においては、実使用現場において不具合が発見された場合の対処方法として、ソフトウエアを変更することにより不具合が出現する論理動作を回避する方法があるが、このような方法で全ての不具合が回避できるわけでもない。また、多くは使用可能な機能を犠牲にしてしまう。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように従来の集積回路においては、ソフトウエアのみでは回避できない潜在的に存在している不具合を実使用現場で回避することは困難である。
本発明は、上記課題を解決するためになされたもので、その目的は、集積回路の実使用現場で発生するソフトウエアでは検知不可能な不具合を回避する手法を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、ＬＳＩの集積回路において、バス等の任意の一つ以上の信号の状態をモニタする監視手段と、プログラマブルに任意の値が設定可能な記憶手段と、前記モニタした信号の状態と前記記憶手段に設定した値とを比較する比較手段と、比較判定手段の結果に応じて値が変わる信号を出力する出力手段から構成された不具合検出手段を備えたことを特徴とする集積回路等、を提供する。
【発明の効果】
【０００８】
本発明によれば、不具合が発生してしまう条件を検出し割り込みでＣＰＵに通知することができる。よって、集積回路の実使用現場において書き換え可能なメモリの修正を行うことで、もともとソフトウエア処理だけでは検出不可能であった不具合を検出し、回避することが可能となる。その結果、集積回路の実使用現場において集積回路を交換することなく回避が可能となる。
【０００９】
これにより、従来集積回路交換に伴って発生する膨大な回収費や、機能や性能を犠牲にした回避策による製品の競争力低下を防ぎ、実使用現場における柔軟な回避による信頼性の向上が図れる。
【発明を実施するための最良の形態】
【００１０】
以下、本実施形態に係る集積回路について図面を参照して詳細に説明する。
図１は、本実施形態に係る不具合検出回路の一例を示す図である。
１００は、本発明による不具合検出回路である。１０１は、集積回路内の任意の信号である。１０２は、メモリである。
１０３は、信号１０１の状態とメモリ１０２の情報とを比較するモニタである。メモリ１０２には任意の信号パターンが設定可能に記憶される。
また、１０４は、モニタ１０３が信号１０１の状態とメモリ１０２との比較結果により変化させる出力信号である。
１０５は、メモリ１０２の内容を変更するメモリ制御回路である。メモリ制御回路１０５は、システムバス１１０に接続されている。
【００１１】
集積回路がリセット状態から解除されると、モニタ１０３は、初期状態から信号１０１の状態の監視を開始し、比較を行う条件のタイミング（以下、比較サイクル）ごとにメモリ１０２内の特定のアドレス領域の情報と比較演算を行う。比較演算結果は一致したが、出力信号１０４を変化させる条件でなければ、次の比較サイクルでは、メモリ１０２内の次のアドレス領域の情報と比較し、この動作を繰り返す。比較サイクルにおいて、比較演算結果が一致し、かつ出力信号１０４を変化させる条件であれば、出力信号１０４を変化させる。変化した出力信号１０４を解除する方法は任意の手法によるものとする。
【００１２】
比較結果が異なった場合は、初期状態に戻り、次の比較サイクルから初期状態が示すアドレス領域の情報と比較を始める場合と現在のアドレス領域の情報と比較し続ける二つの機能を有する。また、後者の場合、信号１０１が特定の状態になった場合、次の比較サイクルから初期状態に戻り、次の比較サイクルから初期状態が示すアドレス領域の情報と比較を始める。
【００１３】
図２は、上述した不具合検出回路１００を集積回路に組み込んだ場合の一例を示す。
モニタする信号１０４は、システムバス１１０上のアドレス、データ、及び制御信号である。また、不具合検出回路１００の出力信号１０１は、割り込み制御回路７０２の割り込み入力として入力される。
【００１４】
図３、図４、図５、図６及び図７を参照して、本実施形態に係る詳細な動作について説明する。
図３は、図１に示すメモリ１０２の格納情報の一例を示す図である。
２０１は、メモリ１０２のメモリ情報を格納するアドレス（Ａ０〜Ａｘ）である。
２０２は、各アドレスごとに格納されているデータである。格納データ２０２には、以下の情報が格納されている。
まず、２０３は、不具合判定条件を判定するために信号１０１と比較する参照データで、不具合が発生しまう信号１０１の入力パターンを記憶するものである。
２０４は、強制的に初期化状態に戻す条件を判定するために信号１０１と比較する初期化条件判定データである。
２０５は、参照データ２０３の中で比較対象としない箇所（ビット）を隠すための参照マスクデータである。
２０６は、初期化条件判定データ２０４の中で、比較対象としない個所（ビット）を隠すための初期化条件判定データ用マスクデータである。
２０７は、参照データ２０３又は初期化条件判定データ２０４の中で比較を行うサイクルの対象箇所（ビット）を隠すためのトリガマスクデータである。
２０８は、比較結果に応じた遷移条件を切り替えるフラグである。ここでは、２ビット構成で、ＬＳＢが比較結果が一致した場合にＥｒｒｏｒ判定を行うＥｒｒｏｒフラグ、ＭＳＢが比較結果が一致しなくても状態遷移せずに留まることを示すＳｔａｙフラグである。
【００１５】
図４は、比較を行うサイクル（以下、比較サイクル）を求める一例を示す図である。
トリガマスクデータ２０７と参照データ２０３、及び、トリガマスクデータ２０７と信号１０１のＡＮＤ演算を行う。それぞれに対しＡＮＤ演算を行うことで、比較サイクル条件を判定するのに不必要な信号をマスクすることが可能となる。比較器を用いて、それぞれのＡＮＤ演算後のデータを比較し、一致した場合、参照データ２０３と信号１０１との比較をおこなうサイクルであると判断され、比較サイクル判定信号３０１がアサートされる。比較サイクル判定信号３０１がアサートとされたら、前記比較サイクルにおいて、信号１０１と参照データ２０３及び初期化条件判定データ２０４との比較を行う。
【００１６】
図５は、比較サイクルにおいて信号１０１と参照データ２０３とを比較する一例を示す図である。
参照マスクデータ２０５と参照データ２０３、及び、参照マスクデータ２０５と信号１０１のＡＮＤ演算を行う。これにより、参照データ２０３及び信号１０１から、比較対象となるビットのみをそれぞれ抽出することができる。比較器を用いて、それぞれのＡＮＤ演算後のデータの比較対象ビットを比較し、比較結果が一致した場合、一致・不一致を示す信号であるＲｅｆｅｒｅｎｃｅ＿Ｍａｔｃｈ信号４０１がアサートされる。
【００１７】
図６は、比較サイクルにおいて信号１０１と初期化条件判定データ２０４とを比較する一例を示す図である。
初期化条件判定データ用マスク２０６と初期化条件判定データ２０４、及び、初期化条件判定データ用マスク２０６と信号１０１のＡＮＤ演算を行う。これにより、データ比較器を用いて、それぞれのＡＮＤ演算後のデータの比較対象ビットを比較し、比較結果が一致した場合、一致・不一致を示す信号であるＩｎｉｔｉａｌｉｚｅ＿Ｍａｔｃｈ信号５０１がアサートされる。
【００１８】
図７は、図４に示す比較サイクル判定信号３０１、図５に示すＲｅｆｅｒｅｎｃｅ＿Ｍａｔｃｈ信号４０１、及び、図６に示すＩｎｉｔｉａｌｉｚｅ＿Ｍａｔｃｈ信号に基づき動作するモニタ１０３の動作例を示す図である。
集積回路がリセット状態から解除されると、モニタ１０３は、メモリ参照アドレスを初期状態Ａ０に設定し、ＯＵＴ信号を０に出力してＩｄｌｅ状態に遷移する。
その後、比較サイクル判定信号３０１により決定される比較サイクルごとにメモリ１０２内の特定のアドレス領域の情報内の参照データ２０３と比較演算を行う。
【００１９】
Ｉｄｌｅ状態では信号１０１とメモリ１０２内の開始アドレスＡ０の参照データ２０３と比較演算を行い、比較結果が一致しなければＩｄｌｅ状態に留まる。参照データとの比較結果が一致しかつＥｒｒｏｒフラグを１にセットされている場合、出力信号１０４をアサートして、Ｅｒｒｏｒ状態に遷移する。
信号１０１と参照データ２０３との比較結果は一致したが、Ｅｒｒｏｒフラグが０の場合、参照アドレスを今参照したメモリの開始アドレス（Ａ０）の次のアドレス（Ａ＋＋）に設定し、Ｃｈｅｃｋ状態に遷移する。
【００２０】
Ｃｈｅｃｋ状態では、比較サイクル判定信号３０１により決定される比較サイクルごとに入力信号１０１と参照アドレス（Ａ）内の参照データ２０３及び初期化条件判定データ２０４おのおのに同期して比較演算を行う。参照データ２０３との比較結果が不一致かつＳｔａｙフラグが０の場合、もしくはＳｔａｙフラグが１でかつ初期化条件判定データ２０４との比較結果が一致した場合はＩｄｌｅ状態に戻る。参照データ２０３との比較結果が一致しかつＥｒｒｏｒフラグが１の場合、出力信号１０４をアサートしてＥｒｒｏｒ状態に遷移する。
【００２１】
参照データ２０３との比較結果は一致しかつＥｒｒｏｒフラグが０の場合、参照アドレスを今参照したメモリの開始アドレス（Ａ０）の次のアドレス（Ａ＋＋）に設定し、Ｃｈｅｃｋ状態に留まる。参照データ２０３との比較結果は一致しなくてもＳｔａｙビットが１でかつ初期化条件判定データ２０４との比較結果も一致せずかつＥｒｒｏｒフラグが０の場合、参照アドレスはそのままで、Ｃｈｅｃｋ状態に留まる。
【００２２】
出力信号１０４は、Ｅｒｒｏｒ状態に遷移した場合、次の比較サイクルでネゲートしてＩｄｌｅ状態に戻る。解除方法に関してはこれに限るものではなく、信号１０１の変化等により解除されても構わない。
【００２３】
図２に示すように不具合検出回路１００は、割り込み制御回路７０２の割り込み入力として入力されているので、不具合が発生してしまう条件を検出し、割り込みでＣＰＵに通知できる。よって、割り込みハンドラによるソフトウエア処理で不具合回避を行うことが可能となる。これにより、集積回路の実使用現場において書き換え可能なメモリの修正を行うことで、もともとソフトウエア処理だけでは検出不可能であった不具合を検出し、回避することが可能となる。
【図面の簡単な説明】
【００２４】
【図１】本実施形態に係る不具合検出回路の一例を示す図である。
【図２】本実施形態に係る集積回路の一例を示す図である。
【図３】本実施形態に係る不具合検出回路に内蔵するメモリの格納情報の一例を示す図である。
【図４】本実施形態に係る比較サイクルにおいて比較の一例を示す図である。
【図５】本実施形態に係る比較サイクルにおいて比較の一例を示す図である。
【図６】本実施形態に係る比較サイクルにおいて比較の一例を示す図である。
【図７】本実施形態に係る不具合検出回路内のモニタの動作例を示す図である。
【図８】従来の集積回路の一例を示す図である。
【符号の説明】
【００２５】
１００  不具合検出回路
１０１  不具合検出回路に入力する任意の信号
１０２  メモリ
１０３  モニタ
１０４  不具合検出回路の出力信号
１０５  メモリ制御回路
１１０  システムバス
２０１  メモリのアドレス
２０２  メモリの格納データ
２０３  参照データ
２０４  初期化条件判定データ
２０５  参照マスクデータ
２０６  初期化条件判定データ用マスクデータ
２０７  トリガマスクデータ
３０１  比較サイクル判定信号（Ｔｒｉｇｇｅｒ＿Ｍａｔｃｈ）
４０１  Ｒｅｆｅｒｅｎｃｅ＿Ｍａｔｃｈ信号
５０１  Ｉｎｉｔｉａｌｉｚｅ＿Ｍａｔｃｈ信号
７０１  集積回路
７０１  ＣＰＵ
７０２  割り込み制御回路
７０３  主記憶メモリ
７０４  メモリコントローラ
７０５〜７０９  ＤＭＡコントローラ
【図１】
2010020424.tif 000003
【図２】
2010020424.tif 000004
【図３】
2010020424.tif 000005
【図４】
2010020424.tif 000006
【図５】
2010020424.tif 000007
【図６】
2010020424.tif 000008
【図７】
2010020424.tif 000009
【図８】
2010020424.tif 000010