(57)【要約】【課題】動作時間を短縮しつつ、半導体記憶装置のデータを修正する半導体装置及び電子機器を提供すること。【解決手段】選択回路８は、ＣＰＵ２及び誤り訂正回路５と、第１及び第２メモリＭｅ１，Ｍｅ２との間に配置される。選択回路８は、アドレスデータＤａに基づいて、ＣＰＵ２に指定された一方の第１又は第２メモリＭｅ１，Ｍｅ２に対応するメモリ書き込みデータＤｗｍを第１又は第２メモリ書き込みデータＤｗｍ１，Ｄｗｍ２として出力し、ＣＰＵ２に指定されていない他方の第１又は第２メモリＭｅ１，Ｍｅ２に対応する訂正メモリデータＤｍｔを第１又は第２メモリ書き込みデータＤｗｍ１，Ｄｗｍ２として出力する。【選択図】図１
2010224967.tif 000002
【特許請求の範囲】
【請求項１】
メモリを含む複数の機能ブロックと、前記複数の機能ブロックにデータを書き込み又は読み出しを行うコントロール部とを有し、前記メモリに記憶されたメモリデータを読み出して該メモリデータの誤りを訂正した訂正メモリデータを前記メモリに書き戻す誤り訂正回路を設けた半導体装置であって、
前記コントロール部及び誤り訂正回路と、前記メモリとの間に設けられ、
制御信号に応じて、前記コントロール部に指定された前記機能ブロックに書き込むデータを該機能ブロックに出力し、前記訂正メモリデータを対応する前記メモリに出力する選択回路を有することを特徴とする半導体装置。
【請求項２】
請求項１に記載の半導体装置であって、
前記誤り訂正回路は、
前記訂正メモリデータを記憶する記憶手段を設け、
前記制御信号は、
前記コントロール部が前記メモリと異なる複数の機能ブロックへデータを書き込み、且つ、前記誤り訂正回路の前記記憶手段に前記訂正メモリデータを記憶しているかを判定に基づく信号であることを特徴とする半導体装置。
【請求項３】
請求項１又は２に記載の半導体装置であって、
前記コントロール部は、
前記複数の機能ブロックのうち、書き込み又は読み出しを行う機能ブロックを指定するアドレスデータを出力し、
前記選択回路は、
前記アドレスデータ及び前記制御信号に基づいて、前記コントロール部がデータを書きこむ前記機能ブロックと、前記訂正メモリデータに対応する前記メモリとを書き込み可能にすることを特徴とする半導体装置。
【請求項４】
請求項１〜３のいずれか１つに記載の半導体装置であって、
前記コントロール部は、
書き込み又は読み出しを行うデータのサイズを指定するサイズデータを選択回路に出力し、
前記選択回路は、
前記サイズデータを、前記コントロール部がデータを書き込む前記機能ブロックに出力し、
前記サイズデータの最大値を指定する最大サイズデータを、前記訂正メモリデータに対応する前記メモリに出力することを特徴とする半導体装置。
【請求項５】
請求項１〜４のいずれか１つに記載の半導体装置であって、
前記誤り訂正回路は、
前記訂正メモリデータを記憶する記憶手段を複数設け、
複数の前記記憶手段は、
前記記憶手段の数のメモリの訂正アドレスデータを記憶し、
前記選択回路は、
前記制御信号に基づいて、前記記憶手段の数のメモリに前記メモリデータを同時に書き戻すことを特徴とする半導体装置。
【請求項６】
請求項１〜５のいずれか１つに記載の半導体装置を備えたことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
半導体装置及び電子機器に関するものである。
【背景技術】
【０００２】
ＤＲＡＭやＳＲＡＭなどの半導体記憶装置（メモリ）は、メモリセルに記憶されたデータがソフトエラーによって反転してしまうという問題があった。ソフトエラーは、地上まで到達する宇宙線のうち電荷を持つα線、及び、パッケージに含まれる放射性物質から放射されるα線がメモリセルに衝突してメモリセルにデータとして蓄えられている電荷量を変化させ、メモリセルに記憶されているデータが反転してしまうことをいう。
【０００３】
近年、半導体記憶装置は、環境問題の点から低消費電力化が求められている。これに伴い、半導体記憶装置の電源電圧は低電圧化し、メモリセルの電荷容量は小さくなっている。この結果、半導体記憶装置は、小さな電荷量の変化でもメモリセルに記憶されているデータが反転し、ソフトエラーを引き起こす確率が高くなっている。
【０００４】
そこで、半導体記憶装置は、ソフトエラーによって反転したデータを訂正する誤り訂正（ＥＣＣ：Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｒｅｃｔｉｎｇ）回路を設けていた（例えば、特許文献１参照）。誤り訂正回路は、演算処理装置（以下、ＣＰＵという）が半導体記憶装置からデータを読み出すとき、半導体記憶装置からのデータが入力され、そのデータに半導体記憶装置において論理値が反転したデータが含まれているか否かを判定する。そして、半導体記憶装置において論理値が反転したデータが含まれていると、誤り訂正回路は、この異なるデータを訂正してＣＰＵに出力していた。反対に、半導体記憶装置において論理値が反転したデータが含まれていないと、誤り訂正回路は、そのままデータをＣＰＵに出力していた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２１３７１９公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、一般的な誤り訂正技術では、ＣＰＵには半導体記憶装置において論理値が反転したデータを訂正したデータが入力されるが、半導体記憶装置において論理値が反転したデータは訂正されていない。このため、ＣＰＵを待機状態にして半導体記憶装置において論理値が反転したデータを訂正したデータに修正している。この結果、通常の動作時間に対して余計に、半導体記憶装置の書き込み時間と異なる半導体装置のデータを修正する時間を設けなくてはならなかった。
【０００７】
この半導体装置及び電子機器は、動作時間を短縮しつつ、半導体記憶装置のデータを修正すること目的とする。
【課題を解決するための手段】
【０００８】
開示の装置は、メモリを含む複数の機能ブロックと、前記複数の機能ブロックにデータを書き込み又は読み出しを行うコントロール部とを有し、前記メモリに記憶されたメモリデータを読み出して該メモリデータの誤りを訂正した訂正メモリデータを前記メモリに書き戻す誤り訂正回路を設けた半導体装置であって、前記コントロール部及び誤り訂正回路と、前記メモリとの間に設けられ、制御信号に応じて、前記コントロール部に指定された前記機能ブロックに書き込むデータを該機能ブロックに出力し、前記訂正メモリデータを対応する前記メモリに出力する選択回路を有するようにした。
【０００９】
この半導体装置によれば、コントロール部の複数の機能ブロックのいずれかに対する書き込み時に、選択回路は、コントロール部が書き込みしないメモリに対して訂正メモリデータを書き込む。このとき、コントロール部の動作を余分に止めないため動作時間を短縮することができる。
【発明の効果】
【００１０】
開示された半導体装置及び電子機器は、動作時間を短縮しつつ、半導体記憶装置のデータを修正することができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態のシステムオンチップの概略構成図である。
【図２】第１実施形態の選択回路のブロック図である。
【図３】第２実施形態のシステムオンチップの概略構成図である。
【図４】第２実施形態の選択回路のブロック図である。
【発明を実施するための形態】
【００１２】
（第１実施形態）
以下、第１実施形態を図１及び図２に従って説明する。
図１は、特定の処理機能を有する機能ブロックを１つの半導体装置上に搭載したシステムオンチップ１の概略構成図を示す。本実施形態では、システムオンチップ１は、ＡＲＭ（Ａｄｖａｎｃｅｄ  ＲＩＳＣ  Ｍａｃｈｉｎｅｓ）アーキテクチャを用いた演算処理装置（ＣＰＵ）を有している。システムオンチップ１は、ＡＲＭアーキテクチャを用いたＣＰＵ２のバスアーキテクチャである各機能ブロックの相互接続及びその管理の方式を規定したオープン標準のオンチップ・バス仕様であるＡＭＢＡ（Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ  ＢｕｓＡｒｃｈｉｔｅｃｔｕｒｅ）規格におけるアドバンスト・ハイパフォーマンス・バス（ＡＨＢ）を利用している。
【００１３】
システムオンチップ１は、ＣＰＵ２、第１マルチプレクサＭｕ１、誤り訂正回路５、誤り訂正符号（ＥＣＣ：Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）生成回路７、選択回路８、第１及び第２メモリＭｅ１，Ｍｅ２を有している。
【００１４】
ＣＰＵ２は、アドバンスト・ハイパフォーマンス・バス（ＡＨＢ）を介して第１及び第２メモリＭｅ１，Ｍｅ２に接続されている。
ＣＰＵ２は、第１及び第２メモリＭｅ１，Ｍｅ２に対して、転送するデータのタイプを知らせる転送タイプ信号（ＨＴＲＡＮＳ）Ｓｈ、そのときの他の機能ブロック（第１及び第２メモリＭｅ１，Ｍｅ２の一方のメモリ）へのアクセスが終了するタイミングを知らせる転送状態信号（ＨＲＥＡＤＹ）Ｓｒ、書き込み・読み出しを知らせる書き込み信号（ＨＷＲＩＴＥ）Ｓｗをそれぞれ同じバスを介して出力する。
【００１５】
また、ＣＰＵ２は、書き込み・読み出しを知らせる書き込み信号Ｓｗをあわせて選択回路８に出力するようになっている。
なお、ＣＰＵ２は、第１又は第２メモリＭｅ１，Ｍｅ２にデータを書き込む場合（書き込みモード）、Ｈレベルの書き込み信号Ｓｗを第１及び第２メモリＭｅ１，Ｍｅ２に対して出力する。反対に、ＣＰＵ２は、第１又は第２メモリＭｅ１，Ｍｅ２からデータを読み出す場合（読み出しモード）、Ｌレベルの書き込み信号Ｓｗを第１及び第２メモリＭｅ１，Ｍｅ２に対して出力する。
【００１６】
また、ＣＰＵ２は、第１又は第２メモリＭｅ１，Ｍｅ２を指定し、その指定した第１又は第２メモリＭｅ１，Ｍｅ２にアクセスするメモリセルのアドレスデータ（ＨＡＤＤＲ）Ｄａを選択回路８に出力するようになっている。このとき、ＣＰＵ２は、第１又は第２メモリＭｅ１，Ｍｅ２にアクセスするメモリセルのサイズを指定するサイズデータ（ＨＳＩＺＥ）Ｄｓをあわせて選択回路８に出力する。本実施形態では、サイズデータＤｓは８ビット、１６ビット、３２ビットがある。
【００１７】
一方、ＣＰＵ２は、第１及び第２メモリＭｅ１，Ｍｅ２から転送準備信号（ＨＲＥＡＤＹＯＵＴ）Ｓｏが入力されるようになっている。
すなわち、ＣＰＵ２は、指定した第１又は第２メモリＭｅ１，Ｍｅ２がデータの書き込み・読み出しされる準備が整っている場合、Ｈレベルの転送準備信号Ｓｏが指定した第１又は第２メモリＭｅ１，Ｍｅ２から入力される。反対に、ＣＰＵ２は、指定した第１又は第２メモリＭｅ１，Ｍｅ２がデータの書き込み・読み出しされる準備が整っていない場合、Ｌレベルの転送準備信号Ｓｏが指定した第１又は第２メモリＭｅ１，Ｍｅ２から入力される。
【００１８】
ＣＰＵ２は、Ｈレベルの転送準備信号Ｓｏを入力すると、指定した第１及び第２メモリＭｅ１，Ｍｅ２にデータの書き込み又は読み出しを行う。
そして、ＣＰＵ２は、指定した第１及び第２メモリＭｅ１，Ｍｅ２にデータを書き込む場合、Ｈレベルの書き込み信号Ｓｗを第１及び第２メモリＭｅ１，Ｍｅ２に出力するとともに、指定した第１又は第２メモリＭｅ１，Ｍｅ２に書き込みデータである書き込みデータＤｗを誤り訂正符号生成回路７に出力する。
【００１９】
一方、ＣＰＵ２は、指定した第１及び第２メモリＭｅ１，Ｍｅ２からデータを読み出す場合、Ｌレベルの書き込み信号Ｓｗを第１及び第２メモリＭｅ１，Ｍｅ２に出力し、指定した第１又は第２メモリＭｅ１，Ｍｅ２から読み出したデータを誤り訂正回路５を介して第１読み出しデータＤｒ１として出力する。
【００２０】
反対に、ＣＰＵ２は、Ｌレベルの転送準備信号Ｓｏを入力すると、指定した第１及び第２メモリＭｅ１，Ｍｅ２にデータを書き込み又は読み出しを延長する。
（第１及び第２メモリＭｅ１，Ｍｅ２からの読み出し）
第１マルチプレクサＭｕ１は、第１メモリＭｅ１から読み出された第１メモリ記憶データＤｍ１が、第２メモリＭｅ２から読み出された第２メモリ記憶データＤｍ２がそれぞれ入力される。第１マルチプレクサＭｕ１は、その読み出された第１及び第２メモリ記憶データＤｍ１，Ｄｍ２のいずれか一方を選択してメモリデータとしてのメモリ記憶データＤｍとして誤り訂正回路５に出力する。第１マルチプレクサＭｕ１は、選択回路８から出力される第２メモリ選択信号Ｓｓ２に基づいて第１及び第２メモリ記憶データＤｍ１，Ｄｍ２のいずれか一方を選択してメモリ記憶データＤｍとして誤り訂正回路５に出力する。
【００２１】
本実施形態では、第２メモリ選択信号Ｓｓ２がＬレベル（論理値「０」）のとき、第１マルチプレクサＭｕ１は、第１メモリＭｅ１の第１メモリ記憶データＤｍ１を選択しメモリ記憶データＤｍとして誤り訂正回路５に出力する。反対に、第２メモリ選択信号Ｓｓ２がＨレベル（論理値「１」）のとき、第１マルチプレクサＭｕ１は、第２メモリＭｅ２の第２メモリ記憶データＤｍ２を選択しメモリ記憶データＤｍとして誤り訂正回路５に出力する。
【００２２】
誤り訂正回路５は、第１マルチプレクサＭｕ１からメモリ記憶データＤｍ、選択回路８から第２メモリ選択信号Ｓｓ２及び第１クリア信号Ｓｃ１が入力される。誤り訂正回路５は、読み出されたメモリ記憶データＤｍが対応する第１又は第２メモリＭｅ１，Ｍｅ２においてソフトエラー等に起因して論理値が反転したデータが含まれているか否かを判定する。
【００２３】
そして、誤り訂正回路５は、メモリ記憶データＤｍに論理値が反転したデータが含まれていないと判定した場合、メモリ記憶データＤｍを第１読み出しデータＤｒ１としてＣＰＵ２に出力する。反対に、誤り訂正回路５は、メモリ記憶データＤｍに論理値が反転したデータが含まれていると判定した場合、その論理値が反転しているデータを元のデータに訂正して第１読み出しデータＤｒ１としてＣＰＵ２に出力するようになっている。
【００２４】
このとき、誤り訂正回路５は、訂正した第１読み出しデータＤｒ１を訂正メモリデータとしての訂正メモリ記憶データＤｍｔとして記憶手段である訂正データ記憶レジスタ１１に記憶する。続いて、誤り訂正回路５は、この訂正メモリ記憶データＤｍｔの第１及び第２メモリＭｅ１，Ｍｅ２におけるアドレスのデータを訂正アドレスデータＤａｔとして訂正アドレス記憶レジスタ１２に記憶する。さらに、誤り訂正回路５は、入力された第２メモリ選択信号Ｓｓ２に基づいて、第１メモリ訂正フラグＦ１を第１メモリ訂正フラグ記憶レジスタ１３に記憶し、第２メモリ訂正フラグＦ２を第２メモリ訂正フラグ記憶レジスタ１４に記憶する。
【００２５】
すなわち、誤り訂正回路５は、第１マルチプレクサＭｕ１が第１メモリＭｅ１の第１メモリ記憶データＤｍ１を選択するＬレベルの第２メモリ選択信号Ｓｓ２を入力すると、Ｈレベルの第１メモリ訂正フラグＦ１を第１メモリ訂正フラグ記憶レジスタ１３に記憶し、Ｌレベルの第２メモリ訂正フラグＦ２を第２メモリ訂正フラグ記憶レジスタ１４に記憶する。
【００２６】
反対に、誤り訂正回路５は、第１マルチプレクサＭｕ１が第２メモリＭｅ２の第２メモリ記憶データＤｍ２を選択するＨレベルの第２メモリ選択信号Ｓｓ２を入力すると、Ｌレベルの第１メモリ訂正フラグＦ１を第１メモリ訂正フラグ記憶レジスタ１３に記憶し、Ｈレベルの第２メモリ訂正フラグＦ２を第２メモリ訂正フラグ記憶レジスタ１４に記憶する。
【００２７】
なお、誤り訂正回路５は、入力された第１クリア信号Ｓｃ１に応じて、第１メモリ訂正フラグ記憶レジスタ１３に記憶されている第１メモリ訂正フラグＦ１、及び、第２メモリ訂正フラグ記憶レジスタ１４に記憶されている第２メモリ訂正フラグＦ２をクリアする。すなわち、誤り訂正回路５は、Ｌレベルの第１クリア信号Ｓｃ１を入力すると、第１及び第２メモリ訂正フラグＦ１，Ｆ２をクリアしない。反対に、誤り訂正回路５は、Ｈレベルの第１クリア信号Ｓｃ１を入力すると、第１及び第２メモリ訂正フラグＦ１，Ｆ２をクリアする。
（第１及び第２メモリＭｅ１，Ｍｅ２への書き込み）
誤り訂正符号生成回路７は、ＣＰＵ２から書き込みデータＤｗが入力される。誤り訂正符号生成回路７は、入力された書き込みデータＤｗに誤り訂正符号を付加し、メモリ書き込みデータ（ＨＷＤＡＴＡ＿ＲＡＭ）Ｄｗｍとして選択回路８に出力する。
【００２８】
図２に示すように、選択回路８は、アドレス制御回路部２０、第１及び第２アンド回路２１，２２、第１オア回路２３、第１〜第４選択回路部３１〜３４を有している。
アドレス制御回路部２０は、ＣＰＵ２からアドレスデータＤａが入力される。アドレス制御回路部２０は、入力されたアドレスデータＤａに基づいて、第１メモリＭｅ１を指定する第１メモリ選択信号（ＨＳＥＬ＿ＲＡＭ１）Ｓｓ１、第２メモリＭｅ２を選択する第２メモリ選択信号（ＨＳＥＬ＿ＲＡＭ２）Ｓｓ２を生成し出力する。
【００２９】
本実施形態では、アドレス制御回路部２０は、第１メモリＭｅ１を指定するアドレスデータＤａを入力すると、Ｈレベルの第１メモリ選択信号Ｓｓ１、及び、Ｌレベルの第２メモリ選択信号Ｓｓ２を出力する。反対に、アドレス制御回路部２０は、第２メモリＭｅ２を指定するアドレスデータＤａを入力すると、Ｌレベルの第１メモリ選択信号Ｓｓ１、及び、Ｈレベルの第２メモリ選択信号Ｓｓ２を出力する。
【００３０】
第１アンド回路２１は、ＣＰＵ２からの書き込み信号Ｓｗ、アドレス制御回路部２０からの第２メモリ選択信号Ｓｓ２、及び、誤り訂正回路５からの第１メモリ訂正フラグＦ１が入力される。第１アンド回路２１は、入力された書き込み信号Ｓｗ、第２メモリ選択信号Ｓｓ２及び第１メモリ訂正フラグＦ１が共にＨレベルのとき、Ｈレベルの制御信号としての第１訂正信号Ｓｔ１を第１〜第４選択回路部３１〜３４に出力する。
【００３１】
つまり、第１アンド回路２１は、ＣＰＵ２が第２メモリＭｅ２に対する書き込みモードになり、且つ、誤り訂正回路５の訂正データ記憶レジスタ１１に第１メモリＭｅ１に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、Ｈレベルの第１訂正信号Ｓｔ１を出力するようになっている。
【００３２】
一方、第２アンド回路２２は、ＣＰＵ２からの書き込み信号Ｓｗ、アドレス制御回路部２０からの第１メモリ選択信号Ｓｓ１、及び、誤り訂正回路５からの第２メモリ訂正フラグＦ２が入力される。第２アンド回路２２は、入力された書き込み信号Ｓｗ、第１メモリ選択信号Ｓｓ１及び第２メモリ訂正フラグＦ２が共にＨレベルのとき、Ｈレベルの制御信号としての第２訂正信号Ｓｔ２を第１〜第４選択回路部３１〜３４に出力する。
【００３３】
すなわち、第２アンド回路２２は、ＣＰＵ２が第１メモリＭｅ１に対する書き込みモードになり、且つ、誤り訂正回路５の訂正データ記憶レジスタ１１に第２メモリＭｅ２に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、Ｈレベルの第２訂正信号Ｓｔ２を出力するようになっている。
【００３４】
第１選択回路部３１は、第２及び第３マルチプレクサＭｕ２，Ｍｕ３を含んでいる。
第２マルチプレクサＭｕ２は、誤り訂正符号生成回路７からのメモリ書き込みデータＤｗｍ、誤り訂正回路５からの訂正メモリ記憶データＤｍｔが入力される。そして、第２マルチプレクサＭｕ２は、第１アンド回路２１からの第１訂正信号Ｓｔ１に基づいて、メモリ書き込みデータＤｗｍ及び訂正メモリ記憶データＤｍｔをいずれかを選択して第１メモリ書き込みデータＤｗｍ１として第１メモリＭｅ１に出力する。
【００３５】
すなわち、第２マルチプレクサＭｕ２は、Ｌレベル（論理値「０」）の第１訂正信号Ｓｔ１が入力されると、メモリ書き込みデータＤｗｍを選択して第１メモリ書き込みデータＤｗｍ１として第１メモリＭｅ１に出力する。反対に、第２マルチプレクサＭｕ２は、Ｈレベル（論理値「１」）の第１訂正信号Ｓｔ１が入力されると、訂正メモリ記憶データＤｍｔを選択して第１メモリ書き込みデータＤｗｍ１として第１メモリＭｅ１に出力する。
【００３６】
第３マルチプレクサＭｕ３は、誤り訂正符号生成回路７からのメモリ書き込みデータＤｗｍ、誤り訂正回路５からの訂正メモリ記憶データＤｍｔが入力される。第３マルチプレクサＭｕ３は、第２アンド回路２２からの第２訂正信号Ｓｔ２に基づいて、メモリ書き込みデータＤｗｍ及び訂正メモリ記憶データＤｍｔのいずれかを選択して第２メモリ書き込みデータＤｗｍ２として第２メモリＭｅ２に出力する。
【００３７】
換言すると、第３マルチプレクサＭｕ３は、Ｌレベル（論理値「０」）の第２訂正信号Ｓｔ２が入力されると、メモリ書き込みデータＤｗｍを選択して第２メモリ書き込みデータＤｗｍ２として第２メモリＭｅ２に出力する。反対に、第３マルチプレクサＭｕ３は、Ｈレベル（論理値「１」）の第２訂正信号Ｓｔ２が入力されると、訂正メモリ記憶データＤｍｔを選択して第２メモリ書き込みデータＤｗｍ２として第２メモリＭｅ２に出力する。
【００３８】
従って、第１選択回路部３１は、ＣＰＵ２が第１メモリＭｅ１に対する書き込みモードになり、且つ、誤り訂正回路５の訂正データ記憶レジスタ１１に第２メモリＭｅ２に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、訂正メモリ記憶データＤｍｔを第２メモリ書き込みデータＤｗｍ２として第２メモリＭｅ２に出力する。
【００３９】
一方、第１選択回路部３１は、ＣＰＵ２が第２メモリＭｅ２に対する書き込みモードになり、且つ、誤り訂正回路５の訂正データ記憶レジスタ１１に第１メモリＭｅ１に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、訂正メモリ記憶データＤｍｔを第１メモリ書き込みデータＤｗｍ１として第１メモリＭｅ１に出力する。
【００４０】
第２選択回路部３２は、第４及び第５マルチプレクサＭｕ４，Ｍｕ５を含んでいる。
第４マルチプレクサＭｕ４は、ＣＰＵ２からのアドレスデータＤａ、誤り訂正回路５からの訂正アドレスデータＤａｔが入力される。第４マルチプレクサＭｕ４は、第１アンド回路２１からの第１訂正信号Ｓｔ１に基づいて、アドレスデータＤａ及び訂正アドレスデータＤａｔのいずれかを選択して第１メモリアドレスデータＤａ１として第１メモリＭｅ１に出力する。
【００４１】
つまり、第４マルチプレクサＭｕ４は、Ｌレベル（論理値「０」）の第１訂正信号Ｓｔ１が入力されると、アドレスデータＤａを選択して第１メモリアドレスデータＤａ１として第１メモリＭｅ１に出力する。反対に、第４マルチプレクサＭｕ４は、Ｈレベル（論理値「１」）の第１訂正信号Ｓｔ１が入力されると、訂正アドレスデータＤａｔを選択して第１メモリアドレスデータＤａ１として第１メモリＭｅ１に出力する。
【００４２】
第５マルチプレクサＭｕ５は、ＣＰＵ２からのアドレスデータＤａと、誤り訂正回路５からの訂正アドレスデータＤａｔが入力される。第５マルチプレクサＭｕ５は、第２アンド回路２２からの第２訂正信号Ｓｔ２に基づいて、アドレスデータＤａ及び訂正アドレスデータＤａｔのいずれかを選択して第２メモリアドレスデータＤａ２として第２メモリＭｅ２に出力する。
【００４３】
つまり、第５マルチプレクサＭｕ５は、Ｌレベル（論理値「０」）の第２訂正信号Ｓｔ２が入力されると、アドレスデータＤａを選択して第２メモリアドレスデータＤａ２として第２メモリＭｅ２に出力する。反対に、第５マルチプレクサＭｕ５は、Ｈレベル（論理値「１」）の第２訂正信号Ｓｔ２が入力されると、訂正アドレスデータＤａｔを選択して第２メモリアドレスデータＤａ２として第２メモリＭｅ２に出力する。
【００４４】
従って、第２選択回路部３２は、ＣＰＵ２が第１メモリＭｅ１に対する書き込みモードになり、且つ、誤り訂正回路５の訂正データ記憶レジスタ１１に第２メモリＭｅ２に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、訂正アドレスデータＤａｔを第２メモリアドレスデータＤａ２として第２メモリＭｅ２に出力する。
【００４５】
一方、第２選択回路部３２は、ＣＰＵ２が第２メモリＭｅ２に対する書き込みモードになり、且つ、誤り訂正回路５の訂正データ記憶レジスタ１１に第１メモリＭｅ１に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、訂正メモリ記憶データＤｍｔを第１メモリアドレスデータＤａ１として第１メモリＭｅ１に出力する。
【００４６】
第３選択回路部３３は、第６及び第７マルチプレクサＭｕ６，Ｍｕ７を含んでいる。
第６マルチプレクサＭｕ６は、アドレス制御回路部２０からの第１及び第２メモリ選択信号Ｓｓ１，Ｓｓ２が入力される。第６マルチプレクサＭｕ６は、第１アンド回路２１からの第１訂正信号Ｓｔ１に基づいて、第１及び第２メモリ選択信号Ｓｓ１，Ｓｓ２のいずれかを選択して第１選択信号Ｓｅ１として第１メモリＭｅ１に出力する。
【００４７】
つまり、第６マルチプレクサＭｕ６は、Ｌレベル（論理値「０」）の第１訂正信号Ｓｔ１が入力されると、Ｈレベルの第１メモリ選択信号Ｓｓ１を選択して第１選択信号Ｓｅ１として第１メモリＭｅ１に出力する。反対に、第６マルチプレクサＭｕ６は、Ｈレベル（論理値「１」）の第１訂正信号Ｓｔ１が入力されると、Ｈレベルの第２メモリ選択信号Ｓｓ２を選択して第１選択信号Ｓｅ１として第１メモリＭｅ１に出力する。
【００４８】
第７マルチプレクサＭｕ７は、アドレス制御回路部２０からの第１及び第２メモリ選択信号Ｓｓ１，Ｓｓ２が入力される。第７マルチプレクサＭｕ７は、第２アンド回路２２からの第２訂正信号Ｓｔ２に基づいて、第１及び第２メモリ選択信号Ｓｓ１，Ｓｓ２のいずれかを選択して第２選択信号Ｓｅ２として第２メモリＭｅ２に出力する。
【００４９】
つまり、第７マルチプレクサＭｕ７は、Ｌレベル（論理値「０」）の第２訂正信号Ｓｔ２が入力されると、Ｈレベルの第２メモリ選択信号Ｓｓ２を選択して第２選択信号Ｓｅ２として第２メモリＭｅ２に出力する。反対に、第７マルチプレクサＭｕ７は、Ｈレベル（論理値「１」）の第２訂正信号Ｓｔ２が入力されると、Ｈレベルの第１メモリ選択信号Ｓｓ１を選択して第２選択信号Ｓｅ２として第２メモリＭｅ２に出力する。
【００５０】
従って、第３選択回路部３３は、ＣＰＵ２が第１メモリＭｅ１に対する書き込みモードになり、且つ、誤り訂正回路５の訂正データ記憶レジスタ１１に第２メモリＭｅ２に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、Ｈレベルの第１メモリ選択信号Ｓｓ１を第２選択信号Ｓｅ２として第２メモリＭｅ２に出力する。
【００５１】
一方、第３選択回路部３３は、ＣＰＵ２が第２メモリＭｅ２に対する書き込みモードになり、且つ、誤り訂正回路５の訂正データ記憶レジスタ１１に第１メモリＭｅ１に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、Ｈレベルの第２メモリ選択信号Ｓｓ２を第１選択信号Ｓｅ１として第１メモリＭｅ１に出力する。
【００５２】
このように、第３選択回路部３３は、ＣＰＵ２の書き込み時において、ＣＰＵ２に指定されなかった第１又は第２メモリＭｅ１，Ｍｅ２を強制的にＣＰＵ２に指定された状態にして、第１選択回路部３１から出力された訂正メモリ記憶データＤｍｔの第１又は第２メモリ記憶データＤｍ１，Ｄｍ２を、第２選択回路部３２から出力された訂正アドレスデータＤａｔの第１又は第２メモリアドレスデータＤａ１，Ｄａ２が指定した第１又は第２メモリＭｅ１，Ｍｅ２のメモリセルに書き込み可能にしている。
【００５３】
第４選択回路部３４は、第８及び第９マルチプレクサＭｕ８，Ｍｕ９を含んでいる。
第８マルチプレクサＭｕ８に、ＣＰＵ２からのサイズデータＤｓが入力される。さらに、第８マルチプレクサＭｕ８に最大サイズデータとしての訂正サイズデータＤｓｔが入力される。訂正サイズデータＤｓｔは、例えば固定値であり、ＣＰＵ２がアクセスする第１又は第２メモリＭｅ１，Ｍｅ２のメモリセルの最も大きなサイズ（本実施形態では３２ビット）を示すデータである。すなわち、ＣＰＵ２が書き込み・読み出しするたびにサイズデータＤｓが変更されるのに対し、訂正サイズデータＤｓｔは固定値になっている。第８マルチプレクサＭｕ８は、第１アンド回路２１からの第１訂正信号Ｓｔ１に基づいて、サイズデータＤｓ及び訂正サイズデータＤｓｔのいずれかを選択して第１サイズデータＤｓ１として第１メモリＭｅ１に出力する。
【００５４】
つまり、第８マルチプレクサＭｕ８は、Ｌレベル（論理値「０」）の第１訂正信号Ｓｔ１が入力されると、サイズデータＤｓを選択して第１サイズデータＤｓ１として第１メモリＭｅ１に出力する。反対に、第８マルチプレクサＭｕ８は、Ｈレベル（論理値「１」）の第１訂正信号Ｓｔ１が入力されると、訂正サイズデータＤｓｔを選択して第１サイズデータＤｓ１として第１メモリＭｅ１に出力する。
【００５５】
第９マルチプレクサＭｕ９は、ＣＰＵ２からのサイズデータＤｓ及び訂正サイズデータＤｓｔ、第２アンド回路２２からの第２訂正信号Ｓｔ２が入力される。第９マルチプレクサＭｕ９は、入力された第２訂正信号Ｓｔ２に基づいて、サイズデータＤｓ及び訂正サイズデータＤｓｔのいずれかを選択して第２サイズデータＤｓ２として第２メモリＭｅ２に出力する。
【００５６】
つまり、第９マルチプレクサＭｕ９は、Ｌレベル（論理値「０」）の第２訂正信号Ｓｔ２が入力されると、サイズデータＤｓを選択して第２サイズデータＤｓ２として第２メモリＭｅ２に出力する。反対に、第９マルチプレクサＭｕ９は、Ｈレベル（論理値「１」）の第２訂正信号Ｓｔ２が入力されると、訂正サイズデータＤｓｔを選択して第２サイズデータＤｓ２として第２メモリＭｅ２に出力する。
【００５７】
従って、第４選択回路部３４は、ＣＰＵ２が第１メモリＭｅ１に対する書き込みモードになり、且つ、誤り訂正回路５の訂正データ記憶レジスタ１１に第２メモリＭｅ２に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、訂正サイズデータＤｓｔを第２サイズデータＤｓ２として第２メモリＭｅ２に出力する。
【００５８】
一方、第４選択回路部３４は、ＣＰＵ２が第２メモリＭｅ２に対する書き込みモードになり、且つ、誤り訂正回路５の訂正データ記憶レジスタ１１に第１メモリＭｅ１に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、訂正サイズデータＤｓｔを第１サイズデータＤｓ１として第１メモリＭｅ１に出力する。
【００５９】
すなわち、第４選択回路部３４は、ＣＰＵ２が指定した第１又は第２メモリＭｅ１，Ｍｅ２にアクセスするメモリセルのサイズを、そのときにＣＰＵ２から出力されたサイズデータＤｓにしている。一方、第４選択回路部３４は、訂正アドレスデータＤａｔに指定された第１又は第２メモリＭｅ１，Ｍｅ２にアクセスするメモリセルのサイズを、ＣＰＵ２が第１及び第２メモリＭｅ１，Ｍｅ２にアクセスするメモリセルの最も大きなサイズ（本実施形態では３２ビット）にしている。
【００６０】
これにより、第４選択回路部３４は、訂正メモリ記憶データＤｍｔがどのサイズであっても第１又は第２メモリＭｅ１，Ｍｅ２に訂正メモリ記憶データＤｍｔの第１又は第２メモリ書き込みデータＤｗｍ１，Ｄｗｍ２を書き込み可能にしている。
【００６１】
第１オア回路２３は、第１及び第２アンド回路２１，２２からの第１及び第２訂正信号Ｓｔ１，Ｓｔ２が入力される。第１オア回路２３は、入力された第１又は第２訂正信号Ｓｔ１，Ｓｔ２がＨレベルのとき、Ｈレベルの第１クリア信号Ｓｃ１を誤り訂正回路５に出力する。
【００６２】
換言すると、第１オア回路２３は、訂正メモリ記憶データＤｍｔを第１又は第２メモリＭｅ１，Ｍｅ２に書き込むと、誤り訂正回路５の各レジスタ１１〜１４が記憶しているデータをクリアさせるＨレベルの第１クリア信号Ｓｃ１を出力している。
【００６３】
本実施形態では、第１及び第２メモリＭｅ１，Ｍｅ２は、選択回路８から入力される信号が相違するだけで、その回路構成を同じにしている。そのため、第１メモリＭｅ１について詳細に説明し、第２メモリＭｅ２の構成については詳細な説明を省略する。
【００６４】
第１メモリＭｅ１は、ＣＰＵ２からの転送タイプ信号Ｓｈ、転送状態信号Ｓｒ、書き込み信号Ｓｗが同一バスを介して入力される。また、第１メモリＭｅ１は、選択回路８からの対応する第１メモリ書き込みデータＤｗｍ１、第１メモリアドレスデータＤａ１、第１選択信号Ｓｅ１、第１サイズデータＤｓ１がそれぞれ入力される。
【００６５】
一方、第１メモリＭｅ１は、データの書き込み・読み出しの準備が整っているか否かを知らせる転送準備信号ＳｏをＣＰＵ２に出力する。すなわち、第１メモリＭｅ１は、データの書き込み・読み出しの準備が整っていないと判定すると、Ｌレベルの転送準備信号Ｓｏを出力する。反対に、第１メモリＭｅ１は、データの書き込み・読み出しの準備が整っていると判定すると、Ｈレベルの転送準備信号Ｓｏを出力する。
【００６６】
そして、第１メモリＭｅ１は、選択回路８からの第１選択信号Ｓｅ１に基づいて、データの書き込み・読み出しをする。
つまり、第１メモリＭｅ１は、Ｈレベルの書き込み信号Ｓｗを入力する場合（ＣＰＵ２からの書き込み）、選択回路８からの第１メモリ書き込みデータＤｗｍ１が入力される。第１メモリＭｅ１は、Ｌレベルの第１選択信号Ｓｅ１が入力されると、入力された第１メモリ書き込みデータＤｗｍ１を第１メモリアドレスデータＤａ１に指定されたメモリセルに記憶しない。反対に、第１メモリＭｅ１は、Ｈレベルの第１選択信号Ｓｅ１が入力されると、入力された第１メモリ書き込みデータＤｗｍ１を第１メモリアドレスデータＤａ１に指定されたメモリセルに記憶する。
【００６７】
また、第１メモリＭｅ１は、Ｌレベルの書き込み信号Ｓｗを入力する場合（ＣＰＵ２への読み出し）、Ｌレベルの第１選択信号Ｓｅ１が入力されると、第１メモリアドレスデータＤａ１に指定されたメモリセルから第１メモリ記憶データＤｍ１を第１マルチプレクサＭｕ１に出力しない。反対に、第１メモリＭｅ１は、Ｌレベルの書き込み信号Ｓｗを入力する場合（ＣＰＵ２への読み出し）、Ｈレベルの第１選択信号Ｓｅ１が入力されると、第１メモリアドレスデータＤａ１に指定されたメモリセルから第１メモリ記憶データＤｍ１を第１マルチプレクサＭｕ１に出力する。
【００６８】
なお、第２メモリＭｅ２は、Ｈレベルの書き込み信号Ｓｗを入力する場合（ＣＰＵ２からの書き込み）、選択回路８からの第２メモリ書き込みデータＤｗｍ２が入力される。第２メモリＭｅ２は、Ｌレベルの第２選択信号Ｓｅ２が入力されると、入力された第２メモリ書き込みデータＤｗｍ２を第２メモリアドレスデータＤａ２に指定されたメモリセルに記憶しない。反対に、第２メモリＭｅ２は、Ｈレベルの第２選択信号Ｓｅ２が入力されると、入力された第２メモリ書き込みデータＤｗｍ２を第２メモリアドレスデータＤａ２に指定されたメモリセルに記憶する。
【００６９】
また、第２メモリＭｅ２は、Ｌレベルの書き込み信号Ｓｗを入力する場合（ＣＰＵ２への読み出し）、Ｌレベルの第２選択信号Ｓｅ２が入力されると、第２メモリアドレスデータＤａ２に指定されたメモリセルから第２メモリ記憶データＤｍ２を第１マルチプレクサＭｕ１に出力しない。反対に、第２メモリＭｅ２は、Ｌレベルの書き込み信号Ｓｗを入力する場合（ＣＰＵ２への読み出し）、Ｈレベルの第２選択信号Ｓｅ２が入力されると、第２メモリアドレスデータＤａ２に指定されたメモリセルから第２メモリ記憶データＤｍ２を第１マルチプレクサＭｕ１に出力する。
【００７０】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
（１）選択回路８は、ＣＰＵ２が第１メモリＭｅ１に対する書き込みモードになり、且つ、誤り訂正回路５の訂正データ記憶レジスタ１１に第２メモリＭｅ２に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、訂正メモリ記憶データＤｍｔの第２メモリ書き込みデータＤｗｍ２、訂正アドレスデータＤａｔの第２メモリアドレスデータＤａ２、Ｈレベルの第２選択信号Ｓｅ２、訂正サイズデータＤｓｔの第２サイズデータＤｓ２を第２メモリＭｅ２に出力する。
【００７１】
反対に、ＣＰＵ２が第２メモリＭｅ２に対する書き込みモードになり、且つ、誤り訂正回路５の訂正データ記憶レジスタ１１に第１メモリＭｅ１に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、訂正メモリ記憶データＤｍｔの第１メモリ書き込みデータＤｗｍ１、訂正アドレスデータＤａｔの第１メモリアドレスデータＤａ１、Ｈレベルの第１選択信号Ｓｅ１、訂正サイズデータＤｓｔの第１サイズデータＤｓ１を第１メモリＭｅ１に出力する。
【００７２】
従って、ＣＰＵ２の第１又は第２メモリＭｅ１，Ｍｅ２に対する書き込み時に、選択回路８は、ＣＰＵ２に書き込みされない第１又は第２メモリＭｅ１，Ｍｅ２において論理値が反転したデータが含まれたメモリ記憶データＤｍが訂正された訂正メモリ記憶データＤｍｔを、対応する第１又は第２メモリＭｅ１，Ｍｅ２に書き込む。このとき、ＣＰＵ２の動作を止めないため動作時間を短縮することができる。
【００７３】
（２）ＣＰＵ２と第１及び第２メモリＭｅ１，Ｍｅ２は、転送タイプ信号Ｓｈ、転送状態信号Ｓｒ、書き込み信号Ｓｗ、転送準備信号Ｓｏを同一バスにて入出力している。これに加え、選択回路８は、アドレスデータＤａに基づいた第１及び第２選択信号Ｓｅ１，Ｓｅ２を第１及び第２メモリＭｅ１，Ｍｅ２に出力する。
【００７４】
このため、選択回路８は、各メモリＭｅ１，Ｍｅ２に対応する第１及び第２選択信号Ｓｅ１，Ｓｅ２を生成するだけで、各メモリＭｅ１，Ｍｅ２に対する書き込み・読み出しの制御を行うことができる。
（第２実施形態）
以下、第２実施形態を図３及び図４に従って説明する。
【００７５】
第１実施形態では、ＣＰＵ２から第１又は第２メモリＭｅ１，Ｍｅ２に対応するメモリ書き込みデータＤｗｍの第１又は第２メモリ書き込みデータＤｗｍ１，Ｄｗｍ２を書き込む場合、書き込まれない第１又は第２メモリＭｅ１，Ｍｅ２に対応する訂正メモリ記憶データＤｍｔの第１又は第２メモリ書き込みデータＤｗｍ１，Ｄｗｍ２を書き込んでいた。
【００７６】
第２実施形態では、第１及び第２メモリＭｅ１，Ｍｅ２ではない他の機能ブロックにＣＰＵ２に対してデータを出力しているときに、第１又は第２メモリＭｅ１，Ｍｅ２に訂正メモリ記憶データＤｍｔを書き込むようになっている。
【００７７】
以下、第１実施形態との相違点を中心に説明する。なお、先の図１及び図２に示した部材と同一の部材にはそれぞれ同一の符号を付して示し、それら各要素については説明の便宜上説明を省略する。
【００７８】
図３に示すように、ＣＰＵ２は、転送タイプ信号Ｓｈ、転送状態信号Ｓｒ、書き込み信号Ｓｗを、第１実施形態と同様に、第１及び第２メモリＭｅ１，Ｍｅ２に出力するとともに、機能ブロック４０にも出力する。
【００７９】
また、ＣＰＵ２は、書き込みデータＤｗを、第１実施形態と同様に、誤り訂正符号生成回路７に出力するとともに、機能ブロック４０にも出力する。さらに、ＣＰＵ２は、アドレスデータＤａ、サイズデータＤｓを第１実施形態と同様に、選択回路８ａに出力するとともに、機能ブロック４０にも出力する。
【００８０】
ＣＰＵ２からアドレスデータＤａが出力される選択回路８ａは、第１実施形態と同様に、同ＣＰＵ２から書き込み信号Ｓｗ、サイズデータＤｓ及び訂正サイズデータＤｓｔが入力される。
【００８１】
第１マルチプレクサＭｕ１は、選択回路８から出力される第５メモリ選択信号Ｓｓ５に基づいて第１及び第２メモリ記憶データＤｍ１，Ｄｍ２のいずれか一方を選択してメモリ記憶データＤｍとして誤り訂正回路５ａに出力する。
【００８２】
本実施形態では、第５メモリ選択信号Ｓｓ５がＬレベル（論理値「０」）のとき、第１マルチプレクサＭｕ１は、第１メモリＭｅ１の第１メモリ記憶データＤｍ１を選択しメモリ記憶データＤｍとして誤り訂正回路５ａに出力する。反対に、第５メモリ選択信号Ｓｓ５がＨレベル（論理値「１」）のとき、第１マルチプレクサＭｕ１は、第２メモリＭｅ２の第２メモリ記憶データＤｍ２を選択しメモリ記憶データＤｍとして誤り訂正回路５ａに出力する。
【００８３】
誤り訂正回路５ａは、第１実施形態と同様に、第１マルチプレクサＭｕ１からのメモリ記憶データＤｍに論理値が反転したデータが含まれているか否かを判定する。そして、誤り訂正回路５ａは、その判定結果に応じて、第３メモリ訂正フラグＦ３をメモリ訂正フラグ記憶レジスタ４２に記憶する。
【００８４】
すなわち、メモリ記憶データＤｍに反転したデータが含まれていないと判定すると、Ｌレベルの第３メモリ訂正フラグＦ３をメモリ訂正フラグ記憶レジスタ４２に記憶する。反対に、メモリ記憶データＤｍに論理値が反転したデータが含まれていると判定すると、Ｈレベルの第３メモリ訂正フラグＦ３をメモリ訂正フラグ記憶レジスタ４２に記憶する。
【００８５】
図４は本実施形態の選択回路８ａのブロック図を示し、図４に示すように、選択回路８ａは、第１アドレス制御回路部４１、第３及び第４アンド回路４３，４４、第１１〜第１３マルチプレクサＭｕ１１〜Ｍｕ１３、第２アドレス制御回路部４７を有している。
【００８６】
第１アドレス制御回路部４１は、ＣＰＵ２からのアドレスデータＤａが入力される。第１アドレス制御回路部４１は、入力されたアドレスデータＤａに基づいて、第１又は第２メモリＭｅ１，Ｍｅ２を選択する第３メモリ選択信号Ｓｓ３を、第３アンド回路４３、第１５マルチプレクサＭｕ１５に出力する。すなわち、第１アドレス制御回路部４１は、第１又は第２メモリＭｅ１，Ｍｅ２を指定するアドレスデータＤａを入力すると、Ｈレベルの第３メモリ選択信号Ｓｓ３を出力する。反対に、第１アドレス制御回路部４１は、第１及び第２メモリＭｅ１，Ｍｅ２のいずれも指定しないアドレスデータＤａを入力すると、Ｌレベルの第３メモリ選択信号Ｓｓ３を出力する。
【００８７】
言い換えると、第１アドレス制御回路部４１は、第１又は第２メモリＭｅ１，Ｍｅ２を指定するアドレスデータＤａを入力すると、Ｈレベルの第３メモリ選択信号Ｓｓ３を出力する。反対に、第１アドレス制御回路部４１は、機能ブロック４０を指定するアドレスデータＤａを入力すると、Ｌレベルの第３メモリ選択信号Ｓｓ３を出力する。
【００８８】
第３アンド回路４３は、第１アドレス制御回路部４１からの反転した第３メモリ選択信号Ｓｓ３、及び、誤り訂正回路５ａからの第３メモリ訂正フラグＦ３が入力される。第３アンド回路４３は、Ｌレベルの第３メモリ選択信号Ｓｓ３、Ｈレベルの第３メモリ訂正フラグＦ３を入力すると、Ｈレベルの制御信号としての第３訂正信号Ｓｔ３を、第４アンド回路４４及び第１１〜第１３マルチプレクサＭｕ１１〜Ｍｕ１３に出力する。
【００８９】
すなわち、第３アンド回路４３は、ＣＰＵ２が機能ブロック４０に対する書き込みモードになり、且つ、誤り訂正回路５ａの訂正データ記憶レジスタ１１に第１又は第２メモリＭｅ１，Ｍｅ２に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、Ｈレベルの第３訂正信号Ｓｔ３を出力するようになっている。
【００９０】
第４アンド回路４４は、第３アンド回路４３からの第３訂正信号Ｓｔ３、及び、ＣＰＵ２からの書き込み信号Ｓｗが入力される。第４アンド回路４４は、入力された第３訂正信号Ｓｔ３及び書き込み信号Ｓｗが共にＨレベルのとき、Ｈレベルの第２クリア信号Ｓｃ２を誤り訂正回路５ａに出力する。
【００９１】
換言すると、第４アンド回路４４は、訂正メモリ記憶データＤｍｔを第１又は第２メモリＭｅ１，Ｍｅ２に書き込むと、誤り訂正回路５ａの各レジスタ１１，１２，４２が記憶しているデータをクリアさせるＨレベルの第２クリア信号Ｓｃ２を出力するようになっている。
【００９２】
第１１マルチプレクサＭｕ１１は、誤り訂正符号生成回路７からのメモリ書き込みデータＤｗｍ、誤り訂正回路５ａからの訂正メモリ記憶データＤｍｔが入力される。第１１マルチプレクサＭｕ１１は、第３アンド回路４３からの第３訂正信号Ｓｔ３に基づいて、メモリ書き込みデータＤｗｍ、訂正メモリ記憶データＤｍｔのいずれかを選択して第３メモリ書き込みデータＤｗｍ３として第１及び第２メモリＭｅ１，Ｍｅ２に出力する。
【００９３】
つまり、第１１マルチプレクサＭｕ１１は、Ｌレベル（論理値「０」）の第３訂正信号Ｓｔ３が入力されると、メモリ書き込みデータＤｗｍを選択して第３メモリ書き込みデータＤｗｍ３として第１及び第２メモリＭｅ１，Ｍｅ２に出力する。反対に、第１１マルチプレクサＭｕ１１は、Ｈレベル（論理値「１」）の第３訂正信号Ｓｔ３が入力されると、訂正メモリ記憶データＤｍｔを選択して第３メモリ書き込みデータＤｗｍ３として第１及び第２メモリＭｅ１，Ｍｅ２に出力する。
【００９４】
このように、第１１マルチプレクサＭｕ１１は、ＣＰＵ２が機能ブロック４０に対する書き込みモードになり、且つ、誤り訂正回路５ａの訂正データ記憶レジスタ１１に第１又は第２メモリＭｅ１，Ｍｅ２に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、訂正メモリ記憶データＤｍｔの第３メモリ書き込みデータＤｗｍ３を第１及び第２メモリＭｅ１，Ｍｅ２に出力している。
【００９５】
第１２マルチプレクサＭｕ１２は、ＣＰＵ２からのアドレスデータＤａ、誤り訂正回路５ａからの訂正アドレスデータＤａｔが入力される。第１２マルチプレクサＭｕ１２は、第３アンド回路４３からの第３訂正信号Ｓｔ３に基づいて、アドレスデータＤａ、訂正アドレスデータＤａｔのいずれかを選択してメモリアドレスデータＤａｍとして第２アドレス制御回路部４７、第１及び第２メモリＭｅ１，Ｍｅ２に出力する。
【００９６】
つまり、第１２マルチプレクサＭｕ１２は、Ｌレベル（論理値「０」）の第３訂正信号Ｓｔ３が入力されると、アドレスデータＤａを選択してメモリアドレスデータＤａｍとして出力する。反対に、第１２マルチプレクサＭｕ１２は、Ｈレベル（論理値「１」）の第３訂正信号Ｓｔ３が入力されると、訂正アドレスデータＤａｔを選択してメモリアドレスデータＤａｍとして出力する。
【００９７】
このように、第１２マルチプレクサＭｕ１２は、ＣＰＵ２が機能ブロック４０に対する書き込みモードになり、且つ、誤り訂正回路５ａの訂正データ記憶レジスタ１１に第１又は第２メモリＭｅ１，Ｍｅ２に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、訂正アドレスデータＤａｔのメモリアドレスデータＤａｍを第１及び第２メモリＭｅ１，Ｍｅ２に出力している。
【００９８】
第２アドレス制御回路部４７は、第１２マルチプレクサＭｕ１２からのメモリアドレスデータＤａｍが入力される。第２アドレス制御回路部４７は、入力されたメモリアドレスデータＤａｍに基づいて、第４メモリ選択信号Ｓｓ４を第１メモリＭｅ１に出力し、第５メモリ選択信号Ｓｓ５を第２メモリＭｅ２に出力する。
【００９９】
換言すると、第２アドレス制御回路部４７は、第１メモリＭｅ１を指定したメモリアドレスデータＤａｍを入力すると、Ｈレベルの第４メモリ選択信号Ｓｓ４を第１メモリＭｅ１に出力し、Ｌレベルの第５メモリ選択信号Ｓｓ５を第２メモリＭｅ２に出力する。反対に、第２アドレス制御回路部４７は、第２メモリＭｅ２を指定したメモリアドレスデータＤａｍを入力すると、Ｌレベルの第４メモリ選択信号Ｓｓ４を第１メモリＭｅ１に出力し、Ｈレベルの第５メモリ選択信号Ｓｓ５を第２メモリＭｅ２に出力する。さらに、第２アドレス制御回路部４７は、機能ブロック４０を指定したメモリアドレスデータＤａｍを入力すると、Ｌレベルの第４メモリ選択信号Ｓｓ４を第１メモリＭｅ１に出力し、Ｌレベルの第５メモリ選択信号Ｓｓ５を第２メモリＭｅ２に出力する。
【０１００】
このように、第２アドレス制御回路部４７は、ＣＰＵ２が機能ブロック４０に対する書き込みモードになり、且つ、誤り訂正回路５ａの訂正データ記憶レジスタ１１に第１又は第２メモリＭｅ１，Ｍｅ２に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、訂正アドレスデータＤａｔのメモリアドレスデータＤａｍに基づいて第１又は第２メモリＭｅ１，Ｍｅ２を指定して書き込み可能にしている。
【０１０１】
第１３マルチプレクサＭｕ１３は、ＣＰＵ２からのサイズデータＤｓ及び訂正サイズデータＤｓｔが入力される。第１３マルチプレクサＭｕ１３は、第３アンド回路４３からの第３訂正信号Ｓｔ３に基づいて、サイズデータＤｓ及び訂正サイズデータＤｓｔのいずれかを選択して第３サイズデータＤｓ３として第１及び第２メモリＭｅ１，Ｍｅ２に出力する。
【０１０２】
つまり、第１３マルチプレクサＭｕ１３は、Ｌレベル（論理値「０」）の第３訂正信号Ｓｔ３が入力されると、サイズデータＤｓを選択して第３サイズデータＤｓ３として第１及び第２メモリＭｅ１，Ｍｅ２に出力する。反対に、第１３マルチプレクサＭｕ１３は、Ｈレベル（論理値「１」）の第３訂正信号Ｓｔ３が入力されると、訂正サイズデータＤｓｔを選択して第３サイズデータＤｓ３として第１及び第２メモリＭｅ１，Ｍｅ２に出力する。
【０１０３】
すなわち、第１３マルチプレクサＭｕ１３は、ＣＰＵ２が機能ブロック４０に対する書き込みモードになり、且つ、誤り訂正回路５ａの訂正データ記憶レジスタ１１に第１又は第２メモリＭｅ１，Ｍｅ２に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、ＣＰＵ２がアクセスする第１及び第２メモリＭｅ１，Ｍｅ２のメモリセルを３２ビットにしている。これにより、第１３マルチプレクサＭｕ１３は、訂正メモリ記憶データＤｍｔの第３メモリ書き込みデータＤｗｍ３がどのサイズデータであっても第１又は第２メモリＭｅ１，Ｍｅ２に書き込み可能にしている。
【０１０４】
従って、選択回路８ａは、ＣＰＵ２が機能ブロック４０に対する書き込みモードになり、且つ、誤り訂正回路５ａの訂正データ記憶レジスタ１１に第１又は第２メモリＭｅ１，Ｍｅ２に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、訂正アドレスデータＤａｔに指定された第１又は第２メモリＭｅ１，Ｍｅ２に訂正メモリ記憶データＤｍｔを書き込み可能にしている。
【０１０５】
機能ブロック４０は、ＣＰＵ２から転送タイプ信号Ｓｈ、転送状態信号Ｓｒ、書き込み信号Ｓｗ、書き込みデータＤｗ、アドレスデータＤａ、サイズデータＤｓが入力される。入力されたアドレスデータＤａが機能ブロック４０を指定していると、機能ブロック４０は、データの書き込み・読み出しの準備が整っているか否かを知らせる転送準備信号ＳｏをＣＰＵ２に出力する。
【０１０６】
すなわち、機能ブロック４０は、データの書き込み・読み出しの準備が整っていないと判定すると、Ｌレベルの転送準備信号Ｓｏを出力する。反対に、機能ブロック４０は、データの書き込み・読み出しの準備が整っていると判定すると、Ｈレベルの転送準備信号Ｓｏをそれぞれ出力する。
【０１０７】
そして、機能ブロック４０は、入力されたアドレスデータＤａに応じて、データの書き込み・読み出しをする。
つまり、機能ブロック４０は、Ｈレベルの書き込み信号Ｓｗを入力する場合（ＣＰＵ２からの書き込み）、ＣＰＵ２からの書き込みデータＤｗが入力される。機能ブロック４０は、機能ブロック４０を指定しないアドレスデータＤａが入力されると、入力された書き込みデータＤｗを記憶しない。反対に、機能ブロック４０は、機能ブロック４０を指定するアドレスデータＤａが入力されると、入力された書き込みデータＤｗを記憶する。
【０１０８】
機能ブロック４０は、Ｌレベルの書き込み信号Ｓｗを入力する場合（ＣＰＵ２への読み出し）、機能ブロック４０を指定しないアドレスデータＤａが入力されると、記憶している第２読み出しデータＤｒ２を第１５マルチプレクサＭｕ１５に出力しない。反対に、機能ブロック４０は、Ｌレベルの書き込み信号Ｓｗを入力する場合（ＣＰＵ２への読み出し）、機能ブロック４０を指定するアドレスデータＤａが入力されると、記憶している第２読み出しデータＤｒ２を第１５マルチプレクサＭｕ１５に出力する。
【０１０９】
第１５マルチプレクサＭｕ１５は、誤り訂正回路５ａからの第１読み出しデータＤｒ１、及び、機能ブロック４０からの第２読み出しデータＤｒ２が入力される。第１５マルチプレクサＭｕ１５は、第１アドレス制御回路部４１からの第３メモリ選択信号Ｓｓ３に基づいて、第１及び第２読み出しデータＤｒ１，Ｄｒ２のいずれかを選択して読み出しデータＤｒとしてＣＰＵ２に出力する。
【０１１０】
つまり、第１５マルチプレクサＭｕ１５は、Ｌレベル（論理値「０」）の第３メモリ選択信号Ｓｓ３が入力されると、第２読み出しデータＤｒ２を選択して読み出しデータＤｒとして出力する。反対に、第１５マルチプレクサＭｕ１５は、Ｈレベル（論理値「１」）の第３メモリ選択信号Ｓｓ３が入力されると、第１読み出しデータＤｒ１を選択して読み出しデータＤｒとして出力する。
【０１１１】
従って、第１５マルチプレクサＭｕ１５は、ＣＰＵ２が第１又は第２メモリＭｅ１，Ｍｅ２を指定すると、誤り訂正回路５ａから出力される第１読み出しデータＤｒ１を選択して出力し、反対に、ＣＰＵ２が機能ブロック４０を指定すると、機能ブロック４０から出力される第２読み出しデータＤｒ２を選択して出力する。
【０１１２】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
（１）選択回路８ａは、ＣＰＵ２が他の機能ブロック４０に対する書き込みモードになり、且つ、誤り訂正回路５ａの訂正データ記憶レジスタ１１に第１又は第２メモリＭｅ１，Ｍｅ２に書き込まれる訂正メモリ記憶データＤｍｔが記憶されていると、訂正メモリ記憶データＤｍｔの第３メモリ書き込みデータＤｗｍ３、訂正アドレスデータＤａｔのメモリアドレスデータＤａｍ、訂正サイズデータＤｓｔの第３サイズデータＤｓ３を第１及び第２メモリＭｅ１，Ｍｅ２に出力する。
【０１１３】
従って、ＣＰＵ２の他の機能ブロック４０に対する書き込み時に、選択回路８ａは、論理値が反転したメモリ記憶データＤｍを訂正した訂正メモリ記憶データＤｍｔのメモリ記憶データＤｍを、対応する第１又は第２メモリＭｅ１，Ｍｅ２に書き込むことができる。このとき、ＣＰＵ２の動作を止めないため動作時間を短縮することができる。
【０１１４】
尚、上記実施の形態は、以下の態様で実施してもよい。
・上記実施形態では、システムオンチップ１は、第１及び第２メモリＭｅ１，Ｍｅ２を有していた。これに限らず、システムオンチップ１は、３つ以上のメモリを有してもよい。これに伴い、選択回路８の第１〜第４選択回路部３１〜３４は、各メモリに対応したマルチプレクサを有し、選択信号を生成することになる。
【０１１５】
さらに、このとき、誤り訂正回路５は、訂正データ記憶レジスタ１１及び訂正アドレス記憶レジスタ１２を複数有しても良い。これに伴い、選択回路８の第１〜第４選択回路部３１〜３４の第２及び第３マルチプレクサＭｕ２，Ｍｕ３は、ＣＰＵ２からの入力されるメモリ書き込みデータＤｗｍ、及び、複数の訂正データ記憶レジスタ１１に記憶されている各訂正メモリ記憶データＤｍｔが入力される。また、第４及び第５マルチプレクサＭｕ４，Ｍｕ５は、ＣＰＵ２からの入力されるアドレスデータＤａ、及び、複数の訂正アドレス記憶レジスタ１２に記憶されている各訂正アドレスデータＤａｔが入力される。
【０１１６】
これによって、ＣＰＵ２からのメモリに対する書き込み時に、選択回路８は、書き込みされないメモリにおいて論理値が反転したデータがメモリ記憶データＤｍに含まれ、そのデータが訂正された訂正メモリ記憶データＤｍｔを、書き込みされないメモリに書き込むことができる。この結果、複数のメモリに対応する訂正メモリ記憶データＤｍｔを同時に書き込むことができる。
【符号の説明】
【０１１７】
２  コントロール部（ＣＰＵ）
５  誤り訂正回路
８，８ａ  選択回路
１１  記憶手段（訂正データ記憶レジスタ）
４０  機能ブロック
Ｄａ  アドレスデータ
Ｄｓ  サイズデータ
Ｄｓｔ  最大サイズデータ（訂正サイズデータ）
Ｄｍ１，Ｄｍ２  メモリデータ（メモリ記憶データ）
Ｄｍｔ  訂正メモリデータ（訂正メモリ記憶データ）
Ｄｗ  データ（書き込みデータ）
Ｓｔ１〜Ｓｔ３  制御信号（第１〜第３訂正信号）
Ｍｅ１，Ｍｅ２  メモリ（第１及び第２メモリ）
【図１】
2010224967.tif 000003
【図２】
2010224967.tif 000004
【図３】
2010224967.tif 000005
【図４】
2010224967.tif 000006