The Boolean type is predefined in the Standard package as an enumerated data type with two possible values: false and true.
type boolean is (false,true);
The boolean type is used for conditional operations. Boolean objects can be used with any of the relational operators <, >, <=, >=, = or /=.
According to the definition type, the leftmost value of the Boolean type is false, therefore the default value of any object of the Boolean type is false.
Since the boolean type is defined in the Standard package, it can be used in any VHDL specification without additional declarations.
signal CondSup : boolean;
. . .
CondSup <= true;
. . .
if CondSup then -- could be: if CondSup = true then
The CondSup signal is declared as boolean but without any initial value. Therefore, by default it will be assigned the false value. A conditional operation could have been used instead as shown in the comment, but such a form would contain useless redundancy and should be avoided.
· Unlike in traditional ("hand-based") digital design, boolean values (false and true) are NOT identical to logical 0 and 1, respectively. In VHDL, the latter form is a completely different type and is called the Bit type.