この I レベル・メッセージは、プログラムの熟練度が低く、エラーの可能性があることを アラートします。
IBM2804I I Boolean is compared with something other than ’1’b or ’0’b.
2 つの式の比較の結果、またはブールの AND、OR、または否定の結果は、ブールになります。 そのため、ブールは、’1’b または ’0’b の値しか持つことができません。 これらの値以外の値とブールを比較するようコーディングしている場合は、問題を示す ことがあります (例えば、式 (a > b) = c は (a + b) = c という意味だったかもしれません)。
ブールを BIT(1) STATIC INIT(’1’b) として宣言された値と比較した場合であっても、 コンパイラーはこのメッセージを生成することに注意してください。 この状態はプログラミング・エラーではありませんが、コンパイラーは、値が BIT(1) VALUE(’1’b) として宣言されて生成されたコードほど良好なコードを生成することができません。