/// <summary> /// Creates a conditional signal assignment. /// </summary> /// <param name="target">the target of this signal assignment</param> /// <param name="conditionalWaveforms">the assigned waveform</param> public ConditionalSignalAssignment(SignalAssignmentTarget target, List <ConditionalWaveformElement> conditionalWaveforms) { this.target = target; this.conditionalWaveforms = new List <ConditionalWaveformElement>(conditionalWaveforms); delayMechanism = DelayMechanism.INERTIAL; }
/// <summary> /// Creates a conditional signal assignment. /// </summary> /// <param name="target">the target of this signal assignment</param> /// <param name="value">the assigned value</param> public ConditionalSignalAssignment(SignalAssignmentTarget target, Expression @value) { this.target = target; this.conditionalWaveforms = new List <ConditionalWaveformElement>(); WaveformElement element = new WaveformElement(@value); this.conditionalWaveforms.Add(new ConditionalWaveformElement(new List <WaveformElement>(new WaveformElement[] { element }))); delayMechanism = DelayMechanism.INERTIAL; }
/// <summary> /// Creates a signal assignment. /// </summary> /// <param name="target">the signal assignement target</param> /// <param name="waveformElements">the waveform</param> public SignalAssignment(SignalAssignmentTarget target, List <WaveformElement> waveformElements) { this.target = target; this.waveform.AddRange(waveformElements); delayMechanism = VHDL.DelayMechanism.INERTIAL; if ((waveform.Capacity == 1) && (waveform[0].After == null)) { delayMechanism = VHDL.DelayMechanism.DUTY_CYCLE; } }
/// <summary> /// Creates a conditional signal assignment. /// </summary> /// <param name="target">the target of this signal assignment</param> /// <param name="conditionalWaveforms">the assigned waveform</param> public ConditionalSignalAssignment(SignalAssignmentTarget target, params ConditionalWaveformElement[] conditionalWaveforms) : this(target, new List <ConditionalWaveformElement>(conditionalWaveforms)) { }
/// <summary> /// Creates a signal assignement. /// </summary> /// <param name="target">the signal assignment target</param> /// <param name="value">the assigned value</param> public SignalAssignment(SignalAssignmentTarget target, Expression @value) { this.target = target; this.waveform.Add(new WaveformElement(@value)); }
/// <summary> /// Creates a signal assignment. /// </summary> /// <param name="target">the signal assignement target</param> /// <param name="waveformElements">the waveform</param> public SignalAssignment(SignalAssignmentTarget target, params WaveformElement[] waveformElements) : this(target, new List <WaveformElement>(waveformElements)) { }
/// <summary> /// Creates a selected signal assignment. /// </summary> /// <param name="expression">the assigned expression</param> /// <param name="target">the assignment target</param> public SelectedSignalAssignment(Expression expression, SignalAssignmentTarget target, List <SelectedWaveform> selectedWaveforms) { this.expression = expression; this.target = target; this.selectedWaveforms = selectedWaveforms; }
/// <summary> /// Creates a selected signal assignment. /// </summary> /// <param name="expression">the assigned expression</param> /// <param name="target">the assignment target</param> public SelectedSignalAssignment(Expression expression, SignalAssignmentTarget target) : this(expression, target, new List <SelectedWaveform>()) { }