The AMS Designer simulator supports the following wreal concatenation expressions:
- Concatenation expressions involving wreals in port maps
- Connections of concatenation expressions, which contain wreal nets to wreal or logic wire ports using R2L connect modules
- Selective coercion of nets used in concatenation expressions that contain nets to wreal
The following use cases are not supported:
- The use of concatenation expressions involving wreals to assign to a wreal array is not supported.
For example, use the following:instead of the following:
wreal d[0:1];
wreal a, b;
assign d[0] = a; //legal assignment
assign d[1] = b; //legal assignment
wreal d[0:1];
wreal a, b;
assign d = {a, b}; //illegal assignment
-
Explicit declaration of wreal in non-collapsible concatenation is not allowed and results in an error.
A port connection is collapsible if the upper and lower connections are nets. For connections of selects of packed or unpacked net arrays, the selects must have constant indices to be collapsible. Amongst other things, the presence of variables or constant expressions on either side of the connections makes the port connections non-collapsible.
A non-collapsible concatenation expression contains one or more non-collapsible nets including reg, expression, parameter, and constant objects. The non-collapsible nets are not coerced and coercion does not proceed through such concatenated expressions. R2L IEs are inserted between these expressions/nets and wreal ports.
Example of a non-collapsible concatenation expression:wire w1, w2;
reg val1, val2;
parameter integ g, h;
{1'b1, 1'b0}, //constants
{val1, val2}, //regs
{g, h}, //parameters
{cos(1), 1+1}, //expressions
{w1, wrealZState}, //constants
{w1, w2, val1}, //regs
- Concatenation expressions that contain wreal nets and non-collapsible expressions, such as constants and variables, are not supported.
- Connection of concatenation expressions that contain wreal nets to non-collapsible expressions, such as SV variable ports, Verilog reg ports, and constants, are not supported.
- The following nets used in concatenation expressions are not coerced to wreal:
- Nets containing non-collapsible elements
- If a concatenation expression containing nets is the upper or lower expression of a port, and if the other expression is non-collapsible
