Jump to content
IGNORED

FPGA vs. EMULATION? What is your choice?


Keatah

FPGA or Emulation?  

85 members have voted

  1. 1. Which do you prefer?

    • FPGA
      48
    • Emulation
      37
  2. 2. Which do you think has the most potential for perfection?

    • FPGA
      64
    • Emulation
      21

  • Please sign in to vote in this poll.

Recommended Posts

Keatha,

 

I do see your points. I personally don't see this as one or the other. I think both solutions are fine and both have their strengths . While the title suggest a one vs the other, I don't see why we can have both, which we do. I personally think that FPGAs keep moving forward and they have lots of potential. I also see that emulation has lots of plus.

 

Instead of vs, in my opinion, this should be more about the strengths and the future possibilities of both...

Therefore, I understand you favor one over the other and some people prefer the reverse --- but I want t use both

  • Like 1
Link to comment
Share on other sites

but doesn't the OS could get on the way at time? The emulator has to yield to OS

 

That it does. In the old times when emulation first got going we had DOS, and it was good (for the time). And then Windows came on the scene and emulators started stuttering everytime the PC had housekeeping.

 

Today the problem isn't so bad. And if you run a minimalist dedicated machine without a billion tasks going, you'll see silky smooth 60fps without any interruptions or stuttering.

 

 

Instead of vs, in my opinion, this should be more about the strengths and the future possibilities of both...

Therefore, I understand you favor one over the other and some people prefer the reverse --- but I want t use both

 

Then you may use both. Pick the best one for the task at hand an be happy!

 

I've just become so spoiled with the added features of software emulation it would make me crazy in the head to go any other route.

Link to comment
Share on other sites

When it comes to recreating the classics, especially 8 and 16 bit machines of the 70's and 80's, what do you prefer? Emulation or FPGA? What are some of the advantages of each choice and why?

 

I personally prefer Emulation because of flexibility. And yet the stability and consistency of FPGA is enticing. What's your pick?

 

Personally I prefer hardware. Realistically, hardware is getting harder and harder to come by.

  • Like 1
Link to comment
Share on other sites

Realistically, hardware is getting harder and harder to come by.

 

At least hardware that doesn't need standard TLC like reseating chips, cleaning all of their contacts and pins, cleaning drive heads, setting the speed, adjusting CRTs and getting the colors set right, eliminating interferences, making sure each key clicks properly, assuring plugs fit firmly. And let us not forget capacitors either.

 

Seems a lot has to be done to get these simple (but annoying) issues under control. But hey! To each their own.

  • Like 1
Link to comment
Share on other sites

According to Wikipedia, they [Tabula] went defunct in 2015...

https://en.m.wikipedia.org/wiki/Tabula_(company)

 

Spacetime was a product of Tabula that possibly went beyond the abilities of FPGAs. The company said that Spacetime represented two spatial dimensions and one time dimension as a unified 3D framework. According to Tabula, this appeared to be a simplification that might deliver in production a new category of programmable devices (“3PLDs”) that are denser, faster, and more capable than FPGAs, yet still accompanied by software that automatically maps traditional RTL onto these novel fabrics.[citation needed]

 

On 24 March 2015, Tabula was to officially shut down.[7]

It just goes to show that you can dream big until you hit real world practical applications. Like SpaceX trying to go to Mars for instance. The moon is literally three days round trip, but sustainable life support and a renewable food supply needs to last years to make a Mars mission viable.

 

I think the Spacetime was the "Mars Mission" of FPGA tech. I assume if this even got to the prototype stage, it probably prooved unviable. And I kinda feel bad for the venture capitalists who funded 215 million into this upstart. :roll:

 

But who knows. We can easily replicate the CPUs of 30 years ago on modern FPGA tech, but it still kinda chokes at 20. Maybe 20-30 years from now, one could clone an i7? Too bad Moore's law failing around 2010 or so. Looking forward, sustained exponential growth in any field is probably unsustainable.

 

EDIT: Just realised the post I quoted was 19 Dec 2013, not 2016. Whoops! :dunce:

Edited by Kosmic Stardust
Link to comment
Share on other sites

I think the tabula stuff was hokey bs. Oh it worked as specified. But an FPGA that kept reconfiguring itself millions of times per second? Not necessary. I think developers preferred something more stable and faster running too.

 

"Internally, ABAX chips use high-frequency (1.6 GHz) reconfiguration between up to 8 config states, named folds, to emulate a high number of FPGA-resources. If all 8 folds are used to get maximum LUT capacity, user visible clock speed will be 200 MHz; for 4 folds capacity is halved but frequency is doubled and so on"

 

And I don't know what their SpaceTime stuff was all about either.

 

Sometimes you get an upper management team stuck on using a buzzword, representative of the product or not. And that happened here. And "3D" was the flunky. Last time I checked all integrated circuits were 3D with multiple layers and all that. Only the very first chips from the 60's were 2D.

Link to comment
Share on other sites

Dreaming big vs. dreaming practical? I'll take the latter. You have to go through the basic steps before taking the big steps. So all this mars crap and everything makes for a funny sideshow while we figure out how to get out of low earth orbit.

Humans were far out of low Earth orbit in 1969 when we landed on the moon. I think the Apollo 13 crew holds the record for farthest distance from Earth attained by humans (save for the ashes of the discoverer of Pluto stowed onboard New Horizons), due to the figure 8 loop around the dark side of the moon they used to get them back to earth ASAP on their rickety malfunctioning spacecraft. The fact they used the thrusters on the Lunar Lander Module for course corrections shows the ingenuity of human technology.

 

It's not our fault that Nixon canned the Apollo program in favor of the Shuttle. :ponder:

Link to comment
Share on other sites

As I see it:

 

Software

  • maximum flexibility
  • short development cycle
  • lowest cost
  • easy participation by more people

FPGA

  • ability to get closer to actual hardware emulation
  • faster performance?
  • long development time
  • much higher cost
  • niche participation

I can't help but think that any performance or fine grained emulation advantage that FPGA might offer, would wind up being negated by emulation's host performance increases during the long FPGA development times anyway.

Edited by fujidude
  • Like 1
Link to comment
Share on other sites

  • 3 years later...

Hello,

3 years and about 4 months passed since last post in this thread and things are changed a lot since then, we have decidedly more advanced and perfected cores, a lot of new cores and above all the Mister exists, (IMHO the state of the art of FPGA), the quality of the hardware reproduction and its versatility are unmatched ...
But, there are still things that cannot reproduce or do not do them perfectly .. the 486 core is outclassed by the PCem emulator (which emulates whole PCs from 8088 to Pentium 1), while the 1CMSX based MSX is very valid , but the emulation of MSX1 and 2 given by OpenMSX (in particular on Raspberry PI 3B via the current Sedai Linux) is still the closest thing to real machines, the core of the C64 is spectacular compared to the past but the BMC64 (Bare Metal C64 & the other 8 bit Commodore) on the Raspberry PI which runs almost directly on real hardware thanks to the Circle libraries and the total absence of Linux is something that goes beyond all expectations ..
And real machines, especially in combination with modern accessories (C64 with Ultimate2 +, Amiga with Gotek, to name a couple of examples) are even more awesome
In short, there are pros and cons in all systems, the best thing is to have them all

  • Like 2
Link to comment
Share on other sites

  • 4 weeks later...

I really can't make up my mind because i like both of them equally. If there would be a third choice called "both" i would have chosen this. When i think about the Amiga system for example, then i have here some real Amigas (four A500 and one A600), a Minimig and the WinUAE emulator on my PC's and i would say, i use them all approximately the same number of times and my highscores in games are also the same on all of those. Of course i use the same joysticks in WinUAE that i use on the real Amiga and the Minimig, connected to the PC with fast-reacting 9Pin-to-USB controller-adapters. And for two of my A500, i have floppy-emulators, one HxC and one Gotek, that i can use diskimage-files with them.

 

I can really not say, that i prefer some thing to the other, but requirement for this of course is, that the software-compatibility of the used FPGA system (in my case the Minimig) and the compatibility of the software-emulator (WinUAE) at the moment is on a similar level and very high, compared to the real system, which means not far away from perfection. If it would be different and when one of these two systems would have a clearly better compatibility than the other, i would prefer this then of course, but in the case of Minimig and WinUAE, both have a compatibility of over 99% in the meantime, i would say. WinUAE a little bit higher maybe, but not a big difference. When it comes to normal OCS and ECS demos or games, it's really hard, to find a software, which shows a bug on both systems, especially on WinUAE. On the Minimig there are maybe a handful of demos/games, which still shows some kind of incompatibilites (when you read on the "minimig.net" side for example), but one or two handful from a software-range of tenthousands (demos and games together) is a really good quote. We should not forget, that the Minimig can not run AGA software (Amiga1200), but for me this is no problem at all, cause all my favorite-games are ECS and OCS. People who need also AGA games, can use the MIST or the MISTer, which are other FPGA products.

 

Also when software-emulators and FPGA-products at the moment maybe not offer total 100% compatibility, they are relatively close to it, from my experience and we should also not forget, that on real Amigas for example, the user also must decide between things like the Chipset (OCS/ECS/AGA) and the Kickstart (1.2/1.3/2.0/3.1) back in the days when he buys one and some software can make problems on that chipset, others on another and the same with the Kickstart. The Minimig and WinUAE for example, gives the opportunity to switch Kickstarts, Memory and Chipset. Such possibilities then weights up one or the other from the last left incompatibilities. But to decide between the software-emulator and the FPGA-product here is very difficult for me, both do their job extremely good and therefore it's a tie for me. I want both and also the real hardware additionally and don't wanna miss one.  :)

 

Edited by AW127
Link to comment
Share on other sites

My choice between software emulation or FPGA can depend on a bunch of factors in any given instance

 

1) What do I want to play (eg 2600, Genesis, Gameboy, Saturn, PS2)?

2) Where am I (computer desk, couch, deck, kitchen counter)?

3) Do I already have a movie or video or music playing on the TV?

4) Do I want to listen to a podcast while I play whatever I play?

5) What kind of controller do I want to use?

 

Although I enjoy my Analogue systems and the MiSTer, I still find myself choosing the convenience and added features of software emulation probably more than 50% of the time.  I really dislike the way that the community is starting to thumb its nose at software emulation, as if it's inherently worse than an FPGA implementation and beneath a "real" retro enthusiast.  I'm scratching my head at all the excitement about the WIP PS1 FPGA project.  There's no way that it'll even approach the performance and added features of Beetle PSX HW in Retroarch.  

 

 

  • Like 1
Link to comment
Share on other sites

17 hours ago, zetastrike said:

I really dislike the way that the community is starting to thumb its nose at software emulation, as if it's inherently worse than an FPGA implementation and beneath a "real" retro enthusiast.

 

I also never understood this attitude, cause i love software-emulators, but it seems to be a widespread opinion in alot of retro-forums. Although here it is limited to criticism of emulators, i know it much more from some other forums. Especially good on software-emus in my opinion is, that they can be used even on the smallest handhelds when sitting somewhere on the beach in Spain or Italy. This is really funny. But i respect every opinion, cause people have different viewpoints and priorities and it's good that everyone can do what he wants and use the things he wants.

Edited by AW127
Link to comment
Share on other sites

People tend to hate on Software Emulation because it isn't real hardware, is sometimes confusing to set-up, requires some tweaking to your liking, and *still* carries a bad rap from the early days going back to the beginning - like in the 90's or 1st decade of 2000. Early emulators had a reputation for frame dropping and stuttering sound, not to mention a lot of inaccuracies. Problems which stemmed from inadequate host hardware and just the general newness of the institution. And let us not forget the stuck-up elitism.

 

However there's downsides to real vintage hardware too. It sucks because it is old, creaky, intermittent, needs re-capping periodically, uses hot, heavy, and gassy crt displays. Even requires a lot of physical space and messing with cartridge and controller connectors. And real hardware isn't always available. It would take way to long to amass a complete collection/library of any arbitrarily chosen system.

 

FPGAs are rather limited in terms of features compared to SE. Not only that they usually come in the form of expensive and limited runs of hardware. Or hardware that requires a modicum of technical knowledge above that of building a PC.

 

So the three buckets of shit fill fast.

 

I personally enjoy SE because of low-cost and long heritage of development. Not to mention the versatility of their primary host platform, the PC. And then there's convenience and reliability. You can use them everywhere and they don't break down or magically stop working.

 

Link to comment
Share on other sites

FPGA is a hardware representation of what compatible original hardware does.  Emulation is appeasing what the software wants to do in a way that supports enhancements end users appreciate.

 

I'd consider an FPGA core the same as a heavy sixer compared to a gemini.  Or, a nuntendo on a chip clone compared to a toaster.

 

Emulation is awkward for game development because it's usually made to go easy on faulty code and/or bad TV timings.  I've been super proud of a tech demo of mine and then find it rolls like scrambled HBO on real 2600's/TVs.

Link to comment
Share on other sites

2 hours ago, Gemintronic said:

FPGA is a hardware representation of what compatible original hardware does.  Emulation is appeasing what the software wants to do in a way that supports enhancements end users appreciate.


Honestly, in this point i am totally pragmatic. I am primarily interested, in what is ultimately presented to me on the screen as the output of it all (when a game or demo runs for example) and that this is without bugs or other problems. How to get what is presented to me here on the screen, then is really secondary for me personally.

 

But it is also fascinating to me, coming from three total different ways (Original/FPGA/Software-Emu) and then seeing the exact same thing as the endresult on the screen. This is really cool and this always has fascinated me on emulators, already when i start with it in the middle of the 90's by using early versions of CCS64 or M.A.M.E. emulators.

 
2 hours ago, Gemintronic said:

Emulation is awkward for game development because it's usually made to go easy on faulty code and/or bad TV timings.  I've been super proud of a tech demo of mine and then find it rolls like scrambled HBO on real 2600's/TVs.

 

Yes indeed, i can imagine that for developers, it can cause problems, to fully develope a game or demo on software-emulators and testing only on modern hardware. Here the best is, to find a way to test on both kind of hardware, the old and the new, from time to time and i think this is what the most developers does.

 
Edited by AW127
Link to comment
Share on other sites

14 hours ago, Gemintronic said:

FPGA is a hardware representation of what compatible original hardware does.  Emulation is appeasing what the software wants to do in a way that supports enhancements end users appreciate.

 

I'd consider an FPGA core the same as a heavy sixer compared to a gemini.  Or, a nuntendo on a chip clone compared to a toaster.

 

Emulation is awkward for game development because it's usually made to go easy on faulty code and/or bad TV timings.  I've been super proud of a tech demo of mine and then find it rolls like scrambled HBO on real 2600's/TVs.

With software emulation there's a tradeoff between accuracy and performance.  The higher the accuracy the more demands on the host computer.  It depends on the emulator and how accurate they choose to make it.

 

But even with fpga and other hardware variations.  There's differences that can cause programs to behave unexpectedly.

  • Like 1
Link to comment
Share on other sites

12 hours ago, mr_me said:

With software emulation there's a tradeoff between accuracy and performance.  The higher the accuracy the more demands on the host computer.  It depends on the emulator and how accurate they choose to make it.

 

But even with fpga and other hardware variations.  There's differences that can cause programs to behave unexpectedly.

 

Totally agree!  I think emulator developers focus on the aspects I cited and FPGA core developers usually more on accuracy.  But, yeah.  An FPGA core is just another clone hardware in practice.

Link to comment
Share on other sites

12 hours ago, Gemintronic said:

 An FPGA core is just another clone hardware in practice.

And this is the biggest misconception, no it is not a clone, its an approximation and just like I said at the beginning of this thread it all depends on who makes it.

 

There might be emulation that is extremely accurate 

There might be FPGA implementation that is just enough to make it work

 

it might be vice versa, but that magical acronym doesnt mean its instantly the best of the best and flawless, its just a chip off digikey that someone chose (I mean here's one for 1.18$ im sure it plays a mean game of breakout, has to its FPGA)

Edited by Osgeld
  • Like 1
Link to comment
Share on other sites

With fpga an engineer can decap an IC and recreate what they see in verilog.  With software emulation a computer programmer has to creatively come up with algorithms to simulate that functionality.  Both can be accurate but fpga is closer to the real thing.

Edited by mr_me
Link to comment
Share on other sites

2 hours ago, Osgeld said:

And this is the biggest misconception, no it is not a clone, its an approximation and just like I said at the beginning of this thread it all depends on who makes it.

 

There might be emulation that is extremely accurate 

There might be FPGA implementation that is just enough to make it work

 

it might be vice versa, but that magical acronym doesnt mean its instantly the best of the best and flawless, its just a chip off digikey that someone chose (I mean here's one for 1.18$ im sure it plays a mean game of breakout, has to its FPGA)

 

My main point may have been unclear.  Of course emulator and FPGA core creators can choose to focus on accuracy, dazzle or any mix in between.  In my mind most emulators focus on ease and most FGPA cores on accuracy.

 

Apologies if my opinions are a gross oversimplification.  I have much to learn :)

 

Link to comment
Share on other sites

3 hours ago, mr_me said:

With fpga an engineer can decap an IC and recreate what they see in verilog.  With software emulation a computer programmer has to creatively come up with algorithms to simulate that functionality.  Both can be accurate but fpga is closer to the real thing.

And that's the beginning of the misconception. When the engineer moves code and parts and gates around in Verilog, Verilog creates the LE truth tables - or look-up tables. These LUTs are then programmed into the gate array. The end result is only as accurate as the initial observation & translation.

 

FPGAs bring a host of limitations with them. Such as not having debugging & savestates. You can't really see inside or tap into an operating FPGA to capture "variables" or have comprehensive puill-down menus like in Altirra or Stella. Not practical. Not without programming in probes or taps to watch something. And that means a bigger FPGA - often 2x or 3x larger.

 

I personally like that software emulation lends itself well to collaboration and encourages multiple devs to work on a project. You have multiple angles of attack on a problem with it. With FPGA, history has taught us its a solitary endeavor. Very much a rabbit hole.

 

In the end, neither is more accurate than the other. It all depends on developer doing due diligence.

  • Like 2
Link to comment
Share on other sites

There aren't verilog circuit simulation and debugging software?

 

Most of the fpga video game projects out there are opensource.  The Collectorvision Phoenix benefitted from this.  Now the pool of fpga engineers is smaller than software programmers.

Edited by mr_me
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...