
| Top | Next | Previous | Home Page | Send Feedback |
CHAPTER 4 Working with DAI SignalscanAdding Comments and Constants 4-13 Viewing Sequence Time and Multivalue Indication 4-15 Viewing Multi-Dimensional Objects 4-17 Finding the Cause, Definition, or Instantiation 4-30 Recording Structural Elements 4-31 Single-Level versus Multi-Level Viewing 4-31 Current Instance, TimeA, and Object Information 4-38 Statement Trace Information 4-40 Printing the Waveform Window 4-45 Printing the Schematic Pane 4-46 Merging SST Database Files 4-47 Saving and Restoring Your Configuration 4-47 Overview
This chapter describes how to use Signalscan's features. You should also use the quickstart guides available from the Signalscan
Help
button and sample files available in the Working With WaveformsThe Waveform Window allows you to view the results of multiple simulations from multiple simulators all in the same window. The Waveform Window displays signal values and strengths as well as Sequence Time. Analog and digital waveforms can be freely intermixed within the same window. The Waveform Window can be used interactively during simulation, as well as in post-simulation analysis. Use the Design Browser, the Source Code Window, or the command line to add variables to the Waveform Window. Using the Names PaneThe Names Pane in the Waveform Window displays the variables used in the analysis. Variables displayed in the Names Pane are organized into groups. See "Using Groups" for information on defining and modifying groups. To scroll the Waveform Window display to a particular group, change the Multi-List Pane to display Groups and click on the name of the desired group. By default, variables in the Names Pane are displayed as simply the local variable name with the TimeA value and possibly (in analog designs) a units specifier or a height bracket (see "Height Bracket"). Use the Format menu to add or remove any combination of the file name, path name, or full design hierarchy name to all variable names in the Names Pane (see "Formatting Variables"). To change the width of the Names Pane, position your mouse pointer between the Names Pane and the Waveform Pane, and press and drag your left mouse button. To cut, copy, paste, delete, move, or duplicate a variable, first select the name of the variable in the Names Pane (see Table 4-1 below) and then select the appropriate option from the Edit menu. Variables that you paste, move, or duplicate are added at the insertion marker , the horizontal yellow line in the Names Pane. Position the insertion marker by clicking either the middle or right mouse button before you paste, move, or duplicate variables. You can also move a variable by clicking on the name of the variable with your middle or right mouse button and dragging it to the desired location. To find a variable, select Edit>Find . Height BracketAnalog waveforms and transactions have a bracket to the right of the variable name. To change the height of an analog waveform or transaction box, move your cursor over the top or bottom of the bracket associated with the variable name. The cursor changes to a double-headed vertical arrow. While the cursor is a double-headed arrow, hold down your left mouse button and drag the bracket up or down to the desired height. When you release the mouse button, the waveforms and the grid underlying the waveforms (if any), or the transaction box with its list of transaction properties, compress or expand to fit the new height. See "Analog Features", for more information on special Signalscan features for analog variables. See Transaction-Based Verification: DAI Signalscan TX User's Guide for more information about transactions. Using GroupsA group is a collection of variables displayed together. You can define multiple groups, and place any variable any number of times in one or more groups. To create a group, go to one of the following windows: and select the Edit>Create>Group menu option or enter Ctrl+g from your keyboard. When you change the content of a group in any of these windows, the new content of the group is displayed in both the Waveform Window and the Source Code Window. The Design Browser does not display the complete content of a group but only allows you to add new content. The default group is Group A. If you add variables without creating a group, they are automatically added to Group A. You can define and simultaneously display multiple groups in the Waveform Window and in the Source Code Window. In the Design Browser, be sure the group you want to add variables to is selected in the drop down menu at the top of the To Add Pane. Variables are added to the To Add Pane as soon as you click your left mouse button on them in the Variables Pane. The specified variables are added to both the Waveform Window and the Source Code Window when you select the AddToWave button or the Control>Add Variables menu option. See also "Create an Overlay Group". When you add new variables to the Names Pane, they are inserted at the insertion marker , the horizontal yellow line. Position the insertion marker by clicking either the middle or right mouse button before you add variables. New variables are added just after the insertion point, and new groups are added after the group containing the insertion point. In the Waveform Window or Source Code Window, you can cut, copy, paste, delete, modify, move, or duplicate a group or a variable within the group by first selecting the name of the group or variable in the Names Pane (see Table 4-1) and then selecting the appropriate option from the Edit menu. Groups and variables are pasted at the insertion marker: the yellow line in the Names Pane. You can also move a group or variable by clicking on the name of the group or variable with your middle or right mouse button and dragging it to the desired location. To scroll the Waveform Window or Source Code Window display to a particular group, change the Multi-List Pane to display Groups and click on the name of the desired group. Using the Waveform PaneThe Waveform Pane displays the waveforms of the corresponding variables shown in the Names Pane. You can define markers to mark locations in your simulation that you want to quickly return to later (see "Using Markers"). Two independent cursors, Cursor1 and Cursor2, are used to measure the time between transitions (see "Using Cursors"). TimeA can be defined to link all the windows at a particular simulation time (see "Using TimeA"). Finding the Cause of a ValueSee "Control>Go To Menu" and "Cause Finder". Viewing Multi-Dimensional ObjectsSee "Viewing Multi-Dimensional Objects". ZoomingThe Waveform window supports a variety of commands for zooming in and out on portions of the waveform. The button bar contains the buttons ZoomInX , ZoomOutX , and ZmOutXFull . The ZoomInX and ZoomOutX buttons expand or contract the view by a factor of two while retaining the center point of the Waveform Pane. ZmOutXFull fits the entire simulation time into the Waveform Pane. These zoom commands also appear on the View menu. To zoom in, select View>Zoom>In or use the hot key Ctrl+i . Signalscan increases the magnification of the waveforms by a factor of two. To zoom out, select View>Zoom>Out or use the hot key Ctrl+o . Signalscan reduces the magnification of the waveforms by a factor of two. To fit a particular view into the Waveform Pane, position Cursor1 with the left mouse button and Cursor2 with the middle mouse button, and then click the right mouse button, or select View>Zoom>Between Cursors or use the hot key Ctrl+z . Signalscan shrinks or expands the time between Cursor1 and Cursor2 to fit in the Waveform Pane. To zoom all the way out, select View>Zoom>Out Full or use the hot key Ctrl+f . Signalscan shrinks the start time and end time to fit into the Waveform Pane. To adjust the position of the window without changing the zoom level, select View>Center On Cursor1 or use the hot key Ctrl+t . Signalscan scrolls the waveforms so that Cursor1 is displayed at the center of the Waveform Pane. ScrollingUse the scrollbars to pan and scroll vertically and horizontally. Click beside the slider in a scrollbar to jump by one screen width or height. Use the arrows in the scrollbars for smooth scrolling. Using the Multi-List PaneThe Multi-List Pane displays the existing groups, markers, and events. Click on the down arrow in the top right corner of this pane, to the right of the title, to change the display in this pane to Groups, Markers, or Events. When Groups are displayed, you can scroll to any group by clicking on the name of that group in this pane. When Markers are displayed, you can scroll to any marker by clicking on the name of the marker. When Events are displayed, you can search forward or backward for the next occurrence of an event, depending on the current state of the event search direction. Click on the name of the event to do this. Using CursorsCursors appear as vertical lines with the text "Cursor1" or "Cursor2" and the time value at the top. To reposition Cursor1, click the left mouse button in the Waveform Pane. Cursor1 moves to where you clicked your left mouse button. To reposition Cursor2, click the middle mouse button. The Snap Cursors To Signal Transition option in the Define Preferences dialog box causes Cursor1 and Cursor2 to snap to waveform transitions that are immediately to the right or left of the cursor. Point the mouse to a variable transition, then click the left or middle mouse button to align Cursor1 or Cursor2 exactly to that transition. You can use this to measure the time between transitions. The difference in time between Cursor1 and Cursor2 is displayed in the Time Status Pane next to the label "Cur2-Cur1". Using MarkersMarkers appear as vertical lines in the Waveform Pane, with the user-defined marker name and the marker time at the top of the marker. A marker is like a bookmark that you can place at any time in your simulation and give any name you like. Use markers to mark times in your simulation that you may want to quickly jump back to later. To create a marker, select Edit>Create>Marker or use the hot key Ctrl+m . A dialog box appears showing Cursor1 time as the default marker time. This dialog box allows you to specify a name for the marker and edit the time. The marker is placed at the marker time specified. To scroll the Waveform Pane display to a marker, change the Multi-List Pane to display Markers and click on the name of the desired marker. To delete a marker, click on the name of the marker in the Multi-List Pane to select it, and then press the Delete button. Using TimeATimeA appears as a vertical line with the text "TimeA" and the time value at the top. TimeA is a special time cursor that links all the windows at a particular simulation time. To reposition TimeA, double-click your left mouse button where you want to move TimeA. Cursor1 is also moved to that position. The time for TimeA is displayed in the Time Status Pane next to the label "TimeA =". Using EventsAn event is a definition for the states of a collection of variables. It is used to define searches through your simulation history. To create an event, select the variables in the Names Pane that you want to include in the definition of the event. Place Cursor1 at the location in the Waveform Pane that most resembles the event. Select Edit>Create>Events or use the hot key Ctrl+e . The Events Window is displayed with the new event added to the Event List, shown in Figure 4-1:
The initial value for each variable is its value at Cursor1. You can edit any values in the Value Pane. You can also change the default event name assigned by Signalscan by clicking on the name of the event in the Names Pane in the Event Window. You can change the value of a variable being searched for to be Rising Edge, Falling Edge, or Any Edge by selecting Control>Define as Rising Edge , Control>Define as Falling Edge , or Control>Define as Any Edge . To display the names of all defined events in the Multi-List Pane in the Waveform Window, click on the down arrow in the top right corner of the pane and select Events from the list. When you click on the name of an event in the pane, the simulation searches forward from Cursor1 to the next occurrence of that event, and Cursor1 is moved. The search for events wraps around from the end of the simulation. To change the event search direction, do one of the following in the Events Window:
Using Buses
The Make Bus From Selected Variable(s) dialog box displays as shown in Figure 4-2:
If all the variable names selected have the same prefix, and the trailing bit numbers are consecutive, the default name is the common prefix, and suffix is the bit index. To modify the content of the bus, change the msb and the lsb, and/or flip the contents of the bus (click the Flip Contents button). If not all of the selected variables have a common name (a bundle ), the default name is the concatenation of the names of the selected variables, separated by a comma, as shown in Figure 4-3:
When you change the content of the bundle, the name also changes to reflect its content. By default, the bus name is the common name, followed by the indices, and the bundle name is the concatenation of the signals of which it is composed. To change the name of the bus:
You can change the value of the indices to be displayed by editing the msb and lsb. The number of bits is enforced, so if you change the msb, the lsb is also changed to reflect the correct bit count. Select the Replace Original checkbox to replace the selected variable with the new bus. The selected variable in the Names Pane in the Waveform Window is deleted if Replace Original is selected when the new bus is added.
The contents of the original bus are displayed at the top of the dialog box as well as the bit contents of the bus. The default name is the original name with the new modified indices. To rename the bus, select the New Name button. To expand a bus to show its constituent bits, select either a user-defined bus or a Verilog bus in the Names Pane of the Waveform Window, and then select Edit>Expand . Backtracing Your DesignSelect Control>Add Trace to add the backtrace information for the selected variable. The information is displayed on the lines below the variable. Select Control>Add Module Inputs to add the inputs to the module containing the variable. The information is displayed on the lines below the selected variable. Select Control>Go To>Schematic to display the Schematic Tracer Window. The Schematic Tracer Window displays a graphical representation of the backtrace information for the selected variable. Values are provided for every displayed signal. You can graphically and quickly backtrace through your design. Adding Comments and ConstantsSelect Edit>Create>Comment to add a comment at the insertion point. Enter the text of your comment in the dialog box that is displayed. Select Edit>Create>Constant to add a constant at the insertion point. Enter the name of the constant and its value in the dialog box that is displayed. You can use this feature to create constant zero or one if you are going to create a user-defined bus and you want to fill it with zeros or ones. Formatting VariablesSelect one of the options from the Format>Variable Radix menu to change the format of the selected variables. For example, if a variable is displayed in hexadecimal, it is displayed in the Names Pane as:
Select Format>Invert to invert the bits of the selected variables. When a variable is displayed in this format, it is displayed in the Names Pane as:
Select Format>Show Strength to display the strength of the selected variables. When a variable's strength is displayed, it is shown in the Names Pane as:
Select Format>Analog Format to change the selected signals, buses, and real numbers to display their values in an analog format. Select Format>Shift>Selected Variables or Format>Shift>All Recorded Variables to graphically shift variables by the user-specified absolute or relative time amount. Shifted variables are denoted by a special color and have the amount of time shifted appended to their name. To unshift variables, select the variable and shift to absolute time 0. Shifted variables can be saved to Do-Files and written to VCD files. Select Format>Define Analog Min/Max Values to specify the minimum and maximum values of the range where the selected analog variables are plotted. This affects only the variables displayed in analog form. Select Format>Define Variable Display Scale to specify the display scale of the selected variables. For example, if the selected variable shows a value of 4500uV, changing the display scale to mV causes the same value to be displayed as 4.5mV. Select Format>Full Hierarchy Names to toggle the display of variable names to include/exclude the full hierarchy name of each variable. Select Format>File Names to toggle the display of variable names to include/exclude the file name of the SST2 Database that contains the variable. Select Format>Full Path File Names to toggle the display of variable file names to include/exclude the full path of the SST2 Database file that contains the variable. NOTE: The full path name is only displayed if Format>File Names is selected as well. Viewing Sequence Time and Multivalue IndicationTo view sequence time, you must first record sequence information into your SST2 Database. See "Recording Sequence Information Example" and "$recordvars". Multivalue IndicationMultivalue Indication graphically identifies areas where sequence order problems may exist: zero-time glitches where variables have received multiple values during a single time step. Such a glitch may indicate a reliance on the simulator's ordering of events, which could later turn into a serious timing problem. Once a glitch is identified, you can further investigate the problem by expanding into the Sequence Time domain. Multivalue Indication is graphically represented as a pink dot on top of the waveform at the location where it occurred. You can view the actual variable assignment sequence within a given time step by using the Sequence Time feature of Signalscan. See Figure 4-4. Sequence TimeSequence Time (patent pending) lets you view and debug activities that conceptually take place at the same instant, but that the simulator executes in a specific order. When different execution orders yield different results, a sequence order problem exists. By graphically displaying the actual variable assignment sequence within a given time step, Sequence Time lets you pinpoint and eliminate this class of problems early in the design cycle, before they result in more serious gate-level problems downstream. You can view the order in which the variables changed by expanding the sequence time at Cursor1, between cursors, or at all times. These options are available under the View>Expand Sequence Time menu option. For example, to expand sequence time at Cursor1, click your left mouse button on a pink dot in the Waveform Window, and select the View>Expand Sequence Time>At Cursor1 menu option. If you do not want to view the sequence time, you can collapse the sequence time information by using View>Collapse Sequence Time .
Viewing Multi-Dimensional ObjectsThe Signalscan Waveform Window can view only one-dimensional objects. To view a multi-dimensional object, you must view each dimension separately. Each dimension of a multi-dimensional object is treated as a scope in Signalscan. Each scope is one vector of an array or one variable of a record. Thus, to view multiple dimensions of a multi-dimensional object in the Waveform Pane, you need to iterate the following process:
In the following example, select the scope
Working With Source CodeNOTE: You need DAI Signalscan TX (the TX option of Signalscan) to open the Signalscan Source Code Window and use the Signalscan source code debugging features. The Source Code Window is used for source level debugging. It displays the source code as the simulator progresses through the simulation. The Source Code Window allows you to easily view variable values and set breakpoints by simply clicking on the source code. The source code is displayed in the Source Code Pane of the Source Code Window. The values of variables in the source code can be viewed by adding them to the Names Pane. Line breakpoints can be set in the Source Code Pane. Any Events, Groups, or Markers created during this session are displayed in the Multi-List Pane, and all the variables used in this analysis are displayed in the Names Pane. You can search for a string in the Names Pane or the Source Code Pane by selecting Edit>Find . Enter the string you wish to search for, select the pane and search direction, and click on OK . Interactive DebuggingYou can run Signalscan TX interactively with Verilog-XL and Model Technology ModelSim VHDL simulators. Verilog-XLFollow the instructions in "Cadence Verilog-XL", but do not invoke your simulator or Signalscan. To invoke your simulator and Signalscan TX interactively:
The two processes (Signalscan TX and your simulator) are now connected, and you can control the simulator with the VCR-like buttons in Signalscan TX and view simulation results as they occur ("marching waveforms"). Your Signalscan TX Control Window should now look something like Figure 4-8:
Before you can see any data in the Waveform Window, you need to step past the first
Model Technology ModelSim VHDLNOTE: Signalscan TX/ModelSim VHDL interactive is only supported for Signalscan TX version 6.1.2 or higher combined with ModelSim VHDL version 5.2a or higher. Follow the instructions in "Interfacing Signalscan to MTI ModelSim VHDL EE UNIX", but do not invoke ModelSim or Signalscan. To invoke ModelSim and Signalscan TX interactively:
This command in the Init Simulator dialog box starts a ModelSim simulator and loads the module
NOTE: Because of the graphical nature of the Signalscan TX/ModelSim interaction, you must use the The ModelSim GUI displays, and a connection is automatically established between ModelSim and Signalscan TX.
At the first simulator prompt in the simulator main window, type
When you have done this, you can load signals into the Signalscan TX Waveform Window and display them as they are being simulated ("marching waveforms"). NOTE: You must use the ModelSim source window to view your source code and to set breakpoints. You can control the simulation either using the simulator or using the Signalscan TX VCR-like buttons (Pause, Step, and Continue arrows). The simulator and Signalscan TX remain synchronized. Whenever you Step the simulation or the simulation stops at a breakpoint, the ModelSim source window updates accordingly. The Signalscan TX Source Code Window cannot be used in this manner at this time. Advancing Simulation TimeTo advance the simulation time in interactive mode, you can either single-step through the code or run the simulator in continuous mode. When you step through the code, the simulator executes only one statement at a time. When you select continuous mode, the simulator runs continuously. The Continue button (arrowhead pointing right) uses the option displayed in the Continue drop-down list. The choices are:
When the simulator stops, the status of the simulator and the next line to be executed are displayed in the window. The source file is displayed, and the line is pointed to by a red arrow. Names PaneThe Names Pane in the Source Code Window displays the variables used in the analysis. Variables displayed in the Names Pane are organized into groups. See "Using Groups" for information on defining and modifying groups. To scroll the Source Code Window display to a particular group, change the Multi-List Pane to display Groups and click on the name of the desired group. The Names Pane allows you to scroll up and down the list of variables. By default, variables in the Names Pane are displayed as simply the local variable name with the current value and possibly (in analog designs) a units specifier. Use the Format menu to add or remove any combination of the file name, path name, or full design hierarchy name to all variable names in the Names Pane (see "Formatting Variables"). To change the width of the Names Pane, position your mouse pointer between the Names Pane and the Source Code Pane, and press and drag your left mouse button. To cut, copy, paste, delete, move, or duplicate a variable, first select the name of the variable in the Names Pane (see Table 4-1) and then select the appropriate option from the Edit menu. You can also double-click on a variable in the Source Code Pane to add it to the Names Pane. Variables that you paste, move, duplicate, or add are added at the insertion marker , the horizontal yellow line in the Names Pane. Position the insertion marker by clicking either the middle or right mouse button before you paste, move, duplicate, or add variables. You can also move a variable by clicking on the name of the variable with your middle or right mouse button and dragging it to the desired location. To find a variable, select Edit>Find . Source Code PaneThe Source Code Pane is the area in the Source Code Window that displays the source code. This window is used to:
The following is a list of the indicators that are used in the Source Code Pane and a description of the function of each of them:
Line numbers are listed along the left side of the Source Code Pane. The line numbers for the current module are displayed in a different color. As the simulation progresses, if Module Focus is set to OFF, then the Source Code Window is seen to jump between the modules. If Module Focus is set to ON, then the Source Code Window does not jump between modules. Whenever the simulation is stopped, the next line to be executed is pointed to by a red arrow. If the simulation mode is Interactive, the values of the variables in the Names Pane are continually updated as the source code is executed to reflect the current state of the simulation. Therefore, the value of any variable can be seen directly from the Names Pane. However, if Sequence Time is not saved, the values will only be updated at the end of the time step. The Source Code Pane displays one file at a time. The file is parsed for information such as keywords, variables, and executable statements. Keywords and variables are always colored, but the executable lines are only marked for the current viewing module. The line numbers are also always shown, but the current viewing module has a different line number color to indicate its scope. By default, the current viewing module is the one that contains the line of code to be executed next by the simulator. The information for this module is also displayed in the status fields. To change the viewing module, click on a line in the new module, and the information for this module is displayed in the status fields. NavigatingYou can jump up and down through your design hierarchy, between module definitions and instantiations, by double-clicking your left mouse button on a module name. If you double-click on a module name in the definition of that module, the Source Code Pane shows the instantiation of that module in the parent. If you double-click on a module name in an instantiation of that module, the Source Code Pane shows the definition of that module. Setting BreakpointsTwo types of breakpoints can be set in the source code. They are described below. Line BreakpointsAs an alternative to the Breakpoints dialog box, you can easily set line breakpoints in the Source Code Pane. On the far left of the Source Code Pane, double-click on diamonds. These denote executable lines of code. A stop icon appears to indicate that there is a breakpoint on that line. Double-click again on that line to delete the breakpoint. Variable BreakpointsThe Source Code Window can also be used to set breakpoints on variable changes. To do this, select a variable, then select Edit>Create Breakpoint . The Create Breakpoint dialog box is displayed. You can change the condition from Any Edge to Positive Edge or Negative Edge, and then click OK . Adding VariablesTo add variables from the Source Code Pane to the Names Pane, just double-click on the variable in the Source Code Pane. The variable is added at the insertion point. For further information, see "Names Pane". Viewing FilesThe Source File Drop-Down List contains a list of recently viewed files. Select a file from this list or type the name of a new file to load that file into the Source Code Pane. Viewing ScopesThe Scope Drop-Down List contains a list of recently viewed scopes. Select one of the listed scopes or type in a new scope to view the source for that scope. Finding the Cause, Definition, or InstantiationSee "Control>Go To Menu" and "Cause Finder". Working With SchematicsThe Schematic Tracer creates schematics on the fly, showing you the drivers for an edge or pin. Use the Schematic Tracer to debug structural designs. Recording Structural ElementsTo display useful data in the Schematic Tracer Window, you should first record structural elements in your design when you simulate. To record structural elements, include a line such as the following in your Verilog source file:
NOTE: Be sure that you do not specify For more informaiton, see "Recording Fan-in Example" and "$recordvars". Single-Level versus Multi-Level ViewingBy default, the Schematic Tracer Window shows multiple hierarchical levels of your design simultaneously as you add elements from different design levels to the window and as you select options to display parent (ascend) or child (fill in) design levels. By default, a new Schematic Tracer Window opens only when you select the Control>Go To>Schematic menu option or, of course, the Windows>Schematic Tracer menu option.
If you want to see each level in your design hierarchy displayed in a separate Schematic Tracer Window, you need to set the
If you set this variable as shown, then you will see the following behavior:
Schematic Tracer WindowThe Schematic Tracer Window (Figure 4-10) allows you to trace a value backward or forward, trace an unknown value, look inside an instance, look at the parent of the current design level, step to the previous or next time a selected variable changes value, and go from an element in the schematic to the place in the source code where that element is defined or instantiated or that value is assigned.
There are two ways to enter variables into a Schematic Tracer Window:
If you paste a variable into a Schematic Tracer Window that already has some logic displayed in it, the window displays both the existing logic and the new logic, showing the connections between the original logic and the new logic. Schematic PaneThe Schematic Pane is where the selected portion of your structural design is displayed. When you add a variable to the Schematic Pane, all instances that drive that variable are shown. All ports on each net are shown, and all ports show both their internal port name and value and their external port name and value. Displayed values change dynamically as TimeA changes. To trace a value, display parent (ascend) or child (fill in) design levels, or zoom in or out, you can use buttons or Control menu options, press and drag the mouse, or double-click. To select a pin or instance before selecting a button or menu option:
Whenever more devices or instances are added to the display (through Paste , Trace , TraceX , Ascend , or Fill In ), the design elements that were just added are selected (highlighted). Therefore, for example, you can rapidly expand your view of the design by double-clicking on an external pin and then selecting the Trace button several times in succession without manually selecting any pins in between. You can move or delete portions of the displayed design. To move an instance, select it with your left mouse button and drag it while holding down the Shift key. See also "Regenerate" and "Delete". Trace and Fill In Left Mouse ShortcutsSee also "Unconnected Pins" below.
Unconnected PinsIf an internal or external pin is connected to a constant, the Schematic Tracer Window shows the value of that constant. If you double-click on an internal or external pin that is connected to an RTL description, the Schematic Tracer Window shows the selected pin connected to an icon that looks like a piece of paper with text on it. This is a Source Code icon. Double-click on the Source Code icon to display a Source Code Window focused on the cause of the value of this pin. This is the same behavior you get if you select the pin and then select the Control>Go To>Cause menu option. See "Cause Finder". Ascend and Zoom Left Mouse ShortcutsPressing and dragging your left mouse button performs one of the following functions, depending on which direction you drag the mouse pointer: Upper left: Ascend.Press your left mouse button and drag it toward the upper left corner of the Schematic Pane before releasing it. While you are dragging, the mouse pointer changes to a line labeled "Ascend". The parent structure of the Current Instance is displayed. Straight Up: Zoom Out.Press your left mouse button and drag it straight up in the Schematic Pane before releasing it. While you are dragging, the mouse pointer changes to a line labeled "Zoom Out". When you release your mouse button, the schematic view zooms out a fixed amount. This is the same behavior as selecting the ZoomOut button. Upper right: Zoom Out - n .Press your left mouse button and drag it toward the upper right corner of the Schematic Pane before releasing it. While you are dragging, the mouse pointer changes to a line labeled "Zoom Out - n ", where n is the zoom out factor. The zoom out factor in the label changes as you move your mouse. When you release your mouse button, the schematic view zooms out by the factor last indicated in the zoom out line label. Straight Down: Zoom In.Press your left mouse button and drag it straight down in the Schematic Pane before releasing it. While you are dragging, the mouse pointer changes to a line labeled "Zoom In". When you release your mouse button, the schematic view zooms in a fixed amount. This is the same behavior as selecting the ZoomIn button. Lower right: Zoom In.Press your left mouse button and drag it toward the lower right corner of the Schematic Pane before releasing it. While you are dragging, the mouse pointer changes to a rectangle labeled "Zoom In". When you release the mouse button, the Schematic Pane zooms to show only the area inside the rectangle. Lower left: Zoom To Fit.Press your left mouse button and drag it toward the lower left corner of the Schematic Pane before releasing it. While you are dragging, the mouse pointer changes to a line labeled "Zoom To Fit". This is the same behavior as selecting the ZoomToFit button. Finding the Cause of a ValueSee "Control>Go To Menu" and "Cause Finder". Buttons and Menu OptionsButton BarTraceDisplay everything that is driving the selected external pin, or everything that the selected internal pin is driving. This functionality can also be accessed from the Control menu and by double-clicking on a pin. See also "Unconnected Pins". If an instance is selected, everything that is driving any of the external pins of that instance is displayed. This functionality can also be accessed from the Control menu. TraceXSame functionality as Trace except that it continues to expand the design until it reaches a driving block that has more than one X input or no X inputs. Unknown values are shown in red. This functionality can also be accessed from the Control menu. AscendShow the parent design level of the Current Instance. This functionality can also be accessed from the Control menu or by pressing the left mouse button and dragging it toward the upper left corner of the Schematic Pane before releasing it. Fill InDisplay the internal structure of the selected instance, or display the entire structure of the Current Instance if no other instance is selected. This functionality can also be accessed from the Control menu, by double-clicking the left mouse button in an empty area inside an instance, or by double-clicking the left mouse button in an empty area outside any instance. MenusEdit MenuDeleteDeletes the selected instance(s) from the Schematic Pane. Nets between deleted instances and instances that are still showing in the pane are displayed as dashed lines to tell you that something is missing from this net. If you Fill In this design level, the deleted instances re-appear and the dashed lines become solid again. Select AllSelects all objects for all instances displayed. Control MenuRegenerateRegenerate the current design in the Schematic Pane. If you have moved some instances, they are moved back to the best fit display. This option does not restore any instances that you deleted from the view. Variable ChangeUpdates the values of all pins currently displayed in the Schematic Pane to the values they have the Previous time the selected pin changed value or the Next time the selected pin changes value. Keyboard shortcut: You can also enter Ctrl+v or Ctrl+n to update to the Previous or Next value of the selected pin. If you select more than one pin, values are updated to their values at the time that any one of the selected pins changes value. Go ToSee "Control>Go To Menu". Current Instance, TimeA, and Object InformationImmediately above the Schematic Pane is the name of the Current Instance. You can edit this field directly to display the schematic for a different instance. In the lower right corner of the Schematic Tracer is the TimeA field. You can edit this value directly to update the values displayed in the Schematic Pane. In the lower left corner of the Schematic Tracer is the object information field. The information displayed in this field changes as you move your mouse pointer over the Schematic Tracer Window. When your mouse pointer is in the Schematic Pane, the object information field displays the full hierarchical name of the object your mouse pointer is over. Control>Go To MenuThe Control>Go To menu appears on several Signalscan windows: the Waveform Window, Source Code Window, Schematic Tracer, Register Window, and Design Browser. The Control>Go To menu contains the following options:
NOTE: A Signalscan TX license is required to open the Source Code Window. Cause FinderThe Cause Finder feature shows you the cause of a selected value change using either the Source Code Window (for registers) or the Schematic Tracer (for structural elements). You can use the Cause Finder feature with or without a database of statement trace information. See "Statement Trace Information" below. You can invoke the Cause Finder feature from the Waveform Window (see "Waveform Window"), from the Schematic Tracer (see "Schematic Tracer"), from the Source Code Window (see "Source Code Window"), from the Design Browser ( Control>Go To>Cause menu option only), or from the Register Window ( Control>Go To>Cause menu option only). Statement Trace InformationTo make the best use of the Cause Finder feature, you should collect statement trace information from the simulator. If you do not collect statement trace information, you will still see results from using the Cause Finder feature, but the results may be less specific. See "Displaying Source Code Results". For an example and description of collecting statement trace information, see "Recording Statement Trace Example" and "$recordvars". Waveform WindowTo invoke Cause Finder from the Waveform Window, either:
A red arrow is displayed in the Waveform Pane pointing to the transition you selected, and Cursor1 and TimeA are set to the time of the transition, as shown in Figure 4-11.
If there are multiple transitions for a variable at the same simulation time, and sequence time is not expanded, clicking just left of the edge selects the first transition at that time, and clicking just right of the edge selects the last transition at that time. To select a different transition, expand sequence time so that you can easily select the desired transition. If the edge you selected is a register, then the Source Code Window is opened if it was not already open, or brought to the front if it was already open. An arrow is displayed to the left of the source code line that is the cause of the edge you selected in the Waveform Pane. See "Displaying Source Code Results" for more information. If the edge you selected is structural, then the Schematic Tracer is opened if it was not already open, or brought to the front if it was already open. The Schematic Pane displays the net you selected in the Waveform Pane. Schematic TracerTo invoke Cause Finder from the Schematic Tracer, either:
Depending on what you selected, either another Schematic Tracer Window or a Source Code Window is opened if it was not already open, or brought to the front if it was already open. If the Source Code Window is displayed, an arrow is displayed to the left of the source code line that is the cause of the value of the pin you selected in the Schematic Tracer. See "Displaying Source Code Results" for more information. Source Code WindowInvoking Cause FinderTo invoke Cause Finder from the Source Code Window, either:
If the variable you selected is a register, then the Source Code Pane scrolls to show the cause of that selected value. See "Displaying Source Code Results" below for more information. If the variable you selected is structural, then the Schematic Tracer is opened if it was not already open, or brought to the front if it was already open. The Schematic Pane displays the net you selected in the Source Code Pane. Displaying Source Code ResultsIf you have recorded statement trace information (see "Recording Statement Trace Example"), then a red arrow points to the single source line that caused the edge, as shown in Figure 4-12:
If you have not recorded statement trace information (or if you select something at time 0, before statement trace recording started), then you may see yellow arrows pointing to multiple source lines, as shown in Figure 4-13. In this case, the Multi-List Pane in the Source Code Window contains the category Causes , which displays a list of the possible causes (the lines that are marked by yellow arrows in the Source Pane). Click on one of the lines in the Causes list to scroll the Source Code Pane to that line in the source code.
PrintingYou can print from the Waveform Window or the Schematic Tracer Window. Signalscan supports printing both in black-and-white and in color. Printing the Waveform WindowSelect the File>Print menu option from the Waveform Window. The Printing dialog box is displayed as shown in Figure 4-14. Buttons across the top of the Printing dialog box allow you to specify header information for each printed page, the printer or file name to print to, the color mode, and which variables to print for which times. You can print all variables, currently selected variables, or currently visible variables, and you can print all times, currently visible times, or the time between specified start and end times. You can scale the printout to fit a specified number of pages, and you can specify the size of paper to use. The Color button allows you to choose one of the following three selections:
Printing the Schematic PaneSelect the File>Print menu option from the Schematic Tracer Window. The Print dialog box is displayed as shown in Figure 4-15. With the Scale buttons, you can print everything that is in the Schematic Pane (Full) or only what is currently visible in the Schematic Pane (View). With the Color Mode buttons, you can specify printing black lines and labels on a white background (Mono) or color lines and labels on a white background (Color).
Database FilesWriting to a VCD FileFor information on writing to VCD files, see "Using the VCD Writer". Merging SST Database Files
To merge incremental
NOTE: This feature requires the executable Saving and Restoring Your ConfigurationDo-FilesUse a Do-File to save and restore the configuration of a Signalscan session. You can save your groups, markers, events, register pages, and preferences such as Names Pane formatting, pane and window sizes, colors, print preferences, and many others. A Do-File contains Signalscan commands (see "DAI Signalscan Command Language Reference") that may be loaded and executed by Signalscan. Do-Files are text files that you can edit with any text editor. Any command that is valid in a Do-File may be typed and executed in the Signalscan Command Line Pane in the Control Window, and vice versa. .signalscanrc File
Signalscan automatically attempts to execute a Do-File named Other commands that you might want to save are design-specific or simulation-specific, and you do not want to execute them every time you open Signalscan. You can save these commands in separate Do-Files and load them explicitly as described below. For example, you can save different groups and markers in separate Do-Files to restore different views of a simulation. Saving Your Configuration
To write out the current configuration or parts of the current configuration of Signalscan, select the
File>Save Do-File
menu option. A standard file save dialog is displayed so that you can specify the path and filename for the Do-File. By convention, Do-Files are named
filename
To save all items in a particular category, click to select (highlight) the appropriate button on the left side of this dialog box. To save none of the items in a particular category, click to de-select the appropriate button. To save some but not all of the items in a particular category:
The list of items in that category is displayed in the scrollable field. To select one item, click on it. To select multiple items in the list, click and drag, click+ Shift +click, or Ctrl +click. To de-select all items, click on any currently selected item. To de-select particular items, Ctrl +click on them. Restoring Your ConfigurationTo restore the configuration from a Do-File:
To automatically use this configuration every time you use Signalscan, append this Do-File to the |
![]() |
|