Netlist
manager/viewer tool allows designers to explore Verilog Netlist, created as a
result of the Synopsys DC Complier synthesis. The main features of NETMAN are:
·
Module
extraction capability and module hierarchy viewer
·
Quick
and convenient access to selected module netlist code
·
Graphical
netlist connectivity viewer for region-of-interest exploration
The tool
can be very useful both for ASIC design and for reverse engineering purposes,
as well as for DFT. Using Netman, designers can search for the needed element,
such as a port, gate or net, bring it into netlist viewer and then, beginning
with this element, explore the region’s connectivity.
Netman GUI
Interface contains two tabs: Hierarchical Viewer and Netlist Viewer:
The main
source file for the tool is verilog netlist which can be created from the
Design Compiler using the “write –f verilog -hier –o <verilog_file_name>
command.
First,
module hierarchy information must be extracted from the netlist file using “Extract Hierarchy” dialog window from
the command panel. This command will produce hidden .hierarchy file in the same
directory, where netlist file resides. Then, produced .hierarchy file must be
loaded using “Load Hierarchy” dialog window and
design hierarchy will appear inside “Modules Tree” widget:
Double
Clicking on the module’s tree node will make corresponding module “active” for
viewing and load it’s netlist into textual netlist viewer window. In order to
edit module’s netlist, specify your favorite editor name using “Set Editor”
dialog window from the command panel. Then, double clicking on the node will
load corresponding module verilog netlist into your favorite editor.
Verilog
Netlist viewer has built-in smart searching capabilities. There are two “combo”
boxes on the right side of the “Search” entry. The left one with default string
“Select” has the following entries:
inputs – loads into the right combo box all module
inputs names
outputs – loads into the right combo box all module
outputs names
wires - loads into the right combo box all module
wires (nets) names
cells - loads into the right combo box all module
cell instance names
types - loads into the right combo box all module
cell instance types names
The
following pictures show an example of searching for module inputs. Selected
input will appear inside “Search” string, and pushing “Search” button
corresponding input will be found in the Textual Viewer window:
Netlist
viewer allows netlist exploration in the graphical form. In order to use Netlist
Viewer window, the verilog library file (or files) must be specified. This file
is needed in order to define for the tool pin types
(input/output/bi-directional) of each library cell. Use “Netlist -> Library Files”
dialog window in order to specify all library files that contains the cells,
used in current design. Each library file full path name must be specified on
the separate line. Library files information then will be saved in
“.netman_defaults” file in the same directory, where netlist file reside. So,
library files can be defined only once, and opening design with “Netman” once
more they will appear inside “Library Files” window and will be loaded
automatically.
“Netlist
Viewer” tab contains Netlist Viewer widget and entry/combo widgets on the
bottom.
The
“Command” entry allows designer to use tcl language with additional functions
in order to get information about design and manipulate with graphical
representations.
Using other
entries (Search, Pattern, Results), designer can find the first element of
interest and then view it in the graphical form:
First, define which “ class” of element you are looking for selecting it
in “Search” combo box. Specified element classes are: gates, types, inputs,
outputs, nets.
Second, specify the matching pattern in the “Pattern” entry. Leaving
this entry empty selects all elements of current “class”.
All selected elements will appear in “Results” combo widget. When the element
in “Results” combo is selected, it appears in the graphical form inside the
Netlist Viewer.
The concept
of “Netman” netlist viewer is different from the one used in Synopsys DC
Analyzer. Here, netlist viewing window is empty in the very beginning. Then,
only selected element, chosen by search window, appears on the screen. Clicking
on the element’s pin brings to graphical window all the elements
(nets/gates/ports), connected directly to this pin. Using this approach, only
the “region of interest” connectivity can be displayed.
All design
elements, except from nets, are movable and can be easily adjusted on the
screen for better viewing and connectivity understanding. Move them using right
mouse button staying on selected element. In order to delete unneeded elements
from viewing, simply point to these elements while pushing the “
All element
information, except from a cell instance name, is shown in the viewer. The
instance name of the cell appears on the right bottom corner of the tool when
mouse pointer is on the top of this cell.
The
following pictures illustrate the process of selecting/viewing of the netlist
with Netman tool:
|
Choosing element’s “class”: |
Viewing search results and selecting the first design
element: |
|
Exploring netlist connectivity: |
Printing netlist connectivity: |