In reply to S.P.Rajkumar.V:
Hi Reuben,
After little more analysis, I believe initial assertion would work fine even in the case reported by you (i.e, g_clk being gated version of ref_clk).
Because, ‘throughout’ as the name suggests that, it checks for validity of some condition (!g_clk) as long as other condition (CLK_EN → 1) becomes true; It doesn’t check only at each posedge of ref_clk_i.
Let me know your thoughts on the same.
I’ll try to simulate the scenario suggested by you later, to double check my analysis.
Thanks