|
VHDL Tutorial |
Boolean typein VHDL | ||
|
Introduction Fundamental concepts Modelling concepts Elements of behaviour Elements of structure Analysis elaboration Lexical elements Identifiers Numbers Characters and strings Syntax descriptions Constants and variables Scalar type Integer types Floating point types Time type Enumeration types Character types Boolean type Bits type Standard logic Sequential statements Case statements Loop and exit statements Assertion statements Array types & array operations Architecture bodies Entity declarations Behavioral descriptions Wait statements Delta delays Process statements Conditional signal assignment Selected signal assigment Structural descriptions Library and library clauses Procedures Procedure parameters Signal parameters Default values Unconstrained array parameter Functions Package declarations and bodies Subprograms in package Use clauses Resolved signals and subtypes Resolved signals and ports Parameterizing behavior Parameterizing structure |
.
Booleans
The predefined type boolean is defined as
type boolean is (false, true);
This type is used to represent condition values, which can control execution of a be- havioral model. There are a number of operators that we can apply to values of dif- ferent types to yield Boolean values, namely, the relational and logical operators. The relational operators equality (“=”) and inequality (“/=”) can be applied to operands of any type, provided both are of the same type. For example, the expressions
123 = 123, 'A' = 'A', 7 ns = 7 ns
all yield the value true, and the expressions
123 = 456, 'A' = 'z', 7 ns = 2 us
yield the value false. The relational operators that test ordering are the less-than (“<”), less-than-or- equal-to (“<=”), greater-than (“>”) and greater-than-or-equal-to (“>=”) operators. These can only be applied to values of types that are ordered, including all of the sca- lar types described in this chapter. The logical operators and, or, nand, nor, xor, xnor and not take operands that must be Boolean values, and they produce Boolean results.
|