Surelog
Surelog copied to clipboard
Fix ArianeElab2 test issue with default tag assign
Need to flatten the tag pattern:
package pack;
typedef enum logic [1:0] {
DISABLED,
PARALLEL
} unit_type_t;
typedef unit_type_t [0:4][0:1] fmt_unit_types_t;
typedef struct packed {
fmt_unit_types_t UnitTypes;
} implementation_t;
localparam implementation_t DEFAULT_NOREGS = '{
UnitTypes: '{'{default: PARALLEL},
'{default: DISABLED}}
};
endpackage // pack
Back on this issue
Correct test:
package pack;
typedef enum logic [1:0] {
DISABLED,
PARALLEL
} unit_type_t;
typedef unit_type_t [0:4][0:1] fmt_unit_types_t;
typedef struct packed {
fmt_unit_types_t UnitTypes;
} implementation_t;
localparam implementation_t DEFAULT_NOREGS = '{
UnitTypes: '{'{default: PARALLEL},
'{default: DISABLED},
'{default: DISABLED},
'{default: DISABLED},
'{default: PARALLEL}}
};
endpackage // pack
module top();
import pack::*;
initial $display("%d", DEFAULT_NOREGS.UnitTypes[4][1]);
endmodule