selected signal assignments

The following statement causes a RecognitionException Error.

WITH sign SELECT
tmp_lsbs <= mag WHEN '0',
            NOT(mag) + "01" WHEN '1',
            (OTHERS => 'X') WHEN OTHERS;

I'm pretty sure this is legal code though it's something I've inherited and not how I would usually structure it.

works fine here

Hi Ben,

Your example works fine here. Perhaps the error was triggered by something other than the snipped you posted? If you can send me a piece of code that reproduces the error and your log file, I will look into it.

with/selectwith/select

error in code, but unhelpful error message

Hi Ben,

Thanks for the code snippet and the log you've sent me.

There was an internal error because the condition (in this case sign) in your code was declared as an alias:

ALIAS sign : std_logic IS flags(2);

We'll have this fixed in the next release (ticket:746).
As a workaround for now, you could write:

with flags(2) select...

thanks for reporting

Philippe

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <h2> <h3> <pre>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <java>.
  • Images can be added to this post.

More information about formatting options