ICE70
ICE70 は、レジストリ エントリの整数値が正しく指定されていることを確認します。 ##str、#%unexpanded str という形式の値は確認されません。 xhex、#Xhex、#integer、#[property] という形式の値は確認されます。 簡単な概要を次の表に示します。
値 | 検証 |
---|---|
##str | valid |
#%unexpanded str | valid |
#xHex,#XHex | 有効な 16 進文字 (0-9、a-f、A-F) かどうかを確認します。 ここではプロパティを使用できます。 |
#+int、#-int、#int | 有効な数値文字 (0-9) かどうかを確認します。 ここではプロパティを使用できます。 |
レジストリに入力する整数値の構文は #integer です (この integer は数値です)。
結果
レジストリ エントリの整数値が正しく指定されていない場合、ICE70 はエラーを報告します。
例
ICE70 は、次の例のようなエラーを報告します。
The value #12xz34 is an invalid numeric value for registry entry Reg1. If you meant to use a string, then the string value entry must be preceded by ## not #.
このエラーを修正するには: 値を数値にする場合は、すべて数値文字を使うように値を変更します。 値を文字列にする場合は、1 つだけでなく 2 つの "#" (##) を値の前に付ける必要があります。
The value #xz34 is an invalid hexadecimal value for registry entry Reg2.
このエラーを修正するには: 有効な 16 進数文字は 0 から 9、A から F、a から f です。 #x (または #X) の後に指定できるのは、これらの文字のみです。
Registry テーブル (部分)
レジストリ | 値 |
---|---|
Reg1 | #12xz34 |
Reg2 | #xz34 |
解説
- #[myproperty] は有効です。
- #[myproperty は有効ではありません (終了の角かっこがありません)。
- #[myprop1] [myprop2 は有効です。 (最後の例は末尾に角かっこがありませんが、myprop1 は #str に評価できるので、##str [myprop2 となります。これは有効です
- #]myproperty[ は有効ではありません
- 値文字列に埋め込まれたプロパティを [$compkey]、[#filekey]、または [!filekey] の形式にすることはできません。これらは数値ではないからです。 ただし、1 つの例外として、#[myproperty] [$compkey] (または [#filekey] または [!filekey]) は有効です。なぜなら、先ほどと同様に [myproperty] は #str に評価できるからです。
関連トピック