I have the following problem I like to solve. I use bindings to bind system Verilog assertions to the RTL. To make sure that the binding is enabled I added at the beginning of the binding code a "sva xyz binding is alive" message. This binding will be instantiated many times because the block I bind my assertion to is used many times in the RTL. Now I got as many "is alive" messages as instantiated blocks, which spams the log file of the simulation.
Is there a way to prevent this ? The only way I have in mind is using a toplevel variable and access this variable via a hierarchical access, but this is just an ugly workaround.
This is the message I added at the beginning of my sva binding code
`ifndef _ALARM_FLAG_SVA_ON
`define _ALARM_FLAG_SVA_ON
initial begin
$display ("-I-: SVA binding for ALARM_FLAG is alive.");
end
`endif
The problem here is that I read the file only once, which means that the ifndef is correct for all multiple instance bindings.
thanks rth