• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
General question (HDMI shield + Software question)
(11-17-2021, 03:02 AM)Tyrving Wrote:
(11-16-2021, 11:48 AM)Joena Wrote:
(11-09-2021, 04:44 PM)Tyrving Wrote: Happy to help!
I have watched a fair bit of nandland videos, it's a shame he stopped posting frequently - glad to hear the go board is a good product.
Honestly, I don't know a whole lot about this stuff - I just purge the spammers, approve posts, and answer the questions I can. I can't say I have noticed any retro gaming posts on any of the three boards as of yet. Most of the posts are concerning hardware/software issues, but if you want to check out the "show and tell" category in the forum, you might find something (a brief search for SNES returned only this thread, I think you are out of luck).

I know there is an (incomplete) GPU tutorial, where Justin walks you through designing a GPU to render a 3d model, and send that to a little display over some non-consumer-grade protocol, directly wired to an Au. Probably not super helpful, just putting that on your radar. I think the HDMI element has been "coming soon" for quite a while now, so hopefully it will be released soon. Justin, if you read this - any updates?

As for the amount of RAM in the FPGA's-
As I'm sure you know, the Au+ is EXPENSIVE - see if you can make use of the 256mb of DDR3 on the Au - which you probably already know about, but I dont want you to spend another $200 on the Au+ just to realize it is complete overkill. I understand you can also get another 400Kb of distributed ram out of the Au, should that be useful. Souce: https://www.xilinx.com/content/dam/xilin...-guide.pdf

Based on Wikipedia, the SNES has a total of 192KB of RAM (128 general purpose, 64 audio + video) - although the SNES's CPU runs an order of magnitude faster than the Au clock. As you know your project (and FPGA's) better than I do, I won't make any claims as to whether a product I do not fully understand will suit your needs - but the numbers you found appear correct based on my reading of the Xilinx datasheets.

This sounds like a super cool project - I would love it if you kept me and the forum updated on any progress!

Hi Mark, thx so much for your extensive answer and information.
I appriciate it a lot Smile
I am puzzled by two things concerning RAM and one thing consering clock speeds, perhaps you (or someone of the community) can help me out (one more time Wink)?

The Amiga System (the most demanding core I want to 'emulate') uses 512KB RAM,
So to run games I need to have direct access to 512KB RAM or more.

My initials thought was to use the Xilinx Artix 7 XCA7A100T (135 x 36kB = 4860 kb = 607,5 KB Block RAM) as the heart of my handheld system (a nice but expensive handheld system Wink) My 3 questions are:

1.) The XCA7A100T has a 1188 Kb (= 148,5KB) Maximum Distributed RAM, is this a problem for me since the Amiga core nees 512KB at once?
2.) If I choose the AU board (way more wallet fiendly, but: Xilinx Artix 7 XC7A35T > 50x 36Kb = 1800 Kb = 225 KB Block RAM); how can I 'transfer' or make use of the DDR3 memory (where there is plenty off) for direct access for the FPGA, so the Amiga Core sees this as 512KB+ RAM?
3.) Is it possible to work with custom clock speed / crystals with for example the BR expansion board? thus 'emulating' the 4 different cores at their right speed?

Cheers, Jeroen
Glad I could help. After looking at the SNES and Amiga 500's specs, these should both be within the capabilities of the AU.

1 & 2) The latency of the Amiga 500's ram was 150ns (source: https://en.wikipedia.org/wiki/Amiga_500#Memory), which is far more than what you should get out of the DDR3 ram - at WORST ~20ns (source: https://en.wikipedia.org/wiki/CAS_latency), but I don't think this counts memory controller latency. Either way, this will be far faster than the original Amiga 500. You should use the block ram akin to a CPU cache (don't take my word for that, please double-check me), 255KB should be enough for such an early computer. Point is, the ram of the AU is more than sufficient. You should check out https://alchitry.com/ddr3-memory for information on the use of the AUs DDR3. The SNES also has ram in the kilobyte range, making the AU more than sufficient.

3) The AU's clock operates at 100mhz by default. While you can use an internal PLL to customize this, you shouldn't need to. I was completely wrong prior to this, apologies. I believe I misread mhz as ghz, whoops. Both the Amiga 500 and SNES run in the megahertz range, far slower than the AU. Speed should not be an issue.

Point is, after a lot more reading, it seems AU has more than enough for anything you should need to do for the Amiga 500 or SNES, in terms of clock speeds, ram quantity and speed, and i/o.
During said reading, it appears as though someone has already made an FPGA implementation of the Amiga 500 - see https://en.wikipedia.org/wiki/Minimig. Based on the FPGA used, which had around eight thousand logic elements, the AU's 33 thousand should be enough. Note, there could be some other critical spec that your FPGA needs to fill, but as far as I can tell, all is good.

Happy to help,

Hi Mark, super, this all sounds very possitive Wink

The 'regular' AU is also wallet friendly (well sort of Wink)
P.s. instead of the Minimig there is another huge product out there, the MiSTer project: https://misterfpga.org/ 
it's a super mature product (retro FPGA machine) and it has a huge community behind it (which is a major thing). This device is a little bulky and is not meant to be used as a handheld device (which would be my target/niche). But cores for all the major systems has already been written. It will be a challenge to 'port' these to the Xilinx Artix 7 XC7A35T FPGA for the 4 cores (C64/NES/Amiga/SNES) I want to 'emulate'.
There's also another project out there: the Analoque Pocket, but this (pricey and delayed) device takes on another approach which is not the way I want to approch it: https://www.analogue.co/pocket

Super you provided the url's for the memory issues and work arround so the FPGA has access to it. 
Also nice to hear clock speeds won't be an issue.
Now it's time for me (I guess) to start developing.
I will keep you and the community posted if I have any progress regarding this project, ok?
P.s. if you hear from Justin regarding an update about his GPU tuturial (perhaps via a 40-pin RGB connector in combination with an IPS display, or a HDMI output with embedded audio) I will be glad to hear more. I will also keep an eye out in this forum.

Thx for now and your time researching SNES and Amiga fact and figures.

Jeroen Ensing

Messages In This Thread
RE: General question (HDMI shield + Software question) - by Joena - 11-17-2021, 09:07 AM

Forum Jump:

Users browsing this thread: 1 Guest(s)