Welcome, Guest. Please login or register.

Author Topic: FPGA for dummies  (Read 32018 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline freqmax

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show all replies
Re: FPGA for dummies
« Reply #29 from previous page: December 25, 2012, 12:04:27 AM »
The question is to ask:

Will it be more accurate?

What is the most sucessful way to do MFM decoding or that matter GCR from disc?
 * Write it in BASIC using INB .. on a single user system?
 * Write it in C using inb() on a multiuser system?
 * Write it in assemble using inb xx on a bare bones system?
 * Code it as an hardware description (HDL) equalient ?
 * Wirewrap it with 7400 circuits?
 * Etch an ASIC at horrendous cost?

Recall that these signals come at a synchronous specific time and doesn't wait for anything. And you need to listen to them with precision and act on them on time, all the time. There's also DRAM signals, bus responses, video generation, communication etc that all need the right response on time.
Add the complexity of several way more complicated circuits that all act in parallel with defined realtime responses. If you try to implement this on a single CPU system you will need to find out which signals that need hard realtime response and do a check-and respond to all those signals without ever delaying outside time boundaries. This means system response will be dependent on the total service loop execution time. A huge liability. The other liability  is that this signal servicing will not be in lock step with the system as a whole and thus introduce time jitter..
(a multi-CPU system makes this easier, but it still suffer from the same fundamental flaw)

When the possibility exist to model a signal system which is what the electrical circuitry really implement. The design thought process can focus on the modeling instead of explicit response times and time critical signal hooks. And when the model is correct it will "just work(tm)". Instead of having to figure out how to implement this as sequential code. So it is in the essence signal path description vs sequential code equalient.

As bonus that comes from being unimpeded by central clock phase, cache, logic bare bone etc one can interact with real hardware interfaces. A PC with a 2 GHz CPU should be able to respond to an I/O within 3 instructions so in the ballpark of 1.5 ns. But real life test rarely finds the parallel port respond faster than 1000 ns.

I hope this gives some understanding on the issues that FPGA/CPLD/7400 etc makes it possible to deal with efficiently.
 

Offline freqmax

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show all replies
Re: FPGA for dummies
« Reply #30 on: December 25, 2012, 05:21:50 PM »
I guess some games/demos just won't be themself in an environment that lack signal precision.
 

Offline freqmax

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show all replies
Re: FPGA for dummies
« Reply #31 on: December 29, 2012, 04:10:05 AM »
One technique could be to let the software emulator draw a complete screen. Once completed it's sent off to a FIFO that will display them. However any difference in frame rate will cause you to have tofew or to many. So you will have to interpolate or morph frames, that will require at minimum 2 frames and the latencies incurred. Not to mention the blurring.
Math is a bitch ;)

So I agree with all of MikeJ:s statements.