TWiki
>
P1076 Web
>
Vhdl2019CollectedRequirements
>
TextioBvSlv
(revision 2) (raw view)
Edit
Attach
---+!! Textio bit_vector read vs. std_ulogic_vector read %TOC% ---++ Proposal Information * Who Updates: Main.JimLewis, <Add YourName>, ... * Date Proposed: 2013-11-14 * Date Last Updated: 2013-11-14 * Priority: * Complexity: * Focus: Testbench ---++ Requirement Summary VHDL-2008 implementation of std_ulogic_vector read differs from bit_vector read. ---++ Related and/or Competing Issues: NONE ---++ Issue Summary: Bugzilla 277 [[https://bugzilla.mentor.com/show_bug.cgi?id=277][Bugzilla 277]] There appear to be inconsistencies in various READ commands when an illegal character is found. The LRM states in 16.4 Package TEXTIO: "Character removal and string composition also stops when a character is encountered that cannot be part of the value according to the rules for string representations, or, in the case of the READ procedure for BIT_VECTOR, is not an underline character that can be removed according to the preceding rule; this character is not removed from L and is not added to the string representation of the value." However the body of READ[line, std_ulogic_vector, boolean] skips whitespace correctly in the line and then reads one character at a time, checks that character for legality and proceeds. So an illegal character is removed from L. (In addition, the VHDL source code version of textio functions OREAD and others, supplied by Dave Bishop, also reads characters and checks for legality.) although there is no direct requirement that these various READ functions be uniform, I believe that there is an implicit assumption that they are. One advantage of a uniform treatment is that designers can safely switch between bit vectors and standard logic vectors. ---++ Possible Solutions ---+++ Solution 1: Make std_ulogic_vector compatible with bit_vector Fix the code in std_logic_1164 so that it is consistent with bit_vector reads. ---+++ Solution 2: Leave them as they are In both cases these are failures. There is no ability to do anything with the current read value. Does it make sense to facilitate reading the thing that caused the failure? ---++ Recommendations Solution 1. Make them std_ulogic_vector consistent with bit_vector. ---++ General Comments ---++ Supporters _Add your signature here to indicate your support for the proposal_ <em>-- Main.JimLewis - 2014-12-04 (Solution 1)<br /></em>
Edit
|
Attach
|
P
rint version
|
H
istory
:
r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r1 - 2020-02-17 - 15:34:39 -
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