1. 介绍 From reading these it might be apparent that define macro can be used for adding a postfix to the variable, but not prefix. I was thinking the same after reading the description (they don't have a single example of adding prefix to the variable via `define. Confused ?? Let me explain by giving a concrete example view sourceprint? // Example macro for a coverage class // Aim : want to get ABC_cp : coverpoint ABC {bins b = {1}; } // by calling `COV(ABC) `define COV(__name) __name``_cp : coverpoint __name {bins b = {1}; } // Next // What to do if I want cp_ABC in place of ABC_cp as for the above example // NOTE : I can't use cp_``__name as cp_ is not an input to the macro // Solution // Use nested macros `define PREFIX(__prefix, __name) __prefix``__name `define COV2(__name) `PREFIX(cp_,__name) : coverpoint __name {bins b = {1}; }