I migrated project from DE0-Nano to custom board with Altera Cyclone IV EP4CE22E22 (TQFP-144). I don't know if I migrated it correctly since I am not the author of the project and it's first project for Altera I'm working on.

When I try to upload the project to flash of my board, it throws an error:

Error (209025): Can't recognize silicon ID for device 1. A device's silicon ID is different from its JTAG ID. Verify that all cables are securely connected, select a different device, or check the power on the target system. Make sure the device pins are connected and configured correctly.

I guess there is a problem with hardware since I am able to load the project to DE0-nano. Also I am able to load the project to the fpga's ram.

I'm using Quartus 18.1 and when I googled this error, I found that since Quartus 18.1 till Quartus 19.4 there is a bug causing this error. I tried to install Quartus 21.1 but it seems that Nios II compilation tools are missing so I am not able to rebuild it with the new version. I tried to load project with version 21.1 but compiled with 18.1 with the same error.

MSEL pins are configured to 101 which should be fast active serial but for JTAG programming it does not matter if I understand datasheet right. MSEL needs to be just non floating.

Here is schematic of flash part (using JTAG connector to program - not part of shared schematics) flash schematics

I wonder where I made a mistake. Do you see any mistake?

  • \$\begingroup\$ You need to make sure the JTAG (programming) connections are the same in your custom board and the DE0-Nano board. Also, you said you tried to upgrade to Quartus (Lite) v21 but that version removed the SDRAM controller from the lite (free) version. You can use Quartus lite v20.1. \$\endgroup\$
    – Rodo
    Aug 17, 2022 at 17:25
  • \$\begingroup\$ JTAG connections should be the same in my custom board and the DE0-Nano board. I am able to load the project to FPGA but when I want to load it to flash then it is not possible in my custom board, but DE0-Nano's flash works. \$\endgroup\$ Aug 18, 2022 at 9:01
  • \$\begingroup\$ The flash in the DE0-Nano seems to be EPCS64 and the one on your board is S25FL128S. The connections are most likely not the same and that's why your board doesn't recognize S25FL128S. \$\endgroup\$
    – Rodo
    Aug 18, 2022 at 17:22
  • \$\begingroup\$ Thats right, DE0-Nano has EPCS64, but it is not produced already. My DE0-Nano board has exactly Spansion FL064PIF. I designed the connection according to datasheet of S25FL128S. I could not find the FL064PIF datasheet, but everywhere were links to S25FL064P and the pinout seems the same except pin 14 (DNU vs Vio/RFU). But the flash is the problematics piece, I found by oscilloscope that flash does not responds to FPGA so it seems that the flash memory has defect \$\endgroup\$ Aug 19, 2022 at 10:09

1 Answer 1


There is a simple solution. I miss routed Data In and Data Out between FPGA and flash. Pin 8 of flash should be wired to pin 13 of FPGA and pin 15 of flash should be wired to pin 6 of FPGA.

When I connected it right then there was no error during loading.


Your Answer

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

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