Physical Implemention/P&R
目的:物理实现主要实现如下功能:
工具:
Synopsys ICC ICC2
Cadence Innovus(new)/Encounter
Mentor Olympus
Input文件: Synthesis data:
1, Logic library ***.db(和DC中用到的是一样的)
2,Mapped.v(逻辑综合后的门级网表)
3,SDC约束文件***.sdc
4,DEF文件
DEF(Design exchange format),叫设计交换格式,是ASCII格式的文件,它描述的是实际的设计,对库单元及它们的位置和连接关系进行了列表,使用DEF来在不同的设计系统间传递设计,同时又可以保持设计的内容不变。
DEF与只传递几何信息的GDSII不一样。它可以将设计的逻辑信息和物理信息传给布局布线工具。逻辑信息包括逻辑连接关系(由网表表示)、grouping信息以及物理约束。物理信息包括布局规划、布局位置及方向、绕线几何数据。
因为def是通用标准格式,假设是用了别的工具做floorplan,导出的def文件也能被ICC接受。icc也可以接受别人的def信息。同样,ICC的place&route的 def同样可以被其他工具所认识,write_def得到,这也就是几大工具是这么交互的方法之一。
Physical data: 1,Physical library: MilkywayICC中,所有物理库都以milkyway的形式存在,包括standard cell和memory等的物理库,也包括所有设计本身,所有物理信息都装在milkyway中
CEL:完整的版图信息
FRAM:用于布局布线的抽象化的版图物理信息(只有单元大小、端口名称、端口位置等简单的物理信息)
一般ICC使用的是FRAM views
但是在Cadence的Encounter中,数据格式为LEF文件。
2,Technology file ***.tf
tf文件中定义了placement中的unit tile
3,RC Model file ***.TLU+.itf/.TLU+: 寄生RC查找表,ICC使用网络几何形状以及该文件来计算金属线的寄生参数的,包括电阻、电容、耦合电容等等。
TLU+是存储RC系数的二进制表格式。TLUPlus模型通过包括宽度,空间,密度和温度对电阻系数的影响,可以实现精确的RC提取结果。
itf(Interconnect Technology Format) : 若foundry只提供该格式,可通过synopsys的Star-RCXT,输入命令:grdgenxo-itf2TLUPlus -i
一般包含:Ctypical.TLU+、Cmax.TLU+、Cmin.TLU+
4,Mapping file
具体脚本:
#Read Synthesis Data
set target_library "***.db"
($target_library用于optimization,只包含stdcell)
set link_library "* $target_library"
(link_library用于linking,包含且不限于$target_library)
set verilog_file "Mapped.v"
set sdc_file "***.sdc"
set def_file "***.def"
#Read Physical data
set my_mw_lib ***.mw
set tech_file "***.tf"
set tlup_max "***_Cmax.tlu+"
set tlup_min "***_Cmin.tlu+"
set tlup_map "***.map"
#创建自己的Milkyway文件夹
create_mw_lib DESIGN_LIB -open -technology $tech_file -mw_reference_library "$link_library"
import_designs $verilog_file -format verilog -top $top_design
set_tlu_plus_files -max_tluplus $tlup_max -min_tluplus $tlup_min -tech2itf_map $tlup_map
source $create_pg_file(需要加载VSS、VDD的信息,创建供电网络)
read_sdc $sdc_file
#布局规划floorplan,摆放Marco
read_def $def_file
save_mw_cel -as CHIP_floorplaned
#布局placement,放置基本单元
place_opt
save_mw_cel -as CHIP_placed
#时钟树综合
clock_opt
save_mw_cel -as CHIP_cts
#布线routing
route_opt
save_mw_cel -as CHIP_routed
#输出文件
write -format ddc -hierarchy -output ***.ddc
write_verilog PnR.v
如何启动:
icc_shell



