在这里举一个自顶向下流程的实例。假设netlist里例化了一个模块两次:
There is an example about top-down flow here. Suppose that a module has been instantiated for 2 times:
CS_router north_router( );
CS_router south_router( );
我们可以读入这个网表,选中所有标准单元,然后采用菜单里的partition -> specify partition进行自顶向下层次划分,与网表一致,默认分为两组。每组单元的位置和大小都可以调整。
After importing the netlist, we can select all the standard cells and create a top-down hierarchical partition by menu-> partition -> specify partition. These cells will be divided as in the netlist. The location and size of these cells can be adjusted.
此时我们可以对每组里面的标准单元进行布局,选中要布局的单元组,使用Place->Standard Cells,然后用一个粗略的布局选项Run placement in floorplan mode完成布局。记得preplace optimization和in place optimization都得选上。
Now we can place the standard cells in a partitioned group. Select one and use menu-> place -> standard cells, then select a rough place option "Run placement in floorplan mode" to complete. Remember that you have to select both preplace and in place optimization options.
使用Partition菜单的derive timing budgets来存timing model,然后用commit partition确定Block。之后退出encounter,打开conf文件,读取floorplan和placement信息,即可修改这个被分割的Block了。
We can use menu -> partition -> derive timing budgets to save .lib timing model and the commit partition. Then we exit encounter, open the saved conf file and read floorplan & placement information. The partitioned block can be optimized isolately.
订阅:
博文评论 (Atom)
没有评论:
发表评论