Support snps directives
This commit is contained in:
parent
9df8966f4a
commit
ca927fe587
2
Changes
2
Changes
|
|
@ -12,6 +12,8 @@ indicates the contributor was also the author of the fix; Thanks!
|
||||||
|
|
||||||
*** Support arrayed SystemC I/O pins. [Christophe Joly]
|
*** Support arrayed SystemC I/O pins. [Christophe Joly]
|
||||||
|
|
||||||
|
**** Support "snps" directives. [Dan Katz]
|
||||||
|
|
||||||
**** Fix core dump with over 100 deep UNOPTFLAT, bug432. [Joe Eiler]
|
**** Fix core dump with over 100 deep UNOPTFLAT, bug432. [Joe Eiler]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1747,9 +1747,9 @@ assertion clocks.
|
||||||
|
|
||||||
=head2 Synthesis Directive Assertion Support
|
=head2 Synthesis Directive Assertion Support
|
||||||
|
|
||||||
With the --assert switch, Verilator reads any "//synopsys full_case" or "//
|
With the --assert switch, Verilator reads any "//synopsys full_case" or
|
||||||
synopsys parallel_case" directives. The same applies to any "// ambit
|
"//synopsys parallel_case" directives. The same applies to any "//snps",
|
||||||
synthesis", "//cadence" or "//pragma" directives of the same form.
|
"//ambit synthesis", "//cadence" or "//pragma" directives of the same form.
|
||||||
|
|
||||||
When these synthesis directives are discovered, Verilator will either
|
When these synthesis directives are discovered, Verilator will either
|
||||||
formally prove the directive to be true, or failing that, will insert the
|
formally prove the directive to be true, or failing that, will insert the
|
||||||
|
|
|
||||||
|
|
@ -394,6 +394,10 @@ void V3PreProcImp::comment(const string& text) {
|
||||||
cp+=strlen("synopsys");
|
cp+=strlen("synopsys");
|
||||||
synth = true;
|
synth = true;
|
||||||
if (*cp == '_') fileline()->v3error("Extra underscore in meta-comment; use /*synopsys {...}*/ not /*synopsys_{...}*/");
|
if (*cp == '_') fileline()->v3error("Extra underscore in meta-comment; use /*synopsys {...}*/ not /*synopsys_{...}*/");
|
||||||
|
} else if (0==(strncmp(cp,"snps",strlen("snps")))) {
|
||||||
|
cp+=strlen("snps");
|
||||||
|
synth = true;
|
||||||
|
if (*cp == '_') fileline()->v3error("Extra underscore in meta-comment; use /*snps {...}*/ not /*snps_{...}*/");
|
||||||
} else if (0==(strncmp(cp,"cadence",strlen("cadence")))) {
|
} else if (0==(strncmp(cp,"cadence",strlen("cadence")))) {
|
||||||
cp+=strlen("cadence");
|
cp+=strlen("cadence");
|
||||||
synth = true;
|
synth = true;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue