Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
8 views2 pages

Clock Tree Synthesis

Uploaded by

siva suryam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views2 pages

Clock Tree Synthesis

Uploaded by

siva suryam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

CLOCK TREE SYNTHESIS:

Prerequisites for Clock Tree Synthesis


Before performing clock tree synthesis tool identifies the clock sources with
create_clock ,create_generated_clocks
Before Performing Clock tree synthesis verify the placement is legal or not
Check_legality –verbose it checks the congestion .congestion is high it leads
timing issues in later stages.

Verifying the Clock Trees


 check_clock_trees -clocks [get_clocks CLK]
command checks for the following issues:

• Clock (master or generated) with no sinks

• Loops in the clock network

• Multiple clocks reach the same register because of overlapping clocks, but multiple clocks-per-
register propagation is not enabled

• Ignored clock tree exceptions

• Stop pin or float pin defined on an output pin

• Buffers with multiple timing arcs used in clock tree references

• Situations that cause an empty buffer list

Setting Clock Tree Design Rule Constraints


 set_max_transition 0.20 -clock_path [get_clocks CLK]
 set_max_capacitance 0.6pf -clock_path [get_clocks CLK]

Specifying the Clock Tree References


The buffer and inverter cells that can be used to build a clock tree and the
reference cells of the preexisting gates of the clock tree are referred to as clock
tree references.
 set_lib_cell_purpose -include cts
The library cells in the reference list do not have a dont_touch attribute If
library cells have the dont_touch attribute set on them, they are not used by
clock tree synthesis even if you specify them as clock tree references .

 set cts_cells list_of_cells


 icc2_shell> set_lib_cell_purpose -exclude cts [get_lib_cells]
 icc2_shell> set_lib_cell_purpose -include none [get_lib_cells $cts_cells]
 icc2_shell> set_lib_cell_purpose -include cts [get_lib_cells $cts_cells]
 Therefore, you must manually specify the buffers and inverters to use for
clock tree synthesis, as shown in the following example:
 icc2_shell> set_lib_cell_purpose -include cts \ {tech_lib/clk_buf*
tech_lib/clk_inv*}
 icc2_shell> derive_clock_cell_references
 icc2_shell> synthesize_clock_trees

Restricting the Target Libraries Used


You can restrict the libraries used during clock tree synthesis for the top
level or a lower level of the logical hierarchy of a design
 icc2_shell> set_lib_cell_purpose -include cts \ {HVT_lib/buf1 HVT_lib/buf2
LVT_lib/buf1 LVT_lib/buf2}
 this command include cells for CTS for specific library
 icc2_shell> set_target_library_subset -clock {LVT_lib} \-objects
[TOP/TSK_BLK]
this commands set the target library as LVT_Lib for lower level Block
TOP/TSK_BLK
 icc2_shell> set_app_options \ -name
opt.common.enable_target_library_subset_opt -value 1

Setting Skew and Latency Targets for low frequency designs. Decrease
the ,power ,area,run time of the design

 set_clock_tree_options –target_skew & -target_latency

You might also like