PR-Place-performing Placement and Optimization-2
一、Area recovery
place_opt -area_recovery 把这个打开,在不影响timing的情况下,工具优化面积。
Action:
(1)size down :把大驱动cell换成小驱动cell ,X4,X6换成X1,X2
(2)Delete buffer:有些地方工具过修,比如明明1个BUF就行,工具却用了2个BUF。
二、Reducing the Total Negative Slack
默认情况下,在Optimization时,工具看2个指标:TNS,WNS.
set_optimization _strategy-tns_effor high
place_opt
effor 越高,run time 越长
三、Legalization
(1)把cell移动到legal位置,范围小
(2)消除cell overlapping or cell spacing rules.
displace:就是挪动的意思。
check_legality 看cell是否摆放好,最后violation应是0
四、cell site
site row(LEF文件定义)
cell site(cell library)
cell orientation
cell site越大越高,performance越好,7T,8T
主要看power rail
pin track alignment
metal 和 terminal(pin)都在track上,terminal不放在track上会有DRC问题,同时也浪费资源。
on track:metal中心线与track重合,不能有偏差
五、Vertical Abutment Rule
DRC viloation
DRC ok
如果手动解决不了垂直的,那么加keepout margin解决。
六、Place_opt Options
1. -effor low/medium/high
提高quality of result 或减少runtime
2. -area_recovery
3. -power
4. -optimize_dft
reoders scan chains
5. -continue_on_missing_scandef
6. -congestion
7. -skip_initial_placement
七、Magnet placement
为改善congestion 和 timing,指定fix macro或IO引脚,并让工具将其连接的std cell接近。
说白了就是聚在一起,一般在place之前做,与bound区别是,magnet是一个点,而bound是一个方块。
magnet_placement [options] magnet_objects
-logical_level number
-mark_fixed(防止magnet之后,cell挪走,把它设置fixed)
-cells cell_list
八、Performing Incremental Physical Optimization
在现有placement基础上做一些微调的动作去优化,不会大范围优化place,是place_opt的补充,与place_opt的区别就是优化程度。
用psynopt命令
status psynopt
[-area_recovery]
[-only_area_recovery]
[-congestion]
总结:
1.Preplace
- create block/bound
- controlling the placement density
- set spacing rule
- set routing layer---set_ignore_layer
- set tie cell and dont touch net/cell
- set place option---congeston/density
- set multi-threading for run time
2.Place
- set scan option
- coarse place
- place opt---confirm opt option(timing/power/congestion)
3.Result analysize
timing/congestion/power/uitilization and so on.
PR-Place-performing Placement and Optimization-2相关推荐
- ICC2 user guide(二)Placement and Optimization
目录 一 Specifying Coarse Placement Constraints and Settings 1 Defining Keepout Margins 2 Defining Area ...
- g++的英文版使用说明和选项
使用g++ -v --help可以列出g++的所有可选项 当然脚本最香了 g++ -v --help >> lionel.txt Usage: g++ [options] file... ...
- ICC2 user guide(三)Clock Tree Synthesis
目录 一 Prerequisites for Clock Tree Synthesis 二 Defining the Clock Trees 1 Deriving the Clock Trees 1. ...
- 图论为什么这么难_图论是什么,为什么要关心?
图论为什么这么难 Graph theory might sound like an intimidating and abstract topic to you, so why should you ...
- 喜欢就争取,得到就珍惜,错过就忘记—dbGet(二)
通过前面一篇对dbGet基本用法的介绍,大家应该对它有一定了解了吧.那接来下,我们就要学习一下进阶的dbGet用法了. dbGet是由它基本的语法加上各种object的attribute的组合构成的. ...
- Halide学习笔记----Halide tutorial源码阅读3
Halide入门教程03 // Halide tutorial lesson 3: Inspecting the generated code // Halide入门第三课:检测生成代码// This ...
- Toad 所有 菜单说明(太多)
菜单说明 新版本 toad 软件中, 比较有用的菜单 session 菜单 Session Information: 显示当前session的用户的情况, 比如权限, 授权等 Database ...
- 数字后端面试问答No.10-12(每日三问)
数字后端面试问答No.10-12(每日三问) 文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点.点击进去后出现任何损失与社区无关. 周末了,今天继续为大家分享三道数字后端面试题目.这三道题,其中 ...
- 在SAP GUI中玩扫雷小游戏
在GUI中玩扫雷小游戏 ABAP代码: *&---------------------------------------------------------------------* *&a ...
最新文章
- pycharm 使用小结
- [svc]arp协议的细枝末节
- 虚拟化、完全虚拟化、半虚拟化和准虚拟化技术区别
- PWM 发生器模块设计
- 基于上一篇AS项目依赖库问题的优化解决方案
- [转]MPlayer快捷键参数设置--系统开销最少的影音播放器
- OpenCV-Python入门教程7-PyQt编写GUI界面
- pca 矩阵 迹_主成分分析法(PCA)推导
- 小米工作室AIoT开发平台高校创新赛报名启动
- Moodle中的session用法
- 扒一扒网易云课堂python课程,发现还有不少可以白嫖的免费好资源
- 布控球可接入电网安全接入平台及电网统一视频
- 如何坚持完成自己的目标和计划?
- inc si指令的作用_亲水作用色谱(HILIC)(二):可选的固定相有哪些?
- Excel2019将下面空白单元格填充的和上面值一样
- 【Vue源码解读】万行源码详细解读
- 活动报名 | 马毅研究组NeurIPS 2022新作:稀疏卷积性能和稳健性超越ResNet
- oracle创建表空间笔记 小白专属 小白必看!(内有福利)
- Oracle EBS R12 On Oracle Enterprice 5.2 安装失败 分析和解决过程
- SANGFOR SCSA——虚拟专用网与IPSec解决方案
热门文章
- EE308_Lab1
- 期货成交量与持仓量(期货成交量与持仓量的秘密)
- LINUX系统文件指令操作
- 计算机常用芯片,笔记本电脑常用芯片大全
- class torch.optim.lr_scheduler.ExponentialLR
- 游戏运营全过程剖析,游戏开发,游戏运营,游戏推广问题分析
- python搭建PyDev详细版
- 设计模式(10)[JS版]-JavaScript如何实现组合模式???
- 打印九九乘法表的两种方法:
- 全国计算机二级office选择题知识点,全国计算机二级考试MS office选择题知识点合集(通用)...