To Setup Your Cadence Tools Use Your Linuxserver - Csumbc.edu Account. We Can Connect To Dedicated Campus Server
To Setup Your Cadence Tools Use Your Linuxserver - Csumbc.edu Account. We Can Connect To Dedicated Campus Server
4th Nov.2012
NCVerilog Tutorial
To setup your cadence tools use your linuxserver.csumbc.edu account. We can connect
to dedicated campus server.
Edit the file called .cshrc in your home directory. (This is basically for new students,
those who used the cadence tools before can skip this)
The main objective is to understand the tool usage and its behavior. Here, I have taken
very simple example of D Flip-flop.
A cds.lib file : This file contains statements that define your libraries and that
map logical library names to physical directory paths.
You can create your own txt file (Out of the scope of Tutorial). For time being, I am
including the path for cds.lib
An hdl.var file : This file defines which library is the work library. The hdl.var
file also can contain definitions of other variables that determine how your
design environment is configured, control the operation of NC-Verilog tools, and
specify the locations of support files and invocation scripts.
cp /afs/umbc.edu/software/cadence/etc/setup_2008/cds.lib ~/cadence/
cp /afs/umbc.edu/software/cadence/etc/setup_2008/hdl.var ~/cadence/
Note: You can have more than one cds.lib or hdl.var
Amey Kulkarni
4th Nov.2012
Single-step invocation: In this way of running the simulator, you issue one
command, the ncverilog command. This command invokes a parser called
ncvlog and an elaborator called ncelab to build the model, and then invokes the
ncsim simulator to simulate the model.
Multi-step invocation: In this way of running the simulator, you invoke ncvlog,
ncelab, and ncsim separately
If you want to simulate directly, you can skip following theory part. But, it is always
good to know this.
ncvlog analyzes and compiles your Verilog source. This tool performs syntactic
checking on the HDL design unit(s) (modules, macromodules, or UDPs) in the
input source file(s) and generates an intermediate representation for each HDL
design unit.
ncelab elaborates the design hierarchy that defines the model. The elaborator
takes as input the Library.Cell:View name of the top-level HDL design unit(s). It
then constructs a design hierarchy based on the instantiation and configuration
information in the design, establishes connectivity, and computes the initial
values for all of the objects in the design.
ncsim simulates Verilog using the native instruction streams to execute the
dynamic behavior of the design.
Since, I will be running my example code by using Single step invocation with
ncverilog.
You can always find more information by invoking cadence document window. Type
cdsdoc command on terminal window
%ncverilog -c dff.v
If your run is successful then the window will show you the outputs.
Amey Kulkarni
4th Nov.2012
Now, here I have taken simple example. In case of huge designs which has top level and sub-modules.
Once you compiled your top level module. You can start compiling test bench module.
Remember if you run testbench without its top level file, it may give you a parsing error.
If everything goes well you can see following output at your terminal window.
Amey Kulkarni
4th Nov.2012
After running compiler and simulator, you can observe that your current directory will contain
“INCA_libs”. This folder will hold the snapshot of the simulations.
%ncsim work.dff_tb
Basically it will show you the same thing that had been generated after running simulator.
You can always refer to log files but delete them once you are done with the reports.