`define macros usage

In reply to vdadwal:

No. The macro should be defined as

`define xyz(I,R)\
assign abc[I].clk = R.du``I``_clk_x;

If you have du``I_clk_x;, then the compiler would only see the tokens du and I_clk_x, and not just I.