Page 1 of 1

Xilinx Compatibility

Posted: Fri Jan 06, 2023 12:02 am
by Grumpo

Hi everyone, I'm new to the mister and this kind of stuff but I have a question.

For the existing cores and software, how easily can you port that to a Xilinx based device? I already have some hardware from them so I was hoping I could get something set up on an Ultra96 (or something similar).


Re: Xilinx Compatibility

Posted: Fri Jan 06, 2023 4:36 pm
by AngelicLiver

Short answer is; it probably can't be done.

It depends entirely on the capabilities of the device in question and even then it is not a trivial task. The DE10-Nano is feature rich and subsidised by Intel meaning it is affordable (for now), the community has invested an awful lot of time expanding its capabilities, both by way of hardware and software. Cores are only one piece of the puzzle too, the MiSTer framework is the glue that holds the project together and porting this is a daunting task that, without an install base, I'm not sure anyone would be interested to work on it.

Just look at all the work going into porting MiSTer cores to the Analogue Pocket and that's using Cyclone V / 10, its a huge undertaking.


Re: Xilinx Compatibility

Posted: Sat Jan 07, 2023 12:43 am
by Newsdee
Grumpo wrote: Fri Jan 06, 2023 12:02 am

For the existing cores and software, how easily can you port that to a Xilinx based device?

Your best bet is to start with cores already written for Xilinx devices, such as the ZxUno.
This page has a list of downloads for it: https://zxuno.speccy.org/descarga_e.shtml (you can also check their forums)

Alternatively you can start with MIST cores, which have less reliance on a central firmware (you still need one, but it's simpler than MiSTer's):
https://github.com/mist-devel/mist-board/wiki

Other than that, there is still massive work involved due to:

  • LE capacity may be different

  • Components presented to the FPGA may differ (SRAM vs SDRAM etc)

  • You will need a CPU to program the FPGA (built in the Cyclone V of the DE10 Nano, external in a Pocket, etc)

  • Some cores may rely on Intel-only HDL primitives (it shouldn't; but that was a problem when porting Xilinx cores to the DE10)

  • To fully port MiSTer, it will need porting the whole of MiSTer main as well (not just the core)

My advice would be to start small - just some cores - and go from there.

Looking at the card you mentioned, it seem fully capable - except it needs SDRAM expansion like the DE10.
(that being said, looking at Xilinx fancier boards makes me wonder if we could have a "streaming" version of MiSTer with an EV class board ... using video compression to stream video from the device... that would be very popular with streamers)


Re: Xilinx Compatibility

Posted: Sat Jan 07, 2023 10:57 am
by FPGAzumSpass

Porting a core alone is one thing, but you also have to provide things like disc access and controllers, video out, ... that come from our MiSTers Linux application and FPGA framework.

E.g. i ported the GBA core in less than a week to the Nexys Video board(Xilinx Artix 7).
But to do that, i previously made a very simplistic framework for the board, which took me about 1 month.

Overall, it's a massive undertaking when you want the full features set and i woulnd't do it "just to play some games".


Re: Xilinx Compatibility

Posted: Wed Jan 18, 2023 6:25 am
by jotego
FPGAzumSpass wrote: Sat Jan 07, 2023 10:57 am

Porting a core alone is one thing, but you also have to provide things like disc access and controllers, video out, ... that come from our MiSTers Linux application and FPGA framework.

E.g. i ported the GBA core in less than a week to the Nexys Video board(Xilinx Artix 7).
But to do that, i previously made a very simplistic framework for the board, which took me about 1 month.

Overall, it's a massive undertaking when you want the full features set and i woulnd't do it "just to play some games".

Exactly, the firmware side of MiSTer, which runs on linux, is critical.
An easier task would be to port MiST cores. You could use the same MCU that the MiST uses and thus the same firmware (no changes).

By the way, if you're making a new board add at least two independent memory interfaces, rather than a single one. For instance, two 64MB modules connected independently to the FPGA. The memory bandwidth is a bottle neck on the MiSTer.

Particularly for my cores, porting to Xilinx should be rather easy as you probably know.


Re: Xilinx Compatibility

Posted: Tue Feb 07, 2023 2:18 am
by Prometheus

Looks like the most comparable board is something like this https://www.myirtech.com/list.asp?id=553

It's still more expensive than the de10 nano.

It would, however be awesome to see something built around the Zynq ZU3EG or ZU4EG. It's a much more powerful Arm system with more RAM, DDR 4, and better specs than the Cyclone V.

Something like this: https://www.myirtech.com/list.asp?id=613

Even has a Mali GPU...not sure if that's accessible from the fpga or not.

At around $600... it's hefty, but it might be able to handle N64, PS2, Dreamcast, and maybe GC.


Re: Xilinx Compatibility

Posted: Tue Feb 07, 2023 4:05 pm
by dmckean
Prometheus wrote: Tue Feb 07, 2023 2:18 am

PS2, Dreamcast, and maybe GC.

It most certainly cannot.


Re: Xilinx Compatibility

Posted: Thu Feb 09, 2023 12:24 am
by Malor

I'm no expert, but from what I can tell, the $600 board is only a little bigger than the DE-10. If you spend $900, you can get 256K "logic cells", which I presume are about equivalent to the DE-10's LEs. So the high end board might potentially host circuits twice as complex, but for four times the price.

Even if the board is able to do everything the DE-10 can (like the high-speed scaler), a $900 buy-in is just not going to work with hobbyists.

I think there are two major problems with anything post-2000. First, the chips are mostly too fast to replicate with FPGAs. FPGAs rarely go much past 100MHz, not nearly fast enough to duplicate chips that advanced. And then you've got the complexity barrier; those later chips are incredibly complicated. The originals took large teams years to design, so expecting hobbyists to duplicate them is probably wishful thinking.

It's pretty likely that even if FPGAs were effectively unlimited in terms of resources, we'd still be at about the limit of what hobbyists can reasonably re-implement. We're hitting multiple barriers at once: size, speed, and talent. All three would need to be fixed to do any consoles in the next generation.