Level Sensitive Wait

Proposal Information

  • Current Owner: JimLewis, ...
  • Contributors: JimLewis, ...
  • Date Proposed: 2014-June-22
  • Date Last Updated: 2014-June-22
  • Priority:
  • Complexity:
  • Focus: Testbench
  • Related Issues: None
  • Competing Issues: None

Requirement Summary

Level Sensitive Wait

See ISAC IR2108

The WaitRepeat proposes modifying the language syntax of the wait statement.

A Code Solution

This can easily be accomplished with the code

if A /= Level then
  wait until A = Level ;
end if; 

However, what is being sought is a more concise solution.

Encapsulation with a Procedure

If the following worked, it would be an acceptable solution. However while a signal input to an entity allows expressions with VHDL-2008, a signal input to a parameter of a subprogram does not.

procedure WaitLevel (
  signal condition : in boolean 
) is 
begin
  if not condition then
    wait until condition ;
  end if ; 
end procedure WaitLevel ; 

General support issues: When an expression is passed as input signal parameter, it would have the default value of the type (here false) until a delta cycle passes. Here that works just fine.

Language Based Solution

TBD.

Comments

-- JimLewis - 2014-06-22 Personally I am not excited about a language based solutoin as it would potentially make the wait statement even more complex.

Arguments Against

Supporters

Topic revision: r4 - 2020-02-17 - 15:35:02 - JimLewis
 
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