TWiki
>
P1076 Web
>
Vhdl2019CollectedRequirements
>
StopReadOnTrailingUnderscore
(2020-02-17,
JimLewis
)
(raw view)
E
dit
A
ttach
---+ Stop Binary/Octal/Hex Read Procedures At Trailing UnderScore %TOC% ---++ Proposal Details * Who Updates: main.CliffordWalinsky * Date Proposed: 2014-1-23 * Date Last Updated: 2014-1-23 * Bugzilla Reference:276 ---+++ Current Situation In VHDL-2008 underlines are allowed in the data for several of the read procedures in package textio: procedures READ[line,bit_vector], OCTAL_READ and HEX_READ. With regard to underline characters there are two potentially conflicting stopping rules. For example in the description of OREAD it states: "Each underline character is also removed from L, provided the underline character does not precede the sequence of octal digits and does not immediately follow another underline character." It also states: "Moreover, character removal and composition stops when the expected number of digits have been removed..." It is unclear which rule takes precedence. For example, suppose line1 contains "7_abc" and a variable v1 is bit_vector(1 to 3). What is the effect when OCTAL_READ(line1,v1) is executed? Is the underline consumed or not? A very literal reading of the LRM probably leads to the conclusion that the underline is read. However, this makes the READ procedure not backward compatible. ---+++ Requirement Trailing underlines should not be allowed (so that the underline in the example is not consumed). Why do we allow trailing underlines and not leading ones? In addition, trailing underlines are not allowed in based literals, basic identifiers or bit string literals. For consistency, they should not be allowed in the various read routines. ---++ Arguments FOR The Mentor Graphics simulator already conforms to this requirement. ---++ Arguments AGAINST This change in the standard could render existing designs with their datasets incompatible. That is, if an input file contains the string "7_abc", and the string is read with the procedure call OCTAL_READ(line1,v1), where v1 is defined with subtype bit_vector(1 to 3), a simulator conforming to the existing standard could terminate reading after consuming the underscore character. A subsequent read call will read beginning at the string "abc". With this revision, a simulator will necessarily terminate the OCTAL_READ call at the underscore character, and a subsequent read call will begin at the string "_abc". This change in behavior could potentially cause existing designs to behave differently. ---++ General Comments ---++ Supporters _Add your signature here to indicate your support for the proposal_ * main.CliffordWalinsky
E
dit
|
A
ttach
|
P
rint version
|
H
istory
: r2
<
r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r2 - 2020-02-17 - 15:34:39 -
JimLewis
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-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback