Re: [vhdl-200x] What is Minimal Risk?

From: Lieven Lemiengre <lieven.lemiengre@sigasi.com>
Date: Tue Apr 28 2015 - 12:07:13 PDT
I would aim for source compatibility, add new features but all existing
code should compile without any modification.

In practice that would mean:

   - Don't change existing types and subprograms
   - Don't introduce new keywords
   - Don't add overloaded subprograms if they can introduce ambiguities

I'm not sure if your example is valid Jim.

'0' & A + '0' & B is always parsed as ((('0' & A) + '0') & B)

It compiles in 2008 but it will not work in practice because the resulting
vector has the wrong size, this is caused by the order of operations.

With a 93 compiler you example doesn't work because "+"(unsigned,
std_ulogic) doesn't exist. So I'm not really sure what you mean here.
But I can see how a new overload can make certain expressions ambiguous..


2015-04-28 18:10 GMT+02:00 Degroat, Joanne <degroat.1@osu.edu>:

> I agree that we don't break old code.
>
> In the case of having to use parens below I don’t see a real problem.
> There should be an explanation, similar to the words in this email, in the
> standard on this.
>
> Joanne
>
> -----Original Message-----
> From: owner-vhdl-200x@eda.org [mailto:owner-vhdl-200x@eda.org] On Behalf
> Of Jim Lewis
> Sent: Tuesday, April 28, 2015 11:47 AM
> To: vhdl-200x@eda.org
> Subject: [vhdl-200x] What is Minimal Risk?
>
> Hi All,
> Martin raised an interesting issue, what is "minimal risk".   Any comments?
>
>  From my perspective, one big issue is that we don't accidentally break
> old code.
> For example, in VHDL-2008, the standard packages now includes the function:
> function "+"(L: unsigned, R: std_ulogic) return unsigned ;
>
> Unfortunately this means that old code of the form will result in an error
> since & and + have equal precedence and evaluate left to right:
> signal A, B : unsigned (7 downto 0) ;
> signal Y : unsigned(8 downto 0) ;
> Y <= '0' & A + '0' & B ;
>
> With parentheses added the code is fine:
> Y <= '0' & A + ('0' & B) ;
>
> Since most tools allow specification of a compile switch, so this issue is
> not challenging to work around.
>
> Best Regards,
> Jim
>
> --
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Jim Lewis                                  Jim@SynthWorks.com
> VHDL Training Expert                       http://www.SynthWorks.com
> IEEE VHDL Working Group Chair
> OSVVM, Chief Architect and Cofounder
> 1-503-590-4787
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
>
>
>

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Apr 28 12:07:50 2015

This archive was generated by hypermail 2.1.8 : Tue Apr 28 2015 - 12:08:44 PDT