1
votes

I want to program an FPGA on a board that has a socket (zif etc or whatever is applicable) for said FPGA, from which it can be removed and reattached without soldering. I want to know where I can get a board suitable for programming an FPGA in this way?

Once the FPGAs have been programmed they will be attached to another different PCB via solder.

I wish to essentially program the FPGA in a similar way that it is possible to program an EPROM.

I wish to use VHDL if at all possible.

2
What is your FPGA? Name? Brand? Any info about it will be helpful. There are flash programmable FPGA, SRAM based FPGAs and in the old days where were FPGAs that needed a special programmer. Without that information, it is not going to be easy to tell you what to do. - FarhadA

2 Answers

6
votes

FPGAs are not programmed like an EPROM - their internals are completely volatile. In system use, they are 'configured' from some other non-volatile memory. For example, many can interface directly to a standard serial flash device to load that configuration.

This non-volatile memory is the device which you need to "program" in some fashion. For example:

  • before soldering, using some external agency
  • using JTAG (if it has such an interface).
  • Or, you can load a configuration into the FPGA over JTAG which then allows you to program the flash using the FPGA!
1
votes

It sounds as if you've misunderstood a thing or two. An STM32F103 is a microcontroller, that is, a processor with built-in memory, I/O and similar, and is typically programmed in C or C++.

VHDL (a Hardware Description Language) is used to program FPGAs (amongst others). There is a fundamental difference in the two types of chips. A processor is a "static" chip, which executes a program instruction by instruction, whereas in an FPGA the chip hardware itself is programmable - you (by using for instance VHDL) describe the actual connectivity and functionality of the chip, and essentially create numerous small, customized and application-specific processors.

You should probably first of all learn a bit more about the differences between the two types of chips - then have a look at for instance some of Digilents FPGA boards.

Also, programming a chip in one board, unsoldering it, and soldering it to another is not a good idea. Both microcontrollers and FPGAs today should be soldered to their final board, and then programmed (for instance over JTAG) - I'm sorry to say that what you are proposing doesn't really make much sense - and if you look at the pin count and packages of today's chips you might see why.