Re: Program Shuriken Video V3 Please Help!
Posted: Thu Aug 11, 2016 6:07 pm
Use "Initialize chain" instead.zeldaxpro wrote:I open up IMPACT, double click on the boundary scan and choose "add Xilinx Device".
Gamecube/Wii support & news forums
http://www.gc-forever.com/forums/
Use "Initialize chain" instead.zeldaxpro wrote:I open up IMPACT, double click on the boundary scan and choose "add Xilinx Device".
Thank you Unseen and meneerbeer. I am making progress. I have shortened the JTAG wires significantly as I was doing some research and some people said do not have super long wires. I double clicked on Boundary Scan and Right clicked on Initialize Chain. I get an identity successful!!Use "Initialize chain" instead.
At least that initialize chain shows that the chip is being recognized as far as I know. Anyone know what I am doing wrong or what the issue could be? Any help would be greatly appreciated! Thanks.PROGRESS_START - Starting Operation.
Identifying chain contents...'0': : Manufacturer's ID = Xilinx xc3s200a, Version : 0
INFO:iMPACT:1777 -
Reading C:/Xilinx/14.7/LabTools/LabTools/spartan3a/data/xc3s200a.bsd...
INFO:iMPACT:501 - '1': Added Device xc3s200a successfully.
----------------------------------------------------------------------
----------------------------------------------------------------------
done.
PROGRESS_END - End Operation.
Elapsed time = 1 sec.
// *** BATCH CMD : identifyMPM
// *** BATCH CMD : assignFile -p 1 -file "C:/Documents and Settings/AdminXP/Desktop/gcvideo-master/HDL/gcvideo_dvi/bin/gcvideo-dvi-shuriken-v3-2.1.bit"
'1': Loading file 'C:/Documents and Settings/AdminXP/Desktop/gcvideo-master/HDL/gcvideo_dvi/bin/gcvideo-dvi-shuriken-v3-2.1.bit' ...
done.
INFO:iMPACT:2257 - Startup Clock has been changed to 'JtagClk' in the bitstream stored in memory,
but the original bitstream file remains unchanged.
UserID read from the bitstream file = 0xFFFFFFFF.
INFO:iMPACT:501 - '1': Added Device xc3s200a successfully.
----------------------------------------------------------------------
----------------------------------------------------------------------
Selected part: M25P40
// *** BATCH CMD : attachflash -position 1 -spi "M25P40"
Unprotect sectors: FALSE
// *** BATCH CMD : assignfiletoattachedflash -position 1 -file "C:/Documents and Settings/AdminXP/Desktop/gcvideo-master/HDL/gcvideo_dvi/bin/gcvideo-dvi-shuriken-v3-2.1-spirom.mcs"
// *** BATCH CMD : attachflash -position 1 -spi "M25P40"
INFO:iMPACT - Current time: 8/11/2016 4:54:24 PM
// *** BATCH CMD : Program -p 1 -dataWidth 1
PROGRESS_START - Starting Operation.
Maximum TCK operating frequency for this device chain: 10000000.
Validating chain...
Boundary-scan chain validated successfully.
'1': Programming device...
LCK_cycle = NoWait.
LCK cycle: NoWait
done.
'1': Reading status register contents...
CRC error : 0
IDCODE not validated while writing FDRI : 0
DCM Locked : 0
status of GTS_CFG_B : 0
status of GWE : 0
status of GHIGH : 0
value of VSEL pin 0 : 0
value of VSEL pin 1 : 0
value of VSEL pin 2 : 0
value of MODE pin M0 : 0
value of MODE pin M1 : 0
value of MODE pin M2 : 0
value of CFG_RDY (INIT_B) : 0
DONEIN input from Done Pin : 0
SYNC word not found : 0
INFO:iMPACT:2219 - Status register values:
INFO:iMPACT - 0000 0000 0000 0000
INFO:iMPACT:579 - '1': Completed downloading bit file to device.
INFO:iMPACT:188 - '1': Programming completed successfully.
LCK_cycle = NoWait.
LCK cycle: NoWait
INFO:iMPACT - '1': Checking done pin....done.
'1': Programming terminated. DONE did not go high.
PROGRESS_END - End Operation.
Elapsed time = 0 sec.
Two things:zeldaxpro wrote:At least that initialize chain shows that the chip is being recognized as far as I know. Anyone know what I am doing wrong or what the issue could be? Any help would be greatly appreciated! Thanks.
Thank you Unseen for your help and information I really appreciate it! So are you saying that it could of been programmed correctly already despite this error or? Do you think it could be like a hardware issue with the board or programmer? I will check the 54MHz line, as well as go through the process again by selecting the Flash instead of the FPGA.Two things:
1) Impact only programs the chip that you selected - from the log you probably clicked on the FPGA, but you should click on the flash chip (small rectangle above the large square) instead and select "Program" there. For me, Impact sometimes reports failure even then - it shows in its log file that the flash chip was successfully programmed and verified, but its attempt to download the bitstream directly to the FPGA too failed with the same "DONE did not go high" problem. As long as the flash verification is successful this shouldn't matter though: If the DVI output works after power-cycling the Gamecube once, everything was programmed correctly.
2) It is possible that the download of the bitstream to the FPGA fails with the error you've encountered if the FPGA doesn't receive a stable clock signal (54MHz line) from the Gamecube.
Not according to the log you posted.zeldaxpro wrote:So are you saying that it could of been programmed correctly already despite this error or?
Probably hardware, but it could also be a programmer problem - the identification of the FPGA chip only needs to transfer a few bytes, the bitstream download sends much more.Do you think it could be like a hardware issue with the board or programmer?
You can easily tell if it's programmed or not. I've done this 3 times (with shuriken video and original firmware) and worked as expected.zeldaxpro wrote:So are you saying that it could of been programmed correctly already ...
Hello TALANTO thank you for your help. So are you saying when I have my gamecube powered on and the shuriken video connected, I take my multimeter and read pin 1 and GND. If it reads 3.3v, it means it is programmed? Doesnt IMPACT have to say programmed successfully though? Because I have the error:TALANTO wrote:You can easily tell if it's programmed or not. I've done this 3 times (with shuriken video and original firmware) and worked as expected.zeldaxpro wrote:So are you saying that it could of been programmed correctly already ...
You only need GND and +3.3 (if have more wires don't remove them) after that get multi meter and check pin 1 if it reads 3.3v so it's programmed and working. Remove JP1 if connected.
If it doesn't work after all you can try my way. Buy CH341A programmer for about $2 and program *.bin file directly into flash memory. (It's not tested but should works I've made pretty much the same with pc's parallel port and homemade programmer.)
But first someone with the Xilinx software must create that file "promgen -spi -p bin -o spi_flash.bin -s 512 -u 0 toplevel_p2xh.bit".
LCK_cycle = NoWait.
LCK cycle: NoWait
INFO:iMPACT - '1': Checking done pin....done.
'1': Programming terminated. DONE did not go high.
PROGRESS_END - End Operation.
Elapsed time = 0 sec.
Unseen said that it may be programmed so what I'm saying is just to check if it's working. It won't hurt trying but be careful with ESD (touch something earthed I almost killed my GameCube once).INFO:iMPACT:188 - '1': Programming completed successfully.
meneerbeer wrote:I still think there is a soldering problem somewhere. Perhaps try to gently tap all the pins on the FPGA to make sure all pins are connected.
I don't know if this helps, but I uploaded pics of my board. I can't seem to find anything wrong by looking at it, but maybe I'm overlooking somethingTALANTO wrote:I make close up photos of FPGA pins and HDMI connector for shorts and bad solder joints and it works. Definitely use flux for the small pitch.
I use wide tip like this for soldering and it's really easy.
Note: C7 should be 10uF and C8 should be 100nF so that the 3.3V supply rail raises before the 1.2V rail (next version going to have a proper reset IC).
Ok I will check to see if the 1.2v regulator is working. While powered on, I just take a multimeter to the input and then gnd pin to get a reading? C8 is not tantalum, but according to the build sheet part number from the BOM, it does not have to be (I also talked to happy_bunny on this). C7 is 10uF and C8 is 100nF (0.1uF).TALANTO wrote:Did you measure pin 1?
Yes, you can put 3.3v and program without the gamecube.
I can't see shorts or anything wrong on your pictures. May try pictures on different angle where you can see that it's connected to pcb.
Also check 1.2v regulator if it's working.
Edit:
Is C8 tantalum and the right value? You may have power issue. It may not affect programming but later won't work.Note: C7 should be 10uF and C8 should be 100nF so that the 3.3V supply rail raises before the 1.2V rail (next version going to have a proper reset IC).
The red one and GND. If you have voltage (3.3v) it means that it's working. But you also may get 1.8v (or other voltage) from gamecube so I recommend removing pin1 from the GC before checking.When you say "measure pin 1", are you referring to pin 1 on the FPGA? (marked in yellow), or Pin 1 on the GC Pin (in red)? Thanks.
Thanks for the reply! Yes I'm currently trying to program the board via JTAG with the Xilinx Programmer and IMPACT. JP1 according to the schematic needs to be connected to directly program the flash device. I initialize chain, add the .bit and .mcs. When I click on the flash chip portion and hit program, it fails (pretty sure SPI not found?). When I click on the FPGA pic and hit program, it fails (DONE did not go high enough). It's not connected to the GC anymore it's directly 3.3v and GND. I can't seem to figure it out. Does anyone have any suggestions on what the issue is? I can post the log if that helps.meneerbeer wrote:Can you flash the .bit to the FPGA? You need to do that through JTAG and it will send the configuration bitstream to the FPGA. Once you power off the FPGA it "forgets" the configuration, which is why there is a flash chip to hold the configuration permanently.
Are you trying to program the board through JTAG currently? I think you should not connect the JP1 in that case, but I do not have the schematics.
If you want to program the flash through JTAG you do not need the jumper. You are now programming the flash through the FPGA instead of directly through the programmer.zeldaxpro wrote:Thanks for the reply! Yes I'm currently trying to program the board via JTAG with the Xilinx Programmer and IMPACT. JP1 according to the schematic needs to be connected to directly program the flash device. I initialize chain, add the .bit and .mcs. When I click on the flash chip portion and hit program, it fails (pretty sure SPI not found?). When I click on the FPGA pic and hit program, it fails (DONE did not go high enough). It's not connected to the GC anymore it's directly 3.3v and GND. I can't seem to figure it out. Does anyone have any suggestions on what the issue is? I can post the log if that helps.meneerbeer wrote:Can you flash the .bit to the FPGA? You need to do that through JTAG and it will send the configuration bitstream to the FPGA. Once you power off the FPGA it "forgets" the configuration, which is why there is a flash chip to hold the configuration permanently.
Are you trying to program the board through JTAG currently? I think you should not connect the JP1 in that case, but I do not have the schematics.
On a side note I'm really thinking of trying to program this another way if possible. Has anyone had any luck with the method stated on happy_bunny's website, the CY7C68013A Mini Board (cypress FX2LP) method? Or any other methods at this point I just want to see this thing programmed and work.
Is happy_bunny the creator of this?happy_bunny wrote:download/file.php?id=2000
Code: Select all
promgen -spi -p bin -o spi_flash.bin -s 512 -u 0 toplevel_p2xh.bit