Simulated Signals
              
                WaveFormer Pro, DataSheetPro, VeriLogger and TestBencher Pro have a built-in Interactive HDL Simulator that greatly reduces
                the amount of time needed to draw and update a timing diagram. Using Boolean and Registered logic equations
                written in VHDL, Verilog, or SynaptiCAD's syntax you can describe signals in terms of other signals
                in the diagram. You will no longer have to figure the output of a combinational circuit or calculate
                the critical path of a synchronous circuit by hand. SynaptiCAD's interactive simulator will generate
                the HDL code using information entered into the Logic Wizard dialog and then simulate the result. And
                since the simulator is interactive, changes to input waveforms will automatically re-simulate so that
                your timing diagrams always reflect accurate design data. 
              
                This feature is included in the VeriLogger and TestBencher products even though they have a built in
                Verilog simulator, because it makes generating test benches and timing diagrams so fast that we couldn't
                hold it back. In WaveFormer, it is the backbone of the timing analysis and design features. The Interactive
                simulator supports multi-bit equations and true min-max timing. Below are some examples of equations
                that are supported. 
              
              
                Boolean Equations
              
              
                Boolean equations combinationally relate one signal to other signals in the diagram. The equations are
                entered into the Signal Properties dialog using VHDL, Verilog, or SynaptiCAD's enhanced equation
                syntax. The SynaptiCAD format supports a special delay operator that takes a signal on the left
                and time or parameter name on the right and returns a signal. If a parameter name is used on the right
                hand side of the delay operator, then the equation will simulate true min/max timing. This true min/max
                timing is the main advantage that SynaptiCAD's format has over the VHDL or Verilog format. Also, by
                changing a diagram level setting, the simulator will perform min-only or max-only simulations instead
                of the default min/max simulations. Below are some example Boolean equations using SynaptiCAD's syntax: 
              
                - Model a 3-input AND gate with a 20ns delay
 
                  (SIG0 and SIG1 and SIG3) delay 20ns  
               
               
              
                - Model an AND gate with 2 different input delays
 
                  (SIG0 delay 20ns) and (SIG1 delay 10ns) 
               
              
                - Model an AND gate with a delay between 15ns and 20ns. Here we use SynaptiCAD's syntax
                  and use a delay parameter called GateDelay which has been defined to have a min time of 15ns and a max
                  time of 20ns.
 
                  (SIG0 and SIG1) delay GateDelay 
               
              
                Multiplexers and Tristate Gates
              
                The equation box accepts C language conditional expressions in the form of conditional ? if_expr :
                  else_expr . These expressions are useful for modeling multiplexers, tristate gates, and more complicated
                sequential circuits such as counters. Some examples are: 
              
                - Model a Tristate gate
 
                  EnableSig ? SIG0 : 'bz 
               
              
                - Model a 2-1 Mux
 
                  S0 ? SIG0 : SIG1 
               
              
                - Model a 4-1 Mux
 
                  S1 ? (S0 ? SIG0 : SIG1) : (S0 ? SIG3 : SIG2) 
               
              
                Multi-bit Equations
              
                Multi-bit Equations are specified by setting the MSB and LSB of the signal (located at the bottom of
                the Signal Properties dialog). To change a simple 1-bit equation to a 4-bit equation, all you
                have to do is set the MSB of the signal involved to 3. All register and latch operations support multi-bit
                signals. 
              
                Signal Concatenation
              
                Concatenation of Signals is supported using the Verilog concatenation operator. You must set the MSB
                in the Signal Properties dialog to the proper size. If the size of the concatenated signal is
                larger than the receiving signal, then the most significant bits are dropped. Some examples of the concatenation
                operator: 
              
                - Signal Concatenation
 
                  {SIG0, SIG1} 
               
              
                - Concatenation bit-slices
 
                  {SIG[3:0], SIG1[7:4]} 
               
              
                Register and Latch Settings
              
                The interactive sumulator supports registered and latched equations. Below is an example of the circuit
                that is being modeled. 
              
                  
              
                The logic wizard in the Signal Properties dialog is used to enter information about the circuit.
                To use a register or latch just enter a Boolean equation, a clocking signal, and choose the triggering
                for the clock signal (rising edge, falling edge, both, high, or low). 
              
                Other settings can be used to describe the control lines for the flip-flop like the clock enable, set
                and clear signals. These control lines can be active low or high and synchronous or asynchronous depending
                on the settings in the Advanced Register and Latch Controls dialog (see next bullet). 
              
                - Model simple 4-bit "rollover" binary counter
 
                  Boolean Eqn field: CNT = CNT + 1 
                  Clock field: CLK 
                  Reset field: RESET 
                    MSB field: 3 
               
              
                - Model a 4-bit "count to 6 and rollover" binary counter
 
                  Boolean Eqn field: (CNT == `d6) ? CNT = 0 : CNT = CNT + 1 
                  Clock field: CLK 
                  Reset field: RESET 
                  MSB field: 3 
               
              
                Timing settings support clock to output delay, input setup time, and output hold time. 
             |