blob: d8fbff39ee4d1e7591d19f0547d67fa9ef2722ad [file] [log] [blame]
/*
:name: casex_pattern
:description: A module testing pattern matching in casex statements
:should_fail: 0
:tags: 12.6.1
*/
module case_tb ();
typedef union tagged {
struct {
bit [3:0] val1, val2;
} a;
struct {
bit [7:0] val1, val2;
} b;
struct {
bit [15:0] val1, val2;
} c;
} u;
u tmp;
initial casex (v) matches
tagged a '{.v, 4'b00?x} : $display("a %d", v);
tagged a '{.v1, .v2} : $display("a %d %d", v1, v2);
tagged b '{.v1, .v2} : $display("b %d %d", v1, v2);
tagged c '{4'h??0x, .v} : $display("c %d", v);
endcase
endmodule