| `include "macros.inc" |
| `uvm_info("LABEL", "Started connect phase.", UVM_HIGH); |
| |
| // Examples of `define text macros |
| `define MY_NUMBER 5 |
| `define MY_STRING "Hello world!" |
| `define ADD2PLUS2 2 + 2 |
| `define ADD5(RESULT, SOURCE) \ |
| RESULT = SOURCE + 5; \ |
| $display("Inside ADD5 macro. Scope is %m"); |
| |
| `define define |
| |
| `define |
| |
| module test; |
| |
| reg [7:0] a, b; |
| |
| initial begin |
| $display(`MY_NUMBER); |
| $display(`MY_STRING); |
| $display(2 + 2); |
| $display(`ADD2PLUS2); |
| |
| a = 1; |
| `ifdef MY_FEATURE |
| `ADD5(b, a) |
| $display("a:%0d, b:%0d", a, b); |
| `else |
| $display("No feature"); |
| `endif |
| end |
| |
| endmodule |