ICE70
ICE70 verifies that integer values for registry entries are specified correctly. Values of the form ##str, #%unexpanded str are not validated. Values of the form #xhex, #Xhex, #integer, and #[property] are validated. The following table provides a brief overview.
Value | Validation |
---|---|
##str | valid |
#%unexpanded str | valid |
#xHex,#XHex | Validate for valid hex characters (0-9,a-f,A-F). Properties are allowed here. |
#+int, #-int, #int | Validate for valid numeric characters (0-9). Properties are allowed here. |
The syntax for an integer value to be entered into the registry is #integer where integer is numerical.
ICE70 reports an error if integer values for registry entries are not specified correctly.
ICE70 reports the following errors for the given example.
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 #.
To fix this error: If you want the value to be numeric, change the value to use all numeric characters. If you want the value to be a string, it must be preceded by two '#' (##) instead of just one.
The value #xz34 is an invalid hexadecimal value for registry entry Reg2.
To fix this error: Valid hexadecimal characters are 0-9, A-F, and a-f. Only these characters can follow the #x (or #X).
Registry table (partial)
Registry | Value |
---|---|
Reg1 | #12xz34 |
Reg2 | #xz34 |
- #[myproperty] is valid.
- #[myproperty is not valid (missing ending bracket).
- #[myprop1] [myprop2 is valid. (Even though the last one is missing the ending bracket, myprop1 could evaluate to #str so you would have ##str [myprop2, which is valid
- #]myproperty[ is not valid
- Any embedded property in a value string cannot be in [$compkey], [#filekey], or [!filekey] form because these are not numeric. However, there is one exception, #[myproperty] [$compkey] (or [#filekey] or [!filekey]) is valid because, as with the preceding, [myproperty] can evaluate to #str.