initial design (设计导入)
netlist和constraint
后端工程师拿到综合后的netlist和constraint后,就需要把设计的netlist和constraint读进来,并创建到一个database中去,因为工具保存数据都是有自己的一套library管理方式,方便存储设计相关的东西。
这里的netlist就是一个设计的电路图,只不过以网表的形式呈现出来。constraint是设计的约束文件,这个文件告诉工具timing相关的spec需求,让工具基于这样的约束进行优化。其主要包括:
(1)create_clock & create_generated_clock
定义设计中每个寄存器的时钟工作频率
(2)input &output delay
设置IO端口的delay值,目的是优化内部逻辑path
(3) set_clock_group
设置时钟同步异步关系
(4)timing exception
主要设置false path,multicycle path,disable timing arc等timing exception。
lef/Milkyway
为了让工具认识netlist中的各种std cell和macro,我们就要指定好设计所用到的所有标准单元库和macro库,即标准单元的lef和macro的lef
为了让工具知道如果摆放std cell和基于一定的绕线规则做绕线工作,我们还要指定工艺的tech lef(tech file)。这个tech lef其实就是一个简易版的calibre drc rule文件。
QRC文件(tluplus文件)
由于PR工具每个阶段都要计算timing,我们就要做RC抽取,因为要读入QRC文件(tluplus文件)
mmmc文件
为了让工具在优化的过程中看到更多的view或scenario,我们要配置mmmc文件