Re: Modports -- which port identifiers may be legally included?


Subject: Re: Modports -- which port identifiers may be legally included?
From: Brad Pierce (Brad.Pierce@synopsys.com)
Date: Mon Nov 25 2002 - 18:16:20 PST


I've confirmed with Peter Flake that, because modports are just
a view of the associated interface, a modport declaration is only
able to see port names in its own local interface, even if that
interface is nested within a higher-level interface. Also, a
modport declaration cannot be used to implicitly declare new ports.

Systemsim would reject both of the following illegal interface
declarations --

   interface i;
          wire x, y;
          interface illegal;
            wire a, b, c, d;
            // x, y not declared in local interface
            modport master(input a, b, x, output c, d, y);
            modport slave(input a, b, x, output c, d, y);
          endinterface : illegal
          illegal ch1, ch2;
          modport master2 (chi.master, ch2.master);
   endinterface : i

   interface illegal;
           // a, b, c, d not declared in local interface
           modport master(input a, b, output c, d);
           modport slave(output a, b, output c, d);
   endinterface : illegal

Language and examples should be added to the LRM, section 13.4,
to make these restrictions clear.

-- Brad



This archive was generated by hypermail 2b28 : Mon Nov 25 2002 - 18:20:02 PST