Re: Array of instances and configuration

From: Steven Sharp (sharp@cadence.com)
Date: Tue Mar 01 2005 - 19:36:58 PST

  • Next message: Steven Sharp: "Re: Array of instances and configuration"

    >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.