Subject: Re: Incomplete Sensitivity Lists
From: Paul Graham (pgraham@Cadence.COM)
Date: Mon Oct 08 2001 - 13:29:06 PDT
> Again, I consider it a serious flaw for a synthesis tool to ignore initial
> blocks unless a user has taken specific action to tell the synthesis tool
> to accept the initial block in one form or another. If I were Ambit, I
> would not be bragging about this "feature."
Who's bragging? I was simply stating a fact.
There are a number of cases where Ambit reports a warning for a construct
which *may* produce a simulation mismatch. As long as you check for
warnings in your synthesis logfile, you shouldn't receive any nasty
surprises. The alternative is to error out for every such construct, but
this might be too restrictive for the user. Perhaps the construct in
question really doesn't cause a mismatch. Perhaps it's legacy code that the
user absolutely refuses to change.
Another example of a warning is for undriven wires. We generally set their
values to 0. I don't know why a design should have undriven wires, but I've
seen a lot of user test cases with them. I guess that quiting with an error
would upset some people.
This is an aspect of a general compiler issue. Shouldn't a compiler simply
accept or reject an input string? Why should there ever be compiler
warnings? Because some constructs are potentially problematic, but should
not be rejected in all cases.
Paul
This archive was generated by hypermail 2b28 : Mon Oct 08 2001 - 13:34:58 PDT