前文《跟老驴一起学PR | Innovus 输入》阐述了 Innovus 所需要的输入数据有哪些,今天来学习如何将这些数据读入Innovus. 以前熟悉的工具,不论是综合、formal 还是STA 读入数据大多都是read_xxx 命令读入,思维定势之前以为Innovus 也是用一坨read_xxx 的命令读入,然而并不是。
在Innovus 中预定义了一坨init_XXX 的变量,用户需要将对应输入文件指定给对应的变量,然后执行init_design 工具就会将所有文件依次读入,对于verilog netlist 老驴扒拉了几个flow 关键的init 变量有:
至此,所有输入文件都指定完毕,执行init_design 就会将对应文件读入,init_design 读取文件的顺序还没看,按照逻辑猜测一下读入顺序:library -> tech-lef -> lef -> QRC -> cpf -> netlist -> SDC.
除了上面那一坨指定输入文件的init_XXX 变量之外,还有一坨用于控制输入过程的init_OOO 变量: