Using Multi-clocked intersect operator

In reply to ben@SystemVerilog.us:

Because the lengths of the two matches of the operand sequences cannot be guaranteed to be the same.

I see your point .
and / or operator do not have the requirement that the lengths of the LHS and RHS be the same , hence and / or operator can have non-identical clocks in LHS and RHS.

I tried using throughout operator :


 property  inter_sect ;
   not( @( ip_clk ) 1 ) throughout  @(posedge global_clk) ( $fell( en ) [->1] );  
  endproperty

As the LHS of throughout operator can’t be temporal , I observe compilation error

So to summarize multi-clocked properties are only valid for and/or/not operators,
i.e the LHS and RHS can have non-identical clocks

Have another question :

Also, your example not( @( ip_clk ) 1 ) intersect @(posedge global_clk) ( $fell( en ) [->1] ); has a property_expr intersect sequence_expr, which is illegal.

Why is $fell( en )[->1] considered a sequence_expression ?
As the intersect operator is written within a property , won’t it consider RHS as property automatically ?