Synthesis
Synthesis
RTL Files
Reports
Constraints
SYNTHESIS
Reference Gate-level netlist
Libraries
Parasitic Files
Stages in the synthesis process
Translation
Logical Optimization
Logical Mapping
Gate-level netlist
Reading Files
• We need to provide the essential files for the synthesis process, including the
RTL code, required reference libraries, design constraints, and parasitic
models.
• After reading these files, we need to check for any design mismatches and
then proceed with the elaboration process.
• In the elaboration process of synthesis, the tool takes the RTL description and
translates it into a more concrete representation, preparing it for
optimization and technology mapping.
• Elaborate builds WV Gtech modules for the specified top and its sub modules.
Translation
• In the translation process, the RTL code is converted into a represented
Boolean equation and then mapped to Gtech cells (generic technology).
• Gtech cells are a technology-independent logical representation of basic
digital logic gates.
• Gtech cells enable synthesis to optimize design before binding to specific
technology nodes (32nm, 14nm).
• These Gtech cells are not part of the final synthesis; they only exist in the
intermediate process of synthesis.
Logical Optimization
• After the translation process, the synthesis tool will perform logical
optimization on the design mapped to gtech cells, focusing on timing, area,
and power based on the given constraints.
Logical Mapping
• After logical optimization, the synthesis tool will map the design to standard
cells from the technology library.
• These cells are technology-dependent and correspond to various nodes like
32nm and 14nm.
Synthesis using Design compiler tool
Constraints (sdc)
• Reference libraries
set link_library
"../../main_project_phase1/libs/standard_cell_libs/saed32lvt_ff1p16v125
c.db \
../../main_project_phase1/libs/standard_cell_libs/saed32io_fc_ff1p16v12
5c_2p75v.db $synthetic_library"
• Target Library
set target_library
"../../main_project_phase1/libs/standard_cell_libs/saed32lvt_ff1p16v125
c.db "
Parasitic Files(.tluplus)
set_tlu_plus_files \
-max_tluplus
../../main_project_phase1/libs/tlu_files/saed32nm_1p9m_Cmax.tluplus
\
-min_tluplus
../../main_project_phase1/libs/tlu_files/saed32nm_1p9m_Cmin.tluplus
\
-tech2itf_map
../../main_project_phase1/libs/tlu_files/saed32nm_tf_itf_tluplus.map
elaborate msrv32_integer_file
current_design msrv32_integer_file
• Elaboration Process
Sourcing the Constraint Files (.sdc)
write_sdc ../dc_results/integer.sdc
Circuit Diagram
Gate-level netlist file (.v)
• Verify whether the functionality of the RTL code matches that of the
gate-level netlist.
• By using tools such as "Formality" from Synopsys and "Conformal"
from Cadence, etc.
• Check the timing regarding setup violations to ensure the design meets
our timing constraints.
• By using command [report_timing -delay_type max].
3. Power Analysis
• Estimate the dynamic and static power consumption after the
synthesis process.
• Ensure power meets design constraints.
• By using command report_power.
Report_power