Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom Board output issue #94

Open
Luigi90900 opened this issue Jun 26, 2022 · 10 comments
Open

Custom Board output issue #94

Luigi90900 opened this issue Jun 26, 2022 · 10 comments

Comments

@Luigi90900
Copy link

I have been working on a board that is similar to the Wii Dual in layout and nearly identical in pinout (I was hoping to use the same firmware build settings when generating the firmware) The board powers up and the LED comes on flashing for a few seconds before turning solid, but there is no output from any pin on the FPGA in either state. I'm not sure what could be causing that problem so I'm unsure of where to troubleshoot. This is my first FPGA project so I am a bit of a moron when it comes to this stuff.

It is connected to the Wii AVE-RVL through some short wires because I don't have a flex cable like the Wii Dual, and the signals reach the pins on the FPGA. Checking every output with an oscilloscope shows zero activity. The only pin that seems to do something is the LED pin.

@ikorb
Copy link
Owner

ikorb commented Jun 26, 2022

It's hard for me to diagnose something like this, but the initial LED flashing may just be the FPGA trying to configure itself. Check if the FPGA actually reports a successful configuration on the DONE pin.

@Luigi90900
Copy link
Author

The Done pin does go high. I can see the activity on the SPI bus as well. I figure something about the way I built the firmware isn't working quite right, but I'm not sure what that could be.

@Luigi90900
Copy link
Author

Luigi90900 commented Jun 26, 2022

In case it matters, I programmed the flash indirectly through the FPGA's JTAG interface following Xilinx's documentation from the .mcs file in the latest release. The flash is a M25PE40, rather than a P40, but I made sure to select the correct part when flashing with impact. When programmed, the verification passes and it shows the FPGA was programmed successfully.

@ikorb
Copy link
Owner

ikorb commented Jun 26, 2022

Unfortunately debugging this will not be easy, At this point it could be caused by a lot of things and the regular output signals are not sufficient to determine the cause - your specific problem could be anything from a missing/misconnected 54MHz clock, non-locking PLLs due to a "dirty" 54MHz signal, missing syncs due to a misconnected VData signal, missing/miscompiled ZPU code, problems with the startup delay (requires BClock) etc. etc.

Since you can do custom builds, your best bet is probably to selectively route some signals to external pins to scope them. Good candidates for that would be the "Locked" signal from ClockGen, the ZPU Reset signal, some low bit from the ZPU ROM address bus, HSync/VSync from the output of gcdv_decoder and possibly more depending on the results.

@Luigi90900
Copy link
Author

Thanks for the help, I'll start checking things there.

@Luigi90900
Copy link
Author

Just to clarify some things, what signals are necessary for the board to output video? Obviously you need Data 0-7, 54 MHz, and CSel. But are the I2S lines also needed?

@ikorb
Copy link
Owner

ikorb commented Aug 3, 2022

54MHz clock, VData 0-7, CSel and BClock are required - the last one is used to delay the actual startup a bit because the 54MHz clock signal takes some time to become stable on Wii and without delay the PLL would sometimes fail to lock.

@jmsunseri
Copy link

What FGPA chip did you go with? I was thinking about making something based on the Spartan-7 using GC Dual as a template but simplified closer to an internal Pluto II mod.

@Luigi90900
Copy link
Author

I used the Spartan 3A XC3S200A

@Luigi90900
Copy link
Author

Luigi90900 commented Aug 2, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants