2009年4月20日星期一

encounter的自顶向下层次设计流程(top-down hierarchical design flow by encounter)

在这里举一个自顶向下流程的实例。假设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.

没有评论:

发表评论