JP2007080183A - Data processor and its control method - Google Patents

Data processor and its control method Download PDF

Info

Publication number
JP2007080183A
JP2007080183A JP2005270404A JP2005270404A JP2007080183A JP 2007080183 A JP2007080183 A JP 2007080183A JP 2005270404 A JP2005270404 A JP 2005270404A JP 2005270404 A JP2005270404 A JP 2005270404A JP 2007080183 A JP2007080183 A JP 2007080183A
Authority
JP
Japan
Prior art keywords
data
memory
processing
external device
target device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2005270404A
Other languages
Japanese (ja)
Inventor
Masato Uchihara
正人 内原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005270404A priority Critical patent/JP2007080183A/en
Publication of JP2007080183A publication Critical patent/JP2007080183A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technique for performing verification of higher reliability and for verifying an operation of a device at a higher speed. <P>SOLUTION: When detecting a request for writing processing data in a main memory 404, a determination is made on whether an external device is an operation verifying object device, and a determination is also made on whether an address in the main memory 404 of a writing requester is in a predetermined address area. When the external device is the operation verifying object device and the address in the main memory 404 of the writing requester is in the predetermined address area, expected value data corresponding to the processing data is read out of the main memory 404. A determination is made on whether or not the processing data coincides with the read-out data. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、外部装置、特にLSI論理回路の動作検証を行うための技術に関するものである。   The present invention relates to a technique for verifying the operation of an external device, particularly an LSI logic circuit.

LSIを含む論理システムの規模は年々増大しており、システムに搭載される機能も高度化・多様化している。このような状況の中、目的のシステムを効率よく実現する為の手段として、CPUおよび周辺入出力制御装置、画像処理装置等の回路を、バスを用いて電気的に接続し、1つのチップに搭載したシステムLSIの開発が行われている。年々拡大する電子機器の性能への要求を満たす為に、システムLSIが扱うデータ量は飛躍的に増大しており、これにあわせて大容量のメモリデバイスが用いられるようになっている。画像処理、動画処理といった膨大なデータを扱う回路の検証では、論理シミュレーションを用いて実機で起こりうる全ての事象を検証するのには膨大な時間必要であり、現実的には不可能である。   The scale of logic systems including LSIs is increasing year by year, and the functions installed in the systems are becoming more sophisticated and diversified. Under such circumstances, as a means for efficiently realizing the target system, the CPU, peripheral input / output control device, image processing device, and other circuits are electrically connected using a bus to one chip. The on-board system LSI is being developed. In order to meet the demands for the performance of electronic devices that are expanding year by year, the amount of data handled by system LSIs has increased dramatically, and in response to this, large-capacity memory devices are being used. In verification of a circuit that handles enormous data such as image processing and moving image processing, enormous time is required to verify all the events that can occur in a real machine using logic simulation, which is impossible in practice.

そのためエミュレータと呼ばれる装置を用いて検証を高速化する手法が用いられている(例えば、特許文献1参照)。しかし、エミュレータは検証環境構築に多くの時間が必要であり、実機動作と比べると速度も遅い為、特定のテストパターンに限定して使用する必要がある。これらの理由から、動画処理等の大容量のデータを用いた検証は、エンジニアリング・サンプル(以下ES)を用いて、ソフトウェアの検証と同時にハードウェアの実機検証をするという手法が用いられている。その検証方法として、ハードウェアによる一連のデータ処理終了後にメモリに保存された処理データをCPUがROMまたはメモリ上にあらかじめ保存しておいた期待値データと比較を行う方法がとられている。
特開2004−361171号公報
Therefore, a technique for speeding up verification using a device called an emulator is used (see, for example, Patent Document 1). However, an emulator requires a lot of time to build a verification environment and is slower than an actual machine operation, so it must be used only for a specific test pattern. For these reasons, verification using large-capacity data such as moving image processing is performed by using an engineering sample (hereinafter referred to as ES) to perform hardware verification simultaneously with software verification. As a verification method, a method is used in which processing data stored in a memory after completion of a series of data processing by hardware is compared with expected value data stored in advance in the ROM or memory by the CPU.
JP 2004-361171 A

しかしこれらの方法では、ハードウェアでの一連のデータ処理が終わってから処理データと期待値データを比較している為、不具合発生時の原因の解析が困難であった。また、データ比較の別の方法として、一回のデータ処理ごとにCPUが処理データと期待値データを比較する方法が考えられる。しかしこの場合、本来のデータ処理シーケンスにCPUからの期待値および処理データ読み出しが毎回加わってしまい、テストの信憑性が低下してしまうとともに、シミュレーション時間の増加を招いてしまう。   However, in these methods, since the processed data and the expected value data are compared after a series of data processing in the hardware is completed, it is difficult to analyze the cause when the failure occurs. As another data comparison method, a method in which the CPU compares the processing data with the expected value data for each data processing can be considered. However, in this case, the expected value and the processing data read from the CPU are added to the original data processing sequence every time, so that the reliability of the test is lowered and the simulation time is increased.

本発明は以上の問題に鑑みて成されたものであり、デバイスの動作検証をより高速に行うと共に、より信憑性の高い検証を行うための技術を提供することを目的とする。   The present invention has been made in view of the above problems, and an object of the present invention is to provide a technique for performing device operation verification at a higher speed and performing verification with higher reliability.

本発明の目的を達成するために、例えば、本発明のデータ処理装置は以下の構成を備える。   In order to achieve the object of the present invention, for example, a data processing apparatus of the present invention comprises the following arrangement.

即ち、複数の外部デバイスに含まれる動作検証対象デバイスが正常動作を行った場合に、当該動作検証対象デバイスから得られるデータを期待値データとして保持する第1のメモリと、
前記動作検証対象デバイスを特定する為の情報を保持する第2のメモリと、
前記第1のメモリにおいて所定のアドレス領域を示す情報を保持する第3のメモリと、
注目外部デバイスが動作を行った結果得られる処理データを前記第1のメモリに書き込む要求を検知した場合、当該注目外部デバイスが動作検証対象デバイスであるのか否かを判断する第1の判断手段と、
前記要求を検知した場合、書き込み要求先の前記第1のメモリ内のアドレスが前記所定のアドレス領域内であるのか否かを判断する第2の判断手段と、
前記第1の判断手段、前記第2の判断手段による判断処理の結果、前記注目外部デバイスが動作検証対象デバイスであり、且つ前記書き込み要求先の前記第1のメモリ内のアドレスが前記所定のアドレス領域内である場合には、前記処理データに対応する期待値データを前記第1のメモリから読み出す読み出し手段と、
前記処理データと、前記読み出し手段が読み出したデータとが一致しているのか否かを判断することで、前記注目外部デバイスの動作を検証する検証手段と
を備えることを特徴とする。
That is, when an operation verification target device included in a plurality of external devices performs a normal operation, a first memory that holds data obtained from the operation verification target device as expected value data;
A second memory holding information for specifying the operation verification target device;
A third memory holding information indicating a predetermined address area in the first memory;
First determination means for determining whether or not the external device of interest is an operation verification target device when detecting a request to write processing data obtained as a result of the operation of the external device of interest to the first memory; ,
Second detection means for determining whether the address in the first memory of the write request destination is within the predetermined address area when the request is detected;
As a result of the determination processing by the first determination unit and the second determination unit, the target external device is an operation verification target device, and the address in the first memory of the write request destination is the predetermined address A reading means for reading expected value data corresponding to the processing data from the first memory if within the area;
Verification means for verifying the operation of the external device of interest by determining whether or not the processing data matches the data read by the reading means.

本発明の目的を達成するために、例えば、本発明のデータ処理装置の制御方法は以下の構成を備える。   In order to achieve the object of the present invention, for example, a method for controlling a data processing apparatus of the present invention comprises the following arrangement.

即ち、複数の外部デバイスに含まれる動作検証対象デバイスが正常動作を行った場合に、当該動作検証対象デバイスから得られるデータを期待値データとして保持する第1のメモリと、
前記動作検証対象デバイスを特定する為の情報を保持する第2のメモリと、
前記第1のメモリにおいて所定のアドレス領域を示す情報を保持する第3のメモリとを備えるデータ処理装置の制御方法であって、
注目外部デバイスが動作を行った結果得られる処理データを前記第1のメモリに書き込む要求を検知した場合、当該注目外部デバイスが動作検証対象デバイスであるのか否かを判断する第1の判断工程と、
前記要求を検知した場合、書き込み要求先の前記第1のメモリ内のアドレスが前記所定のアドレス領域内であるのか否かを判断する第2の判断工程と、
前記第1の判断工程、前記第2の判断工程による判断処理の結果、前記注目外部デバイスが動作検証対象デバイスであり、且つ前記書き込み要求先の前記第1のメモリ内のアドレスが前記所定のアドレス領域内である場合には、前記処理データに対応する期待値データを前記第1のメモリから読み出す読み出し工程と、
前記処理データと、前記読み出し工程で読み出したデータとが一致しているのか否かを判断することで、前記注目外部デバイスの動作を検証する検証工程と
を備えることを特徴とする。
That is, when an operation verification target device included in a plurality of external devices performs a normal operation, a first memory that holds data obtained from the operation verification target device as expected value data;
A second memory holding information for specifying the operation verification target device;
A control method of a data processing apparatus comprising: a third memory that holds information indicating a predetermined address area in the first memory,
A first determination step of determining whether or not the target external device is an operation verification target device when detecting a request to write processing data obtained as a result of the operation of the target external device to the first memory; ,
A second determination step of determining whether an address in the first memory of a write request destination is within the predetermined address area when the request is detected;
As a result of the determination processing in the first determination step and the second determination step, the target external device is an operation verification target device, and the address in the first memory of the write request destination is the predetermined address If within the region, a read step of reading expected value data corresponding to the processing data from the first memory;
A verification step of verifying the operation of the external device of interest by determining whether or not the processing data matches the data read in the reading step.

本発明の構成により、デバイスの動作検証をより高速に行うと共に、より信憑性の高い検証を行うことができる。   With the configuration of the present invention, it is possible to perform device operation verification at a higher speed and to perform verification with higher reliability.

以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。   Hereinafter, the present invention will be described in detail according to preferred embodiments with reference to the accompanying drawings.

<データ処理装置について>
本実施形態では、動作検証対象のデバイスを含む複数の外部デバイスに接続されたデータ処理装置について説明する。
<About data processing device>
In the present embodiment, a data processing apparatus connected to a plurality of external devices including a device to be verified for operation will be described.

ここで、動作検証対象デバイスは、所定の処理を行うと処理結果のデータを出力する。この処理結果のデータは動作検証対象デバイスの動作が正常であれば期待通りのデータとなる。しかし、動作検証対象デバイスの動作が正常ではなかった場合、処理結果のデータは期待通りのデータとは成らない。   Here, the operation verification target device outputs data of a processing result when a predetermined processing is performed. The data of the processing result is as expected if the operation of the operation verification target device is normal. However, if the operation of the operation verification target device is not normal, the processing result data is not as expected.

そこで、本実施形態では、先ず、動作検証対象デバイスが正常である場合に出力されるであろうデータ(期待値データ)をメモリに保持しておく。そして、データ処理装置は、動作検証対象デバイスから出力された処理結果のデータを受け、受けたデータとメモリに保持されている期待値データとの比較を行い、処理結果のデータが期待通りのデータであるのか否かをチェックする。これにより、動作検証対象デバイスの動作が正常であるか否かの検証を行うことができる。   Therefore, in this embodiment, first, data (expected value data) that will be output when the operation verification target device is normal is held in the memory. The data processing apparatus receives the processing result data output from the operation verification target device, compares the received data with the expected value data held in the memory, and the processing result data is the expected data. It is checked whether or not. As a result, it is possible to verify whether or not the operation of the operation verification target device is normal.

図1は、本実施形態に係るデータ処理装置のハードウェア構成、及びデータの流れを示すブロック図である。同図に示す如く、本実施形態に係るデータ処理装置は、メモリコントローラ110とメモリ106とで構成されている。   FIG. 1 is a block diagram showing a hardware configuration and a data flow of a data processing apparatus according to the present embodiment. As shown in the figure, the data processing apparatus according to the present embodiment includes a memory controller 110 and a memory 106.

メモリコントローラ110は、外部デバイスからメモリ106に対するアクセスを検知すると、このアクセスの制御を行う。また、外部デバイスのうち動作検証対象デバイスから出力されたデータをメモリ106に書き込む要求をこの動作検証対象デバイスから受けると、この処理結果のデータの検証処理を行う。   When the memory controller 110 detects an access to the memory 106 from an external device, the memory controller 110 controls the access. When a request for writing the data output from the operation verification target device among the external devices to the memory 106 is received from the operation verification target device, the processing result data is verified.

メモリ106には、動作検証対象デバイスが正常である場合に、この動作検証対象デバイスから出力されるであろうデータ、即ち期待値データが保持されている。動作検証対象デバイスが複数の場合には、それぞれの動作検証対象デバイス毎に期待値データを保持する。また、メモリ106は、動作検証対象デバイスから出力された処理結果のデータを保持するための空きエリアも有する。   The memory 106 holds data that is expected to be output from the operation verification target device, that is, expected value data when the operation verification target device is normal. When there are a plurality of operation verification target devices, expected value data is held for each operation verification target device. The memory 106 also has an empty area for holding processing result data output from the operation verification target device.

次に、メモリコントローラ110の構成について説明する。メモリコントローラ110は、外部デバイス側で処理した結果のデータ(書き込みデータ102)、書き込みデータ102をメモリ106に書き込む要求、そしてこの外部デバイスを識別するための情報(バスマスタ識別子)を受ける。   Next, the configuration of the memory controller 110 will be described. The memory controller 110 receives data (write data 102) obtained as a result of processing on the external device side, a request to write the write data 102 to the memory 106, and information (bus master identifier) for identifying the external device.

書き込みコマンド生成装置101は、書き込みデータ102をメモリ106に書き込む要求を受けると、この書き込みデータ102を書き込むメモリ106上のアドレス等を指定するコマンド(書き込みコマンド)を生成する。   When receiving a request to write the write data 102 to the memory 106, the write command generating apparatus 101 generates a command (write command) that specifies an address on the memory 106 to which the write data 102 is written.

また、この要求を受けると、読み出しコマンド生成装置104は、この書き込みデータ102に対応する期待値データが保持されているメモリ106上のアドレス等を指定するコマンド(読み出しコマンド)を生成する。書き込みデータ102に対応する期待値データが保持されているメモリ106上のアドレスは、例えば、書き込みデータ102を書き込むメモリ106上のアドレスに所定のバイアスを加算することで得る。   Upon receiving this request, the read command generation device 104 generates a command (read command) that specifies an address on the memory 106 in which expected value data corresponding to the write data 102 is held. The address on the memory 106 in which the expected value data corresponding to the write data 102 is held can be obtained, for example, by adding a predetermined bias to the address on the memory 106 to which the write data 102 is written.

一方、レジスタ109には、動作検証対象デバイスのバスマスター識別子、メモリ106上において書き込みデータ102を格納するためのエリア(上記空きエリア)を特定する情報(エリア情報)が保持されている。   On the other hand, the register 109 holds the bus master identifier of the operation verification target device and information (area information) for specifying an area (the above-mentioned empty area) for storing the write data 102 on the memory 106.

制御装置103は、上記書き込み要求を受けると先ず、外部デバイスから受けたバスマスター識別子とレジスタ109に保持されているバスマスター識別子とを比較し、この外部デバイスが動作検証対象デバイスであるのか否かをチェックする。更に、制御装置103は、レジスタ109に保持されているエリア情報を参照し、書き込みコマンド生成装置101が生成したコマンドに含まれている書き込みアドレスが、空きエリア内に含まれているか否かをチェックする。   Upon receiving the write request, the control device 103 first compares the bus master identifier received from the external device with the bus master identifier held in the register 109, and determines whether or not this external device is an operation verification target device. Check. Further, the control device 103 refers to the area information held in the register 109 and checks whether or not the write address included in the command generated by the write command generation device 101 is included in the empty area. To do.

以上の2つのチェック処理の結果、外部デバイスが動作検証対象デバイスであり、且つ書き込みアドレスが空きエリア内に含まれている場合、制御装置103はコマンド選択装置105を制御し、読み出しコマンドを選択させる。その結果、コマンド選択装置105は、選択した読み出しコマンドに基づいて、メモリ106から期待値データ(読み出しデータ107)を読み出す。この読み出しデータ107は、書き込みデータ102に対応するものであり、動作検証対象デバイスが正常に動作していれば書き込みデータ102と読み出しデータ107とは一致するはずである。   As a result of the above two check processes, when the external device is the operation verification target device and the write address is included in the empty area, the control device 103 controls the command selection device 105 to select the read command. . As a result, the command selection device 105 reads expected value data (read data 107) from the memory 106 based on the selected read command. The read data 107 corresponds to the write data 102, and the write data 102 and the read data 107 should match if the operation verification target device is operating normally.

そこで、比較装置108は書き込みデータ102と読み出しデータ107とを比較し、それぞれが一致しているのか否かをチェックする。そして一致していない場合には、動作検証対象デバイスの動作が正常ではないことを意味するので、比較装置108はその旨を出力する。   Therefore, the comparison device 108 compares the write data 102 and the read data 107 and checks whether they match each other. If they do not coincide with each other, it means that the operation of the operation verification target device is not normal, and the comparison device 108 outputs that fact.

一方、以上の2つのチェック処理の結果、外部デバイスが動作検証対象デバイスではない、及び/又は書き込みアドレスが空きエリア内に含まれていない場合、制御装置103はコマンド選択装置105を制御し、書き込みコマンドを選択させる。その結果、コマンド選択装置105は、選択した書き込みコマンドに基づいて、メモリ106の空きエリアに書き込みデータ102を書き込む。   On the other hand, if the external device is not the operation verification target device and / or the write address is not included in the free area as a result of the above two check processes, the control device 103 controls the command selection device 105 to write Lets you select a command. As a result, the command selection device 105 writes the write data 102 in the empty area of the memory 106 based on the selected write command.

<データ処理装置を組み込んだ装置について>
図4は、以上説明した動作を行うデータ処理装置を、動作検証しようとするデバイスを含むシステムに組み込んだ場合のハードウェア構成を示すブロック図である。
<Devices incorporating data processing devices>
FIG. 4 is a block diagram showing a hardware configuration when the data processing apparatus that performs the above-described operation is incorporated in a system including a device whose operation is to be verified.

USB IF405を介してディジタルカメラ等から入力された画像データは、DMAC406によりバス402を介してメモリコントローラ403(図1に示したメモリコントローラ110と同様の構成を有する)に転送される。メモリコントローラ403はこの画像データをメインメモリ404に転送し、そこに保存する。   Image data input from a digital camera or the like via the USB IF 405 is transferred to the memory controller 403 (having the same configuration as the memory controller 110 shown in FIG. 1) via the bus 402 by the DMAC 406. The memory controller 403 transfers this image data to the main memory 404 and stores it there.

CPU401がJPEGエンコーダ410を制御することで、JPEGエンコーダ410はメインメモリ404に保存された画像データをDMAC409により逐次読み出し、読み出した画像データに対して符号化処理を行う。符号化結果のデータ(符号化データ)は再度メインメモリ404に保存する。   When the CPU 401 controls the JPEG encoder 410, the JPEG encoder 410 sequentially reads out the image data stored in the main memory 404 by the DMAC 409, and performs an encoding process on the read image data. The encoding result data (encoded data) is stored in the main memory 404 again.

そして、1フレーム分の画像データの符号化処理が完了すると、CPU401はメモリコントローラ403を介してメインメモリ404から先ほど符号化が完了した1フレーム分の符号化データを読み出す。そして読み出した符号化データをROMC407を介してFlashROM408に転送し、そこに保存する。   When the encoding process for one frame of image data is completed, the CPU 401 reads out the encoded data for one frame that has been encoded earlier from the main memory 404 via the memory controller 403. The read encoded data is transferred to the flash ROM 408 via the ROMC 407 and stored therein.

このような構成を有するシステムにおいて、JPEGエンコーダ410の動作検証を、メモリコントローラ403を用いて行う場合を例に取り、メモリコントローラ403の動作について以下、説明する。   In the system having such a configuration, the operation of the JPEG encoder 410 will be described using the memory controller 403 as an example, and the operation of the memory controller 403 will be described below.

<データ処理装置が行う処理について>
図2は、図4に示す如く、データ処理装置を、動作検証しようとするデバイスを含むシステムに組み込んだ場合に、このデータ処理装置を構成するメモリコントローラ110が行う処理のフローチャートである。
<About processing performed by the data processing device>
FIG. 2 is a flowchart of processing performed by the memory controller 110 constituting the data processing apparatus when the data processing apparatus is incorporated in a system including a device whose operation is to be verified, as shown in FIG.

先ず、同図のフローチャートに従った処理を行う前段では、システムの初期化等、様々な初期化処理を行う。これにより、メモリコントローラ403は、CPU401やDMAC109といった「バスマスタ」から、メインメモリ404へのデータ書き込み要求/読み出し要求を受け付けることができる。   First, in the previous stage in which the processing according to the flowchart of FIG. 10 is performed, various initialization processes such as system initialization are performed. As a result, the memory controller 403 can accept a data write request / read request to the main memory 404 from a “bus master” such as the CPU 401 or the DMAC 109.

また、メインメモリ404には、予め期待値データ(ここではJPEGエンコーダ410が正常動作を行った場合に得られる符号化データ)が保持されているものとする。   Further, it is assumed that the main memory 404 holds expected value data (here, encoded data obtained when the JPEG encoder 410 performs a normal operation).

メモリコントローラ403を構成する各部は要求受付を行っている(ステップS202)。この状態において、各部が外部デバイス(バスマスタ)からメインメモリ404へのアクセス要求がメインメモリ404からデータを読み出す要求(Read要求)であることを検知した場合には、処理をステップS203を介してステップS204に進める。   Each unit constituting the memory controller 403 receives a request (step S202). In this state, when each unit detects that an access request from the external device (bus master) to the main memory 404 is a request to read data from the main memory 404 (Read request), the process is performed via step S203. Proceed to S204.

そして、読み出しコマンド生成装置104は、読み出し要求の対象となっているデータをメインメモリ404から読み出す為のコマンド(Readコマンド)を生成する(ステップS204)。そして、コマンド選択装置105はこのコマンドに基づいて、読み出し要求されたデータを読み出す(ステップS204)。   Then, the read command generation device 104 generates a command (Read command) for reading the data that is the target of the read request from the main memory 404 (step S204). Then, the command selection device 105 reads the data requested to be read based on this command (step S204).

一方、メインメモリ404へのアクセス要求がメインメモリ404に対するデータの書き込み要求である場合には処理をステップS203を介してステップS205に進める。そして、制御装置103は、現在のメモリコントローラ403にテストモードが設定されているのか否かをチェックする(ステップS205)。メモリコントローラ403は、外部デバイスの動作検証を行うモードと行わないモードの何れかを設定することができる。例えば、動作検証を行う場合には、TestMode=1を設定し、動作検証を行わない場合にはTestMode=0を設定する。このTestModeの値がレジスタ109に予め設定される。従って、ステップS205では、制御装置103は、レジスタ109に設定されたTestModeの値を参照し、参照した値が1か0かをチェックする処理を行う。   On the other hand, if the access request to the main memory 404 is a data write request to the main memory 404, the process proceeds to step S205 via step S203. Then, the control device 103 checks whether or not a test mode is set for the current memory controller 403 (step S205). The memory controller 403 can set either a mode for performing an operation verification of an external device or a mode for not performing the operation verification. For example, when the operation verification is performed, TestMode = 1 is set, and when the operation verification is not performed, TestMode = 0 is set. The value of TestMode is set in the register 109 in advance. Therefore, in step S205, the control device 103 refers to the value of TestMode set in the register 109 and performs a process of checking whether the referenced value is 1 or 0.

TestMode=0の場合には処理をステップS206に進める。そして、書き込みコマンド生成装置101は、書き込み対象のデータとして、書き込み要求と共に受けたデータ(ここでは符号化データ)をメインメモリ404に書き込む為のコマンド(Writeコマンド)を生成する(ステップS206)。そして、コマンド選択装置105はこのコマンドに基づいて、書き込み要求されたデータをメインメモリ404に書き込む(ステップS206)。   If TestMode = 0, the process proceeds to step S206. Then, the write command generating apparatus 101 generates a command (Write command) for writing the data (encoded data here) received together with the write request to the main memory 404 as the data to be written (step S206). Based on this command, the command selection device 105 writes the write-requested data in the main memory 404 (step S206).

一方、TestMode=1の場合には処理をステップS207に進める。そして、制御装置103は、書き込み要求と共に外部デバイスから受けたバスマスター識別子と、レジスタ109に保持されているバスマスター識別子とを比較する(ステップS207)。これにより、この外部デバイスが動作検証対象デバイス(ここではJPEGエンコーダ410)であるのか否かをチェックする(ステップS207)。チェックの結果、それぞれのバスマスター識別子が一致していない場合、この外部デバイスが動作検証対象デバイスではないと判断し、処理をステップS206に進める。   On the other hand, if TestMode = 1, the process proceeds to step S207. Then, the control device 103 compares the bus master identifier received from the external device together with the write request with the bus master identifier held in the register 109 (step S207). Thereby, it is checked whether or not this external device is an operation verification target device (here, JPEG encoder 410) (step S207). If the bus master identifiers do not match as a result of the check, it is determined that this external device is not an operation verification target device, and the process proceeds to step S206.

一方、それぞれのバスマスター識別子が一致している場合には処理をステップS208に進める。そして、制御装置103は、レジスタ109に保持されているエリア情報を参照し、書き込みコマンド生成装置101が生成したコマンドに含まれている書き込みアドレスが、空きエリア内に含まれているか否かをチェックする(ステップS208)。チェックの結果、含まれていない場合には、処理をステップS206に進める。   On the other hand, if the respective bus master identifiers match, the process proceeds to step S208. Then, the control device 103 refers to the area information held in the register 109 and checks whether or not the write address included in the command generated by the write command generation device 101 is included in the empty area. (Step S208). If it is not included as a result of the check, the process proceeds to step S206.

一方、含まれている場合には処理をステップS209に進め、先ず、制御装置103はコマンド選択装置105を制御し、読み出しコマンドを選択させる。その結果、コマンド選択装置105は、選択した読み出しコマンドに基づいて、メモリ106から期待値データを読み出す。次に、比較装置108は、書き込み要求されているデータと読み出した期待値データとを比較し、それぞれが一致しているのか否かをチェックする(ステップS210)。チェックの結果、一致していない場合には、動作検証対象デバイスの動作が正常ではないことを意味するので、比較装置108はその旨(エラー)をCPU401に割り込みを用いて出力する(ステップS211)。   On the other hand, if it is included, the process proceeds to step S209. First, the control device 103 controls the command selection device 105 to select a read command. As a result, the command selection device 105 reads expected value data from the memory 106 based on the selected read command. Next, the comparison device 108 compares the data requested to be written with the read expected value data and checks whether or not they match (step S210). If they do not match as a result of the check, it means that the operation of the operation verification target device is not normal. Therefore, the comparison device 108 outputs that fact (error) to the CPU 401 using an interrupt (step S211). .

<システムが行う処理について>
図3は、図4に示したシステムが行う処理のフローチャートである。先ず、CPU401は、メモリコントローラ403に図2のフローチャートに従った処理を実行させるためのプログラムをFlashROM408から読み出し、メモリコントローラ403を介してメインメモリ404に格納する(ステップS302)。
<Processing performed by the system>
FIG. 3 is a flowchart of processing performed by the system shown in FIG. First, the CPU 401 reads a program for causing the memory controller 403 to execute processing according to the flowchart of FIG. 2 from the flash ROM 408, and stores it in the main memory 404 via the memory controller 403 (step S302).

次に、CPU401は、メインメモリ404に格納すべき上記期待値データをFlashROM408から読み出し、メモリコントローラ403を介してメインメモリ404に格納する(ステップS303)。次に、CPU401は、FlashROM408からバスマスター識別子、エリア情報を読み出し、レジスタ109に対して出力し、そこに保存させる(ステップS304)。   Next, the CPU 401 reads the expected value data to be stored in the main memory 404 from the flash ROM 408 and stores it in the main memory 404 via the memory controller 403 (step S303). Next, the CPU 401 reads the bus master identifier and area information from the flash ROM 408, outputs them to the register 109, and stores them therein (step S304).

次に、CPU401はTestModeの値をセットする(ステップS305)。以上の処理を行った後に、CPU401はJPEGエンコーダ410に対して1フレーム分の画像の符号化処理を実行するよう、指示するので、JPEGエンコーダ410はこの指示に従った処理を開始する(ステップS306)。そしてJPEGエンコーダ410が1フレーム分の画像の符号化処理を完了させると、CPU401はメモリコントローラ403に対して図2のフローチャートに従った処理を実行するよう指示する。これにより、メモリコントローラ403は、図2のフローチャートに従った処理を実行する(ステップS306)。なお、図2のフローチャートに従った処理は、ステップS302でメインメモリ404に格納されたプログラムをメモリコントローラ403が実行することで成される。   Next, the CPU 401 sets a value of TestMode (step S305). After performing the above processing, the CPU 401 instructs the JPEG encoder 410 to execute an image encoding process for one frame, so the JPEG encoder 410 starts processing according to this instruction (step S306). ). When the JPEG encoder 410 completes the image encoding process for one frame, the CPU 401 instructs the memory controller 403 to execute the process according to the flowchart of FIG. Thereby, the memory controller 403 executes processing according to the flowchart of FIG. 2 (step S306). 2 is performed by the memory controller 403 executing the program stored in the main memory 404 in step S302.

次に、CPU401はメモリコントローラ403の比較装置108からエラーを受けたか否かを判断する(ステップS307)。そして、エラーを受けている場合には処理をステップS308に進め、システムの各部の動作を中断させると共に、エラーが生じた旨を報知する(ステップS308)。報知形態については特に限定するものではないが、例えば、バス402にモニタが接続されている場合には、このモニタに、現在符号化した画像のフレーム番号と共に、このフレームの符号化が失敗した旨を表示する。   Next, the CPU 401 determines whether or not an error has been received from the comparison device 108 of the memory controller 403 (step S307). If an error has been received, the process proceeds to step S308 to interrupt the operation of each part of the system and notify that an error has occurred (step S308). The notification form is not particularly limited. For example, when a monitor is connected to the bus 402, the fact that the encoding of this frame has failed together with the frame number of the currently encoded image on this monitor. Is displayed.

以上の処理により、本実施形態によれば、メモリコントローラに期待値データとのデータ比較機能を設けたことで、処理データの妥当性チェックはメモリコントローラが全てに行う為、CPUによるデータ比較を行う必要が無くなり、検証速度の向上が図られる。   With the above processing, according to the present embodiment, since the memory controller is provided with the data comparison function with the expected value data, the validity of the processing data is checked by the memory controller. This eliminates the necessity and improves the verification speed.

また、検証速度を損なうことなく一回の処理ごとにデータ比較を行う為、不具合発生時にエラー情報を即座にCPUに通知することができ、不具合原因の特定を容易にすることができる。   In addition, since the data comparison is performed for each process without impairing the verification speed, error information can be immediately notified to the CPU when a problem occurs, and the cause of the problem can be easily identified.

なお、本実施形態では、メインメモリ404内に処理データを格納するための空きエリアと、期待値データを格納するためのエリアとを設けるようにした。しかし、処理データと期待値データとが一致した場合には、この期待値データにこの処理データを上書きするようにしても良い。その場合、期待値データを格納するためのエリア以外に別途処理データを格納するためのエリアを設ける必要がないので、メモリ効率を向上させることができる。   In the present embodiment, an empty area for storing processing data and an area for storing expected value data are provided in the main memory 404. However, when the processing data matches the expected value data, this processing data may be overwritten on the expected value data. In this case, it is not necessary to provide an area for storing processing data separately from the area for storing expected value data, so that the memory efficiency can be improved.

本発明の実施形態に係るデータ処理装置のハードウェア構成、及びデータの流れを示すブロック図である。It is a block diagram which shows the hardware constitutions of the data processor which concerns on embodiment of this invention, and the flow of data. 図4に示す如く、データ処理装置を、動作検証しようとするデバイスを含むシステムに組み込んだ場合に、このデータ処理装置を構成するメモリコントローラ110が行う処理のフローチャートである。FIG. 4 is a flowchart of processing performed by the memory controller 110 constituting the data processing apparatus when the data processing apparatus is incorporated in a system including a device whose operation is to be verified. 図4に示したシステムが行う処理のフローチャートである。5 is a flowchart of processing performed by the system shown in FIG. データ処理装置を、動作検証しようとするデバイスを含むシステムに組み込んだ場合のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions at the time of incorporating a data processor into the system containing the device which is going to verify operation | movement.

Claims (5)

複数の外部デバイスに含まれる動作検証対象デバイスが正常動作を行った場合に、当該動作検証対象デバイスから得られるデータを期待値データとして保持する第1のメモリと、
前記動作検証対象デバイスを特定する為の情報を保持する第2のメモリと、
前記第1のメモリにおいて所定のアドレス領域を示す情報を保持する第3のメモリと、
注目外部デバイスが動作を行った結果得られる処理データを前記第1のメモリに書き込む要求を検知した場合、当該注目外部デバイスが動作検証対象デバイスであるのか否かを判断する第1の判断手段と、
前記要求を検知した場合、書き込み要求先の前記第1のメモリ内のアドレスが前記所定のアドレス領域内であるのか否かを判断する第2の判断手段と、
前記第1の判断手段、前記第2の判断手段による判断処理の結果、前記注目外部デバイスが動作検証対象デバイスであり、且つ前記書き込み要求先の前記第1のメモリ内のアドレスが前記所定のアドレス領域内である場合には、前記処理データに対応する期待値データを前記第1のメモリから読み出す読み出し手段と、
前記処理データと、前記読み出し手段が読み出したデータとが一致しているのか否かを判断することで、前記注目外部デバイスの動作を検証する検証手段と
を備えることを特徴とするデータ処理装置。
A first memory that holds data obtained from the operation verification target device as expected value data when the operation verification target device included in the plurality of external devices performs normal operation;
A second memory holding information for specifying the operation verification target device;
A third memory holding information indicating a predetermined address area in the first memory;
First determination means for determining whether or not the external device of interest is an operation verification target device when detecting a request to write processing data obtained as a result of the operation of the external device of interest to the first memory; ,
Second detection means for determining whether the address in the first memory of the write request destination is within the predetermined address area when the request is detected;
As a result of the determination processing by the first determination unit and the second determination unit, the target external device is an operation verification target device, and the address in the first memory of the write request destination is the predetermined address A reading means for reading expected value data corresponding to the processing data from the first memory if within the area;
A data processing apparatus comprising: verification means for verifying the operation of the target external device by determining whether or not the processing data matches the data read by the reading means.
前記外部装置はLSI論理回路であることを特徴とする請求項1に記載のデータ処理装置。   The data processing apparatus according to claim 1, wherein the external device is an LSI logic circuit. 前記検証手段は、前記処理データと、前記読み出し手段が読み出したデータとが一致していない場合には、エラーの通知を行うことを特徴とする請求項1に記載のデータ処理装置。   The data processing apparatus according to claim 1, wherein the verification unit notifies an error when the processing data does not match the data read by the reading unit. 更に、
前記第1の判断手段、前記第2の判断手段による判断処理の結果、前記注目外部デバイスが動作検証対象デバイスではない、及び/又は、前記書き込み要求先の前記第1のメモリ内のアドレスが前記所定のアドレス領域内ではない場合には、前記処理データを当該アドレスに書き込む書き込み手段を備えることを特徴とする請求項1に記載のデータ処理装置。
Furthermore,
As a result of the determination process by the first determination unit and the second determination unit, the target external device is not an operation verification target device, and / or the address in the first memory of the write request destination is the The data processing apparatus according to claim 1, further comprising a writing unit that writes the processing data to the address when it is not in a predetermined address area.
複数の外部デバイスに含まれる動作検証対象デバイスが正常動作を行った場合に、当該動作検証対象デバイスから得られるデータを期待値データとして保持する第1のメモリと、
前記動作検証対象デバイスを特定する為の情報を保持する第2のメモリと、
前記第1のメモリにおいて所定のアドレス領域を示す情報を保持する第3のメモリとを備えるデータ処理装置の制御方法であって、
注目外部デバイスが動作を行った結果得られる処理データを前記第1のメモリに書き込む要求を検知した場合、当該注目外部デバイスが動作検証対象デバイスであるのか否かを判断する第1の判断工程と、
前記要求を検知した場合、書き込み要求先の前記第1のメモリ内のアドレスが前記所定のアドレス領域内であるのか否かを判断する第2の判断工程と、
前記第1の判断工程、前記第2の判断工程による判断処理の結果、前記注目外部デバイスが動作検証対象デバイスであり、且つ前記書き込み要求先の前記第1のメモリ内のアドレスが前記所定のアドレス領域内である場合には、前記処理データに対応する期待値データを前記第1のメモリから読み出す読み出し工程と、
前記処理データと、前記読み出し工程で読み出したデータとが一致しているのか否かを判断することで、前記注目外部デバイスの動作を検証する検証工程と
を備えることを特徴とするデータ処理装置の制御方法。
A first memory that holds data obtained from the operation verification target device as expected value data when the operation verification target device included in the plurality of external devices performs normal operation;
A second memory holding information for specifying the operation verification target device;
A control method of a data processing apparatus comprising: a third memory that holds information indicating a predetermined address area in the first memory,
A first determination step of determining whether or not the target external device is an operation verification target device when detecting a request to write processing data obtained as a result of the operation of the target external device to the first memory; ,
A second determination step of determining whether an address in the first memory of a write request destination is within the predetermined address area when the request is detected;
As a result of the determination processing in the first determination step and the second determination step, the target external device is an operation verification target device, and the address in the first memory of the write request destination is the predetermined address If within the region, a read step of reading expected value data corresponding to the processing data from the first memory;
A verification step of verifying the operation of the external device of interest by determining whether or not the processing data and the data read in the reading step match. Control method.
JP2005270404A 2005-09-16 2005-09-16 Data processor and its control method Withdrawn JP2007080183A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005270404A JP2007080183A (en) 2005-09-16 2005-09-16 Data processor and its control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005270404A JP2007080183A (en) 2005-09-16 2005-09-16 Data processor and its control method

Publications (1)

Publication Number Publication Date
JP2007080183A true JP2007080183A (en) 2007-03-29

Family

ID=37940398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005270404A Withdrawn JP2007080183A (en) 2005-09-16 2005-09-16 Data processor and its control method

Country Status (1)

Country Link
JP (1) JP2007080183A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113885416A (en) * 2021-10-20 2022-01-04 上海新纪元机器人有限公司 Method and system for automatically detecting servo motor parameters

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113885416A (en) * 2021-10-20 2022-01-04 上海新纪元机器人有限公司 Method and system for automatically detecting servo motor parameters

Similar Documents

Publication Publication Date Title
US7565579B2 (en) Post (power on self test) debug system and method
JP5107880B2 (en) Data transfer processing apparatus and method
TWI488110B (en) State machine engine and method for the same
US7577874B2 (en) Interactive debug system for multiprocessor array
JP2008009721A (en) Evaluation system and evaluation method thereof
KR100825786B1 (en) Memory card and debugging method for the same
CN115599618B (en) Register dynamic change-allocation verification method and device, storage medium and processor
JP3526031B2 (en) Data transfer device
JP5309938B2 (en) Request processing apparatus, request processing system, and access test method
JP2007080183A (en) Data processor and its control method
JP5900336B2 (en) Emulator verification system and emulator verification method
KR101300443B1 (en) Flash memory device capable of verifying reliability using bypass path, and system and method of verifying reliability using that device
CN115562931A (en) Processor debugging module verification method and device, electronic equipment and storage medium
JP4652317B2 (en) Logic circuit functional verification apparatus, functional coverage item verification method, and program
JP2015108986A (en) Information processing apparatus, test instruction string for information processing apparatus, and testing method
JP2000339189A (en) Method for detecting illegal memory access debugging device and storage medium
WO2009122700A1 (en) Test device and test method
CN117236277B (en) Method and device for checking register and electronic equipment
JP2003281076A (en) Unauthorized access detection circuit of dma controller, unauthorized access detecting method and program thereof
JP2009198297A (en) Image processor for visual inspection device of semiconductor, visual inspection device of semiconductor and image processing method
JP2008152665A (en) Method for analyzing operation of semiconductor integrated circuit
JP2005122337A (en) Bus system, host bridge, on-line restarting method for bus system, and program
JP2022141461A (en) Information processing device, information processing system, information processing method, and program
JP4985462B2 (en) Integrated circuit, integrated circuit operation test method, and operation test program
JP2003208361A (en) Memory test method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081202