Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pointers to Vivado compatible xvcd? #1

Open
simeonmiteff opened this issue Aug 8, 2020 · 1 comment
Open

Pointers to Vivado compatible xvcd? #1

simeonmiteff opened this issue Aug 8, 2020 · 1 comment

Comments

@simeonmiteff
Copy link

Hi Patrick

You mention:

Other people have builds that work with Vivado, use theirs...

Is there a particular version you recommend for use with Vivado?

I've tried https://github.com/RHSResearchLLC/xvcd which seems like a more recently maintained fork of https://github.com/tmbinc/xvcd, but the bitbang implementation takes 42 minutes to load a Artix7 bitstream :-(

Alternatively, if you have some pointers on how I can add optional (non-default) Vivado support - I may give that a go...

Regards,
Simeon.

@barawn
Copy link
Owner

barawn commented Aug 10, 2020

https://github.com/wzab/xvcd-ff2232h

He rewrote the shifting code to be more generic (and way more complicated, so I'm glad someone else did it), since Vivado is far more varied in the XVC commands it sends.

The only difficulty here is getting the USB portion to compile and selecting the device that you want. But that's a bit of a nightmare anywhere. For instance, I had to link against libftdi1 (which means making LDLIBS=-lftdi1 and changing the include to libftdi1/ftdi.h).

Then I had to completely redo the device open, looping through all the devices and matching them against the manufacturer string we had set.

You can see the diff I've got attached here. You can always just build it/run it, and it'll dump all of the devices and you can try to figure out how to select the one you need. But I can't really help with figuring out how to compile/select the device, there are sooo many variations and ways that libusb/libftdi interact on systems to produce the device tree that it's just way too difficult. I've pretty much had to just clone the repository and mess around for a while to get it to work whenever I do need it.

xvcd-ff2232h.patches.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants