前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何快速进行策略扫描?

如何快速进行策略扫描?

作者头像
Lauren的FPGA
发布2023-09-11 08:34:56
1640
发布2023-09-11 08:34:56
举报
文章被收录于专栏:Lauren的FPGALauren的FPGA
Vivado提供了丰富的Implementation Strategy,如下图所示。这使得扫描策略成为时序收敛的一种方法。那么如何快速地创建扫描策略呢?

一种方法是用Tcl脚本,只针对place_design进行扫描,对扫描结果进行分析,获取其中最好的结果作为布线阶段的输入文件,然后再对route_design进行扫描。这种方式适用于Non-Project模式,同时要求用户对Tcl脚本比较熟悉。如果工程师更习惯于图形用户界面,在Project模式下工作,Vivado也提供了很好的操作方式。如下图所示,点击Design Runs窗口中的“+”。

之后会弹出如下图所示窗口。在这个窗口中连续点击“+”,那么点击几次就会出现几个新的Design Run,同时这些Run的Strategy彼此不同,这就免去了工程师逐个选取Strategy的麻烦。

那么,如果要对某个阶段统一添加Hook Script,比如在place_design之前要添加run_post_opt.tcl,这时用Tcl脚本操作更为便捷。如果不知道需要哪些Tcl命令,可先对其中一个Run执行上述操作,这样在Tcl Console窗口中就会显示相应的命令,然后再用下面的脚本就可以快速完成对每个Run的同样操作。这里的核心是通过get_runs获取所有的Run。

其实创建Run用到的Tcl命令是create_run,如下图所示。结合这个命令,我们可以完全用Tcl脚本完成上述操作。

首先,用list_property_value获取当前版本的Vivado支持的Implementation Strategy,然后从中选取目标策略也就是待扫描的策略,通过Tcl脚本创建Strategy。

总之,无论是Project模式还是Non-Project模式,都可以通过Tcl脚本创建扫描策略。Project模式易于操作,同时可以方便地对扫描结果进行对比。Non-Project便于用于更深入的管理,例如只扫描某个阶段的策略。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA技术驿站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档