• 0
rgc

CMOD A7 Programming w/o Vivado

Question

Hello folks,

I'm creating a DIY project based on the CMOD A7 (a MIDI Synthesizer).
As I did it with other boards, I would like to have the builders to download the memory binary file, and do the flashing themselves in their CMOD A7.

However, I couldn't find a way to do that without forcing them to install Vivado. In other FPGA boards I've done similar projects, there's some small flashing utility that can be used.

Does that kind of utility exist for the CMOD A7?

Thank you.

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

@rgc,

I'll be curious what the Digilent staff has to offer when they chime in, but I know of three non-Digilent techniques you can use:

  1. You can always load a design into the flash on the board, and set the board up to load from flash.  If you touch the boards at all before delivering them to your customers, then this would be my recommended first step.
  2. There's a libxsvf project you can use that can be used to load a design via JTAG
  3. There's an openocd project that I've had success using to load designs via JTAG.  While I haven't tried it with any Xilinx-based designs, I would expect that such would work.
  4. If you can guarantee an initial design in your FPGA, then you can use the USB/USB port to communicate a new design to the FPGA if you'd like, and to have your design burn it in.  This isn't quite as scary as it sounds, since you can keep two designs burned into your flash--one that it initially loads from, and another that replaces it only if it can do so successfully.   This is an approach I have used often with great success, so feel free to ask me more about it if you would like.

Dan

Share this post


Link to post
Share on other sites
  • 0

xc3sprog works for flashing with minor modifications e.g. IDCODE. I have used it on Artix. Setting up the compile environment is quite a bit of work, though.

If that helps: for uploading to volatile memory (until the next power cycle), I've got source code here.

Share this post


Link to post
Share on other sites
  • 0

Thank you [email protected] and xc6lx45, I'll peek in those alternatives. The use case is that the builders would buy their CMOD A7 themselves, then flash them, so flashing a bootloader isn't an option.

Hopefully I can manage some of the JTAG loaders to work via USB.

Best!

Share this post


Link to post
Share on other sites
  • 0

Hi @rgc,

Digilent does not have any formal tool to load a flash program onto a Cmod A7, nor does Xilinx as far as I am aware. If you are looking to program a Cmod A7 with a .bin file for flash, you will need to use one of the alternate solutions listed by our two community members above. If you just need to load a volatile .bit file though, you could use Digilent's Adept software to load it to the Cmod A7.

Thanks,
JColvin

Share this post


Link to post
Share on other sites
  • 0

Thank you JColvin,

I checked the Adept software, and as it allows to upload a .bit file I used it to load a .bit bootloader, which writes into the flash via SPI. It's somehow convoluted (as it requires delivering two files) but it's functional.

Thanks again,

/rgc

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now