1. OCAU Merchandise is available! Check out our 20th Anniversary Mugs, Classic Logo Shirts and much more! Discussion in this thread.
    Dismiss Notice

MiSTer FPGA (computer/console/arcade hardware simulation)

Discussion in 'Retro & Arcade' started by elvis, Oct 14, 2018.

  1. MUTMAN

    MUTMAN Member

    Joined:
    Jun 27, 2001
    Messages:
    11,384
    Location:
    4109

    vs. A whole new FPGA that isn't subsidised like the de10 is ....
    No one but FOMO puts a gun to your head to buy into the expansion.
    It's most certainly cheaper for those in the existing ecosystem to get more (assuming this is even possible)
     
  2. MUTMAN

    MUTMAN Member

    Joined:
    Jun 27, 2001
    Messages:
    11,384
    Location:
    4109
    Back on that's possible and happening in MiSTer Land I got a giggle out of this

    Screenshot_20220616-171227~2.png
     
  3. CRTified

    CRTified Member

    Joined:
    Jan 25, 2021
    Messages:
    507
    I'll make that choice, once I see the official specs of this theoretical expansion no-one's working on or knows about. :D Until then, let's not judge it.

    I was just trying to make the point that console generations' "exponential" rise in transistor count vs the linear expansion offered by clustering boards means that, expansions-or-not, the generation reach of the MiSTer is unlikely to get a great deal higher for as long as it's based upon the DE10Nano board. Nothing wrong with that. It'll be a long time til I've played everything it already has. And who knows what the future holds.
     
    Last edited: Jun 16, 2022
  4. gdjacobs

    gdjacobs Member

    Joined:
    Apr 3, 2007
    Messages:
    2,982
    Location:
    MB, Canada
    l
    Less about GPIO than continuing to add hardware when the logic units of the de10's FPGA have been exhausted or even for functions where an FPGA isn't optimal. Until Terasic creates a subsidized dev board with a more capable chip, this will be the only way of adding hardware and platforms beyond the limits of the Cyclone V SE.

    This could also be interesting for the various mcus out there, although you would be stuck with USB, perhaps PCIe, or much slower interfaces on the GPIO. I suspect these would have limited usefulness (either complexity/licensing for FPGA use or limited performance), so some form of glue logic would be required.
    I wouldn't necessarily throw out the idea of strapping two de10s together, although that would certainly be more for devs and early adopters continuing to really push the envelope. Expansion with smaller, cheaper chips (be they FPGAs, DSPs, ASICs, etc.) could take pressure off the Cyclone V and give the platform some more growth potential for a much more modest material cost.
     
    elvis likes this.
  5. CRTified

    CRTified Member

    Joined:
    Jan 25, 2021
    Messages:
    507
    I wouldn't entirely discount the idea of clustering either. I can't deny some cynicism based upon diminishing returns, and the exponential_vs_linear point I've made above, when it comes to FPGA capacity itself. But nobody would deny the idea of economically-sound* expansion options.

    I'd like to think that Terasic would see the business opportunity and make some changes themselves. For example, populate the board with a more capable ARM (for a mere $$ cost change), then suddenly there's a lot more off-FPGA processing ability to take care of side stuff.

    However, dependent upon the detail of your suggested "high speed interconnect", that obviously is a conceptual option too.

    *Not many will share my concerns in the following niche respect: but it's important to me that we (MiSTer users) don't end up littering the world with reams of single-use "$100 expansion boards" as a course of habit. Economy of design, financially and ecologically, has to be among our highest priorities.
     
  6. Grant

    Grant Member

    Joined:
    Jan 23, 2002
    Messages:
    1,907
    Location:
    Wollongong
    You could take the concept in a bunch of different directions.

    • We already attach a faster ARM core via serial for mt32-pi
    • For most of these systems, the CPU is the part that's the least timing-sensitive, cf. a real Amiga with a PiStorm where an ARM core is emulating an m68k.
    • There's some interest in FPGA implementations of rare individual chips, eg. FPGASID and ReAgnus.
    • There's also the concept of reimplementing boards/chips with ARM cores running software, eg. PiGUS and ARMSID.

    For the concept of a generic (not core-specific) interconnect, obviously where that would be useful is in more complex systems of the analogue era, up to about PS3. But that's just a small number of systems, and would probably end up being highly specialised anyway. The harder part is the bandwidth requirements of these systems probably exceed what's available on the DE-10 nano. Even if you can break up a system's processors with the bandwidth available, we're also running into the limits of the SDRAM bandwidth.

    It would be much nicer if we could get the Cyclone V at a price amenable to putting it on a custom PCB, but that's literally where the project evolved from with the MiST and Minimig.
     
  7. gdjacobs

    gdjacobs Member

    Joined:
    Apr 3, 2007
    Messages:
    2,982
    Location:
    MB, Canada
    Lots of options. SPI or LPC might be enough for some low bit rate peripherals. Altera has SerialLite for multi gigabit chip to chip and board to board connectivity, but I'm not sure what would be better for a more heterogeneous setup (fast and parsimonious with FPGA logic).
     
  8. OP
    OP
    elvis

    elvis OCAU's most famous and arrogant know-it-all

    Joined:
    Jun 27, 2001
    Messages:
    46,813
    Location:
    Brisbane
    I'd be interested to see what's the possibility of something like an N64 RDP running on an RPi4 (there are new Vulkan implementations that might work perfectly on the new Videocore VI Vulkan 1.2 conformant MESA drivers due next quarter), leaving the N64 RSP (somewhat like a MIPS R4000) on the FPGA. Or similarly, a Pentium and/or Voodoo software emulated core that partners with the FPGA for other tasks.

    I have no idea what sort of bandwidth back and forth is required. I'm assuming "lots" compared to the minuscule amount for something like MIDI.

    I know someone is mucking about with a software M68K on the DE10Nano's ARM core for Minimig, although it's quite weak compared to an RPi3/4. And obviously the bandwidth to it is much higher, being on board.
     
  9. CRTified

    CRTified Member

    Joined:
    Jan 25, 2021
    Messages:
    507
    The problem - at least, as my simple mind sees it - is that, as I keep banging on, there will be no FPGA PS3 core based upon the DE10Nano. You'd need to cluster so many of them together it'd be ridiculous.

    Back of envelope figures (and acknowledging the known fact that pure transistor count is not exactly analogous to FPGA capacity, but is close enough for discussion purposes), say the PSX 1 has in the order of 1 million transistors. The DE10Nano barely handles it, and that PSX core is (rightly) considered by many to be an incredible work.

    The PS2 has in the order of THIRTEEN million transistors. So, not only will there never be a PS3 FPGA core based upon the DE10Nano, there'll not even be a PS2 FPGA core based upon the DE10Nano - unless you wanted to cluster roughly 13 of them together. And the PS3?? - Well, fancy a cluster of 300-odd DE10Nanos? I think not.

    That is where I'm coming from when I admit to cynicism about the cost-vs-benefit of chasing further generations via "clustering". The best that expansion or (viable) clustering of the DE10Nano can possibly open up, in the FPGA sense, is the kind of example elvis mentions above - the likes of N64 or Pentium/3dfx. PS2? PS3? Even Xbox 1? Get outta here.

    So in my view the main viable track (of the feted expansion options) is off-FPGA work.
     
    Last edited: Jun 17, 2022
    Grant likes this.
  10. OP
    OP
    elvis

    elvis OCAU's most famous and arrogant know-it-all

    Joined:
    Jun 27, 2001
    Messages:
    46,813
    Location:
    Brisbane
    Well, no. But why the rush?

    PS1 was release in 1997, with the FPGA core some 25 years later. PS3 was a 2006 release. Let's check back in 2031 and see where we're at.

    Patience, padawan. In the meantime, RPCS3 is coming along nicely. (PCSX2 as well - recent nightly builds are utterly mind blowing).
     
  11. CRTified

    CRTified Member

    Joined:
    Jan 25, 2021
    Messages:
    507
    PS2 and 3 libraries are on my list to revisit (or in many instances, just plain visit for the first time). "Such a hardship" having this neverending To Play list of quality stuff, as usual!

    No, rush for a PS3 core, or any core. I'm happy with what I've got now. I was simply trying to impose some larger-scale context upon the discussion of expanding the DE10Nano. But that aside, it's plain to see that the DE10Nano's connectivity is already being stretched by myriad projects, so it'll be interesting to see what solutions the development community evolves.

    I'm not sure if other endeavours (beyond MiSTer and/or gaming) are pushing the DE10Nano's boundaries, but if so, then perhaps there'd be sufficient impetus for Terasic or alternative to introduce improvements. That would be ideal, but I'm not holding my breath.
     
    Last edited: Jun 17, 2022
    MUTMAN likes this.
  12. theSeekerr

    theSeekerr Member

    Joined:
    Jan 19, 2010
    Messages:
    3,772
    Location:
    Nailsworth SA
    I'm not sure a PS3 core will ever be all that interesting - by that generation you're looking at digital output for both A and V, so while there's some possibility space for "remastering" by doing what a PS3 does better and faster, the most perfect PS3 for interoperability with future tech is..a PS3.
     
    MUTMAN likes this.
  13. MUTMAN

    MUTMAN Member

    Joined:
    Jun 27, 2001
    Messages:
    11,384
    Location:
    4109
    Until the hardware dies. Then what ??
     
  14. Grant

    Grant Member

    Joined:
    Jan 23, 2002
    Messages:
    1,907
    Location:
    Wollongong
    It was the crossover generation, so although everything supported digital output and most games were designed for that, you could still always hook it up to a CRT TV, which is one strong point of the MiSTer.

    It was also the age of weird PPC architectures that Nintendo carried through to the Wii U, so it's interesting from that angle - maybe one day there'll be a FPGA big enough to implement a whole PS3 for cheaper than cycle-accurate software emulation on a PC. For everyone else, "good enough" emulation is already here.
     
    MUTMAN likes this.
  15. OP
    OP
    elvis

    elvis OCAU's most famous and arrogant know-it-all

    Joined:
    Jun 27, 2001
    Messages:
    46,813
    Location:
    Brisbane
    I honestly don't see the point. We can play hypotheticals all day long, but the real world limits of what the core can achieve a pretty well defined now.

    * PSX and Saturn are good. N64 is very likely too big.
    * ao486 without FPU is good. ao486 with FPU is a maybe. Pentium is almost certainly a "no". Adding Voodoo to ao486 is also a no.

    PS2? Gamecube? Dreamcast? More? Hell no. And wondering about clustering some uber-DE10Nano I think is a fruitless activity.

    I've commented before that I really don't see the point of FPGA emulation for 3D stuff - and even then it's not "3D" stuff where I draw the line, but rather PC like architecture where mass parallelism is less of an issue, and it comes down to maybe a CPU and a GPU and that's really the complexity of it. PSX and Saturn are almost 2D consoles by design - their 3D is grossly limited, and especially the way the Saturn implements 3D is more a trick of scaling quads to feel like 3D than real 3D. Likewise the PSX's very limited and inaccurate rendering makes it a weird anomaly of a system straddling the 2D and 3D world, like the Saturn.

    N64 to me is the first "true 3D" console, modeled much more closely to what we consider "real 3D" today. The downside was, of course, that the PSX and Saturn knew their limits and didn't shoot for the stars. The N64 decided to go pretty much next gen, and just ended up delivering titles that plodded along at 15-20FPS as a result. And this is precisely where emulation can really help out, with the ability to get these titles running upscale and on virtual overclocked hardware to really deliver a better experience.

    Same goes for further generations - PS2, PS3. I genuinely believe the best experience of quite a number of these titles (not all PS2 titles, but definitely all PS3 titles) is emulated on "better" virtual hardware. There's not a single 3D PS3 game that doesn't look better rendered at true 1080p compared to the 500-720p that 90% of titles came out at.

    Channels like these huge a pretty excellent overview of what's possible:
    https://youtube.com/c/JohnGodGamesEmus

    PC stuff is the same for me. I just don't see the point of doing this on FPGA, particularly when compatibility is worse than a VM. I also find great irony in people gushing over ao486 and mt32pi as if that's something different to an emulated DOS VM and MUNT/Fluidsynth. People get awful silly about where they draw the line on "emulation" (software running on an RPi!), and "real hardware simulation" (software running on an RPi?).

    2D hardware *is* a special case because we don't have CPUs fast enough, even now in 2022, to accurately cover everything some of these systems do in a single cycle in realtime perfectly accurately and without input latency that dramatically affected a big chunk of the titles. A SNES requires more IPC to emulate properly than a GameCube, which is weird, but it's just the way that whacky combination of hardware was.

    3D hardware, conversely, tends to be designed to be more "PC like" (even stuff like PS3's Cell and GameCube's PowerPC - the architecture is more PC like even if it's not x86). Plus with fluid animations, game designers started building engines that weren't premised on the idea of frame perfection and 1/60th of a second timings.

    I'm certain FPGA will continue on its merry way, but I think the urgency to get to PS2 era stuff really isn't urgent at all. If in doubt, I urge you to grab a nightly build of PCSX2 and see what that looks like right now. For an added bonus, run an emulated game on your PC for half hour or so, then fire up the same version on a real PS2, and you'll be pretty appalled (same goes for N64 real hardware vs ParaLLEl-RDP). The terrible, muddy, bilinear-smeared visuals mixed with blocky, aliased vectors of that generation of hardware are not at all missed in emulated and upscaled versions - again, a VERY different kettle of fish to 2D pixel graphics where upscaling them frequently does few favours compared to 3D.

    So they are my 2 major feelings on it. (1) Silicon shortages and other worldwide bullshit going on at the moment as well as FPGA developing much slower than CPUs mean that it's not likely we'll see leaps and bounds in improvements any time soon. I conservatively guess a decade until we see any major improvement at the ~$200 FPGA level (you can sure as hell go buy a $5K FPGA if you like that does way more). (2) I actually think that "real 3D" (N64 and onwards) benefit MUCH more from emulation coupled with new graphics APIs, higher resultions and overclocked virtual hardware than they do any sort of perfect FPGA clone like 2D and "fake 3D' consoles do.

    I could absolutely be convinced that "FPGA everything" is important from a preservation point of view. But I can also show you some pretty glaring flaws in current MiSTer cores that put a great deal of them far, far away from "perfect simulations". So that point is somewhat moot, particularly when there exist good software emulators that can, on occasion, do better than MiSTer (and vice versa, of course).
     
    Last edited: Jun 18, 2022
    MUTMAN likes this.
  16. CRTified

    CRTified Member

    Joined:
    Jan 25, 2021
    Messages:
    507
    The point is to, by way of this discussion, conceptually evolve gdjacob's original suggestion that MiSTer would benefit from some kind of expansion [bus/interconnect/route], into a more concrete set of goals and aspirations. Just for the fun of the technical and conceptual discussion.

    All this PS3/etc talk is simply to say (and we all obviously agree) that pushing MiSTer's DE10Nano emulation coverage into newer generations is not a thing, and won't be a thing. Good. We can put that to bed. So then, what's left for MiSTer to "expand" into? A lot, obviously. (discuss).

    There are already limitations of choice when it comes to certain edge cases. Want 2 x SDRAMs and a (current generation) analog add-on board? Or various other concatenations of add-on and hat? Can't, not enough GPIO. Hence your original suggestion/query about whether GPIO expansion was gdjacob's intent. And indeed, such edge case instances are already obvious evidence that there are limitations being bumped into on that front.

    As we've quasi- ruled that expansion of actual FPGA capacity is not really on the cards, for various reasons, the obvious remainder is expansion of off-FPGA capacity. The routes available there seem to be 1) Terasic makes changes (such as a new DE10Nano with an ARM CPU that's more comparable with later Pi's, or with a shiny new "special high speed interconnect Port"), or 2) The existing DE10Nano's currently available interfaces are utilised to swap data offboard for outside processing*, which is what I assume gdjacobs was referring to when he made his original suggestion - I'm not sure, perhaps he can clarify.

    *as is currently already done by various projects, but presumably the goal here seeks to do it in a better or more expandable way (again, discuss)
    Tell me about it. Half of the (elsewhere) thread discussing that PiGUS project is tied up with people gassing on about "why not fpga" and such (when they're not helpfully suggesting that perhaps the project could be expanded, just a liddle bit, to be a complete emulation of every soundcard ever).

    And a few complaining e.g. "why is everyone excited, it'll merely be DOSBox's GUS emulation code running on an RPi, it's not like a real GUS!". People like that think they're seeing through the emperor's new clothes. But they're not. They're just ignorant of the fact that, actually, everyone and everything is wearing much the same thing : gauzy flitters of whim.
     
    Last edited: Jun 18, 2022
  17. OP
    OP
    elvis

    elvis OCAU's most famous and arrogant know-it-all

    Joined:
    Jun 27, 2001
    Messages:
    46,813
    Location:
    Brisbane
    Hard disagree from me. From here, more cores, and an accuracy improvement if the existing ones should be the focus. Not how to expand the hardware. It's all about the code from here.

    Arcade cores especially are a mess right now. Every one is a unique, standalone project. MAME demonstrates the power of how emulating CPUs and gluing them together with drivers makes for a much better way to lower the barrier for people attempting to muck about with new code. MiSTer misses this entirely, with each arcade core having no relation to another, even when some of them share 90% of the same chips. A better development platform here is much more desperately needed than more hardware addons.

    At current stable release, MAME emulates 44,622 machines (including clones, etc). If there's a "what's next" to be asked, the answer for me is "another 10K quality cores", zero of which need some sort of hardware expansion from MiSTer, and all of which already have ROMs dumped and some sort of documentation thanks to MAME.

    Be thankful it's a platform you can invest in once, and have a good return on. That's a rare thing these days, on the endless upgrade treadmill.
     
    Last edited: Jun 18, 2022
  18. gdjacobs

    gdjacobs Member

    Joined:
    Apr 3, 2007
    Messages:
    2,982
    Location:
    MB, Canada
    It's a good way to sum it up. Punting tasks which are either 1) not timing critical or 2) logically separable to off-board components that are either better suited to the task or free up FPGA resources required for core functions.

    The option elvis raised earlier is a great example -- a connected Pi would be great for graphics processing and would spare a huge amount of FPGA real estate in replicating the N64, but would likely require low latency interconnection so display lists could be translated and piped from the vicinity of the (FPGA based) CPU. Technically, memory access on the N64 is arbitrated by the RCP as well, but I don't know if that's a very critical distinction compared to CPU connected RAM when it comes to reproducing functionality.
    Are the arcade fans necessarily the same people trying to emulate the Saturn and N64? While I do understand Mister is highly dependent on a relatively small number of talented HDL coders, I also suspect there's a certain amount of room to multitask. Not everyone's interests will overlap perfectly. It's also hard to understate the amount of time, effort, and sometimes sacrifices in code clarity required when a developer has to try to squeeze more performance out of a fixed platform.

    Mister devs could try this tomorrow if licensing weren't an issue. Unfortunately, connecting a CM4 for this kind of task will likely have to wait on GPL compatible PCIe soft cores or glue logic to convert from PCIe to another interface with a Mister friendly license.
     
    Last edited: Jun 18, 2022
  19. theSeekerr

    theSeekerr Member

    Joined:
    Jan 19, 2010
    Messages:
    3,772
    Location:
    Nailsworth SA
    I think you've hit on the one thing that multi-FPGA might help with here - add-on cards that are of similar complexity to a CPU. Can you fit a Voodoo in the DE10's FPGA? Back of the envelope I think a Voodoo 1 is plausible. Enough pins for connectivity is obviously a concern but I suspect there's some scope to use a narrow serial bus for jobs that would have required a parallel implementation in 1996.

    Your post goes into plenty of detail as to why it's probably not worth doing, but I think it's the one thing you can probably do without immediately hitting the issue of needing 10x the capacity, not 2x.
     
  20. OP
    OP
    elvis

    elvis OCAU's most famous and arrogant know-it-all

    Joined:
    Jun 27, 2001
    Messages:
    46,813
    Location:
    Brisbane
    It pretty much gets into that whole "technical masturbation" thing I have no time for. I'd rather spend my time actually playing the thousands of games MiSTer already users, most of which I've never played, let alone heard of.

    Video game history is short in years, but extensive in titles. We seem weirdly more obsessed with these hypotheticals than we do enjoying what we actually have access to.
     

Share This Page

Advertisement: