forked from github/verilator
Parse external constraints as UNSUPPORTED.
This commit is contained in:
parent
daa545774e
commit
e9441cff50
@ -1263,7 +1263,7 @@ package_or_generate_item_declaration<nodep>: // ==IEEE: package_or_generate_i
|
||||
| function_declaration { $$ = $1; }
|
||||
//UNSUP checker_declaration { $$ = $1; }
|
||||
| dpi_import_export { $$ = $1; }
|
||||
//UNSUP extern_constraint_declaration { $$ = $1; }
|
||||
| extern_constraint_declaration { $$ = $1; }
|
||||
| class_declaration { $$ = $1; }
|
||||
// // class_constructor_declaration is part of function_declaration
|
||||
// // local_parameter_declaration under parameter_declaration
|
||||
@ -6877,9 +6877,10 @@ dist_item<nodep>: // ==IEEE: dist_item + dist_weight
|
||||
| value_range yP_COLONDIV expr { $$ = $1; /*UNSUP-no-UVM*/ }
|
||||
;
|
||||
|
||||
//UNSUPextern_constraint_declaration: // ==IEEE: extern_constraint_declaration
|
||||
//UNSUP constraintStaticE yCONSTRAINT class_scope_id constraint_block { }
|
||||
//UNSUP ;
|
||||
extern_constraint_declaration<nodep>: // ==IEEE: extern_constraint_declaration
|
||||
constraintStaticE yCONSTRAINT packageClassScopeE idAny
|
||||
{ $$ = nullptr; BBUNSUP($<fl>2, "Unsupported: extern constraint"); }
|
||||
;
|
||||
|
||||
constraintStaticE<cbool>: // IEEE: part of extern_constraint_declaration
|
||||
/* empty */ { $$ = false; }
|
||||
|
@ -8,4 +8,10 @@
|
||||
%Error-UNSUPPORTED: t/t_randomize.v:32:9: Unsupported: dist
|
||||
32 | x dist { [100:102] :/ 1, 200 := 2, 300 := 5, 400};
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_randomize.v:37:1: Unsupported: extern constraint
|
||||
37 | constraint Packet::ex { header > 0 };
|
||||
| ^~~~~~~~~~
|
||||
%Error: t/t_randomize.v:37:23: syntax error, unexpected '{'
|
||||
37 | constraint Packet::ex { header > 0 };
|
||||
| ^
|
||||
%Error: Exiting due to
|
||||
|
@ -16,14 +16,14 @@ class Packet;
|
||||
header < (64'h1 << length);
|
||||
}
|
||||
}
|
||||
constraint b {
|
||||
constraint c {
|
||||
header >= length - 10;
|
||||
header <= length;
|
||||
}
|
||||
constraint c {
|
||||
constraint d {
|
||||
foreach (in_use[i]) {
|
||||
!(start_offset <= in_use[i].Xend_offsetX &&
|
||||
start_offset + len - 1 >= in_use[i].Xstart_offsetX);
|
||||
start_offset + length - 1 >= in_use[i].Xstart_offsetX);
|
||||
}
|
||||
}
|
||||
constraint order { solve length before header; }
|
||||
@ -34,6 +34,8 @@ class Packet;
|
||||
|
||||
endclass
|
||||
|
||||
constraint Packet::ex { header > 0 };
|
||||
|
||||
module t (/*AUTOARG*/);
|
||||
|
||||
Packet p;
|
||||
|
Loading…
Reference in New Issue
Block a user