In reply to dave_59:
So, Currently the simulation has compilation error since i have added this portion of the code.
It is not happy about This particular line
"my_cg m_my_cg1;" and states it as "Syntactically this identifier appears to begin a datatype but it does not refer to a visible datatype in the current scope."
Thus please let me explain the code structure:
class my_fcov extends uvm_subscriber #(my_sqi);
covergroup my_cg with function sample(bit cp_s);
extern function new(string name, uvm_component parent);
extern virtual function void write(my_sqi t);
function my_fcov::new(string name, uvm_component parent);
m_my_cg1 = new[P_NUM];
foreach (m_my_sqi.my_variable[i]) m_my_cg1[i] = new();
function void my_fcov::write(my_sqi t);
foreach (m_my_sqi.my_variable[i]) m_my_cg1[i].sample(m_my_sqi.my_variable[i]);
As the part of coverage i haven't been able to see anything as it has a compilation error itself.