TWiki
>
P1076 Web
>
Vhdl2019CollectedRequirements
>
IntegerOperators
>
TopLCS2016_051
(revision 21) (raw view)
Edit
Attach
---+ Language Change Specification for Additional Operators to Integers Proposal ---++ <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-031</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">26-Oct-2016</td> </tr> <tr> <td bgcolor="#edf4f9" valign="top"> *Status:* </td> <td bgcolor="#edf4f9" valign="top"> </td> </tr> <tr> <td bgcolor="#ffffff" valign="top"> *Author:* </td> <td bgcolor="#ffffff" valign="top">Kevin Jennings</td> </tr> <tr> <td bgcolor="#edf4f9" valign="top"> *Email:* </td> <td bgcolor="#edf4f9" valign="top"><a href="http://www.eda-twiki.org/cgi-bin/view.cgi/Main/KevinJennings" target="_top">KevinJennings</a></td> </tr> <tr> <td bgcolor="#ffffff" valign="top"> *Source Doc:* </td> <td bgcolor="#ffffff" valign="top"> IntegerOperators </td> </tr> <tr> <td bgcolor="#edf4f9" valign="top"> *Summary:* </td> <td bgcolor="#edf4f9" valign="top">Allow for use of logic operations with integers.</td> </tr> </tbody> </table> ---+++ Voting Results: Cast your votes here Yes: 1 <span>%USERSIG{MortenZilmer - 2016-12-11}%</span> 1 %USERSIG{RyanHinton - 2016-12-14}% ver 1 <p> </p> 1 %USERSIG{JimLewis - 2017-01-11}% ver 1 <p> </p> <p> </p> <p> </p> <p> </p> No: 1 %USERSIG{KevinJennings - 2016-11-07}% (Don't agree with the proposal's premise that integers should be treated as if they are logical values). 1 %USERSIG{PatrickLehmann - 2016-11-19}% 1 %USERSIG{ThomasPreusser - 2016-11-21}% 1 %USERSIG{MartinThompson - 2016-12-12}% 1 %USERSIG{MartinZabel - 2017-01-20}% ver 1 - see my comment from 2017-01-23 1 %USERSIG{LievenLemiengre - 2017-01-27}% 1 %USERSIG{HendrikEeckhaut - 2017-01-27}% 1 %USERSIG{MarkZwolinski - 2017-02-27}% <span style="background-color: transparent;">Abstain:</span> 1 %USERSIG{RobGaddi - 2016-12-12}% <p> </p> 1 %USERSIG{BrentHahoe - 2017-02-16}% Version 1 - Abstain due to lack of personal time for review. <p> </p> ---+++ Details_of_Language_Change ---++++ LRM 16.3 Package STANDARD ---+++++ Page 256 top of page Add the following in its entirety. <span class="WYSIWYG_COLOR" style="color: red;">-- Regardless of how integers are implemented, all of the following functions are to be implemented such that both parameters and the return value of each function have a twos complement interpretation.</span> %RED% <span>-- function "and" (anonymous, anonymous: integer) return integer;</span>%ENDCOLOR%<br /><span class="WYSIWYG_COLOR" style="color: red;">-- function "or" (anonymous, anonymous: integer) return integer;</span><br /><span class="WYSIWYG_COLOR" style="color: red;">-- function "nand" (anonymous, anonymous: integer) return integer;</span><br /><span class="WYSIWYG_COLOR" style="color: red;">-- function "nor" (anonymous, anonymous: integer) return integer;</span><br /><span class="WYSIWYG_COLOR" style="color: red;">-- function "xor" (anonymous, anonymous: integer) return integer;</span><br /><span class="WYSIWYG_COLOR" style="color: red;">-- function "xnor" (anonymous, anonymous: integer) return integer;</span> <span class="WYSIWYG_COLOR" style="color: indigo;">Note: Short of a 'good idea', the following shift and rotate functions probably cannot be realized because of potential differences in the number of bits used to implement an integer. No change to the LRM to support.</span> <span style="color: indigo;"> <span>-- function "sll" (anonymous: integer; anonymous: INTEGER) return integer;</span></span><br /><span class="WYSIWYG_COLOR" style="color: indigo;">-- function "srl" (anonymous: integer; anonymous: INTEGER) return integer;</span><br /><span class="WYSIWYG_COLOR" style="color: indigo;">-- function "sla" (anonymous: integer; anonymous: INTEGER) return integer;</span><br /><span class="WYSIWYG_COLOR" style="color: indigo;">-- function "rol" (anonymous: integer; anonymous: INTEGER) return integer;</span><br /><span class="WYSIWYG_COLOR" style="color: indigo;">-- function "ror" (anonymous: integer; anonymous: INTEGER) return integer;</span> <span>-- </span><a href="http://www.eda-twiki.org/cgi-bin/view.cgi/Main/KevinJennings" target="_top"><img alt="" height="24" src="%PUBURL%/Main/UserProfileHeader/default-user-profile.jpg" /> Kevin Jennings - 2016-10-26</a> ---++ Comments The link to the source document is wrong. -- Main.PatrickLehmann - 2016-11-19 Fixed. -- Main.KevinJennings - 2016-11-21 One important reason to support integers - simulation speed. How is it that the values that are integers are not represented by bits? Once we decide that the values are 2's complement values, there is no reason not to support logic operations. Once we have determined the size of an integer, doing this operations is simple. -- %BUBBLESIG{JimLewis - 2017-01-11}% Whenever this should be possible, then clause 5.2.3.1 must define that integers are represented internally in two's-complement form. Also clause 9.2.2 must be update to allow the operators "and", "or", ... on integer types. -- %BUBBLESIG{MartinZabel - 2017-01-23}% @TODO Needs to be updated to match 26a which states an integer is a 64 bit signed 2's complement value with symmetric range. @TODO Edit section 9.2 operators @TODO Resolve SRA or SLA -- %BUBBLESIG{JimLewis - 2017-02-02}% %COMMENT%
Edit
|
Attach
|
P
rint version
|
H
istory
:
r23
<
r22
<
r21
<
r20
<
r19
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r1 - 2017-02-27 - 13:28:43 -
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