炫铁RISC-V CPU IP参考流程:使用Fusion Compiler最大化每瓦性能
📑 目录
- 1. Synopsys: Yanqing Zhao
- 2. **议程**
- 3. **炫铁RISC-V CPU IP概述**
- 4. **RISC-V CPU参考实现(RI)流程**
- 5. **议程**
- 6. **以功耗为中心的设计规格——N12 RISC-V CPU IP**
- 7. **RISC-V IP PPA优化协作成果**
- 10. **炫铁RISC-V CPU IP最大化每瓦性能的关键技术**
- 13. **功耗流程概述**
- 14. **启用新的功耗优化特性**
- 15. **使用多比特技术的功耗vs性能调优**
- 16. **启用设计内PrimePower实现优异功耗关联**
- 17. **设计内PrimePower用户界面**
- 18. **设计内PrimePower流程**
- 19. **定向面积优化——嵌入式面积流(EAF)**
- 20. **多矢量CCD**
- 23. **最后阶段的PPA收敛——ECO Fusion**
- 26. 第26页
炫铁RISC-V CPU IP参考流程:使用Fusion Compiler最大化每瓦性能
会议: SNUG China 2022
作者: Yanqing Zhao (Synopsys), 2022年9月
页数: 26
源文件: SNUG_CN_Performance_Synopsys_Yanqing_Zhao_Sept_2022_XuanTie_RISCV_CPU_paper.pdf
Page 1
Synopsys: Yanqing Zhao 2022年9月
炫铁RISC-V CPU IP参考流程 使用Fusion Compiler最大化RISC-V CPU的每瓦性能
Page 2
议程
- RISC-V概述 - 设计规格与结果 - RISC-V CPU的FC实现流程 - FC总功耗优化方案 - 总结
Page 3
炫铁RISC-V CPU IP概述
- RISC-V是一个自由开放的ISA,通过开放标准协作开启处理器创新的新时代 - 自由、简单、可定制、小尺寸、低功耗...CPU核心 - 广泛应用于AI、深度学习、机器学习、数据中心、汽车和物联网应用
CPU模块类似于其他CPU设计: - I-cache, D-cache, ALU - IFU: 指令获取单元 - IDU: 指令解码单元 - MMU: 内存管理单元 - LSU: 加载存储单元 - VFPU: 矢量浮点运算单元 - TLB: 转译后援缓冲器
Page 4
RISC-V CPU参考实现(RI)流程
经过验证的方法论以实现最佳的每瓦性能 Simply Better PPA 功耗性能面积
FC RI流程——通往最佳PPA的快速路径
与合作伙伴联合开发: - 在RTL开发阶段早期开始协作 - 提供原生的开箱即用PPA - 更快实现PPA目标 - 包含推荐的流程和脚本(约束、实现、PPA推动配方、ECO等) - 易于定制(布图规划、工艺库、PPA目标)
Page 5
议程
(重复第2页议程)
Page 6
以功耗为中心的设计规格——N12 RISC-V CPU IP
| 类别 | 配置 |
| 工艺节点 | TSMC N12 |
| 单元高度 | 6T + 12T |
| 金属堆叠 | 1P9M |
| 布线层 | 信号布线: M2~M7, PG布线: M8~M9 |
| APR PVT | Setup: ssgnp-0p72v-m40c / Hold: ffgnp-0p88v-125c / Power: tt-0p8v-85c |
| 单元库 | TSMC 6T + 12T turbo cells |
| Vth变体 | LVT, ULVT |
| 多栅长变体 | C24, C20, C16 |
| 多电压风格 | UPF 统一功耗格式 |
| 频率目标 | 高性能目标 |
| 功耗目标 | 总功耗优化 |
| 时序降额 | POCV LVF,电压和温度增量降额 |
| Mbit | 多比特2/4/6 |
| PrimeTime签核 | POCV with PBA mode |
Page 7
RISC-V IP PPA优化协作成果
实现了100%的FMAX目标,超出功耗目标(漏电功耗超出10%,动态功耗超出2%)
协作目标与FC RI流程结果:
| 类别 | 目标 | 结果 |
| 以功耗为中心 | 总功耗优化,启用先进功耗优化功能 | - |
| 性能 | 高频@ssgnp-0p72v | 100% FMAX @ssgnp-0p72v |
| 功耗(TT-0p8v-85c) | 漏电和动态并发优化 | 漏电低于目标10%,动态低于目标2% |
| 运行时间 | 越快越好 | R2G全流程1.2天 |
RISC-V CPU核心PPA趋势:FMAX、漏电、动态功耗均有改善 - 部署RI流程于炫铁RISC-V IP,仅2轮FC运行即实现95% FMAX目标 - 8周内动态功耗降低11% - RI流程启用先进功耗优化特性,启用设计内PrimePower实现优异功耗关联
Page 8-9
RISC-V参考实现流程亮点
Fusion Compiler关键技术配置:
compile_fusion阶段: - QoR mega Switch(total_power) with extreme_power mode - 自动密度控制增强 - 数据通路 Data Path架构优化 - CCD everywhere, CCD with 100ps prepone/postpone limit - ICG max fanout 128, min bitwidth 4 - RDE with high effort - Enhanced Low Power Placement(ELPP) with medium effort - 先进关联设置(CCS RSV & AWP) from final_place - EAF (compile.flow.areaResynthesis true) - Design Fusion逻辑重构 - Pre-route targeted CCD path group - Multibit banking/debanking with dont_bank list
clock_opt/route_opt/eco_opt阶段:CCD everywhere, GRE, CLO, Advanced fusion extraction, PBA-based Route_opt等
FC版本: S-2021.06-SP5
Page 10
炫铁RISC-V CPU IP最大化每瓦性能的关键技术
性能: - 定制RISC-V CPU设计的路径组 - 细化宏通道阻挡类型,使L1缓存数据RAM靠近扇出逻辑 - 关键VFPU模块(逻辑深度深):数据通路架构优化、Pre-route targeted CCD path group、Useful skew和专用路径组
功耗: - QoR策略 = total_power with extreme power mode - 设计内PrimePower无缝功耗关联 - 多比特banking:排除时序关键寄存器(IFU/LSU data ram, VFPU *srt_remainder_reg*) - 仅启用MB2/4以获得更好的FMAX和功耗平衡 - 放松pre-route约束 - ULVT百分比限制控制 - PBA-based route_opt流程
面积: - 嵌入式面积流(逻辑综合期间) - 将ICG和寄存器缩小到最小尺寸
Page 11-12
以功耗为中心的RTL-to-GDSII实现与签核的全流程协同
| 阶段 | 关键技术 |
| 逻辑与物理综合优化 | Self Gating, CCD Clock Gating, 功耗驱动的结构化和映射, 多比特, 总功耗感知优化和恢复 |
| 布局与优化 | 增强低功耗布局, Advanced CCD Based Timing and Power Optimization, Logic restructuring for Power |
| 时钟与优化 | 功耗驱动CTS, clock_opt GRE, Next-gen CTS & Solver CTO |
| 布线与优化 | StarRC and PrimeTime Delay Calc based Analysis/Opt, CCD Everywhere, Enhanced PBA-Based Opt from 1st route_opt |
| ECO优化 | 功耗驱动eco_opt |
蓝色标注的为该项目的特色显著收益特性
Page 13
功耗流程概述
- 使用RM 2.0作为参考设置功耗流程 - S-2021.06-SP3起, set_qor_strategy提供不同流程模式:'balanced'(默认)和'extreme_power'模式 - 读取每个动态场景的SAIF:确保输入SAIF中关键点注释率>90% - 功耗分析与FC、VCS和PrimePower的多工具交互 - FC与PrimePower之间紧密关联的要求:相同设计约束、准确的RTL-to-gate名称映射、相同的开关活动文件、相同的功耗分析模式
current_scenario $power_scenario
report_activity –driver
report_power
report_power_qor
report_clock_power_qor
elaborate + analyze
set_technology –node $node
set_qor_strategy –stage synthesis –metric total_power –mode extreme_power
set_stage –step synthesis
compile_fusion
saif_map –start
current_scenario $power_scenario
read_saif $RTL_SAIF
reset_switching_activity –non_essential
Page 14
启用新的功耗优化特性
S-2021.06-SP3版本显著增强: - 瓶颈感知全局尺寸调整技术优化TNS,最小功耗代价 - 新网表预处理技术处理组合和时序单元的子优化问题 - 从compile_fusion到route_opt的功耗优化流程显著改进 - 增强的总功耗感知逻辑重构 - 减少引脚电容开关功耗的新技术
set_qor_strategy –stage –metric –mode extreme_power
Page 15
使用多比特技术的功耗vs性能调优
全流程多比特Banking/De-Banking:
| 步骤 | 位置 | 应用选项 |
| RTL Banking | initial_map | compile.flow.enable_rtl_multibit_banking |
| RTL Debanking | initial_opto (before DTDP) | compile.flow.enable_rtl_multibit_debanking |
| Physical Banking | initial_opto (after DTDP) | compile.flow.enable_physical_multibit_banking |
关键收益:易于使用、更低动态功耗、移除未使用位节省面积、提升选定位改善时序
防止时序关键寄存器banking的脚本:
set_multibit_options -slack_threshold 0.0
set no_mb_cells [list ...]
foreach no_mb_cell $no_mb_cells {
echo "INFO: Removing multibit specification for $no_mb_cell cells"
set_multibit_options -exclude [get_cells -hier -filter "is_sequential && full_name=~${no_mb_cell}*"]
}
Page 16
启用设计内PrimePower实现优异功耗关联
设计在从compile到place_opt、clock_opt和route_opt的整个流程中经历网表修改。为了更好地驱动功耗优化决策,编译前通过RTL SAIF提供的活动信息需要根据网表变化进行更新。
从S-2021.06-SP3起,FC支持In-design PrimePower,在任何FC前端和后端更新活动信息以驱动更好的功耗优化。活动信息通过在FC内部调用PrimePower、使用FSDB波形进行基于时间的分析以生成门级SAIF来更新,无需用户干预或在不同工具间切换。
功耗估计精度:Average Mode Essential-only RTL SAIF → Average Mode RTL SAIF → Time-based RTL FSDB → Full Delay Gate Level Simulation
Page 17
设计内PrimePower用户界面
current_scenario func:typical:tt0p85v85c
set_indesign_primepower_options -fsdb $FSDB_FILE_LIST \
-strip_path $STRIP_PATH -output_dir ./pp_indesign \
-pwr_shell $pwr_shell_path -num_processes 4 \
-max_Cores 16 -delay_shifted_event_analysis \
-submit_command $submit_command
update_indesign_activity -power -keep all
report_power
report_activity -driver
Page 18
设计内PrimePower流程
活动刷新点:post compile_fusion logic_opto, post compile_fusion initial_opto, post compile_fusion final_opto/place_opt, post clock_opt/route_auto
与PrimePower time-based分析结果的关联——在post route_opt数据库上运行
| 运行 | FC route_opt 动态 | FC route_opt 漏电 | FC route_opt 总功耗 |
| baseline FC | 100% | 100% | 100% |
| PP signoff | 115.3% | 98.6% | 112.3% |
| DIFF(%) | 15.3% | 1.4% | 12.3% |
使用in-design PP后:
| 运行 | FC route_opt 动态 | PP signoff 动态 | DIFF |
| w/ in-design PP | 100% | 94.0% | 6.0% |
| PP signoff漏电 | 98.6% | 1.4% | - |
| PP signoff总功耗 | 94.8% | 5.2% | - |
Page 19
定向面积优化——嵌入式面积流(EAF)
EAF在initial_map中的逻辑优化: initial_map → 首次时序驱动优化和数据通路重选择/取消分组 → 专门取消分组 → 快速面积驱动逻辑重构 → 轻量时序优化 → logic_opto的其余部分
效果: - 动态功耗降低1.2% - 漏电功耗降低1.3% - 单元面积减少0.8% - 单元数量减少0.8% - 时序QoR相同
Page 20
多矢量CCD
- 使用精确的物理感知全局求解器方法实现全设计最优权衡 - 在post-CTS CCD期间使用多矢量优化,提供更好的OOTB QoR——更好的功耗和时序QoR - 用户指标驱动UI,无需手动用户调优
set_app_options –list {clock_opt.flow.enable_multi_vector_ccd true}
Page 21-22
基于路径分析(PBA)的优化
route_opt支持StarRC和PT-delay-calculation引擎的时序优化: - 避免实现过程中的额外余量 - 使用签核约束和时序进行优化 - PBA分析减少与GBA相比的时序悲观性 - 更多功耗优化潜力
PBA-based route_opt流量基线对比: - 漏电功耗降低3% - 动态功耗降低0.7% - TNS略有恶化(可通过eco_opt恢复)
Page 23
最后阶段的PPA收敛——ECO Fusion
set_dont_use [get_lib_cell {*/*HVT* */*SVT*}] false
fix_eco_power -pattern_priority {HVT24 HVT20 HVT16 SVT24 SVT20 SVT16 LVT24 LVT20 LVT16 ULT24 ULT20 ULT16} \
-pba_mode ex -cell_type {combinational sequential} -verbose
fix_eco_timing -type setup -pba_mode ex -physical_mode open_site \
-methods {size_cell} -cell_type {combinational sequential} -verbose
fix_eco_timing -type hold -pba_mode ex -physical_mode open_site \
-methods {size_cell insert_buffer} -buffer_list {……} -verbose
结果:eco_opt后漏电功耗降低1.7%,时序无恶化
Page 24-25
总结:使用Fusion Compiler实现最佳每瓦性能
关键成果: - 100% FMAX目标 - 漏电功耗低于目标10% - 动态功耗低于目标2% - 运行时间仅1.2天
关键技术总结:定制路径组、CCD everywhere、数据通路架构优化、ECO Fusion、总功耗(extreme_power)模式、ULVT百分比控制、PBA-based route_opt、设计内PrimePower、嵌入式面积流、多比特banking、无缝签核关联
Page 26
谢谢!
图片索引
本文共82张图片,存放于 SNUG_CN_Performance_Synopsys_Yanqing_Zhao_Sept_2022_XuanTie_RISCV_CPU_paper_images/ 目录。
第3页:RISC-V概述、CPU模块架构 第4页:参考实现流程 第6-7页:设计规格、PPA趋势与目标达成 第9页:流程亮点概览 第10页:关键技术矩阵 第12页:全流程功耗协同 第13页:功耗流程详图 第14页:SQS策略设置 第15页:多比特技术 第16-18页:设计内PrimePower 第19页:EAF流程 第20页:多矢量CCD 第21-22页:PBA优化 第23页:ECO Fusion 第25页:总结