Welcome, Guest. Please login or register.

Author Topic: FPGA for dummies  (Read 59339 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline freqmax

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
Re: FPGA for dummies
« Reply #239 from previous page: December 15, 2011, 02:23:48 AM »
Machines that adhere to the same electrical specification as the "original" is real.

The missing masks, and original code just shows how bad proprietary designs are for long term usage. But that's the way it is, like it or not. Someone could scan the orignal chips (don't throw them!). But such process is still hard. So the method that remains is reverse engineering.

Does anyone know how the orignal designs were managed?, I know 6502 was done with manual methods like pen and papper, OCS used logic chips and wire-wrap. But somewhere after that they ought to migrated into some electronic design system.
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: FPGA for dummies
« Reply #240 on: December 15, 2011, 08:37:02 AM »
I'm remembering in an interview that the AGA design had a few bugs in it that needed reworking on the motherboard (sorry can't remember te exact source right now)... But suffice to say, you wouldn't want the original logic network of the AGA... It would be better to use a new circuit built to the correct specification :)

Offline Britelite

  • Full Member
  • ***
  • Join Date: Jul 2003
  • Posts: 187
    • Show only replies by Britelite
    • http://www.dekadence64.org
Re: FPGA for dummies
« Reply #241 on: December 15, 2011, 10:16:15 AM »
Quote from: amiga4ever;671437

it's interesting to note:  on the Amiga and c64 demoscene, i can cite a few examples of new demos (created after fpga blueprints for these systems) which push REAL hardware to the limit yet run fine on real machines. yet, because they do not play nicely with documented hardware timings and such - the code breaks fpga "hardware" and software emulatrs.


Please do name a few of these (new) demos.
 

Offline psxphill

Re: FPGA for dummies
« Reply #242 on: December 15, 2011, 11:40:56 AM »
Quote from: mikej;671404
Loading it repeatedly would cause corrupted memory, but I guarantee no two systems would see the same corruption pattern. An FPGA simulation using the same memory would behave in the same way. Normally we make our lives easier and use memory controllers which work, or SRAM - so you wouldn't have to worry about this particular problem.

Saying that you won't get this particular problem proves my point that what you doing with an FPGA is emulation. You pick the behaviour that you want to implement and produce a simulation of it.
 
Software could use this to detect that it's not running on real hardware, or software could use the random corruption as entropy for a PRNG.
 
You can't implement DRAM in an FPGA that will behave similar to 1980's memory when operated out of spec (i.e. not refreshed).
« Last Edit: December 15, 2011, 11:56:01 AM by psxphill »
 

Offline Fats

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 672
    • Show only replies by Fats
Re: FPGA for dummies
« Reply #243 on: December 15, 2011, 08:01:57 PM »
Quote from: psxphill;671473
Saying that you won't get this particular problem proves my point that what you doing with an FPGA is emulation.


Are you claiming using an FPGA is always emulation ?
Is an FPGA based Cisco router emulation then ? What are they emulating, are you also in the league that says this is emulating a fictional hardware implementation that never will be manufactured ?

greets,
Staf.
Trust me...                                              I know what I\'m doing
 

Offline mikej

  • Hero Member
  • *****
  • Join Date: Dec 2005
  • Posts: 822
    • Show only replies by mikej
    • http://www.fpgaarcade.com
Re: FPGA for dummies
« Reply #244 on: December 15, 2011, 10:34:59 PM »
Quote from: psxphill;671473
Saying that you won't get this particular problem proves my point that what you doing with an FPGA is emulation. You pick the behaviour that you want to implement and produce a simulation of it.
 
Software could use this to detect that it's not running on real hardware, or software could use the random corruption as entropy for a PRNG.
 
You can't implement DRAM in an FPGA that will behave similar to 1980's memory when operated out of spec (i.e. not refreshed).


Um, well it depends. If you attached the same DRAM to the FPGA Z80 core, you would get exactly the same behaviour. We could produce a better model of the DRAM by having an access counter per bit, and a pseudo random decay scanner - so yes with enough effort you can do it.

My point is, the Amiga core chipset is 1) fully sync so the underlying logic structure matters not one bit, and 2) so small and simple it is easy to get it pretty much totally accurate.

If you were to take the same netlist and produce a modern 65nm ASIC say, then the timing for that would be further off than the FPGA copy - but all three devices would be functionally interchangeable.

/MikeJ
 

Offline Thorham

  • Hero Member
  • *****
  • Join Date: Oct 2009
  • Posts: 1150
    • Show only replies by Thorham
Re: FPGA for dummies
« Reply #245 on: December 15, 2011, 11:32:44 PM »
Quote from: Fats;671506
Is an FPGA based Cisco router emulation then ? What are they emulating, are you also in the league that says this is emulating a fictional hardware implementation that never will be manufactured ?
You have to look at what the FPGA does here (I didn't :(). Is it something that can be ASICed, or is the functionality of the FPGA used in a different way?
 

Offline hairy

  • Newbie
  • *
  • Join Date: Nov 2003
  • Posts: 34
    • Show only replies by hairy
Re: FPGA for dummies
« Reply #246 on: December 15, 2011, 11:39:29 PM »
Quote from: mikej;671526
Um, well it depends. If you attached the same DRAM to the FPGA Z80 core, you would get exactly the same behaviour. We could produce a better model of the DRAM by having an access counter per bit, and a pseudo random decay scanner - so yes with enough effort you can do it.
/MikeJ


It might be even simpler, unless aiming for "virtual analog" DRAM modeling :)

By chance (a bug), I've observed the failed refresh behaviour of a fast page SIMM, and it's amazing how much stuff is still intact after A FULL MINUTE.
So while a small bunch of cells might (or not) fail shortly after the time listed in the datasheet, the number grows much slower than I imagined, no avalanche effect!

All seems to indicate that decay of cells happen with an exponential rate (linked to capacitor discharge curve vs internal noise, I guess).

So probably a couple of LFSRs, a few counters, and some other glue might be sufficient, expecially if the CPU probing for failed refresh is a relatively slow 8-bitter.
 

Offline hairy

  • Newbie
  • *
  • Join Date: Nov 2003
  • Posts: 34
    • Show only replies by hairy
Re: FPGA for dummies
« Reply #247 on: December 16, 2011, 12:08:41 AM »
Quote from: Thorham;671529
You have to look at what the FPGA does here (I didn't :(). Is it something that can be ASICed, or is the functionality of the FPGA used in a different way?


Is mostly done in FPGAs because you can update both the CPU firmware and the HW accel functions. Still economically viable considering the cost of midrange and high end routers.
IIRC high end switchrouters (6500 and 12000) also use ASICs.

The functions offloaded to hardware is progressively increasing with the class of the router.
In some midrange models (3600) you can see the effect of FPGA vs CPU processing by using standard vs extended access lists (in reasonably massive amount :D).

(recalled from faded memories, please feel free to correct me)
 

Offline psxphill

Re: FPGA for dummies
« Reply #248 on: December 16, 2011, 12:11:58 AM »
Quote from: Fats;671506
Are you claiming using an FPGA is always emulation ? Is an FPGA based Cisco router emulation then ?

No, which is why I said "what you are doing with an fpga"
 
Quote from: Fats;671506
What are they emulating,

An Amiga, the emulation is good enough to run Amiga software.
 
Quote from: Fats;671506
are you also in the league that says this is emulating a fictional hardware implementation that never will be manufactured ?

No, don't know what you're getting at there but it seems irrelevant to the discussion of emulating 68k based Amiga hardware.
 
Quote from: mikej;671526
We could produce a better model of the DRAM by having an access counter per bit, and a pseudo random decay scanner - so yes with enough effort you can do it.

I know you can do it, but that would count as simulation & emulation. Which is my main point.
« Last Edit: December 16, 2011, 12:17:53 AM by psxphill »
 

Offline freqmax

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
Re: FPGA for dummies
« Reply #249 on: December 16, 2011, 01:36:40 AM »
Quote from: hairy;671532
All seems to indicate that decay of cells happen with an exponential rate (linked to capacitor discharge curve vs internal noise, I guess).


Likely related to the threeshold of the internal sense amplifiers. Ie before it reaches the thermal noise floor.
 

Offline HenryCase

  • Hero Member
  • *****
  • Join Date: Oct 2007
  • Posts: 800
    • Show only replies by HenryCase
Re: FPGA for dummies
« Reply #250 on: December 16, 2011, 02:28:31 AM »
Quote from: psxphill;671368
Even an FPGA & ASIC running from the same VHDL don't necessarily behave the same way due to clock skew.


ASICs don't run VHDL to function. You obviously don't know what you're talking about, perhaps a book would help. Here are Jeri Ellsworth's recommendations:
https://www.youtube.com/watch?v=kobf8IOB0oA
"OS5 is so fast that only Chuck Norris can use it." AeroMan
 

Offline psxphill

Re: FPGA for dummies
« Reply #251 on: December 16, 2011, 08:52:23 AM »
Quote from: HenryCase;671545
ASICs don't run VHDL to function. You obviously don't know what you're talking about, perhaps a book would help. Here are Jeri Ellsworth's recommendations:
https://www.youtube.com/watch?v=kobf8IOB0oA

It's ok, I know about baking an ASIC from VHDL.
 
Running is a perfectly acceptable term for operating a circuit.
 
I guess you misunderstood what I meant, those books might come in useful.
« Last Edit: December 16, 2011, 08:55:03 AM by psxphill »
 

Offline psxphill

Re: FPGA for dummies
« Reply #252 on: December 16, 2011, 08:57:02 AM »
Quote from: freqmax;671540
Likely related to the threeshold of the internal sense amplifiers. Ie before it reaches the thermal noise floor.

Yeah good luck with converting that 1:1 in an FPGA.
 

Offline HenryCase

  • Hero Member
  • *****
  • Join Date: Oct 2007
  • Posts: 800
    • Show only replies by HenryCase
Re: FPGA for dummies
« Reply #253 on: December 16, 2011, 09:42:51 AM »
Quote from: psxphill;671563
It's ok, I know about baking an ASIC from VHDL.
 
Running is a perfectly acceptable term for operating a circuit.
 
I guess you misunderstood what I meant, those books might come in useful.


A baked ASIC STILL doesn't run VHDL, again would suggest you do a bit more research.
"OS5 is so fast that only Chuck Norris can use it." AeroMan
 

Offline psxphill

Re: FPGA for dummies
« Reply #254 on: December 16, 2011, 10:14:03 AM »
You take the VHDL & it gets turned into an ASIC. I know how that works. Once you have the ASIC you run it when the clock starts. Running doesn't require a CPU style fetch execute mechanism, just a clock.
 
I understand whats going on physically in the FPGA and ASIC & it supports my argument about using an FPGA to recreate an Amiga is simulation/emulation.
 
I am not going to explain everything in minute detail, just so you can't find a way to purposefully misinterpret what I'm saying.
 
"It is difficult to get a man to understand something, when his salary depends upon his not understanding it" Upton Sinclair.
« Last Edit: December 16, 2011, 10:37:02 AM by psxphill »