|
There are several tutorials shipped with all versions SynaptiCAD's software. These tutorials demonstrate
everything from how to draw basic timing diagrams to advanced VHDL and Verilog simulation techniques.
After installing one of SynaptiCAD's products, choose the Help > Tutorials menu
to open the tutorial help page. Each tutorial can be printed by using the print command in the help
window. Below are summaries and links to PDF versions of each tutorial. Please note that the TestBencher
Example tutorials are installed in the SynaptiCAD\Examples\docs directory rather
than under the Help menu.
General Design Tutorials
-
The Basic Drawing and Timing Analysis Tutorial explains
the basic timing diagram editing environment: how to set the base time unit and the display time unit
of a timing diagram; how to draw and edit signals, delays, and setups; and how to perform time measurements.
This tutorial is essential to anyone evaluating or learning to use any SynaptiCAD product.
-
The Interactive HDL Simulation Tutorial explores the
various time saving techniques of generating waveforms using equations. This tutorial explains how the
Interactive HDL Simulator can simulate Boolean Equations with delays, register and latched signals,
and behavioral Verilog code. It also demonstrates how instant resimulations can be performed when input
waveforms are modified, so that tedious calculations, once done by hand, are now automatically generated.
-
The Waveform Generation and Bus Tutorial demonstrates
techniques for working with multiple bit signals. These techniques include generating the waveforms
and automatically labeling those waveforms using equations. This tutorial also covers how to create
Virtual, Group, and Simulated buses for solving different design problems. These features augment the
drawing environment and provide a quick way to generate signals without having to draw each signal transition.
-
The Parameter Display Tutorial demonstrates different
methods for controlling the information that is displayed by delays, setups, holds, and samples. It
also describes how to manipulate the vertical placement of a parameter, and how to change the transition
attachments. These features allow you to control the information displayed and the appearance of the
timing diagram.
-
The Advanced Modeling and Simulation Tutorial demonstrates
how WaveFormer Pro can quickly model and simulate a digital system of moderate complexity. This tutorial
will teach you how to model state machines using Boolean equations, use the Report window to find simulation
errors, enter direct HDL code, model tristate gates, model n-bit gates, and call external HDL models.
All WaveFormer and TestBencher Pro users should do this tutorial.
Specialized Feature Tutorials
-
Parameter Libraries covers the use of libraries and macro
lists. This tutorial is important to do before starting a large project. Using Libraries and macro lists
can save you a great deal of time if they are configured properly.
-
The Advanced HDL Stimulus Generation Tutorial covers
the basic concepts of HDL stimulus generation, such as graphical waveform states, language-independent
hexadecimal and binary bus translation, and user-defined types. WaveFormer Pro and TestBencher Pro users
should do this tutorial.
-
Basic Verilog Simulation covers the basic simulation
features of VeriLogger Pro. This tutorial also discusses how to create and manage projects, as well
as how to build and simulate your design. VeriLogger Pro and TestBencher Pro users should perform this
tutorial.
-
The Reactive TestBench Generation Tutorial introduces
some of the optional reactive test bench features available with the Reactive TestBench Generation option.
This option enables some of the diagram level capabilities that are available in TestBencher Pro - such
as reactive Samples, diagram level User Defined Class Methods and much, much more. You may want to consider
performing this tutorial if you are a TestBencher user to introduce you to some of the features available
at the diagram level.
Test Bencher Pro Tutorials
-
TestBencher Pro: Basic Tutorial covers the basic concepts
of using TestBencher Pro to generate bus-functional models for Verilog, VHDL, & OpenVera. It covers
signal properties (type, direction, vector size, and bi-directional segments), samples, parameterized
state values, end diagram markers, interface diagrams, modifying top-level template files, and generating
test benches. TestBencher Pro users should do this tutorial.
-
TestBencher Pro: AMBA Example demonstrates how to create and use an
AMBA AHB master. It makes extensive use of Pipeline Boundary Markers in the master transactors which
are used to model the pipeline behavior defined by the AMBA specification. "Blocking Samples" in the
master write and read transactions are used to wait for HREADY. Loop Markers in the master idle and
busy transactors insert variable number of idle or busy cycles. State Variables and "Store Sampled Value
As Subroutine Output" variables in the master write transactor are used to pass the read data back to
the sequencer process. There is also a User-defined Class Method that determines the burst length based
on a given burst code (defined by AMBA spec.). And finally the project makes use of Constrained randomization
so that idle and busy transactors are applied using a random number of idle or busy cycles.
-
TestBencher Pro: PCI Example demonstrates how to create PCI master and
PCI slave bus-functional models (BFMs) using TestBencher Pro. These are not 100% complete BFMs that
can test every feature of the PCI protocol. Instead, they are just partial BFMs to help in the understanding
of TestBencher Pro. Each BFM is modeled using a TBP project, which is then instantiated in another project
named PCI.hpj. This an excellent example of hierarchical model design how the user can specify ports
of slave and master BFMs using the Component Signals & Ports dialog. Some features used in this example
include: loop markers, wait until markers, HDL code markers, state variables, simple expect samples,
blocking & non-blocking samples, and user defined samples..
-
TestBencher Pro: Pipeline Example demonstrates how pipelined transactors
can be created and how they work. To create the pipeline phases, "Pipeline Boundary" Markers were placed
on each clock edge that starts and/or ends a pipeline phase. For each "Pipeline Boundary" Marker that
starts a phase, a semaphore name is specified. This is done in the "Edit Marker" dialog and can be any
valid identifier. To indicate the end of the last pipeline phase, you can either select "End Boundary"
as the semaphore name or create an "End Diagram" marker.
-
TestBencher Pro: UART Example demonstrates how to design a Universal
Asynchronous Receiver/Transmitter (UART) controller which is the key component in serial bus communications.
The UART takes bytes of data and transmits the individual bits in a sequential fashion. At the destination,
a second UART re-assembles the bits into complete bytes. This project contains three transactors: CLK_generator,
WriteSerial, and ReadSerial. In this example, the WriteSerial and ReadSerial transactors communicate
with each other. They send and receive serial data on a signal named UART. But, they work with parallel
data at the transactor level. For example, the write transactor has an eight bit argument which it then
converts to serial data. Both of these diagrams also have a parameter named "speed" which controls how
many clock cycles are to be used for each bit of data.
-
TestBencher Pro: VME Example demonstrates how you would create bus-functional
models (BFMs) for the arbiter, master, and slave VME components. It also shows one way to configure
a set of slave BFM instances to respond to different address ranges. Each of these BFMs are represented
by a TestBencher Pro project which are all instantiated in a top-level project named VME.hpj. This entire
example is composed of unclocked diagrams.
Evaluators: If you are evaluating the product we recommend that you do at least the General Design tutorials.
These will give you a good idea of the flexibility of the product. If you design in VHDL or Verilog
you should also look at the HDL tutorial and the TestBencher tutorial and examples.
|