What is our primary use case?
My primary use case for AMD Vivado Design Suite is RTL development in VHDL targeting AMD FPGAs and SoCs. I also use it extensively for system integration, combining RTL modules with designs generated through High-Level Synthesis (HLS) and MATLAB/Simulink.
I use Vivado across a wide range of projects. For example, I have developed FPGA-based prototypes for industrial automation systems and recently automated the integration of third-party IP cores into FPGA-based subsystems. Vivado is the central tool in my FPGA development workflow, from RTL implementation to final device integration.
How has it helped my organization?
AMD Vivado Design Suite has had a positive impact on our organization because it is the reference implementation environment for AMD FPGA and SoC devices. It represents the final integration stage of our FPGA development flow, where all hardware components come together before deployment.
Its stability and robustness are essential because every project ultimately passes through Vivado for synthesis, implementation, timing analysis, and bitstream generation.
One of the biggest benefits is the quality of the reports and diagnostics generated during implementation. Vivado provides detailed timing reports, implementation statistics, and design rule checks that help us identify problems early. However, interpreting some warnings and timing reports can still require significant experience, and determining the best corrective action is not always straightforward.
What is most valuable?
The most valuable aspect of AMD Vivado Design Suite is its comprehensive low-level implementation flow together with the ML-based implementation strategies introduced in recent releases. These capabilities help improve timing closure and provide better implementation results for complex FPGA designs.
When working on timing closure and Static Timing Analysis (STA), these implementation strategies are particularly valuable because they often improve placement and routing decisions while helping achieve timing requirements more efficiently.
Another important feature is Vivado's infrastructure for developing reusable IP cores compliant with the IP-XACT standard. This greatly simplifies subsystem integration and enables reusable hardware architectures across multiple projects.
I also appreciate the flexibility offered by Vivado during synthesis and implementation. The ability to select different optimization strategies and apply custom implementation constraints allows developers to tailor the design flow according to the specific requirements of each FPGA project.
Another valuable capability is interoperability with third-party tools. I have extensive experience using Synopsys Synplify Premier, particularly for space applications involving Triple Modular Redundancy (TMR), Clock Domain Crossing (CDC) verification, and complex FPGA architectures. Integration with tools such as QuestaSim, ModelSim, MATLAB, and Vitis enables a complete and flexible development workflow.
What needs improvement?
One area where AMD Vivado Design Suite could improve is helping developers better understand the root causes of implementation problems. While Vivado provides excellent support for VHDL, Verilog, and SystemVerilog development, physical implementation remains highly dependent on the engineer's experience.
An AI assistant capable of analyzing timing reports, constraints, placement decisions, routing congestion, and implementation results could significantly improve developer productivity, especially for high-frequency and high-performance FPGA designs.
Another improvement would be better support for integrating domain-specific scripting languages into subsystem generation. The recent support for P4 is a step in the right direction, but integrating additional scripting languages and design-generation frameworks would make it much easier to automate subsystem creation and third-party IP integration.
Finally, implementation times can become quite long on very large designs. Although FPGA devices continue to grow in complexity, reducing synthesis and implementation times would significantly improve overall development productivity.
For how long have I used the solution?
I have been using AMD Vivado Design Suite for over 20 years.
What do I think about the stability of the solution?
In terms of stability, I find that the latest version of AMD Vivado Design Suite is quite stable, especially when using the command line interface, allowing for fast operations without a GUI. I have not encountered crashes or problems, although using important constraints such as the DCP format during design is necessary.
What do I think about the scalability of the solution?
Scalability within AMD Vivado Design Suite is inherent, as one can manage projects in various ways, importing half products such as EDIF and RTL for completion within Vivado, as well as generating projects and integrating semi-products from third-party tools without issues, although middle formats for low-level integration are required.
How are customer service and support?
My experience with customer support for AMD Vivado Design Suite has been very positive. I have been in direct contact with AMD and received valuable advice for past issues, and I find that the community provides a wealth of information on resolving various problems related to constraints and TCL scripting issues at a low level.
Which solution did I use previously and why did I switch?
Before using AMD Vivado Design Suite, I worked with ISE for the previous FPGA versions, and I switched to Vivado because it is essential for the latest products such as Ultrascale and Versal, making this transition mandatory.
Which other solutions did I evaluate?
Currently, I do not evaluate other options when it comes to using AMD Vivado Design Suite for physical implementation. However, I do consider switching to a tool with greater synthesis capabilities from the Synopsys family in the near future for synthesis purposes.
What other advice do I have?
To others considering using AMD Vivado Design Suite, I recommend that it can be a fantastic tool for various applications, emphasizing the importance of integrating with third-party software. I previously mentioned that improving the interface with external tools such as P4 scripts for the development of various applications is essential. Although the code generated from third-party tools is often not optimal, Vivado does provide optimization capabilities for that code, so it would be beneficial to improve the generation quality of code from external tools. I would rate my overall experience with AMD Vivado Design Suite as a 10.
Which deployment model are you using for this solution?
On-premises