Hi
I am trying to programm a XC2S300E through a microcontroller using the Slave p mode. I make a ufp file ( which is just a hex file) of my program using xilinx ISE 8.1 and then using the microcontroller and and slave mode signals I send it to the fpga. I have all this working for another design, which is exactly the same micro but Xc2S150E FPGA. but I can not get this to work on XC2S300E.
here is what happens:
- I pulsed the ~prog line low and then high. ( to start the clearing configuration memory)
- I see FPGA lowers INIT line ( it shows it is busy clearning the memory)
- INIT goes high
- I am sending Clock along with 8bit data on D[7:0] and CCLK.
- I see INIT stays high ( so I thought CRC check was okay)
- DONE stays low, I never see it coming up.
after extensive search on the Xilinx website I read something that I could have a timing problem and I should keep sending CCLK till DONE goes high. so I tried just running CCLK for like a full SECOND after I was done sending my real data, and I still never saw DONE going high.
I purposly changed my hex file to see if I the CRC error happens and INIT goes low. but I never saw this. INIT was high the entire time after the initial memory clearning process( FPGA pulled it low then) so this means I am not as far as CRC test on the flow chart. I am wondering If FPGA thinks that it is not at the end of the file yet or if it is reading anything at all. I also checked the number of bits on hex file and it matches the number on the Xilinx Datasheet. so I know I build the correct hex file.
I have 3 different boards with XC2S300E that I have this problem with. so I doubt I have a connectivity issue or anything like that.
I also double checked my pull up and downs like 100 times by now. they all makes sense and match my board with XC2S150E( which I can configure with no problem)
Do you guys have any ideas where the problem coming from?.. what other things I should look at?
I appreciate you taking the time and reading my long email and helping me
Ben