de.upb.hni.vmagic.concurrent
Class ConditionalSignalAssignment

java.lang.Object
  extended by de.upb.hni.vmagic.VhdlElement
      extended by de.upb.hni.vmagic.LabeledElement
          extended by de.upb.hni.vmagic.concurrent.ConcurrentStatement
              extended by de.upb.hni.vmagic.concurrent.AbstractPostponableConcurrentStatement
                  extended by de.upb.hni.vmagic.concurrent.ConditionalSignalAssignment

public class ConditionalSignalAssignment
extends AbstractPostponableConcurrentStatement

Conditional signal assignment.


Nested Class Summary
static class ConditionalSignalAssignment.ConditionalWaveformElement
          Conditional waveform element.
 
Constructor Summary
ConditionalSignalAssignment(Target<Signal> target, ConditionalSignalAssignment.ConditionalWaveformElement... conditionalWaveforms)
          Creates a conditional signal assignment.
ConditionalSignalAssignment(Target<Signal> target, Expression value)
          Creates a conditional signal assignment.
ConditionalSignalAssignment(Target<Signal> target, java.util.List<ConditionalSignalAssignment.ConditionalWaveformElement> conditionalWaveforms)
          Creates a conditional signal assignment.
 
Method Summary
 java.util.List<ConditionalSignalAssignment.ConditionalWaveformElement> getConditionalWaveforms()
          Returns the conditional waveforms.
 DelayMechanism getDelayMechanism()
          Returns the delay mechanism.
 Target<Signal> getTarget()
          Returns the target of this conditional signal assignment.
 boolean isGuarded()
          Returns if this conditional signal assignement is guarded.
 void setDelayMechanism(DelayMechanism delayMechanism)
          Sets the delay mechanism
 void setGuarded(boolean guarded)
          Sets if this conditional signal assignment is guarded.
 void setTarget(Target<Signal> target)
          Sets the target of this conditional signal assignment.
 
Methods inherited from class de.upb.hni.vmagic.concurrent.AbstractPostponableConcurrentStatement
isPostponed, setPostponed
 
Methods inherited from class de.upb.hni.vmagic.concurrent.ConcurrentStatement
getLabel, setLabel
 
Methods inherited from class de.upb.hni.vmagic.VhdlElement
getParent, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConditionalSignalAssignment

public ConditionalSignalAssignment(Target<Signal> target,
                                   ConditionalSignalAssignment.ConditionalWaveformElement... conditionalWaveforms)
Creates a conditional signal assignment.

Parameters:
target - the target of this signal assignment
conditionalWaveforms - the assigned waveform

ConditionalSignalAssignment

public ConditionalSignalAssignment(Target<Signal> target,
                                   java.util.List<ConditionalSignalAssignment.ConditionalWaveformElement> conditionalWaveforms)
Creates a conditional signal assignment.

Parameters:
target - the target of this signal assignment
conditionalWaveforms - the assigned waveform

ConditionalSignalAssignment

public ConditionalSignalAssignment(Target<Signal> target,
                                   Expression value)
Creates a conditional signal assignment.

Parameters:
target - the target of this signal assignment
value - the assigned value
Method Detail

getTarget

public Target<Signal> getTarget()
Returns the target of this conditional signal assignment.

Returns:
the target

setTarget

public void setTarget(Target<Signal> target)
Sets the target of this conditional signal assignment.

Parameters:
target - the target

getConditionalWaveforms

public java.util.List<ConditionalSignalAssignment.ConditionalWaveformElement> getConditionalWaveforms()
Returns the conditional waveforms.

Returns:
a modifiable list of conditional waveform elements

getDelayMechanism

public DelayMechanism getDelayMechanism()
Returns the delay mechanism.

Returns:
the delay mechanism or null if no delay mechanism is set

setDelayMechanism

public void setDelayMechanism(DelayMechanism delayMechanism)
Sets the delay mechanism

Parameters:
delayMechanism - the delay mechanism or null to remove the delay mechanism

isGuarded

public boolean isGuarded()
Returns if this conditional signal assignement is guarded.

Returns:
true, if the assignment is guarded

setGuarded

public void setGuarded(boolean guarded)
Sets if this conditional signal assignment is guarded.

Parameters:
guarded - true, if this assignment should be guarded