FPGA-Debug

一、VIVADO Bug

1. synthesis ok → implementation 报错 → 重新synthesis 失败(并且不显示error代码)

错误原因:

有几个方面的问题,都可能会引起这个错误,目前我遇到的有:增量综合的问题。

由于工程设置的是增量综合,一旦某次Implementation流程把DCP状态写坏了,后面综合会反复走auto_incremental,然后除了Implementation以外,也影响到了synthesis流程,导致就算重新synthesis也失败,还不报错。

解决办法:

在tcl中执行:

1
2
3
4
5
6
7
8
9
10
11
12
1. set_property AUTO_INCREMENTAL_CHECKPOINT 0 [get_runs synth_1]

2. set_property INCREMENTAL_CHECKPOINT "" [get_runs synth_1]

3. set_property STEPS.SYNTH_DESIGN.ARGS.INCREMENTAL_MODE off [get_runs synth_1]

4. reset_run synth_1
注意:synth_1要换成实际的,并且是否设置AUTO_INCREMENTAL_CHECKPOINT,INCREMENTAL_CHECKPOINT,STEPS.SYNTH_DESIGN.ARGS.INCREMENTAL_MODE这些属性,还要看目前工程的设置,有可能不是设置这三个。
可以:

report_property [get_runs synth_1]
在property中找到和incremental相关的所有项再设置