• 0
amkichu

Programming Artix 7 without JTAG using GPIO pins

Question

I have PCB with Artix-7 FPGA and other components including flash and has CMOS connection via 8 lines to FPGA GPIO pins. How can I configure/program/load this unprogrammed FPGA (no previous bitstream or mcs image loaded in the FPGA) with GPIO pins? Note that, I don't have access to the JTAG port and no embedded processor and and configuration mode pins M2, M1, M0 is (001) in the design.

Edited by amkichu

Share this post


Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 0

unsolder flash / program flash / resolder flash 🙂

OK most likely that's not what you wanted to hear. ..
The men in white coats might have some ideas (e.g. needle-probing a Flash in a large-pitch package isn't that hard, and / or lift off the MISO pin with a scalpel and connect your own Flash).

Other than that, I think you've ruled out the possibilities (001 is "Master SPI", table 2-1). How would you think does the manufacturer of the board handle this?

 

 

Edited by xc6lx45

Share this post


Link to post
Share on other sites
  • 0

I wasn't going to think about this question but as @xc6lx45 already has and concluded that the board is set up for Master SPI I'll bite. ( I was thinking that you wanted to use any available IO pins for configuration.... fortunately for you xc6lx45 wasn't so lazy.

Read the datasheet for the device. Read the Xilinx configuration reference manuals and tutorials. Look over my project in the Project to configure a Spartan 3 board using the CMOD A7-35T for a head start on a possible approach. You'll need a different board if you want to replicate my approach as the configuration file is considerably larger than the 512KB SRAM on the CMOD A7; but there are certainly ways to solve that problem. You'll need to use a different configuration method than I did. If a PROM with an SPI port can spit out configuration data then so can a logic design ( Assuming that there isn't some undocumented magic sauce... and that could be the case I suppose; I've not done SPI configuration before ). You'll have a fairly good project in getting your board programmed... and need a lot of patience waiting for configuration to complete,.

I don't know of a reason why  it can't be done.

Sounds like a lot of work... but... sure beats "unsolder flash / program flash / resolder flash"...

I only did the Spartan 3 programmer project because I told another questioner to this forum site that it could be done with minimal difficulty.. and later felt obligated to prove it.

 

Edited by zygot

Share this post


Link to post
Share on other sites
  • 0

Well, I think the OP had explicitly ruled out JTAG, otherwise xc3sprog can do the job (just add the IDCODE, the last time I checked this was the only change necessary for Artix).

Or am I missing something here?

Share this post


Link to post
Share on other sites
  • 0
19 hours ago, xc6lx45 said:

Or am I missing something here?

Questions like the one posted to this thread cause me a bit of anxiety as it's not quite clear that providing clues isn't abetting nefarious activity. It certainly strikes me as curious that someone wants to configure a board that isn't a known development kit and with a non-obsolete device and no obvious way to configure it. I just have that uneasy feeling... 

Share this post


Link to post
Share on other sites
  • 0

Using something like libxsvf can be a good option. @[email protected], you are definitely a veritable lifesaver for me in this aspect. Thanks to all for your inputs.

 

Besides, I feel modifying the board a bit like adding a demux to switch the (4 pins) pins of GPIO to JTAG tracks can also be a good choice.

Edited by amkichu

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