Vivado提供了多种Synthesis策略和Implementation策略,用户可以直接使用这些策略。尤其是希望通过扫描策略的方式实现时序收敛时,直接使用这些预定义的策略会很方便快捷。本质上,策略之间的差异是一些选项的不同造成的。以Implementation为例,这些选项包括每个子步骤的directive值。VivadoImplementation包括7个子步骤:opt_design(设计优化)power_opt_design(布局前功耗优化)place_design(布局)power_opt_design(布局后功耗优化)phys_opt_design(布局后物理优化)route_design(布线)phys_opt_design(布线后物理优化)每个子步骤都有一些共同的选项:tcl.pre、tcl.post、directive和More options,有些选项还有is_enabled。这些选项不同值的组合就构成了Strategy之间的差异。在此基础上,Vivado还提供了用户定制策略,以满足不同需求。那么,如何生成用户定制的策略呢?我们以Implementation为例说明(同样的方法也适用于Synthesis)。
第一步:打开Vivado工程设置选项Flow Navigator下 -》 Project Manager -》 Settings,会显示如下图所示界面。在Tool Settings下,选中Run Strategies,即图中标记1,同时将Flow切换为Vivado Implementation 2021,即图中标记2。
第二步:创建策略可以直接创建一个新策略,也可以复制一个已有的策略并重新命名,然后再修改相应的选项。上图中点击红色方框即可创建一个新策略,会弹出如下图所示对话。
第三步:设置相应选项在上一步的基础上,Vivado会显示如下界面,这时我们的主要工作区域就是图中红色方框标记的区域。可以在这里设置哪些子步骤是is_enabled,还可以设置子步骤的directive,或者在More Options里添加其他选项。
至此,创建策略的步骤就完成了。创建一个新的Design Run,就可以使用这个新建的Strategy,如下图所示。很多工程师通常是将某个Implementation Run的Strategy设置为预定义策略,然后修改相应的选项。可以看到策略名会被添加一个星号,意味着这个策略的选项被改动。这样做并不利用对比和复用。
责任编辑:haq
全部0条评论
快来发表一下你的评论吧 !