TWiki
>
P1076 Web
>
Vhdl2019CollectedRequirements
>
ConditionalExpressions
>
LCS2016_036a
>
TopLCS2016_036b
(revision 6) (raw view)
Edit
Attach
---+ Language Change Specification for Conditional Expressions and/or Operators <span data-mce-mark="1" style="background-color: transparent;">Proposal</span> <table border="1" cellpadding="0" cellspacing="0" id="table1" rules="all"> <tbody> <tr> <td bgcolor="#ffffff" valign="top"> *LCS Number:* </td> <td bgcolor="#ffffff" valign="top">LCS-2016-036b</td> </tr> <tr> <td bgcolor="#edf4f9" valign="top"> *Version:* </td> <td bgcolor="#edf4f9" valign="top">1</td> </tr> <tr> <td bgcolor="#ffffff" valign="top"> *Date:* </td> <td bgcolor="#ffffff" valign="top">27-Feb-2017</td> </tr> <tr> <td bgcolor="#edf4f9" valign="top"> *Status:* </td> <td bgcolor="#edf4f9" valign="top">Voting</td> </tr> <tr> <td bgcolor="#ffffff" valign="top"> *Author:* </td> <td bgcolor="#ffffff" valign="top">Thomas Preusser<br />Ryan Hinton</td> </tr> <tr> <td bgcolor="#edf4f9" valign="top"> *Email:* </td> <td bgcolor="#edf4f9" valign="top"> [[http://www.eda-twiki.org/cgi-bin/view.cgi/Main/ThomasPreusser][Thomas Preusser]]<br /> [[http://www.eda-twiki.org/cgi-bin/view.cgi/Main/RyanHinton][Ryan Hinton]]</td> </tr> <tr> <td bgcolor="#ffffff" valign="top"> *Source Doc:* </td> <td bgcolor="#ffffff" valign="top"> ConditionalExpressions </td> </tr> <tr> <td bgcolor="#edf4f9" valign="top"> *Summary:* </td> <td bgcolor="#edf4f9" valign="top">Introduce first-class conditional expressions (extension)</td> </tr> <tr> <td> *Dependencies:* </td> <td> [[LCS2016_036a][LCS036a]]</td> </tr> </tbody> </table> ---+++ Voting Results: Cast your votes here Yes: 1 <span data-mce-mark="1">%USERSIG{ThomasPreusser - 2016-12-20}%</span> 1 <span data-mce-mark="1">%USERSIG{RyanHinton - 2016-12-22}%</span> 1 %USERSIG{DanielKho - 2017-1-19}% 1 <span data-mce-mark="1">%USERSIG{LievenLemiengre - 2017-01-27}%</span> 1 <span data-mce-mark="1">%USERSIG{YannGuidon - 2017-02-19}%</span> <p> </p> No: 1 <span data-mce-mark="1"><span data-mce-mark="1">%USERSIG{FarrellOstler - 2017-1-31}%</span></span> 1 <span data-mce-mark="1">%USERSIG{PeterFlake - 2017-02-17}%</span> 1 <span data-mce-mark="1">%USERSIG{JimLewis - 2017-02-27}%</span> -- 36b rev 1 <p> </p> Abstain: 1 %USERSIG{BrentHahoe - 2017-02-16}% - Abstain due to lack of personal time for review. 1 %USERSIG{KevinJennings - 2017-02-28}% - Lack of time to review 1 %USERSIG{RobGaddi - 2017-03-02}% - I won't block this, but I think it makes for some very difficult to follow code in the exact aspects that simulation won't catch. ---+++ Reviewing Notes This is an *extension* of [[LCS2016_036a][LCS036a]] that allows for conditional attribute specifications such as: <pre>attribute ram_style of Regfile : signal is "distributed" when TOOL_NAME = "XYZ"; -- This attribute value is only effective for this particular tool </pre> The explicit use of unaffected simplifies hierarchical decisions that do not naturally have the unaffected case at the end of the condition chain: <pre> attribute ram_style of RegFile : signal is unaffected when TOOL_TYPE /= "SYNTHESIS" else "distributed" when TOOL_VENDOR = "XYZ" else unaffected when DEVICE_FAMILY /= "ABX" else "regs" when DEVICE = "DGH"; </pre> ---+++ Details of Language Change %RED%Modifications%ENDCOLOR% are shown in %RED%red%ENDCOLOR% font.<br /> %RED%<del>Deletions</del>%ENDCOLOR% are %RED%<del>striked out</del>%ENDCOLOR%.<br /> %BLUE%Changes by [[LCS2016_036a][LCS036a]]%ENDCOLOR% in the cited contexts are shown in %BLUE%blue%ENDCOLOR%. ---++++ LRM Section 7.2 Attribute Specification An attribute specification associates a user-defined attribute with one or more named entities and defines the value of that attribute for those entities. The attribute specification is said to _decorate_ the named entity. %GREEN% _(Allow a conditional or unaffected expression.)_ %ENDCOLOR% <pre>attribute_specification ::= <b>attribute</b> attribute_designator <b>of</b> entity_specification <b>is</b> %BLUE%conditional_%ENDCOLOR%%RED%or_unaffected_%ENDCOLOR%expression ; </pre> %GREEN% _(Define semantics of expressions evaluating to *unaffected* in sixth paragraph from here.)_ %ENDCOLOR% The expression specifies the value of this attribute for each of the named entities inheriting the attribute as a result of this attribute specification. The type of the expression in the attribute specification shall be the same as (or implicitly convertible to) the type mark in the corresponding attribute declaration. %RED%If the expression evaluates to *unaffected*, the whole attribute specification shall have no effect whatsoever.%ENDCOLOR% If the entity name list denotes an entity declaration, architecture body, ... ---++++ Annex C - Syntax Summary %GREEN% _(Update productions and their references.)_ %ENDCOLOR% <pre>attribute_specification ::= <b>attribute</b> attribute_designator <b>of</b> entity_specification <b>is</b> %BLUE%conditional_%ENDCOLOR%%RED%or_unaffected_%ENDCOLOR%expression ; [§7.2] </pre> ---++ <span data-mce-mark="1"><a name="Comments"></span><span data-mce-mark="1"></a></span><span data-mce-mark="1"><a name="Comments"></span><span data-mce-mark="1"></a></span>Comments Please remove the votes, because these don't correspond to version 1. -- <span data-mce-mark="1">%BUBBLESIG{PatrickLehmann - 2017-02-27}%</span> I have not introduced anything new. In fact, the changes proposed here have been around literally for many versions of the originating LCS 036a. I did remove all the votes that indicated doubts about this specific feature. All other voters have already approved the contents of this _true-subset_ proposal. So, why should they be removed? Of course, everybody is welcome to reconsider. I have tried to be as transparent as possible by announcing the procedure on the reflector so as to give everybody a trigger to react. -- <span data-mce-mark="1">%BUBBLESIG{ThomasPreusser - 2017-02-27}%</span><span data-mce-mark="1"> %COMMENT%</span>
Edit
|
Attach
|
P
rint version
|
H
istory
:
r9
<
r8
<
r7
<
r6
<
r5
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r1 - 2017-04-02 - 16:09:37 -
TWikiGuest
P1076
Log In
or
Register
P1076 Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
Webs
Main
P1076
Ballots
LCS2016_080
P10761
P1647
P16661
P1685
P1734
P1735
P1778
P1800
P1801
Sandbox
TWiki
VIP
VerilogAMS
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback