JP2006293641A - Register setting value monitoring module, system, and register setting value monitoring method - Google Patents

Register setting value monitoring module, system, and register setting value monitoring method Download PDF

Info

Publication number
JP2006293641A
JP2006293641A JP2005112617A JP2005112617A JP2006293641A JP 2006293641 A JP2006293641 A JP 2006293641A JP 2005112617 A JP2005112617 A JP 2005112617A JP 2005112617 A JP2005112617 A JP 2005112617A JP 2006293641 A JP2006293641 A JP 2006293641A
Authority
JP
Japan
Prior art keywords
register
comparison
expected value
value
setting
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.)
Pending
Application number
JP2005112617A
Other languages
Japanese (ja)
Inventor
Koichi Morishita
浩一 森下
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 JP2005112617A priority Critical patent/JP2006293641A/en
Publication of JP2006293641A publication Critical patent/JP2006293641A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a register setting value monitoring module which can find an error in a register setting value in an early stage in software development. <P>SOLUTION: A register checking module 4 has a control register group 22, which stores expected values of setting values for control registers in function blocks 6, 7 and 8, and a comparison circuit 23 which compares the setting values, which are set to the control registers in the function blocks 6, 7 and 8 by a CPU, with the expected values stored in the control register group 22. The register checking module 4 outputs a notification of errors to a CPU 2 when the result of the comparison made by the comparison circuit 23 indicates that the setting values set to the control register group 22 are not in agreement with the expected values stored in the control register group 22. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、中央処理装置により、機能ブロックの制御レジスタに対して設定される設定値を監視するためのレジスタ設定値監視モジュール、システムおよびレジスタ設定値監視方法に関する。   The present invention relates to a register set value monitoring module, a system, and a register set value monitoring method for monitoring a set value set for a control register of a functional block by a central processing unit.

立ち上げ初期の実機テスト環境において起こる不具合の原因の多くは、機能ブロック内の制御レジスタに対する設定値の間違いである。設定値の間違いの種類としては、複数の種類が存在するが、大きく分けて以下のような種類がある。   Many of the causes of problems that occur in the actual machine test environment at the start-up are incorrect setting values for the control registers in the function block. There are a plurality of types of setting value errors, but there are the following types.

(1)モジュール仕様書記載の制限を超えた設定値を設定するコーディング上のケアレスミス
(2)複数のモジュール間で設定値の制限があり、設定値の調整が必要な場合
(3)モジュール単独仕様と、当該モジュールがシステムに組み込まれた際の当該モジュール仕様との違いを見落とした場合
ここで、上記項目(2)については、複数の機能モジュール間で信号をやりとりするような場合、それらのモジュール間において仕様制限が存在することが多い。しかもその仕様制限がハードウェア実装特有な事象を起因とする場合において、その仕様制限は、ソフトウェア担当者にとっては一層理解し難いものになる。
(1) Careless mistakes in coding that set a set value that exceeds the limit described in the module specifications (2) When there is a set value limit among multiple modules and adjustment of the set value is required (3) Module alone When the difference between the specification and the module specification when the module is incorporated into the system is overlooked Here, for the item (2), when signals are exchanged between a plurality of functional modules, There are often specification restrictions between modules. In addition, when the specification restriction is caused by an event specific to hardware implementation, the specification restriction becomes even more difficult for software personnel.

上記項目(3)が生じる原因には、近年のASIC開発期間短縮化の有効手段として取り上げられる「設計資産の再利用」が大きく関わることにある。将来再利用可能なように汎用的な機能を有する機能モジュールをASICに搭載する場合、システムの観点から、その機能モジュールは、通常必要としない機能すなわち冗長な機能を備える。   The cause of the item (3) is largely related to “reuse of design assets” which is taken up as an effective means for shortening the ASIC development period in recent years. When a function module having a general-purpose function is mounted on the ASIC so that it can be reused in the future, the function module has a function that is not normally required, that is, a redundant function, from the viewpoint of the system.

ここで、再利用性を考慮して、汎用性を持たせたDMAC(DMAコントローラ)(例えば、特許文献1)について説明する。IOデバイス(入出力デバイス)から外部メモリへDMAを行う方向、また外部メモリからIOデバイスへDMAを行う方向の双方をサポートする汎用DMACがあり、このDMACは、DMA方向をある特定レジスタでスタティックに切り替えることが可能な仕様とされる。仮に、DMACと接続されるIOデバイスが双方向をサポートしている場合は、アクセス方向に応じてレジスタが切り替えられて使用される。一方、単方向のみをサポートしているIOデバイスに対して上記汎用DMACを接続する場合、DMA方向切り替えレジスタの値は常に一定のはずである。しかし、汎用DMACを使用している以上、方向切り替えレジスタには自由にアクセス可能であるため、方向切り替えレジスタの値をソフトウェアが誤って書き換えてしまうことがあり、これが不具合を引き起こす。   Here, a versatile DMAC (DMA controller) (for example, Patent Document 1) will be described in consideration of reusability. There is a general-purpose DMAC that supports both the direction of DMA from an IO device (input / output device) to external memory and the direction of DMA from external memory to IO device. This DMAC statically sets the DMA direction with a specific register. The specification can be switched. If the IO device connected to the DMAC supports bi-directional, the register is switched according to the access direction. On the other hand, when the general-purpose DMAC is connected to an IO device that supports only one direction, the value of the DMA direction switching register should always be constant. However, as long as the general-purpose DMAC is used, the direction switching register can be freely accessed, so the software may erroneously rewrite the value of the direction switching register, which causes a problem.

従来、実機環境においてこのような不具合を発見するためには、設計者は、実機に生じている現象からモジュールを特定し、特定されたモジュールにおいて、ソフトウェアコーディング上の設定間違いがないかを仕様書に従って確認し、またはハードウェア設計者とのやりとりで仕様の確認を行うなどの作業を行う。   Conventionally, in order to find such a malfunction in the actual machine environment, the designer specifies the module from the phenomenon that has occurred in the actual machine, and in the specification document whether there is a setting error in software coding in the identified module. Check according to the above, or check the specifications by exchanging with the hardware designer.

また、設定制約が守られているか否かを判定する機能をハードウェアとしてモジュールに設け、この機能により設定制約が守られていないと判定された場合に、割り込み通知を行い、またはバスエラー処理を行う方法がある。
特開2002‐342259号公報
In addition, the module is provided with a function to determine whether or not the setting restrictions are observed, as hardware, and when it is determined that the setting restrictions are not observed by this function, an interrupt notification or bus error processing is performed. There is a way to do it.
JP 2002-342259 A

しかしながら、上述した従来の実機環境において生じた不具合からモジュールを特定する方法では、最初に特定されたモジュールの設定に問題があった場合、通常、不具合修正には多くの時間が費やされることはないが、設定間違いが別のモジュールの設定に起因している場合などは、その不具合発見、修正に多くの時間が費やされる。例えば、クロック生成ブロックで生成されるクロック信号の周波数の制約に間違いがあった場合などがこれに該当する。   However, in the above-described conventional method for identifying a module from a problem that has occurred in a real machine environment, if there is a problem with the setting of the first identified module, usually, a lot of time is not spent on correcting the problem. However, when the setting error is caused by the setting of another module, a lot of time is spent on finding and correcting the defect. For example, this is the case when there is an error in the restriction on the frequency of the clock signal generated by the clock generation block.

また、モジュールに設けられた、設定制約が守られているか否かを判定する機能を用いる方法は、モジュールで完結するような制約には適応可能であるが、モジュールレベルを超えたシステム構成において存在する制約に対しては適応することができない。   In addition, the method of using a function for determining whether or not the setting restrictions provided in a module are used is applicable to restrictions that can be completed by the module, but exists in a system configuration exceeding the module level. It is not possible to adapt to the constraints.

また、不具合の原因がハードウェアのバグに起因するものである場合、そのソフトウェアワークアラウンドを適用して不具合回避を行うことがしばしばある。この場合、正しくソフトウェアワークアラウンドが行われ、禁止された設定が繰り返しなされていないかというチェックが必要になる。   In addition, when the cause of a failure is caused by a hardware bug, the software workaround is often applied to avoid the failure. In this case, it is necessary to check whether the software workaround is correctly performed and the prohibited setting is not repeated.

本発明の目的は、ソフトウェア開発の初期の段階においてレジスタ設定値間違いを発見することができるレジスタ設定値監視モジュール、システムおよびレジスタ設定値監視方法を提供することにある。   An object of the present invention is to provide a register setting value monitoring module, a system, and a register setting value monitoring method capable of finding a register setting value error in an early stage of software development.

本発明は、上記目的を達成するため、機能ブロックの制御レジスタの設定値に対する期待値を格納するレジスタ設定期待値格納手段と、中央処理装置により前記制御レジスタに対して設定される設定値と前記レジスタ設定期待値格納手段に格納されている期待値とを比較する比較手段と、前記比較手段による比較結果が前記制御レジスタに対して設定される設定値と前記レジスタ設定期待値格納手段に格納されている期待値との不一致を示す場合、前記中央処理装置に対してエラー通知を出力するエラー通知手段とを備えることを特徴とするレジスタ設定値監視モジュールを提供する。   In order to achieve the above object, the present invention provides a register setting expected value storage means for storing an expected value for a setting value of a control register of a functional block, a setting value set for the control register by a central processing unit, Comparison means for comparing the expected value stored in the register setting expected value storage means, and the comparison result by the comparison means is stored in the setting value set for the control register and the register setting expected value storage means When a mismatch with the expected value is indicated, an error notification means for outputting an error notification to the central processing unit is provided.

また、本発明は、上記目的を達成するため、上記レジスタ設定値監視モジュールを有することを特徴とするシステムを提供する。   In order to achieve the above object, the present invention provides a system comprising the register set value monitoring module.

また、本発明は、上記目的を達成するため、中央処理装置により機能ブロックの制御レジスタに対して設定される設定値とレジスタ設定期待値格納手段に格納されている前記制御レジスタの設定値に対する期待値とを比較する比較工程と、前記比較工程での比較結果が前記制御レジスタに対して設定される設定値と前記レジスタ設定期待値格納手段に格納されている期待値との不一致を示す場合、前記中央処理装置に対してエラー通知を出力するエラー通知工程とを有することを特徴とするレジスタ設定値監視方法を提供する。   In order to achieve the above object, the present invention provides a set value set for the control register of the functional block by the central processing unit and an expectation for the set value of the control register stored in the register set expected value storage means. A comparison step for comparing values, and a comparison result in the comparison step indicates a mismatch between a set value set for the control register and an expected value stored in the register setting expected value storage means; And a register setting value monitoring method comprising: an error notification step of outputting an error notification to the central processing unit.

本発明によれば、ソフトウェア開発の初期の段階においてレジスタ設定値間違いを発見することができる。   According to the present invention, it is possible to find an error in a register setting value at an early stage of software development.

以下、本発明の実施の形態について図面を参照しながら説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

(第1の実施の形態)
図1は本発明の第1の実施の形態に係るレジスタチェックモジュール(レジスタ設定値監視モジュール)を含むシステム構成を示すブロック図である。
(First embodiment)
FIG. 1 is a block diagram showing a system configuration including a register check module (register set value monitoring module) according to the first embodiment of the present invention.

システムには、図1に示すように、バスマスタの1つとしてCPU2が設けられており、CPU2は、システムバス1を介して、各機能モジュール6,7,8内の制御レジスタ(図示せず)に対してレジスタ設定を行う。各機能モジュール6,7,8の制御レジスタへのアクセスは、各機能モジュール6,7,8を一括して制御するスレーブI/F5を介して行われる。このスレーブI/F5は、バスマスタ(CPU2を含む)からバスアドレスをデコードし、各機能モジュールに割り当てられたアドレスであれば、その機能モジュールに対してアクセス開始信号を送信するとともに、レジスタアドレスと書き込みデータを送信する。これらの信号13,14,15,16は、一旦レジスタチェックモジュール4で受信された後、信号10,11,12として各機能モジュール6,7,8へ送信される。   As shown in FIG. 1, the system is provided with a CPU 2 as one of the bus masters. The CPU 2 controls the control registers (not shown) in the function modules 6, 7, and 8 via the system bus 1. Register settings for. Access to the control registers of the function modules 6, 7, and 8 is performed via the slave I / F 5 that collectively controls the function modules 6, 7, and 8. The slave I / F 5 decodes the bus address from the bus master (including the CPU 2), and if it is an address assigned to each functional module, transmits an access start signal to the functional module and writes the register address and the address. Send data. These signals 13, 14, 15, 16 are once received by the register check module 4, and then transmitted to the function modules 6, 7, 8 as signals 10, 11, 12.

信号13,14,15,16のうちの一つは、レジスタチェックモジュール4内の制御レジスタへのアクセス専用信号である。信号10〜16のプロトコルは、全て共通であり、レジスタチェックモジュール4が実装されない場合においては、スレーブI/F5と各機能モジュール6,7,8とは直接接続可能である。アクセス開始信号を受けた機能モジュール6,7,8は、アドレスをデコードしアクセスされたレジスタに対して書き込みを行う。書き込みが完了すると、レジスタチェックモジュール4は、スレーブI/F5へアクセス終了信号を送信し、スレーブI/F5は、上記アクセス終了信号を受けてシステムバス1に対してレディを返し、バストランザクションを完了する。   One of the signals 13, 14, 15 and 16 is a signal dedicated to access to the control register in the register check module 4. The protocols of the signals 10 to 16 are all common, and when the register check module 4 is not mounted, the slave I / F 5 and the function modules 6, 7, and 8 can be directly connected. Receiving the access start signal, the functional modules 6, 7, and 8 decode the address and write to the accessed register. When the writing is completed, the register check module 4 transmits an access end signal to the slave I / F 5, and the slave I / F 5 returns ready to the system bus 1 in response to the access end signal and completes the bus transaction. To do.

ここでは、レジスタライトアクセスについて述べたが、リードアクセスについても同様である。詳細には、リードアクセスの場合、リードデータがアクセス終了信号と同時に各機能モジュールからレジスタチェックモジュール4を介してスレーブI/F5へ送信され、セレクタを介してシステムバス1のリードデータバスへ送信される。これにより、バストランザクションが完了する。   Although register write access has been described here, the same applies to read access. Specifically, in the case of read access, read data is transmitted from each functional module to the slave I / F 5 via the register check module 4 simultaneously with the access end signal, and is transmitted to the read data bus of the system bus 1 via the selector. The This completes the bus transaction.

次に、レジスタチェックモジュール4の構成について図2および図3を参照しながら説明する。図2は図1のレジスタチェックモジュールの内部構成を示すブロック図、図3は図2の制御レジスタ群22に含まれる各制御レジスタおよびそれぞれのデータフォーマットを示す図である。   Next, the configuration of the register check module 4 will be described with reference to FIGS. FIG. 2 is a block diagram showing an internal configuration of the register check module of FIG. 1, and FIG. 3 is a diagram showing control registers included in the control register group 22 of FIG. 2 and respective data formats.

レジスタチェックモジュール4は、図2に示すように、レジスタI/F21、制御レジスタ群22、比較回路23、比較結果処理回路24、およびペリフェラルI/F25を有する。制御レジスタ群22には、ペリフェラル(周辺装置)である機能モジュール6,7,8などと同様に、複数の制御レジスタ(図示せず)が含まれており、各制御レジスタは、CPU2からアクセス可能である。レジスタI/F21は、CPU2から制御レジスタ群22内の各制御レジスタへのアクセス制御を行う。   As shown in FIG. 2, the register check module 4 includes a register I / F 21, a control register group 22, a comparison circuit 23, a comparison result processing circuit 24, and a peripheral I / F 25. The control register group 22 includes a plurality of control registers (not shown) in the same manner as the function modules 6, 7, and 8 that are peripherals (peripheral devices), and each control register can be accessed from the CPU 2. It is. The register I / F 21 performs access control from the CPU 2 to each control register in the control register group 22.

制御レジスタ群22内の各制御レジスタとしては、図3に示すように、比較イネーブルレジスタ221、割り込みイネーブルレジスタ222、不一致書き込みイネーブルレジスタ223、履歴イネーブルレジスタ224、ステータスレジスタ225、比較対象アドレスレジスタ226、比較モードレジスタ227、期待値レジスタ228,229、比較結果履歴レジスタ(ここでは、アドレス履歴レジスタ230およびデータ履歴レジスタ231)の9種類のレジスタが用意されている。これらのレジスタは、全て32ビットレジスタである。   As shown in FIG. 3, each control register in the control register group 22 includes a comparison enable register 221, an interrupt enable register 222, a mismatch write enable register 223, a history enable register 224, a status register 225, a comparison target address register 226, Nine types of registers are prepared: comparison mode register 227, expected value registers 228 and 229, and comparison result history registers (here, address history register 230 and data history register 231). These registers are all 32-bit registers.

ここで、比較イネーブルレジスタ221、割り込みイネーブルレジスタ222、不一致書き込みイネーブルレジスタ223、履歴イネーブルレジスタ224、ステータスレジスタ225は、1つのセットとして存在するが、比較対象アドレスレジスタ226、比較モードレジスタ227、期待値レジスタ228,229は、複数のセットとして存在する。このセットの数は、チェックすべきIO(入出力)レジスタ分の数だけ用意されることになる。また、比較結果履歴レジスタ(アドレス履歴レジスタ230およびデータ履歴レジスタ231)も、複数のセットとして存在し、そのセットの数は、履歴として残すデータの種類の数分必要となる。   Here, the comparison enable register 221, the interrupt enable register 222, the mismatch write enable register 223, the history enable register 224, and the status register 225 exist as one set, but the comparison target address register 226, the comparison mode register 227, the expected value The registers 228 and 229 exist as a plurality of sets. As many sets as the number of IO (input / output) registers to be checked are prepared. The comparison result history registers (address history register 230 and data history register 231) also exist as a plurality of sets, and the number of sets is required by the number of types of data to be left as history.

比較イネーブルレジスタ221は、レジスタアドレス「0x0000番地」に割り付けられており、比較シーケンスを実行するか否かを選択するためのレジスタである。このレジスタ値が0であると、比較シーケンスは実行されず、スキップされ、通常通りに各機能モジュール6,7,8の制御レジスタにアクセスされる。このレジスタ221は、比較機能全体をディセーブルにするためのものであって、レジストアドレス「0x0100+0x10*i+0x4番地」に割り付けられている比較モードレジスタ227内にある比較イネーブルフィールドとは、異なる。これについては、比較モードレジスタ227の説明で詳述する。   The comparison enable register 221 is assigned to the register address “address 0x0000”, and is a register for selecting whether or not to execute the comparison sequence. When this register value is 0, the comparison sequence is not executed and is skipped, and the control registers of the function modules 6, 7, and 8 are accessed as usual. This register 221 is for disabling the entire comparison function, and the comparison enable field in the comparison mode register 227 assigned to the register address “0x0100 + 0x10 * i + 0x4” is Different. This will be described in detail in the description of the comparison mode register 227.

割り込みイネーブルレジスタ222は、レジスタアドレス「0x0004番地」に割り付けられており、割り込み通知を行うか否かを選択するためのレジスタである。このレジスタ222は、割り込み信号をモジュール最終段でディセーブルにするものでであって、比較モードレジスタ227内にある割り込みイネーブルフィールドとは異なる。これについては比較モードレジスタ227の説明で詳述する。   The interrupt enable register 222 is assigned to the register address “address 0x0004”, and is a register for selecting whether or not to perform interrupt notification. This register 222 disables the interrupt signal at the last stage of the module, and is different from the interrupt enable field in the comparison mode register 227. This will be described in detail in the description of the comparison mode register 227.

不一致書き込みイネーブルレジスタ223は、レジスタアドレス「0x0008番地」に割り付けられており、比較不一致を起こした場合に、制御レジスタへの書き込みを行うかキャンセルするかを選択するためのレジスタである。このレジスタ223は、レジスタ書き込みをモジュール最終段でマスクするためのものであり、比較モードレジスタ227内にある不一致書き込みフィールドとは異なる。これについては比較モードレジスタ227の説明で詳述する。   The mismatch write enable register 223 is assigned to the register address “0x0008”, and is a register for selecting whether to write to the control register or cancel when a comparison mismatch occurs. This register 223 is for masking register writing at the last stage of the module, and is different from the mismatch writing field in the comparison mode register 227. This will be described in detail in the description of the comparison mode register 227.

履歴イネーブルレジスタ224は、レジスタアドレス「0x000C番地」に割り付けられており、比較不一致を起こした場合に、比較結果履歴レジスタ(アドレス履歴レジスタ230およびデータ履歴レジスタ231)に対して履歴を残すか否かを選択するためのレジスタである。このレジスタ224は、履歴機能をモジュール最終段でマスクする機能であり、比較モードレジスタ227内にある履歴イネーブルフィールドとは異なる。これについては比較モードレジスタ227の説明で詳述する。   The history enable register 224 is assigned to the register address “0x000C address”, and whether or not to leave a history for the comparison result history registers (the address history register 230 and the data history register 231) when a comparison mismatch occurs. Is a register for selecting. This register 224 is a function for masking the history function at the last stage of the module, and is different from the history enable field in the comparison mode register 227. This will be described in detail in the description of the comparison mode register 227.

ステータスレジスタ225は、レジスタアドレス「0x0010番地」に割り付けられており、ステータスフラグフィールド、エラーカウントフィールド、および履歴数フィールドを有する。ステータスフラグフィールドには、比較結果で不一致が生じた場合、かつ不一致を起こした要因の割り込みフィールドが1の場合に、所定値がセットされる。この所定値は、割り込みイネーブルレジスタ222の値には依存しないものである。CPU2への割り込み信号は、このステータスフィールドと割り込みイネーブルレジスタのAND条件が成立すると発生される。割り込み要因をクリアするためには、ステータスフィールドに0を書き込めばよい。エラーカウントフィールドは、比較不一致が生じた数を記録するためのフィールドであり、割り込みが有効な設定か否かには依存せず、その数は、不一致が生じるたびにインクリメントされる。このエラーカウントフィールドは、0クリアが可能である。履歴数フィールドは、比較結果履歴レジスタ(アドレス履歴レジスタ230およびデータ履歴レジスタ231)に格納された数を示すフィールドである。履歴数フィールドの値は、履歴を残すように設定された比較対象について比較不一致が生じた場合に、上記比較結果履歴レジスタに履歴を書き込むと同時にインクリメントされる。このフィールドについても0クリア可能である。ただし、ステータスレジスタ225の全てのフィールドにおける0以外の書き込みは、全て無効である。   The status register 225 is assigned to the register address “address 0x0010” and has a status flag field, an error count field, and a history number field. In the status flag field, a predetermined value is set when a mismatch occurs in the comparison result and the interrupt field of the cause of the mismatch is 1. This predetermined value does not depend on the value of the interrupt enable register 222. An interrupt signal to the CPU 2 is generated when the AND condition of the status field and the interrupt enable register is satisfied. To clear the interrupt factor, 0 can be written in the status field. The error count field is a field for recording the number of comparison mismatches, and does not depend on whether or not the interrupt is set to be valid, and the number is incremented every time a mismatch occurs. This error count field can be cleared to zero. The history number field is a field indicating the number stored in the comparison result history register (the address history register 230 and the data history register 231). The value of the history number field is incremented at the same time as the history is written to the comparison result history register when a comparison mismatch occurs for the comparison target set to leave a history. This field can also be cleared to zero. However, all non-zero writes in all fields of the status register 225 are invalid.

比較対象アドレスレジスタ226は、レジスタアドレス「0x0100+0x10*i+0x0番地」に割り付けられており、期待値比較を行うモジュールの制御レジスタアドレスを設定するためのレジスタである。ここで、レジスタアドレス中のiは、比較対象とする制御レジスタの数を示す。   The comparison target address register 226 is assigned to a register address “0x0100 + 0x10 * i + 0x0”, and is a register for setting a control register address of a module that performs expected value comparison. Here, i in the register address indicates the number of control registers to be compared.

比較モードレジスタ227は、レジスタアドレス「0x0100+0x10*i+0x4番地」に割り付けられており、5種類のレジスタフィールドを有する。各レジスタフィールドとしては、比較イネーブルフィールド、比較モードフィールド、割り込みイネーブルフィールド、不一致書き込みフィールド、履歴イネーブルフィールドがある。   The comparison mode register 227 is assigned to the register address “0x0100 + 0x10 * i + 0x4”, and has five types of register fields. Each register field includes a comparison enable field, a comparison mode field, an interrupt enable field, a mismatch write field, and a history enable field.

上記比較イネーブルフィールドは、比較機能を有効にするか否かを決定するためのフィールドである。このフィールドは、比較イネーブルレジスタ221とは異なり、比較対象となる制御レジスタのイネーブル設定を個別に行うためのフィールドである。   The comparison enable field is a field for determining whether to enable the comparison function. Unlike the comparison enable register 221, this field is a field for individually setting enable of the control register to be compared.

上記比較モードフィールドは、比較モードのタイプを設定するためのフィールドである。比較モードとしては、単純な即値データと比較するモード、特定のビットフィールドをマスクパターンと比較するモード、2つの期待値レジスタから範囲を決定してレジスタ書き込みデータが範囲内に収まっているか否かをチェックするモード、また他の制御レジスタ値と比較するモードなどがある。   The comparison mode field is a field for setting the type of comparison mode. As a comparison mode, a mode for comparing with simple immediate data, a mode for comparing a specific bit field with a mask pattern, a range is determined from two expected value registers, and whether or not the register write data is within the range is determined. There are modes for checking and modes for comparing with other control register values.

本実施の形態においては、以下の種類の比較モードがサポートされ、それらの比較モードを実施することができる。   In the present embodiment, the following types of comparison modes are supported, and these comparison modes can be implemented.

比較モードフィールド=0x0 → 即値比較
比較モードフィールド=0x1 → 特定ビットフィールド比較:期待値=0
比較モードフィールド=0x2 → 特定ビットフィールド比較:期待値=1
比較モードフィールド=0x3 → 範囲比較(期待値A<比較対象<期待値B)
比較モードフィールド=0x4 → 他レジスタ比較
ここで、サポートされている比較モードの代表的な使用例について簡単に説明する。
Comparison mode field = 0x0 → immediate comparison Comparison mode field = 0x1 → specific bit field comparison: expected value = 0
Comparison mode field = 0x2 → Specific bit field comparison: Expected value = 1
Comparison mode field = 0x3 → range comparison (expected value A <comparison target <expected value B)
Comparison mode field = 0x4 → Comparison of other registers Here, a typical use example of the supported comparison mode will be briefly described.

即値比較モードは、モジュール単体でサポートされている機能があるが、そのモジュールを搭載したシステムではその機能を使用することができない構成である場合などに使用される。例えば、モジュールAはタイマーであり、タイマーの起動をかける方法として、レジスタ設定による起動方法と、外部トリガ信号を検出することによって起動する方法とのうち、いずれの方法を使用するかを選択するための選択レジスタを有するものとする。ここで、モジュールAは、外部トリガ信号を入力するためのポートを有し、これにより、モジュール単体では外部トリガ信号による起動をサポートするものとする。ただし、このモジュールAを搭載したシステムにおいては、ソフトウェア的な起動のみが行われ、外部トリガ入力はその上位階層においてクランプされているとする。この場合、上記選択レジスタ自体には、当然アクセス可能であるが、ハード起動を有効にしても、その手段を持たないため、使用不可である。よって、即値比較モードは、このような場合の不正設定値検出に有効である。   The immediate comparison mode is used when there is a function that is supported by a single module, but the system in which the module is mounted cannot use the function. For example, the module A is a timer, and in order to select a method of starting the timer, which method to use is selected from a starting method by register setting and a starting method by detecting an external trigger signal. It is assumed that a selection register is provided. Here, the module A has a port for inputting an external trigger signal, so that the module alone supports activation by the external trigger signal. However, in the system equipped with the module A, only software activation is performed, and the external trigger input is clamped in the upper layer. In this case, the selection register itself can of course be accessed, but even if hardware activation is enabled, it cannot be used because it does not have that means. Therefore, the immediate comparison mode is effective for detecting an illegal setting value in such a case.

特定ビットフィールド比較モードは、即値比較よりも細かい特定ビット単位のチェックを行うことが可能であり、特に、1つの制御レジスタ内に複数の設定フィールドを有する場合に非常に有効なモードである。例えば、あるDMACのモード設定レジスタが、アクセス方向フィールド、バースト転送モードフィールド、バースト長フィールドなどを有するとする。さらに、当該DMACは、汎用的に設計されており、外部メモリからIOデバイスへのDMAとIOデバイスから外部メモリへのDMAの両方をサポートし、その切り替えを、アクセス方向フィールドを用いて行うことができる。しかし、当該DMACと接続されるIOデバイスが単方向のみをサポートするシステムにおいては、アクセス方向フィールドは固定のはずである。この「固定」であることは、即値比較モードでは十分にチェックすることができない。それは、即値比較モードが同一レジスタ内の特定フィールドのみをチェックするという場合に対応することができないためである。特定ビットフィールド比較モードにおいては、アクセス方向フィールドに相当するビットに対する期待値レジスタのビットフィールドを1にし、それ以外のフィールドはチェックされないので、それ以外のフィールドは0にすればよい。チェックするビットフィールドに対するチェック値に関しては、0か1かを、比較モード1か2で選択すればよい。   The specific bit field comparison mode can perform a specific bit unit check finer than the immediate comparison, and is a very effective mode particularly when a plurality of setting fields are included in one control register. For example, a mode setting register of a certain DMAC has an access direction field, a burst transfer mode field, a burst length field, and the like. Furthermore, the DMAC is designed for general use, and supports both DMA from an external memory to an IO device and DMA from an IO device to an external memory, and the switching can be performed using an access direction field. it can. However, in a system in which an IO device connected to the DMAC supports only one direction, the access direction field should be fixed. This “fixed” cannot be sufficiently checked in the immediate comparison mode. This is because the immediate comparison mode cannot cope with a case where only a specific field in the same register is checked. In the specific bit field comparison mode, the bit field of the expected value register for the bit corresponding to the access direction field is set to 1, and the other fields are not checked, so the other fields may be set to 0. For the check value for the bit field to be checked, 0 or 1 may be selected in comparison mode 1 or 2.

範囲比較モードについては、DMACのメモリに対する転送領域がスタートアドレスとエンドアドレスで与えられるタイプのものを例にして説明する。ここで、DMACの仕様においては、両アドレス共に32ビットアドレスとして与えられるが、実システム上は0番地から64MBitのDRAMが置かれていて、この空間のみにDMA転送する必要がある場合が考えられる。この場合、エンドアドレスは、0x100_0000より小さい値にすべきである。この値を2つの期待値レジスタ228,229に置くことにより、不正設定値の発見が可能になる。   The range comparison mode will be described by taking as an example a type in which a transfer area for a DMAC memory is given by a start address and an end address. Here, in the DMAC specification, both addresses are given as 32-bit addresses. However, there is a case where a 64-MBit DRAM is placed from address 0 on the actual system, and it is necessary to perform DMA transfer only in this space. . In this case, the end address should be less than 0x100_0000. Placing this value in the two expected value registers 228 and 229 makes it possible to find an illegal setting value.

他レジスタ比較モードは、DMACと接続されたシリアルI/Oが外部シリアルインターフェースとの間でシリアル転送を行い、DMAを使用して外部メモリとの間で転送を行う場合に用いられる。この場合、シリアルI/Oにフレーム数を設定するレジスタがあり、またDMACにもDMA転送長を設定するレジスタが搭載されている。システム制約、またシリアルI/Oの仕様から、DMA転送長が同じとする制約が設けられる場合がある。このような制約をチェックする場合には、期待値レジスタ228,229に一方の制御レジスタのアドレスを指定すれば、そのアドレスに一致するレジスタとの間で比較を行うことができる。   The other register comparison mode is used when the serial I / O connected to the DMAC performs serial transfer with the external serial interface and performs transfer with the external memory using the DMA. In this case, there is a register for setting the number of frames in the serial I / O, and a register for setting the DMA transfer length is also installed in the DMAC. There may be a restriction that the DMA transfer length is the same due to system restrictions and serial I / O specifications. When checking such a restriction, if the address of one control register is designated in the expected value registers 228 and 229, a comparison can be made with a register matching that address.

上記割り込みイネーブルフィールドにおいては、その値が1のときのみに、割り込み要因となり得る。割り込みイネーブルフィールドは、割り込みイネーブルレジスタ222とは異なり、比較対象となる制御レジスタのそれぞれに対するイネーブル設定を個別に行うためのものである。   The interrupt enable field can be an interrupt factor only when its value is 1. Unlike the interrupt enable register 222, the interrupt enable field is used to individually enable the control registers to be compared.

上記不一致書き込みフィールドは、期待値比較結果が不一致の場合に、機能モジュールへの書き込みを行うかキャンセルするかを決定するためのものである。この不一致書き込みフィールドは、不一致書き込みイネーブルレジスタ223とは異なり、比較対象となる制御レジスタのそれぞれに対するイネーブル設定を個別に行うためのものである。   The non-matching write field is used to determine whether to write to the functional module or cancel when the expected value comparison result does not match. Unlike the mismatch write enable register 223, the mismatch write field is used to individually enable the control registers to be compared.

上記履歴イネーブルフィールドにおいては、その値が1のときのみに、期待値が一致しなかった場合の履歴を残す機能が有効になる。この履歴イネーブルフィールドは、履歴イネーブルレジスタ224とは異なり、比較対象となる制御レジスタのそれぞれに対するイネーブル設定を個別に行うためのものである。   In the history enable field, only when the value is 1, the function of leaving a history when the expected value does not match is effective. Unlike the history enable register 224, this history enable field is used to individually enable the control registers to be compared.

各期待値レジスタ228,229は、それぞれレジスタアドレス「0x0100+0x10*I+0x08番地」、「0x0100+0x10*I+0x0C番地」に割り付けられており、比較対象アドレスに対する書き込みデータと比較する期待値データを格納するためのレジスタである。期待値レジスタ228,229には、即値データのように比較を行うデータが格納されるだけでなく、比較モードが「他レジスタとの比較」の場合、比較対象レジスタのレジスタアドレスが設定される。2つの期待値レジスタが存在するのは、比較モードで「範囲比較」が選択された場合に対応するためである。   The expected value registers 228 and 229 are assigned to register addresses “0x0100 + 0x10 * I + 0x08” and “0x0100 + 0x10 * I + 0x0C”, respectively, and are expected values to be compared with the write data for the comparison target address. This is a register for storing data. The expected value registers 228 and 229 not only store data to be compared like immediate data, but also set the register address of the comparison target register when the comparison mode is “comparison with other registers”. The two expected value registers exist in order to cope with the case where “range comparison” is selected in the comparison mode.

比較結果履歴レジスタは、比較結果がNGだった場合に、レジスタアドレスとデータを記憶するためのレジスタ群であり、本実施の形態においては、アドレス履歴レジスタ230(レジスタアドレス:0x1000+0x10*j+0x0番地)およびデータ履歴レジスタ231(レジスタアドレス:0x1000+0x10*j+0x4番地)が含まれる。比較結果履歴レジスタがイネーブル状態で、さらに比較不一致を起こした制御レジスタ用の比較モードレジスタ227内の履歴イネーブルフィールドがイネーブルである場合に、比較結果履歴レジスタに履歴が保存される。この履歴が保存される度に、ステータスレジスタ225の履歴数フィールドの値はカウントアップされる。   The comparison result history register is a register group for storing a register address and data when the comparison result is NG. In this embodiment, the address history register 230 (register address: 0x1000 + 0x10 * j + 0x0) and data history register 231 (register address: 0x1000 + 0x10 * j + 0x4). When the comparison result history register is enabled and the history enable field in the comparison mode register 227 for the control register that caused the comparison mismatch is enabled, the history is stored in the comparison result history register. Each time this history is saved, the value in the history number field of the status register 225 is counted up.

以上の制御レジスタのうち、比較対象アドレスレジスタから期待値レジスタまでの各制御レジスタ226〜229に関しては、少なくとも、比較対象の制御レジスタ数分のレジスタ以外に、ASIC完成後以降にもハードウェア制約が追加されることを想定して、予め余分のレジスタを設けることが好ましい。   Among the above control registers, regarding the control registers 226 to 229 from the comparison target address register to the expected value register, there are hardware restrictions even after the completion of the ASIC, in addition to the registers for the number of comparison target control registers. It is preferable to provide an extra register in advance in consideration of the addition.

比較回路23は、図2に示すように、スレーブI/F5(図1)から送出されたレジスタ書き込みデータと制御レジスタ群22内のある期待値とを対応する比較モードにより比較し、その比較結果を比較結果処理回路24へ渡す。また、比較モードが「他制御レジスタとの比較」の場合、レジスタチェックモジュール4自身が、周辺装置内の制御レジスタへリードアクセスを行う必要があるので、比較回路23は、その旨をペリフェラルI/F25へ通知する。その結果、ペリフェラルI/F25は、周辺装置内の制御レジスタへリードアクセスを行い、レジスタ読み出しデータを比較回路23へ返す。そして、比較回路23は、スレーブI/F5からの書き込みデータとペリフェラルI/F25から返された読み出しデータとの比較を行う。その比較結果は、他のモードと同様に、比較結果処理回路に渡される。   As shown in FIG. 2, the comparison circuit 23 compares the register write data sent from the slave I / F 5 (FIG. 1) with a certain expected value in the control register group 22 in a corresponding comparison mode, and the comparison result To the comparison result processing circuit 24. When the comparison mode is “comparison with other control register”, the register check module 4 itself needs to perform read access to the control register in the peripheral device. Notify F25. As a result, the peripheral I / F 25 performs read access to the control register in the peripheral device, and returns register read data to the comparison circuit 23. Then, the comparison circuit 23 compares the write data from the slave I / F 5 with the read data returned from the peripheral I / F 25. The comparison result is passed to the comparison result processing circuit as in the other modes.

比較結果処理回路24は、比較結果に基づいて、各機能モジュールへのアクセスを実行するか、また比較結果がNGである場合に割り込み通知を行うか、また履歴を残すかの処理制御を行う。   Based on the comparison result, the comparison result processing circuit 24 performs processing control to execute access to each functional module, to perform an interrupt notification when the comparison result is NG, or to leave a history.

ペリフェラルI/F25は、比較不一致を起こし、かつ比較モードレジスタの不一致書き込みフィールドが「ディセーブル」の場合、スレーブI/F5からのアクセス開始信号をマスクし、アクセスをキャンセルする。一方、比較対象でない制御レジスタへのアクセスの場合、比較結果が一致した場合、または不一致書き込みフィールドが「イネーブル」の場合、ペリフェラルI/F25は、スレーブI/F5からのレジスタアクセス開始信号をマスクすることなくそのまま出力する。ただし、上記レジスタアクセス開始信号のマスクについては、スレーブI/F25からのアクセス開始信号を受けてから、比較処理が完了するまでが複数のサイクルに及ぶので、ステートマシンで管理される必要がある。特に、他の制御レジスタとの比較を行う場合は、確実に複数サイクルの比較期間が必要となる。   When the peripheral I / F 25 causes a comparison mismatch and the mismatch write field of the comparison mode register is “disabled”, the peripheral I / F 25 masks the access start signal from the slave I / F 5 and cancels the access. On the other hand, in the case of access to a control register that is not a comparison target, if the comparison result matches, or the mismatch write field is “enabled”, the peripheral I / F 25 masks the register access start signal from the slave I / F 5. It outputs as it is without. However, the mask of the register access start signal needs to be managed by a state machine because it takes a plurality of cycles from receiving the access start signal from the slave I / F 25 to completing the comparison process. In particular, when comparing with other control registers, a comparison period of a plurality of cycles is surely required.

次に、本実施の形態における、レジスタアクセスが行われてから比較処理を経て、レジスタアクセスが完了するまでの手順について図4および図5を参照しながら説明する。図4および図5は図1のシステムにおけるレジスタアクセスの実行から比較処理を経てレジスタアクセスの完了までの手順を示すフローチャートである。図4および図5に示すフローチャートは、CPU2、スレーブI/F5、レジスタチェックモジュール4、ペリフェラル(機能ブロック)のそれぞれに処理に分けて記述されたものである。   Next, a procedure in the present embodiment from register access to comparison processing to completion of register access will be described with reference to FIGS. 4 and 5. FIG. 4 and 5 are flowcharts showing the procedure from the execution of register access to the completion of register access through comparison processing in the system of FIG. The flowcharts shown in FIGS. 4 and 5 are described separately for each of the CPU 2, the slave I / F 5, the register check module 4, and the peripheral (functional block).

図4に示すように、CPU2がペリフェラル(機能モジュール6,7,8のいずれか)のレジスタa0(図示せず)にアクセスを開始すると(ステップS1)、スレーブI/F5は、レジスタアクセス開始信号をアサートする(ステップS2)。これと同じサイクルで、レジスタアドレスとレジスタ書き込みデータが有効となる。レジスタチェックモジュール4は、上記レジスタアドレスおよびレジスタ書き込みデータを受け、まず比較イネーブルレジスタ2211の値をチェックする(ステップS3)。そして、レジスタチェックモジュール4は、上記チェックの結果がイネーブルであるか否かを判定する(ステップS4)。   As shown in FIG. 4, when the CPU 2 starts to access the register a0 (not shown) of the peripheral (functional module 6, 7, or 8) (step S1), the slave I / F 5 receives the register access start signal. Is asserted (step S2). In the same cycle, the register address and the register write data become valid. The register check module 4 receives the register address and the register write data, and first checks the value of the comparison enable register 2211 (step S3). Then, the register check module 4 determines whether or not the result of the check is enabled (Step S4).

上記ステップS4において上記チェックの結果がディセーブルであると判定された場合は、ソフトウェア開発後期でレジスタ比較機能を必要としない場合である。このディセーブルの場合、レジスタチェックモジュール4は、図5に示すように、ペリフェラルの制御レジスタへアクセス開始信号、アドレス、書き込みデータを出力する(ステップS18)。   If it is determined in step S4 that the result of the check is disabled, the register comparison function is not required in the later stage of software development. When disabled, the register check module 4 outputs an access start signal, an address, and write data to the peripheral control register as shown in FIG. 5 (step S18).

ペリフェラル(機能モジュール)は、上記アクセス開始信号、アドレスおよび書き込みデータを受けて対応するレジスタa0に対して書き込みを行い(ステップS20)、その書き込みを終了すると、アクセス完了信号をレジスタチェックモジュール4に出力する(ステップS21)。   The peripheral (functional module) receives the access start signal, the address, and the write data, writes the corresponding register a0 (step S20), and outputs the access completion signal to the register check module 4 when the write ends. (Step S21).

レジスタチェックモジュール4は、上記アクセス完了信号を受け、スレーブI/F5へアクセス完了信号を出力し(ステップS30)、スレーブI/F5は、システムバス1にレディ信号を返し(ステップS31)、バスを解放するすなわち処理を終了する(ステップS32)。   The register check module 4 receives the access completion signal and outputs an access completion signal to the slave I / F 5 (step S30), and the slave I / F 5 returns a ready signal to the system bus 1 (step S31), Release, that is, terminate the process (step S32).

これに対し、比較イネーブルレジスタ221がイネーブル状態であると判定された場合(ステップS4)、レジスタチェックモジュール4は、スレーブI/F5からのアドレスと比較対象レジスタのアドレスが一致するか否かを判定する(ステップS5)。ここで、一致するアドレスが比較対象アドレスレジスタ226内に存在しない場合は、上記比較イネーブルレジスタ221がディセーブルのときと同様に、通常のレジスタアクセスが行われる(ステップS1→S2→S3→S4→S5→S6→S8→S18→S20→S21→S30→S31→S32)。本実施の形態においては、全比較対象制御レジスタアドレスを全てチェックしたか否かをチェックしているステート(ステップS8)が設けられているが、これは、1サイクル以内で全ての対象アドレスを比較可能なハードウェアが実装されている場合には必要がないステートである。   On the other hand, when it is determined that the comparison enable register 221 is enabled (step S4), the register check module 4 determines whether the address from the slave I / F 5 matches the address of the comparison target register. (Step S5). If there is no matching address in the comparison target address register 226, normal register access is performed in the same manner as when the comparison enable register 221 is disabled (steps S1-> S2-> S3-> S4->). S5-> S6-> S8-> S18-> S20-> S21-> S30-> S31-> S32). In the present embodiment, there is provided a state (step S8) for checking whether or not all the comparison target control register addresses have been checked, but this compares all the target addresses within one cycle. This state is not necessary when possible hardware is implemented.

これに対し、上記ステップS6においてレジスタアドレスと一致するアドレスが比較対象アドレスレジスタ226にあると判定された場合、レジスタチェックモジュール4は、その比較対象レジスタアドレスに相当する比較モードレジスタ226内の比較イネーブルフィールドをチェックする(ステップS7)。そして、レジスタチェックモジュール4は、上記チェックの結果がイネーブルであるか否かを判定する(ステップ9)。ここで、上記チェックの結果がディセーブルであれば、通常のレジスタアクセス(S18→S20→S21→,……,→S32)となる。   On the other hand, when it is determined in step S6 that the address corresponding to the register address is in the comparison target address register 226, the register check module 4 compares the comparison enable in the comparison mode register 226 corresponding to the comparison target register address. The field is checked (step S7). Then, the register check module 4 determines whether or not the result of the check is enabled (Step 9). Here, if the result of the check is disabled, normal register access (S18 → S20 → S21 →,... → S32) is performed.

上記ステップS9において比較イネーブルフィールドがイネーブルであると判定された場合、レジスタチェックモジュール4は、比較モードレジスタ227内の比較モードフィールドの値をチェックし(ステップS10)、設定されている比較モードを判別する(ステップS11)。   If it is determined in step S9 that the comparison enable field is enabled, the register check module 4 checks the value of the comparison mode field in the comparison mode register 227 (step S10), and determines the set comparison mode. (Step S11).

上記ステップS11で判別された比較モードが即値比較モードである場合、レジスタチェックモジュール4は、単純に書き込みデータと期待値レジスタ228に格納されている値とを比較する(ステップS12)。   If the comparison mode determined in step S11 is the immediate comparison mode, the register check module 4 simply compares the write data with the value stored in the expected value register 228 (step S12).

上記ステップS11で判別された比較モードが特定ビットフィールド比較モードである場合、レジスタチェックモジュール4は、期待値レジスタ228に格納されている32ビットの比較対象のビットパターンのうち、‘1’のビットに対してのみチェックを行う(ステップS13)。ここで、比較期待値は、比較モードが1の場合は0で、比較モードが2の場合は1である。   When the comparison mode determined in step S11 is the specific bit field comparison mode, the register check module 4 uses the bit “1” in the bit pattern to be compared of 32 bits stored in the expected value register 228. A check is performed only for (step S13). Here, the expected comparison value is 0 when the comparison mode is 1 and 1 when the comparison mode is 2.

上記ステップS11で判別された比較モードが範囲比較モードである場合、レジスタチェックモジュール4は、期待値レジスタ228,229にそれぞれ格納されている下限期待値および上限期待値を参照し、書き込みデータが下限期待値と上限期待値との間にあるか否かをチェックする(ステップS14)。   When the comparison mode determined in step S11 is the range comparison mode, the register check module 4 refers to the lower limit expected value and the upper limit expected value stored in the expected value registers 228 and 229, respectively, and the write data is lower limit. It is checked whether it is between the expected value and the upper limit expected value (step S14).

上記ステップS11で判別された比較モードが他レジスタ比較モードである場合(ステップS15)、レジスタチェックモジュール4は、まず期待値レジスタ228に格納されているデータをレジスタアドレスとして、実際に各機能モジュール6,7,8内の上記アドレスに対してリードアクセスする(ステップS15)。そのために、スレーブI/F5内のアドレスデコーダと同等のものがレジスタチェックモジュール4内にも存在しており、このアドレスデコーダ回路により、レジスタアクセス開始信号が生成されることになる。そして、ペリフェラル(機能ブロック)は、対応するレジスタデータをレジスタチェックモジュール4へ返す(ステップS16)。レジスタチェックモジュール4は、ペリフェラルから返されたデータとCPU2からの書き込みデータとを比較する(ステップS17)。   When the comparison mode determined in step S11 is the other register comparison mode (step S15), the register check module 4 first uses the data stored in the expected value register 228 as a register address, and actually uses each function module 6 , 7 and 8 are read-accessed (step S15). Therefore, an equivalent of the address decoder in the slave I / F 5 is also present in the register check module 4, and a register access start signal is generated by this address decoder circuit. Then, the peripheral (functional block) returns the corresponding register data to the register check module 4 (step S16). The register check module 4 compares the data returned from the peripheral with the write data from the CPU 2 (step S17).

設定された比較モードでの処理が完了すると、レジスタチェックモジュール4は、図5に示すように、比較結果処理回路24による比較結果の評価を行う。ここでは、3種類の処理が同時に行われる。比較結果処理回路24は、まず、履歴イネーブルレジスタ224と比較モードレジスタ227内の履歴イネーブルフィールドとをチェックし(ステップS22)、そのチェックの結果がイネーブルであるか否かを判定する(ステップS23)。上記チェックの結果がイネーブルであれば、レジスタチェックモジュール4は、比較結果履歴レジスタであるアドレス履歴レジスタ230とデータ履歴レジスタ231へそれぞれレジスタアドレスと書き込みデータをセーブする(ステップS24)。上記履歴イネーブルフィールドが0の場合は、図示されていないが、比較結果処理回路24は、特に何も行わず、本処理を終了する。   When the processing in the set comparison mode is completed, the register check module 4 evaluates the comparison result by the comparison result processing circuit 24 as shown in FIG. Here, three types of processing are performed simultaneously. The comparison result processing circuit 24 first checks the history enable register 224 and the history enable field in the comparison mode register 227 (step S22), and determines whether or not the result of the check is enabled (step S23). . If the result of the check is enabled, the register check module 4 saves the register address and write data in the address history register 230 and the data history register 231 which are comparison result history registers, respectively (step S24). When the history enable field is 0, although not shown, the comparison result processing circuit 24 does not perform anything and ends this processing.

また同時に、比較結果処理回路24は、割り込みイネーブルレジスタ222と、比較不一致を起こした制御レジスタアドレスに相当する比較モードレジスタ227内の割り込みイネーブルフィールドとをチェックし(ステップS25)、そのチェックの結果に基づいて両方がイネーブルであるか否かを判定する(ステップS26)。ここで、割り込みイネーブルレジスタ222と対応する割り込みイネーブルフィールドとの両方がイネーブルであれば、比較結果処理回路24は、ステータスレジスタ225のステータスフラグをセットし、さらに割り込み信号をアサートする(ステップS27)。   At the same time, the comparison result processing circuit 24 checks the interrupt enable register 222 and the interrupt enable field in the comparison mode register 227 corresponding to the control register address that caused the comparison mismatch (step S25). Based on this, it is determined whether or not both are enabled (step S26). If both the interrupt enable register 222 and the corresponding interrupt enable field are enabled, the comparison result processing circuit 24 sets the status flag of the status register 225 and further asserts an interrupt signal (step S27).

もし割り込みモードレジスタ222の割り込みフィールドのみがイネーブルの場合は、ステータスレジスタ225のステータスフィールドは、1にセットされる。ただし、割り込みイネーブルレジスタ222がディセーブル状態のため、割り込み信号はアサートされない。そして、比較結果処理回路24は、本処理を終了する。   If only the interrupt field of the interrupt mode register 222 is enabled, the status field of the status register 225 is set to 1. However, the interrupt signal is not asserted because the interrupt enable register 222 is disabled. Then, the comparison result processing circuit 24 ends this process.

また同時に、比較結果処理回路24は、不一致書き込みイネーブルレジスタ223と不一致を起こした比較対象レジスタアドレスに相当する比較モードレジスタ227内の不一致書き込みフィールドとをチェックし(ステップS28)、両方がイネーブルであるか否かを判定する(ステップS29)。ここで、両方がイネーブルである場合、比較結果処理回路24は、通常のペリフェラルへのレジスタアクセスを開始する(ステップS18)。その後の手順は、通常のレジスタアクセス時と同様である。   At the same time, the comparison result processing circuit 24 checks the mismatch write enable register 223 and the mismatch write field in the comparison mode register 227 corresponding to the comparison target register address that caused the mismatch (step S28), and both are enabled. Whether or not (step S29). If both are enabled, the comparison result processing circuit 24 starts register access to a normal peripheral (step S18). The subsequent procedure is the same as that for normal register access.

上記ステップS29において不一致書き込みフィールドがディセーブルであると判定された場合、レジスタチェックモジュール4は、ペリフェラルへのアクセスを行うことなく、スレーブI/F5に対してアクセス完了信号を渡す(ステップS30)。そして、スレーブI/F5は、システムバス1にレディ信号を返し(ステップS31)、バスを解放するすなわち処理を終了する(ステップS32)。   If it is determined in step S29 that the mismatched write field is disabled, the register check module 4 passes an access completion signal to the slave I / F 5 without accessing the peripheral (step S30). Then, the slave I / F 5 returns a ready signal to the system bus 1 (step S31), releases the bus, that is, ends the processing (step S32).

このように、本実施の形態によれば、ソフトウェア開発の初期の段階においてレジスタ設定値間違いを発見することができる。   As described above, according to the present embodiment, it is possible to find an error in the register setting value at an early stage of software development.

また、期待値として、即値データ、特定ビットフィールド、少なくとも上限期待値と下限期待値とにより与えられる値、および/または他の制御レジスタの設定値とすることによって、単純な即値データと比較するモード、特定のビットフィールドをマスクパターンと比較するモード、2つの期待値レジスタから範囲を決定してレジスタ書き込みデータが範囲内に収まっているか否かをチェックするモード、また他の制御レジスタ値と比較するモードを実施することが可能になる。   In addition, the expected value is immediate data, a specific bit field, a value given by at least an upper limit expected value and a lower limit expected value, and / or a setting value of another control register, thereby comparing with simple immediate data. A mode in which a specific bit field is compared with a mask pattern, a mode in which a range is determined from two expected value registers, and whether or not the register write data is within the range, and a comparison with other control register values It becomes possible to carry out the mode.

また、比較処理を行っている期間はレジスタアクセスを遅延させ、比較結果が不一致の場合には書き込み自体を取り消すことによって、不正な設定が引き起こす実機上の致命的な不具合を回避することができる。この比較機能はハードウェア実施手段によっては、CPU2のペリフェラルへのIOアクセス自体が低速化してしまう恐れがあるが、これを無効化する機能を提供することによって、ソフトウェア開発後期には低速でない通常のアクセスが保証される。   In addition, register access is delayed during the comparison process, and if the comparison results do not match, the writing itself is canceled, thereby avoiding a fatal problem on the real machine caused by an incorrect setting. Depending on the hardware implementation means, this comparison function may slow down the IO access to the peripheral of the CPU 2 itself, but by providing a function for disabling this, a normal speed that is not low in the late stage of software development Access is guaranteed.

また、比較結果の履歴を残すことによって、割り込みハンドラ内で不適切なレジスタ設定が行われた履歴を確認することができる。   Also, by leaving a history of comparison results, it is possible to confirm a history of inappropriate register settings in the interrupt handler.

(第2の実施の形態)
次に、本発明の第2の実施の形態について図6〜図8を参照しながら説明する。図6は本発明の第2の実施の形態に係るレジスタチェックモジュール(レジスタ設定値監視モジュール)を含むシステムの構成を示すブロック図、図7は図6のレジスタチェックモジュールの構成を示すブロック図、図8は図6のSRAM内に設けられた制御レジスタのそれぞれを模式的に示す図である。図中、上記第1の実施の形態と同一のブロックには、同一の符号を付し、その説明は省略する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described with reference to FIGS. 6 is a block diagram showing a configuration of a system including a register check module (register set value monitoring module) according to a second embodiment of the present invention, and FIG. 7 is a block diagram showing a configuration of the register check module of FIG. FIG. 8 is a diagram schematically showing each of the control registers provided in the SRAM of FIG. In the figure, the same blocks as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.

本実施の形態は、図6に示すように、上記第1の実施の形態に対し、比較モード、期待値などに関するレジスタが汎用のSRAM103内に設けられている点で異なる。詳細には、汎用SRAM103は、SRAMI/F101とスレーブI/F100を介してシステムバス1と接続されており、CPU2を含む各バスマスタからアクセスが可能である。このSRAMモジュールは、スレーブI/F100との接続経路とともに、レジスタチェックモジュール4との接続経路を有する。   As shown in FIG. 6, the present embodiment is different from the first embodiment in that a register relating to a comparison mode, an expected value, and the like is provided in a general-purpose SRAM 103. Specifically, the general-purpose SRAM 103 is connected to the system bus 1 via the SRAM I / F 101 and the slave I / F 100 and can be accessed from each bus master including the CPU 2. This SRAM module has a connection path to the register check module 4 as well as a connection path to the slave I / F 100.

レジスタチェックモジュール4は、比較モードおよび他の情報を含む期待値データを読み出す際に、SRAM103に対して信号105を送出し、アクセスを行う。また、SRAM103は、汎用的に使用され、この場合も、システムバス1からSRAM103へアクセスが行われる。SRAM103への上記2つのアクセスは、セレクタ102で切り替えられる。このセレクタ102の切り替え動作は、レジスタチェックモジュール4からの切り替え信号104により制御される。   When the register check module 4 reads expected value data including the comparison mode and other information, the register check module 4 sends a signal 105 to the SRAM 103 for access. The SRAM 103 is used for general purposes. In this case, the SRAM 103 is also accessed from the system bus 1. The above two accesses to the SRAM 103 are switched by the selector 102. The switching operation of the selector 102 is controlled by a switching signal 104 from the register check module 4.

レジスタチェックモジュール4は、図7に示すように、上記第1の実施の形態のレジスタチェックモジュール4に対し、SRAMI/F123が設けられている制御レジスタ群122を有する点で異なる。制御レジスタ群122には、上記第1の実施の形態と同様に、比較イネーブルレジスタ、割り込みイネーブルレジスタ、不一致書き込みレジスタ、履歴イネーブルレジスタおよびステータスレジスタが含まれる。また、制御レジスタ群122には、比較対象数レジスタ、比較対象レジスタアドレス用ベースアドレスレジスタ、比較モード用ベースアドレスレジスタ、期待値(A,B)用ベースアドレスレジスタ、アドレス履歴用ベースアドレスレジスタおよびデータ履歴用ベースアドレスレジスタが新規に追加される。これらのレジスタは、全て、1セットのみである。   As shown in FIG. 7, the register check module 4 differs from the register check module 4 of the first embodiment in that it includes a control register group 122 in which an SRAM I / F 123 is provided. As in the first embodiment, the control register group 122 includes a comparison enable register, an interrupt enable register, a mismatch write register, a history enable register, and a status register. The control register group 122 includes a comparison target number register, a comparison target register address base address register, a comparison mode base address register, an expected value (A, B) base address register, an address history base address register, and data. A history base address register is newly added. All these registers are only one set.

SRAM103には、上記レジスタ以外の複数セットからなる、比較対象アドレスレジスタ、比較モードレジスタ、期待値データレジスタ、アドレス履歴レジスタ、データ履歴レジスタの全てが設けられている。   The SRAM 103 is provided with all of the comparison target address register, the comparison mode register, the expected value data register, the address history register, and the data history register, which are composed of a plurality of sets other than the above registers.

新規に追加される比較対象数レジスタには、比較対象とする少なくとも1つの制御レジスタを指定するための番号が設定される。これは、SRAM103の容量を許容する限りの値を設定することができる。各ベースアドレスレジスタをSRAM103内のアドレスに指定することによって、各設定値(比較対象レジスタアドレス、比較モード、期待値A,B)をSRAM103内の任意のアドレスから連続的に配置することを可能とする。また同様に、新規に追加される履歴数レジスタは、履歴領域としてSRAM103内に確保する領域の大きさを指定するものであり、アドレス履歴用ベースアドレスレジスタ、データ履歴用ベースアドレスレジスタをSRAM103内のアドレスに指定することによって、履歴情報をSRAM103内に連続的に配置することが可能になる。   In the newly added comparison target number register, a number for specifying at least one control register to be compared is set. This can be set as long as the capacity of the SRAM 103 is allowed. By specifying each base address register as an address in the SRAM 103, each set value (comparison target register address, comparison mode, expected value A, B) can be continuously arranged from an arbitrary address in the SRAM 103. To do. Similarly, the newly added history number register designates the size of the area to be secured in the SRAM 103 as the history area, and the address history base address register and the data history base address register are stored in the SRAM 103. By specifying the address, the history information can be continuously arranged in the SRAM 103.

図8において、図中の符号A,B,…,Lは、比較対象の制御レジスタ番号であり、ここでは12個の比較対象制御レジスタが仮定されている。比較対象数レジスタは、このとき0xCに設定されている。ここで、さらに1つの比較対象レジスタ(例えば0xCC00_0024番地)の制御レジスタ)を追加したければ、比較対象数レジスタを0xDにし、SRAM103上の(比較対象レジスタアドレス用ベースアドレスレジスタ+0xD*4)番地に0xCC00_0024を書けばよい。また比較モードについても、同様に、SRAM103上の(比較モード用ベースアドレスレジスタ+0xD*4)番地に所望のモードを設定すればよい。他の設定も同様である。   In FIG. 8, reference signs A, B,..., L in the figure are control register numbers to be compared, and here, 12 comparison target control registers are assumed. The comparison target number register is set to 0xC at this time. Here, if one more comparison target register (for example, control register of address 0xCC00_0024) is to be added, the comparison target number register is set to 0xD, and the address of (base address register for comparison target register address + 0xD * 4) on the SRAM 103 is set. Write 0xCC00_0024. Similarly, in the comparison mode, a desired mode may be set at the address (comparison mode base address register + 0xD * 4) on the SRAM 103. The other settings are the same.

履歴については、履歴専用の履歴数レジスタ、アドレス履歴用ベースアドレスレジスタ、およびデータ履歴用ベースアドレスレジスタを用いて履歴領域をSRAM103内に確保しすればよい。図8において、a,b,…,jは、履歴番号であり、ここでは、10個の比較不一致までの履歴を格納することができる。   As for the history, a history area may be secured in the SRAM 103 using a history number register dedicated to history, an address history base address register, and a data history base address register. In FIG. 8, a, b,..., J are history numbers, and here, histories up to 10 comparison mismatches can be stored.

本実施の形態の場合、レジスタアクセスが行われてから比較処理を経て、レジスタアクセスが完了するまでの手順は、上記第1の実施の形態と同じである。ただし、SRAM103内に各比較パラメータが格納されているため、SRAM103へのアクセス時間が掛かることになる。特に、スレーブI/F5からのレジスタアドレスと一致する比較対象アドレスを検索する(図4のステップS5)際、SRAM103内の比較対象レジスタアドレスが格納された領域を連続的にアクセスしてチェックする必要があるため、比較対象のレジスタ数が多いほど、検索シーケンス(ステップS5→S6→S8→S5→S6)の繰り返し数が増すことになる。また、期待値や比較モードをSRAM103へアクセスして読み出す必要があるので、一度のCPU2からのレジスタアクセスのみで、それが長時間システム1を占有する場合がある。ただし、レジスタ設定値チェック機能は、あくまでソフトウェアデバッグ時に使用するものであるので、開発後期に比較イネーブルレジスタをディセーブル状態にすれば、比較シーケンスは全てスキップされ、高速応答を実現することができる。   In the present embodiment, the procedure from register access to comparison processing through register access is the same as in the first embodiment. However, since each comparison parameter is stored in the SRAM 103, it takes time to access the SRAM 103. In particular, when searching for a comparison target address that matches the register address from the slave I / F 5 (step S5 in FIG. 4), it is necessary to continuously access and check the area in the SRAM 103 where the comparison target register address is stored. Therefore, the greater the number of registers to be compared, the greater the number of repetitions of the search sequence (steps S5 → S6 → S8 → S5 → S6). Further, since it is necessary to access and read the expected value and the comparison mode to the SRAM 103, it may occupy the system 1 for a long time only by register access from the CPU 2 once. However, since the register set value check function is only used during software debugging, if the comparison enable register is disabled in the later stage of development, all comparison sequences are skipped, and a high-speed response can be realized.

また、開発後期にはSRAM103内をレジスタチェック用ではない他の汎用的な目的に使用することができる。このSRAM103の切り替え信号104は通常SRAMI/F101の選択を指示しており、比較パラメータのアクセス時にのみレジスタチェックモジュール4内のSRAMI/F123の選択を指示する。レジスタチェックモジュール4からのSRAM103への比較パラメータの読み出し時には、システムバス1のバストランザクションは閉じてないので、SRAM103へのアクセスは、確実に排他アクセスとなる。   In the later stage of development, the SRAM 103 can be used for other general purposes other than register check. The switching signal 104 of the SRAM 103 normally instructs the selection of the SRAM I / F 101, and instructs the selection of the SRAM I / F 123 in the register check module 4 only when the comparison parameter is accessed. When the comparison parameter is read from the register check module 4 to the SRAM 103, the bus transaction of the system bus 1 is not closed, so that the access to the SRAM 103 is surely an exclusive access.

また、CPU2を含む全バスマスタがスレーブとしてアクセス可能なSRAM103領域のうち、実製品ソフトウェアに使用しない領域を本比較パラメータ格納領域として使用することができる。この場合、レジスタチェックモジュール4内の比較対象数レジスタと各ベースアドレスレジスタは、SRAM103領域のうち、本比較パラメータ格納領域用として許容された領域を超えないように指定される。   Of the SRAM 103 area accessible to all bus masters including the CPU 2 as a slave, an area not used for actual product software can be used as the comparison parameter storage area. In this case, the comparison target number register and each base address register in the register check module 4 are designated so as not to exceed the area allowed for the comparison parameter storage area in the SRAM 103 area.

また、本実施の形態においては、レジスタ設定期待値格納手段をソフトウェアによって書き換え可能なレジスタまたはSRAM103として説明したが、これを論理上固定値として実装することも当然可能であり、その場合、後に設定を書き換えることができなくなるが、自由度と回路規模のトレードオフによる実装方法を選択することは可能である。   Further, in the present embodiment, the register setting expected value storage means has been described as a register or SRAM 103 that can be rewritten by software, but it is naturally possible to implement this as a logically fixed value. However, it is possible to select a mounting method based on a trade-off between the degree of freedom and the circuit scale.

また、SRAM103を用いることによって、LSIの完成後に期待値を追加したり、書き換えたりすることができる。   Further, by using the SRAM 103, an expected value can be added or rewritten after the LSI is completed.

また、SRAM103が汎用なスレーブデバイスとして実装し、複数セット存在しうる各比較パラメータをSRAM103内に移動し、最小限の制御レジスタのみをレジスタチェックモジュール4内に残すことによって、レジスタチェックモジュール4自体の回路規模を最小限にすることができる。また、レジスタチェックモジュール4内に残されたレジスタの全ては、比較対象数に依存しないので、自由度が高い設計が可能になる。   Also, the SRAM 103 is implemented as a general-purpose slave device, each comparison parameter that can exist in a plurality of sets is moved into the SRAM 103, and only the minimum control registers are left in the register check module 4, whereby the register check module 4 itself The circuit scale can be minimized. In addition, since all the registers remaining in the register check module 4 do not depend on the number of comparison targets, it is possible to design with a high degree of freedom.

本発明の第1の実施の形態に係るレジスタチェックモジュール(レジスタ設定値監視モジュール)を含むシステム構成を示すブロック図である。1 is a block diagram showing a system configuration including a register check module (register set value monitoring module) according to a first embodiment of the present invention. 図1のレジスタチェックモジュールの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the register | resistor check module of FIG. 図2の制御レジスタ群22に含まれる各制御レジスタおよびそれぞれのデータフォーマットを示す図である。It is a figure which shows each control register contained in the control register group 22 of FIG. 2, and each data format. 図1のシステムにおけるレジスタアクセスの実行から比較処理を経てレジスタアクセスの完了までの手順を示すフローチャートである。2 is a flowchart showing a procedure from execution of register access to completion of register access through comparison processing in the system of FIG. 図1のシステムにおけるレジスタアクセスの実行から比較処理を経てレジスタアクセスの完了までの手順を示すフローチャートである。2 is a flowchart showing a procedure from execution of register access to completion of register access through comparison processing in the system of FIG. 本発明の第2の実施の形態に係るレジスタチェックモジュール(レジスタ設定値監視モジュール)を含むシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the system containing the register check module (register set value monitoring module) which concerns on the 2nd Embodiment of this invention. 図6のレジスタチェックモジュールの構成を示すブロック図である。It is a block diagram which shows the structure of the register | resistor check module of FIG. 図6のSRAM内に設けられた制御レジスタのそれぞれを模式的に示す図である。FIG. 7 is a diagram schematically showing each of control registers provided in the SRAM of FIG. 6.

符号の説明Explanation of symbols

1 システムバス
2 CPU
4 レジスタチェックモジュール
5 スレーブI/F
6,7,8 機能モジュール
21 レジスタI/F
22 制御レジスタ群
23 比較回路
24 比較結果処理回路
25 ペリフェラルI/F
102 セレクタ
103 SRAM
123 SRAMI/F
1 System bus 2 CPU
4 Register check module 5 Slave I / F
6, 7, 8 Function module 21 Register I / F
22 control register group 23 comparison circuit 24 comparison result processing circuit 25 peripheral I / F
102 selector 103 SRAM
123 SRAM I / F

Claims (14)

機能ブロックの制御レジスタの設定値に対する期待値を格納するレジスタ設定期待値格納手段と、
中央処理装置により前記制御レジスタに対して設定される設定値と前記レジスタ設定期待値格納手段に格納されている期待値とを比較する比較手段と、
前記比較手段による比較結果が前記制御レジスタに対して設定される設定値と前記レジスタ設定期待値格納手段に格納されている期待値との不一致を示す場合、前記中央処理装置に対してエラー通知を出力するエラー通知手段と
を備えることを特徴とするレジスタ設定値監視モジュール。
Register setting expected value storage means for storing an expected value for the setting value of the control register of the functional block;
Comparison means for comparing a set value set for the control register by the central processing unit with an expected value stored in the register setting expected value storage means;
If the comparison result by the comparison means indicates a mismatch between the set value set for the control register and the expected value stored in the register setting expected value storage means, an error notification is sent to the central processing unit. A register set value monitoring module comprising: an error notification means for outputting.
前記レジスタ設定期待値格納手段に格納されている期待値は、即値データであることを特徴とする請求項1記載のレジスタ設定値監視モジュール。   2. The register set value monitoring module according to claim 1, wherein the expected value stored in the register set expected value storage means is immediate data. 前記レジスタ設定期待値格納手段に格納されている期待値は、特定ビットフィールドであることを特徴とする請求項1記載のレジスタ設定値監視モジュール。   2. The register setting value monitoring module according to claim 1, wherein the expected value stored in the register setting expected value storage means is a specific bit field. 前記レジスタ設定期待値格納手段に格納されている期待値は、少なくとも上限期待値と下限期待値とにより与えられる値であることを特徴とする請求項1記載のレジスタ設定値監視モジュール。   2. The register set value monitoring module according to claim 1, wherein the expected value stored in the register set expected value storage means is a value given by at least an upper limit expected value and a lower limit expected value. 前記レジスタ設定期待値格納手段に格納されている期待値は、比較すべき制御レジスタと異なる他の制御レジスタの設定値であることを特徴とする請求項1記載のレジスタ設定値監視モジュール。   2. The register set value monitoring module according to claim 1, wherein the expected value stored in the register set expected value storage means is a set value of another control register different from the control register to be compared. 前記比較手段により比較が行われている期間は、前記中央処理装置による前記制御レジスタに対する設定値の設定を遅延させ、前記比較手段による比較結果が不一致を示す場合、前記中央処理装置による前記制御レジスタに対する設定値の設定を中止させるデータ書き込み遅延中止手段を備えることを特徴とする請求項1ないし5のいずれか1つに記載のレジスタ設定値監視モジュール。   During the period when the comparison is performed by the comparison unit, setting of a set value for the control register by the central processing unit is delayed, and when the comparison result by the comparison unit indicates a mismatch, the control register by the central processing unit 6. The register setting value monitoring module according to claim 1, further comprising a data write delay canceling unit that cancels setting of the setting value for. 前記比較手段による比較動作を無効化する比較無効化手段を備えることを特徴とする請求項1ないし6のいずれか1つに記載のレジスタ設定値監視モジュール。   The register set value monitoring module according to claim 1, further comprising a comparison invalidation unit that invalidates a comparison operation performed by the comparison unit. 前記比較手段による比較結果を格納するための比較結果履歴格納手段と、
前記比較手段による比較結果が不一致を示す場合、前記中央処理装置により前記制御レジスタに対して設定される設定値と該制御レジスタのアドレスとを前記比較結果履歴格納手段に格納する格納手段と
を備えることを特徴とする請求項1ないし7のいずれか1つに記載のレジスタ設定値監視モジュール。
A comparison result history storage means for storing a comparison result by the comparison means;
Storage means for storing, in the comparison result history storage means, a set value set for the control register by the central processing unit and an address of the control register when the comparison result by the comparison means indicates a mismatch; 8. The register set value monitoring module according to claim 1, wherein
前記レジスタ設定期待値格納手段に格納されている期待値は、固定値であることを特徴とする請求項1記載のレジスタ設定値監視モジュール。   2. The register setting value monitoring module according to claim 1, wherein the expected value stored in the register setting expected value storage means is a fixed value. 前記レジスタ期待値格納手段は、書き換え可能なレジスタまたはSRAMから構成されることを特徴とする請求項1ないし9のいずれか1つに記載のレジスタ設定値監視モジュール。   The register set value monitoring module according to claim 1, wherein the register expected value storage unit includes a rewritable register or SRAM. 前記書き換え可能なレジスタまたはSRAMは、モジュール外部に設けられ、前記中央処理装置を含む全てのバスマスタからアクセス可能なバススレーブデバイスであることを特徴とする請求項10記載のレジスタ設定値監視モジュール。   11. The register set value monitoring module according to claim 10, wherein the rewritable register or SRAM is a bus slave device provided outside the module and accessible from all bus masters including the central processing unit. 前記SRAMの記憶領域のうち、未使用記憶領域を前記レジスタ期待値格納手段として指定する指定手段を備えることを特徴とする請求項11記載のレジスタ設定値監視モジュール。   12. The register set value monitoring module according to claim 11, further comprising a specifying unit that specifies an unused storage area as the register expected value storage unit among the storage areas of the SRAM. 請求項1ないし12のいずか1つに記載のレジスタ設定値監視モジュールを有することを特徴とするシステム。   A system comprising the register set value monitoring module according to claim 1. 中央処理装置により機能ブロックの制御レジスタに対して設定される設定値とレジスタ設定期待値格納手段に格納されている前記制御レジスタの設定値に対する期待値とを比較する比較工程と、
前記比較工程での比較結果が前記制御レジスタに対して設定される設定値と前記レジスタ設定期待値格納手段に格納されている期待値との不一致を示す場合、前記中央処理装置に対してエラー通知を出力するエラー通知工程と
を有することを特徴とするレジスタ設定値監視方法。
A comparison step of comparing a set value set for the control register of the functional block by the central processing unit with an expected value for the set value of the control register stored in the register setting expected value storage means;
If the comparison result in the comparison step indicates a mismatch between the set value set for the control register and the expected value stored in the register set expected value storage means, an error notification is sent to the central processing unit. A register setting value monitoring method comprising: an error notification step of outputting
JP2005112617A 2005-04-08 2005-04-08 Register setting value monitoring module, system, and register setting value monitoring method Pending JP2006293641A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005112617A JP2006293641A (en) 2005-04-08 2005-04-08 Register setting value monitoring module, system, and register setting value monitoring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005112617A JP2006293641A (en) 2005-04-08 2005-04-08 Register setting value monitoring module, system, and register setting value monitoring method

Publications (1)

Publication Number Publication Date
JP2006293641A true JP2006293641A (en) 2006-10-26

Family

ID=37414162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005112617A Pending JP2006293641A (en) 2005-04-08 2005-04-08 Register setting value monitoring module, system, and register setting value monitoring method

Country Status (1)

Country Link
JP (1) JP2006293641A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012230597A (en) * 2011-04-27 2012-11-22 Fujitsu Ltd Processor, control device and processing method
US9356836B2 (en) 2012-12-10 2016-05-31 Fujitsu Limited Administration device, administration control method, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012230597A (en) * 2011-04-27 2012-11-22 Fujitsu Ltd Processor, control device and processing method
US9356836B2 (en) 2012-12-10 2016-05-31 Fujitsu Limited Administration device, administration control method, and program

Similar Documents

Publication Publication Date Title
KR102288558B1 (en) Memory built-in self-test for a data processing apparatus
TWI512460B (en) An apparatus and a method for processing data, and a virtual machine for performing the method thereof
JP2010086523A (en) Secure memory interface
TWI397007B (en) System support storage and computer system
JP2008009721A (en) Evaluation system and evaluation method thereof
US8650437B2 (en) Computer system and method of protection for the system&#39;s marking store
TWI620061B (en) Error detecting apparatus of server and error detecting method thereof
US9753870B2 (en) Hardware monitor with context switching and selection based on a data memory access and for raising an interrupt when a memory access address is outside of an address range of the selected context
JP2005071303A (en) Program starting device
JP6341795B2 (en) Microcomputer and microcomputer system
JP2008033890A (en) Microcomputer system
JP2008090542A (en) Error processing method and information processor
JP2006293641A (en) Register setting value monitoring module, system, and register setting value monitoring method
JP4015025B2 (en) MEMORY TEST METHOD, INFORMATION RECORDING MEDIUM, AND SEMICONDUCTOR INTEGRATED CIRCUIT
US8032720B2 (en) Memory access monitoring apparatus and related method
JP2021515308A (en) Devices and methods for accessing metadata when debugging devices
JP2006221606A (en) Data processor
JP2010128698A (en) Multiprocessor system
JP7369701B2 (en) How to access metadata when debugging programs to be executed on processing circuits
JP7394849B2 (en) Testing read-only memory using the memory built-in self-test controller
US11868475B1 (en) System and methods for latency reduction for fuse reload post reset
CN116361233A (en) Micro controller
JP4543505B2 (en) Microcomputer control method and abnormality monitoring device
JP2004021421A (en) Control method for memory device, its program, and recording medium
JP2008293468A (en) Method for manufacturing motherboard

Legal Events

Date Code Title Description
RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20070626