There are different classes of ‘errors’ which can occur when synthesizing circuits. These will typically have names like:
An error is something which is definitely wrong and will cause the synthesis to fail. Things like syntax errors fall into this category, as may some other problems.
Warnings are probable indicators of faults, or at least infelicities! They do not prevent synthesis but ought to be checked and taken ito account. A typical example is a statement which looks as if it was intended to be combinatorial but has some unspecified condition(s), thus needing a (typically unclocked) state-holding element. This may be deliberate – but usually isn't.
Toolflows will allow warnings to be suppressed (by category) which can
sometimes be appropriate but they should be checked.
Another class of warning is generated when the circuit (apparently)
has no I/O connections. You may see this in the later labs; it has
been suppressed there.
These are the least critical synthesis ‘issues’. Typically they are more like advice on how a design might be respecified, perhaps to be more efficient. They can safely be ignored although a good designer might be even better if they aren't.