パック型構造体または共用体を使用する場合、同等の SystemVerilog 型である svLogicVecVal
または svBitVecVal
が DPI の C 側に作成されます。
例
- SystemVerilog 型
-
typedef struct packed { int i; bit b; reg [3:0]r; logic [2:0] [4:8][9:1] l; } sType; sType c_obj; sType [3:2] c_obj1[5];
- C 型
-
svLogicVecVal c_obj[SV_PACKED_DATA_NELEMS(172)]; svLogicVecVal c_obj1[5][SV_PACKED_DATA_NELEMS(344)];
配列は、パック型またはアンパック型のどちらでも、svLogicVecVal
または svBitVecVal
の配列として表記されます。