Welcome, Guest. Please login or register.

Author Topic: FPGA for dummies  (Read 59199 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Thorham

  • Hero Member
  • *****
  • Join Date: Oct 2009
  • Posts: 1150
    • Show only replies by Thorham
Re: FPGA for dummies
« Reply #284 from previous page: December 18, 2011, 01:54:03 PM »
Quote from: Mizar;671805
The only emulation being attempted here is to speak techno babble, while lacking any fundamental understanding of the principles or technology being spoken of.
That QUESTION isn't such an attempt, it's a QUESTION. I've actually written that in this thread already. Yes, this thread has caused me to get interested in this kind of thing, and I was wondering how hard/easy switch based logic is to convert to some FPGA format.
Quote from: Mizar;671805
:roflmao:  No kidding, that's how much sense he/she was making!
Dude, you're laughing at a BS reply to my question :)
Quote from: Mizar;671805
Yes, I quite agree, after sorting out the fools who like to show off
I guess I do have to say I was wrong again :( It's NOT about showing off. I was trying to argue a serious point here, which is something that way too many people didn't understand (which is understandable). My mistake was trying to use technical terms to help make my point, and obviously that didn't work.

What I want to know is how many times I still have to say I was wrong?
« Last Edit: December 18, 2011, 01:57:38 PM by Thorham »
 

Offline Thorham

  • Hero Member
  • *****
  • Join Date: Oct 2009
  • Posts: 1150
    • Show only replies by Thorham
Re: FPGA for dummies
« Reply #285 on: December 18, 2011, 02:00:26 PM »
Quote from: psxphill;671812
The fools who like to show off by making stupid straw man statements in a vain attempt to defend the "emulator in an fpga is not an emulator" stance have managed to make you think that an fpga works differently to how it does.
I sure hope you're not talking about billt, because he's been nothing but patient in explaining the workings of FPGAs.
 

Offline HenryCase

  • Hero Member
  • *****
  • Join Date: Oct 2007
  • Posts: 800
    • Show only replies by HenryCase
Re: FPGA for dummies
« Reply #286 on: December 18, 2011, 02:20:48 PM »
Quote from: Thorham;671831
What I want to know is how many times I still have to say I was wrong?


Thomham, don't worry about this anymore, it's better to be inquisitive, you don't need to apologise for showing an interest in a new topic.
"OS5 is so fast that only Chuck Norris can use it." AeroMan
 

Offline psxphill

Re: FPGA for dummies
« Reply #287 on: December 18, 2011, 02:47:56 PM »
Quote from: HenryCase;671822
Do you work in the industry? Curious to know how you know this.

It's very well known.
 
http://en.wikipedia.org/wiki/Am286
 
Intel sued AMD for their 386.
 
http://en.wikipedia.org/wiki/Second_source
 
The 68000 was second sourced by alot of companies, Mostek, Rockwell, Signetics, Thomson & Toshiba.
 
http://en.wikipedia.org/wiki/Motorola_68000#Second-sourcing
 
The fools thing was aimed at the "my room lamp emulates light". It's even a rubbish analogy, because the lamp emits light. You could suggest that a lamp simulates the sun, however it would be a very innaccurate simulation as a lamp and the sun don't share many simularities & the lamp wasn't based on properties of the sun. An electronic lamp was built to replace gas lamps, but even then the light given out is completely different. But I'm sure it sounded funny when it was posted, even though it's just a stupid straw man argument.
 
The term "Emulator" has been used to refer to hardware simulated by FPGA/earlier similar technologies for two decades, it's not a relatively new technology.
 
You could say that a software emulator recreates a computer system, so because the FPGA 64 says that it's an emulator in an fpga and it recreates the c64 doesn't change anything.
« Last Edit: December 18, 2011, 03:00:36 PM by psxphill »
 

Offline HenryCase

  • Hero Member
  • *****
  • Join Date: Oct 2007
  • Posts: 800
    • Show only replies by HenryCase
Re: FPGA for dummies
« Reply #288 on: December 18, 2011, 04:09:04 PM »
psxphill, I've just finished looking through this entire thread, and noticed you said before you'd worked on software-based emulation (guessing for the PSX, judging by your name). As this means you should be familiar with programming, I'll try and explain my point using a programming analogy.

In object-oriented programming you have, amongst other ideas, the concepts of classes and objects. Classes describe the features of an object (variables used, methods allowed, whether the class is a member of a larger class, etc...), whereas objects are instances of a class, they are the items built by following the specifications in a class.

To me, Amigas are a class of computers, and the objects we use follow the specifications laid out in this class, to varying degrees. The A500 is an object that follows this spec, the Minimig is also an object that follows this spec. They are both implementations of the design ideas of the Amiga.

In my opinion, which is shared by many, emulation requires translation. Not translation from a design spec (class) to a computer (object), but translation from one object to another, fitting the code designed for one computer into the constraints of another.

Re-using the word 'emulation' when describing these devices does not capture this difference, which is why 'implementation' is preferrable.
« Last Edit: December 19, 2011, 07:23:18 AM by HenryCase »
"OS5 is so fast that only Chuck Norris can use it." AeroMan
 

Offline JimS

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 1155
    • Show only replies by JimS
Re: FPGA for dummies
« Reply #289 on: December 18, 2011, 05:19:05 PM »
Quote from: HenryCase;671824
Quite right. This is the description of computer that existed at the time of Turing, in his work (and the work of other computing pioneers) he used this earlier definition to convey what was being proposed.


So when it comes down to it, if you believe some folks,  every computer from ENIAC to WATSON are mere emulators of some Victorian guy hunched over a stack of foolscap with a quill pen. :-)  <-----------

 In view of the Season, a Bob Cratchit clone.

The First Amiga


A more recent emulation
Obsolescence is futile. You will be emulated. - Amigus of Borg
 

Offline persia

  • Hero Member
  • *****
  • Join Date: Sep 2006
  • Posts: 3753
    • Show only replies by persia
Re: FPGA for dummies
« Reply #290 on: December 19, 2011, 02:16:18 AM »
This thread has outlived it's usefulness......

[SIGPIC][/SIGPIC]

What we\'re witnessing is the sad, lonely crowing of that last, doomed cock.
 

Offline billt

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 910
    • Show only replies by billt
    • http://www.billtoner.net
Re: FPGA for dummies
« Reply #291 on: December 19, 2011, 04:39:22 AM »
Quote from: psxphill;671836
It's very well known.
 
http://en.wikipedia.org/wiki/Am286

If AMD's had a higher possible clock speed, then I really don't believe it was the same masks as suggested elsewhere. Being pin-compatible and based on Intel's microcode does not a mask duplicate. Though it does seem your wikipedia article does suggest the 386 situation was a result of Intel not sharing masks, it still seems that AMD did some changes to the 286 design to get higher frequencies. And the wikipedia article says that it's common for those agreements to allow tthe first-source company to make designs from the second-sourcers. So there must be some design going on to have that in there.
 
Quote
The 68000 was second sourced by alot of companies, Mostek, Rockwell, Signetics, Thomson & Toshiba.

I remember something about some of them having quirks in compatibility, I think Signetics in particular. Can't be same masks.
 
Quote
The fools thing was aimed at the "my room lamp emulates light". It's even a rubbish analogy, because the lamp emits light.

If it was not made by Edison himself, then some in this thread seem to believe it should not really be a light bulb... And CFL and LED replacements are not light bulbs, so they must only be simulators...
« Last Edit: December 19, 2011, 04:44:40 AM by billt »
Bill T
All Glory to the Hypnotoad!
 

Offline trekiej

Re: FPGA for dummies
« Reply #292 on: December 27, 2011, 10:01:02 PM »
All the Cardinals in the house say, hooooooe!
« Last Edit: December 27, 2011, 10:03:30 PM by trekiej »
Amiga 2000 Forever :)
Welcome to the Planar System.
 

Offline Thorham

  • Hero Member
  • *****
  • Join Date: Oct 2009
  • Posts: 1150
    • Show only replies by Thorham
Question by an FPGA dummy.
« Reply #293 on: January 02, 2012, 07:32:36 PM »
Perhaps it's time to restore this thread to it's original purpose.

I'll repeat the question that some people thought was an argument (understandable, seeing how it was worded), and this is about emulation on a normal computer. Whether an FPGA emulates or not isn't relevant here, and I'm not going to argue about that anymore in this thread.

Here goes:

Seeing how I've become interested in FPGA computing, I would like to play with this, and seeing how a switch (emulated relay using bits as signals) emulator on a computer shouldn't be too hard to write, I would like to know how easy or difficult such virtual circuitry would be to translate to actual circuitry that can be implemented using an FPGA (or with wires and transistors, or an ASIC, or...)?

Any pointers are appreciated :)
 

Offline Fats

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 672
    • Show only replies by Fats
Re: Question by an FPGA dummy.
« Reply #294 on: January 02, 2012, 09:48:23 PM »
Quote from: Thorham;674031

Seeing how I've become interested in FPGA computing, I would like to play with this, and seeing how a switch (emulated relay using bits as signals) emulator on a computer shouldn't be too hard to write, I would like to know how easy or difficult such virtual circuitry would be to translate to actual circuitry that can be implemented using an FPGA (or with wires and transistors, or an ASIC, or...)?


Once you have a logic description of your circuit, e.g. your switch emulator, there are automated tools that will convert it to something you can give to your FPGA or put it in ASIC. These tools or often free for some FPGAs and will cost up to a few $1k for making ASICs on advanced technology nodes.  Look on web for 'boolean logic',  'logic synthesis' and EDA.

BTW, a transistor is actually a switch and in CMOS technology you basically have two types: a nMOS one that is open when input is high and a pMOS one that is closed when input is high. It depends on convention if high is representing a 1 or a 0.
These transistors (e.g switches) can also be used in regimes where it is not fully on or off and this is often called analog behavior (amplifiers, current mirrors, ...).
Look on the web for transistor.

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

Offline freqmax

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
Re: Question by an FPGA dummy.
« Reply #295 on: January 02, 2012, 11:02:10 PM »
Is there any preference for nMOS or pMOS in regards to stability and noise immunity, or even propagation delay?
 

Offline billt

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 910
    • Show only replies by billt
    • http://www.billtoner.net
Re: Question by an FPGA dummy.
« Reply #296 on: January 03, 2012, 02:46:32 AM »
Quote from: Thorham;674031
Seeing how I've become interested in FPGA computing, I would like to play with this, and seeing how a switch (emulated relay using bits as signals) emulator on a computer shouldn't be too hard to write, I would like to know how easy or difficult such virtual circuitry would be to translate to actual circuitry that can be implemented using an FPGA (or with wires and transistors, or an ASIC, or...)?

Any pointers are appreciated :)


Your relay sounds like a passgate. (also called a transmission gate in some circles) In an ASIC you might just put a passgate there, but this implies tristate wires which are frowned upon in modern design practices in terms of design using gates (logic gates I mean, not transistor gates). (be that verilog, vhdl, schematics, whatever, it's all a poor habit to be in unless there is particularly good reason for them) It's frowned upon as it implies the possibility of a floating input somewhere when all drivers on the net are "off"/disconnected. Floating inputs are bad, in that they can do weird things, which can be bad. So tristate busses, like you do see on PCB boards (PCI, Zorro, ISA, etc) are frowned upon inside a chip. Using a passgate can be troublesome in timing analysis. In my FPGA silicon days, we could not plan for timing because of inability to time through passgates. So we just built them, and thigns went as fast as things turned out to work right. It's also difficult to design an FPGA with timing/speed in mind, as what exactly needs to go how fast? You don't know what it will be doing in a customer design, so how do you optimize for that or have a particular goal?

In an FPGA, to do a passgate, you probably controlling a mux to pass the input value out or not. But in not passing the input value out, in an FPGA you probably need to pick an "off value", in that you can't pass a Z (complete disconnect), you have to pass (select) either a 1 or 0 (still connected to something). Proper design methods/habits/whatever need to be used, so rather than design using "relays" as you call them, you need to design using more appropriate elements. And that applies to all digital things inside the chip. (Analog chip design is a whole other world with whole other rules. I've only scratched the surface there as a layout guy, and know nothing of circuit design that we layout guys are given to implement)
Bill T
All Glory to the Hypnotoad!
 

Offline billt

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 910
    • Show only replies by billt
    • http://www.billtoner.net
Re: Question by an FPGA dummy.
« Reply #297 on: January 03, 2012, 05:20:11 AM »
Quote from: Fats;674049
BTW, a transistor is actually a switch and in CMOS technology you basically have two types: a nMOS one that is open when input is high and a pMOS one that is closed when input is high.


In CMOS, the N and P are used together. pmos are used on the high voltage side, and nmos on the ground side. nmos give a weak high voltage connection, and pmos give a weak ground connection, which is why we don't use one alone anymore. using pmos on high side gives a good high connection, and nmos gives a good ground connection, and together you have good connections to both voltages.
Bill T
All Glory to the Hypnotoad!
 

Offline Thorham

  • Hero Member
  • *****
  • Join Date: Oct 2009
  • Posts: 1150
    • Show only replies by Thorham
Re: Question by an FPGA dummy.
« Reply #298 on: January 05, 2012, 04:59:55 AM »
Good answers, guys, great :)
Quote from: Fats;674049
BTW, a transistor is actually a switch and in CMOS technology you basically have two types: a nMOS one that is open when input is high and a pMOS one that is closed when input is high. It depends on convention if high is representing a 1 or a 0.
Right, I just had a problem with transistors only having three pins, so relays seemed easier to emulate somehow.

Quote from: billt;674083
Your relay sounds like a passgate.
I just meant normal relays, because they seem easier to use than transistors to me (and it's only about the basic idea of what a normal relay does, the emulator doesn't emulate any electrical charges, too complicated :)). Also, in my emulator there are only two states: 0 and 1, so that when you add two such signals together directly you basically get the effect of an OR (1+1=1 and not 1+1=2). Would that be a problem to translate?

Also, is there anything wrong with the basic idea of such an emulator?
« Last Edit: January 05, 2012, 05:02:15 AM by Thorham »
 

Offline billt

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 910
    • Show only replies by billt
    • http://www.billtoner.net
Re: FPGA for dummies
« Reply #299 on: December 17, 2012, 08:01:43 PM »
To revive a year old thread, there is now an online simple class about FPGA chips that seems relevant to this. It does compare and contrast software running on a processor and hardware configuration of an FPGA, and talks some about how things work inside. I've finished 2 of 5 sessions now, and am enjoying it. (On another note, I've just finished a university course in Computer Architecture, also very enlightening and interesting stuff about the control logic of a processor)

http://university.eetimes.com/lecture-calendar.asp?cid=901#lecture_track_cgid_3
Bill T
All Glory to the Hypnotoad!