在 PostRoute 模式下,软件默认执行以下操作(除非手动指定其他目标):
若已通过setFillerMode
命令定义填充单元信息,optDesign
会根据优化需求自动添加或移除填充单元,确保布局密度合规。
当仅关注非信号完整性(non-SI)时序时,需修正的违规通常源于:
setAnalysisMode
默认设置: tcl
setAnalysisMode -clockPropagation autoDetectClockTree -clkSrcPath true
autoDetectClockTree
:自动检测时钟树结构。clkSrcPath true
:包含时钟源路径延迟分析。setExtractRCMode
默认使用preRoute
提取引擎,不可修改,但需手动设置合适的提取比例因子(extraction scale factor)以匹配实际工艺。setAnalysisMode
和setExtractRCMode
的默认配置符合设计需求,必要时调整提取比例因子。通过上述机制,PostRoute 优化可高效解决布线后时序与物理规则问题,同时降低因过度优化导致的风险。
Using the route_opt_design Flow
route_opt_design
命令是 Innovus 中用于将布线流程(Routing) 与布线后优化(PostRoute Optimization) 合并为单一流程的工具。其核心优势在于:
route_opt_design
可替代以下两条独立命令:
tcl
routeDesign # 传统布线命令
optDesign -postRoute -setup -hold # 传统布线后优化命令
对比维度 | route_opt_design 流程 | 传统流程(routeDesign + optDesign) |
---|---|---|
优化阶段 | 布线过程中穿插时序优化(如全局布线后立即优化) | 布线完成后集中执行优化 |
提取引擎 | 强制使用 TQuantus 进行 RC 提取,支持布线与优化联动 | 可使用其他提取引擎,但优化与布线独立 |
异常处理 | 若 TQuantus 提取失败,自动回退为传统流程 | 无自动回退机制,需手动执行后续优化 |
优化强度 | 布线阶段执行更多时序优化,减少后期压力 | 优化集中在布线后,可能需要多次迭代 |
tcl
route_opt_design -route # 等效于 routeDesign
tcl
route_opt_design -opt # 等效于 optDesign -postRoute -setup -hold
tcl
route_opt_design -setup # 跳过 Hold 修复,仅处理 Setup 违规
-route
或 -opt
参数拆分流程,转为手动控制。route_opt_design
通过布线 - 优化联动机制,将传统流程中 “串行执行” 的布线与优化转为 “并行穿插” 模式,在保持 QoR 的前提下大幅缩短运行时间。对于追求高效收敛的设计团队,该流程是平衡时间与质量的关键工具。
Correcting Violations and Signal Integrity Issues using GigaOpt Technology in
PostRoute Mode
GigaOpt 技术是 PostRoute 流程(包括建立时间 / 保持时间 / 功耗优化)的默认配置,其设计目的是简化 PostRoute 阶段的时序收敛流程。该技术通过高效的全局优化策略,同步处理时序违例和信号完整性(SI)问题,避免传统优化中 “修复一个违例导致新违例” 的级联效应。
为最大化 GigaOpt 技术的效果,推荐开启片上工艺偏差(On-Chip Variation, OCV)和时钟悲观移除(CPPR),配置命令如下:
tcl
setAnalysisMode -analysisType onChipVariation -cppr bot
多维度违例同步处理
GigaOpt 可同时优化建立时间(Setup)、保持时间(Hold)和功耗违例,避免单一维度优化对其他维度的负面影响。例如:
信号完整性(SI)问题的整合优化
增量式优化与 ECO 路由
GigaOpt 与 NanoRoute 路由引擎深度集成,支持增量式优化(Incremental Optimization):
特性 | 传统 PostRoute 优化 | GigaOpt 技术 |
---|---|---|
优化维度 | 多为单维度(如仅优化 Setup) | 同步优化 Setup/Hold/ 功耗 / SI,避免级联违例 |
布线与优化的耦合性 | 先布线后优化,流程独立 | 优化与布线交织(如 route_opt_design 流程) |
收敛效率 | 可能需要多轮迭代,耗时较长 | 全局优化策略减少迭代次数,提升 runtime |
SI 问题处理 | 需手动介入或额外工具支持 | 自动整合 SI 分析与优化,降低人工干预成本 |
提取引擎与参数配置
外部 SPEF 文件的应用
为进一步提升 GigaOpt 的收敛精度,可导入签核级提取工具生成的完整 SPEF 文件(需满足以下条件之一):
GigaOpt 技术通过整合多维度优化、OCV/CPPR 配置及增量式 ECO 路由,显著简化了 PostRoute 阶段的时序与 SI 收敛流程。其核心优势在于避免违例的级联效应,同时提升优化效率与结果质量,是现代芯片设计实现中关键的自动化优化手段。
GigaOpt in PostRoute Setup Timing Flow
GigaOpt 是 PostRoute 阶段用于优化建立时间(Setup Timing)的核心技术,其设计目标是通过多阶段、多维度的优化策略,高效解决设计规则违规(DRV)、信号完整性(SI)问题及建立时间违例,同时兼顾功耗与路由资源的优化。
GigaOpt 技术在建立时间优化中分为两个关键阶段,形成递进式的问题解决流程:
GigaOpt 通过集成多种优化策略,实现高效的建立时间收敛,其核心能力包括:
GigaOpt 技术在 PostRoute 建立时间优化中扮演着 “智能调节器” 的角色,通过分层解决物理违规与时序问题,结合功耗约束和先进优化流程,实现高性能、低功耗的设计收敛。其核心价值在于将逻辑时序、物理布线与 SI 效应深度整合,为大规模集成电路设计提供高效的时序 closure 方案。
GigaOpt in PostRoute Hold Timing Flow
在 PostRoute 阶段,GigaOpt 针对保持时间(Hold)违规的优化采用 **“Setup 感知”(Setup Aware)** 机制,即在修复 Hold 问题时,始终保留完整的 Setup 时序模型。这一设计避免了传统流程中 Hold 优化对 Setup 时序的负面影响,确保两项指标的同步收敛。
特性 | 传统 Hold 优化 | GigaOpt 保持时间优化 |
---|---|---|
Setup 时序保护 | 可能恶化 Setup 松弛 | 实时感知 Setup 影响,避免负向干扰 |
物理效应整合 | 多依赖逻辑优化,忽视布线影响 | 结合 ECO 路由与 RC 建模,优化更精准 |
大规模设计支持 | 单线程分析,效率低 | 分布式分析,多线程并行处理 |
诊断能力 | 报告维度单一,定位困难 | 生成详细网表级诊断,辅助根因分析 |
参数配置:
tcl
setOptMode -fixHoldAllowSetupTnsDegrade false # 禁止 Hold 优化恶化 Setup 总松弛
setAnalysisMode -cppr both # 启用时钟悲观移除,提升时序分析精度
分阶段优化:
optDesign -postRoute
修复 Setup,再执行optDesign -postRoute -hold
专注 Hold 优化,避免相互干扰。顽固违规处理:
对报告中未收敛的 Hold 路径,结合view_timing
可视化工具手动调整布线或插入延迟单元。
GigaOpt 在 PostRoute 保持时间流程中通过 “Setup 感知” 机制、分布式分析和物理层优化手段,实现了高效的 Hold 收敛。其核心价值在于将逻辑时序优化与物理布线调整深度整合,同时通过详细诊断报告降低人工调试成本,是先进工艺下芯片设计实现的关键技术。
GigaOpt in PostRoute Use Model
GigaOpt 技术在 PostRoute 阶段的使用模型(Use Model)旨在通过灵活的命令配置,实现对建立时间(Setup)和保持时间(Hold)的精准优化,同时支持基础延迟(Base Delay)与信号完整性(SI)延迟的协同处理。其核心优势在于通过统一的优化框架,平衡时序收敛、功耗控制与物理规则合规性。
tcl
optDesign -postRoute # 优化 Setup(默认)
optDesign -postRoute -hold # 优化 Hold
optDesign -postRoute -setup -hold # 同时优化 Setup 和 Hold(推荐用于运行时间优化)
tcl
setDelayCalMode -SIAware false # 禁用 SI 延迟计算
optDesign -postRoute # 优化 Setup
optDesign -postRoute -hold # 优化 Hold
tcl
setOptMode -powerEffort high # 高强度功耗优化
setOptMode -leakageToDynamicRatio 1.0 # 平衡动态功耗与漏电流(比例为1:1)
optDesign -postRoute # 执行含功耗约束的 Setup 优化
tcl
setOptMode -fixSISlew true # 启用 SI 摆率修复
optDesign -postRoute # 优化 Setup 并修复摆率问题
optDesign
不自动修复扇出违规,需手动启用。tcl
setOptMode -fixFanoutLoad true # 启用扇出负载修复(从 preCTS 到 postRoute 均有效)
optDesign -postRoute # 优化时同步修复扇出问题
tcl
set_timing_derate -max -clock -early 0.8 -late 1.2 # 定义时钟路径最大延迟系数
set_timing_derate -min -clock -early 0.8 -late 1.2 # 定义时钟路径最小延迟系数
setAnalysisMode -cppr both # 启用双向 CPPR
optDesign -postRoute # 执行含 CPPR 的时序优化
tcl
optDesign -postRoute # 自动扁平化 ILM → 优化时序 → 恢复 ILM 层级
tcl
# 导入各工艺角的 SPEF 文件(需含 starN 格式节点位置)
spefIn -rc_corner cornerMax1 rcMax1.spef
spefIn -rc_corner cornerMax2 rcMax2.spef
spefIn -rc_corner cornerMin1 rcMin1.spef
spefIn -rc_corner cornerMin2 rcMin2.spef
optDesign -postRoute -hold # 基于 SPEF 执行 Hold 优化
tcl
setOptMode -fixHoldAllowSetupTnsDegrade false # 禁止 Hold 优化恶化 Setup TNS
setOptMode -setupTargetSlack -0.15 # 设置 Setup 目标松弛为 -150ps
GigaOpt 在 PostRoute 阶段的使用模型通过灵活的命令组合与参数配置,实现了以下目标:
通过合理配置 GigaOpt 使用模型,设计团队可在 PostRoute 阶段高效实现时序收敛,为芯片签收奠定基础。
Changing Default Settings in PostRoute Mode
setAnalysisMode
optDesign
会自动将 -clockPropagation
(时钟传播模式)设为 autoDetectClockTree
(自动检测时钟树),-clkSrcPath
(时钟源路径分析)设为 true
(启用)。setExtractRCMode
optDesign
自动设置 RC 提取模式为 postRoute -effortLevel medium
(TQuantus 中等力度提取)。若缺少 Quantus 工艺文件(techfile),则降级为 low
(低力度)。high
(IQuantus 高力度)或 signoff
(签收级),但需要 Quantus 许可证。low/medium/high
力度,需手动设置提取缩放因子(extraction scale factors),确保 RC 寄生参数提取的准确性。PostRoute 阶段,optDesign
对时钟分析(setAnalysisMode
)的基础参数做了 “强制保护”,避免时序分析逻辑被破坏;对 RC 提取(setExtractRCMode
)则开放了力度调整,但需配套工艺文件和参数,平衡精度与运行效率。
简单说就是:时钟分析的默认参数不能改,RC 提取的力度可调整但有条件 ,体现了工具在 “基础逻辑稳定性” 和 “优化灵活性” 间的权衡设计。