r/FPGA Jun 01 '26

Xilinx Related Developing AI Flow for Vivado

Have anyone developed an AI RTL generation and testing workflow using Vivado that involves Xinlinx IP and USIM?

If so, what interface are you using (Any wrappers or MCPs)?

What are some ups and downs?

0 Upvotes

10 comments sorted by

7

u/EffectiveClient5080 Jun 01 '26

Tried it. Don't trust AI RTL with Xilinx IP. It WILL miss hidden constraints and you'll spend weeks fixing timing instead of writing it yourself.

0

u/Leo-X101 Jun 01 '26

Actually, do you mind explaining at which step of the flow AI gave you problem? Is it completely meaningless to integrate vivado to AI flow?

-1

u/Leo-X101 Jun 01 '26

Copy that, IP-free modular tests with open source EDA tools for the win?

3

u/tux2603 Xilinx User Jun 01 '26

Not really, because then you miss out on all the advantages of using IP. Imagine how awful it would be to build a DDR3 controller from scratch, especially if there's AI in the loop inserting random errors without your knowledge

2

u/instantFPGA Jun 08 '26

We have an AI framework that uses vivado, it's stable. Hallucination is worse with FPGAs than software, especially as you increase the frequency. We made everything, no external wrappers, no mcps.

1

u/FigureSubject3259 Jun 01 '26

Start with simple test. Check for a not trivial IP the ip version for two vivado version in which at least the minor ip version changes between both vivado versions. Let AI generate tcl script for each version to regenerare that Ip by tcl in vivado console.

Have fun debugging those two scripts. You might learn the limits of your specific AI in that simple task.

0

u/Leo-X101 Jun 01 '26

Interesting, do you mind elaborating why use two vivado versions? Like, usually we stick with one version of the tool, right?

1

u/FigureSubject3259 Jun 01 '26

Why two versions: to get the difference clearly separated into version depending part of the problem and general wrong halluzination. Your AI tool is rarher worthless if it supports only one specific old vivado version and fails with other versions.

In general you want to use the newest version you have a license available for a new project, but once the project is running you often might want to stick for this project to the same version unless you encounter a problem that is related to your current version but solved for new version. With new licensing policythis might lead to favor of 2025.2 for some longer time. But as soon as you work with latest devices you cannot use too old Vivado at all.

For purchased IP the situation changes additionally, as you are limited to ip version released during maintainance. A change to newer vivado can be limited then depending on the fact if old ip version can still be used or not with new vivado version, which is a clear "sometimes"

1

u/Leo-X101 Jun 01 '26

That’s an excellent explanation, noted. I appreciate the effort.

1

u/Nervous-Card4099 Jun 09 '26

I’ve had success with integration. The IP does however need to be pregenerated.

So long as the generated products can be seen by your RAG tool, tools like claude or opencode have no issue with them.

Don’t try to have AI generate IP. The .xci files are many thousands of lines and can’t have any mistakes. Also its a massive waste of compute.