When you make a design improvement but QoR regresses, you are presented with a difficult decision.
Should you stick with the fix or regress and find new solutions to the problem? It is possible that you have overlooked something, or possibly the tools have performed worse on the given run. Answering this question quickly and correctly is one of the things which make the difference between a good and a great FPGA Engineer.
Here is a good tip… fixing methodology issues makes this task easier. In a recent study within Xilinx, the methodology issues of 29 customer designs were resolved. These designs were put into one bucket and compared with their original untouched versions. Small variations were then applied to both buckets such as:
Tightening period on key clocks by 1ps and 2ps
Small netlist changes
Running with different tools settings
The results showed beyond reasonable doubt that designs with clean methodology produced more consistent implementation results than those that did not have clean methodology.
Reduction in QoR Outliers
What Does Report Methodology Check?
report_methodology will check approximately 150 rules relating to poor use of constraints, sub optimal clocking, lack of pipeline registers in primitives and much more.
It is a complementary tool to the UltraFast Design Methodology detailed in (UG949) that automates many of the checks.
You can run report_methodology at any stage of the flow.
Typically you only need to run this early in the flow after opt_design and the same results will be seen after place or route.
There are several places where you can find Report Methodology:
1. From the Reports -> Report Methodology drop down menu in the Vivado IDE
2. Using the Tcl command report_methodology.
3. You can also see a cut down version of Report Methodology integrated within Report QOR Assessment. The RQA report details failing methodology checks that will impact QoR and tool variation. For a full report, run the report_methodology command.
Solving Methodology Issues is Time Well Spent
In conclusion, when working on fixing methodology issues, recognize that the time you spend on it will also help with producing consistent implementation results which leads to more accuracy to your decisions. This in turn allows you to compare results from fewer runs to conclude with the same confidence level that a QoR fix is working and that the tools are responding to it.