Ns Vcs MX
Ns Vcs MX
Ns Vcs MX
NanoSim-VCS-MX
Version X-2005.09, September 2005
Disclaimer
SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH
REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Registered Trademarks ()
Synopsys, AMPS, Arcadia, C Level Design, C2HDL, C2V, C2VHDL, Cadabra, Calaveras Algorithm, CATS, CSim, Design
Compiler, DesignPower, DesignWare, EPIC, Formality, HSPICE, Hypermodel, iN-Phase, in-Sync, Leda, MAST, Meta,
Meta-Software, ModelTools, NanoSim, OpenVera, PathMill, Photolynx, Physical Compiler, PowerMill, PrimeTime,
RailMill, RapidScript, Saber, SiVL, SNUG, SolvNet, Superlog, System Compiler, Testify, TetraMAX, TimeMill, TMA, VCS,
Vera, and Virtual Stepper are registered trademarks of Synopsys, Inc.
Trademarks ()
abraCAD, abraMAP, Active Parasitics, AFGen, Apollo, Apollo II, Apollo-DPII, Apollo-GA, ApolloGAII, Astro, Astro-Rail,
Astro-Xtalk, Aurora, AvanTestchip, AvanWaves, BCView, Behavioral Compiler, BOA, BRT, Cedar, ChipPlanner, Circuit
Analysis, Columbia, Columbia-CE, Comet 3D, Cosmos, CosmosEnterprise, CosmosLE, CosmosScope, CosmosSE,
Cyclelink, Davinci, DC Expert, DC Expert Plus, DC Professional, DC Ultra, DC Ultra Plus, Design Advisor, Design
Analyzer, Design Vision, DesignerHDL, DesignTime, DFM-Workbench, Direct RTL, Direct Silicon Access, Discovery,
DW8051, DWPCI, Dynamic-Macromodeling, Dynamic Model Switcher, ECL Compiler, ECO Compiler, EDAnavigator,
Encore, Encore PQ, Evaccess, ExpressModel, Floorplan Manager, Formal Model Checker, FoundryModel, FPGA
Compiler II, FPGA Express, Frame Compiler, Galaxy, Gatran, HDL Advisor, HDL Compiler, Hercules, Hercules-Explorer,
Hercules-II, Hierarchical Optimization Technology, High Performance Option, HotPlace, HSPICE-Link, iN-Tandem,
Integrator, Interactive Waveform Viewer, i-Virtual Stepper, Jupiter, Jupiter-DP, JupiterXT, JupiterXT-ASIC, JVXtreme,
Liberty, Libra-Passport, Library Compiler, Libra-Visa, Magellan, Mars, Mars-Rail, Mars-Xtalk, Medici, Metacapture,
Metacircuit, Metamanager, Metamixsim, Milkyway, ModelSource, Module Compiler, MS-3200, MS-3400, Nova Product
Family, Nova-ExploreRTL, Nova-Trans, Nova-VeriLint, Nova-VHDLlint, Optimum Silicon, Orion_ec, Parasitic View,
Passport, Planet, Planet-PL, Planet-RTL, Polaris, Polaris-CBS, Polaris-MT, Power Compiler, PowerCODE, PowerGate,
ProFPGA, ProGen, Prospector, Protocol Compiler, PSMGen, Raphael, Raphael-NES, RoadRunner, RTL Analyzer,
Saturn, ScanBand, Schematic Compiler, Scirocco, Scirocco-i, Shadow Debugger, Silicon Blueprint, Silicon Early Access,
SinglePass-SoC, Smart Extraction, SmartLicense, SmartModel Library, Softwire, Source-Level Design, Star, Star-DC,
Star-MS, Star-MTB, Star-Power, Star-Rail, Star-RC, Star-RCXT, Star-Sim, Star-SimXT, Star-Time, Star-XP, SWIFT,
Taurus, TimeSlice, TimeTracker, Timing Annotator, TopoPlace, TopoRoute, Trace-On-Demand, True-Hspice,
TSUPREM-4, TymeWare, VCS Express, VCSi, Venus, Verification Portal, VFormal, VHDL Compiler, VHDL System
Simulator, VirSim, and VMC are trademarks of Synopsys, Inc.
ii
Contents
1.
2.
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
viii
Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
Using NanoSim-VCS-MX
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NanoSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VCS-MX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
License. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mixed-simulation Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Supported Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flow Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Known Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Known Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
12
iii
3.
4.
iv
13
13
14
14
15
16
17
19
20
20
21
21
22
22
24
25
VHDL-top Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
Verilog-top Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
Back-annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
36
36
39
Autowrapper Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
43
47
47
48
49
50
5.
A.
B.
51
51
52
52
52
53
55
56
56
57
58
58
Using turboWave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
59
Viewing a Single Waveform File with the Unified Output Display (UOD) . . . . .
60
61
61
61
Known Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
NanoSim-supported Commands
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
63
65
66
Troubleshooting
Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
Time Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
72
74
Performance Improvement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
Glossary
vi
Audience
This user guide is meant for designers who use the NanoSim-VCS-MX
interface.
Knowledge of the C-programming language, UNIX, NanoSim, VCS, VHDL, and
the turboWave waveform viewer is assumed.
Related Publications
For additional information about NanoSim-VCS-MX, see
Documentation on the Web, which provides HTML and PDF documents and
is available through SolvNet at
http://solvnet.synopsys.com
The Synopsys MediaDocs Shop, from which you can order printed copies
of Synopsys documents, at
http://mediadocs.synopsys.com
vii
You might also want to refer to the documentation for the following related
Synopsys products:
NanoSim
VCS
VHDL
Conventions
The following conventions are used in Synopsys documentation.
Convention
Description
Courier
Courier italic
Regular italic
Courier bold
Regular bold
[]
...
viii
Convention
Description
Control-c
Customer Support
Customer support is available through SolvNet online customer support and
through contacting the Synopsys Technical Support Center.
Accessing SolvNet
SolvNet includes an electronic knowledge base of technical articles and
answers to frequently asked questions about Synopsys tools. SolvNet also
gives you access to a wide range of Synopsys online services including
software downloads, documentation on the Web, and Enter a Call to the
Support Center.
To access SolvNet,
1. Go to the SolvNet Web page at http://solvnet.synopsys.com.
2. If prompted, enter your user name and password. (If you do not have a
Synopsys user name and password, follow the instructions to register with
SolvNet.)
If you need help using SolvNet, click SolvNet Help in the Support Resources
section.
ix
Open a call to your local support center from the Web by going to
http://solvnet.synopsys.com (Synopsys user name and password required),
then clicking Enter a Call to the Support Center.
The NS-VCS flow has been removed. It is now part of the E-NS-VCS flow.
1
Using NanoSim-VCS-MX1
This chapter provides you with the basic information you need
to start simulating with NanoSim-VCS-MXincluding
installation and setup.
Overview
NanoSim-VCS-MX (NS-VCS-MX) is a feature that provides you with a mixedsignal, mixed-HDL language verification solution. NS-VCS-MX enables you to
simulate a design described in SPICE (or other transistor-level description
language that NanoSim supports), Verilog-HDL (Verilog), and VHDL.
NanoSim-VCS-MX provides you with two flows:
Note:
The SPICE-top flow is not supported at this time.
The transistor-level design blocks are always located under Verilog in the
design hierarchy, and is interfaced by the Verilog modulereferred to as the
Verilog wrapper (module).
Using NanoSim-VCS-MX
Installation Requirements
You must be familiar with the SPICE, VCS, and VHDL languages, as well as
NanoSim and VCS-MX usage. See the respective manuals for more
information.
This chapter contains the following sections:
Installation Requirements
Mixed-simulation Basics
Supported Features
Flow Description
Known Limitations
Installation Requirements
In order to use NS-VCS-MX, you must install both NanoSim and VCS-MX.
Important:
The tool versions must be compatible!
Check the respective release notes to verify compatible tool versions.
Generally, only one version of NanoSim and one version of VCS-MX are
certified for each NS-VCS-MX release. (Non-recommended versions are not
supportedaccuracy/performance of your results are not guaranteed!) Refer to
the Installation Requirements section of each manual for installation
specifications.
Note that 64-bit platforms (Solaris, HP, AMD) are not yet supported.
If you are running on Linux, check the gcc and ld versions that are
recommended. For Linux RH3.0: use gcc version 3.3.2 and ld version
2.14.90.0.4
Important:
To use NS-VCS-MX, an individual product license is required for both
NanoSim and VCS-MX.
Using NanoSim-VCS-MX
Setting up Your Own Environment
NanoSim
A NanoSim installation comprises CSHRC files for every platform. Source the
CSHRC file for the platform on which you are running your simulation.
Note that you have to re-source the NanoSim CSHRC file when you change
platforms:
source Nanosim_installation_directory/CSHRC_platform
VCS-MX
For VCS-MX, you must set the VCS_HOME environment variable and specify the
path to the bin directory available in the VCS-MX installation directory:
setenv VCS_HOME VCS-MX_installation_directory
set path = ($VCS_HOME/bin $path)
License
Both LM_LICENSE_FILE and SNPSLMD_LICENSE_FILE can be used to
specify the license file location.
setenv LM_LICENSE_FILE Location_of_License_File
or
setenv SNPSLMD_LICENSE_FILE Location_of_License_File
See the following example to set up your environment to run on the Solaris 32bit platform:
setenv VCS_HOME /usr/synopsys/VCS
set path = ($VCS_HOME/bin $path)
source /usr/synopsys/Nanosim/CSHRC_sparcOS5
setenv LM_LICENSE_FILE 26585@synopsys:$LM_LICENSE_FILE
Using NanoSim-VCS-MX
Mixed-simulation Basics
Mixed-simulation Basics
In a mixed-simulation, two simulator engines run and interact with each other.
Information is exchanged between the two simulators through converters.
In an NS-VCS-MX simulation, VCS-MX is the digital simulator and NanoSim is
the analog simulator.
The circuit must be partitioned into digital (VCS-MX) blocks and analog
(NanoSim) blocks. Partitioning the circuit is your responsibility.
You must choose the part of your circuit to be simulated with VCS-MX, and
choose the blocks to be simulated with NanoSim. The converters at the
interface are automatically inserted by the NS-VCS-MX tool.
There are two types of converters:
Digital-to-Analog (D2A)
Converts a signal coming from the VCS-MX world into an analog signal
Analog-to-Digital (A2D)
Converts a signal coming from the NanoSim world into a digital signal
Using NanoSim-VCS-MX
Supported Features
Supported Features
NS-VCS-MX supports the following features:
Using NanoSim-VCS-MX
Flow Description
Integration of the Value Change Dump Plus (VPD) format and NanoSim
output (.out) format into one unified output (_uod.out) file: the Unified
Output Display (UOD).
VPD format is the VCS-MX output format.
Flow Description
If you intend to run Enhanced NanoSim-VCS (E-NS-VCS), that is, if there is no
VHDL description in your design, refer to the Enhanced NanoSim-VCS User
Guide.
Important:
The NS-VCS-MX flow is different from the E-NS-VCS flow!
There are two possible flows for an NS-VCS-MX simulation:
VHDL-top
Verilog-top
Using NanoSim-VCS-MX
Flow Description
In the present version, a SPICE (transistor-level) description for the top cell is
not possible. The top cell must be described in either the VHDL or Verilog
language.
Both Verilog-top and VHDL-top flows are similar (see Figure 1), but the
executables differ. The Verilog-top flow is driven by VCS; therefore, vcs is the
compilation and elaboration tool and simv is the simulation executable. The
VHDL-top flow is driven by VHDL; therefore, scs is the compilation and
elaboration tool and scsim is the simulation executable.
The SPICE description (NanoSim netlist) must always be enveloped by a
Verilog module, also called a Verilog wrapper. See Chapter 2, Preparing Your
Mixed-signal Simulation, for more information on the Verilog wrapper.
For a visual representation of the NS-VCS-MX flow, see Figure 5.
Using NanoSim-VCS-MX
Known Limitations
Known Limitations
Limitations exist in NS-VCS-MX, due to the existing limitations in the VCS-MX
flow. Please refer to the VCS-MX User Guide for more details.
The known NS-VCS-MX limitations are:
Using NanoSim-VCS-MX
Known Limitations
A single VCD file generated for both a VHDL and Verilog design is not
supported, even though you can generate two separate VCD filesone for
VHDL and one for Verilog. Only VPD files generated for the entire (VHDL
and Verilog) design are supportedthe UOD feature only works with VPD
files.
Known Problems
The following problems currently exist:
Using NanoSim-VCS-MX
Known Limitations
10
2
Preparing Your Mixed-signal Simulation2
This chapter provides you with information for preparing your
files (input data) in order to run a mixed-signal simulation.
Overview
Before you begin using the NS-VCS-MX flow, there are several required tasks
you must complete before starting the simulation. You must prepare the input
files so both the VCS-MX simulation and the NanoSim simulation can run
stand-alone. Additional tasks are also required for a successful run of the
mixed-signal simulation.
Figure 6 shows the recommended flow for preparing your mixed-signal
simulation.
11
12
VHDL-top
Verilog-top
Once you have chosen either the VHDL-top or Verilog-top flow, you must
decide how to partition your circuit. You must list the blocks you want to
simulate using
NanoSim
Verilog description
VHDL description
The required files for the mixed-signal simulation for VCS-MX are
a Verilog wrapper
Later in this chapter, you will learn how to create these files.
13
VHDL Description
For a VHDL description, see the following guideline:
Verilog Description
For a Verilog description, see the following guidelines:
14
SPICE Netlist
For a SPICE netlist, see the following guidelines:
Instantiations of subcircuits are not allowed in the SPICE-top netlist (SPICEtop simulation is not supported). Only subcircuit descriptions (starting with
.SUBCKT), voltage sources and SPICE commands (.GLOBAL, .TEMP,
.OPTIONS,) are allowed.
All the power supply nodes (and ground) must be specified in a .global
statement. Voltage sources for power supplies are required.
The subcircuit name and port names in the subcircuit must be identical to
the module name and port names in the corresponding Verilog wrapper
module.
Be aware of case-sensitivity issues. For example, HSPICE format is caseinsensitive and is treatedby defaultas lower-case in NanoSim. Verilog
is case-sensitive.
Voltage source connected to nodes that are not defined with a .global
statement must be defined inside the subcircuit. Any node connected to a
voltage source cannot be an interface node.
The current source definitions must be defined in subcircuits. Any node that
is connected to current sources cannot be an interface node.
The strength calculation may be incorrect if the ports are connected to BJTs,
diodes, or coupling capacitors inside the subcircuits (which are partitioned
for Verilog wrapper modules). You will see a WARNING message when BJTs
or coupling capacitors are connected to mixed-nets: WARNING:
15
Unused ports must be removed from the subcircuits that are partitioned for
Verilog wrapper modules.
NanoSim removes those ports by default. The corresponding ports in the
Verilog wrapper modules must also be removed. You will see a WARNING
and ERROR message when NanoSim removes the port:
WARNING: mixed node net10 not found.
ERROR: Unable to find nanosim id for net net10
interface signal mismatch
See Example 3 for a sample SPICE netlist.
16
It is recommended to use 10ps for the time resolution value, because this is
the default time resolution for NanoSim.
17
Note:
Input signal resolution depends on the sampling rate to generate pseudoanalog signals in a VHDL testbench. You do not have to consider this when
using NanoSim-VCS-MX.
Using real ports can result in a simulation performance penalty; specifically,
real values passed through NanoSim to VHDL. NanoSim communicates
with VHDL by way of VCS, based on the resolution value that is specified in
the mixed-signal simulation setup file. Be aware that smaller resolution
values may cause slower simulation.
Case-sensitivity issues may ariseNanoSim assumes HSPICE netlists are
case-insensitive (translated to lowercase).
In SPICE format, input and output ports are not differentiatedall ports
are designated as inout. When you create a Verilog wrapper, ensure that
you correctly specify input and output ports.
The Verilog wrapper module definition and instantiation name (corresponding
component declaration in VHDL) must match the subcircuit name in the
transistor-level netlist. Port names in the Verilog wrapper module must also
match the subcircuit node names in the transistor-level netlist.
Example 6 is a SPICE subcircuit, including its instance in the VHDL
description and the requested corresponding Verilog wrapper.
Example 6 SPICE subcircuit
*
.subckt chargepump_com
+ com_inv<3> com_inv<2> com_inv<1> com_inv<0>
+ com_rsh<3> com_rsh<2> com_rsh<1> com_rsh <0>
+ clk
* we skip the subckt description
.ends
18
chargepump_com
port map (
com_inv=> com_inv(3 downto 0),
com_rsh=> com_rsh(3 downto 0),
clk
=> clk
);
This file can also contain other optional commands specific to the interface
between the VCS-MX and NanoSim simulators (set rmap and set
bus_format commands).
The default name for the mixed-signal simulation setup file is vcsAD.init. All
commands in the file must be completed with a semi-colon character (;).You
can create a comment line by inserting the double forward slash character (//)
at the beginning of the line.
See Example 9 for an example of a comment line in a vcsAD.init file.
19
Within the vcsAD.init file, you may find the following commands that are
described (in detail) in this chapter:
This example tells NS-VCS-MX that you are using SPICE netlists named
net.spi, and models.sp, and a configuration file named cfg for the
NanoSim simulation.
The syntax after the choose keyword is the regular NanoSim command-line
syntax. However, mixed-signal simulation does not support all NanoSim
command-line options.
See Appendix B, Troubleshooting, for the supported options and descriptions
for NS-VCS-MX. See the NanoSim User Guide for information about writing
configuration files. See the Circuit Simulation and Analysis Tools Reference
Guide for more information about technology and netlist files.
20
Module-based Partitioning
You can perform module-based partitioning by specifying the module name to
be simulated with NanoSim after the -cell option in the partition
command.
See the following syntax, example, and description:
partition -cell module_name;
partition -cell vco bandgap;
In this example, the two cells vco and bandgap are specified to be simulated
at the transistor level. That means:
vco and bandgap are existing Verilog modules (either actual Verilog
modules or the modules were created in a Verilog wrapper)
The module name (vco and bandgap) must be the same (with the same
case-sensitivity) in the Verilog description (wrapper or existing module) and
in the SPICE description
Instance-based Partitioning
You can perform instance-based partitioning by specifying the full hierarchical
name of the instance to be simulated with NanoSim after the partition
command.
See the following syntax, example, and description:
partition hierarchical_instance_name;
21
partition top.u1.u2;
In both examples,
Known Limitation
In the VHDL-top flow, you should use the / hierarchical delimiter for VHDL
instances and the . hierarchical delimiter for the Verilog instances.
For example:
partition
TOP/U1.I1
22
This example instructs VCS that angle brackets (< >) are used as delimiters in
the transistor-level netlist. For example, you can use it when you encounter the
following SPICE subcircuit, shown in Example 11.
Example 11
.subckt addr4 a<3> a<2> a<1> a<0>
+b<3> b<2> b<1> b<0> cin
+s<3> s<2> s<1> s<0> cout
x1 a<3> b<3> cout s<3> n1 addr
x2 a<2> b<2> n1 s<2> n2 addr
x3 a<1> b<1> n2 s<1> n3 addr
x4 a<0> b<0> n3 s<0> cin addr
.ends
The set bus_format command specifies the bus format in the SPICE
netlist. The bus index is indicated by the number shown at the %d position in
the SPICE netlist. The bus index must be sequential from MSB to LSB or from
LSB to MSB (for example, a<3> a<2> a<1> a<0>) in the .subckt port list. If
the bit indexes are mixed (for example, a<3>, a<0>, a<2>, a<1>) the bus
is ignored.
Note:
NanoSim only supports the following bus format characters:
{ }
< >
[ ]
_
A summary of the mixed-signal simulation setup file commands is shown in
Table 1.
Table 1
Command
Use
Definition
required
required
Defines module to be
simulated as a
transistor-block
partition hierarchical_inst_name;
23
Table 1
Command
Use
Definition
optional
optional
Defines the
resistance map file to
be used
resistance_map_path_name;
In this example, the resistance map file is the resis_comp.map file located in
the current directory.
In Example 12, the resistance map file is the resis.map file located in the
/home/john/work directory.
Example 12
set rmap /home/john/work/resis.map;
Use the set rmap command to specify the resistance map file, or the path
where the resistance map file is located. If you do not use this command, the
rmapAD.init default resistance map file in the
/<NanoSim_install_directory>/<platform>/ns/interface/
vcsace directory is used.
Note:
Instead of using the set rmap command, you can also place resistance
mapping information directly in the mixed-signal simulation setup file.
24
3
Running Your Mixed-Signal Simulation3
This chapter provides you with information for successfully
running your mixed-signal simulation.
Overview
The VCS-MX commands are (basically) the main commands that run a
NanoSim-VCS-MX simulation. The nanosim command is included in a file
read-in by the VCS-MX compilation/elaboration tool. If you want to run a mixedsignal simulation, you must know how to run a VCS-MX simulation, and you
also must know how to run NanoSim.
The simulation flow is different if you choose a Verilog-top simulation or a
VHDL-top simulation. Both flows are described in this chapter. For more
information on the VSC-MX analyzer and compiler, it is recommend that you
read the VCS-MX User Guide.
This chapter contains the following sections:
VHDL-top Simulation
Verilog-top Simulation
Back-annotation
25
VHDL-top Simulation
This section presents the simulation flow when your top cell is described in the
VHDL language containing instances described in the Verilog language, and/or
instances you want to simulate with NanoSim. See Figure 7 for a visual
representation of the VHDL-top flow.
Figure 7 VHDL-top simulation flow
26
27
Note:
If a real data type is used in the VHDL code, you must use the -ams
option in vlogan as follows:
vlogan -ams test1.v
b.
Note:
There is no NanoSim component in VHDL code. The NanoSim
components must be read-in through Verilog wrappers; therefore, they
are Verilog components inside the VHDL code.
See the following syntax and example:
vhdlan [options] VHDL_files
vhdlan testbench.vhd example3.vhd
The vlogan and vhdlan options are described in the VCS-MX User
Guide. The NS-VCS-MX simulation does not require any special option
for vhdlan. The -ams option is required for vlogan when real data
types are used in VHDL.
4. Compile and elaborate.
This step elaborates your design, generates code, compiles C code, and
statistically links all objects to generate the executable binary file, called
scsim, for running the simulation.
The command to run compilation and elaboration is scs. Use scs with the
-verilogcomp, -mhdl and +ad options. The -mhdloption is a VCSMX-specific command. The -verilogcomp and +ad options are
required for the NS-VCS-MX simulation.
See the following syntax and example:
scs [options] design_root -mhdl -verilogcomp "+ad
[options]"
scs WORK.CFG_testbench -mhdl -verilogcomp "+ad -PP"
28
29
Example 13
Levelizing stages
Levelizing stages took 0.000 s
# run 1ns
DC initialization ...
Initializing level 1
Finishing initialization (level 0 -- 1)
0 dynamic stages assigned in DC Initialization
Number of residual dc events scheduled
: 0
Number of ic nodes scheduled
: 16
DC initialization took 0.000 s
Simulation begins in pwl mode ...
***** Notes: Nanosim VCS cosimulation can not report percentage of
simulation time.
Simulation time progresses to 0.000 ns
# ace get_node_info TESTBENCH.I3.com_rsh[2]
Ver X-2005.09> get_node_info TESTBENCH.I3.com_rsh[2]
Node status of TESTBENCH.I3.com_rsh[2](58): 0 (0.000 V)
Total Capacitance:
22.5198fF
t1: 2460.010 ns s1: 1
t2: 2470.010 ns s2: 0
t: 2470.560 ns v: 0.000 V
nt: 2475.560 ns nv: 0.000 V
#
Limitation:
If you hit Ctrl-C while scsim is running, currently the simulation will
not stop and the interactive mode will not begin.
6. Display results.
See Chapter 5, Mixed Simulation Output and Display, for detailed
information.
Verilog-top Simulation
This section presents the simulation flow when your top cell is described in the
Verilog language containing instances described in the VHDL language, and/or
instances you want to simulate with NanoSim. See Figure 8 for a visual
representation of the Verilog-top flow.
30
31
32
Note:
The NanoSim components must be read-in through the Verilog
wrappers; therefore, they are Verilog components inside the VHDL
code.
See the following syntax and example:
vhdlan [options] VHDL_files
vhdlan example3.vhd
The vlogan and vhdlan options are described in the VCS-MX User
Guide. The NS-VCS-MX simulation does not require any special option
for vhdlan. The -ams option is required for vlogan when real data
types are used in VHDL.
4. Compile and elaborate.
This step elaborates your design, generates code, compiles C code, and
statistically links all objects to generate the executable binary file, called
simv, for running the simulation.
The command to run compilation and elaboration is vcs. Use vcs with the
-mhdl and +ad options. The -mhdloption is a VCS-MX-specific
command. The +ad option is required for the NS-VCS-MX simulation.
See the following syntax and example:
vcs [options] -mhdl +ad Verilog_files [-vhdlelab
options]
vcs -mhdl +ad example3.v example4.v
The vcs utility reads-in the intermediate files previously generated by
vlogan and vhdlan, as well as the vcsAD.init mixed-signal simulation
setup file. You can change the name of the mixed-signal simulation setup
file. In that case, you must specify its name after the +ad option. If no name
is specified after the +ad option, vcs looks for a vcsAD.init file in the
working directory.
See the following example in which the mixed-signal simulation setup file is
called MySetup:
vcs top.v -mhdl +ad=MySetup
5. Simulate.
33
Execute simv with the -s runtime option to stop the simulation at time
0.
The simulation stops before DC initialization in NanoSim. If you want to
use the NanoSim interactive commands, you must advance several time
steps to make sure DC initialization has completed.
Use the $stop systems task in the Verilog netlist to stop the simulation
at any time (see line 3 in Example 14).
Limitation:
Ctrl-c does not always stop the simulationthis is a known bug.
To invoke a NanoSim interactive command at the CLI prompt, you must use
the ace keyword.
34
Example 14
Levelizing stages ...
Levelizing stages took 0.000 s
$stop at time 0
cli_0 > once #10
cli_1 > .
0 a= 0 b= 1 cin= 0 s= x cout= z
DC initialization ...
Initializing level 3
Finishing initialization (level 0 -- 3)
0 dynamic stages assigned in DC Initialization
Number of residual dc events scheduled
Number of ic nodes scheduled
DC initialization took 0.010 s
: 0
: 18
nv: 0.134 V
cli_3 >
6. Display results.
See Chapter 5, Mixed Simulation Output and Display, for detailed
information.
35
Back-annotation
NS-VCS-MX only supports block-level back-annotation (BA) simulation. Blocklevel back-annotation means back-annotation to the specific SPICE subcircuit,
specific Verilog module, or VHDL component. Back-annotation to the mixed
nets is not supported.
For back-annotation simulation, two kinds of formats are supported:
Use the -sdf option in the scsim command to specify SDF files
Note:
The usage of SDF back-annotation is the same for a VCS-MX simulation.
See the VCS-MX User Guide for more information.
36
For HSPEF back-annotation, use the NanoSim commands to specify the SPEF
files by entering either:
Example 15
.SUBCKT chargepump
*DSPF file content:
*|NET net1 3.4f
*|I
.ENDS
Note:
The usage of HSPF and HSPEF back-annotation is the same for a NanoSim
simulation. For more information about HSPF and HSPEF back-annotation
in NanoSim, see the NanoSim User Guide.
See Example 16 for a vcsAD.init file sample for a back-annotated
SPICE subcircuit:
Example 16
partition -cell chargepump;
choose nanosim -n chrgpmp.sp -C cfg -nhspf chrgump.spf -o RES/ns;
37
38
4
Customizing the NanoSim/VCS-MX Interface4
This chapter provides you with additional information about
the analog and digital interface, including customizing
commands. In addition, this chapter describes the
autowrapper utility, which generates Verilog wrappers, as well
as how signal conversion works with mixed-nets.
Overview
In a mixed-signal simulation, two types of signals must be able to directly
communicate: digital (VCS-MX) and analog (NanoSim).
The first section of the chapter describes the autowrapper utility. The
autowrapper generates an empty Verilog module from a SPICE description.
The second section of the chapter describes mixed-nets. Mixed nets are the
nets at the interface between the digital blocks and the analog blocks.
These nets are called mixed because they simultaneously process analog and
digital information. The signals on the mixed-nets, therefore, must be converted
from analog-to-digital or from digital-to-analog.
39
Autowrapper Utility
Autowrapper Utility
As described in the previous chapters, a NanoSim subcircuit cannot be
instantiated in a VHDL or a Verilog description. A Verilog wrapper
corresponding to the subcircuit must be initially created. The wrapper can be
manually created or automatically created using the autowrapper utility.
After the wrapper has been created, you have to change the port direction in
the wrapper.v file. Port direction does not pertain to a SPICE subcircuit, as all
ports are considered inout. The autowrapper utility specifies all ports with
inout direction. You must change the port direction in the wrapper.v file to
assign the actual direction to each port (such as input, output, or inout).
The autowrapper utility creates wrapper.v and wrapper.log files (by default).
The wrapper.v file contains all Verilog wrapper modules corresponding to all
subcircuits that are defined in the SPICE file. For instance, if there are four
subcircuits specified in the SPICE file, this utility creates four Verilog wrapper
modules in the wrapper.v file.
See the following syntax, example, and description:
autowrapper -n[fmt] netlist_file(s)_name
[-bus_fm bus_format][-cell subckt_name(s)]
[-xcell subckt_name(s)] [-file netlist_file_name]
[-o output_file_name]
40
All ports are defined as inout in module inv. You must change port
directions; for example, a as input and zn as output.
For a description of the autowrapper utility options, see Table 2.
Table 2
Utility option
Description
-n[fmt]
Specifies the file name (in any NanoSimsupported format) to be read-in. (Required
option)
netlist_file(s)_name
-bus_fm bus_format
A[0]
B_1
C<2>
D_3_
E{4}
F5
G6_
bus format
[%d]
_%d
<%d>
_%d_
{%d}
%d
%d_
41
Table 2
Utility option
Description
-cell subckt_name(s)
-xcell
subckt_name(s)
-file
netlist_file_name
42
Table 2
Utility option
Description
-o output_file_name
.ends
.subckt inv a zn
m1 zn a vdd vdd p 1 0.35
m2 zn a gnd gnd n 2 0.35
.ends
43
44
+
WL[0], WL[1], WL[2], WL[3],
+
WL[4], WL[5], WL[6], WL[7],
+
R_WB, RAM_ENB
.ends
The autowrapper utility automatically forms bus- or array-type signals in
the Verilog wrapper file, as shown in Example 22. Refer to Table 2 for
details.
Example 22 Bus- or array-type signals in a Verilog wrapper (generated Verilog
wrapper module)
module mem (DATA, WL, R_WB, RAM_ENB);
If special characters and Verilog-specific words are used for the signal or
subcircuit name, the name is assigned a backslash ( \ ) leading character.
In addition, a space is inserted at the end of the name in the Verilog wrapper
file, as shown in Example 23.
inout \if ;
inout \1 ;
inout \2 ;
endmodule
45
inout
\0 ;
inout
\B#1 ;
inout [5:5] B;
inout
\CE# ;
inout
CLK;
inout [7:7] DECOUT;
inout
\Q^ ;
inout [7:7] XDPD;
inout
\b#2 ;
endmodule
If subcircuit ports in a bus are randomly ordered in the transistor netlist, the
autowrapper utility cannot function properly.
See Example 24 for a sample (unsupported) file.
46
The mixed net carries a signal that must be converted from digital to analog (in
the first case), and from analog to digital (in the second case).
As shown in Figure 9, net2 requires an A2D (analog-to-digital) translation, and
net1 requires a D2A (digital-to-analog) translation.
Figure 9 A2D/D2A net translation
47
Digital value
Analog value
0V (gnd)
Unless, the NanoSim set_vec_opt low=
configuration command is set.
0V when at time 0
After time 0, keeps the value set at the previous
time step. Floating attribute is internally set.
0V
Unless, the NanoSim set_vec_opt
configuration command is set.
Only the low, high, x_state, x2v, and no options for set_vec_opt are
supported for converting the interface net values. The other options for the
set_vec_opt command are not supportedrefer to the NanoSim Command
Reference for more information.
See the following example:
set_vec_opt low=0 high=1.8 no=top.clk$1
The set_vec_opt command redefines local supply voltage values to 1.8V for
the top.clk interface node. Note the $1 suffix for the net name.
48
Analog value
Digital value
49
Table 4
Analog value
Digital value
50
51
Unless you specify your own resistance map file with the set rmap command
in the mixed-signal simulation setup file (vcsAD.init, by default), the default
resistance map file is used.
You can create your own resistance map file using unidirectional mapping, or
bidirectional mapping.
Unidirectional Mapping
When you map unidirectionally, you specify that a signalwithin a certain
range of drive resistancespropagates from the transistor-level to the Verilog
part of the design when a specific logic strength level is reached. In addition,
when you unidirectionally map you specify that a signalwith a specific logic
strength levelpropagates to the transistor-level part of the design when a
specific range of drive resistances is reached.
The drive resistance range from transistor-level to a Verilog strength level does
not have to match the drive resistance range from a Verilog strength level to
transistor-level.
The following shows resistance mapping information with unidirectional
mapping
See the following syntax (-from -to) for unidirectional mapping:
resistance_map -from analog resistance_value_range -to
verilog strength;
See the following syntax (-to -from) for unidirectional mapping:
resistance_map -to analog resistance_value_range -from
verilog strength;
52
-from
-from
-from
-from
-from
-from
-from
-from
resistance_map
resistance_map
resistance_map
resistance_map
resistance_map
resistance_map
resistance_map
resistance_map
-to
-to
-to
-to
-to
-to
-to
-to
analog
analog
analog
analog
analog
analog
analog
analog
analog
analog
analog
analog
analog
analog
analog
analog
Note:
Both directional definitions, -from analog -to verilog and -to
analog -from verilog, are required.
Bidirectional Mapping
You can map drive resistance ranges to Verilog logic strength levels
bidirectionally, so that the drive resistance range from transistor-level to Verilog
(for logic strength level) matches the driver resistance range from Verilog to
transistor-level (for logic strength level). The following is an example of the
contents of such a resistance mapping file.
See the following syntax for bidirectional mapping:
resistance_map resistance_value_range strength;
See Example 29 for a sample bidirectional resistance map file.
53
54
90000.2-1e32 0;
70000.2-90000.1 1;
50000.2-70000.1 2;
5000.2-50000.1 3;
4000.2-5000.1 4;
1000.2-4000.1 5;
1.2-1000.1;
0-1.1 7;
5
Mixed Simulation Output and Display5
This chapter describes saving signals or traces for display
using waveform viewers and the unified output display (UOD)
feature.
Overview
The output results of a mixed-signal simulation can be saved into two separate
files: one file for VCS-MX results (VCD or VCD+ format) and one file for
NanoSim results (.out or .fsdb format). As an alternative, your output results
can be saved in a single (unified) output file (the UOD).
This chapter contains the following sections:
Viewing a Single Waveform File with the Unified Output Display (UOD)
55
NanoSim syntax (if the net you want to use is in the transistor-level
description)
The Verilog and VHDL commands that save signal traces for printing do not
save any of the analog signals. Only NanoSim commands can save analog
signal waveforms.
The only formats that support VCS-MX traces, together with NanoSim
waveforms in a single file, is
By default, the dump command saves the signals in VCD+ format (.vpd); it is
possible to generate VCD output format using the dump -vcd command.
See the following examples of VHDL dump commands:
Example 31 traces all signals in /TESTBENCH that are saved in the
res.vdp file.
56
Example 31
dump -deep /TESTBENCH -o res.vpd
Example 32 traces all signals from the TESTBENCH top-level (down) to the
first level of hierarchy, which are dumped in the default VPD file name.
Example 32
dump -deep -depth "1" /TESTBENCH
See the VCS-MX Reference Guide for more information on the dump
command.
In Example 35 all Verilog and VHDL signals for hierarchy levels 1 and 2 are
saved (no traces for lower levels of hierarchy).
57
Example 35
$vcdpluson(2,top);
In Example 37, all nets of the transistor-level descriptions are saved in both
voltage and logic values.
Example 37
print_node_v *
print_node_l *
In Example 38, all voltage values at the first level of hierarchy are saved. If
there are no SPICE nets at the first level of hierarchy in the design, voltage
is not saved.
Example 38
print_node_v level=1 *
58
Using turboWave
turboWave reads both the VCD file format and the NanoSim .out output file
format. turboWave also reads .fsdb binary file format, but cannot read VCD+
binary file format. To generate the .fsdb binary format, use the
set_print_format for=fsdb configuration command, or the -out fsdb
command-line option for NanoSim.
The interactive display (marching waveform) is only available with the .out or
.fsdb file. The UOD file cannot be used for the interactive display.
59
When you use alternative waveform viewers, you must verify that the viewers
can read the appropriate file formats.
Note:
See the respective manuals for details regarding the dumping of output files.
Viewing a Single Waveform File with the Unified Output Display (UOD)
The Unified Output Display (UOD) integrates the Value Change Dump+ (VPD)
file in NS-VCS-MX with the NanoSim transistor-level circuit simulation .out file.
The respective integration produces the _uod.out unified output file.
The UOD enables you to easily view all simulation results in one waveform
viewer (such as turboWave). This new unified output file contains the complete
hierarchy of all the signals from the SPICE netlist, Verilog netlist, and VHDL
netlist.
For a visual overview of how the UOD enables you to view simulation results in
a single waveform file, see Figure 12.
Figure 12 Single waveform view using the UOD
60
set_print_filter
set_print_tres (ignored)
Known Limitations
The following limitations currently apply:
61
NanoSim (.out)
VCD+ (.vpd)
Caution!
Do not use the set_print_uod command with the set_cosim_tres
use=ns command.
62
A
NanoSim-supported CommandsA
This appendix describes the NanoSim configuration
commands and command-line options that are specific to
NS-VCS-MX.
Overview
To support a mixed-signal simulation, two configuration commands have been
implemented in NanoSim: set_cosim_tres and set_print_uod. A
description of the configuration commands and NanoSim command-line
options follows.
This chapter contains the following topics:
63
NanoSim-supported Commands
set_cosim_tres Configuration Command
its own value and VCS-MX uses its own value. If the VCS-MX time resolution
value is less than the NanoSim time resolution value, the VCS-MX value
overrides the NanoSim value.
Although not recommended, if you prefer to use a NanoSim time precision
value that is greater than a VCS-MX time precision value, you must use the
NanoSim set_cosim_tres use=ns configuration command in combination
with the set_sim_tres <value> command. Note that there is a slight risk of
your simulation terminating, due to asynchronism. If this occurs, discontinue
using the set_cosim_tres command.
The set_sim_tres command sets the NanoSim time resolution value and the
set_cosim_tres use=ns command forces NanoSim to keep its own time
resolution value (even if the VCS-MX time resolution value is smaller).
See the following syntax:
set_cosim_tres [use=ns]
When the use=ns option is set, VCS uses its own time resolution value (see
Example 39), and NanoSim uses its own time resolution value specified by
the set_sim_tres configuration command.
Example 39 Using the set_sim_tres value as the NanoSim time resolution
value
set_cosim_tres use=ns
If the time resolution differs between VCS and NanoSim, NanoSim generates a
warning message. Example 40 and Example 41 show the difference in time
resolutions. In both examples, the VHDL time resolution is not set, the VHDL
time base is nanoseconds, and the VHDL time resolution is 1 ns.
Example 40 VCS description
timescale 1ns/1ps
Since the default value for set_sim_tres is 10ps, the following message
appears:
WARNING: VCS time resolution doesn't match NanoSim time
resolution. VCS time resolution is <1ps>, NanoSim time
resolution is <10ps>. Simulation time resolution: <10ps>
64
NanoSim-supported Commands
set_print_uod Configuration Command
The default value for the out= option is uod. When the set_print_uod
configuration command is used, a single output file (if no option or out=uod
option is used) with the _uod.out suffix is generated. The format of this file is
the NanoSim .out ASCII format.
If you specify a format different from .out for the NanoSim simulation (using
the set_print_format configuration command or -out command-line
65
NanoSim-supported Commands
NanoSim Command-line Options
option), a warning is issued and the output format is forced to .out. See the
following sample warning message: WARNING: Illegal output file
type defined 'fsdb' in UOD mode. The output file type has
been changed to .out print format.
For a description of the set_print_uod configuration command arguments,
see Table 5.
Table 5
Command Argument
Description
out=uod
out=all
Description
-A
-c configuration_ file(s)
-C configuration_ file(s)
66
NanoSim-supported Commands
NanoSim Command-line Options
Table 6
Description
-d timing_mode
-fm ADFMI_file(s)
This option specifies files that contain ADFMIbased C models. You can use the full name of the
model files, with the .c or .o extension, but it is not
required. This option does not force a recompilation
of the .c file, if the .o file is newer. See the NanoSim
Modeling Guide for ADFMI and Verilog-A for details
on how to use the ADFMI-based C models.
-FM ADFMI_file(s)
-fm_user_lib
-har [hilo_file]
-include_path
-L library_path
67
NanoSim-supported Commands
NanoSim Command-line Options
Table 6
Description
-n[format] netlist(s)
-o output_file_prefix
-out
out|fsdb|wdb|cou|custom
_format_name
-p technology_file
-Q
-q
-r [always | never |
compare | warning]
-W max_messages
68
NanoSim-supported Commands
NanoSim Command-line Options
Table 6
Description
-w
-y
-z prefix
This option starts the automatic technology-filegeneration feature for HSPICE netlists. It also
names or designates the technology files to be used
for a particular simulation run.
Note:
The -t option is not supported for NS-VCS-MX simulation. If you specify
time with the -t option, it is ignored. For a complete list of the NanoSim
command-line options, please see the NanoSim User Guide.
69
NanoSim-supported Commands
NanoSim Command-line Options
70
B
TroubleshootingB
This appendix contains some helpful hints for debugging and
successfully running your mixed-signal simulation.
Debugging
Before starting a mixed-signal simulation, it is highly recommended that you
first run a pure VCS-MX simulation. Try if possibleto replace the transistorlevel section with VHDL or Verilog models, and ensure you can run the VCSMX simulation and get expected results. You can then replace the Verilog or
VHDL blocks you want to simulate with NanoSim using a transistor-level
description.
If possible, you should run the transistor-level description blocks as a standalone with NanoSim. Create stimuli that emulates the digital input behavior, run
NanoSim on the block(s), and ensure you get the expected results outside the
design environment. Tryas much as possibleto reduce the number of
subcircuits connected to Verilog or VHDL. The fewer A2D and D2A
conversions, the better the performance will be.
71
Troubleshooting
Time Precision
Time Precision
Time precision may be a concern in a mixed-signal simulation because three
types of descriptions are used: VHDL, Verilog, and SPICE (NanoSim):
In Verilog, the time precision is specified in the first line of the Verilog
description. It is the last argument of the 'timescale command. See the
following example:
`timescale 1ns/10ps
Note that the vcs command also has a -timescale=timeunit/
time_precision option.
72
Troubleshooting
Time Precision
same time precision for the VHDL and Verilog descriptions. See the following
guidelines:
If the values differ, a warning message appears. If the VCS time resolution
is smaller, the following warning appears:
***** WARNING: VCS time resolution doesn't match NanoSim
time resolution. NanoSim time resolution override by VCS
time resolution automatically. VCS time resolution is
<1ps>, NanoSim time resolution is <10ps>. Simulation
time resolution :<1ps>
If the NanoSim time resolution is smaller, the following warning appears:
***** Warning: VCS time resolution (10.000000 ps) is
larger than NanoSim time resolution (1.000000 ps)
***** Warning: NS time resolution 1.000000 ps is used
Simulation time resolution :<1ps>
73
Troubleshooting
Limitations at the Interface
In the VHDL description, any port with a real data type cannot be inout.
The port_mode (port direction) must be input or output.
Performance Improvement
Occasionally, a mixed-signal simulation is not as rapid as expected. Some
recommendations for performance improvement in your mixed-signal
simulation follow:
74
Troubleshooting
Performance Improvement
In Figure 14, the three subcircuits have been assembled into a single
subcircuit. Only four conversions are requiredall A2A conversions have
been removed.
Figure 14 Three subcircuits
75
Troubleshooting
Performance Improvement
76
GlossaryGL
A2D
An analog-to-digital converter.
BA
Back-annotation (BA) is a process of stitching the parasitic RCs back to your
design netlist through connectivity information (net name, instance name, pin
name) inside the parasitic file.
bidirectional switch
A device that conducts in both directions. In such cases, signals on either side
of the device can be the driver signal. A bidirectional switch is typically used to
enable isolation between buses or signals.
D2A
A digital-to-analog converter.
donut configuration
In NS-VCS-MX, a donut configuration only applies to the VCS-MX description.
You can instantiate a Verilog design in a VHDL design in a Verilog design
(Verilog-VHDL-Verilog). This is commonly referred to as a mixed-HDL donut.
DSPF
A detailed standard parasitic format (DSPF) output netlist format is generated
by an extraction tool, and describes interconnect information. Actual net
parasitic resistance and capacitance component information is contained in this
format.
GUI
A graphical user interface (GUI) for NanoSim.
HAR
Hierarchical array reduction (HAR) in NanoSim that speeds-up the simulation
for memory designs (DRAM and SRAM).
77
mixed-signal
A circuit containing analog- and digital-style components.
NanoSim
The Synopsys fast-SPICE transistor-level simulator.
PLI
A programming language interface (PLI) of Verilog HDL is a mechanism for
interfacing Verilog programs with programs written in the C language. PLI also
provides a mechanism for accessing internal databases of the simulator from
the C program.
real data type
The Verilog or VHDL data type defined in IEEE Std 1264-1996 and Std 13642001.
resistance map file
An ASCII file that equates MOSFET "on" resistance to Verilog drive strength;
the resistance map file contains the signal conversion data between a SPICE
analog value to a Verilog digital value, and a Verilog digital value to a SPICE
analog value.
scs
A VHDL compiler command.
scsim
A VHDL simulator command.
SDF
A standard delay format (SDF) file stores the timing data generated by EDA
tools for use in any stage of a design process. The data in the SDF file is
represented in a tool-independent way and includes the following information:
delay, timing check, timing constraint, incremental and absolute delay.
simv
A Verilog simulator command.
SPEF
A standard parasitic extraction format (SPEF) file is an IEEE standard format.
This file provides a standard median to pass parasitic information between EDA
tools during any stage in the design process. This format contains actual net
parasitic resistance and capacitance components.
SPICE netlist
In the present context, the term SPICE netlist is used in place of transistorlevel netlist
78
VCS
A Synopsys Verilog hardware description language (HDL) simulator.
VCS-MX
A Synopsys simulator for Verilog, VHDL, and mixed-HDL design descriptions.
VHDL
VHSIC HDL
VPD
An output format for VCS-MX. VPD uses the VCD+ (value change dump)
format.
Verilog dummy module
A module that is the Verilog place holder for a transistor block. A dummy
module is an empty module containing only the module declaration and port
declarations.
Verilog wrapper
A Verilog netlist comprising an empty module. Only the module name and port
description are in the wrapper.
vhdlan
A VHDL analyzer command.
vlogan
A Verilog analyzer command.
wreal data type
A real net data type used in a Verilog wrapper module to interface a real data
type VHDL port and a SPICE port in NS-VCS-MX.
XMR
A feature that is extensively used in Verilog testbenches, and is referred to as a
cross-module reference or Verilog hierarchical referencing. This feature
enables simple probing into, or monitoring of, buried signals without requiring
the signals to be routed to the top of the design for observation. No declaration
of global signals in a package is required for this feature, nor is any modification
of the original monitored code.
79
80
Index
Symbols
$vcdpluson system task 61
A
analog conversion 52
analog to digital conversion 49
array-type signal, Verilog wrapper 45
array-type signals, Verilog wrapper 45
autowrapper utility 40
B
back-annotation 36
bidirectional mapping 53
bus-type signal, Verilog wrapper 45
bus-type signals, Verilog wrapper 45
C
commands
partition 20
set bus_format 22
set rmap 24
configuration command
set_cosim_tres 64
configuration commands 63
configuration files, specifying 66
converting signal values 47
Cosmos Scope waveform viewer 59
E
EDIF netlist format 68
F
files
<italics>See output files
flow description 6
H
help commands
set_cosim_tres 64
hierarchical SPF netlist format 68
HSPF back-annotation 36
I
input files 13
configuration 66
netlist 68
technology 68
input netlist 68
installation requirements 2
instance-based partitioning 21
M
D
digital conversion 51
81
Index
N
nanosim command, choosing 20
NanoSim command-line options 66
NanoSim commands, supporting 61
NanoSim configuration commands 63
NanoSim reduction commands
set_print_compress 61
split_print_file 61
NanoSim-VCS-MX, cosimulating 1
netlist file
specifying format 68
simulator, selecting 20
SPICE netlist 15
array-type signal 44
bus-type signal 44
SPICE netlist format 68
SPICE netlist guidelines 15
split_print_file command, splitting files 61
supported features 5
output files
prefix specification 68
technology files
automatic generation 68
specifying 68
transistor-level description 58
turboWave 59
partition command 20
partitioning commands
set bus_format 22
set rmap 20, 24
printing commands 56
unidirectional mapping 52
unified output file 60
UOD file naming 61
Verilog input 14
Verilog netlist format 68
Verilog syntax 57
Verilog wrapper 17
Verilog wrapper file, bus/array-type signals 45
Verilog-top flow 30
VHDL design library 17
VHDL input 14
VHDL syntax 56
VHDL-top flow 26
viewing waveforms separately 58
viewing with UOD 60
S
SDF file 36
set bus_format command 22
set rmap command 24
set_cosim_tres command 64
set_node_thresh 50
set_print_compress command, compressing 61
set_print_tres command 61
set_print_uod command 61
set_vec_opt 48
high= argument 48
low= argument 48
no= argument 48
x_state= argument 48
setting up environment 3
signal strength conversion 51
signal value conversion rules 48
82
W
waveform viewer
Cosmos Scope 59
X
XMR, cross module reference 9