(57)【特許請求の範囲】
【請求項１】
集積回路装置であって、
複数のブロックを含む不揮発性メモリーと、
前記複数のブロックのそれぞれに対応付けられた複数のレジスターと、
書き込み要求に基づいて、受け取ったシリアルデータから前記ブロックに書き込まれる入力データを取得し、前記入力データを前記複数のブロックのそれぞれにメモリーデータとして書き込み、前記複数のメモリーデータのそれぞれを対応付けられた前記レジスターにレジスターデータとして書き込む制御を行う、書き込み制御部と、
前記複数のメモリーデータが一致するか否か判定する第１の比較処理、及び、前記複数のブロックの各ブロックについて当該ブロックのメモリーデータと当該ブロックに対応付けられたレジスターに書き込まれた前記レジスターデータとが一致するか否かを判定する第２の比較処理を行う比較部と、
を含む集積回路装置。
【請求項２】
請求項１に記載の集積回路装置において、
前記比較部は、
前記複数のレジスターデータが一致するか否かを判定する第３の比較処理を行う集積回路装置。
【請求項３】
請求項１又は２に記載の集積回路装置において、
前記不揮発性メモリーが用いる内部クロックを供給するアナログ回路部を含み、
前記書き込み制御部は、
前記入力データを前記不揮発性メモリーに書き込む前に、前記内部クロックの供給を要求する信号を前記アナログ回路部に出力する集積回路装置。
【請求項４】
請求項１乃至３のいずれかに記載の集積回路装置において、
前記書き込み制御部は、
受け取った前記シリアルデータからアドレスを取得し、前記入力データを書き込む対象となるアドレスのグループを定義するテーブルに基づいて、取得した前記アドレスが前記
グループに含まれる場合、当該グループに含まれるすべてのアドレスに前記入力データを書き込む制御を行う、集積回路装置。
【請求項５】
請求項１乃至４のいずれかに記載の集積回路装置において、
前記不揮発性メモリーは、２つのブロックを含み、
前記レジスターは、２つである集積回路装置。
【請求項６】
請求項１乃至５のいずれかに記載の集積回路装置において、
前記レジスターは、非同期レジスターである集積回路装置。
【請求項７】
請求項１乃至６のいずれかに記載の集積回路装置を含む電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路装置、電子機器等に関する。
【背景技術】
【０００２】
例えば、安全性が求められる自動車、飛行機、船舶、鉄道等に搭載される集積回路装置や電子機器には高い信頼性が求められる。このような集積回路装置等には、システムを多重化し１つの系統で故障が発生しても他の系により動作が継続されるようにしているものがある。また、このような集積回路装置等には、故障検知機能を内蔵し、ある処理において故障が検知された場合には、その処理を再度繰り返すことで動作が継続されるようにしているものもある。この故障検知機能として、例えば、特許文献１では、エリア毎に算出されたチェックサムに基づいて二重にチェックを行うことで正確に故障を検知する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１８３４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、高い信頼性を得るためにデータやその経路を多重化した場合に、一部のデータが誤って記憶されると、それらのデータを相互に比較して行う故障検知等においてエラーと判定される。そのため多重化されたデータを保存するメモリーやレジスターに確実に同一データが書き込まれなければ高い信頼性を確保することが難しいという問題がある。
【０００５】
本発明はこのような問題点に鑑みてなされたものである。本発明のいくつかの態様によれば、より確実に複数のメモリーのブロック、レジスターに同一データが書き込まれるようにすることにより信頼性を向上させることができる集積回路装置等を提供する。
【課題を解決するための手段】
【０００６】
（１）本発明は、集積回路装置であって、複数のブロックを含む不揮発性メモリーと、前記ブロックのそれぞれに対応付けられ、前記ブロックに書き込まれたデータであるメモリーデータのそれぞれが所与のタイミングで書き込まれる複数のレジスターと、書き込み要求に基づいて、受け取ったシリアルデータから前記ブロックに書き込まれる入力データを取得し、前記入力データを前記複数のブロックに書き込み、前記メモリーデータのそれぞれを所与のタイミングで対応付けられた前記レジスターに書き込む制御を行う、書き込み制御部と、を含む。
【０００７】
本発明では、書き込み制御部からの同一データが不揮発性メモリーの複数のブロックに書き込まれる。そして、不揮発性メモリーのブロック（以下、メモリーブロック又は単にブロックと表現する）に書き込まれたデータのそれぞれが対応付けられたレジスターに書き込まれる。シリアルデータを１回受け取れば自動的にメモリーブロックとレジスターに同一のデータを書き込むことができる。そのため、同一の書き込みデータを含むシリアルデータを複数回受け取ってメモリーブロック等に書き込む場合と比較して、ノイズの影響や人為的なミスによる誤書き込みの確率を低減させることができる。従って、本発明によれば、より確実に複数の記憶素子に同一データが書き込まれるようにすることができるので、記憶部に書き込まれるデータの信頼性を向上させることができる。
【０００８】
また、不揮発性メモリーの各ブロックに書き込まれたデータ（メモリーデータ）は、所与のタイミングでレジスターに書き込まれる。そして、後段の回路には、メモリーデータに代えてレジスターに書き込まれたデータ（レジスターデータ）が出力されてもよい。この後段の回路が例えばアナログ回路であり、常に設定値を要求するような場合があり得る。このとき、設定値としてレジスターデータが使用されれば、不揮発性メモリーが常に活性化している必要はないため、不揮発性メモリーの長寿命化につながる。ここで、メモリーブロックとレジスターのサイズは同じ、例えば共に６４ビットであることが好ましい。しかし、メモリーブロックに書き込まれたデータは、例えばバイト単位や３２ビット単位でレジスターに書き込まれてもよい。
【０００９】
（２）この集積回路装置において、前記メモリーデータおよび前記レジスターに書き込まれたデータであるレジスターデータを受け取り、比較処理を行う比較部を含み、前記比較部は、全ての前記メモリーデータが一致するか否か判定するための第１の比較処理を行い、前記複数のブロックの各ブロックについて当該ブロックのメモリーデータと当該ブロックに対応づけられたレジスターに書き込まれた前記レジスターデータとが一致するか否かを判定するための第２の比較処理を行ってもよい。
【００１０】
本発明によれば、前記メモリーデータおよび前記レジスターに書き込まれたデータであるレジスターデータを受け取り、比較処理を行う比較部を含む。この集積回路装置は、受け取ったデータとその経路を多重化（少なくとも二重化）することによって、比較という単純な手法により効果的に故障を検知する。具体的には、まず、全てのメモリーデータの値を比較して一致するか否かの判定する（第１の比較処理）。次に、全てのレジスターデータについては、そのレジスターデータと対応づけられたブロックのメモリーデータとの間で値を比較して一致するか否かの判定する（第２の比較処理）。第１、第２の比較処理を行うことによって、メモリーのブロック間でも、各ブロックとレジスターとを繋ぐ経路でもデータが一致することを確認した上でデータを出力することができる。よって、信頼性の高いデータを出力できる。
【００１１】
なお、この集積回路装置は、レジスターデータと対応づけられたブロックのメモリーデータ、すなわち同一経路上のメモリーデータとを比較して一致、不一致を判定するが、さらに異なる経路間でのレジスターデータとメモリーデータとを比較してもよい。例えば、全てのレジスターデータと全てのメモリーデータとを比較して、全てのデータが一致するか否かを判定してもよい。
【００１２】
（３）この集積回路装置において、前記比較部は、全ての前記レジスターデータが一致するか否かを判定するための第３の比較処理を行ってもよい。
【００１３】
本発明によれば、第１、第２の比較処理に加えて、全てのレジスターデータの値を比較して一致するか否かの判定する（第３の比較処理）。このことにより、レジスター間でもデータが一致することを確認した上でデータを出力することができる。よって、信頼性の高いデータを出力できる。
【００１４】
（４）この集積回路装置において、前記不揮発性メモリーが用いる内部クロックを供給するアナログ回路部を含み、前記書き込み制御部は、前記入力データを前記不揮発性メモリーに書き込む前に、前記内部クロックの供給を要求する信号を前記アナログ回路部に出力してもよい。
【００１５】
本発明によれば、前記書き込み制御部は不揮発性メモリーにアクセスする場合に限ってアナログ回路部から内部クロックを供給してもらう。よって、非アクセス時には不揮発性メモリーにおける内部クロックによる電力消費を抑えることができる。
【００１６】
（５）この集積回路装置において、前記書き込み制御部は、受け取った前記シリアルデータからアドレスを取得し、前記入力データを書き込む対象となるアドレスのグループを定義するテーブルに基づいて、取得した前記アドレスが前記グループに含まれる場合、当該グループに含まれるすべてのアドレスに前記入力データを書き込む制御を行ってもよい。
【００１７】
本発明によれば、同一のデータを書き込む対象をアドレスによって指定することができる。これにより、選択的に書き込み対象を指定する柔軟な制御を行うことが可能になる。
【００１８】
（６）この集積回路装置において、前記不揮発性メモリーは、２つのブロックを含み、前記レジスターは、２つであってもよい。
【００１９】
本発明によれば、集積回路装置は２つのブロックからなる不揮発性メモリーと２つのレジスターを含み、回路規模を最小限に抑えつつ、データの信頼性を高めることが可能となる。
【００２０】
（７）この集積回路装置において、前記レジスターは、非同期レジスターであってもよい。
【００２１】
本発明によれば、レジスターが非同期タイプであるので、クロックを常に供給する必要がある同期タイプのレジスターに比べて消費電力が小さくて済む。また、テストモード等において、通常動作とは異なるタイミングでデータをレジスターに書き込むこと、読み出すことが可能になる。
【００２２】
（８）本発明は、前記集積回路装置を含む電子機器であってもよい。
【００２３】
本発明によれば、データの信頼性の高い電子機器を提供することができる。
【図面の簡単な説明】
【００２４】
【図１】第１実施形態における集積回路装置のブロック図。
【図２】第２実施形態における集積回路装置のブロック図。
【図３】第２実施形態における集積回路装置の一部要素の接続例を示す図。
【図４】第２実施形態における通常動作時のデータ更新の例を示す波形図。
【図５】図５（Ａ）は第２実施形態におけるシリアルデータの波形図。図５（Ｂ）はアドレスと書き込み対象のメモリーブロックの対応例を示すテーブル。図５（Ｃ）はアドレスと書き込み対象のメモリーブロックの別の対応例を示すテーブル。
【図６】第２実施形態における初期設定の例を示す波形図。
【図７】第２実施形態におけるテストモード時の接続例を示すブロック図。
【図８】第２実施形態におけるテストモードの例を示す波形図。
【図９】第３実施形態における電子機器のブロック図。
【図１０】図１０（Ａ）は電子機器の例である携帯電話の図。図１０（Ｂ）は電子機器の例である携帯型ゲーム装置の図。図１０（Ｃ）は電子機器の例であるパーソナルコンピューターの図。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態について図面を参照して説明する。なお、第２実施形態以降の説明において、第１実施形態と同様の構成については、同一符号を付し、説明を省略する。
【００２６】
１．第１実施形態
本発明の第１実施形態について図１を参照して説明する。
【００２７】
図１は、本実施形態の集積回路装置１のブロック図である。集積回路装置１は、不揮発性メモリー１０、複数のレジスター２０、２２、２８、書き込み制御部７０を含む。さらに、比較部３０を含んでいてもよい。
【００２８】
不揮発性メモリー１０は、入力データ４００を多重化して書き込むために内部にＮ個（Ｎ≧２）のメモリーブロックを含む。図１では、第１のブロック１００と第２のブロック１０２、そして第Ｎのブロック１０８が示されている。なお、Ｎ＝２の場合には第Ｎのブロック１０８と第２のブロック１０２は同一のものとなる。
【００２９】
なお、本実施形態では不揮発性メモリー１０は不揮発性であり、例えばＥＥＰＲＯＭであるが、書き換えが可能であれば他の種類のメモリーであっても構わない。例えば、揮発性のＳＲＡＭやＤＲＡＭであってもよい。本実施形態では不揮発性メモリー１０がその内部にメモリーブロック（以下、ブロックとする）を有しているが、物理的に異なるメモリーが第１のブロック１００、第２のブロック１０２〜第Ｎのブロック１０８として使用されてもよい。ブロックは、データのアクセスの際にＣＳ信号（チップセレクト信号）などで選択される物理的な区分であってもよいし、同様の管理をソフトウェア等で行う論理的な区分であってもよい。
【００３０】
書き込み制御部７０は、シリアルデータ４５０を受け取って、入力データ４００を取得する。書き込み制御部７０は、このとき別途書き込み要求信号を受け取ってもよいし、シリアルデータの一部に書き込み要求信号が含まれていてもよい。
【００３１】
書き込み制御部７０によって、入力データ４００は第１のブロック１００に書き込まれる。第１のブロック１００に書き込まれたデータ（以下、第１メモリーデータとする）４１０は、所与のタイミングで第１のレジスター２０に書き込まれる。ここで、所与のタイミングとは、例えば第１のレジスター２０に入力されるクロックのエッジに同期することであってもよいし、予め定められた書き込み許可条件を満たしたときでもよい。
【００３２】
第１のレジスター２０に書き込まれたデータ（以下、第１レジスターデータとする）４２０は集積回路装置１の内部又は外部に出力されて、後段において例えばアナログ回路等の設定値や調整値として用いられる。例えば、集積回路装置１が車載用である場合、第１レジスターデータ４２０に基づいて、自動車の運行上重要な姿勢制御が行われるかもしれない。このとき、第１レジスターデータ４２０のエラーによって、自動車の安全運行に支障がでる恐れがある。このような用途においては特に、第１レジスターデータ４２０の誤り判定を行うことは重要である。なお、リセット端子にノイズの影響を受けた信号が入力されて、誤って第１レジスターデータ４２０が初期化されることを防ぐために、第１のレジスター２０はリセット入力を持たないレジスターであることが好ましい。
【００３３】
第１メモリーデータ４１０の場合と同様に、書き込み制御部７０によって入力データ４００は第２のブロック１０２から第Ｎのブロック１０８にも書き込まれる。第２のブロック１０２に書き込まれたデータ（以下、第２メモリーデータとする）４１２から第Ｎのブロック１０８に書き込まれたデータ（以下、第Ｎメモリーデータとする）４１８は、所与のタイミングで第２のレジスター２２から第Ｎのレジスター２８にそれぞれ書き込まれる。ここで、所与のタイミングは、第１メモリーデータ４１０が第１のレジスター２０に書き込まれる条件と同じであっても、異なっていてもよい。しかし、比較部３０を含むような場合には、正確な誤り判定ができるように同一の条件であることが好ましい。なお、Ｎ＝２の場合には、第Ｎメモリーデータ４１８と第２メモリーデータ４１２、第Ｎのレジスター２８と第２のレジスター２２は同一のものとなる。
【００３４】
第２のレジスター２２から第Ｎのレジスター２８に書き込まれたデータ（以下、それぞれ第２レジスターデータ４２２から第Ｎレジスターデータ４２８とする）は、第１レジスターデータ４２０の誤り判定に用いる比較用データとして使用される。なお、第１のレジスター２０と同様の理由により、第２のレジスター２２から第Ｎのレジスター２８もリセット入力を持たないレジスターであることが好ましい。
【００３５】
書き込み制御部７０は、第１のレジスター２０、第２のレジスター２２〜第Ｎのレジスター２８に、対応付けられたメモリーデータを書き込む制御も行う。例えば、第１のレジスター２０、第２のレジスター２２〜第Ｎのレジスター２８は非同期レジスターであって、書き込み制御部７０が出力するストローブ信号４４０、４１２、４１８によってデータが書き込まれてもよい。
【００３６】
ここで、集積回路装置１は比較部３０を含んでいてもよい。比較部３０は、第１レジスターデータ４２０の誤り判定を行う。比較部３０は第１メモリーデータ４１０、第２メモリーデータ４１２〜第Ｎメモリーデータ４１８、第１レジスターデータ４２０、第２レジスターデータ４２２〜第Ｎレジスターデータ４２８を受け取る。そして、比較部３０は、次の第１〜第３の比較処理を行ってもよい。
【００３７】
比較部３０は、例えば第１メモリーデータ４１０、第２メモリーデータ４１２〜第Ｎメモリーデータ４１８（全てのメモリーデータ）を比較し、データの値が一致するか否かを判定する第１の比較処理を行う。比較部３０は、少なくとも初期設定の期間に第１の比較処理を行うが、初期設定完了後の通常動作時にも第１の比較処理を行ってもよい。
【００３８】
比較部３０は、例えば第１レジスターデータ４２０と対応付けられたブロックに書き込まれたデータである第１メモリーデータ４１０、第２メモリーデータ４１２〜第Ｎメモリーデータ４１８のそれぞれと第２レジスターデータ４２２〜第Ｎレジスターデータ４２８のそれぞれを比較し、データの値が一致するか否かを判定する第２の比較処理を行う。例えば第２レジスターデータ４２２については、対応付けられた第２のブロックに書き込まれたデータである第２メモリーデータ４１２と比較される。それぞれの経路において、例えばノイズ等の影響によるレジスターへの書き込みエラーが生じていないかを判定するためである。なお、第２の比較処理では、経路にかかわらず全てのデータを比較してデータの値が一致するか否かを判定してもよい。このとき、より多くのデータと比較することで検出の信頼性が向上する。本実施形態において、第１の比較処理と同様に、比較部３０は少なくとも初期設定の期間に第２の比較処理を行うが、通常動作時にも第２の比較処理を行ってもよい。
【００３９】
比較部３０は、例えば第１レジスターデータ４２０、第２レジスターデータ４２２〜第Ｎレジスターデータ４２８（全てのレジスターデータ）を比較し、データの値が一致するか否かを判定する第３の比較処理を行う。本実施形態では、比較部３０は通常動作において常時第３の比較処理を行うが、初期設定の期間に第３の比較処理を行ってもよい。
【００４０】
なお、第１の比較処理、第２の比較処理、第３の比較処理において、データの比較は１ビットずつ行ってもよいし、全体（全ビット）を一度に比較してもよい。１ビットずつの比較を行う場合には、比較に用いる回路（比較器）の規模が小さいとの利点があるが、比較を完了するまでに時間がかかる。逆に、全体を一度に比較する場合には、回路規模は大きくなるが比較の完了までの時間が短縮できる。そこで、例えば、第１の比較処理と第２の比較処理が初期設定の期間に行われ、第３の比較処理が通常動作時に行われるとする。このとき、誤りの発生を直ちに検出する必要がある第３の比較処理については全体を一度に比較し、誤り検出にそれほど緊急性が要求されない第１の比較処理と第２の比較処理については１ビットずつの比較を行ってもよい。
【００４１】
そして、比較部３０は、第１〜第３の比較処理の結果からデータの不一致を検知した場合には、後段に出力される第１レジスターデータ４２０は誤りを含むデータであると判断する。このとき、比較部３０は、第１レジスターデータ４２０が誤りを含むことを集積回路装置１の内部又は外部のモジュールに知らせるエラー検出信号４３０を出力してもよい。
【００４２】
集積回路装置１が多くの比較用データを有することは、第１レジスターデータ４２０の誤り判定の正確さを向上させる。しかし一方で、比較部３０の回路規模は増大する。よって、２つのブロック１００、１０２からなる不揮発性メモリー１０と２つのレジスター２０、２２を含む構成は、回路規模を最小限に抑えながら故障検出を行うことを可能にする。そして、二重化であるとしても、第１〜第３の比較処理を行うことによってメモリーやレジスターへの書き込みエラーや偶発的なノイズによるエラー等を検出できるので、信頼性の高い故障検出が可能である。
【００４３】
また、レジスターのサイズは不揮発性メモリー１０のブロックのサイズと同じであることが好ましい（例えば、共に６４ビット）が、メモリーデータをレジスターへ書き込む際のデータサイズは別のサイズ（例えばバイト単位や３２ビット単位）であってもよい。
【００４４】
なお、比較部３０は多数決回路などを有し、誤りを含まないデータを検出してもよい。そして比較部３０は、例えば第１レジスターデータ４２０は誤りを含むと判定し、第２のレジスターデータ４２２は誤りを含まないと判定した場合、セレクター等で第１レジスターデータ４２０に代えて第２のレジスターデータ４２２を選択して出力させてもよい。
【００４５】
２．第２実施形態
本発明の第２実施形態について図２〜図８を参照して説明する。なお、第１実施形態と同様の構成については、同一符号を付して説明を省略し、主として相違点について説明する。
【００４６】
図２は、本実施形態の集積回路装置１Ａのブロック図である。集積回路装置１Ａは、不揮発性メモリー１０、第１のレジスター２０、第２のレジスター２２、比較部３０Ａを含む。本実施形態では不揮発性メモリー１０は２つのブロック１００、１０２を含む。比較部３０Ａは、図１の比較部３０に対応し、それぞれ第１、第２、第３の比較処理をおこなう第１の比較部３０１、第２の比較部３０２、第３の比較部３０３を含む。エラー検出信号４３０Ａは、図１のエラー検出信号４３０に対応し、第１の比較部３０１、第２の比較部３０２、第３の比較部３０３のいずれかでエラーが検出された場合に活性化されてもよい。
【００４７】
そして、集積回路装置１Ａは、入力データ４００Ａをブロック１００、１０２に書き込み、メモリーデータのそれぞれを所与のタイミングで対応付けられたレジスター４２０、４２２に書き込む制御を行う書き込み制御部７０を含む。書き込み制御部７０は、シリアルインターフェース部（シリアルＩ／Ｆ部）５０と初期設定部６０を含む。なお、シリアルインターフェース部５０は双方向のシリアルデータを扱うが、本実施形態では主にレジスター２０、２２への書き込み要求があるとして説明する。
【００４８】
シリアルインターフェース部５０は、集積回路装置１Ａの内部又は外部のモジュール等と不揮発性メモリー１０、初期設定部６０、レジスター２０、２２等とがシリアル通信を行う場合のインターフェースとして機能する。例えば、シリアルインターフェース部５０は、シリアルデータ４５０を受け取った場合に、パラレル形式に変換して不揮発性メモリー１０の入力データ４００Ａとして出力してもよい。
【００４９】
なお、本実施形態ではシリアル通信を行うシリアルインターフェース部５０であるが、パラレル通信を行うインターフェース部であってもよい。すなわち、集積回路装置１Ａの内部、又は外部のモジュール等からレジスター２０、２２等にアクセスする通信におけるインターフェース部であれば、その通信形式は限定されない。また、シリアル通信の場合に、その方式はＩ２Ｃバスのプロトコルに従ってもよいし、ＳＰＩ（Serial Peripheral Interface）に従ってもよいし、その他の通信方式であってもよい。
【００５０】
初期設定部６０は、第１のレジスター２０および第２のレジスター２２にデータを書くために、その内部ステートマシンの遷移状態に応じた制御信号４４４を生成する。本実施形態では、集積回路装置１Ａは通常動作時に、第１のレジスター２０から後段のモジュールに第１レジスターデータ４２０を供給する必要がある。そのため、少なくとも初期設定の期間において初期設定部６０が動作する。シリアルインターフェース部５０は制御信号４４４に基づいて、不揮発性メモリー１０の入力データ４００Ａや、後述するレジスター２０、２２のストローブ信号４４０、４４２や、図外のライトイネーブル信号などを生成してもよい。
【００５１】
また、初期設定部６０は、通常動作時において第１のレジスター２０および第２のレジスター２２を書き換えるときに動作してもよい。例えばシリアルインターフェース部５０がレジスター２０、２２を更新するデータをシリアルデータ４５０として受け取った場合に、初期設定部６０は、初期設定と同様に制御信号４４４を生成して、同じ手順で第１のレジスター２０および第２のレジスター２２を書き換えることができる。
【００５２】
初期設定を行う場合には、例えば第１のレジスター２０の後段に配置されたアナログ回路部から設定値を求めるリクエスト信号６２０が初期設定部６０に入力される。以下、レジスター２０、２２のデータ更新を求める信号をリクエスト信号と呼ぶ。初期設定部６０は、リクエスト信号６２０を受け取ることで制御信号４４４を出力してもよい。
【００５３】
ここで、予めシリアルインターフェース部５０は、初期設定値をシリアルデータ４５０として受け取り、不揮発性メモリー１０に書き込んでいる。二重化により第１のブロック１００と第２のブロック１０２に書き込まれた初期設定値は、それぞれ第１メモリーデータ４１０、第２メモリーデータ４１２として不揮発性メモリー１０から出力される。そして、制御信号４４４等が定めるタイミングで、それぞれレジスター２０、２２に書き込まれる。そして、第１の比較処理、第２の比較処理、第３の比較処理が比較部３０Ａにおいて行われ、データの一致又は不一致に応じた処理が行われてもよい。第１レジスターデータ４２０はアナログ回路部等へ設定値として出力される。
【００５４】
ここで、第１のレジスター２０、第２のレジスター２２は、それぞれストローブ信号４４０、４４２を用いて第１メモリーデータ４１０、第２メモリーデータ４１２を取り込む非同期レジスターであってもよい。加えて、制御信号４４４に基づいて、第１のレジスター２０および第２のレジスター２２のライトイネーブル信号（図外）がシリアルインターフェース部５０から供給されてもよい。ライトイネーブル信号は、例えば、初期設定部６０の内部ステートマシンの状態が設定時間内に遷移することを条件に出力されてもよい。第１の比較処理を行う場合、データの不一致が検出されたときに内部ステートマシンの遷移を停止してもよい。このとき、制御信号４４４によってシリアルインターフェース部５０はエラーを認識し、ライトイネーブル信号を出力しない。このため、エラーを含むメモリーデータがレジスターに書き込まれることを防止できる。
【００５５】
なお、第１のレジスター２０、第２のレジスター２２は、ストローブ信号４４０、４４２の立ち上がりに同期してデータを取り込んでも良いし、立ち下がりに同期してもよい。そして、ストローブ信号４４０、４４２はシリアルインターフェース部５０から供給されてもよい。シリアルインターフェース部５０からストローブ信号４４０、４４２が供給されることは、テストモードにおいてシリアルインターフェース部５０が直接にレジスター２０、２２にアクセスすることを容易にする。
【００５６】
通常動作時において第１のレジスター２０および第２のレジスター２２を書き換えるときも手順は初期設定と同様である。例えばシリアルインターフェース部５０がレジスター２０、２２を更新するデータをシリアルデータ４５０として受け取った場合に、シリアルインターフェース部５０はリクエスト信号６０４を初期設定部６０に送る。リクエスト信号６０４はリクエスト信号６２０と同じ性質の信号であり、初期設定部６０はリクエスト信号６０４によって内部ステートマシンの状態を遷移させて制御信号４４４を生成する。なお、本実施形態では初期設定部６０は少なくとも初期設定で使用されることから初期設定部と呼ばれているが、制御信号生成部などの別の名称であってもよい。
【００５７】
次に、シリアルインターフェース部５０と初期設定部６０を含む接続の具体例について図３を参照して説明する。なお、不揮発性メモリー１０は、３２ビットのデータ単位でアクセスが行われる。レジスターは３２ビット単位での書き込みが可能であるが、出力は６４ビットであるとする。
【００５８】
図３は、シリアルインターフェース部５０、初期設定部６０、不揮発性メモリー１０、第１のレジスター２０、第２のレジスター２２、アナログ回路部８０の間の接続例を示す。ここで、第１のレジスター２０から出力される第１レジスターデータ（ＲｅｇＤａｔａＯｕｔ１）４２０はアナログ回路部が機能するのに必要な値を含み、初期設定時にも要求されるものとする。また、少なくとも不揮発性メモリーがクロックとして使用する内部クロック（ＩｎＣＬＫ）６０２は、アナログ回路部８０から供給されてもよい。
【００５９】
シリアルインターフェース部５０は、シリアル通信用チップイネーブル信号（ＣＥ）４５２、シリアルクロック（ＣＬＫ）４５４、シリアルデータ（ＤＡＴＡ）４５０を用いて集積回路装置１Ａの内部又は外部のモジュールとシリアル通信を行う。なお、シリアル通信には不揮発性メモリー１０、第１のレジスター２０、又は第２のレジスター２２のデータを読み出す機能も含まれるが、ここでは、シリアルインターフェース部５０に送られたシリアルデータ（ＤＡＴＡ）４５０を不揮発性メモリー１０に書き込む場合について説明する。
【００６０】
本実施形態では、シリアルインターフェース部５０はアナログ回路部８０に、不揮発性メモリー１０が必要な内部クロック信号（ＩｎＣＬＫ）６０２の供給を求めるクロックリクエスト信号（ＩｎＣＬＫＲｅｑＥＥＰ）６０８を出力する。ＩｎＣＬＫ６０２は、ＣＬＫ４５４よりも低速であってもよい。そして、シリアルインターフェース部５０は、例えばシリアルデータ（ＤＡＴＡ）４５０をパラレルデータに変換したＲｅｇＷｒＤａｔａ４００Ａを不揮発性メモリー１０に出力する。シリアルインターフェース部５０は、ＲｅｇＷｒＤａｔａ４００Ａが書き込まれる対象（例えば、アドレスやブロック）を、アドレス（ＡｄｄｒＳｆｔ）４２４で指定してもよい。このとき、メモリーブロック選択信号（ＥＥＰ＿ＸＣＳ）６３４も併用されてもよい。本実施形態では、ＲｅｇＷｒＤａｔａ４００Ａは二重化されて不揮発性メモリー１０内部の第１のブロック１００と第２のブロック１０２（図２）の両方に書き込まれるとする。シリアルインターフェース部５０は、不揮発性メモリー１０に対する書き込み、読み出しを指定するのに、それぞれメモリーライトイネーブル信号（ＥＥＰ＿ＷｒＥｎ）６３０、メモリーリードイネーブル信号（ＥＥＰ＿ＲｄＥｎ）６３２を用いてもよい。
【００６１】
不揮発性メモリー１０に書き込まれたデータの内容を後段のアナログ回路部８０に反映させるには、第１のレジスター２０を更新する必要がある。また、第１のレジスター２０のデータが正しいという信頼性を高めるためには、比較対象となる第２のレジスター２２も更新する必要がある。
【００６２】
シリアルインターフェース部５０は、例えばＥＥＰ＿ＲｄＥｎ６３２等によって、不揮発性メモリー１０に書き込まれたデータが出力されるようにしてもよい。そして、不揮発性メモリー１０内部の第１のブロック１００と第２のブロック１０２からそれぞれ出力された第１メモリーデータ（ＥＥＰ＿ＲｄＤａｔａ１）４１０と第２メモリーデータ（ＥＥＰ＿ＲｄＤａｔａ２）４１２がレジスター２０、２２に書き込まれるように制御信号を出力する。ここで、第１のレジスター２０は非同期レジスターであるとして、シリアルインターフェース部５０は、ライトイネーブル信号（ＲｅｇＡｎａＸｗｒＥｎ１）６１０とストローブ信号（ＲｅｇＸｗｒＰｌｓ１）４４０によって適当なタイミングで第１のレジスター２０の値を更新する。同様に、第２のレジスター２２も非同期レジスターであり、シリアルインターフェース部５０は、ライトイネーブル信号（ＲｅｇＡｎａＸｗｒＥｎ２）６１２とストローブ信号（ＲｅｇＸｗｒＰｌｓ２）４４２によって第２のレジスター２２の値を更新する。ＲｅｇＡｎａＸｗｒＥｎ１（６１０）とＲｅｇＡｎａＸｗｒＥｎ２（６１２）は同じタイミングで変化してもよいし、互いに独立していてもよい。また、ＲｅｇＸｗｒＰｌｓ１（４４０）とＲｅｇＸｗｒＰｌｓ２（４４２）も同じタイミングで変化してもよいし、互いに独立していてもよい。更新された第１レジスターデータ（ＲｅｇＤａｔａＯｕｔ１）４２０はアナログ回路部８０に入力される。また、更新された第２レジスターデータ（ＲｅｇＤａｔａＯｕｔ２）４２２は、比較部３０Ａ（図２）でデータを比較するのに用いられる。
【００６３】
例えば集積回路装置１Ａのリセット後などの初期設定において、アナログ回路部８０に含まれるアナログ回路が適切な出力値をとるように、レジスター２０、２２は不揮発性メモリー１０からのデータを読み込み、データを更新する必要がある。
【００６４】
初期設定部６０は、アナログ回路部８０とシリアルインターフェース部５０の状態を把握し、初期設定においてシリアルインターフェース部５０に適切なタイミングでレジスター２０、２２のデータを更新させてもよい。本実施形態では、初期設定部６０は内部にステートマシンを有しているが別の構成であってもよい。
【００６５】
初期設定部６０は、リセット信号（ＩｎｉｔＲｓｔＰｌｓ＿Ｘ）６００で内部のステートマシンを初期化した後、アナログ回路部８０から初期設定のリクエスト信号（ＲｅｑＡｎａＤａｔａ）６２０を受け取る。そして、初期設定部６０は、制御信号４４４（図２）によってシリアルインターフェース部５０に適切なタイミングでレジスター２０、２２のデータを更新させる。このとき、制御信号４４４の一つとして、初期設定部６０は、レジスター２０、２２のデータの更新終了を示すアクノリッジ信号（ＡｃｋＡｎａＤａｔａ）６０６を出力してもよい。なお、ＡｃｋＡｎａＤａｔａ６０６は制御信号４４４の一つではなくアナログ回路部８０に対して出力される信号であってもよいし、本実施形態のようにシリアルインターフェース部５０とアナログ回路部８０の両方に対して出力されてもよい。
【００６６】
ここで、初期設定においてレジスター２０、２２のデータを更新する手順は、シリアルインターフェース部５０がシリアルデータ（ＤＡＴＡ）４５０を不揮発性メモリー１０に書き込んだ後にレジスター２０、２２を更新する手順と同じである。よって、この初期設定部６０を、シリアルデータ（ＤＡＴＡ）４５０を不揮発性メモリー１０に書き込む場合に利用できれば、別途回路を用意する必要がないので回路規模の増大を抑制できる。
【００６７】
そこで、本実施形態では、シリアルインターフェース部５０は不揮発性メモリー１０に書き込むシリアルデータ（ＤＡＴＡ）４５０を受け取ったときに、レジスター更新のリクエスト信号（ＲｅｑＡｎａＤａｔａ＿Ｓｅｒｉａｌ）６０４を初期設定部６０に出力する。初期設定部６０は、この場合にもＡｃｋＡｎａＤａｔａ６０６を含む制御信号４４４を生成する。
【００６８】
図４は、本実施形態における通常動作時のデータ更新の例を示す波形図である。シリアルインターフェース部５０は、ＣＥ４５２、ＣＬＫ４５４、ＤＡＴＡ４５０を用いてシリアル通信を行う。ＣＥ４５２はシリアル通信用チップイネーブル信号であり、論理レベルが１のときにシリアル通信が行われることを示す。ＣＬＫ４５４はシリアルクロックであり、本実施形態ではＣＬＫ４５４の立ち上がりエッジでＤＡＴＡ４５０の値が確定するものとする。ＤＡＴＡ４５０はシリアルデータであり、要求がリードかライトかを指定する書き込み要求、アドレス、書き込み用データ等をシリアルインターフェース部５０に伝送する。図４のようにシリアルインターフェース部５０は、レジスター２０、２２に書き込むデータＤ１［３１：０］を取得する。ここで、本実施形態では通常動作時のデータ更新は３２ビット単位で行われるものとする。この例では、ＡｄｄｒＳｆｔ４２４（Ａ１［３：０］）により、不揮発性メモリー１０（ブロック１００、１０２の両方）の下位３２ビットを指定して書き換えるものとする。
【００６９】
ＣＥ４５２がアクティブになりシリアル通信が開始される（ｔ０）。シリアルインターフェース部５０は、ＣＬＫ４５４の立ち上がりに同期してＤＡＴＡ４５０を取得する。なお、ＣＬＫ４５４の立ち下がりに同期して、又はレベルを見てＤＡＴＡ４５０が取得されてもよい。本実施形態では、ＣＬＫ４５４の立ち上がりでアドレス、データの順に送られたＤＡＴＡ４５０を取得して、パラレル変換したＡｄｄｒＳｆｔ４２４とＲｅｇＷｒＤａｔａ４００Ａを生成する（ｔ１）。
【００７０】
少なくとも、通常動作時のデータ更新においてシリアルインターフェース部５０は、不揮発性メモリー１０が使用するＩｎＣＬＫ６０２の供給を、ＩｎＣＬＫＲｅｑＥＥＰ６０８によってアナログ回路部８０に要求する（ｔ２）。
【００７１】
ここで、先にＥＥＰ＿ＸＣＳ６３４について説明する。この例において、負論理の信号ＥＥＰ＿ＸＣＳ６３４は不揮発性メモリー１０のメモリーブロック、すなわち第１のブロック１００と第２のブロック１０２のどちらにアクセスするかを指定する信号である。具体的には、ＥＥＰ＿ＸＣＳ６３４が１０ｂのとき（ｔ３）は第１のブロック１００が選択され、ＥＥＰ＿ＸＣＳ６３４が０１ｂのとき（ｔ５）は第２のブロック１０２が選択される。また、不揮発性メモリー１０からの読み出し要求に限り、ＥＥＰ＿ＸＣＳ６３４が００ｂであれば両方のブロックから同時に読み出すことが可能であるとする（ｔ９）。非選択の場合には、ＥＥＰ＿ＸＣＳ６３４は１１ｂとなっている（ｔ７）。ＥＥＰ＿ＸＣＳ６３４は、シリアルインターフェース部５０が出力するメモリーライトイネーブル信号（ＥＥＰ＿ＷｒＥｎ）６３０、メモリーリードイネーブル信号（ＥＥＰ＿ＲｄＥｎ）６３２と共に使われてもよい。具体的には不揮発性メモリー１０へのアクセスは、ＥＥＰ＿ＷｒＥｎ６３０がアクティブのときには書き込み動作が行われ（ｔ４、ｔ６）、ＥＥＰ＿ＲｄＥｎ６３２がアクティブのときには読み出し動作が行われる（ｔ９）。
【００７２】
再び時系列に沿って説明をすると、時刻ｔ３で第１のブロック１００が選択されて時刻ｔ４でＥＥＰ＿ＷｒＥｎ６３０がアクティブになることによりＤ１［３１：０］が書き込まれる。そして、時刻ｔ５で第２のブロック１０２が選択されて時刻ｔ６でＥＥＰ＿ＷｒＥｎ６３０がアクティブになることによりＤ１［３１：０］が書き込まれる。レジスターに書くべきデータＤ１［３１：０］が不揮発性メモリー１０に保存されたので（ｔ７）、続いてレジスターへのコピーを行う。
【００７３】
そのために、シリアルインターフェース部５０は、リクエスト信号ＲｅｑＡｎａＤａｔａ＿Ｓｅｒｉａｌ６０４をアクティブにする（ｔ８）。この要求に基づいて、初期設定部６０は適当なタイミングでＡｃｋＡｎａＤａｔａ６０６を含む制御信号４４４等を出力する。シリアルインターフェース部５０は、ＥＥＰ＿ＲｄＥｎ６３２をアクティブにして不揮発性メモリー１０を読み出しモードにする（ｔ９）。そして、初期設定の場合と同様に、時刻ｔ１０、時刻ｔ１１において、それぞれ第１のレジスター２０、第２のレジスター２２が、不揮発性メモリー１０から読み出された値Ｄ１［３１：０］に更新される。その後、不揮発性メモリー１０の読み出しモードも解除され（ｔ１２）、シリアル通信も完了する（ｔ１３）。
【００７４】
図５（Ａ）は本実施形態におけるシリアルデータの例を示す波形図である。シリアルクロックであるＣＬＫ４５４、およびＣＬＫ４５４の立ち上がりエッジでデータが確定するＤＡＴＡ４５０がシリアルインターフェース部５０に入力される。このときＤＡＴＡ４５０は、ライト要求又はリード要求を示す１ビットの信号（Ｒ／Ｗ）、４ビットのアドレス信号（ＡｄｄｒＳｆｔ［３：０］）、メモリーに書き込まれる３２ビットのデータ（ＲｅｇＷｒＤａｔａ［３１：０］）の順にシリアルインターフェース部５０に入力される。なお、シリアル通信用チップイネーブル信号（ＣＥ）４５２は、図５（Ａ）では記載を省略しているが活性化しているものとする。Ｒ／Ｗは例えば論理レベル１で書き込みを要求し、論理レベル０で読み出しを要求する。ここでは、書き込み要求であるとして説明する。
【００７５】
ＤＡＴＡ４５０がこのようなデータ構造を採る場合、ＡｄｄｒＳｆｔ［３：０］によって不揮発性メモリーのブロックを指定、又は選択することが可能となり、柔軟な書き込み制御ができる。例えば、不揮発性メモリーがレジスターに対応したグループ化されたブロックのみから構成されるのではなく、他のブロックを含んでいても適切に制御できる。また、メモリーのブロックが書き込まれるデータよりも大きい場合に、ブロックにおけるデータの書き込み位置を指定するのにも用いられる。このことは、ブロックのうち一部のデータのみを書き換える必要がある場合に、その一部のみを効率的に書き換えることを可能にする。
【００７６】
図５（Ｂ）のテーブルは、６４ビットのブロックを３２ビットずつ書き換える場合のＡｄｄｒＳｆｔ［３：０］の使用例を表す。このとき、不揮発性メモリーはレジスターに対応したブロックのみで構成されているとする。このとき、全てのブロックの上位３２ビット又は下位３２ビットにＲｅｇＷｒＤａｔａ［３１：０］が書き込まれるため、ＡｄｄｒＳｆｔ［３：０］のうち１ビットによって指定を行えばよい。図５（Ｂ）ではＡｄｄｒＳｆｔ［０］が０の時には下位３２ビットにＲｅｇＷｒＤａｔａ［３１：０］が書き込まれ、ＡｄｄｒＳｆｔ［０］が１の時には上位３２ビットに同データが書き込まれる。例えば、ＡｄｄｒＳｆｔ［３：０］が１０１０ｂである場合には、全てのブロックの下位３２ビットにＲｅｇＷｒＤａｔａ［３１：０］が書き込まれる。その後、各ブロックに書き込まれたメモリーデータのそれぞれは、所与のタイミングで対応付けられたレジスターに書き込まれる。このとき、ＡｄｄｒＳｆｔ［３：１］は別の用途に用いられてもよい。例えばレジスターに書き込まれるタイミングを制御するのに用いられてもよい。
【００７７】
このように、ＲｅｇＷｒＤａｔａ［３１：０］はＡｄｄｒＳｆｔ［３：０］によってユーザーが要求するメモリーブロックおよびレジスターに自動的に書き込まれる。このとき、メモリーブロックからレジスターへのデータのコピー操作をユーザーが行う必要もない。よって、人為的なミスによる誤書き込みの確率を低減させることができるので、データの信頼性を高めることができる。
【００７８】
図５（Ｃ）のテーブルは、６４ビットのブロックを３２ビットずつ書き換える場合においてＡｄｄｒＳｆｔ［３：０］の別の使用例で用いられる。図５（Ｃ）のテーブルは、ブロックをグループ（書き込み対象の区分）に分ける。例えば、不揮発性メモリーはレジスターに対応した第１〜第４のブロックと、別の用途のための第５のブロックとで構成されているとする。図５（Ｃ）のテーブルによると、第５のブロックの下位３２ビット、第５ブロックの上位３２ビット、第１〜４のブロックの下位３２ビット、第１〜４のブロックの上位３２ビットでグループ分けされている。そして、図５（Ｃ）のテーブルにおいて、例えば第１〜第４のブロックの下位３２ビットというグループに含まれるアドレスは、００００ｂ、００１０ｂ、０１００ｂ、０１１０ｂの４つである。
【００７９】
このとき、例えばＡｄｄｒＳｆｔ［３：０］が００１０ｂである場合には、このアドレス値は第１〜第４のブロックの下位３２ビットというグループに含まれる。書き込み制御部７０は、このテーブルに従ってＲｅｇＷｒＤａｔａ［３１：０］を第１〜第４のブロックの全ての下位３２ビット書き込み、書き込まれたメモリーデータのそれぞれは所与のタイミングで対応付けられたレジスターにも書き込まれる。一方、例えばＡｄｄｒＳｆｔ［３：０］が１００１ｂである場合には、第５のブロックの上位３２ビットだけにＲｅｇＷｒＤａｔａ［３１：０］が書き込まれる。
【００８０】
このように、図５（Ｃ）のようなテーブルを用いて、ＡｄｄｒＳｆｔをブロックの指定に用いることで柔軟に、そして効率的なデータ更新を可能にする。なお、本実施例ではＡｄｄｒＳｆｔは４ビットだが、ビット数を増やしてブロックの指定方法を更に多様化することも可能である。
【００８１】
図６は、本実施形態における初期設定の例を示す波形図である。まず、負論理の信号であるＩｎｉｔＲｓｔＰｌｓ＿Ｘ６００によって、初期設定部６０の内部のステートマシンが初期化される（ｔ０〜ｔ１）。そして、不揮発性メモリー１０の読み出し等に必要なＩｎＣＬＫ６０２がアナログ回路部８０から供給される（ｔ２）。アナログ回路部８０は、アナログ回路が安定するのに必要な時間の経過後等、所定のタイミングでＲｅｑＡｎａＤａｔａ６２０をアクティブにする（ｔ３）。シリアルインターフェース部５０のリード要求信号（例えば、ＥＥＰ＿ＲｄＥｎ６３２）に応じて不揮発性メモリー１０から、下位３２ビットのデータＤ１が出力される（ｔ４）。ここで、第１のブロック１００からの出力ＥＥＰ＿ＲｄＤａｔａ１（４１０）と第２のブロック１０２からの出力ＥＥＰ＿ＲｄＤａｔａ２（４１２）に違いはないものとし、波形図をまとめて記載している。同時に（ｔ４）、シリアルインターフェース部５０は第１のレジスター２０に負論理の書き込みイネーブル信号ＲｅｇＡｎａＸｗｒＥｎ１（６１０）を出力する。また、シリアルインターフェース部５０は第２のレジスター２２に負論理の書き込みイネーブル信号ＲｅｇＡｎａＸｗｒＥｎ１（６１２）を出力する。そして、第１のレジスター２０に対してはＲｅｇＸｗｒＰｌｓ１（４４０）の立ち上がりで、第２のレジスター２２に対してはＲｅｇＸｗｒＰｌｓ２（４４２）の立ち上がりで、Ｄ１［３１：０］書き込みが行われる（ｔ５）。そして、同様に上位３２ビット（Ｄ１［６３：３２］）についても同様に書き込みが行われる（ｔ６〜ｔ７）。その後、第１のレジスター２０と第２のレジスター２２がＤ１［６３：０］に更新されたことを通知するため初期設定部６０はＡｃｋＡｎａＤａｔａ６０６を出力する（ｔ８）。アナログ回路部８０は、ＲｅｑＡｎａＤａｔａ６２０を非アクティブにする（ｔ９）。このように、初期設定においてメモリーデータをレジスターへデータを書き込む手順は、図４の通常動作時における手順の一部と同じである。前記のように、初期設定部６０が初期設定時と通常動作時で共用されることで回路規模の増大を抑えることができる。
【００８２】
図７は、本実施形態におけるテストモード時の接続例を示すブロック図である。図７は、図３とは異なり、シリアルインターフェース部５０がＲｅｇＷｒＤａｔａ４００Ａを直接第１のレジスター２０と第２のレジスター２２に出力している。つまり、テストモードではシリアルインターフェース部５０はレジスター２０、２２に直接ＲｅｇＷｒＤａｔａ４００Ａを書き込むことができる。このとき、ライトイネーブル信号６１０、６１２やストローブ信号４４０、４４２をＣＬＫ４５４に同期させて作成してもよい。すなわち、不揮発性メモリー１０に用いる低速なＩｎＣＬＫ６０２とは無関係に、より高速なシリアルクロック（ＣＬＫ）４５４をクロックとして必要な信号を生成することが可能である。
【００８３】
また、シリアルインターフェース部５０は、レジスター部９０を経由して第１のレジスター２０と第２のレジスター２２の値を３２ビット単位で読むことができる。レジスター２０、２２の出力はそれぞれ６４ビットである。しかし、レジスター部９０によってアドレス（ＡｄｄｒＳｆｔ）４２４の値に応じた３２ビット幅のテスト用第１レジスターデータ（ＲｅｇＲｄＤａｔａ）４２１が選択されてシリアルインターフェース部５０に出力される。テストモードにおいて、シリアルインターフェース部５０は、テスト用レジスターリードイネーブル（ＲｅｇＲｄＥｎ）４４６によってレジスター２０、２２からのデータ読み出しを指示する。
【００８４】
図８は、本実施形態におけるテストモードを用いてレジスター２０、２２にデータを書き込む場合の波形図を示している。書き込みは下位３２ビットと上位３２ビットの順に２回行われる。ＣＥ４５２がアクティブになりシリアル通信が開始される（ｔ０、ｔ５）。シリアルインターフェース部５０は、ＣＬＫ４５４の立ち上がりに同期してＤＡＴＡ４５０を取得する。そして、パラレル変換したＡｄｄｒＳｆｔ４２４（ｔ１、ｔ６）とＲｅｇＷｒＤａｔａ４００Ａを生成する（ｔ２、ｔ７）。ＲｅｇＸｗｒＰｌｓ１（４４０）、ＲｅｇＸｗｒＰｌｓ２（４４２）の立ち上がりで第１のレジスター２０、第２のレジスター２２に書き込みが行われる（ｔ３、ｔ８）。その後、シリアル通信が完了する（ｔ４、ｔ９）。
【００８５】
３．第３実施形態
本発明の第３実施形態について図９〜図１０を参照して説明する。なお、第１実施形態又は第２実施形態と同様の構成については、同一符号を付して説明を省略し、主として相違点について説明する。
【００８６】
図９は本実施形態に係る電子機器８００のブロック図である。電子機器８００は、集積回路装置８１０、入力部８２０、メモリー８３０、電源生成部８４０、ＬＣＤ８５０、音出力部８６０を含む。集積回路装置８１０は、第１又は第２実施形態の集積回路装置１、集積回路装置１Ａのいずれかに対応する。
【００８７】
ここで、入力部８２０は、種々のデータを入力するためのものである。集積回路装置８１０は、この入力部８２０により入力されたデータに基づいて種々の処理を行うことになる。メモリー８３０は、集積回路装置８１０などの作業領域となるものである。電源生成部８４０は、電子機器８００で使用される各種電源を生成するためのものである。
【００８８】
ＬＣＤ８５０は、電子機器８００が表示する各種の画像（文字、アイコン、グラフィック等）を出力するためのものである。音出力部８６０は、電子機器８００が出力する各種の音（音声、警告音、ゲーム音等）を出力するためのものであり、その機能は、スピーカーなどのハードウェアにより実現できる。
【００８９】
電子機器８００の例としては、自動車の制御装置がある。例えば横滑り防止のヨーレートセンサーや加速度センサーとして集積回路装置８１０が含まれていてもよい。入力部８２０、ＬＣＤ８５０、音出力部８６０は運転席付近に設けられていてもよい。自動車の制御装置は高い信頼性が求められるため、本発明に係る集積回路装置８１０が適している。
【００９０】
また、信頼性の高い故障検出はノイズの影響を受けやすい携帯機器でも必要とされる場合がある。
【００９１】
図１０（Ａ）に、電子機器の１つである携帯電話９５０の外観図の例を示す。この携帯電話９５０は、入力部として機能するダイヤルボタン９５２や、電話番号や名前やアイコンなどを表示するＬＣＤ９５４や、音出力部として機能し音声を出力するスピーカー９５６を備える。
【００９２】
図１０（Ｂ）に、電子機器の１つである携帯型ゲーム装置９６０の外観図の例を示す。この携帯型ゲーム装置９６０は、入力部として機能する操作ボタン９６２、十字キー９６４や、ゲーム画像を表示するＬＣＤ９６６や、音出力部として機能しゲーム音を出力するスピーカー９６８を備える。
【００９３】
図１０（Ｃ）に、電子機器の１つであるパーソナルコンピューター９７０の外観図の例を示す。このパーソナルコンピューター９７０は、入力部として機能するキーボード９７２や、文字、数字、グラフィックなどを表示するＬＣＤ９７４、音出力部９７６を備える。
【００９４】
本実施形態の集積回路装置を例えば自動車の制御装置や図１０（Ａ）〜図１０（Ｃ）の電子機器に組み込むことにより、データの信頼性の高い電子機器８００を提供することができる。
【００９５】
これらの例示に限らず、本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法および結果が同一の構成、あるいは目的および効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【符号の説明】
【００９６】
１…集積回路装置、１Ａ…集積回路装置、１０…不揮発性メモリー、２０…第１のレジスター、２２…第２のレジスター、２８…第Ｎのレジスター、３０…比較部、３０Ａ…比較部、５０…シリアルインターフェース部（シリアルＩ／Ｆ）、６０…初期設定部、７０…書き込み制御部、８０…アナログ回路部、９０…レジスター部、１００…第１のブロック、１０２…第２のブロック、１０８…第Ｎのブロック、３０１…第１の比較部、３０２…第２の比較部、３０３…第３の比較部、４００…入力データ、４００Ａ…入力データ（ＲｅｇＷｒＤａｔａ）、４１０…第１メモリーデータ（ＥＥＰ＿ＲｄＤａｔａ１）、４１２…第２メモリーデータ（ＥＥＰ＿ＲｄＤａｔａ２）、４２０…第１レジスターデータ（ＲｅｇＤａｔａＯｕｔ１）、４２１…テスト用第１レジスターデータ（ＲｅｇＲｄＤａｔａ）、４２２…第２レジスターデータ（ＲｅｇＤａｔａＯｕｔ２）、４２４…アドレス（ＡｄｄｒＳｆｔ）、４２８…第Ｎレジスターデータ、４３０…エラー検出信号、４３０Ａ…エラー検出信号、４４０…ストローブ信号（ＲｅｇＸｗｒＰｌｓ１）、４４２…ストローブ信号（ＲｅｇＸｗｒＰｌｓ２）、４４４…制御信号、４４６…テスト用レジスターリードイネーブル（ＲｅｇＲｄＥｎ）、４４８…ストローブ信号、４５０…シリアルデータ（ＤＡＴＡ）、４５２…シリアル通信用チップイネーブル信号（ＣＥ）、４５４…シリアルクロック（ＣＬＫ）、６００…リセット信号（ＩｎｉｔＲｓｔＰｌｓ＿Ｘ）、６０２…内部クロック信号（ＩｎＣＬＫ）、６０４…リクエスト信号（ＲｅｑＡｎａＤａｔａ＿Ｓｅｒｉａｌ）、６０６…アクノリッジ信号（ＡｃｋＡｎａＤａｔａ）、６０８…クロックリクエスト信号（ＩｎＣＬＫＲｅｑＥＥＰ）、６１０…ライトイネーブル信号（ＲｅｇＡｎａＸｗｒＥｎ１）、６１２…ライトイネーブル信号（ＲｅｇＡｎａＸｗｒＥｎ２）、６２０…リクエスト信号（ＲｅｑＡｎａＤａｔａ）、６３０…メモリーライトイネーブル信号（ＥＥＰ＿ＷｒＥｎ）、６３２…メモリーリードイネーブル信号（ＥＥＰ＿ＲｄＥｎ）、６３４…メモリーブロック選択信号（ＥＥＰ＿ＸＣＳ）、８００…電子機器、８１０…集積回路装置、８２０…入力部、８３０…メモリー、８４０…電源生成部、８５０…ＬＣＤ、８６０…音出力部、９５０…携帯電話、９５２…ダイヤルボタン、９５４…ＬＣＤ、９５６…スピーカー、９６０…携帯型ゲーム装置、９６２…操作ボタン、９６４…十字キー、９６６…ＬＣＤ、９６８…スピーカー、９７０…パーソナルコンピューター、９７２…キーボード、９７４…ＬＣＤ、９７６…音出力部
【図１】
0005477574.tif 000002
【図２】
0005477574.tif 000003
【図３】
0005477574.tif 000004
【図４】
0005477574.tif 000005
【図５】
0005477574.tif 000006
【図６】
0005477574.tif 000007
【図７】
0005477574.tif 000008
【図８】
0005477574.tif 000009
【図９】
0005477574.tif 000010
【図１０】
0005477574.tif 000011