SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15...

110
10/20/05 SILOS Verilog Simulator Compliant to VERILOG - 2001

Transcript of SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15...

Page 1: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

10/20/05

SILOS – Verilog Simulator

Compliant to VERILOG - 2001

Page 2: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos2

Agenda

ß Introduction

ß Starting Silos Project

ß Explorer and Analyzer

ß Source Code Debugging

ß State Machine Design Entry

ß Advanced Debugging Features

ß Finite State Machine Example

ß Gate Level Debugging

Page 3: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos3

What is SILOS™

ß Verilog(IEEE 1364) Digital Logic Simulatorß Analysis and Debugging Environmentß Waveform Viewer

ß Hierarchical Browser

ß Text editor

ß Code Coverage

ß Finite State Machine Tool

ß Single Step with Breakpoints

ß Trace Gate and RTL events

Page 4: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos4

Digital Flow

Page 5: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos5

SILOS Platforms

ß SILOS supportsß Windows

ß SUN Solaris

ß Linux platforms

Page 6: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos6

SILOS Markets

ß Currentß FPGA (Xilinx, Altera, QuickLogic, Actel, etc.)

ß PLD

ß General Digital Logic

ß Futureß Analog Mixed-Signal

Page 7: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos7

Agenda: Starting Silos Project

ß Introduction

ß Starting Silos Project

ß Explorer and Analyzer

ß Source Code Debugging

ß State Machine Design Entry

ß Advanced Debugging Features

ß Finite State Machine Example

ß Gate Level Debugging

Page 8: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos8

“Contents” will display the contents for the Silos User’s Manual. The “NewFeatures” menu provides a short help file on the new features for the Silosrelease.

Starting SILOS

Page 9: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos9

“User Registration” will show the security block number.

Starting SILOS

Page 10: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos10

“About Silos” will show the memory usage and version number.

Starting SILOS

Page 11: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos11

Highlight “Project/New” and press and release the “F1” key on the keyboard to see theon- line help.

Opening a Project

Page 12: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos12

Project name.rtl

Create a Project

Page 13: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos13

Double click on a file name toadd it to project.

Project Files

Page 14: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos14

Drop down arrow for library files.

Project Files

Page 15: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos15

Input files for the design.

Project Files

Page 16: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos16

Press “Go” button (F5)

Starting a Simulation

Page 17: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos17

SS Button for Singe Stepping

Starting a Simulation

Page 18: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos18

Output Window

Starting a Simulation

Page 19: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos19

Double clicking on the text in the Output window will open the source file...

Output of a Simulation

Page 20: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos20

…and highlight the $display statement that caused the text to be printed.

Output of a Simulation

Page 21: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos21

Agenda: Explorer and Analyzer

ß Introduction

ß Starting Silos Project

ß Explorer and Analyzer

ß Source Code Debugging

ß State Machine Design Entry

ß Advanced Debugging Features

ß Finite State Machine Example

ß Gate Level Debugging

Page 22: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos22

Open Explorer button

Explorer and Analyzer

Page 23: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos23

Open Analyzer button

Explorer and Analyzer

Page 24: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos24

Select signal “clock”

Explorer and Analyzer

Page 25: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos25

Hold down Ctrl or Shiftkeys while using themouse to selectadditional signals.

Explorer and Analyzer

Page 26: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos26

Click with the rightmouse button to openthe context menu andselect “Sort by Name”.

Explorer and Analyzer

Page 27: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos27

Drag and drop signalsto “Name” list box inData Analyzer.

Explorer and Analyzer

Page 28: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos28

Input ports point right.

Output ports point left.

Non-port variable symbols:

“dumbell” symbol is a wire

“flop” symbol is a register

is a real variable

is a parameter

is an integer

Explorer - Symbols

Page 29: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos29

Context menu (use right mouse button).

Explorer - Context Menu

Page 30: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos30

Click here to expand and contract hierarchy.

Explorer

Page 31: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos31

Use right mouse button to see the context menu.

Explorer

Page 32: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos32

Agenda: Source Code Debugging

ß Introduction

ß Starting Silos Project

ß Explorer and Analyzer

ß Source Code Debugging

ß State Machine Design Entry

ß Advanced Debugging Features

ß Finite State Machine Example

ß Gate Level Debugging

Page 33: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos33

“Open File” button toopen file “vendtest.v”.

Source Code Waveforms

Page 34: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos34

Double click on variable“pad” and drag and drop“pad” into the Namecolumn to see thewaveform.

Source Code Waveforms

Page 35: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos35

Highlight expression“enable ? clock :1’bz” and drag and dropit into the Data Analyzerto see the waveform forthe expression.

Source Code Waveforms

Page 36: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos36

Rearrange the signal names by dragging and dropping them in the SignalName list box.

Rearranging Signal – Drag and Drop

Page 37: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos37

If “Show Source” in inactive (SSF button not depressed) [1], holding down the “Ctrl” key willtemporarily activate Show Source [2]. You can then left mouse click on the waveform for “clock” tosee the statement that caused “clock” to toggle [3].

Show Source Code

Page 38: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos38

Setting the blue “T1” marker [1] determines the time point for tracing a signal. Right mouse clickingon the name “newspaper” brings up the context menu [2].

Visual Debug - Time Point for Tracing Signal

Page 39: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos39

Selecting the Trace Signal Inputs menu selection opens the Trace Signal Inputs window [3].

Visual Debug - Trace Signal Inputs

Page 40: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

The top signal, “stimulus newspaper”, is the signal being traced. The next line is the module name “vend”, and instancename, “stimulus.vendY”, which drives the top signal. The next line is the driver, or assignment, in the instance. Subsequentlines indented with a space are the inputs or right hand side (rhs) variables to the driver/assignment. If the driver or rhs variable isa port of the instance it is shown using port name syntax. If it is not a port then just the name of the variable is listed. The signalname preceded by the period, “.newspaper”, is the local port name in module “vend”. The name in the parenthesis,“(newspaper)”, is the name in the module above “stimulus.vendY”. Signal names “coin[1]” and wire “PRES_STATE[1:0]”,the rhs variables in the assignment to “newspaper”, are listed below it and indented one space.

Visual Debug

Page 41: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos41

Red flashing message in status window warns user of multiple drivers orassignments at a time point while “Show Source” is on.

Visual Debug - Status Window

Page 42: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos42

To find the cause of the Unknown level on “pad”, right mouse click on thesignal named “pad”..

Visual Debug - “pad”

Page 43: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos43

..and choose Trace Signal Inputs from the context menu.

Visual Debug - “pad”

Page 44: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos44

Unknown level on “stimulus.pad” is caused by both enables being low. Left mouseclicking on either driver name “pad” will highlight the corresponding line of source forthat driver.

Visual Debug - “stimulus.pad”

Page 45: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos45

Red flashing message in status window warns user of multiple drivers orassignments at a time point while “Show Source” is on.

Visual Debug - “stimulus.pad”

Page 46: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos46

To find the cause of the Unknown level on register “reset”, right mouse clickon the signal named “reset”..

Visual Debug - “reset”

Page 47: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos47

..and choose Trace Signal Inputs from the context menu.

Visual Debug - “reset”

Page 48: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos48

The Trace Signal Inputs window shows that two statements assigned to register “stimulus.reset” at T1=.0.055us.The first assignment listed in the Trace Signal Inputs window is the last assignment to ‘reset’ that executed at thistime point. The second statement listed is the next to last assignment to “reset” that executed. Left mouse clickingon the first statement for “reset” shows line 27 of file “vendtest.v” is the last line executed.

Visual Debug - “reset”

Page 49: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos49

Tracing on “newspaper” in the Data Analyzer brings up the Trace Signal Inputs window, which shows“PRES_STATE[1:0]” and “coin[1]” are the right hand side (rhs) variables that assign the value for newspaper.Double clicking on “PRES_STATE[1]” will refresh the Trace Signal Inputs window, put “PRES_STATE[1]” at thetop, and display the rhs variables for “PRES_STATE[1]”.

Visual Debug

Page 50: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos50

Select the “Edit/Copy Image to Clipboard” menu to copy the Data Analyzer so it canbe pasted into MS Word. You can use the “Edit/Copy” menu, or “Ctrl+C” on thekeyboard to copy the full path name for a signal to the clipboard.

Report Generation

Page 51: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos51

Double click on vector “coin[1:0] to expand and hide the bits.

Vector Display

Page 52: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos52

Agenda: State Machine Design Entry

ß Introduction

ß Starting Silos Project

ß Explorer and Analyzer

ß Source Code Debugging

ß State Machine Design Entry

ß Advanced Debugging Features

ß Finite State Machine Example

ß Gate Level Debugging

Page 53: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos53

Use the drop down arrows to displaySymbol Table and coin_values.

-

Select “coin[1:0]”.Right mouse click to seecontext menu. Then select“Set Radix”.

State Machine Values

Page 54: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos54

Make sure you click on theminus sign to save thenew radixes.

State Machine Values

Page 55: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos55

Symbolic names for state values for vectors.

State Machine Values

Page 56: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos56

Case statement for ASCII vector “info”.

Waveform Annotation

Page 57: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos57

ASCII text describes the simulation.

Waveform Annotation

Page 58: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos58

Click with right mouse button in

Signal list Box

Selections for groups.

Grouping Waveforms

Page 59: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos59

Expression “(clock && coin[1])”. Notice that if you click on theexpression a second time, you can modify the expression.

Conditional Search

Page 60: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos60

Scan left buttons Scan right buttons Scan Value

Data Analyzer - Scan Buttons

Page 61: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos61

Put the cursor here to display the timescale, T1 and T2 times, and the delta time.

Data Analyzer - Timescale

Page 62: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos62

T1 and T2 timing markers, set by the left and rightmouse buttons respectively. Hold down the shiftkey to snap to edge.

Valuefor thesignal

T1, T2, and delta time

Data Analyzer

Page 63: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos63

Scan to value does a character search, so you can scan a signal that is asingle bit, a vector, or that uses symbolic names.

Data Analyzer - Scan to Value

Page 64: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos64

Pan Last.Pan to T2 button.Pan to T1 button.

Data Analyzer - Pan Buttons

Page 65: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos65

Select instance “stimulus”, open thecontext menu with the right mousebutton, and then select “Go tostimulus”.

Data Tips display value, scope, radix, and simulation timepoint for variable clock. The time point can be set by the“T1” timing marker in the Data Analyzer. The Data Tipscan be turned on/off and the radix can be changed byusing the context menu in the source window.

Data Tips

Page 66: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos66

Agenda: Advanced Debugging Features

ß Introduction

ß Starting Silos Project

ß Explorer and Analyzer

ß Source Code Debugging

ß State Machine Design Entry

ß Advanced Debugging Features

ß Finite State Machine Example

ß Gate Level Debugging

Page 67: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos67

Click on the “Step” button to open the source window to the line that iscurrently executing.

Single Stepping

Page 68: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos68

Drag and drop expression “~clock” from file “vendtest.v” [1] to the Data Analyzer and WatchWindow [2].

Notice the Data Tipshows the instantenousvalue for expression“~clock” is “0” at thecurrent timestep.However, the DataAnalyzer is not updateduntil the end of thetimestep, so its valuefor “~clock” is “1”.

Single Stepping

Page 69: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos69

Single Stepping

Drag and drop expression “reset == 1’b1” [1] into the Data Analyzer [2] andWatch Windows [3].

Page 70: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos70

Set the value for register PRES_STATE to “3”.

Set and Force

Page 71: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos71

Breakpoints

Page 72: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos72

Breakpoints

Put the cursor on this line and click on the Toggle Breakpoint button [1] to set the red breakpointstop sign [2].

Page 73: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos73

Code Coverage

Code Coverage button should be depressed.Double click on the first line in the Operator report [1] to open the source file at that line. Lines notexecuted have a purple dot [2]. Click on a column header [3] to change the sort order.

1

2

3

Page 74: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos74

Code Coverage

A large number of “hits” in the “Code Coverage Line Report” may indicate a looping problem in theuser’s design, such as:

always @outout = ~out2 | out1;

Page 75: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos75

Code Coverage

“Export Code Coverage Data” dialog box can use comma separated datafiles for importing into a spreadsheet program, such as Microsoft Excel.

Page 76: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos76

Operator Code Coverage

In the Explorer, the red circle with the slash through it means code coverageis disabled for this instance. The green “CC” means code coverage isenabled.

Page 77: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos77

Operator Code Coverage

The “<” and the “>” operators failed to be true. When expressions havemore than one operator, you can use separate lines to display the purple dotfor each failed operator.

Page 78: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos78

Operator Code Coverage

Deselecting the “DEFAULT” option, and selecting the other options for theOperator report will show which operands did not affect their correspondingoperator.

Page 79: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos79

Code coverage results can be merged from batch simulations that usedifferent test benches for the same design.

Merging Code Coverage

Page 80: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos80

Agenda: Finite State Machine Example

ß Introduction

ß Starting Silos Project

ß Explorer and Analyzer

ß Source Code Debugging

ß State Machine Design Entry

ß Advanced Debugging Features

ß Finite State Machine Example

ß Gate Level Debugging

Page 81: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos81

FSM Toolbar. State drawing button.

Finite State Machine (FSM) Entry

Page 82: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos82

Finite State Machine (FSM) Entry

Use the left mouse button when the State Mode is active to create the twostates.

Page 83: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos83

FSM Entry - Transition Mode

Transition Mode button.

Page 84: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos84

FSM Entry - Transition Mode

Notice the small circle on state “s1” for drawing the transition between “s1”and “s2”. The circle will move along “s1” as the mouse is moved.

Page 85: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos85

FSM Entry - Transition Mode

Notice a state symbol can be moved when there is a circle with cross hairs. If instead you seea star on the state symbol, this will change the shape of the state symbol instead of moving it.

Transition between states “s2”and “s1” will change at the next positive clock edge because theexpression has been deleted.

Page 86: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos86

FSM Entry - Transition Mode

The transition can be redrawn by moving the mouse cursor tangentiallyacross the transition line with the left mouse button held down.

Page 87: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos87

FSM Entry - Transition Mode

The “+” symbols are for positive edge clock and reset lines. Click on the“+” sign to change it to a “-”.sign for a negative edge reset clock.

Page 88: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos88

FSM Entry - Notes

Notes can be used to document output signals on the diagram.

Page 89: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos89

The `include “vending.v” compiler directive is used to include the VerilogHDL source code for the newspaper vending FSM.

FSM Debugging

Page 90: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos90

FSM Debugging

As the “T1” timing marker is dragged in the DataAnalyzer, the states change color as theybecome active.

Open Instance button

.

Page 91: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos91

FSM Debugging

“FSM Scan” button

.

To select states for scanning, click on the statewith the left mouse button and hold down the“Ctrl” key.

Page 92: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos92

FSM Debugging - Finite State Machine Window

The minimized Finite State Machine window shows the active state as youscan in the Data Analyzer.

Page 93: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos93

Agenda: Gate Level Debugging

ß Introduction

ß Starting Silos Project

ß Explorer and Analyzer

ß Source Code Debugging

ß State Machine Design Entry

ß Advanced Debugging Features

ß Finite State Machine Example

ß Gate Level Debugging

Page 94: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos94

Gate Level Debugging

Highlight signal “newspaper” and click with the rightmouse button in the Signal Name list box. Select “TraceSignal Inputs” when the context menu opens.

At time=0.021us, “newspaper” changes from Unknownto Low.

1

1 1

x

x

x

newspaper

IN1

Page 95: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos95

Gate Level Debugging

The top signal, “stimulus.newspaper”, is the signal being traced. The next line is the module name,“VAND”, and instance name, “stimulus.vendY.U118”, which drives the top signal. The next line is thedriver in the instance. Subsequent lines indented with a space are the inputs to the driver. If the driver isa port of the instance it is shown using port name syntax. If it is not a port then just the name of the net islisted. The signal name preceded by the period, “.out”, is the local port name in module “VAND”. Thename in the parenthesis, “(stimulus.newspaper)”, is the wire name in the module above“stimulus.vendY.U118”. Signal name “out” is listed below it and indented one space.

Page 96: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos96

Gate Level Debugging- Resize Interface

To view the full signal name, use the mouse to drag the vertical bars andincrease the size of the Name column.

Page 97: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos97

Gate Level Debugging

Gate instance name. The $1 at the end of the name is an IEEE namingconvention for gates that do not have instance names.

Two input “and” gate.

Page 98: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos98

Gate Level Debugging

“in0” is the local name for the input pin. “\ PRES_STATE[0]” is the wire name in the module above“stimulus.vendY.U118”.

Since both inputs change from Unknown to Low at time=0.020us for this example, double click on

input “in0”.

Page 99: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos99

Gate Level Debugging - Buffer Gate

Buffer gate [1]

Double-click on the input to the buffer to continue tracing back through thetopology.

1

Page 100: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos100

Gate Level Debugging - Buffer Gate - “qqbar”

Three input “nand” gate [1].

Double-click on the “qqbar” [2] input because the Unknown to Hightransition on this input caused the output to change.

1

2

Page 101: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos101

Gate Level Debugging - Buffer Gate - “o3”

Double-click on the “o3” [2] input to the “nand” gate because the High toLow transition on this input caused the output to change.

1

2

Three input “nand” gate [1].

Page 102: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos102

Gate Level Debugging - Buffer Gate - “ck”

Double-click on the “ck” [2] input to the “nand” gate. The Low to Highchange on “ck” caused the “nand” gate to change.

1

2

Three input “nand” gate [1].

Page 103: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos103

Gate Level Debugging

The original unknown to low transition has been traced back to signal “clock”in the testbench.

Buffer gate [1]

1

Page 104: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos104

Errors

Double click on the error message to automatically open the source file andsee the error.

Page 105: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos105

Errors

Error is caused by semicolon “;” missing from the module header.

SILOS III highlights the next line because the error could not be detecteduntil that line is interpreted.

Page 106: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos106

Errors

Error report for SILOS III.

Page 107: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos107

Analog Waveforms

Double-click to toggle between stepping function and piece-wise linear.

Piece-wise lineardisplay of analogsignal.

Stepping functiondisplay of analogsignal.

Page 108: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos108

SILOS Advanced Features

ß Supports Industry-Standard PLI 1.0 Interfaceß Currently implementing PLI 2.0

ß Silos supports the SDF language as defined by the IEEE1497 standard for SDF. Silos also supports a commonlyused extension used to specify the SDF file of delay values,the “$sdf_annotate” system task.ß $sdf_annotate(“file_name”, module_instance);

ß Interface for SystemC

Page 109: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos109

SILOS Future – Analog Mixed-Signal Solution

ß SILOS-AMS beta release in May 2004ß Integrated power of SmartSpice

ß Solver improvements for simulation speed

ß Common SILOS GUI on WINDOWS, SUN, and LINUX platforms

ß STA (Static Timing Analyzer) capability September 2004

Page 110: SILOS Verilog Simulator · Silos 14 Drop down arrow for library files. Project Files. Silos 15 Input files for the design. Project Files. Silos 16 Press “Go” button (F5) Starting

Silos110

Analog and Mixed Signal Design Flow