Synthesis
Synthesis
What is synthesis ?
Synthesis is a process of converting one representation of a circuit (source representation) to another functionally
equivalent representation (target representation).
Normally the target is less abstract (close to device level) than the source – Synthesis done across several levels
Synthesis done across several levels
Design Rules
Timing
Area
Power
WHERE DOES SYNTHESIS FITS IN ASIC FLOW?
SYNTHESIS FLOW
LIBRARIES USED IN SYNTHESIS
There are 5 libraries in the design compiler
Target library
Link library
Symbol library
Synthetic library
Design library
OVERVIEW OF LIBRARIES IN THE SYNTHESIS
ENVIRONMENT
Target_library:
Describes the cells you are mapping to(.Db file)
Link_library
Describes cells you have instantiated and any wire load or operating condition models you are
using(.Db file)
Symbol_library
Contains symbols(.Sdb file)for the gui's schematic viewer
Synthetic_library
Contains symbols(.Sldb file) to implement math function
Design_lib
Holds intermediate format descriptions for your HDL code for design reuse
DESIGN WARE (DW) COMPONENTS
Synthesis tools provide library of highly optimized designs for arithmetic building
blocks
Design ware library include high speed adder and multipliers
Tools automatically determine which DW components to use
User can also specify which DW implementation to use for a particular design
WIRELOAD MODEL
How to recode this example so that multiplexing hardware was before adder?
UNDERSTANDING IF ELSE STATEMENTS
EFFICIENT CODING TIPS RESOURCE
SHARING
Minimum use of operators should be made
Each operator that is used contributes Towards hardware
QUALITY OF RTL
Coding style impacts the synthesis QoR
Same functionality coded in two different ways will yield different results
Synthesis tool can not fix the major coding related issues to meet timing
“Think Hardware” before you code so that tool provides best results
FALSE PATH EXAMPLE FOR REFERENCE