用Vivado TCL处理实施错误
我有几个实现(每个实现策略不同),并且我会在Vivado中使用以下脚本自动运行它们:
reset_run synth_1
launch_runs synth_1 -jobs 16
wait_on_runs synth_1
# Run all implementations
launch_runs impl_1 -jobs 16
launch_runs impl_2 -jobs 16
launch_runs impl_3 -jobs 16
launch_runs impl_4 -jobs 16
launch_runs impl_5 -jobs 16
launch_runs impl_6 -jobs 16
但是有时其中一个失败(工具中的记忆力低或错误,这是已知的),我想抓住它,并且做某事,也许尝试再次运行它或停止下一步(例如,如果实现失败,我不想导出硬件,因为它会导致另一个错误,因为它找不到bitstream)。
您知道如何在我的TCL脚本中遇到这个问题吗?
I have several implementation (each with a different strategy) and I automate running them in Vivado with the following script:
reset_run synth_1
launch_runs synth_1 -jobs 16
wait_on_runs synth_1
# Run all implementations
launch_runs impl_1 -jobs 16
launch_runs impl_2 -jobs 16
launch_runs impl_3 -jobs 16
launch_runs impl_4 -jobs 16
launch_runs impl_5 -jobs 16
launch_runs impl_6 -jobs 16
However sometimes one of them fails (low memory or bug in the tools, this is known) and I would like to catch it and do something, maybe try running it again or stop the next steps (for instance if implementation has failed I don't want to export the hardware, because it would lead to another error because it can't find the bitstream).
Do you know how can I catch this problem within my tcl script?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
更多
发布评论
评论(1)
我找到了一个解决方案,但是由于某种原因,结果并不是搜索诸如“ vivado catch run失败”之类的单词时的第一个结果,所以我会发布一个答案:
基于此答案记录我们可以做:
I have found a solution, but for some reason the result is not among the first ones when googling for words like "vivado catch run failure" and similar, so I'll post an answer:
Based on this Answer Record we can do: