示例#1
0
        /// <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;
        }
示例#2
0
        /// <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;
        }
示例#3
0
        /// <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;
            }
        }
示例#4
0
 /// <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))
 {
 }
示例#5
0
 /// <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));
 }
示例#6
0
 /// <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>())
 {
 }