I have a board with an Altera EPF10K30RC240-4N. It has an EPC1 next to it, which I found is the "Configuration EPROM". I assume this stores the "program"?

The FPGA is not functioning and appears to have an internal short. The device has long been discontinued and is NLA unless you pay $$$ for the few remaining in stock. However, there are chips within the "Flex 10K" EPF10K family that are still readily available. For example, the EPF10K50VRC2403N and EPF10K50VRC240-4 are out there.


  • Is FPGA substitution within the same family even possible?
  • If so, what parameters are most critical (pin count and package, obviously)?
  • Can a substitute have more gates than the original?
  • Do all FPGAs have to be programmed with a bootloader in order to function? Or perhaps this particular Flex 10K device reaches out to the EPC1 by default?

1 Answer 1

  • If you don't have the original source code:

    It is generally not possible to switch devices, even in the same family without recompiling the firmware to suit the new target device. This is because the devices have different resource counts and therefore need a different bitstream.

    The only exception might be going for the same device but a faster speed grade version if available, but even that is questionable as to whether it would work without causing timing problems.

  • If you do have the original source:

    The answer depends on whether the device family you are using has migration options. You would have to check the documentation as to whether this is the case for your device.

    Many FPGA vendors produce devices that are the same family and package size, but in differing resouce counts. These devices are frequently designed such that they are migration compatible - i.e. you can go for a larger resource count device in the same package and it will be electrically/footprint compatible.

    In your case, based on "Flex 10k Embedded Programmable Logic Device Family Data Sheet" document, the Flex 10K series does support device migration, i.e. larger resource count devices with the same package are electrically compatible:

    • Pin-compatibility with other FLEX 10K devices in the same package

    You do have to be careful with this particular series though, as some devices run at 3.3V whilst others run at 5V. In particular your part number 10K30RC240 is a 5V device. The two parts you list, both 10K50VRC240, are 3.3V devices, so would not be suitable. The migration compatible devices would be the 10K50RC240, 10K40RC240, 10K70RC240 etc.

    However, again this would only be possible if you could recompile the firmware to support the larger resource count device.

  • \$\begingroup\$ Source code is NOT available. So you're saying there has to be some kind of program running on the FPGA even though it [presumably] gets its configuration from the EPC1? \$\endgroup\$
    – jfriend
    Aug 31, 2023 at 16:40
  • 1
    \$\begingroup\$ @jfriend not quite, the configuration on the EPC1 is the bitstream that tells the FPGA how to configure itself. This bitstream is synthesized from the source code to match the specific device, and cannot be used with other device sizes or families. \$\endgroup\$ Aug 31, 2023 at 17:02
  • \$\begingroup\$ So if I did acquire another of the exact same chip and placed it on the board, it might work? \$\endgroup\$
    – jfriend
    Aug 31, 2023 at 17:10
  • 2
    \$\begingroup\$ @jfriend assuming the rest of the board is functional, it theoretically should. I don't believe the Flex10k series uses encrypted bit streams (too old and simple) so there should be nothing stopping a like for like swap working. \$\endgroup\$ Aug 31, 2023 at 17:19
  • 1
    \$\begingroup\$ I acquired and installed the exact same FPGA part and it worked perfectly with no configuration. I literally soldered it in, powered up the board, and it took off on its own. \$\endgroup\$
    – jfriend
    Sep 28, 2023 at 18:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.