TWiki
>
P1076/Ballots Web
>
Vhdl2019CollectedRequirements
>
WaitRepeat
(revision 5) (raw view)
Edit
Attach
---+ Repeat count for wait %TOC% ---++ Proposal Editing Information * Who Updates: Main.JimLewis, <Add YourName >, ... * Date Proposed: 2012-08-19 * Date Last Updated: 2012-08-19 * Priority: * Complexity: * Focus: Testbench ---++ Requirement Summary Add a repeat count to wait ---++ Related and/or Competing Issues: none ---++ Use Model If PSL notation would work, it would be better to use that <verbatim>wait until clk='1' repeat 20 ; </verbatim> ---++ Proposal ---++ Questions ---++ General Comments This is easily implemented as a procedure (I have tick(clk,20) in my own library) I wonder if we should keep our language changes to things which are unachievable or cause much more unpleasantness than this? -- Main.MartinThompson - 2012-09-14 Point taken Martin and I have similar procedures for enhancing 'wait' statements. However, I am very much in favour of enhancments such as this that can reduce code in a verification environment and can enhance/speed-up comprehension for maintainability issues. In fact I would like to add an extra: I am often wrapping 'wait' statements inside 'if' statements to check for the condition before waiting for it. I would add an either/or to the 'repeat' addition giving a new format as shown: <p align="left" style="padding-left: 30px;">wait_statement ::=</p> <p align="left" style="padding-left: 60px;">[ label : ] *wait* [ sensitivity_clause ] [ condition_clause ] [ timeout_clause ] ;</p> <p align="left" style="padding-left: 30px;">sensitivity_clause ::= *on* sensitivity_list</p> <p align="left" style="padding-left: 30px;">sensitivity_list ::= <em>signal_</em>name { , <em>signal_</em>name }</p> <p align="left" style="padding-left: 30px;">condition_clause ::= *until* condition [ *repeat* <em>positive_</em>expression | *check* ]</p> <p align="left" style="padding-left: 30px;">condition ::= <em>boolean_</em>expression</p> <p align="left" style="padding-left: 30px;">timeout_clause ::= *for* <em>time_</em>expression</p> -- [[Main.BrentHahoe][Brent Hayhoe]] - 2012-10-08 I've just noticed that I'm not the first to want the 'check' functionality, it was put forward here: http://www.eda.org/isac/IRs-VHDL-2002/IR2108.txt -- [[Main.BrentHahoe][Brent Hayhoe]] - 2012-10-11 Almost every project seems to have a waitclk() procedure somewhere. I think it's a good idea to provide a standard way to do that. -- Main.GuyEschemann - 2013-01-16 [[Main.BrentHahoe][<Brent Hayhoe>]] 2014-03-20 - The repeat function will also give a neat method for waiting multiple delta cycles: <verbatim>wait for 0 ns repeat 20 ; </verbatim> [[Main.BrentHahoe][</Brent Hayhoe>]] ---++ Supporters -- [[Main.BrentHahoe][Brent Hayhoe]] - 2012-10-08 -- Main.MortenZilmer - 2015-01-21 -- Main.PatrickLehmann - 2016-02-19 _Add your signature here to indicate your support for the proposal_
Edit
|
Attach
|
P
rint version
|
H
istory
:
r10
|
r7
<
r6
<
r5
<
r4
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r1 - 2020-02-17 - 15:35:02 -
TWikiGuest
P1076/Ballots
Log In
or
Register
P1076/Ballots 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