MEGA65 / mega65-core

MEGA65 FPGA core
Other
241 stars 88 forks source link

1BitSquarred HyperRAM-quad support for nexys4ddr-widget target #691

Closed tdeval closed 1 year ago

tdeval commented 1 year ago

It is active on the XADC and JA PMOD ports of the NEXYS board. This module has a different pinout than the single-chip HyperRAM module. I wonder how I could detect the different modules ???

Support for the DIY Keyboard on JBhi is also enabled.

Widget connection has been moved to JD and JC.

lydon42 commented 1 year ago

Is moving the widget connection to different ports a good or a bad thing? I suppose someone might have some setup with the widget board on one side of the nexys and with this change it needs to be connected to the other side, correct?

tdeval commented 1 year ago

I initially used JC+JD on the other side indeed. But I had poor results and flashing from MegaFlash was not reliable. Then I looked about the XADC port which has length-matched pairs. And JA has quite straight lines too. As the HyperRAM is driven at a high clock rate, I changed my code to use them. I even setup the hyperram block to be placed close to those pins. The end result, which I tested before filing this PR, was that the module passed all hyperramtest.prg tests. And flashing a core looks reliable.

I can build a core setup for the JD+JC ports, for anyone to test. Of course, I'm uncomfortable forcing people move their widget board. But as I have no such board, I could not feel the pain.

gardners commented 1 year ago

Please give an opinion as to whether the PMOD reassignment creates a risk of damage if the widget board is connected in the old place with the new bitstream. If not, then I am comfortable to merge this in. Thanks for the great work on this, too!

tdeval commented 1 year ago

Hello,

I must get back to it and think it through again. Indeed, though I don't see any possible damage when wrongly connected, it could be disturbing for widget board users to make them change its connection. And I'd like to support both single and quad HyperRAM PMOD modules, and that for both the NEXYS and QMTech boards. This will take some time though, as I left it untouched for too long.

We may close this PR# for now. I will make a new one when I have something solid to propose.