The 3.1 LRM does not specify
the visibility of program variables from a non-program context.
Change last paragraph in
Section 16.2 as shown:
Type and data declarations
within the program are local to the program scope and have static lifetime.
Program variables can only be assigned using blocking assignments. Non-program
variables can only be assigned using nonblocking
assignments. Using nonblocking assignments with
program variables or blocking assignments with design (non-program) variables
shall be an error. References to program variables
from outside any program block (e.g, module) shall be
an error.