当前位置:首页 > EDA > 电子设计自动化
[导读]在现代芯片设计中,单一PVT(工艺、电压、温度)条件下的静态时序分析(STA)已无法满足流片要求。多角多模式(MCMM, Multi-Corner Multi-Mode)是签核(Sign-off)的必经之路。本文将结合PrimeTime(PT)与Genus/Innovus流程,解析MCMM约束的编写核心。



在现代芯片设计中,单一PVT(工艺、电压、温度)条件下的静态时序分析(STA)已无法满足流片要求。多角多模式(MCMM, Multi-Corner Multi-Mode)是签核(Sign-off)的必经之路。本文将结合PrimeTime(PT)与Genus/Innovus流程,解析MCMM约束的编写核心。


一、MCMM的核心概念:模式(Mode)与角(Corner)


• 模式(Mode):指芯片的工作状态,如Function(功能模式)、Scan(测试模式)、Sleep(低功耗模式)。不同模式下,时钟频率、使能信号和输入约束截然不同。


• 角(Corner):指工艺偏差,如SSG(-40℃,慢工艺,低电压)关注建立时间(Setup),FFG(+125℃,快工艺,高电压)关注保持时间(Hold)。


MCMM的本质是穷举所有“模式×角”的组合,确保芯片在任何极端条件下都能工作。


二、PrimeTime中的MCMM约束编写


在PT中,MCMM通过create_scenario和set_operating_conditions实现。


1. 定义工艺角(Corners)


首先定义PVT条件,通常写在单独的.tcl文件中。

# pt_corners.tcl

# 定义慢角(Setup Critical)

create_corners slow_125c_ssg

set_operating_conditions -analysis_type on_chip_variation \

   -process 1.0 -voltage 0.81 -temperature 125 \

   -library slow.db


# 定义快角(Hold Critical)

create_corners fast_40c_ffg

set_operating_conditions -analysis_type on_chip_variation \

   -process -1.0 -voltage 0.99 -temperature -40 \

   -library fast.db



2. 定义模式(Modes)


在顶层约束文件中,定义不同的工作模式。

# pt_modes.tcl

# 功能模式

create_scenarios func_mode

set_current_scenario func_mode

source ./constraints/func.sdc  # 加载功能模式SDC


# 扫描测试模式

create_scenarios scan_mode

set_current_scenario scan_mode

set_case_analysis -active true [get_ports scan_en]

source ./constraints/scan.sdc  # 加载扫描模式SDC(通常频率更低)



3. 关联角与模式(MCMM矩阵)


将角与模式组合,形成完整的分析视图。

# pt_mcmm_setup.tcl

source pt_corners.tcl

source pt_modes.tcl


# 创建MCMM集合

create_analysis_view -name func_setup -scenarios {func_mode@slow_125c_ssg}

create_analysis_view -name func_hold  -scenarios {func_mode@fast_40c_ffg}

create_analysis_view -name scan_setup  -scenarios {scan_mode@slow_125c_ssg}


# 设置当前分析视图

set_current_analysis_view -setup {func_setup} -hold {func_hold}



三、Genus/Innovus中的约束编写(Synthesis & P&R)


在综合和布局布线阶段,工具需要感知不同的操作条件。


1. Genus综合约束


Genus使用create_op_cond和create_constraint_mode。

# genus_mcmm.tcl

# 定义操作条件(对应PT的Corner)

create_op_cond -name op_slow -opcond {SSG_125C} \

   -library slow.lib -voltage 0.81 -temp 125


create_op_cond -name op_fast -opcond {FFG_-40C} \

   -library fast.lib -voltage 0.99 -temp -40


# 定义约束模式(对应PT的Mode)

create_constraint_mode -name func_cm -sdc_files {func.sdc}

create_constraint_mode -name scan_cm -sdc_files {scan.sdc}


# 应用MCMM设置

set_db lp_insert_clock_gating true

set_db syn_generic_effort high

syn_gen -effort high -op_cond {op_slow op_fast} \

   -constraint_mode {func_cm scan_cm}



2. Innovus布局布线约束


Innovus通过create_rc_corner和create_constraint_mode来配合MCMM。

# innovus_mcmm.tcl

# RC Corner(寄生参数角)

create_rc_corner -name rc_max -cap_table max.capTbl

create_rc_corner -name rc_min -cap_table min.capTbl


# 约束模式

create_constraint_mode -name func_cm -sdc_files {func.sdc}

create_constraint_mode -name hold_cm -sdc_files {hold.sdc}


# 建立分析视图

create_analysis_view -name func_setup_view \

   -constraint_mode func_cm -rc_corner rc_max

create_analysis_view -name func_hold_view \

   -constraint_mode hold_cm -rc_corner rc_min


# 应用到当前设计

set_analysis_view -setup {func_setup_view} -hold {func_hold_view}



四、MCMM编写的常见陷阱与避坑


1.  模式与角混淆

   ◦   错误:在func.sdc中定义operating_conditions。


   ◦   正确:SDC文件只描述时序路径(时钟、IO),PVT条件在create_analysis_view或create_op_cond中定义。SDC应是模式相关的,而非角相关的。


2.  多模式下的False Path

   ◦   现象:Scan模式和Function模式共用一条路径,但Scan下该路径无效。


   ◦   解决:在Scan模式的SDC中,对Function特有的路径设置set_false_path。

   # scan.sdc

   set_false_path -from [get_clocks func_clk] -to [get_clocks test_clk]

   


3.  签核与优化不一致

   ◦   现象:综合时用WC(Worst Case),PT签核用OCV/AOCV。


   ◦   解决:确保Genus/Innovus中create_op_cond的PVT值与PT的create_corners完全一致。


五、结语


MCMM约束编写的核心在于“分离”与“组合”:将模式(Mode)定义在SDC中,将工艺角(Corner)定义在PVT/RC设置中,最后通过create_analysis_view将它们像搭积木一样组合起来。掌握MCMM,是芯片从“能跑”走向“能流片”的关键一步。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

在7nm及以下先进制程的SoC设计中,静态时序分析(STA)常因虚假路径误报和多周期路径漏报导致时序收敛困难。某5G基带芯片项目曾因未正确处理这两类路径,导致迭代次数增加40%,验证周期延长6周。本文将结合实际案例,解析...

关键字: 时序收敛 高级静态时序分析 STA

在FPGA设计中,时序收敛是决定系统稳定性的核心环节。面对高速信号(如DDR4、PCIe)和复杂逻辑(如AI加速器),传统试错法效率低下。本文提出"五步闭环调试法",通过静态时序分析(STA)、约束优化、逻辑重构、物理调...

关键字: FPGA 静态时序分析

门级仿真:1、门级仿真无法测试所有的场景,因为它依赖于输入的测试向量。2、进行精确时序的仿真速度很慢,而且需要大量的服务器内存。3、适合检查不同时钟域之间的异步接口。4、需要大量的计算资源(CPU时间、磁盘空间等)。5、...

关键字: 仿真 静态时序分析 ST

新思科技有限公司宣布,该公司已经完成了对 Extreme DA 的收购。Extreme DA 是一家总部位于加州圣克拉拉的非上市公司,为改进集成电路 (IC) 设计性能、耗电量和制造良率开发相关软件。此次收购透过增添能够...

关键字: EXTREME SYNOPSYS 静态时序分析 ST

Synopsys, Inc.(新思科技有限公司)宣布,该公司已经完成了对 Extreme DA 的收购。Extreme DA 是一家总部位于加州圣克拉拉的非上市公司,为改进集成电路 (IC) 设计性能、耗电量和制造良率开...

关键字: EXTREME SYNOPSYS 静态时序分析 ST

摘要:本文在简要介绍寄生参数提取工具Star-RCXT和静态时序分析工具PrimeTime的基础上,对已通过物理验证工具Calibre DRC和LVS的FFT处理器版图用Star-RCXT工具进行了基于CCI的寄生参数提...

关键字: 静态时序分析 寄生参数 FFT处理器 PRIMETIME

摘要:本文在简要介绍寄生参数提取工具Star-RCXT和静态时序分析工具PrimeTime的基础上,对已通过物理验证工具Calibre DRC和LVS的FFT处理器版图用Star-RCXT工具进行了基于CCI的寄生参数提...

关键字: 静态时序分析 寄生参数 FFT处理器 PRIMETIME

摘要:本文在简要介绍寄生参数提取工具Star-RCXT和静态时序分析工具PrimeTime的基础上,对已通过物理验证工具Calibre DRC和LVS的FFT处理器版图用Star-RCXT工具进行了基于CCI的寄生参数提...

关键字: 静态时序分析 寄生参数 FFT处理器 PRIMETIME

1.引言  随着深亚微米技术的发展,数字电路的规模已经发展到上百万门甚至上千万门。工艺也从几十μm提高到65nm甚至45nm。这样的电路规模做验证的时间在整个芯片的开发周期所占的比例会越来越重。通常,在做验证的时

关键字: 芯片 静态时序分析 数字基带

1.引言  随着深亚微米技术的发展,数字电路的规模已经发展到上百万门甚至上千万门。工艺也从几十μm提高到65nm甚至45nm。这样的电路规模做验证的时间在整个芯片的开发周期所占的比例会越来越重。通常,在做验证的时

关键字: 芯片 数字基带 静态时序分析
关闭