Hi All,
Why bind method is really necessary in SVA ? As we can achieve the same through the hierarchical path.
bind fifo2: u1
pLib_fifo1 p1 (.wptr(qptr), .rptr(iptr), .cnt(word_counter));
the same thing cab be achieved , if we want to access the path for the fifo module.
define path
tb_top.fifo_inst
pLib_fifo1 p1 (.wptr(path.qptr), .rptr(
path.iptr), .cnt(`path.word_counter));
Thanks,
Abhijeet
You are correct in that the same functionality could be achieved, but there are still a number of advantages when using the bind construct:
- The scope of the assertions and other messages are correlated to the bound target instance. Makes it much easier to understand reports and aids debugging.
- You can bind to target all instances of a particular target module instead of explicitly having to list each one individually.
- Easier to read statement when the port list is big.