Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] can't load VHDL design from PROM

Not open for further replies.


Junior Member level 3
Apr 29, 2011
Reaction score
Trophy points
Activity points
hello all,

i have a SPARTAN 3A FPGA and have designed a simple VHDL program to blink the LED on and off. i loaded the .bit file into the FPGA and verified that it works (LED turns on and off like it should)

i want the FPGA to be loaded with this code each time it resets/powers on, so i created the .mcs file from the .bit file using the ISE iMPACT tool. i loaded it into the PROM (xcf04s) and programmed it but the LED doesn't turn on at all.

am i missing something here? i verified the PROM and it was successful...the FPGA isn't being loaded with the design from the PROM upon startup...



It depends on how your PCB is configured for power on reset. i.e. how the prom is connected to the FPGA.

correct me if i'm wrong, but from a software point of view is the procedure i did above correct as far as you know? or did i make a mistake somewhere? i created a .mcs file from the .bit file so my understanding is that the .mcs file does the exact same thing as the .bit file (which is to blink the LED) just that the .mcs file goes into the xcf04s which is the PROM?

my understanding is that the .mcs file does the exact same thing as the .bit file (which is to blink the LED) just that the .mcs file goes into the xcf04s which is the PROM?
To do "exact the same thing" some hardware requirements have to be met, as kalyanasv mentioned. The configuration can't be loaded through the JTAG chain from ROM to FPGA, you need a dedicated connnection.

Software point of view looks fine=>"Program Successful". Check your connection. You can have a look at the app note. Also there is a detailed app note on using it as well. You might want to go through both.

mmmmmkay from the appnote you posted it seems that the M[2:0] pins are grounded i.e '0' but mine are all '1', maybe that's the issue...i'll give it a shot, thanks!

Hi ptjw,

Are you able to solve this issue?
I am also having the same problem and currently still try to figure out the problem.


yea i actually just fixed it yesterday, turns out it was the M[2:0] pins, they have to be 000 and mine were set at 111...once i shorted those 3 pins to ground the FPGA booted up from the PROM each time i turn it on and off

Hi ptwj,

Mind sharing the steps which you have carried out from generating the bit file until you successfully loaded your design from the PROM?
Does the jumper settings need to change at each step or just tied M[2:0] to '0'?

i am able to program both the FPGA and the PROM with the M[2:0] pins permanently set to 000...

you create the bitfile by generating the programming file from the ISE project navigator. when you start up iMPACT, go to boundary scan and initialize the chain and the JTAG cable will check and show you what FPGA and PROM you have hooked up.

once the devices are shown, you can create a PROM file using iMPACT. select Xilinx Flash/PROM and the PROM Family should be 'Platform Flash'.

you should then see xcf04s (that's what i'm using) and select add storage device. add the bit file you created from the ISE project navigator and select generate file, your PROM file will then be created and you can load this into the PROM. it should load the FPGA on startup, thats all i did to get mine working

Not open for further replies.

Part and Inventory Search

Welcome to