In reply to MICRO_91:
Good question!
I modified your code to include the qmclocs for sequence, and pclocks for property.
The key as to why comes from the following warning given by a tool:
*** Warning: testbench.sv(6): (vlog-2047) Sequence/SERE ‘qclocks’ declared in ‘property_VS_Seq’ has multiple leading clocks. Such
sequence/SERE cannot be instanced asmaximal property of a directive.*
The key as to why if provided by this tool warning:
** Warning: testbench.sv(6): (vlog-2047) Sequence/SERE ‘qclocks’ declared in ‘property_VS_Seq’ has multiple leading clocks. Such sequence/SERE cannot be instanced as [b]maximal property of a directive.[/b]
1800’2017: the term maximal property, used in the rules below, is defined as the unique flattened property contained in the assertion statement and obtained by applying the rewriting algorithm in F.4.1 a)
labeled page 376: A multiclocked sequence or property can inherit the default clocking event as its leading clocking event. If a multiclocked property is the maximal property of a concurrent assertion statement, then the property shall have a unique semantic leading clock (see 16.16.1 ).
16.16.1 Semantic leading clocks for multiclocked sequences and properties.
Throughout this subclause, s, s1, and s2 denote sequences without clocking events; p, p1, and p2 denote properties without clocking events; m, m1, and m2 denote multiclocked sequences, q, q1, and q2 denote multiclocked properties; and c, c1, and c2 denote nonidentical clocking event expressions.
A multiclocked sequence has a unique semantic leading clock, defined inductively as follows:
…
— The semantic leading clock of (m) is equal to the semantic leading clock of m.
— The semantic leading clock of m1 ##1 m2 is equal to the semantic leading clock of m1.
— The semantic leading clock of m1 ##0 m2 is equal to the semantic leading clock of m1.
[Ben] I still don’t see the answer here. I am asking the question to some 1800 colleagues and to one vendor. I’ll get back to you when I get an answer.
Obviously this is getting into the deeper definitions and restrictions of 1800…
… an interesting world!
:)