RE: [sv-bc] RE: Clarification for `1 usage in unpacked array concatenation

From: Brad Pierce <Brad.Pierce@synopsys.com>
Date: Thu Jul 24 2014 - 22:51:47 PDT
Gord writes in http://www.eda.org/sv-bc/hm/11605.html

>and even why this was ever defined rather than just an aggregate

According to the Mantis item http://www.eda.org/svdb/view.php?id=1702 , the motivation for unpacked array concatenations was because of queue assignment syntax problems, such as http://www.eda.org/svdb/view.php?id=520 .

According to 10.10.1, "array concatenations ... offer the additional flexibility of composing an array value from an arbitrary mix of elements and arrays" and "Unpacked array concatenation is especially useful for writing values of queue type" and "In some simple cases both forms can have the same effect, as in the following example:

int A3[1:3];
A3 = {1, 2, 3}; // unpacked array concatenation: A3[1]=1, A3[2]=2, A3[3]=3
A3 = '{1, 2, 3}; // array assignment pattern: A3[1]=1, A3[2]=2, A3[3]=3

To me it seems a desirable outcome that when all of the items are assignment compatible with the element type of the target array then assigning an unpacked array concatenation or a positional assignment pattern would give the same result.  That consistency between the two forms shouldn't get in the way of achieving the original purpose, which was writing queue assignments nicely.

-- Brad

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Thu Jul 24 22:54:50 2014

This archive was generated by hypermail 2.1.8 : Thu Jul 24 2014 - 22:54:57 PDT