filtering on warnings/errors in problems view

Hi,
is it possible to use filters on the warnings and errors that are displayed in the problems view ?
For example I have a lot of state-machines in my code with a redundant others state. I don't like to remove all these states to get rid of this warning, instead I'd like to disable this warning specifically so I can focus on warnings that I like to see.
Another example are warnings about deprecated ieee libraries, some of these are in sourcefiles I am unable to change, or in vendor libraries (Altera). Also for this I'd like to specifically disable this warning for a given set of libraries.
Is this possible ? I can't find anything about this in the documentation, or can this be added in a future release ?
Thanks,
Herman Kuster

errors and warnings

Hi herman,

You can configure errors and warnings:
Window > Preferences > VHDL > Errors/Warnings
Here you can change the severity of a validation or you can disable them completely. This feature was added in the last release, I'm afraid the documentation is lagging a bit behind.

If you want to disable all errors & warnings for a certain library, we already do this for some well known libraries: std, ieee, altera_mf, XilinxCoreLib, unisim, mentor, lpm,simprim, std_developerskit. Could you tell us which libraries we are missing?
In the future we may make this list configurable, I'll have to discuss this internally.

Now on the subject of 'redundant when-others clauses', we perform this validation for two reasons.
1. Many designers believe that these clauses are used when you enter an illegal state. I can assure you that they are not. In simulation and synthesis, 'redundant when-others clauses' have no meaning, they are just dead code. For more information see this document (section 6.1 State Machines and the Bucket Approach) and this blog post
2. The risk that we see in redundant when-others is that if you add a new state to an enumeration, your tool will not complain & point you to the areas where you need to add new logic.

Regards,
Lieven

Hi, your reasoning about the

Hi,
your reasoning about the when others state makes sense, I'll think about it re-enabling the warning and modifying the code for this.
About the per-library filtering of warnings/errors, here (ASML) we use Generic Design Blocks which are read-only libraries delivered as plain vhdl code. These GDB's often have a when-others in their fsm's, or use deprecated ieee libraries, or contain others warnings/errors. In my design these GDB's are read-only and I can't change any of this code, so it makes no sense to see all warnings/errors for these GDB's. That's why I'd like to be able to set specific filters per library.
Thanks,
Herman.

workaround

I will email you a workaround.

workaround problems

Hi,

I tried this same workaround (got it via original poster) but it does not work for me. I'm using Sigasi version 2.7.0.201209061338.
Did anything change?

Daniel

No changes

Nothing changed, this still works.

If you map files from work -> special library it is best to run a Project > Clean to remove all error markers from your special library.

Hendrik.

Fixed

I didn't quite understand your first sentence, but your suggestion of Project > Clean solved all the errors for me. Thanks!

I did notice however that statements such as "LIBRARY lib_blabla;" now generate errors, probably because Sigasi is now ignoring that libraries? I guess I can work around that by sticking to direct instantiating. (e.g.: "my_entity_inst : entity lib_blabla.my_entity").

Daniel

if there is an error on

if there is an error on LIBRARY lib_blabla;, that means that library lib_blabla is not mapped in your project. Can you double check that the library is correctly mapped?

Note that with the workaround, the library is not ignored. The library is loaded but validation is skipped. That is why you don't see error messages in this library anymore.

Just noticed that

Just noticed that library.ieee; is also present in just about every file, no errors from that.

Yet library lib_xilinx_ip; does generate errors, and I definitely have a library called that…

I have this folder lib_xilinx_ip [lib_xilinx_ip] in the project explorer tab, and I'm under the impression that the text between [ ] is the folder's library mapping?

VCOM?

Does the error marker have a Vcom: prefix? This is an error message from vcom and not from Sigasi itself. Because you added lib_xilinx_ip to the list of fixed libraries, Sigasi does not ask vcom to compile this library (More information). You have to install this library separately in vcom.

The text between [ ] is indeed the folder's library mapping.

Kind regards,
Hendrik.

length mismatch error

Yes, it is a vcom error.

I also have multiple vcom errors from direct instantiation (Unknown identifier "lib_…), accompanied by many Sigasi errors (Could not find declaration corresponding…, one for each port). I'm guessing these Sigasi errors will also be gone when I have vcom separately compile the library holding that component?

Could not find declaration

Hi Daniel,

i would recommend to temporarily switch of vcom compilation (*Preferences > VHDL > External Compilers) and fix the Sigasi markers first.
If you get missing declaration errors, it means the instantiated entity/component is not found. Is it part of your project? Mapped to the correct library?

Kind regards,
Hendrik.

Solved the Sigasi errors by

Solved the Sigasi errors by reinstating the library lib_blabla; statements.
Just leaves the vcom errors, but you already told me that these libraries should be separately installed in vcom to solve the errors. Off to work on that now, thanks.

Never mind the subject of my

Never mind the subject of my last post, that also turned out to be an unrelated vcom error.

The message content is still

The message content is still relevant though.

Post new comment

The content of this field is kept private and will not be shown publicly.
By submitting this form, you accept the Mollom privacy policy.