(57)【要約】【課題】タイミング、電源容量、温度特性等のファクタを厳しくしても、効率よくデバッグを行うことができるようにする。【解決手段】データをＤＭＡ転送する第１及び第２のＤＭＡＣ１０７，１０８と、データを比較するための比較制御回路１０９と、この比較制御回路１０９の比較結果情報を書き込むためのメモリとを備えたデータ処理装置において、前記比較制御回路１０９は通常使用されるＤＭＡＣ１０７と、データ比較に使用されるＤＭＡＣ１０８とを交互に動作させ、アドレスごとにデータを比較し、不一致検出時、不一致情報を前記メモリに書き込む。【選択図】図３
2006085601.tif 000002
【特許請求の範囲】
【請求項１】
データをＤＭＡ転送するＤＭＡコントローラと、データを比較するための比較手段と、比較結果情報を書き込むための記憶手段とを備えたデータ処理装置において、
通常使用されるＤＭＡコントローラとデータ比較に使用されるＤＭＡコントローラとを交互に動作させ、アドレスごとにデータを比較し、不一致検出時、不一致情報を前記メモリに書き込む手段を備えていることを特徴とするデータ処理装置。
【請求項２】
前記不一致情報が、比較元アドレス、比較元データ、比較先アドレス、比較先データの少なくとも１つであることを特徴とする請求項１記載のデータ処理装置。
【請求項３】
時間を計測する手段をさらに備え、
前記不一致情報が、前記計測する手段によって計測された時間に基づいて検出された不一致時間であることを特徴とする請求項１または２記載のデータ処理装置。
【請求項４】
不一致数をカウントする手段をさらに備え、
前記不一致情報が、前記カウントする手段によってカウントされた総不一致数であることを特徴とする請求項１ないし３のいずれか１項に記載のデータ処理装置。
【請求項５】
データビットごとの不一致数をカウントする手段をさらに備え、
前記不一致情報が、前記カウントする手段によってカウントされたデータビットごとの不一致数であることを特徴とする請求項１ないし４のいずれか１項に記載のデータ処理装置。
【請求項６】
データをＤＭＡ転送するＤＭＡコントローラと、データを比較するための比較手段と、ワンショット発生回路とを備えたデータ処理装置において、
通常使用されるＤＭＡコントローラとデータ比較に使用されるＤＭＡコントローラとを交互に動作させ、アドレスごとにデータを比較し、不一致検出時、トリガ信号を発生させる手段を備えていることを特徴とするデータ処理装置。
【請求項７】
所定の検出用アドレスを設定するレジスタをさらに備え、
前記トリガ信号を発生させる手段は、前記レジスタにより設定された前記アドレスで不一致を検出したとき、トリガ信号を発生させることを特徴とする請求項６記載のデータ処理装置。
【請求項８】
所定の検出用データパターンを設定するレジスタをさらに備え、
前記トリガ信号を発生させる手段は、前記レジスタにより設定された前記データパターンにおいて不一致を検出したとき、トリガ信号を発生させることを特徴とする請求項１、６および７のいずれか１項に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ、バスインターフェース等を有するデータ処理装置に係り、特にそのデバッグの検証技術に関する。
【背景技術】
【０００２】
高速データ処理に伴いタイミング設計が非常に厳しくなってきている。開発初期段階のデバッグにおいては、ＬＳＩやボード設計を仕様通りに行ってもタイミング、電源容量、温度特性等のファクタによるデータ異常いわゆるデータ化けが発生することが少なくない。特に、ＤＭＡ転送処理中でのデータ化けについてはＣＰＵが介在しないため、リアルタイムに発見することができない。
【０００３】
従来、これを検知するには、ＤＭＡ転送が一旦終了した段階で、ＣＰＵがＤＭＡ転送後のデータを逐次リードしてその整合を確かめるしか方法がなかった。
【０００４】
なお、技術的背景を示すものとして、例えば特許文献１ないし３に開示された発明が公知である。
【特許文献１】特開２００２−３１２２３７号公報
【特許文献２】特開平５−２２５０７１号公報
【特許文献３】特開平１０−２１１５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら前記方法ではＤＭＡ転送に対して圧倒的にＣＰＵのデータリードアクセスが遅いため、全体から見てＤＭＡ転送処理の負荷が高くならず、前記ファクタを厳しくすることができないことに加え、効率も悪かった。またリアルタイムに波形観測などチェックすることができないという問題もあった。
【０００６】
本発明は、このような背景に鑑みてなされたもので、その目的は、前記ファクタを厳しくしても、効率よくデバッグを行うことができるデータ処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
前記目的を達成するため、第１の手段は、データをＤＭＡ転送するＤＭＡコントローラと、データを比較するための比較手段と、この比較手段によって比較された比較結果情報を書き込むための記憶手段とを備えたデータ処理装置において、通常使用されるＤＭＡコントローラとデータ比較に使用されるＤＭＡコントローラとを交互に動作させ、アドレスごとにデータを比較し、不一致検出時、不一致情報を前記記憶手段に書き込む手段を備えていることを特徴とする。
【０００８】
第２の手段は、第１の手段において、前記不一致情報が、比較元アドレス、比較元データ、比較先アドレス、比較先データの少なくとも１つであることを特徴とする。
【０００９】
第３の手段は、第１または第２の手段において、時間を計測する手段をさらに備え、前記不一致情報が、前記計測する手段によって計測された時間に基づいて検出された不一致時間であることを特徴とする。
【００１０】
第４の手段は、第１ないし第３のいずれかの手段において、不一致数をカウントする手段をさらに備え、前記不一致情報が、前記カウントする手段によってカウントされた総不一致数であることを特徴とする。
【００１１】
第５の手段は、第１ないし第４のいずれかの手段において、データビットごとの不一致数をカウントする手段をさらに備え、前記不一致情報が、前記カウントする手段によってカウントされたデータビットごとの不一致数であることを特徴とする。
【００１２】
第６の手段は、データをＤＭＡ転送するＤＭＡコントローラと、データを比較するための比較手段と、ワンショット発生回路とを備えたデータ処理装置において、通常使用されるＤＭＡコントローラと、データ比較に使用されるＤＭＡコントローラとを交互に動作させ、アドレスごとにデータを比較し、不一致検出時、トリガ信号を発生させる手段を備えていることを特徴とする。
【００１３】
第７の手段は、第６の手段において、所定の検出用アドレスを設定するレジスタをさらに備え、前記トリガ信号を発生させる手段は、前記レジスタにより設定された前記アドレスで不一致を検出したとき、トリガ信号を発生させることを特徴とする。
【００１４】
第８の手段は、第１、第６および第７のいずれかの手段において、所定の検出用データパターンを設定するレジスタをさらに備え、前記トリガ信号を発生させる手段は、前記レジスタにより設定された前記データパターンにおいて不一致を検出したとき、トリガ信号を発生させることを特徴とする。
【００１５】
なお、後述の実施形態において、比較手段は比較制御回路１０９に、記憶手段はメモリ１０５に、通常使用されるＤＭＡコントローラはＤＭＡコントローラ１０７に、データ比較に使用されるＤＭＡコントローラはＤＭＡコントローラ１０８に、アドレスごとにデータを比較し、不一致検出時、不一致情報を前記記憶手段に書き込む手段は比較制御回路１０９に、時間を計測する手段は比較制御回路１０９内に設けられたフリーカウントタイマに、不一致数をカウントする手段は比較制御回路１０９内に設けられた図示しないカウンタに、トリガ信号を発生させる手段は比較制御回路１０９および図示しないワンショット発生回路に、所定の検出用アドレスを設定するレジスタは比較制御回路内１０９に設けられた図示しない検出アドレスレジスタにそれぞれ対応する。
【発明の効果】
【００１６】
本発明によれば、比較元アドレス、比較元データ、比較先アドレス、比較先データなどのデータ不一致情報を含めさまざまな情報をログとしてメモリに格納することにより、多様の角度から動作の検証を進めることが可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照し、本発明の実施形態について説明する。なお、以下の説明において、同等な各部には同一の参照符号を伏し、重複する説明は省略する。
【００１８】
〈第１の実施形態〉
図１は本発明の実施形態に係るにデータ処理システムのシステム構成を示すブロック図である。
【００１９】
同図において、このデータ処理システムは、ＣＰＵ１０１、ＣＰＵインターフェース（図では、Ｉ／Ｆと記す）回路１０２、バス調停回路（バスアービタ−ＡＲＢ）１０３、メモリインターフェース回路（ＭＥＭ  Ｉ／Ｆ）１０４、メモリ（ＭＥＭＯＲＹ）１０５、機能処理部（ＦＵＮＣ１〜６）１０６、ＤＭＡコントローラ（ＤＭＡＣ）１０７，１０８、及び比較回路（ＣＭＰＣ）１０９から構成されている。
【００２０】
ＣＰＵ１０１は図示しないＲＯＭに書き込まれたプログラムを実行することにより本データ処理システムにおける処理の流れを設定する。ＣＰＵインターフェース回路１０２はバス調停回路１０３とＣＰＵ１０１とをインターフェースする回路である。
【００２１】
バス調停回路１０３は各種ＤＭＡＣ１０７，１０８やＣＰＵインターフェース回路１０２、メモリインターフェース回路１０４とのバス調停を行う。メモリインターフェース回路１０４は、バス調停回路１０３と本データ処理システムのメモリ１０５とをインターフェースするメモリインターフェース回路である。機能処理部１０６は少なくとも１つ以上存在し、例えば外部Ｉ／Ｏ機能を備えたＦＵＮＣ１〜ＦＵＮＣ３や、外部Ｉ／Ｏ機能を備えないＦＵＮＣ４〜ＦＵＮＣ６などがある。機能処理の具体例としては、ネットワークインターフェース機能、ＡＧＰ／ＰＣＩインターフェース機能、ＵＳＢインターフェース機能（以上ＦＵＮＣ１〜ＦＵＮＣ３に相当）、回転機能、圧縮伸長機能やデータ合成機能（以上ＦＵＮＣ４〜ＦＵＮＣ６に相当）などがある。
【００２２】
第１のＤＭＡＣ１０７は、各種機能処理部ＦＵＮＣ１、ＦＵＮＣ２、ＦＵＮＣ３からデータを受けてバス調停回路１０３へ出力するＤＭＡコントローラである。第２のＤＭＡＣ１０８、バス調停回路１０３からデータを受けて各種機能処理部ＦＵＮＣ４，ＦＵＮＣ５，ＦＵＮＣ６へ出力するＤＭＡコントローラである。比較制御回路１０９は、第１のＤＭＡＣ１０７と第２のＤＭＡＣ１０８と通過するデータ内容を比較し、逐次データ比較を行えるよう第１のＤＭＡＣ１０７と第２のＤＭＡＣ１０８とを制御しながらデータ比較を行っている。データ比較後の動作の詳細については後述する。
【００２３】
図２は比較制御回路１０９を使わない通常のＤＭＡ転送の動作の流れを示す図である。
【００２４】
Ｆ１は本データ処理システムの外部からデータが入力されるパスを示す。この例では、機能処理部（ＦＵＮＣ１）１０６において外部とインターフェースをとり、第１のＤＭＡＣ１０７、バス調停回路１０３、メモリインターフェース回路１０４を経由してメモリ１０５に入力されたデータが格納される。
【００２５】
Ｆ２は本データ処理システムの外部へデータを出力するパスを示す。メモリ１０５にあるデータをメモリインターフェース回路１０４、バス調停回路１０３、第２のＤＭＡＣ１０８、機能処理部（ＦＵＮＣ１）１０６を経由して外部へデータを出力する。
【００２６】
以上、パスＦ１，Ｆ２は機能処理部１０６で外部インターフェースを持つ場合の一般的な動作例である。
【００２７】
図２において、パスＦ３を使用し、機能処理部（ＦＵＮＣ４）１０６で外部インターフェースを持たない場合は、この例では、メモリ１０５にあるデータはメモリインターフェース回路１０４、バス調停回路１０３、第２のＤＭＡＣ１０８を経由して機能処理部（ＦＵＮＣ４）に入り、ここでデータ処理され、第１のＤＭＡＣ１０７、バス調停回路１０３、メモリインターフェース回路１０４を経由してメモリ１０５に格納される。これが一般的なＤＭＡデータ転送の動作例である。
【００２８】
図３は比較回路１０９を使用し、メモリ１０５に対する入力データとメモリ内データとのデータ比較を行うＤＭＡ転送の動作の流れを示す図である。同図において、Ｆ４は本データ処理システムの外部からデータが入力されるパスを示す。この例では、機能処理部（ＦＵＮＣ１）１０６において外部とインターフェースをとり、ＤＭＡＣ１０７、バス調停回路１０３、メモリインターフェース回路１０４を経由してメモリ１０５に格納される。その際、ＤＭＡＣ１０７から、バス調停回路１０３へデータを渡す前に比較制御回路１０９へデータを渡す。ここでもう一方のパスであるＦ５（メモリ１０５、メモリインターフェース回路１０４、バス調停回路１０３、比較制御回路１０９）のデータと、比較制御回路１０９で逐次データ比較してから、バス調停回路１０３へデータを渡す。
【００２９】
もう１つのパス例としては、Ｆ６およびＦ７のパスを使用するものがある。パスＦ６は、メモリ１０５にあるデータがメモリインターフェース回路１０４、バス調停回路１０３、第２のＤＭＡＣ１０８を経由して機能処理部（ＦＵＮＣ４）１０６に入り、ここでデータ処理され、第１のＤＭＡＣ１０７、バス調停回路１０３、メモリインターフェース回路１０４を経由してメモリ１０５に格納される。その際、第１のＤＭＡＣ１０７から、バス調停回路１０３へデータを渡す前に比較制御回路１０９へデータを渡す。ここでもう一方のパスであるＦ７（メモリ１０５、メモリインターフェース回路１０４、バス調停回路１０３、比較制御回路１０９）のデータと、比較制御回路１０９で逐次データ比較してから、バス調停回路１０３へデータを渡す。
【００３０】
比較制御回路１０９の基本動作は以下のようにして行われる。  
図４は比較制御回路１０９の基本動作例を示す図である。この図は、図３の要部を示すもので、比較制御回路１０９には、ＤＭＡコントローラが内蔵されており例えばＦ５のデータパスを実現するために、
（１）転送元開始アドレスレジスタ
（２）転送データ量レジスタ
（３）ＤＭＡ開始トリガレジスタ
が用意される。  
一方、第１のＤＭＡＣ１０７にもＦ４のパスを実現するために、
（１）転送先開始アドレスレジスタ
（２）転送データ量レジスタ
（３）ＤＭＡ開始トリガレジスタ
が用意される。
【００３１】
ところで、比較制御回路１０９を使ってデータ比較を逐次行う場合には、パスＦ４とパスＦ５の同期をとりながら動作させる必要がある。これは、一方だけＤＭＡ転送が進んだ場合、データ比較ができなくなるからである。これらの同期を制御するのも比較制御回路１０９である。したがって比較制御回路１０９は、比較制御回路１０９からバス調停回路１０３や、第１のＤＭＡＣ１０７に対してデータリクエスト信号を出して双方の同期をとりながらデータ比較を行えばよい。図５は比較制御回路１０９を中心とした構成の詳細図、図６はデータ比較しながらＤＭＡ転送を行う一連の動作を示す動作シーケンス図である。
【００３２】
図５では大別すると４つのインターフェース群に分けることができる。これらのインターフェース群は、
（Ａ）比較制御回路１０９とバス調停回路１０３
（Ｂ）比較制御回路１０９とＤＭＡＣ１０７
（Ｃ）ＤＭＡＣ１０７とバス調停回路１０３
（Ｄ）ＤＭＡＣ１０７と機能処理部１０６
である。それぞれｄｒｅｑ＊＊＊（ＤＲＥＤ＊＊＊）はリクエスト信号、ｄａｃｋ＊＊＊はリクエストアック信号、ｄｔａｃｋ＊＊＊はデータアック信号、残りの信号はデータバスである。データの取得タイミングはデータアック信号のアクティブ時に取り込めばよい。
【００３３】
そこで、動作タイミングとしては図６に示すように、まず、シーケンスのトリガとして、ＣＰＵ１０１が上述の比較制御回路１０９の転送元開始アドレスレジスタ、転送データ量レジスタを適宜設定し、第１のＤＭＡＣ１０７の転送先開始アドレスレジスタ、転送データ量レジスタを適宜設定してから、比較制御回路１０９のＤＭＡ開始トリガレジスタをライトして本シーケンスを開始させる。この場合、比較制御回路１０９のＤＭＡ開始トリガレジスタのライトが起点となるので、もう一方のＤＭＡＣ１０７のＤＭＡ開始トリガレジスタまでライトする必要はない。
【００３４】
本シーケンスを開始させると、比較制御回路１０９は、バス調停回路１０３及び第１のＤＭＡＣ１０７へ、リクエスト信号をアサートする（図６（１））。リクエスト信号を受けた第１のＤＭＡＣ１０７は、機能処理部１０６へリクエスト信号をアサートする（図６（２））。本信号を受けた第１のＤＭＡＣ１０７及びバス調停回路１０３のそれぞれは、リクエストを受け付けたことを示すリクエストアック信号を比較制御回路１０９へ返し、これを受けて比較制御回路１０９はリクエスト信号をそれぞれディアサートする（図６（３）（４））。
【００３５】
リクエスト信号を受けた機能処理部（ＦＵＮＣ１）１０６は、リクエストを受け付けたことを示すリクエストアック信号を第１のＤＭＡＣ１０７へ返し、これを受けて第１のＤＭＡＣ１０７はデータリクエスト信号をディアサートする（図６（５））。
【００３６】
機能処理部１０６が、データとデータアック信号を所定回出力する（例では３２ｂｉｔの４バーストアクセスｄ１，ｄ２，ｄ３，ｄ４）。第１のＤＭＡＣ１０７は、所定回分データを受け取ってから、比較制御回路１０９へデータアック信号とデータを出力する（図６（６））。一方、ＤＭＡＣ１０７は、バス調停回路１０３へリクエスト信号をアサートし、データを出力する（図６（７））。
【００３７】
バス調停回路１０３は、これを受けてリクエストアック信号やデータアック信号をアサートし、特にデータアック信号アサートのタイミングでデータを取得する。比較制御回路１０９は、このリクエストアック信号の返りを受けてリクエスト信号をディアサートする（図６（８））。また、比較制御回路１０９のリクエスト信号を受けたバス調停回路１０３は、データを用意してからデータアック信号を比較制御回路１０９へアサートし、このタイミングでＡ９比較制御回路はデータを取り込む（図６（９））。
【００３８】
図６（（６）（９））により、比較制御回路１０９は比較元及び比較先データを取得すると、これらを即座にデータ比較を行う。比較した結果、問題がなければ本シーケンスは一旦終了し、再度シーケンスのトリガ待ち状態となる。
【００３９】
一方、不一致発生をこのシステムで検出した場合、比較制御回路１０９はさまざまな不一致情報を、例えばバス調停回路１０３を介してメモリ１０５に書き込む。その際、本実施形態では、例えば、図７のように比較制御回路１０９とバス調停回路１０３のＤＭＡインターフェースＥをもう１種類追加すればよい。そして、データバスになんらかの不一致情報をのせればよい。
【００４０】
追加するインターフェース群としては、
（１）ｄｒｅｑ２＿ｃｍｐｃ：不一致検出時、Ａ３バス調停回路へリクエストするための信号
（２）ｄａｃｋ＿ｄｒｅｑ２＿ａｒｂ：リクエストアック信号
（３）ｄｔａｃｋ＿ｄｒｅｑ２＿ａｒｂ：データリクエストアック信号
（４）ｗｄｄａｔａ３１：０＿ｄｒｅｑ２＿ｃｍｐｃ：データバス・・・Ｅ−４
などのインターフェース群がある。
【００４１】
また、Ｆ８のパスを実現するために、これに合わせて比較制御回路１０９には以下のレジスタが必要となる。その際、比較制御回路１０９のＤＭＡ開始トリガレジスタをライトする前に不一致情報をどこにどれだけ置くのかを事前に設定する必要がある。
【００４２】
（１）転送先開始アドレスレジスタ
（２）転送データ量レジスタ（なくてもよい。その場合転送データ量制限なしとしてもよい。）
そして、比較制御回路１０９でＦ４とＦ５のパスデータの比較を行い、バス調停回路１０３で不一致検出時のみ比較制御回路１０９が、ｄｒｅｑ２＿ｃｍｐｃをアサートしてデータバスに何らかの不一致情報をライトすることになる。
【００４３】
図８は不一致発生時の動作シーケンスを示すシーケンス図である。図６のシーケンス図との相違は、データ比較を行って不一致を検出した場合に（１０）と（１１）のシーケンスを追加した点にある。すなわち、不一致検出後、比較制御回路１０９がバス調停回路１０３にリクエストをアサートする（図８（１０））。そして、バス調停回路１０３からリクエストアックが返ったのを検出して、リクエスト信号をディアサートしアイドル状態に戻る（図８（１１））。
【００４４】
以下、不一致時に何の情報を前記データバスＥ−４にのせるかについて説明する。  
ａ）第１例
不一致時の比較元アドレス、比較元データ、比較先アドレス、比較先データの４種類を比較制御回路１０９で一時的にラッチし、バス調停回路１０３へ渡す。
【００４５】
ｂ）第２例
比較制御回路１０９内にフリーカウントタイマのハードウエアを設け（図示せず）、常にこれを動作させる。そして不一致時に、前記タイマ値を一時的にラッチし、バス調停回路１０３へ渡す。
【００４６】
ｃ）第３例
比較制御回路１０９内にカウンタを設け（図示せず）、不一致検出ごとにカウントアップし、不一致比較回数（カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３には、所定のＤＭＡアクセスが終了した最後のタイミングで渡せばよい。
【００４７】
ｄ）第４例
比較制御回路内１０９にカウンタを比較データビットごとに設け（図示せず）、不一致検出ごとに該当比較ビットのカウンタがカウントアップし、それぞれの該当比較ビットの不一致回数（カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３には、所定のＤＭＡアクセスが終了した最後のタイミングで渡せばよい。
【００４８】
ｅ）第５例
不一致時の比較元アドレス、比較元データ、比較先アドレス、比較先データの４種類を比較制御回路１０９で一時的にラッチし、バス調停回路１０３へ渡す。また、比較制御回路１０９内にフリーカウントタイマのハードウエアを設け（図示せず）、常にこれを動作させる。そして不一致時に、本タイマ値を一時的にラッチし、バス調停回路１０３へ渡す。
【００４９】
ｆ）第６例
不一致時の比較元アドレス、比較元データ、比較先アドレス、比較先データの４種類を比較制御回路１０９で一時的にラッチし、バス調停回路１０３へ渡す。また、比較制御回路１０９内にカウンタを設け（図示せず）、不一致検出ごとにカウントアップし、不一致比較回数（本カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３には、所定のＤＭＡアクセスが終了した最後のタイミングで渡せばよい。
【００５０】
ｇ）第７例
不一致時の比較元アドレス、比較元データ、比較先アドレス、比較先データの４種類を比較制御回路１０９で一時的にラッチし、バス調停回路１０３へ渡す。また、比較制御回路１０９内にカウンタを比較データビットごとに設け（図示せず）、不一致検出ごとに該当比較ビットのカウンタがカウントアップし、それぞれの該当比較ビットの不一致回数（本カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３には所定のＤＭＡアクセスが終了した最後のタイミングで渡せばよい。
【００５１】
ｈ）第８例
比較制御回路１０９内にフリーカウントタイマのハードウエアを設け（図示せず）、常にこれを動作させる。そして不一致時に、前記タイマのタイマ値を一時的にラッチし、バス調停回路１０３へ渡す。また、比較制御回路１０９内にカウンタを設け（図示せず）、不一致検出ごとにカウントアップし、不一致比較回数（本カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３には所定のＤＭＡアクセスが終了した最後のタイミングで渡せばよい。
【００５２】
ｉ）第９例
比較制御回路１０９内にフリーカウントタイマのハードウエアを設け（図示せず）、常にこれを動作させる。そして不一致時に、本タイマ値を一時的にラッチし、バス調停回路１０３へ渡す。また、比較制御回路１０９内にカウンタを比較データビットごとに設け（図示せず）、不一致検出ごとに該当比較ビットのカウンタがカウントアップし、それぞれの該当比較ビットの不一致回数（本カウンタ値）をバス調停回路へ渡す１０３。バス調停回路１０３には所定のＤＭＡアクセスが終了した最後のタイミングで渡せばよい。
【００５３】
ｊ）第１０例
比較制御回路１０９内にカウンタを設け（図示せず）、不一致検出ごとにカウントアップし、不一致比較回数（本カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３に渡すタイミングは所定のＤＭＡアクセスが終了した最後に行えばよい。また、比較制御回路１０９内にカウンタを比較データビットごとに設け（図示せず）、不一致検出ごとに該当比較ビットのカウンタがカウントアップし、それぞれの該当比較ビットの不一致回数（本カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３には所定のＤＭＡアクセスが終了した最後のタイミングで渡せばよい。
【００５４】
ｋ）第１１例
不一致時の比較元アドレス、比較元データ、比較先アドレス、比較先データの４種類を比較制御回路１０９で一時的にラッチし、バス調停回路１０３へ渡す。また、比較制御回路１０９内にフリーカウントタイマのハードウエアを設け（図示せず）、常にこれを動作させる。そして不一致時に、本タイマ値を一時的にラッチし、バス調停回路１０３へ渡す。また、比較制御回路１０９内にカウンタを設け（図示せず）、不一致検出ごとにカウントアップし、不一致比較回数（本カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３には所定のＤＭＡアクセスが終了した最後のタイミングで渡せばよい。
【００５５】
ｌ）第１２例
不一致時の比較元アドレス、比較元データ、比較先アドレス、比較先データの４種類を比較制御回路１０９で一時的にラッチし、バス調停回路１０３へ渡す。また、比較制御回路１０９内にフリーカウントタイマのハードウエアを設け（図示せず）、常にこれを動作させる。そして不一致時に、本タイマ値を一時的にラッチし、バス調停回路１０３へ渡す。また、比較制御回路１０９内にカウンタを比較データビットごとに設け（図示せず）、不一致検出ごとに該当比較ビットのカウンタがカウントアップし、それぞれの該当比較ビットの不一致回数（本カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３には所定のＤＭＡアクセスが終了した最後のタイミングで渡せばばよい。
【００５６】
ｍ）第１３例
不一致時の比較元アドレス、比較元データ、比較先アドレス、比較先データの４種類を比較制御回路１０９で一時的にラッチし、バス調停回路１０３へ渡す。また、比較制御回路１０９内にカウンタを設け（図示せず）、不一致検出ごとにカウントアップし、不一致比較回数（本カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３に渡すタイミングは所定のＤＭＡアクセスが終了した最後に行えばよい。また、比較制御回路１０９内にカウンタを比較データビットごとに設け（図示せず）、不一致検出ごとに該当比較ビットのカウンタがカウントアップし、それぞれの該当比較ビットの不一致回数（本カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３には所定のＤＭＡアクセスが終了した最後のタイミングで渡せばばよい。
【００５７】
ｎ）第１４例
比較制御回路１０９内にフリーカウントタイマのハードウエアを設け（図示せず）、常にこれを動作させる。そして不一致時に、本タイマ値を一時的にラッチし、バス調停回路１０３へ渡す。また、比較制御回路１０９内にカウンタを設け（図示せず）、不一致検出ごとにカウントアップし、不一致比較回数（本カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３に渡すタイミングは所定のＤＭＡアクセスが終了した最後に行えばよい。また、比較制御回路１０９内にカウンタを比較データビットごとに設け（図示せず）、不一致検出ごとに該当比較ビットのカウンタがカウントアップし、それぞれの該当比較ビットの不一致回数（本カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３には所定のＤＭＡアクセスが終了した最後のタイミングで渡せばよい。
【００５８】
ｏ）第１５例
不一致時の比較元アドレス、比較元データ、比較先アドレス、比較先データの４種類を比較制御回路１０９で一時的にラッチし、バス調停回路１０３へ渡す。また、比較制御回路１０３内にフリーカウントタイマのハードウエアを設け（図示せず）、常にこれを動作させる。そして不一致時に、本タイマ値を一時的にラッチし、バス調停回路１０３へ渡す。また、比較制御回路１０９内にカウンタを設け（図示せず）、不一致検出ごとにカウントアップし、不一致比較回数（本カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３には所定のＤＭＡアクセスが終了した最後のタイミングで渡せばよい。
【００５９】
また、比較制御回路１０９内にカウンタを比較データビットごとに設け（図示せず）、不一致検出ごとに該当比較ビットのカウンタがカウントアップし、それぞれの該当比較ビットの不一致回数（本カウンタ値）をバス調停回路１０３へ渡す。バス調停回路１０３には所定のＤＭＡアクセスが終了した最後のタイミングで渡せばよい。
【００６０】
以上のように本実施形態によれば、ＤＭＡ転送を実施しつつ、ＣＰＵの介在なしにリアルタイムにデータをチェックするハードウエアを新たに設けることにより、タイミング、電源容量、温度特性等のファクタを厳しくし、実機と同様の負荷をデータ処理システムに加えて、効率よく開発、検討を進めることができる。
【００６１】
また、比較元アドレス、比較元データ、比較先アドレス、比較先データなどのデータ不一致情報を含めさまざまな情報をログとしてメモリに格納することにより、多様の角度から動作の検証を進めることが可能となる。
【００６２】
〈第２の実施形態〉
図９及び図１０は第２の実施形態を説明するためのもので、図９は比較制御回路１０９を中心とした構成の詳細図、図１０はデータ比較しながらＤＭＡ転送を行う一連の動作例を示す動作シーケンス図である。なお、特に説明しない各部は第１の実施形態と同等に構成され、同等に機能する。
【００６３】
ｐ）第１例
図９に示した比較制御回路を中心とした構成と図７に示した比較制御回路を中心とした構成との差異は、図９の比較制御回路１０９からｅｒｒ＿ｔｒｇ信号が追加になり、外部へ出力されている点と、比較制御回路１０９からバス調停回路１０３へエラー情報を渡すインターフェースがないことである。本信号がアサートされるタイミングは、比較制御回路１０９でデータ不一致検出をしたときがよい。これを図１０の動作シーケンス図に示す。図１０に示した動作シーケンスは図８に示した動作シーケンスに対し、ｅｒｒ＿ｔｒｇ信号が追加されている点が異なっている。そこで、この動作シーケンスでは、データ不一致検出後、ｅｒｒ＿ｔｒｇ信号をアサートしている（図１０（１０））。
【００６４】
ｑ）第２例
比較制御回路内１０９に検出アドレスレジスタ（図示せず）を設け、データ比較を行う前にソフトウエアが予め、任意なアドレスパターンを設定する。比較制御回路１０９は本情報を元に、設定されたアドレスパターンと全く同じ転送元アドレスパターンにおけるデータ比較を行い不一致の検出を行う。データ不一致検出後、ｅｒｒ＿ｔｒｇ信号をアサートする。従って他のアドレスでデータ不一致を検出しても、ｅｒｒ＿ｔｒｇ信号をアサートしなくてよい。
【００６５】
ｒ）第３例
比較制御回路１０９内に検出アドレスレジスタ（図示せず）を設け、データ比較を行う前にソフトウエアが予め、任意なデータを設定する。比較制御回路１０９は本情報を元に、設定されたデータパターンと全く同じ転送元データパターンにおけるデータ比較を行い不一致の検出を行う。データ不一致検出後、ｅｒｒ＿ｔｒｇ信号をアサートする。従って他のデータパターンでデータ不一致を検出しても、ｅｒｒ＿ｔｒｇ信号をアサートしなくてよい。
【００６６】
ｓ）第４例
比較制御回路１０９内に検出アドレスレジスタ（図示せず）を設け、データ比較を行う前にソフトウエアが予め、任意なアドレスパターンを設定する。比較制御回路１０９は本情報を元に、設定されたアドレスパターンと全く同じ転送元アドレスパターンにおけるデータ比較を行い不一致の検出を行う。
【００６７】
また、比較制御回路１０９内に検出アドレスレジスタ（図示せず）を設け、データ比較を行う前にソフトウエアが予め、任意なデータを設定する。比較制御回路１０９は本情報を元に、設定されたデータパターンと全く同じ転送元データパターンにおけるデータ比較を行い不一致の検出を行う。
【００６８】
これら２つの不一致検出でのみｅｒｒ＿ｔｒｇ信号をアサートする。
【００６９】
本実施形態によれば、データ不一致時に、ワンショットやトグル信号などのトリガ信号を出力することにより、所望のタイミングで波形確認を行うことが可能となる。
【００７０】
〈第３の実施形態〉
図１１及び図１２は第３の実施形態を説明するためのもので、図１１は比較制御回路１０９を中心とした構成の詳細図、図１２はデータ比較しながらＤＭＡ転送を行う一連の動作例を示す動作シーケンス図である。なお、特に説明しない各部は第１の実施形態と同等に構成され、同等に機能する。
【００７１】
図１１に示した比較制御回路を中心とした構成が図７に示した比較制御回路を中心とした構成との差異は、比較制御回路１０９からｅｒｒ＿ｔｒｇ信号が追加になり、外部へ出力されている点のみである。本信号がアサートされるタイミングは、比較制御回路１０９でデータ不一致検出をしたときがよい。これを図１２の動作シーケンス図に示す。図１２に示した動作シーケンスは図８に示した動作シーケンスに対し、ｅｒｒ＿ｔｒｇ信号が追加されている点が異なっている。そこで、この動作シーケンスでは、データ不一致検出後、ｅｒｒ＿ｔｒｇ信号をアサートするようにしている（図１２（１０））。
【００７２】
本実施形態によれば、比較元アドレス、比較元データ、比較先アドレス、比較先データなどのデータ不一致情報を含めさまざまな情報をログとしてメモリに格納することにより、多様な角度から動作の検証を進め、かつ、データ不一致時に、ワンショットやトグル信号などのトリガ信号を出力することにより、所望のタイミングで波形確認を行うことが可能となる。
【図面の簡単な説明】
【００７３】
【図１】本発明の第１の実施形態に係るにデータ処理システムのシステム構成を示すブロック図である。
【図２】図１において比較回路を使わない通常のＤＭＡ転送の動作の流れを示す図である。
【図３】図１において比較回路を使用し、メモリに対する入力データとメモリ内データとのデータ比較を行うＤＭＡ転送の動作の流れを示す図である。
【図４】図３の要部を参照し、比較制御回路の基本動作例を示す図である。
【図５】図４における比較制御回路を中心とした構成の詳細を示す図である。
【図６】図５においてデータ比較しながらＤＭＡ転送を行う一連の動作を示す動作シーケンス図である。
【図７】図５に対して比較制御回路とバス調停回路のＤＭＡインターフェースをもう１種類追加した構成の詳細を示す図である。
【図８】図７において不一致発生時の動作シーケンスを示すシーケンス図である。
【図９】本発明の第２の実施形態に係るデータ処理装置の比較制御回路を中心として構成の詳細を示す図である。
【図１０】図９における動作シーケンスを示すシーケンス図である。
【図１１】本発明の第２の実施形態に係るデータ処理装置の比較制御回路を中心として構成の詳細を示す図である。
【図１２】図１１における動作シーケンスを示すシーケンス図である。
【符号の説明】
【００７４】
１０１  ＣＰＵ
１０２  ＣＰＵＩ／Ｆ回路
１０３  バス調停回路
１０４  メモリＩ／Ｆ回路
１０５  メモリ
１０６  機能処理部
１０７  第１のＤＭＡコントローラ（ＤＭＡＣ）
１０８  第２のＤＭＡコントローラ（ＤＭＡＣ）
１０９  比較制御回路
Ａ，Ｂ，Ｃ，Ｄ，Ｅ  インターフェース群
【図１】
2006085601.tif 000003
【図２】
2006085601.tif 000004
【図３】
2006085601.tif 000005
【図４】
2006085601.tif 000006
【図５】
2006085601.tif 000007
【図６】
2006085601.tif 000008
【図７】
2006085601.tif 000009
【図８】
2006085601.tif 000010
【図９】
2006085601.tif 000011
【図１０】
2006085601.tif 000012
【図１１】
2006085601.tif 000013
【図１２】
2006085601.tif 000014