08-11-2019 02:40 AM
Hi All,
How to compare two projects (RTL, Block Design, Constraints, etc) in Vivado 2018?
I have two projects, which seems to be same, but behave different on the board. I want to compare between them. How can I do so?
Thank you!
08-11-2019 10:04 PM
hi @ldm.eth
please see the following AR
https://www.xilinx.com/support/answers/61599.html
and then compare the Vivado.log file of both projects, and try to find out - from which step the check sum's start differentiating?
if checksum if different during synthesis itself, then you need to check the source files of the project to find the difference?
if not then try to see if you are using the same strategy's, same tcl.pre and tcl.post, same maxthreads, in both the projects.
regards
Suraj
08-11-2019 10:08 PM
Hi @ldm.eth .
You should also compare the behavioral simulation and post-implementation functional simulation of the design, this will give you some idea about the changing signals and also at which step they ae changing.
~Chinmay
10-27-2019 10:23 AM
Hi @ldm.eth ,
You can try using any netlist comparing tools like Onespin
10-27-2019 11:43 AM
You have two topics here
is the design "complete" and comparison
comparison first.
You have two types of comparisons,
the first assumes that both projects are basicaly the same, and some small changes have been made ,
if you have a text based project, then its down to a file comparison difference tool,
I use windiff for thsi sort of comparison
https://en.wikipedia.org/wiki/WinDiff
The other sort of comparison is formal comparison,
that is the holey grail of comparisons,
you put the two units in a test bench, and apply the same simulant to the two and see what the difference of the output is
Its actuay very hard for all but the simplest projects to be 100 % certain you have two identical units or not.
IMHO design complete is the most likely difference though ,
many times we see people in the forums having a desing that works, they do a small change and it fails.
the answer most of the time, is they have missing , incomplete or incorrect constraints,
and its just by luck that the working desing works,
The other thing we find is people think the tools are clever. They arn't and part of enginering IMHO is learning waht styles work in each tool
If you want to post as two attatchments the two projects and your test bench Im certain some one will be able to help