千家信息网

如何做physical aware synthesis及需要注意的点

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这期内容当中小编将会给大家带来有关如何做physical aware synthesis及需要注意的点,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。方法学上,感谢D
千家信息网最后更新 2026年11月01日如何做physical aware synthesis及需要注意的点

这期内容当中小编将会给大家带来有关如何做physical aware synthesis及需要注意的点,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

方法学上,感谢DEF 架起了前后端之间的桥梁,DEF 将 floorplan 的信息传递给综合工具,使其可以在逻辑优化时考虑真实的『物理信息』,并根据DEF 的约束做placement 及global route , 依据global route的结果估算net delay,与此同时也做congestion 优化,完成所谓的 physical aware synthesis。

工具端,C跟S都跳脱不出方法学,只是实现方式上有所差别而已,S家的physical synthesis 除了要设physical 相关的变量之外,大概还需要额外三个东西(此处完全凭不靠谱的记忆,如有谬误请指正):1) dc_shell -topo; 2) create MilkWay DB; 3) compile_ultra -spg。本文将以C 家的Genus 为例来陈诉如何做physical aware synthesis。讲工具的套路都是从输入跟输出说起,然后再一一展开,下图是从Genus physical RAK上抠的图(RAK是一系列简单的lib,C家每个工具都有多个RAK, 在C家网站上可以下载到,强烈建议下载学习)。

Genus physical 的输入除了 lib/rtl/sdc 之外,还必须要有tech lef/ std cell lef/ macro cell lef; DEF; QRC tech file。

LEF: tech lef/std cell lef/ RAM lef 由foundry 提供,sub-block lef 由后端提供。

  • 用命令:set_attribute lef_library $lef_files 读入,必须将tech lef 放在lef file list的首位;必须要读全用到的所有cell 的lef,否则在log 中会看到警告:『由于某个cell 的物理信息不可用,所以该cell 被设成了不可用。』

  • Genus 从LEF 中读入如下信息:

  • CAPACITANCE CPERSQ

  • EDGECAPACITANCE

  • RESISTANCE RPERSQ

  • SITE

  • WIDTH

  • Coupling capacitance

  • Capacitanceper unit of area

  • Fringing capacitance

QRC: QRC由foundry 提供,是个加密文件。

  • 用命令:set_attribute qrc_table_file $qrc_files 读入.

  • Genus 从QRC 中读入如下信息:

  • PROCESS_VARIATION

  • BASIC_CAP_TABLE

  • width

  • Cc

  • Carea

  • Cfrg

DEF: floorplan 信息,由后端提供,后端大佬们说这是P&R 的灵魂所在,是基石是一切成功的基础。

  • 在Innovus 用Defout -floorplan -NoStdCell写出一个包含以下部分的DEF,此处有注释。

  • 在Genus 中用命令read_def 读入DEF file. Genus在读DEF 时会check DEF 的Quality 并会报出相关的warning, 读完DEF 后会生成一个如下的summary 报告,请修正需要修正的Error 跟Warning。

  • 读完DEF 后用命令 check_floorplan 进一步check DEF 的quality, 并及时修正Error 跟 Warning。

在输入干净了之后就可以命令工具开始做带物理信息的逻辑优化了,Genus 采用的是early physical,即从最开始就带着physical 信息做优化。Genus physical整个优化过程由syn_gen -physical, syn_map -physical, syn_opt -physical/ spatial 三步构成。建议在做完每一步优化后就写一个db 出来,在debug 的时候可以根据需求读入不同阶段的db, 比如debug 前后端module placement 的 correlation, 可以读入syn_gen 后的DB 起GUI highlight module place 跟Innovus 的module place 对比。

Genus physical 有两种flow, 两个flow 的区别是:

  • syn_opt 所用option 不同,一种是:syn_opt -physical. 另一种是:syn_opt -saptial。

  • syn_opt -physical 会调用Innovus 来做placement 跟global route,结果是legalize 的,后端如果吃入Genus 写出的netlist + DEF 则只需要run place_opt_design -incr 即可。

  • syn_opt -spatial 用Genus 内嵌的placement 引擎做placement 跟 global route,结果不是legalize 的,后端需要run full place_opt_design.

  • 两个flow 的相关变量有差别,用户可以根据自己的设计、工艺跟团队构成选择相应flow。

综合完成后,需要check 综合的quality,对于physical aware synthesis 除了PPA 还需要关注 overflow,此处说两点:

  • 用report_timing -physical -gui 可以在layout 中highlight 出完整的timing path,是debug timing最基本的一招而且十分有效,可以看数据流、看走线,看bufferring.

  • report congestion可以report 出overflow,打开congestion map 去看congestion 是由什么引起的,然后对症下药。如:跟macro 相关的congestion 需去找后端确认floorplan 是否需要调整;跟结构相关的congestion 是否在综合时需要对这些结构设置map_to_mux, 以使其保持mux 结构而非替换成大量的OAI/ AOI; 如是cell堆积引起的congestion,找AE 确认是否有变量让工具可以将congestion 严重区域的cell 推散。

上述就是小编为大家分享的如何做physical aware synthesis及需要注意的点了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

信息 工具 命令 综合 物理 结构 结果 输入 不同 两个 内容 变量 差别 建议 方法 方法学 逻辑 分析 干净 对症下药 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡网 互联网科技公司经营范围 山东特亿宝互联网科技有限公司 中关村互联网 科技集团 深圳互联网科技公司 金融科技与互联网金融 奇酷互联网科技公司 天下捷融互联网科技 互联网科技股有哪些 阿里巴巴算科技企业还是互联网 中国互联网有什么科技含量 互联网公司黑科技创始人 四川慕妮娅互联网科技有限公司 智帮互联网科技公司最近动向 宇信科技在杭州互联网排第几 南京一网一红互联网科技有限公司 中国科技和美国互联网 求路客互联网科技电话 河南商务圈互联网科技有限公司 重庆科技产业互联网有哪些 天津市摩尔互联网科技 哈尔滨大商圈互联网科技有限公司 新华互联网科技学院 互联网 科技公司 善班互联网科技 金融科技和互联网金融 中国科技互联网公司收入 华服互联网科技官网 注册互联网科技公司经营范围大全 无锡工业互联网科技有限公司
0