デバッグ プローブの条件は、2 方向および 3 方向の分岐条件文内で使用できます。各デバッグ プローブ条件では、そのデバッグ プローブが接続された ILA の PROBE ポートの 1 つのトリガー コンパレータが使用されます。
重要: 各 PROBE ポートは、1 ~ 16 個のトリガー コンパレータを含めてコンパイル時にコンフィギュレーションできます。つまり、特定のデバッグ プローブは、PROBE ポートにコンフィギュレーションされたコンパレータ数によって、トリガー ステート マシン プログラム全体においてデバッグ プローブ条件文で 1 ~ 16 回までしか使用できません。
デバッグ プローブ条件には、比較演算子と値が含まれます。有効なデバッグ プローブ条件の比較演算子は次のとおりです。
- == (等価)
- != (不等価)
- > (大なり)
- < (小なり)
- >= (以上)
- <= (以下)
有効な値は、次の形式になります。
<bit_width>'<radix><value>
説明:
- <bit width>: プローブ幅 (ビット)。
-
<radix>: 次のいずれかになります。
- b (2 進数)
- h (16 進数)
- u (符号なし 10 進数)
-
<value>
: 次のいずれかになります。-
0
(論理 0) -
1
(論理 1) -
X
(ドントケア) -
R
(0 から 1 への遷移): 1 ビット プローブの場合にのみ有効 -
F
(1 から 0 への遷移): 1 ビット プローブの場合にのみ有効 -
B
(両遷移): 1 ビット プローブの場合にのみ有効 -
N
(遷移なし): 1 ビット プローブの場合にのみ有効
有効なデバッグ プローブ条件値の例を次に示します。
-
- 1 ビットの 2 進数値 0
1'b0
- 12 ビットの 16 進数値 7A
12'h07A
- 9 ビットの整数値 123
9'u123
デバッグ プローブ条件文の例を次に示します。
- 値が 0 の abc という 1 ビット デバッグ プローブ
if (abc == 1'b0) then
- 値が 456 以上の xyz という 23 ビット デバッグ プローブ
if (xyz >= 23'u456) then
- 値が 16 進数 A5 ではない klm という 23 ビット デバッグ プローブ
if (klm != 23'h0000A5) then
複数のデバッグ プローブ条件文の例を次に示します。
- 2 つのデバッグ プローブの比較を OR 関数で組み合わせ
if ((xyz >= 23'u456) || (abc == 1'b0)) then
- 2 つのデバッグ プローブの比較を AND 関数で組み合わせ
if ((xyz >= 23'u456) && (abc == 1'b0)) then
- 3 つのデバッグ プローブの比較を OR 関数で組み合わせ
if ((xyz >= 23'u456) || (abc == 1'b0) || (klm != 23'h0000A5)) then
- 3 つのデバッグ プローブの比較を AND 関数で組み合わせ
if ((xyz >= 23'u456) && (abc == 1'b0) && (klm != 23'h0000A5)) then