RE: [sv-bc] Open array mixed with normal array

From: Warmke, Doug <doug_warmke_at_.....>
Date: Wed Dec 21 2005 - 10:27:41 PST
Surya,

Both of the examples are legal.  See P1800 Annex F.

The first example is equivalent to 
 import "DPI-C" function int XYZ_1(bit yi[][][1:0][2:0], bit[5:0] b);
Nothing wrong with that.

In the second example, you can use the mental model
that yi is an open array with 2 dimensions, but the
least-rapidly-varying dimension has a constrained length.
Thus any actual argument bound to the yi formal must have
a fixed outer dimension length of two.  Only the inner
dimension has bounds that can vary from call to call.

BTW, the SV-CC is the committee that handles DPI,
and open arrays are a DPI topic.

Regards,
Doug


> -----Original Message-----
> From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On 
> Behalf Of Surya Pratik Saha
> Sent: Wednesday, December 21, 2005 3:30 AM
> To: sv-bc@eda.org
> Cc: Trainee19 (Moumita Das)
> Subject: [sv-bc] Open array mixed with normal array
> 
> SV supports open array for DPI construct. It is not clear 
> whether open array
> can be mixed up with normal array or not. Please can you 
> someone clarify whether
> the following two examples are correct or not.
> 
> e.g. 1
> module top;
> typedef bit  array_int[1:0][2:0];
> 
> import "DPI" function  int XYZ_1(array_int yi[][], bit[5:0] b);
> 
> endmodule
> 
> e.g. 2
> module top;
> 
> import "DPI" function  int XYZ_1(input logic yi[1:0][]);
> 
> endmodule
> 
> Regards
> Surya.
> 
> 
Received on Wed Dec 21 10:27:48 2005

This archive was generated by hypermail 2.1.8 : Wed Dec 21 2005 - 10:28:45 PST