We had new projects and interns stuck for weeks because they couldn't figure out how to make a hello world project in Vivado (blink a led for a FPGA dev kit). There was zero doc and zero help available online because it's too niche. This was only unstuck after a while when one senior guy showed how to use it and wrote an internal 50 pages docs on how to create a project and do anything at all. Every single step is an impossible to figure out wonder.
After the initial hiccups, the IDE and the SoC SDK were abysmal. Couldn't store the software in source control because Vivado had no source control support and it was autogenerating/overwriting garbage files all over the place.
To be fair the tool was functional for routing and HDL development. It's usable professionally if you have time to learn and get trained. This may even be good by some embedded development standards (embedded consistently has really shitty development tools that other developers would never tolerate).
[0] https://github.com/xupgit/FPGA-Design-Flow-using-Vivado/tree...
[1] https://www.xilinx.com/support/university.html
[2] https://www.xilinx.com/video/hardware/getting-started-with-t...
Hello World blink an LED can be done in 10 mins flat, I'm afraid you did your intern a disservice by not giving him or her a basic intro and pointer to the docs. Do a goole search for vivado design flow and you'll see all those links I just posted. I lecture in digital design at my local university part time, and I use Vivado and in one lab students are already able to blink the LED, and much more.
I do agree the SDK side is a bit dodgy. My biggest bugbear there is project corruption partly due to being eclipse based. I understand thats been upgraded to Vitis now, but have not used that yet. Vivado is separate from that and is very sold though
We found zero documentation whatsoever on the internet. None of the things you linked to existed. Looks like it took 5 years for some tutorials to be written, and it's not even from Xilinx, it's from some guy sharing on GitHub (maybe a university).
Interns were not to blame, more experienced engineers couldn't figure a thing and there was a 3 months deadline. If it were not for one employee who tried the Zynq platform 6 months before and was trained by Xilinx, the whole thing would surely have been canned.
There was lots of issues with the platform and the IDE once got a hello world working (I really hope Xilinx fixed most of them). Basic APIs were not working or were documented wrong, the compiler had issues (modified gcc under a modified eclipse), the IDE occasionally crashed or got stuck (it called a ton of sub processes that got lost or failed).
The SoC IO pins were undocumented (needed info and identifier to do the routing), had to get private doc from Xilinx and they had typo in their pin layouts, so there was a constant risk to misconfigure a pin and fry the board (FPGA don't forgive mixing up input and output and voltage).
Now that I remember about it. The whole thing was pretty insane. ^^
My only question if I had to work on this again would be, does vivado support Git/SVN nowadays?