Nios II Gen2 プロセッサー・リファレンス・ガイド

ID 683836
日付 10/28/2016
Public
ドキュメント目次

8.5.41. custom

命令 カスタム命令
演算

c == 1 ならば

rC  ←  fN(rA, rB, A, B, C)

そうでなければ Ø ←  fN(rA, rB, A, B, C)

アセンブラー構文

custom N, xC, xA, xB

ここでの xA は汎用レジスター rA またはカスタムレジスター cA のいずれかを意味する。

custom 0, c6, r7, r8

説明

customオペコードは、Nios II アーキテクチャーで可能な最大 256 個のカスタム命令へのアクセスを提供している。カスタム命令で実装される関数はユーザー定義であり、かつ Qsys の Nios_II Processor パラメーター・エディターで指定されている。8 ビットの即値 N フィールドは使用するカスタム命令を指定する。カスタム命令は xA と xB の最大 2 つのパラメーターを使用でき、オプションで結果をレジスター xC に書き込むことも可能である。

使用法

カスタム命令のロジック内部のカスタムレジスターにアクセスするには、レジスターフィールドと対応するビット readra、readrb、または writerc をクリアーする。アセンブラー構文では、表記 cN はカスタム・レジスター・ファイル内のレジスター N を参照し、アセンブラにーオペコードの c ビットをクリアーさせる。例えば、custom 0, c3, r5, r0は汎用レジスター r5 と r0 で動作するカスタム命令 0 を実行し、その結果をカスタムレジスター 3 に格納する。

例外

なし

命令型

R

命令フィールド

A = オペランド A のレジスター・インデックス

B = オペランド B のレジスター・インデックス

C = オペランド C のレジスター・インデックス

readra = 命令が rA を使用する場合は 1、それ以外の場合は 0

readrb = 命令が rB を使用する場合は 1、それ以外の場合は 0

writerc = 命令が rC に対して結果を生成する場合は 1、それ以外の場合は 0

N = 命令を選択する 8 ビットの数

ビットフィールド
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
A B C readra
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
readrb readrc N 0x32