Share via


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 に評価できるからです。

ICE リファレンス