Innovus Flexible H-tree and Multi-tap Clock Flow Lab实操系列教程(Day1)

我们都知道时钟树综合在数字IC后端实现中的重要性。做clock tree主要有传统clock tree做法,H tree,Flexible H-tree,fishbone等做法。接下去小编将拿cadence官方的这份Innovus Flexible H-tree and Multi-Tap Clock Flow和对应的lab data来做这方面内容的分享。

需要完整版lab手册和lab数据的,可以前往社区星球免费获取。

该设计的时钟结构图如下。该设计时钟结构还是非常简单的。它包括一个主时钟my_clk,主时钟二分频时钟div_clk和测试时钟test_clk。

像这么简单的设计,我们数字后端工程师也都要会写该设计的timing signoff sdc和长clock tree sdc。

Flexible H-Tree golden flow如下:

create_ccopt_clock_tree_spec

set_ccopt_property target_max_trans 150ps -net_type top

add_ndr -name 2W2S -spacing_multiplier {Metal2:Metal7 2} -width_multiplier {Metal2:Metal7 2}

create_route_type -name htree_route -top_preferred_layer Metal7 -bottom_preferred_layer Metal6 -non_default_rule 2W2S -shield_net VSS

set_ccopt_property route_type htree_route -net_type top

setDesignMode -topRoutingLayer 7

Set Route type

create_route_type -name cts_leaf -top_preferred_layer Metal5 -bottom_preferred_layer Metal4

create_route_type -name cts_trunk -top_preferred_layer Metal5 -bottom_preferred_layer Metal4 -non_default_rule 2W2S

set_ccopt_property route_type -net_type leaf cts_leaf

set_ccopt_property route_type -net_type trunk cts_trunk

Configure cts cell list

set_ccopt_property buffer_cells {CLKBUFX2 CLKBUFX4 CLKBUFX8 CLKBUFX12 CLKBUFX16 }

set_ccopt_property inverter_cells {CLKINVX2 CLKINVX4 CLKINVX8 CLKINVX12 CLKINVX16 }

set_ccopt_property clock_gating_cells {TLATNTSCAX2 TLATNTSCAX4 TLATNTSCAX8 TLATNTSCAX12 TLATNTSCAX16}

Skew target

set_ccopt_property target_skew 120ps

Maximum transition target

set_ccopt_property target_max_trans 200ps

Create Flexible H-tree

create_ccopt_flexible_htree \

-name test \

-sink_instance_prefix HTAP \

-sink_grid {4 4} \

-sink_grid_exclusion_zones {{100 0 500 330} {500 0 1000 330}} \

-trunk_cell CLKBUFX20 \

-final_cell CLKBUFX20 \

-pin clk \

-image_directory IMAGE/1

Synthesize the htree

synthesize_ccopt_flexible_htrees

H-tree效果如下图所示。

Clock Tree Debugger效果图如下。使用Flexible H-tree后clock tree的平均长度是1.25ns。

【思考题】测试时钟test_clk的clock tree长度是多少?它和主时钟长度的关系是什么?

相关推荐
IC拓荒者1 天前
数字IC后端设计实现之Innovus place报错案例 (IMPSP-9099,9100三种解决方案)
数字后端·数字ic后端·ic后端培训·innovus零基础lab·innovus place·innovus零基础·scan chain
IC拓荒者2 天前
TSMC12nm工艺数字IC后端实现难点都有哪些?
数字ic后端·数字后端培训·calibre lvs·物理验证lvs·tsmc12nm·t12nm数字后端·double pattern
IC拓荒者5 天前
DDRPHY数字IC后端设计实现系列专题之数字后端floorplan&powerplan设计
数字后端培训·innovus零基础lab·ddrphy后端实现·数字后端项目案例
IC拓荒者5 天前
数字IC后端实现之Innovus specifyCellEdgeSpacing和ICC2 set_placement_spacing_rule的应用
数字ic后端·数字后端培训·calibre drc·drc·innovus零基础入门·innovus drc·物理验证drc
IC拓荒者10 天前
数字IC后端设计实现之Innovus自动修复Min Step DRC Violation方案
数字ic后端·数字后端培训·calibre drc·innovus零基础lab·数字后端innovus·数字后端零基础·min step drc
IC拓荒者11 天前
物理验证Calibre LVS | SMIC Process过LVS时VNW和VPW要如何做处理?
lvs·数字ic后端·物理验证·ic后端培训·calibre lvs·vnw vpw·衬底接触
IC拓荒者16 天前
数字后端零基础入门系列 | Innovus零基础LAB学习Day9
数字ic后端·数字后端培训·innovus零基础lab·数字后端innovus·数字后端零基础·后端零基础入门·innovus走线
IC拓荒者16 天前
物理验证Calibre LVS Debug案例之通过deleteEmptyModule解决LVS问题
数字ic后端·数字后端培训·数字后端入门·calibre lvs·empty module·t12nm lvs案例·物理验证lvs
IC拓荒者19 天前
数字IC后端实现之Innovus Place跑完density爆涨案例分析
数字后端·数字后端培训·innovus place·数字后端项目案例·density变高案例·innovus项目·ic后端项目