默认情况下,工具会将我们的timing path会分为4组,即:
in2 reg , reg2icg ,reg2reg, reg2out ,如下图所示:clock信号从port进入到block里,之后从input port到cell,即(in2reg),内部又会有从reg到reg的(reg2reg)以及从reg到memory的,最后再从reg到output port的,(reg2out) ,但是不难看出,我们发现我们并没有reg2mem的path,这是为什么呢? 其实是因为,reg2mem以及mem2reg的都被划分到reg2reg的行列里面了。但是在做真实的项目的时候,和memory有关的path,我们往往会单独抓出来分组,所以这个思想就是细化group path。
如下图,细化后我们可以分为in2 reg , reg2icg ,reg2reg, reg2out from_mem to_mempry 六组。
具体指令为:group_path -name xxx -weight xxx
name:对group设置一个名字。如果group name已经存在,path或者endpoint将会添加到对应的组。否则,将创建一个新的组而且被命名。
weight:对这个group指定权重。权重值必须介于0到100之间。默认是1。如果是设置为0将不会优化这个group。不要使用非常小的值(比如0.001),较小的值可能阻止工具对设计实现小的性能提升。
priority:为了解决不同组优化时的冲突