|
|
|
|
|
|
|
|
|
|
|
|
Boolean Layer
|
|
|
Boolean layer is the lowest layer in concurrent layer, where boolean expression checking is done on variables. The result of boolean checking is either true or false. If the variables contain x or z, then the result is false. |
|
|
|
|
|
Boolean Expressions are allowed to include function calls, but certain semantic restrictions are imposed. |
|
|
|
|
|
- Functions that appear in expressions cannot contain output or ref arguments (const ref are allowed).
- Functions should be automatic (or preserve no state information) and have no side effects.
|
|
|
|
|
|
Boolean layer can not use following Operan types. |
|
|
|
|
|
- shortreal, real, and realtime
- string
- event
- chandle
- class
- Associative arrays
- Dynamic arrays
|
|
|
|
|
|
All operators other then assignment, increment and decrement operators can be used in Boolean layer. |
|
|
|
|
|
Example : Boolean
|
|
|
|
|
|
1 module assertion_boolean();
2
3 wire ce, en;
4 wire [7:0] addr;
5
6 // This code will not compile
7 (en && ce && addr < 100);
8
9
10 endmodule
You could download file assertion_boolean.sv here
|
|
|
|
|
|
In the example above whole of (en && ce && addr < 100) is boolean layer, which contains boolean operation on variable , which evalutes to either TRUE or FALSE; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Copyright © 1998-2014 |
Deepak Kumar Tala - All rights reserved |
Do you have any Comment? mail me at:deepak@asic-world.com
|
|