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 PDFInfo
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
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.
また、設定制約が守られているか否かを判定する機能をハードウェアとしてモジュールに設け、この機能により設定制約が守られていないと判定された場合に、割り込み通知を行い、またはバスエラー処理を行う方法がある。
しかしながら、上述した従来の実機環境において生じた不具合からモジュールを特定する方法では、最初に特定されたモジュールの設定に問題があった場合、通常、不具合修正には多くの時間が費やされることはないが、設定間違いが別のモジュールの設定に起因している場合などは、その不具合発見、修正に多くの時間が費やされる。例えば、クロック生成ブロックで生成されるクロック信号の周波数の制約に間違いがあった場合などがこれに該当する。 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
信号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
ここでは、レジスタライトアクセスについて述べたが、リードアクセスについても同様である。詳細には、リードアクセスの場合、リードデータがアクセス終了信号と同時に各機能モジュールからレジスタチェックモジュール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
次に、レジスタチェックモジュール4の構成について図2および図3を参照しながら説明する。図2は図1のレジスタチェックモジュールの内部構成を示すブロック図、図3は図2の制御レジスタ群22に含まれる各制御レジスタおよびそれぞれのデータフォーマットを示す図である。
Next, the configuration of the
レジスタチェックモジュール4は、図2に示すように、レジスタI/F21、制御レジスタ群22、比較回路23、比較結果処理回路24、およびペリフェラルI/F25を有する。制御レジスタ群22には、ペリフェラル(周辺装置)である機能モジュール6,7,8などと同様に、複数の制御レジスタ(図示せず)が含まれており、各制御レジスタは、CPU2からアクセス可能である。レジスタI/F21は、CPU2から制御レジスタ群22内の各制御レジスタへのアクセス制御を行う。
As shown in FIG. 2, the
制御レジスタ群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
ここで、比較イネーブルレジスタ221、割り込みイネーブルレジスタ222、不一致書き込みイネーブルレジスタ223、履歴イネーブルレジスタ224、ステータスレジスタ225は、1つのセットとして存在するが、比較対象アドレスレジスタ226、比較モードレジスタ227、期待値レジスタ228,229は、複数のセットとして存在する。このセットの数は、チェックすべきIO(入出力)レジスタ分の数だけ用意されることになる。また、比較結果履歴レジスタ(アドレス履歴レジスタ230およびデータ履歴レジスタ231)も、複数のセットとして存在し、そのセットの数は、履歴として残すデータの種類の数分必要となる。
Here, the comparison enable
比較イネーブルレジスタ221は、レジスタアドレス「0x0000番地」に割り付けられており、比較シーケンスを実行するか否かを選択するためのレジスタである。このレジスタ値が0であると、比較シーケンスは実行されず、スキップされ、通常通りに各機能モジュール6,7,8の制御レジスタにアクセスされる。このレジスタ221は、比較機能全体をディセーブルにするためのものであって、レジストアドレス「0x0100+0x10*i+0x4番地」に割り付けられている比較モードレジスタ227内にある比較イネーブルフィールドとは、異なる。これについては、比較モードレジスタ227の説明で詳述する。
The comparison enable
割り込みイネーブルレジスタ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
不一致書き込みイネーブルレジスタ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
履歴イネーブルレジスタ224は、レジスタアドレス「0x000C番地」に割り付けられており、比較不一致を起こした場合に、比較結果履歴レジスタ(アドレス履歴レジスタ230およびデータ履歴レジスタ231)に対して履歴を残すか否かを選択するためのレジスタである。このレジスタ224は、履歴機能をモジュール最終段でマスクする機能であり、比較モードレジスタ227内にある履歴イネーブルフィールドとは異なる。これについては比較モードレジスタ227の説明で詳述する。
The history enable
ステータスレジスタ225は、レジスタアドレス「0x0010番地」に割り付けられており、ステータスフラグフィールド、エラーカウントフィールド、および履歴数フィールドを有する。ステータスフラグフィールドには、比較結果で不一致が生じた場合、かつ不一致を起こした要因の割り込みフィールドが1の場合に、所定値がセットされる。この所定値は、割り込みイネーブルレジスタ222の値には依存しないものである。CPU2への割り込み信号は、このステータスフィールドと割り込みイネーブルレジスタのAND条件が成立すると発生される。割り込み要因をクリアするためには、ステータスフィールドに0を書き込めばよい。エラーカウントフィールドは、比較不一致が生じた数を記録するためのフィールドであり、割り込みが有効な設定か否かには依存せず、その数は、不一致が生じるたびにインクリメントされる。このエラーカウントフィールドは、0クリアが可能である。履歴数フィールドは、比較結果履歴レジスタ(アドレス履歴レジスタ230およびデータ履歴レジスタ231)に格納された数を示すフィールドである。履歴数フィールドの値は、履歴を残すように設定された比較対象について比較不一致が生じた場合に、上記比較結果履歴レジスタに履歴を書き込むと同時にインクリメントされる。このフィールドについても0クリア可能である。ただし、ステータスレジスタ225の全てのフィールドにおける0以外の書き込みは、全て無効である。
The
比較対象アドレスレジスタ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
上記比較イネーブルフィールドは、比較機能を有効にするか否かを決定するためのフィールドである。このフィールドは、比較イネーブルレジスタ221とは異なり、比較対象となる制御レジスタのイネーブル設定を個別に行うためのフィールドである。
The comparison enable field is a field for determining whether to enable the comparison function. Unlike the comparison enable
上記比較モードフィールドは、比較モードのタイプを設定するためのフィールドである。比較モードとしては、単純な即値データと比較するモード、特定のビットフィールドをマスクパターンと比較するモード、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
範囲比較モードについては、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
他レジスタ比較モードは、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
各期待値レジスタ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
以上の制御レジスタのうち、比較対象アドレスレジスタから期待値レジスタまでの各制御レジスタ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
比較結果処理回路24は、比較結果に基づいて、各機能モジュールへのアクセスを実行するか、また比較結果がNGである場合に割り込み通知を行うか、また履歴を残すかの処理制御を行う。
Based on the comparison result, the comparison
ペリフェラルI/F25は、比較不一致を起こし、かつ比較モードレジスタの不一致書き込みフィールドが「ディセーブル」の場合、スレーブI/F5からのアクセス開始信号をマスクし、アクセスをキャンセルする。一方、比較対象でない制御レジスタへのアクセスの場合、比較結果が一致した場合、または不一致書き込みフィールドが「イネーブル」の場合、ペリフェラルI/F25は、スレーブI/F5からのレジスタアクセス開始信号をマスクすることなくそのまま出力する。ただし、上記レジスタアクセス開始信号のマスクについては、スレーブI/F25からのアクセス開始信号を受けてから、比較処理が完了するまでが複数のサイクルに及ぶので、ステートマシンで管理される必要がある。特に、他の制御レジスタとの比較を行う場合は、確実に複数サイクルの比較期間が必要となる。
When the peripheral I /
次に、本実施の形態における、レジスタアクセスが行われてから比較処理を経て、レジスタアクセスが完了するまでの手順について図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
図4に示すように、CPU2がペリフェラル(機能モジュール6,7,8のいずれか)のレジスタa0(図示せず)にアクセスを開始すると(ステップS1)、スレーブI/F5は、レジスタアクセス開始信号をアサートする(ステップS2)。これと同じサイクルで、レジスタアドレスとレジスタ書き込みデータが有効となる。レジスタチェックモジュール4は、上記レジスタアドレスおよびレジスタ書き込みデータを受け、まず比較イネーブルレジスタ2211の値をチェックする(ステップS3)。そして、レジスタチェックモジュール4は、上記チェックの結果がイネーブルであるか否かを判定する(ステップS4)。
As shown in FIG. 4, when the
上記ステップ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
ペリフェラル(機能モジュール)は、上記アクセス開始信号、アドレスおよび書き込みデータを受けて対応するレジスタ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
レジスタチェックモジュール4は、上記アクセス完了信号を受け、スレーブI/F5へアクセス完了信号を出力し(ステップS30)、スレーブI/F5は、システムバス1にレディ信号を返し(ステップS31)、バスを解放するすなわち処理を終了する(ステップS32)。
The
これに対し、比較イネーブルレジスタ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
これに対し、上記ステップ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
上記ステップS9において比較イネーブルフィールドがイネーブルであると判定された場合、レジスタチェックモジュール4は、比較モードレジスタ227内の比較モードフィールドの値をチェックし(ステップS10)、設定されている比較モードを判別する(ステップS11)。
If it is determined in step S9 that the comparison enable field is enabled, the
上記ステップS11で判別された比較モードが即値比較モードである場合、レジスタチェックモジュール4は、単純に書き込みデータと期待値レジスタ228に格納されている値とを比較する(ステップS12)。
If the comparison mode determined in step S11 is the immediate comparison mode, the
上記ステップ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
上記ステップS11で判別された比較モードが範囲比較モードである場合、レジスタチェックモジュール4は、期待値レジスタ228,229にそれぞれ格納されている下限期待値および上限期待値を参照し、書き込みデータが下限期待値と上限期待値との間にあるか否かをチェックする(ステップS14)。
When the comparison mode determined in step S11 is the range comparison mode, the
上記ステップ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
設定された比較モードでの処理が完了すると、レジスタチェックモジュール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
また同時に、比較結果処理回路24は、割り込みイネーブルレジスタ222と、比較不一致を起こした制御レジスタアドレスに相当する比較モードレジスタ227内の割り込みイネーブルフィールドとをチェックし(ステップS25)、そのチェックの結果に基づいて両方がイネーブルであるか否かを判定する(ステップS26)。ここで、割り込みイネーブルレジスタ222と対応する割り込みイネーブルフィールドとの両方がイネーブルであれば、比較結果処理回路24は、ステータスレジスタ225のステータスフラグをセットし、さらに割り込み信号をアサートする(ステップS27)。
At the same time, the comparison
もし割り込みモードレジスタ222の割り込みフィールドのみがイネーブルの場合は、ステータスレジスタ225のステータスフィールドは、1にセットされる。ただし、割り込みイネーブルレジスタ222がディセーブル状態のため、割り込み信号はアサートされない。そして、比較結果処理回路24は、本処理を終了する。
If only the interrupt field of the interrupt mode register 222 is enabled, the status field of the
また同時に、比較結果処理回路24は、不一致書き込みイネーブルレジスタ223と不一致を起こした比較対象レジスタアドレスに相当する比較モードレジスタ227内の不一致書き込みフィールドとをチェックし(ステップS28)、両方がイネーブルであるか否かを判定する(ステップS29)。ここで、両方がイネーブルである場合、比較結果処理回路24は、通常のペリフェラルへのレジスタアクセスを開始する(ステップS18)。その後の手順は、通常のレジスタアクセス時と同様である。
At the same time, the comparison
上記ステップ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
このように、本実施の形態によれば、ソフトウェア開発の初期の段階においてレジスタ設定値間違いを発見することができる。 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
また、比較結果の履歴を残すことによって、割り込みハンドラ内で不適切なレジスタ設定が行われた履歴を確認することができる。 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-
レジスタチェックモジュール4は、比較モードおよび他の情報を含む期待値データを読み出す際に、SRAM103に対して信号105を送出し、アクセスを行う。また、SRAM103は、汎用的に使用され、この場合も、システムバス1からSRAM103へアクセスが行われる。SRAM103への上記2つのアクセスは、セレクタ102で切り替えられる。このセレクタ102の切り替え動作は、レジスタチェックモジュール4からの切り替え信号104により制御される。
When the
レジスタチェックモジュール4は、図7に示すように、上記第1の実施の形態のレジスタチェックモジュール4に対し、SRAMI/F123が設けられている制御レジスタ群122を有する点で異なる。制御レジスタ群122には、上記第1の実施の形態と同様に、比較イネーブルレジスタ、割り込みイネーブルレジスタ、不一致書き込みレジスタ、履歴イネーブルレジスタおよびステータスレジスタが含まれる。また、制御レジスタ群122には、比較対象数レジスタ、比較対象レジスタアドレス用ベースアドレスレジスタ、比較モード用ベースアドレスレジスタ、期待値(A,B)用ベースアドレスレジスタ、アドレス履歴用ベースアドレスレジスタおよびデータ履歴用ベースアドレスレジスタが新規に追加される。これらのレジスタは、全て、1セットのみである。
As shown in FIG. 7, the
SRAM103には、上記レジスタ以外の複数セットからなる、比較対象アドレスレジスタ、比較モードレジスタ、期待値データレジスタ、アドレス履歴レジスタ、データ履歴レジスタの全てが設けられている。
The
新規に追加される比較対象数レジスタには、比較対象とする少なくとも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
図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
履歴については、履歴専用の履歴数レジスタ、アドレス履歴用ベースアドレスレジスタ、およびデータ履歴用ベースアドレスレジスタを用いて履歴領域をSRAM103内に確保しすればよい。図8において、a,b,…,jは、履歴番号であり、ここでは、10個の比較不一致までの履歴を格納することができる。
As for the history, a history area may be secured in the
本実施の形態の場合、レジスタアクセスが行われてから比較処理を経て、レジスタアクセスが完了するまでの手順は、上記第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
また、開発後期にはSRAM103内をレジスタチェック用ではない他の汎用的な目的に使用することができる。このSRAM103の切り替え信号104は通常SRAMI/F101の選択を指示しており、比較パラメータのアクセス時にのみレジスタチェックモジュール4内のSRAMI/F123の選択を指示する。レジスタチェックモジュール4からのSRAM103への比較パラメータの読み出し時には、システムバス1のバストランザクションは閉じてないので、SRAM103へのアクセスは、確実に排他アクセスとなる。
In the later stage of development, the
また、CPU2を含む全バスマスタがスレーブとしてアクセス可能なSRAM103領域のうち、実製品ソフトウェアに使用しない領域を本比較パラメータ格納領域として使用することができる。この場合、レジスタチェックモジュール4内の比較対象数レジスタと各ベースアドレスレジスタは、SRAM103領域のうち、本比較パラメータ格納領域用として許容された領域を超えないように指定される。
Of the
また、本実施の形態においては、レジスタ設定期待値格納手段をソフトウェアによって書き換え可能なレジスタまたはSRAM103として説明したが、これを論理上固定値として実装することも当然可能であり、その場合、後に設定を書き換えることができなくなるが、自由度と回路規模のトレードオフによる実装方法を選択することは可能である。
Further, in the present embodiment, the register setting expected value storage means has been described as a register or
また、SRAM103を用いることによって、LSIの完成後に期待値を追加したり、書き換えたりすることができる。
Further, by using the
また、SRAM103が汎用なスレーブデバイスとして実装し、複数セット存在しうる各比較パラメータをSRAM103内に移動し、最小限の制御レジスタのみをレジスタチェックモジュール4内に残すことによって、レジスタチェックモジュール4自体の回路規模を最小限にすることができる。また、レジスタチェックモジュール4内に残されたレジスタの全ては、比較対象数に依存しないので、自由度が高い設計が可能になる。
Also, the
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
4
6, 7, 8
22
102
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ないし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
前記比較工程での比較結果が前記制御レジスタに対して設定される設定値と前記レジスタ設定期待値格納手段に格納されている期待値との不一致を示す場合、前記中央処理装置に対してエラー通知を出力するエラー通知工程と
を有することを特徴とするレジスタ設定値監視方法。 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
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)
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 |
-
2005
- 2005-04-08 JP JP2005112617A patent/JP2006293641A/en active Pending
Cited By (2)
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'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 |