インテルのみ表示可能 — GUID: udz1657178880602
Ixiasoft
3.3.8.3. トリガー
Nios® Vプロセッサー・コアでは、1つのアドレスまたはデータ一致トリガーをサポートします。トリガーレジスターにアクセスするには、RISC-V csr オプコードまたは抽象デバッグコマンドを使用します。トリガーが発生すると、デバッグモードに入るか、またはブレークポイント例外が生じます。これは、トリガーレジスターに依存します。
名前 | レジスター | 説明 |
---|---|---|
tselect | Trigger Select | Nios® Vプロセッサーでは1つのトリガーをサポートします。そのため、プロセッサーでは、デフォルトでTrigger 0を選択します (値は0に設定されます)。 |
tdata1 | Trigger Data 1 | type フィールドの値は2です。これは、Trigger 0がアドレスまたはデータ一致トリガーであることを表します。tdata レジスターへの書き込み動作は、dmode フィールドに依存します。残りのビットは mcontrol として動作します。 |
mcontrol | Match Control | action、m、execute、store、およびload フィールドに従って、アドレスとデータトリガーの実装を制御します。 Nios® Vプロセッサーによる他のフィールドの実装は行われません。 |
tdata2 | Trigger Data 2 | トリガー固有のデータ (仮想アドレス、命令オプコード、格納またはロードされたデータ) を保持します。 |
tinfo | Trigger Info | infoフィールドの値は、デフォルトでは4です。これは、tdata1.type が2であることを意味します。選択したトリガーがアドレスまたはデータ一致トリガーであることを意味します。 |
mcontrol レジスターのビットフィールド設定に基づき、 Nios® Vプロセッサーでは、選択したトリガーが tdata2 レジスターに一致した後、異なるトリガータイプを実装することができます。
トリガー | 条件 | 発生時間 | 例外プログラムカウンター |
---|---|---|---|
命令アドレストリガー | プログラムカウンターが tdata2 と一致 | 命令実行前 | プロセッサーはMachine Exception Program Counter (mepc) を命令アドレス (PC) に設定します。 |
命令オプコードトリガー | 命令オプコードが tdata2 と一致 | 命令実行前 | |
ストア・アドレス・トリガー | ストアアドレスが tdata2 と一致 | ストア命令実行後 | プロセッサーは mepc を次の命令アドレス (PC+4) に設定します。 |
ストア・データ・トリガー | ストアデータが tdata2 と一致 | ストア命令実行後 | |
ロード・アドレス・トリガー | ロードアドレスが tdata2 と一致 | ロード命令実行後 | |
ロード・データ・トリガー | ロードデータが tdata2 と一致 | ロード命令実行後 |
トリガー | mcontrol ビットフィールド | |||
---|---|---|---|---|
select | Execute | store | load | |
命令アドレス | 0 | 1 | 0 | 0 |
命令オプコード | 1 | 1 | 0 | 0 |
ストアアドレス | 0 | 0 | 1 | 0 |
ストアデータ | 1 | 0 | 1 | 0 |
ロードアドレス | 0 | 0 | 0 | 1 |
ロードデータ | 1 | 0 | 0 | 1 |
注: トリガーは次の状況ではディスエーブルされます。
- Nios® Vプロセッサーがデバッグモードの場合
- Nios® Vプロセッサーがマシンモードで、mcontrol.m または mcontrol.type が0の場合