【DC】怎样保持住设计的hierarchy

Design hierarchy反应了设计的分割策略(partitioning),良好的hierarchy不仅便于理顺数据流,有利于对边界进行时需优化,更方便了后续PR阶段对各个HInst进行布局。

在读入RTL后,可以使用report_hierarchy检查当前设计的hierarchy,如图

但是,如果不进行分组(grouping),后续综合出来,DC会进行自动auto group,最终的hierarchy可能并不能像我们预想的那样。

使用group命令将Digit_Sparsity_Exploiting_Engine0模块单独分组
group {Digit_Sparsity_Exploiting_Engine0} -desgin_name DSEE -cell_name DSEE

再report hierarchy,可见DSEE加入到了整个设计的hierarchy中

之后将ungroup属性设置为false,避免优化器进行flatten
set_ungroup DSEE false

重新综合后可见DSEE并没有被flatten

Innovus floorplan里也可以看到HInst

成功!