From: Steven Sharp (sharp@cadence.com)
Date: Tue Mar 01 2005 - 19:36:58 PST
>Is it possible to bind individual instances of an array of instance via
>configuration to different modules.
At present, no. The BNF for configurations only allows identifiers for
the instance name, with no bracketed index. So it isn't possible. This
missing capability is filed in erratum 372.
However, I assume that your concern is with the situation where different
instances in an array of instances have different port widths. This is
possible without using configurations and different module definitions.
Simply use a module definition where the port width is parameterized, and
use a defparam to change the width of the port on one of the instances.
>If so then how to explain the last two points of the terminal connection
>rules of the array of instances.
I would interpret it as follows. There are two possibilities for a
connection to an array of instances. The port expression can match
the width of the port on each instance, in which case the port expression
is connected to the port on each instance. Or the port expression can
match the sum of the widths of the ports on all instances, in which case
appropriate width part-selects of the port expression are connected to
the port on each instances. Any other case is illegal.
If different instances have different port widths, it is clearly impossible
for the port expression to match the width of the port on each instance.
The port expression will mismatch one or more of the instance port widths.
If it does not match the total width of the ports on all instances, then
this must be illegal. It cannot be connected in either of the two possible
ways without having too many or too few bits, which makes it illegal. This
would be a very good thing to test in a standards compliance suite, as it
is obscure enough to have been implemented incorrectly.
Steven Sharp
sharp@cadence.com
This archive was generated by hypermail 2.1.4
: Tue Mar 01 2005 - 19:17:15 PST
and
sponsored by Boyd Technology, Inc.