在上篇文章中,我们提到了可以先选定一个cell,然后对该cell创建一个Pblock。这等效于一次创建一个Pblock。实际上,我们可以利用Create Pblocks Wizard,一次创建多个Pblock,这是一种半自动化的方式。相比于前一种更高效一些。
第一步,在Netlist窗口中选中需要创建Pblock的多个cell,如下图所示。
第二步,依次选择Tools -> Floorplanning -> Create Pblocks,如下图所示,会弹出Create Pblocks Wizard界面。
第三步,点击上图中的Next,会显示需要创建Pblock的cell,也就是第一步选中的那些cell,如下图所示。在这个界面中,点击“ ”可以添加其他cell;选中某个cell,点击“-”可以删除该cell。
第四步,点击上图中的Next,会显示Pblock的命名格式要求。这里有两种:
一种是pblock_<cell name>,
例如:pblock_arnd1,pblock_arnd2;
一种是pblock_<number>,
例如:pblock_1,pblock_2。
在Suffix中选中命名格式,在Sample中会显示相应的样例。
第五步,点击上图中的Next,会显示Summary,如下图所示。这个界面清晰地显示了待创建的Pblock的名字以及对应的cell。
第六步,点击上图中的Finish,完成Pblock的创建。此时,Netlist窗口和Physical Constraints窗口相应的cell和Pblock图标都会发生变化,如下图所示。
至此,多个Pblock已经创建。上述步骤与如下所示的Tcl命令等效。可以看到,此时Pblock的大小、位置等还没有设定。
第七步,在Physical Constraints窗口中,选中一个Pblock,点击右键,选择Set Pblock Size,可进一步设置Pblock的大小和位置。这时需要逐一设置,因此这被称之为半自动化的方式。
在上图中,Pblock之间的互连线(以深蓝色表示)显示了两个cell的互联程度,这个线越宽表明互联程度越深。在Device View窗口设置中(点击右上角的齿轮标记),可以看到其中的Bundle Nets,如果想看到这个互连线,就需要勾选这个选项。