学习目标
- 了解placement 怎么做
- 了解placement 检查要点
- 会执行placement
学习内容
- Standard unit 放置
- congestion 检查
- setup 和drc 时序检查
- timing 和 congestion优化
Standard cell 相关信息
Logic information
- Timing
- Power
- Area
- Direction
- function
- Noise
- Pin capacitance
- DRV(max trans/max capacitance)
physical information
- Size (width * height)
- site
- Pin layer/location/direction/type
- PG layer
placement
放置std cell
target:
- Timing
- Congestion
- Power consumption
- DRC (from tech lef)
- DRV (transition/fanout/cap
- Others(place constraint)
Placement core command
Place_opt_design
placeDesign: (Engine -> GigaPlace)
- Delete buffer tree
- Congestion
- Timing (module/logic relationship)
optDesign: (Engine -> GigaOpt)
- check initial timing
- Area optimizaiton
- DRV optimization
- Timing optimization
- Congestion optimization
- Power consumption optimization
Timg检查
如何检查placement时或placement后的时序情况
- log file
- timeDesign
- report_timing
从三个方面解释时序报告:
- wns:会有小的violated value吗
- nvp:会有小的violated value吗
- tns/nvp:会有小的violated value吗
可能的原因
- sdc constraint
- cell placement
- path group
检查congestion
Congestion:通过 congestion map, log, report等 检查design congestion。
怎样改善timing violation
改善timing的主要方法:
Placement blockage
- Hard : createPlaceBlockage -type hard
- Soft: createPlaceBlockage -type soft
- Partial: createPlaceBlockage -type partial
Placement guide
- Region : createRegion
- Guide: createGuide
- softGuide: createSoftGuide
Redo floorplan
Others
- Path group : group_path -name xx -from xx -to xxPreplace
- placeOption
- Special requirement
改善congestion的主要方法:
Placement blockage
- Hard : createPlaceBlockage -type hard
- Soft: createPlaceBlockage -type soft ; # macro channel
- Partial: createPlaceBlockage -type partial
cellPadding:
Routing blockage
Enlarge floorplan size/redo floorplan
Reduce PG resource
Others
- Option
- Scan reorder
- Routing guide ,etc.
Scan reorder
扫描链重排序(scanchain reorder)可以有效地减少congestion,保证芯片的routability。
应定义clock ndr规则,以便在placement时进行准确的congestion分析 。