Clocking domains cannot be
nested. They cannot be declared inside functions, or tasks,
packages, or outside all declarations in a compilation
unit at the global ($root) level. Clocking domains can only be declared inside a
module, interface or program (see Section 16).
program test( input
bit clk, input reg [15:0]
data ) ;
module cpu( interface y ) ;
statement ::=
[ block_identifier : ] { attribute_instance
}statement_item
statement_item ::=
...
| { attribute_instance } clocking_drive