Hi Dave
The issue is that the argument as you pointed out the XYZ is an argument in a function
The argument is not evaluated before it goes to the macro
Let’s call the function and the reg_name le’ts make it uvm_reg type)
uvm_reg csr;
csr=find_ral_path_reg(BBS,DVSEC_FBRANGE1HIGH);
I should get as csr the following
m_tb_env.m_Ral2.ial_tc_bbs.DVSEC_FBRANGE1HIGH where the DVSEC_FBRANGE1HIGH
If I call the functions passing a different register name i.e
csr=find_ral_path_reg(BBS,DVSEC_FBRANGE1HIGH5); I should get as csr
m_tb_env.m_Ral2.ial_tc_bbs.DVSEC_FBRANGE1HIGH5
but I am not getting that
I am always getting
m_tb_env.m_Ral2.ial_tc_bbs.reg
I am getting the name I use as an argument to the macro
Is there a way the macro argument to be evaluated to whatever is being passed in the function?
Thanks