SIMULATING SCHEMATIC AND/OR VHDL MODELS IN QUICKSIM II

BASIC STEPS:

  1. Invoke QuickSim II on a designated component, which may be a schematic, VHDL model, or mixture. Specify the top-most component name.
    Example:
  1. Open a window to display the component design.
  2. Open Trace, List, and/or Monitor Windows to display signals.
  3. Define "forces" (stimuli) to drive the component inputs.
  4. Run the simulation for a specified time.
  5. Examine/print the results.

You may also single-step through a model while setting/examining any schematic or VHDL signals and variables.

DESIGN VIEWPOINT FOR ASIC DESIGN KIT STANDARD CELLS

Quicksim II requires a "design viewpoint" to be explicitly created when using most technologies, including the ASIC Design Kit (ADK). This is created via the Design Viewpoint Editor (dve) as follows. Note that it need only be created the first time you simulate a new component.  It does not need to be recreated after making changes to the component.

  1. Invoke the Design Viewpoint Editor (DVE) via the special script supplied with the ADK: 
  2. Unix command line:  adk_dve my_design –technology ami05

    my_design is your component name (as you named it in Design Architect)

    ami05 is the AMI 0.5 micron technology (you may also use ami12 for 1.2 micron)

  3. This script creates several viewpoints. The Quicksim viewpoint is named ami05.

When invoking Quicksim II, specify both the component and viewpoint as follows:  quicksim   my_design/ami05

QUICKSIM II WINDOWS

Schematic Sheet - schematic diagram
VHDL Sheet - VHDL architecture source code
Trace - signal values (logic analyzer form)
List - signal values (tabular form)
Monitor - signal values (current values only)
Report - different types of information about the simulation and the model

The palette of function buttons that appears is one of six that can be displayed. Each contains functions that pertain to a specific type of activity. We will use only the SETUP, STIMULUS, and DBG VHDL (debug vhdl) palettes.

Schematic Diagram:

VHDL Source Code:

    1. Click on the component label to select it.
    2. From the popup menu: Open > Down

DISPLAYING SIGNAL VALUES & WAVEFORMS

Signal Values in Quicksim II

Signal values are represented in Quicksim II as a combination of one of three states and one of four strengths.

Displaying Signal Values

Selecting/Unselecting Signals

A signal is "selected" in any window by clicking on it (it becomes highlighted). More than one signal can be selected at any one time.

Displaying signal values in a Trace, List, or Monitor Window:

  1. Select each signal(s) to be displayed.
  2. Select the window(s) in which the signal is to be displayed.
    1. From the popup menu select: Add > Bus
    2. In the dialog box, enter the desired bus name and the signals that make up the bus and then click on OK.
      Example: For an 8-bit data bus:
    1. Select the window(s) in which the bus should be displayed:
    1. In the dialog box, indicate the display format:
      1. Enter the bus name. (Ex. D for the data bus)
      2. Click on the desire radix for the displayed values. (Hex, Octal, Binary, Decimal)
      3. Click on OK.
    1. Select the signal in that window.
    2. Click on the DELETE button in the palette.

Trace Window Manipulation

    1. Select the signal in that window.
    2. Click on the MOVE button in the palette. (A red cross-hair appears)
    3. Move the coss-hairs to the desired position and click. (The signal is placed ABOVE the signal under the cross-hair)
    1. From the popup menu select: Setup > Window
    2. Enter the desired time increment in the "Domain label" box.
    3. Enter the desired distance between time labels in box "Domain pixels/interval".
    4. Click OK when finished.

List Window manipulation

Use the "List Setup Window" to change the display in the List Window.

CREATING INPUT STIMULI ("FORCES")

A "Force" in Quicksim II is a signal value that is forced onto a component's input signal line. The "Forces Waveform Database" (WDB) contains waveforms of signal values to be applied to the circuit inputs during simulation. It can be created interactively or loaded from a previously-saved binary or ASCII file. Once in the WDB, any signal waveform can be modified as desired.

Interactive Creation of Forces

    1. Select a signal (optional).
    2. Click on the ADD FORCE button,
      or from pulldown menu select: Force > Single Value or: Force > Multiple Values
    3. In the dialog box that appears, enter the signal name (if not previously selected) and one or more time/value pairs to define the desired signal waveform on that net.

Signal name: load
Value: 0 Time: 10
Value: 1 Time: 40
Value: 0 Time: 70
Click on OK

This forces signal "load" to a 0 value at time 10, to 1 at time 40, and then back to 0 at time 70.

To Define a "Clock" (repeating) Signal

  1. Select the signal (optional).
  2. Click on the ADD CLOCK button in the stimulus palette. (or from the popup menu select: Force > Clock)
  3. In the dialog box that appears:



Example Dialog Box:
Signal Name: clk
Period: 40
Multiple Transitions
Value: 1 Time: 20
Value: 0 Time: 0
Click on OK

This defines a clock with a 40ns period, which is 0 for the first half of the period and 1 for the second half.

To force a signal line to a value at the current time

Force > 1 (or 0 or X)

To Delete Force Values from the Forces WDB

    1. If forces (Force Target) is not highlighted in the dialog box, click on it.
    2. Click on OK.

Note: This step is required in preparation for loading either a new force file or a previously-saved WDB.

    1. Select the signal(s).
    2. Click on the DELETE FORCES button in the stimulus palette, or from the popup menu select: Force > Delete
    3. In the dialog box, click on the Selected Signals button. (Or click on All Signals if you wish to delete them all.)
    4. Specify a range of times within which the signals are to be deleted.
    5. Click on OK.

Modifying Waveforms in the Forces WDB

The Forces WDB may be "edited" to change the currently-defined input patterns. (The Forces WDB can also be saved as an ASCII source file, edited with a standard text editor, and then reloaded as described above.)

    1. Select the "WF EDITOR" Palette.
    2. Select the signals to be displayed.
    3. Click on the EDIT WAVEFORM button in the palette.

Saving/Restoring the Forces WDB (internal non-ASCII form)

    1. Click on SAVE WDB or from the pulldown menu select:
      File > Save > Waveform DB
    2. In the dialog box, click on "forces (Force Target)" if it's not already highlighted.
    3. In the "Pathname" box, enter the desired path/file name.
    4. Next to "File Type", click on the WDB button.
    5. Click on OK
    1. Click on the LOAD WDB button in the Stimulus Palette, or from the pulldown menu select: File > Load > Waveform DB
    2. In the dialog box that appears:
      1. In the "Pathname" box, enter the file name or use the navigator to select the file.
      2. Click on the button "Load into Forces WDB"
      3. Click on OK

ASCII Force Files

A "force file" is an ASCII text file, created with any text editor, that contains a list of force commands as they might be issued from within Quicksim.


NOTE: The last three lines of the example specify a clock signal "clk", as would be defined with the "Add Clock" force command described earlier. Note the use of -repeat.

    1. First unload the Forces WDB as described above.
    2. From the menu bar select: Add > Forces > From File
      (or from the pop-up menu: Force > From File)
    3. In the dialog box that appears, enter the file name or use the navigator to select the file and click on OK.
    1. Click on SAVE WDB or from the pulldown menu select: File > Save > Waveform DB
    2. In the dialog box, click on "forces (Force Target)" if it's not already highlighted.
    3. In the "Pathname" box, enter the desired path/file name.
    4. Next to "File Type", click on the Forcefile button.
    5. Enter the start and stop times delimiting the portion of the Forces WDB to be saved.
    6. Click on OK

SIMULATION TIMING MODES (Gate-Level Designs)

Specifying Simulation Timing and Constraint Parameters

min: use minimum rise/fall times
typ: use typical rise/fall times
max: use maximum rise/fall times

To change the mode of operation for the simulation kernel

  1. Select Setup > Kernel > Analysis
  2. Click on Visible to display current settings.
  1. Make changes on the form as desired.

RUNNING AND CONTROLLING A SIMULATION

To run the simulation for given number of time units (say 100)

For Time: (enter number of time units)
Until Time: (enter stopping time)
Until Stop: (until the simulation stops by itself)

NOTE: Simulation results are automatically displayed in the Traces/List Windows, and the signal values at the time the simulation stops are displayed in the Monitors Window.

To reset the state of the simulation to the beginning (for example to try some different force values.)

  1. Click on the RESET button in the palette.
  2. Click on the button next to "State" (if not already active)
  3. Deselect "Save results ...", unless you want to reload and view the current results at a later time.
  4. Click on OK.

To make design changes and resimulate

  1. Open a Design Architect window
  1. Return to QuickSim II and from the menu bar select File > Load New Models > All This loads the corrected circuit model, replacing the previous one.

Single stepping (use buttons from the DBG VHDL palette)

Step End => step simulation until end of current timestep Step Event => continue until next event Step Iteration => continue until next iteration Step Into => continue, stepping into activated statement Step Over => continue, stepping over activated statement Step Return => continue, stepping over activated statement until a return/wait statement is found and executed

Special VHDL debugging windows

1. Active statements: highlights VHDL statements as they are executed during single-stepping. 2. Assertions: displays all messages created by VHDL "assertion" statements. 3. Breakpoints: list of breakpoint definitions and current status. Create via: Report > Setup > Breakpoints 4. Examine: displays information about an object selected in a VHDL View Window. 5. VHDL Messages: other VHDL information Create via: Report > Design Messages ...

STUDYING AND PRINTING SIMULATION RESULTS

Studying simulation results in the Traces Window

  1. Click on the VIEW ALL icon in the palette or from the popup menu select View > All to make the entire simulation fit the window.
  2. Click on the VIEW AREA icon in the palette or from the popup menu select View > Area - two crosshairs appear. Use these to fix a corner of a rectangle and draw a box around the area to be expanded.
  3. Click on the ZOOM IN icon in the palette or from the popup menu select View > Zoom In to zoom in around the current point to get more detail about the activity at that time.
  4. Click on the ZOOM OUT icon in the palette or from the popup menu select View > Zoom OUT to zoom out around the current point to show a greater portion of the simulation results (with less detail).
  5. From the popup menu select View > Time > Specified - enter the time to appear at the left of the display.
  6. One or more "cursors" (vertical lines on the display) can be used to examine the relationships of all displayed signals at an instant of time.
    1. From the popup menu select Cursors > Add and enter a time value to place a new cursor at that point in time. Note that the value of each signal line at that time is displayed.
    2. If two cursors are displayed, the time between them is also indicated.
    3. To move a cursor, from the popup menu select Cursors > Slide. This makes a red movable cursor appear. Move it to the desired time and click to fix its place.

To produce a hard copy of a List Window (as an ASCII file)

  1. Click in List Window to make it the active window.
  2. From the menu bar select File > Write
    1. In the dialog box, enter file name
    2. Click on the "Highlight" button if you wish to have highlighted signals marked on the printout.
    3. Enter the beginning and ending times to be printed.
    4. Click on OK.
  3. Send your ASCII file to any printer.

To produce a hard copy of a Trace Window

  1. Click in the desired window to make it the active window.
  2. From the menu bar select File > Print > Active Window

RUNNING QUICKSIM II SIMULATIONS IN "BATCH" MODE

QuickSim II can be run in batch mode, eliminating the time needed to bring up the window display. This is useful primarily if there will be no "debugging" in the simulation session. Batch mode simulation is used primarily to generate a simulation output listing for a given set of test vectors.

To invoke QuickSim II in batch mode, execute the following from a UNIX command line:

quicksim my_component -NODisplay < forces_dofile

Where:

my_component => Component to be simulated.
forces_dofile => Batch file containing list of quicksim commands for the simulator to "do".


Example: Sample forces_dofile to do a simple simulation run:


The above commands are executed by QuickSim as follows: