Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Valued Contributor III
1,678 Views

Powering FPGA During Programming

Hi everyone- 

 

I am finalizing a PCB layout using a Max10 FPGA. This PCB will (hopefully) go into production in our small electronics business, and it will usually be programmed by technicians on the manufacturing floor. It is essentially a daughter board for a larger circuit board, and as such, it has no "easy" way to attach power during JTAG programming (before it is fully assembled). 

 

So my question (which may be quite common: sorry if it is a repeat)... Is there an easy way to apply power to the FPGA via the JTAG header? We *could* set up some convoluted system with alligator clips and everything to apply power to the correct solder pad, but since this will be programmed by technicians, I would like to keep it as simple as possible. 

 

Has anyone come up with some clever way to accomplish this? 

 

Could I, for example, somehow intercept the Vcc wire on the USB Blaster cable and apply 3.3V (my system voltage) that way? 

 

Thanks! 

Robert
Tags (2)
0 Kudos
4 Replies
Highlighted
Valued Contributor III
7 Views

The 'VCC' wire on the USB Blaster 10pin cable pinout is an input to the USB Blaster that tells it what voltage level the I/Os run at. So the 3.3V power on that pin either needs to come from your board or as you indicate an inline interceptor power cable. 

 

That being said, it also depends on your MAX FPGA board design and how the 3.3V power rail on the board is generated. Can that rail be powered on independently (by your external 3.3V supply) without damaging the board level 3.3V supply (which will be back powered). Is your MAX FPGA design a single rail 3.3V power supply, or is it 3.3V for I/O, and 1.8V (or so) for core? If so, is the core 1.8V derived from the I/O 3.3V, or is it generated independently? 

 

So without additional information on the very low level details of your system power supply configuration the question can't be answered with an unqualified yes, but at best, maybe, at this point.
0 Kudos
Highlighted
Valued Contributor III
7 Views

Hi Robert, 

 

One quick clear idea I can think of is MAX10 has on-chip Configuration Flash Memory. You can design a simple Programmer board to Program the Configuration flash (Similar to old days micro-controller used to be programmed with the binaries). In the product line the technician can program the Chip using the programmer board & then assemble it on the daughter card. 

 

Regards, 

Ritesh
0 Kudos
Highlighted
Valued Contributor III
7 Views

If you supplied 3.3V to your board via the VCC pin of the JTAG header, would your board and FPGA power up correctly? 

 

If it will, then yes - you could "intercept" VCC and supply 3.3V to both your board and the USB-Blaster. You could create an adapter board with a 2x5 way socket to plug onto your board and a 2x5 way header to take a USB-Blaster (all header/socket pins could be connected 1-1, 2-2 etc.). The adapter board would also have a connector through which you'd supply 3.3V. 

 

If your design relies on other rails, to either generate the 3.3V (and/or other) rail(s), then the solution is going to be more involved and will, almost certainly, amount to you making a board to 'host' and power your daughter board. 

 

When designing with FPGAs always consider - as early as possible - the practicalities of programming it and putting the thing to use, both in the lab and in production. 

 

Cheers, 

Alex
0 Kudos
Highlighted
Valued Contributor III
7 Views

OK, thanks everyone! 

 

My whole board runs at 3.3V, which is supplied by a switcher from Linear (the LTC3031). I checked with the Linear engineer, and he confirmed that it would not harm the switcher to backfeed it (although he had some practical reservations). 

 

Having said that, I think that we may actually just build a little bed-of-nails programmer and supply the normal voltage to the board for programming. That seems like it is the best and safest way. The way I designed my board, supplying 3.3V via an intercept in the Blaster cable probably *would* work, but I think that it may not be the best way. 

 

However, it seems like this would be a common issue, and it would be cool if Altera could come up with an "official" way to do it! :) 

 

Robert
0 Kudos