DESIGN COMPILER
INTRODUCTION
DC Ultra
DC Ultra advanced features that are provided in
addition to the DC Expert basic features:
Infrastructure to support multicore execution for faster runtimes
Advanced arithmetic optimization
Integrated datapath partitioning and synthesis capabilities
Advanced timing analysis
Advanced delay optimization algorithms
Automatic leakage power optimization
Register retiming, the process by which the tool moves registers through
combinational
gates to improve timing
The following additional DC Ultra features are available when you run the tool in
topographical mode:
Support for multivoltage and multiple supply designs
Concurrent multicorner-multimode optimization, which reduces iterations and provides
faster time-to-results
Placement and optimization technologies that are shared with IC Compiler place and
route to drive accurate timing and area prediction within synthesis, ensuring a better
starting point for physical implementation
DC Explorer
DC Explorer enables you to perform early RTL exploration,
leading to a better starting point for RTL synthesis and
accelerating design implementation
DC Explorer provides the following features:
Efficiently performs what-if analysis of various design configurations
early in the design cycle, even with incomplete design data, to
speed the development of high quality RTL description and
constraints and drive a faster, more convergent design flow
Generates an early netlist, which can be used to begin physical
exploration in IC Compiler
Creates and modifies floorplans very early in the design cycle with
access to IC Compiler design planning
Performs preliminary synthesis quickly compared to full synthesis,
yet gives you timing and area results typically within ten percent of
the final results produced by Design Compiler in topographical mode
HDL Compiler
The HDL Compiler tool translates Verilog
or VHDL descriptions into a generic
technology (GTECH) netlist, which is
used by Design Compiler to create an
optimized netlist. After the design
meets functionality, timing, power, and
other design goals, you can read the
gate-level netlist into IC Compiler and
begin physical implementation.
Library Compiler
Library Compiler reads the
description of an ASIC library from a
text file and compiles the
description into either an internal
database (.db file format) or into
VHDL libraries. The
compiled database supports
synthesis tools.
Power Compiler
The Power Compiler tool offers a complete
methodology for power, including analyzing and
optimizing designs for static and dynamic power
consumption. It performs RTL and
gate-level power optimization and gate-level power
analysis. By applying the power
reduction techniques available in the Power Compiler
tool, including clock-gating, operand
isolation, multivoltage leakage power optimization,
and gate-level power optimization, you
can achieve power savings, and area and timing
optimization in synthesis.
Design Vision
The Design Vision tool is the graphical user interface
(GUI) for the Synopsys logic synthesis environment and
provides analysis tools for viewing and analyzing
designs at the generic technology (GTECH) and gate
level.
The Design Vision main window provides menus and
dialog boxes for running frequently used Design
Compiler commands.
It also provides graphical displays, such as histograms
and schematics for visual analysis.
A layout view displays floor plan constraints, critical
timing paths, and congested areas in a single, flat view
of the physical design.
e synthesis design flow consists of the design exploration stage and the final des
plementation stage.
Exploration stage
In the design exploration
stage, you use DC Explorer
to perform
what-if analysis of various
design configurations early
in the design cycle to
speed the development of
high-quality RTL and
constraints and drive a
faster, more convergent
design
flow.
Implementation stage
In the design
implementation stage,
you use the full power
of Design Compiler to
synthesize the design.
Optimization Basics
Optimization is the Design Compiler synthesis step that maps the design to an
optimal combination of specific target logic library cells, based on the designs
functional, speed,and power requirements.
Design Compiler calculates two cost functions: one for design rule constraints
and one for optimization constraints.
Optimization accepts a change if it decreases the cost of one component
without increasing more-important costs.
By default, the design rule constraints (transition, fanout, capacitance, and
cell degradation) have a higher priority than the optimization constraints
(delay and area).
Design Compiler performs the following levels of optimization in the following
order:
1. Architectural Optimization
2. Logic-Level Optimization
3. Gate-Level Optimization
Experimenting with speed and area to get the smallest or fastest design is
called exploring the design space.
CHAPTER 2
Working With Design Compiler
For details about defining modes and corners and setting up multicorner-multimode analysis, see Optimizing Multicorner-Multimode
Designs.
Invoke tool
When you invoke Design Compiler in wire load or
topographical mode, it automatically executes commands in
three setup files. These files have the same file name,
.synopsys_dc.setup, but reside in different directories. The
files can contain commands that initialize parameters and
variables, declare design libraries, and so on.
1. The Synopsys root directory ($SYNOPSYS/admin/setup)=>
system-wide setup file
2. Your home directory =>This user-defined setup file can contain
variables that define your preferences for the Design Compiler
working environment. The variables in this file override the
corresponding variables in the system-wide setup file.
3. The current working directory=> This design-specific setup file
can contain project-specific or design-specific variables that affect
the optimizations of all designs in this directory.
Log Files
SYNTHESIS FLOW
Multicore Technology
The multicore technology in Design Compiler
allows you to use multiple cores to improve the
tool runtime. During synthesis, multicore
functionality divides large optimization tasks into
smaller tasks for processing on multiple cores.
Enabling Multicore Functionality
prompt> set_host_options -max_cores 6
Measuring Runtime
When you measure the runtime speedup using
multicore optimization, use the wall clock time of
the process.
report_qor
Parallel execution
THANK YOU
BREAK
CHAPTER 3
PREPARING FOR
SYNTHESIS