Date post: | 14-Apr-2018 |
Category: |
Documents |
Upload: | suranga-kulathunga |
View: | 221 times |
Download: | 0 times |
of 286
7/27/2019 Silos User Manuel
1/286
Silvaco, Inc.
4701 Patrick Henry Drive, Bldg. 2 September 11, 2013
Santa Clara, CA 95054
Phone (408) 567-1000
Web http://www.silvaco.com
SilosUsers Manual
7/27/2019 Silos User Manuel
2/286
ii Silvaco, Inc.
Silos
Users ManualCopyright 2013
Silvaco, Inc.
4701 Patrick Henry Drive, Bldg. 2Santa Clara, CA 95054
Phone: (408) 567-1000Web: http://www.silvaco.com
7/27/2019 Silos User Manuel
3/286
Notice
Silvaco, Inc. iii
The information contained in this document is subject to change without notice.
Silvaco, Inc. MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF FITNESS FOR APARTICULAR PURPOSE.
Silvaco, Inc. shall not be liable for errors contained herein, or for incidental or consequential damagesin connection with the furnishing, performance, or use of this material.
This document contains proprietary information, which is protected by copyright. All rights arereserved. No part of this document may be photocopied, reproduced, or translated into anotherlanguage without the prior written consent of Silvaco, Inc..
ACCUCELL, ACCUCORE, ACCUMODEL, ACCUTEST, ATHENA, ATHENA1D, ATLAS, BLAZE, C-INTERPRETER,CATALYSTAD, CATALYSTDA, CELEBRITY, CELEBRITY C++, CLARITYRLC, CLEVER, CLEVERINTERCONNECT, DECKBUILD, DEVEDIT, DEVEDIT3D, DEVICE3D, DEVICE3D BUNDLE, DISCOVERY, EDIFWRITER, ELITE, EXACT, EXPERT, EXPERT200, EXPERTVIEWS, FERRO, GATEWAY, GATEWAY200, GIGA,GIGA3D, GUARDIAN, GUARDIAN DRC, GUARDIAN LVS, GUARDIAN NET, HARMONY, HIPEX, HIPEX C,HIPEX NET, HIPEX RC, HYPERFAULT, INTERCONNECT MODELING, LASER, LED, LED3D, LISA,LUMINOUS, LUMINOUS3D, MAGNETIC, MAGNETIC3D, MASKVIEWS, MC ETCH & DEPO, MC DEVICE, MCIMPLANT, MERCURY, MIXEDMODE, MIXEDMODE3D, MODELLIB, NOISE, OLED, OPTOLITH,ORGANIC BUNDLE, ORGANIC DISPLAY, ORGANIC SOLAR, OTFT, PDK FLOW, QUANTUM, QUANTUM3D,QUEST, REALTIMEDRC, REM 2D, REM 3D, S-PISCES, S-PISCES BUNDLE, SSUPREM3, SSUPREM4,SSUPREM4 BUNDLE, SCOUT, SDDL, SFLM, SIC, SILOS, SIMULATION STANDARD, SMARTLIB,SMARTSPICE, SMARTSPICE API, SMARTSPICE DEBUGGER, SMARTSPICE RF MULTICORE, SMARTSPICERUBBERBAND, SMARTSPICE RF, SMARTSPICE200, SMARTVIEW, SOLVERLIB, SPAYN, SPDB, SPIDER,SPRINT, STELLAR, TCAD DRIVEN CAD, TCAD OMNI, TCAD & EDA OMNI UTILITY, TFT, TFT BUNDLE,TFT3D, TFT3D BUNDLE THERMAL3D, TONYPLOT, TONYPLOT3D, UTMOST III, UTMOST III BIPOLAR,UTMOST III DIODE, UTMOST III GAAS, UTMOST III HBT, UTMOST III JFET, UTMOST III MOS, UTMOSTIII MULTICORE, UNIVERSAL TOKEN, UNIVERSAL UTILITY TOKEN, UTMOST III SOI, UTMOST III TFT,UTMOST III VBIC, UTMOST IV, UTMOST IV FIT, UTMOST IV FULL PACKAGE, UTMOST IV MEASURE,UTMOST IV OPTIMIZATION, VCSEL, VERILOG-A, VICTORY, VICTORY CELL, VICTORY DEVICE, VICTORY
DEVICE BUNDLE, VICTORY DEVICE SINGLE EVENT EFFECTS, VICTORY PROCESS, VICTORY PROCESSADVANCED DIFFUSION & OXIDATION, VICTORY PROCESS BUNDLE, VICTORY PROCESS MONTE CARLOIMPLANT, VICTORYPROCESS PHYSICAL ETCH & DEPOSIT, VICTORYSTRESS, VIRTUAL WAFER FAB, VWF,
VWF AUTOMATION TOOLS, VWF INTERACTIVE TOOLS, and VYPER are trademarks of Silvaco, Inc.
All other trademarks mentioned in this manual are the property of their respective owners.
Copyright 1984 - 2013, Silvaco, Inc.
7/27/2019 Silos User Manuel
4/286
Style Conventions
Font Style/Convention Description Example
This represents a list of items orterms.
1.
2.
3.
This represents a set of direc-tions to perform an action.
To open a door:
1. Unlock the door by inserting
the key into keyhole.2. Turn key counter-clockwise.
3. Pull out the key from thekeyhole.
4. Grab the doorknob and turnclockwise and pull.
This represents a sequence ofmenu options and GUI buttonsto perform an action.
FileOpen
Courier This represents the commands,parameters, and variables syn-
tax.
HAPPY BIRTHDAY
New Century SchoolbookBold
This represents the menuoptions and buttons in the GUI.
File
New Century Schoolbook
Italics
This represents the equations. abc=xyz
Note:This represents the additionalimportant information. Note: Make sure you save often while run-
ning an experiment.
New Century SchoolBook in
Small Caps
This represents the names of
the products.
A
GATEWAY, HIPEX, SMARTSPICE,STELLAR, and .
Silvaco, Inc. iv
Bullet A
Bullet B
Bullet C
THENA, ATLAS, EXPERT,
UTMOST
How to Read this Manual
7/27/2019 Silos User Manuel
5/286
Silvaco, Inc. v
Chapter 1:Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.1: Silos Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.2: Silos Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.3: Platforms Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.4: Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Chapter 2:Quick Start Tutorial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
2.1: Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
2.2: Starting Silos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
2.3: Opening the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.4: Running the Simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.5: Opening the Explorer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
2.6: Opening the Waveform Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
2.7: Accessing On-line Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
2.8: Exiting Silos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Chapter 3:Tutorial Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.1: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.2: Tutorial Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.3: Tutorial Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
3.4: Tutorial 1: Creating a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
3.5: Tutorial 2: Simulating a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
3.5.1: Messages in the Output Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
3.5.2: Using the Explorer to Display Signals as Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
3.5.3: Viewing Source code Variables and Expressions as Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
3.5.4: Using Title Tips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11
3.5.5: Rearranging the Signal Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13
3.5.6: Setting Waveform Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14
3.5.7: Expanding and Collapsing a Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
3.5.8: Displaying Vector Contents using Symbolic Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16
3.5.9: Creating an Annotated Timeline for the Waveform Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19
3.5.10: Groups, Buses, Vectors and Signals in the Analyzer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21
3.5.11: Creating Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22
3.5.12: Buses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23
3.5.13: Displaying a Logic Condition as a Waveform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25
3.5.14: Timing Markers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25
3.5.15: Scan-to-Change, Scan-to-Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26
3.5.16: Zoom-Buttons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28
3.5.17: Scrollbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28
3.5.18: Bookmark, Timescale, Goto Timepoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29
3.5.19: Scrolling the Waveform Window (for systems equipped with wheel mice) . . . . . . . . . . . . . . . . . . . . . 3-30
Table of Contents
7/27/2019 Silos User Manuel
6/286
Silos Users Manual
vi Silvaco, Inc.
3.5.20: Viewing Simulation Results in HDL Code using Data Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30
3.5.21: Exiting Silos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32
3.6: Tutorial 3: Analog and Digital Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33
3.6.1: Opening the Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33
3.6.2: Viewing Analog Waveforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34
3.6.3: Expanding Analog Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34
3.6.4: Changing Display Type of Analog Waveforms between PWL and Step. . . . . . . . . . . . . . . . . . . . . . . . . 3-363.6.5: Creating Analog Overlays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39
3.6.6: Expanding an Analog Overlay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39
3.6.7: Identifying Overlay Signals Using Trace Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40
3.6.8: Changing the Y- Axis from Variable to Fixed Scale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41
3.6.9: Performing Mathematical Operations on Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44
3.6.10: Displaying Analog Signals as Digital Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-45
3.6.11: Displaying a Group of Analog Signals as a Digital Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46
3.6.12: Exiting Silos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46
3.7: Tutorial 4: Debugging Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47
3.7.1: Trace Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47
3.7.2: Visual Debug using Behavioral Traceback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-493.7.3: Single Stepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-53
3.7.4: Breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-57
3.8: Tutorial 5: Code Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-59
3.8.1: Generating Line Coverage Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-59
3.8.2: Generating Operator Coverage Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-62
3.8.3: Merging Code Coverage Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-65
3.8.4: Exiting Silos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-67
3.9: Tutorial 6: Gate Level Debugging Using Trace Inputs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-68
3.9.1: Trace Inputs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-68
3.9.2: Exiting Silos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-69
3.10: Tutorial 7: Error Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-70
3.10.1: Exiting Silos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-72
Chapter 4:Graphical User Interface Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.1: GUI Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.1.1: Dockable/Detachable Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.1.2: Context Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.1.3: Dialog Box Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.1.4: Interrupting Silos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.2: The Menu Bar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24.3: The Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
4.3.1: Tools Toolbar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
4.3.2: Analyzer Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
4.4: The Explorer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
4.5: Explorer Design Hierarchy Tree. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
4.5.1: Copy Scope Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12
4.5.2: Select Scope Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12
4.5.3: Instance Name Filter Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12
7/27/2019 Silos User Manuel
7/286
Silvaco, Inc. vii
Table of Contents
4.5.4: Go to Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12
4.5.5: Module Properties Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13
4.6: Explorer Port and Variable List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14
4.6.1: Go To Definition Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
4.6.2: Add Signals to Analyzer Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
4.6.3: Name Filter Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
4.6.4: Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-174.6.5: Sort by Name or Type Menu Selections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18
4.7: The Data Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19
4.8: Data Analyzer Signal List Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19
4.8.1: Trace Inputs Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
4.8.2: Go to Definition Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
4.8.3: Signal Groups Menu Selections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
4.8.4: Display Group as Analog Overlay Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22
4.8.5: Display Group as Digital Bus Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22
4.8.6: Do Not Display Group Waveform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22
4.8.7: Set Radix Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22
4.8.8: Change Signal Color Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-234.8.9: Set Analog Display Options Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
4.8.10: Expand All Analog Signals Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
4.8.11: Collapse All Analog Signals Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
4.8.12: Display as Digital Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
4.8.13: Add Menu Selections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
4.8.14: Reverse Bit Order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
4.8.15: Delete Item/s Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
4.8.16: Move Item Up Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
4.8.17: Move Item Down Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
4.8.18: Clear Signal List Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
4.9: Data Analyzer Waveform Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
4.9.1: Data Analyzer X-Axis Area and Goto Timepoint Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
4.9.2: Pan T1, Pan T2, and Pan Last View Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26
4.9.3: Timescale Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26
4.9.4: Add Bookmark Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26
4.9.5: Delete Bookmark Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26
4.10: The Output Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
4.10.1: Copy Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
4.10.2: Select All Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
4.11: Source Code Editor Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28
4.11.1: Source Editor Debug Tab Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-284.11.2: Undo Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28
4.11.3: Redo Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28
4.11.4: Cut Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28
4.11.5: Copy Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28
4.11.6: Paste Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
4.11.7: Open File Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
4.11.8: Insert/Remove Breakpoint Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
4.11.9: Data Tips Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
4.11.10: Data Tip Radix Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
7/27/2019 Silos User Manuel
8/286
Silos Users Manual
viii Silvaco, Inc.
4.11.11: Upscope to Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30
4.11.12: Downscope to Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30
4.11.13: Current Module Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30
4.11.14: Select Scope Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30
4.11.15: Go to Definition of Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30
4.12: The Status Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31
4.13: File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-324.13.1: New Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33
4.13.2: Open Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33
4.13.3: Save Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33
4.13.4: Save As Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33
4.13.5: Save All Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33
4.13.6: Close Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34
4.13.7: New Project Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34
4.13.8: Open Project Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34
4.13.9: Save Project Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34
4.13.10: Save Project As Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34
4.13.11: Close Project Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-344.13.12: Import Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34
4.13.13: Export Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36
4.13.14: Link to Gateway Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37
4.13.15: Run Lint on Project Files Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37
4.13.16: Run Lint on File/s Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37
4.13.17: Save Simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37
4.13.18: Restore Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-38
4.13.19: Print Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-38
4.13.20: Print Analyzer Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-38
4.13.21: Recent Files Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-38
4.13.22: Recent Projects Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-384.14: Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
4.14.1: Undo Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
4.14.2: Redo Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
4.14.3: Cut Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
4.14.4: Copy Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
4.14.5: Paste Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
4.14.6: Select All Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
4.14.7: Find Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
4.14.8: Find Next Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40
4.14.9: Replace Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40
4.14.10: Goto Line Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40
4.14.11: Add Spice .INCLUDE card Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40
4.14.12: Add Spice .LIBRARY card Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40
4.14.13: Project Properties Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40
4.14.14: Preferences Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-51
4.15: View Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-66
4.15.1: Toolbars Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-66
4.15.2: Analyzer Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-66
4.15.3: Explorer Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-66
7/27/2019 Silos User Manuel
9/286
Silvaco, Inc. ix
Table of Contents
4.15.4: Watch Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-66
4.15.5: Back and Forward Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-66
4.16: Analyzer Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-67
4.16.1: Zoom In Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-67
4.16.2: Zoom Out Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-67
4.16.3: Zoom Full Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-67
4.16.4: Zoom Markers Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-674.16.5: Pan T1 Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-67
4.16.6: Pan T2 Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-67
4.16.7: Pan Last View Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-67
4.16.8: Trace Source Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-67
4.16.9: Signal List Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-67
4.16.10: X-Axis Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-68
4.17: Debug Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-69
4.17.1: Go Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-69
4.17.2: Break Simulation Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-69
4.17.3: Step Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-69
4.17.4: Finish Current Timepoint Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-694.17.5: Load/Reload Input Files Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-69
4.17.6: Reload and Go Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-70
4.17.7: Restart Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-70
4.17.8: Data Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-70
4.17.9: Data Tip Radix Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-70
4.17.10: Enable Single Step/Breakpoints Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-70
4.17.11: View Breakpoints Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-70
4.17.12: Insert/Remove Breakpoint Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-71
4.18: Explorer Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-71
4.19: Reports Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-71
4.19.1: Activity Reports Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-72
4.19.2: Errors and Warnings Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-73
4.19.3: Iteration Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-73
4.19.4: Nonconvergence Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-74
4.19.5: Nonconvergence For Gate Designs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-74
4.19.6: Nonconvergence (Hanging) for Behavioral Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-75
4.19.7: Sizes Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-76
4.19.8: Enable Code Coverage Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-76
4.19.9: Merge Code Coverage Files Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-77
4.19.10: Export Code Coverage Data Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-77
4.19.11: Code Coverage Line Report Menu Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-774.19.12: Branch Coverage Report Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-77
4.19.13: Code Coverage Operator Report Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-78
4.19.14: Restricting Code Coverage Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-79
4.20: Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-80
4.20.1: Silos Help Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-80
4.20.2: Release Notes Menu Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-80
4.20.3: About Silos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-80
7/27/2019 Silos User Manuel
10/286
Silos Users Manual
x Silvaco, Inc.
Chapter 5:Advanced Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.1: Programming Language Interface (PLI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.1.1: Silos PLI Interface on the Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.1.2: PLI Interface on Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
5.1.3: List of Implemented PLI Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
5.2: Standard Delay Format (SDF). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
5.2.1: Example of SDF Annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
5.3: Inputting Value Change Dump (VCD) Files for Stimulus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
5.4: Creating Smaller Save Files for Logic Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
5.4.1: Using Recirculation to Create a Constant Save File Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
5.4.2: Saving Selected Wires and Instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
5.5: How to Simulate Designs that Run on Other Simulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
5.6: Source File Encryption Using Sencrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Chapter 6:
Interactive Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16.1: Commands Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
6.2: Stopping Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
6.3: Activity Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
6.4: Bus Contention Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
6.5: Exporting Code Coverage Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9
6.6: Exclude Code Coverage for Module Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
6.7: Keeping Code Coverage for Module Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
6.8: Merge Code Coverage Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
6.9: Control Parameters For Logic Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13
6.10: Default Device Delay Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
6.11: Disk File Name Reassignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
6.12: Error Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17
6.13: Exclude Saving Simulation Node States. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17
6.14: Exiting The Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18
6.15: File Name Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18
6.16: Keeping Simulation Node States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19
6.17: Warning Message Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19
6.18: Exclude Saving Module Instance Variable Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20
6.19: Keeping Module Instance Simulation Variable Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-206.20: No Convergence Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21
6.21: Narrow Storing Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22
6.22: Preprocessing Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23
6.23: Probing Node States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23
6.24: Quitting Execution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24
6.25: Resetting Selected Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-25
6.26: Scope For Printing Module Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-25
6.27: Logic Simulation Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-26
7/27/2019 Silos User Manuel
11/286
Silvaco, Inc. xi
Table of Contents
6.28: Size-Of-Data Reprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27
6.29: Spike Summary Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27
6.30: Storing Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-28
6.31: Strength Specification For Gates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29
6.32: Symbol Modification For Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30
Chapter 7:Linting Capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
7.1: What Silos Lint Does . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
7.2: Why You Need Silos Lint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
7.2.1: Race Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
7.2.2: Hardware Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
7.2.3: State Machines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
7.2.4: Design Policies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
7.2.5: Syntax and Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
7.2.6: Design for Testability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
7.3: How to run Lint in Silos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-57.4: Lint Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6
7.4.1: Lint Option Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10
Appendix A:Frequently Asked Questions (FAQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
Appendix B:Command Line Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
B.1: Command Line Argument Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-8
Appendix C:
Example Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1
Appendix D:File Extensions Used by Silos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-1
Appendix E:Non-Standard Verilog HDL Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-1
E.1: Expected Values and Stimulustable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-1
E.1.1: BNF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-1
E.1.2: Stimulustable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-1
E.1.3: Radix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-2
E.1.4: Delay Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-2E.1.5: Memory Utilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-3
E.1.6: Strobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-3
E.1.7: I/O Pad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-4
E.1.8: Expected Value Error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-5
E.1.9: Expected Value Error Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-6
E.1.10: Incremental Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-6
E.1.11: Changing Behavioral Stimulus to a stimulustable Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-7
E.2: Analog Extensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-8
7/27/2019 Silos User Manuel
12/286
Silos Users Manual
xii Silvaco, Inc.
E.2.1: Real and Integer Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-8
E.2.2: Utility Transcendental Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-9
E.2.3: Examples for Transcendental Math Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-9
E.3: silos Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-10
E.4: Extensions to Turn-off, Reset and Turn-on Saving of Simulation Data. . . . . . . . . . . . . . . . . . . . . . . . . . E-10
E.5: $save( ) Extension to Create a .cmm File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-10
E.6: Allowing Non-Standard Extensions to Verilog HDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-11
E.6.1: Global Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-11
E.6.2: Procedural Assignment to Wires: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-11
E.6.3: Continuous Assignments to Register and Memory Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-11
E.6.4: Continuous Assignments Using Intra-assignment/non-blocking Delays . . . . . . . . . . . . . . . . . . . . . . . . E-11
E.6.5: Default State Value for UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-11
E.6.6: UDP Additional States for High-Z on Inputs or Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-12
E.6.7: UDP Edge for High-Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-12
E.6.8: UDP Multiple Edges in a Row. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-12
E.6.9: Non-Constant Specify Block Delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-12
E.6.10: Parameter for Specify Block Delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-13
E.6.11: Stimulustable Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-13
E.6.12: "input/output/inout" Declarations After the Variable's Declaration. . . . . . . . . . . . . . . . . . . . . . . . . . . . E-13
E.6.13: Using Registers as Module Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-13
E.6.14: Duplicate Variable Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-13
E.6.15: Parameter Used for Sizing Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-14
E.6.16: Null Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-14
E.6.17: Timing Checks Without Edge Specifications for Selected Variables . . . . . . . . . . . . . . . . . . . . . . . . . E-14
E.6.18: More Precision in "$timeformat" than " timescale" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-14
E.6.19: Missing Port Connections Connected to GND for VCS Compatibility. . . . . . . . . . . . . . . . . . . . . . . . . E-14
E.6.20: VCS Compatibility Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-14
E.7: $dumpactivity System Task Extension. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-15E.8: `uselib Compiler Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-16
E.9: System Commands Passed as Command Line Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-16
Appendix F:Message Codes for Lint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-1
Appendix G:STARC Rule Message Codes for Lint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-1
Appendix H:XML Project File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-1
H.1: XML Project File Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-1
7/27/2019 Silos User Manuel
13/286
Silvaco, Inc. 1-1
1.1: Silos Overview
SILOS is a simulation environment developed for use in the design and verification of electronic circuitsand systems. SILOS can simulate designs at the behavioral and gate levels. It can also simulate designsmodeled with the Verilog Hardware Description Language (HDL). SILOS can back annotate delaysspecified using the Standard Delay Format (SDF). The IEEE Programming Language Interface (PLI)is supported.
1.2: Silos FeaturesDuring logic simulation, SILOS saves every changed event for every variable in a very compact, binarysave file. The save file allows SILOS to display waveforms for any signal and to trace on any variable.The save file is random access so results are quickly displayed no matter how large the simulation.
The debugging capabilities include:
The mouse cursor can be held over variables and expressions in the source code to directly see their
value at a time point. Drag and drop variables and expressions directly from the source file into the Data Analyzer
Waveform window, or from the SILOS Explorer to the Data Analyzer window to provide easy accessto the simulation results.
Unlimited traceback for behavioral and gate designs quickly isolates the cause of Unknown levels.
Code Coverage reporting for Line, Operator and Branch coverage display a purple dotbeside any line or operator that was not executed by the testbench.
1.3: Platforms Supported
SILOS is available on Windows and Linux platforms. Please contact Silvaco for an updated list of
supported platforms.
Chapter 1:Introduction
7/27/2019 Silos User Manuel
14/286
Silos Users Manual
1-2 Silvaco, Inc.
1.4: Technical SupportSilvaco offers technical support to customers on maintenance. The most efficient way to contactSilvaco's technical support is via the support area of the Silvaco website (www.silvaco.com).
When sending problem circuits to Silvaco.
Describe the tool name (e.g. SILOS).
Describe the version number of the tool (e.g. 1.0.0.R).
Describe the operating system (e.g. Windows XP Service Pack 2).
Please send the complete design, so that it can be run to duplicate the problem, including anylibraries and the .spjx file. You may want to compress the files using the zip format.
Precisely describe the problem and how to run the circuit, for example:
At time=200, node "top.out1" should be high instead of unknown. To run thecircuit, use project "problem.spjx".
Silvaco's mailing address, phone number, and fax number are:
Silvaco, Inc.
4701 Patrick Henry Drive, Bldg 2
Santa Clara, CA 95054
Phone: (408) 567-1000
7/27/2019 Silos User Manuel
15/286
Silvaco, Inc. 2-1
This chapter provides an introduction to SILOS using a quick start tutorial. The Quick Start Tutorial isdesigned for more experienced users of simulation tools who need to quickly learn how to run SILOS.
2.1: Before You BeginSILOS contains a number of tutorial examples. These examples are stored in the examples directory inthe SILOS installation. Before beginning, please copy the SILOS examples directory from the SILOSInstallation Directory to your personal directory.
2.2: Starting Silos
On a Windows platform, SILOS can be started by double clicking on the SILOS icon in SilvacoShortcuts on the desktop.
On a Linux platform, SILOS can be started by typing silos in a command line shell.
Figure 2-1: Starting Silos
Chapter 2:Quick Start Tutorial
7/27/2019 Silos User Manuel
16/286
Silos Users Manual
2-2 Silvaco, Inc.
2.3: Opening the ProjectLoad the quick start tutorial project by selecting the FileOpen Project menu.
Then open the analog project example in the examples/tutorial/analog directory by selecting theanalog.spjx file.
Figure 2-2: Open Project
7/27/2019 Silos User Manuel
17/286
Quick Start Tutorial
Silvaco, Inc. 2-3
2.4: Running the Simulation
Figure 2-3: Go Button
The simulation can be started by clicking on the Go button. When the simulation end time is reachedthe simulation stops.
Figure 2-4: Simulation Complete
Note: SILOS will display a busy indicator in the status bar in the lower right hand corner to indicate the tool is running asimulation.
7/27/2019 Silos User Manuel
18/286
Silos Users Manual
2-4 Silvaco, Inc.
2.5: Opening the ExplorerThe Explorer can be used to examine the design hierarchy. Click on the Explorer button.
Figure 2-5: Explorer Button
Figure 2-6: The Explorer
The design hierarchy can be expanded by clicking on the blocks in the design.
7/27/2019 Silos User Manuel
19/286
Quick Start Tutorial
Silvaco, Inc. 2-5
Figure 2-7: Expanded Design Hierarchy
7/27/2019 Silos User Manuel
20/286
Silos Users Manual
2-6 Silvaco, Inc.
2.6: Opening the Waveform ViewerYou can use one of two Waveform Viewers to examine the results of the simulation.
The viewer selection is controlled by the program preferences dialog EditPreferencesWaveformViewer. Clicking on the Waveform Viewer button will start the selected viewer.
The Waveform Viewer selection will affect the simulation data files created and the method forviewing these files offline.
Simulation data files: The data displayed in the waveform viewer is stored in a binary file. This filewill have an extension of.rawd ifSMARTVIEW is selected and .simif the Analyzer is the selected
viewer.
Offline viewing of waveforms: IfSMARTVIEW is the selected waveform viewer, the simulation datafile/s are available after the program has been closed. These files can be viewed by runningSMARTVIEW and opening the desired data file/s. If the Analyzer is the selected viewer, waveformscan only be viewed interactively while the program is running. Simulation data can be viewed at alater time if the state of the simulator is saved (FileSave Simulation) prior to exiting theprogram. The program can be restarted and the simulation restored using FileRestoreSimulation. After doing the restore, the Analyzer can be used to view the saved data from therestored simulation.
Figure 2-8: Waveform Viewer Button
Figure 2-9: The Analyzer
Click on the Zoom Full button to see the results for the entire simulation.
7/27/2019 Silos User Manuel
21/286
Quick Start Tutorial
Silvaco, Inc. 2-7
Figure 2-10: Zoom Full Button
2.7: Accessing On-line HelpThe complete SILOSUSERSMANUAL is available as an on-line help file. This manual is also available as aPDF file in the docs subdirectory in the SILOS installation for viewing and printing.
Figure 2-11: Help MenuTo access the on-line help for SILOS:
Select the Help menu.
The following are provided as on-line help files:
SILOSHELP. This help file provides the complete SILOSUSERSMANUAL as an on-line help file.
Release Notes. The release notes for the product.
Many questions are answered inAppendix A: Frequently Asked Questions (FAQ).
2.8: Exiting Silos
Exit SILOS by selecting the FileExit menu selection. This concludes the Quick Start Tutorial.
7/27/2019 Silos User Manuel
22/286
Silos Users Manual
2-8 Silvaco, Inc.
7/27/2019 Silos User Manuel
23/286
Silvaco, Inc. 3-1
3.1: IntroductionThis section contains a number of tutorials that introduce the features ofSILOS.
The files used for the Tutorial examples can be found in the silos/tutorial subdirectory inexamples installation directory.
Please note:
Actions that you should do to run this tutorial are in bold.
Click on means place the mouse cursor on the appropriate item and click and release on the itemusing the left mouse button.
You can see the tool tips (text labels) for each of the buttons on the toolbars for SILOS by placing themouse cursor over a button for a few seconds until the text label for the button appears. Then movethe mouse along the toolbar and stop at each button to see the text label. There can be more thanone toolbar. The location of each toolbar on the screen can be changed by using the mouse to graban edge of a toolbar and dragging the toolbar to the desired location.
Each Tutorial assumes that you follow the topics in the order they are listed. If you skip sometopics then you may experience difficulties with that Tutorial.
3.2: Tutorial ProjectsThe examples subdirectory for the SILOS installation has a number of tutorials to assist you. Beforeusing these examples it is recommended that you copy them to your personal directory, and ifnecessary change the file permissions.
The tutorial subdirectory contains a number of Verilog examples.Appendix C: Example Projectscontains a detailed list of all examples supplied with SILOS.
3.3: Tutorial Topics
The topics presented in the following tutorial are: Creating a project.
Simulating a Design.
Analog and Digital Waveforms.
Debugging Designs.
Code coverage.
Gate level debugging.
Error reporting.
Chapter 3:Tutorial Examples
7/27/2019 Silos User Manuel
24/286
Silos Users Manual
3-2 Silvaco, Inc.
3.4: Tutorial 1: Creating a ProjectThis tutorial introduces the concept of a project. It shows how to create projects.
Projects provide easy access to the input files and libraries for a design.
Projects can be easily passed between designers in a team by simply providing the project filename.
All of the settings to run the design and organize the signal names for viewing waveforms aresaved in a project.
Procedure
The circuit for this example is a RTL description of a newspaper vending machine. The project has twofiles, vendtest.v and ven.v.
This section shows you how to create a new project for inputting your source files.
Start SILOS.
Select the FileNew Project menu selection to open the Create New Project dialog box.
Figure 3-1: Create New Project Dialog
To change to the tutorial/rtl subdirectory of the examples directory, use the drop-down arrowfor the Save in box in the Create New Project dialog box.
In the File name box, enter rtl, and then click on the Save button to close the dialog box. SILOSwill automatically append the suffix .spjx to the project name if you do not add a suffix to theproject name.
The Project Properties dialog box will be automatically opened so that you can specify the input filesfor the project.
7/27/2019 Silos User Manuel
25/286
Tutorial Examples
Silvaco, Inc. 3-3
Figure 3-2: Project Properties Dialog
7/27/2019 Silos User Manuel
26/286
Silos Users Manual
3-4 Silvaco, Inc.
To input the files for project rtl.spjx:
Click on theAdd button to open the File Selection dialog.
Figure 3-3: File Selection Dialog
Select the file vendtest.v and clickAdd to add it to theVerilog Files list.
Next, add the file vend.v the same way.
Now, click on the Ok button to close the Project Properties dialog box.
To specify library files, see the -y and -v command line options inAppendix B: Command LineArguments.
Exit SILOS by using FileExit. When SILOS exits it will automatically save the project and any recentchanges to the associated .spjx file.
This concludes the tutorial.
7/27/2019 Silos User Manuel
27/286
7/27/2019 Silos User Manuel
28/286
Silos Users Manual
3-6 Silvaco, Inc.
Figure 3-5: Simulation Output Window
3.5.1: Messages in the Output Window
To see the source statement that caused a message in the Output window, such as from a $displaystatement or a timing violation message, double-click on the message Adding coins to vendingmachine and file vendtest.v will be opened in a Text Editor window with the Verilog HDLstatement highlighted that caused the message.
SILOS uses a highlight color to identify messages in the output window that respond to a double clickaction.
7/27/2019 Silos User Manuel
29/286
7/27/2019 Silos User Manuel
30/286
Silos Users Manual
3-8 Silvaco, Inc.
3.5.2: Using the Explorer to Display Signals as Waveforms Any variable can be viewed as a waveform without re-simulating. This is possible because SILOS's
algorithms quickly and compactly save everything to disk when simulating.
The design's hierarchy is displayed so that variables can be easily selected.
Procedure
SILOS has the capability to drag and drop variable names from the Explorer window (and also fromany HDL source window) to the Data Analyzer window. To do this:
Click on theAnalyzer button on the toolbar to open the Data Analyzer window.
Next, click on the Explorer button on the toolbar to open the Explorer window. You can changehow the signal names are sorted in the SILOS Explorer by clicking with the right mouse button onthe right hand side of the Explorer to open the context menu, and then selecting Sort by Name.
Figure 3-8: Explorer and Data Analyzer Window
The instance name stimulus, in the left-hand box of the SILOS Explorer window, is the top-levelmodule for the design. To select the signal names for instance stimulus:
Use your mouse to select instance stimulus.
To highlight the variable names for instance stimulus, click and release on the first signal name,clock. Next, hold down the Ctrl key on the keyboard, and then click and release on additionalsignal names: coin[1:0], newspaper and reset.
To drag and drop signal names, click on the highlighted variable names without releasing the leftmouse button, and drag them from the Explorer window and drop them in the Name list box in
7/27/2019 Silos User Manuel
31/286
Tutorial Examples
Silvaco, Inc. 3-9
the Data Analyzer window. The waveforms for each signal will then appear in the Analyzerwindow.
To drag and drop signal names from further down in the hierarchy:
Click on the + sign to the left of instance stimulus to show the hierarchy beneath it. You can alsochange how the signal names are sorted by clicking with the right mouse button in the right side of
the Explorer to open the context menu, and then selectingSort by Type
. Then select instance vendY to show the variable names in the right hand side of the Explorerwindow. The symbol to the left of each variable shows its function. Input ports have the pad symbolpointing to the right, output ports have the pad symbol pointing to the left, and inout ports havethe pad symbol pointing in both directions. For non-port variables, the symbol for a wire is a wireconnecting two points, the symbol for a register is a flop symbol, P is used for parameters, R forreal variables and I for integer variables.
Select signals NEXT_STATE and PRES_STATE for instance vendY, and use the Add Signals toAnalyzer menu selection in the Explorers right hand side context menu by clicking with the rightmouse button in the right hand pane of the Explorer.
7/27/2019 Silos User Manuel
32/286
7/27/2019 Silos User Manuel
33/286
7/27/2019 Silos User Manuel
34/286
Silos Users Manual
3-12 Silvaco, Inc.
Figure 3-11: Option to Display the Scope or Value Column of the Name List Box
7/27/2019 Silos User Manuel
35/286
Tutorial Examples
Silvaco, Inc. 3-13
3.5.5: Rearranging the Signal Names Rearranging the signal names using drag and drop makes it easier to view relationships between
signals.
Procedure
To prevent source windows from popping up, click on the Trace Source button on the Analyzertoolbar so that the button is out and the Trace Source capability is off. The Trace Source capability isdiscussed in Section 3.7.1:Trace Source.
Signal names can be rearranged in the Name list box by using the mouse to drag the signal and thendrop it just before the pointed end of the mouse cursor arrow. For example:
Select signal reset with the mouse. Drag it to just above the signal clock.
Figure 3-12: Rearranging the Signal NamesMultiple signals can also be selected using the following modifier keys:
To perform multiple signal selections, keep the control key (Ctrl) depressed while using the mouseto select.
To select a set of signals in a contigious list, keep the Shift key depressed while dragging themouse.
Having selected a group of signals, the following modifiers can be used to control whether the signalsare moved or copied:
The Shift key will allow the signals to be moved to a new location.
The Ctrl key will allow the signals to be copied to a new location.
7/27/2019 Silos User Manuel
36/286
Silos Users Manual
3-14 Silvaco, Inc.
3.5.6: Setting Waveform Colors By default, a waveform is displayed using a color to denote its strength.
A waveforms color can be changed to allow it to be easily located in the Data Analyzer window.
The Data Analyzer background color can also be changed.
Procedure Right mouse click on signal coin[1:0] in the Name list box in the Data Analyzer to open the
context menu, and select Set Trace Color to open the Change Signal Color dialog box. Choosered as the waveform color, and click on the OKbutton to close the dialog box.
Figure 3-13: Change Signal Color Dialog
To use color to represent a waveforms logic strength, right mouse click on signal name in theName list box in the Data Analyzer to open the context menu, and select Set Strength ColorCoding. The color used to depict the waveform will depend on the logic strength of the waveformat a given time.
To change the background color use the EditPreferencesOptionsWaveformBackground menu selection.
7/27/2019 Silos User Manuel
37/286
7/27/2019 Silos User Manuel
38/286
Silos Users Manual
3-16 Silvaco, Inc.
3.5.8: Displaying Vector Contents using Symbolic Names Vectors and buses can be displayed with meaningful state machine names, such as 5 cents. This
eliminates constantly looking up the state machine symbol corresponding to a hex value for avector.
Procedure
Use a Symbol Table file to establish the relationship between the opcode and the data. Because adesign may contain many types of opcodes, each opcode set is given a name. That opcode set is appliedto the signal using Set Radix. One way to think of the opcode is that it is implemented as a specialtype of radix.
1. Decide on name for the set of opcodes (e.g. coin_values).
2. Decide on a mapping between values and opcodes (e.g. 2=dime).
3. Create a Symbol Table file to enable this mapping (e.g. opcode.sym).
4. Enter the opcode mapping in the Symbol Table file using the following format:
[coin_values]0=none
1=nickel2=dime3=dime + nickel
Note: You can add additional entries for other opcodes in the same file.
5. Save the file.
6. Load the mapping using the EditProject PropertiesOther Settings menu option.
7. Select the signal you wish to be represented as an opcode.
8. Use the context menu and select Set Radix from the menu. A dialog box will appear.
9. From the dialog box, select Symbol for the Radix and the opcode name (e.g. coin_values) for
the symbol table.10. Click OKto represent the signal using the selected opcodes.
To display the state machine values for vectors coin[1:0], NEXT_STATE[1:0], andPRES_STATE[1:0]:
Select the EditProject PropertiesOther Settings menu.
7/27/2019 Silos User Manuel
39/286
7/27/2019 Silos User Manuel
40/286
7/27/2019 Silos User Manuel
41/286
Tutorial Examples
Silvaco, Inc. 3-19
3.5.9: Creating an Annotated Timeline for the Waveform Display An annotated timeline displays the design's operation using meaningful symbols making it much
easier to find and debug the design's operations.
Procedure
If you are debugging a design, displaying a vector as ASCII text that explains what the simulation isdoing can be very useful. To demonstrate this:
Figure 3-18: Displaying the Vectors in ASCII Text
Use the Open File button on the Main toolbar to open file vendtest.v.
Scroll to the bottom of file vendtest.v, and view the case statement used to set the vector info toASCII strings. This illustrates how to setup the ASCII vector in your source code so that you canuse it to display a timeline.
7/27/2019 Silos User Manuel
42/286
Silos Users Manual
3-20 Silvaco, Inc.
Figure 3-19: Displaying the Vectors in ASCII Text
To add signal info directly from the source window, double click on signal info to select it. Nowuse the mouse to drag and drop signal info to the bottom of the Default group in the Name list boxfor the Data Analyzer window.
To change the radix for signal name info to String, right click on signal info[96:1] in theName list box for the Data Analyzer window. Then select the Set Radix selection to open the SetRadix dialog box.
In the Set Radix dialog box, change the radix to String, and click on the OKbutton. Because theinitial value is an Unknown level x for vector info, you can scroll to the right in the DataAnalyzer to see meaningful descriptions. Make sure you click on the minus sign (-) for the defaultgroup to save the new radixes.
7/27/2019 Silos User Manuel
43/286
7/27/2019 Silos User Manuel
44/286
Silos Users Manual
3-22 Silvaco, Inc.
3.5.11: Creating Groups
Procedure
The Namelist box for the Data Analyzer has the following options for groups:
Figure 3-20: Context Menu in Name List Box
New Group: This selection can be used to add a new group to the Name list box.
Insert Group: This selection opens the Insert Group dialog box. This dialog box will insert agroup within a group. The inserted group is displayed as a bus, which can be expanded and hiddenby double-clicking on it.
Show Groups: This selection opens the Select Visible Groups dialog box. This dialog box can beused to select which groups are displayed in the Data Analyzer.
Move Item Up: This selection moves the selected group up.
Move Item Down: This selection moves the selected group down.
When the Data Analyzer window is opened, the Default group is displayed. To save the signals that
have been added to the Default group:
Click on the minus sign (-) just to the left of the Default group in the Name list box.
SILOS will ask you if you want to save the changes to the Default group (unless they have alreadybeen saved). Click on theYes button (if the signals have not already been saved).
7/27/2019 Silos User Manuel
45/286
7/27/2019 Silos User Manuel
46/286
7/27/2019 Silos User Manuel
47/286
7/27/2019 Silos User Manuel
48/286
Silos Users Manual
3-26 Silvaco, Inc.
3.5.15: Scan-to-Change, Scan-to-Value You can scan to change in a waveform state, or scan to a particular waveform value. Easy scanning
and panning saves time when debugging.
Procedure
Figure 3-24: Enter Scan Value Drop-Down Box
To demonstrate scanning to a change edge, highlight vector NEXT_STATE[1:0] in the Name listbox and click on the 1> toolbar button to scan the T1 marker to the right. The state value for eachwaveform in the Value column will change as you scan the T1 marker edge to edge. The T2marker has no effect on the state values in the Value column.
To demonstrate scanning to a value, click on the drop down arrow for the Scan to Change box onthe main toolbar, and choose the Enter Scan Value selection. Enter the value 15 cents in thebox on the main toolbar, and click on the 1> button on the Main toolbar to scan the T1 marker tothe right as it matches each value of15 cents for the vector NEXT_STATE[1:0]. Scan to Valuecan be used to scan to the value for a bit, a vector, or a symbolic name because Scan to Value does acharacter match. The ? character can be used as a don't care character, such as ?ff? would matchwith 1ff3 and ffff.
Figure 3-25: Scan to Change
The Pan to T1, Pan to T2 and Pan Last buttons on the Analyzer toolbar let you pan to the T1, T2timing markers, or pan to the last view in the Data Analyzer.
7/27/2019 Silos User Manuel
49/286
Tutorial Examples
Silvaco, Inc. 3-27
Figure 3-26: Scan to Value
7/27/2019 Silos User Manuel
50/286
Silos Users Manual
3-28 Silvaco, Inc.
3.5.16: Zoom-Buttons Allows for easy viewing of waveforms across simulation time.
Procedure
Figure 3-27: Zoom Buttons
The zoom buttons on the toolbar allow you to zoom-full, zoom-out, zoom-in, and zoom-in-betweenmarkers.
To demonstrate the zoom capabilities:
Click on the Zoom-Full button on the toolbar to display the entire simulation range. This maytake some time with large simulations, but you can stop the zoom-full by holding down the escapekey Esc on the keyboard.
Use the Zoom Out button to zoom-out by a factor of two and the Zoom In button to zoom-in by a
factor of two. Next, use the T1 and T2 timing markers to frame a portion of the simulation range.
Use the Zoom Markers button on the toolbar to zoom in-between the timing markers.
The Zoom Markers feature is also linked to the middle mouse button for systems that supportthat function.
3.5.17: Scrollbar
Allows for scrolling of waveforms across simulation time.
Procedure
Figure 3-28: Waveform Window Scrollbar
The scrollbar at the bottom of the waveform display can be used as a go to button. Use the mouse tomove the scrollbar to approximately time 1 us (micro seconds). The new time values are displayedalong the horizontal time axis as you move the scrollbar. The keyboard left and right arrow keys mayalso be used to scroll the waveform window.
7/27/2019 Silos User Manuel
51/286
Tutorial Examples
Silvaco, Inc. 3-29
3.5.18: Bookmark, Timescale, Goto Timepoint Enables you to quickly jump between simulation times and resolutions during debug.
Procedure
The Data Analyzer window has a context menu that includes selections for Goto Timepoint, Time
Scale andAdd Bookmark menu selections. To invoke the context menu, use the right mouse buttonto click on the timescale just above the Waveform Display window. The context menu will remainopen while the left mouse button is used to select a menu item.
Figure 3-29: Add Bookmark
Figure 3-30: Goto Timepoint, Time Scale, Add Bookmark Dialog
The Goto Timepoint menu selection opens the Goto Timepoint dialog box. The specified timepointcan be displayed either at the left or the center of the Waveform Display window.
7/27/2019 Silos User Manuel
52/286
7/27/2019 Silos User Manuel
53/286
7/27/2019 Silos User Manuel
54/286
Silos Users Manual
3-32 Silvaco, Inc.
Figure 3-32: Data Tip
3.5.21: Exiting Silos
Exit SILOS by selecting the FileExit menu selection. This concludes the Tutorial.
7/27/2019 Silos User Manuel
55/286
Tutorial Examples
Silvaco, Inc. 3-33
3.6: Tutorial 3: Analog and Digital WaveformsThis Tutorial covers how to view and manipulate Analog and Digital waveforms.
3.6.1: Opening the Project
Start SILOS and begin by opening the analog project example in the examples/verilog-d directory.
Figure 3-33: Open Project
7/27/2019 Silos User Manuel
56/286
7/27/2019 Silos User Manuel
57/286
7/27/2019 Silos User Manuel
58/286
Silos Users Manual
3-36 Silvaco, Inc.
Figure 3-40: Result of Expanding All Analog Signals
All analog signals can be collapsed by selecting Collapse All Analog Signals from the Analyzercontext menu.
3.6.4: Changing Display Type of Analog Waveforms between PWL and Step
Analog waveforms can be displayed as either a Step or Piece Wise Linear (PWL) function. By default, awaveform is displayed as a PWL function.
In order to change how the waveform is displayed, select the signal name and right click to bring upthe Context menu. From this menu, select Analog Display Options. Then change the DisplayType to Step.
Figure 3-41: Select Signal
7/27/2019 Silos User Manuel
59/286
Tutorial Examples
Silvaco, Inc. 3-37
Figure 3-42: Set Analog Display Options Menu Selection
Figure 3-43: Set Display Type Menu
7/27/2019 Silos User Manuel
60/286
7/27/2019 Silos User Manuel
61/286
Tutorial Examples
Silvaco, Inc. 3-39
3.6.5: Creating Analog Overlays
Any number of analog waveforms can be superimposed in an overlay. In order to form an overlay,create a group containing the signals of interest (see Section 3.5.10:Groups, Buses, Vectors andSignals in the Analyzer), select the group, and then use the Display Group as Analog Overlayoption from the context menu.
Figure 3-46: Analog Overlay
3.6.6: Expanding an Analog OverlayAn analog overlay can be expanded in exactly the same way as any other analog signal by doubleclicking on the signal, or clicking on the + to the left of the signal name (see Section 3.6.3:Expanding
Analog Waveforms).
Figure 3-47: Analog Overlay After Expansion
7/27/2019 Silos User Manuel
62/286
7/27/2019 Silos User Manuel
63/286
Tutorial Examples
Silvaco, Inc. 3-41
3.6.8: Cha