Nios® Vプロセッサーのリファレンス・マニュアル

ID 683632
日付 3/28/2022
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

2.3.7.4. デバッグモードの抽象コマンド

Nios® V/mプロセッサーは、Access Register抽象コマンドを実装します。Access Registerコマンドを使用すると、GPR、CSR、FPレジスター、プログラムカウンタなどのプロセッサー・レジスターへの読み出し/書き込みアクセスが可能になります。アクセス・レジスターは、プログラムバッファーからのプログラム実行も可能にします。デバッガーは、Access Registerコマンド・エンコーディングを使用して抽象コマンド (command) レジスターに書き込むことにより、Access Registerコマンドを実行します。 

表 10.  アクセス・レジスター・コマンド・エンコーディング
ビット・フィールド
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
cmdtype 0 aarsize aarpostincrement postexec transfer write
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
regno
表 11.  フィールドの説明
フィールド 役割
cmdtype コマンドタイプを決定します。

0 : Indicates Access Register command.

aarsize レジスターアクセスのサイズを指定します 。

2: Access the lowest 32 bit of register

3: Access the lowest 64 bit of register

4: Access the lowest 128 bit of register

aarpostincrement 0: No effect

1: regno is incremented after successful register access

postexec

0: No effect

1: Execute program in program buffer
transfer

書き込みフィールドと連動して機能します。

0: Ignore value in write field

1: Execute operation specified by write field.
write

0: Copy data from register

1: Copy data to register
regno アクセスするアドレスをレジスターします。
注: Nios V/mプロセッサーは、ハードウェア・スレッドが停止していない場合、抽象コマンドをサポートしません。
表 12.  実装されていないコマンドに対するソフトウェアの応答
フィールド ステート
cmderr[10:8] 0 エラーなし
1 ビジー
2 コマンドはサポートされていません。
3 Exception -プログラムバッファー命令から。
4 ハートが使用できないか、コマンドを実行するための正しい状態にないため、コマンドが実行されません。
5 バスエラーのために抽象コマンドが失敗しました。
6 RSVD
7 他の理由でコマンドが失敗しました。
デバッグモジュールには、cmderrフィールドを含むコントロールとステータス・レジスター(CSR)があります。cmderr フィールドは、実行中の抽象コマンドの現在の状態を表します。cmderr フィールドがゼロ以外の場合、 command レジスターは無視されます。cmderr フィールドをクリアするには 、フィールドのすべてのビットに1を書き込みます。
図 4. デバッグ・モジュール・インターフェイス信号

Avalon® メモリーマップド・インターフェイスは、デバッグモジュールがイニシエーターであり、コアがレスポンダーである要求/応答バスを使用して、レジスターアクセスを実装します。アドレスバスはレジスターIDを伝送します。