Skip to content

Check Template Interface Arguments

Andrei Tumbar edited this page Sep 24, 2026 · 1 revision

This algorithm checks that the port interface instance argument bound to each port interface instance template parameter satisfies the interface declared for that parameter. It checks the parameters of a module template definition once for each expansion of that definition, and not at all if the definition is never expanded.

Input

  1. An analysis data structure a representing the results of analysis so far.

  2. The template expansion map, the component instance map, the interface map, and the topology map of a must already be filled in.

Output

Nothing, if the check passes; otherwise an error.

Procedure

For each entry in the template expansion map of a, and for each port interface instance parameter symbol b in the parameter map of that expansion, with parameter q and argument p:

  1. Look up the interface instance N that p refers to. Check that p refers to a component instance definition, a topology definition, or a bound port interface instance parameter.

  2. Look up the interface I that the qualified identifier in q refers to. Check that it refers to an interface definition.

  3. Check that the port interface of I is a sub-interface of the port interface of N.

Clone this wiki locally