Bitcoin Forum
June 23, 2024, 10:15:45 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: FPGA: Any Algorithm?  (Read 1217 times)
GunXpatriot (OP)
Newbie
*
Offline Offline

Activity: 34
Merit: 0


View Profile
December 16, 2014, 11:51:43 PM
 #1

So, at this point, I think most of us know what an ASIC is. Even the super-noobs. At this point, I'm at the stage of "almost not a noob".

Application Specific Integrated Circuit. It can only do one thing... But it can do that thing, REALLY well.

From what I've learned, it would seem that FPGA is kind of the gateway to ASIC's. Or so it seems. And FPGA's seem to always come after ASIC's, so that'd make sense. You have to design the ASIC before it's an ASIC, right? Anyway... It would seem that there are people with FPGA's mining X11. Or so I've heard... So it makes me wonder... With the proper learning/knowhow, can the "average Joe" use FPGA this way?

I wonder this, because I've started getting a little into programming lately. I'm still extremely new to it, so I'm not holding my breath, but... What I'm asking is, can any algorithm be mined with FPGA with the proper programming/design of the device? It happened to Sha-256, it SEEMS to be happening with X11, and it may very well have happened to Scrypt, but I'm not sure.

I remember a very long time ago, hearing of a dude with a few boards getting MASSIVE hashrates WELL before ASICs came out. So it makes me wonder, if with the proper resources, an FPGA can be configured for anything?

Does FPGA's capability have anything do with an ASIC, in actuality? Or is it it's own independent thing? See, I thought that ASIC was merely an evolution of a congifured FPGA. The FPGA was basically the prototype, then the ASIC can be produced. But like I said, I'm far from even being intermediate, let alone an expert.

What do you guys think about this?
novak@gekkoscience
Full Member
***
Offline Offline

Activity: 173
Merit: 100


View Profile
December 17, 2014, 04:19:40 AM
 #2


From what I've learned, it would seem that FPGA is kind of the gateway to ASIC's. Or so it seems. And FPGA's seem to always come after ASIC's, so that'd make sense. You have to design the ASIC before it's an ASIC, right? Anyway... It would seem that there are people with FPGA's mining X11. Or so I've heard... So it makes me wonder... With the proper learning/knowhow, can the "average Joe" use FPGA this way?

You're getting there.  FPGA stands for "Field Programmable Gate Array."  An FPGA is a hardware chip in which the hardware gates can be connected and configured in different ways, to produce a different result.  This still requires a hardware design, so you can't just go out, plug one in, and write a little script and get going.  It's still a pretty in depth, low level design, requiring someone knowledgeable in digital design.

I wonder this, because I've started getting a little into programming lately. I'm still extremely new to it, so I'm not holding my breath, but... What I'm asking is, can any algorithm be mined with FPGA with the proper programming/design of the device? It happened to Sha-256, it SEEMS to be happening with X11, and it may very well have happened to Scrypt, but I'm not sure.

I am not an FPGA expert, although I am generally fairly familiar with electronics.  Can you mine any algorithm with an FPGA?  That's a very difficult question.  Certainly, there are some things, which can be implemented well in ASICs which are not nearly as efficient in FPGAs.  Obviously ASICs are nearly always more efficient, due to the fact that they can be built in any way, rather than merely changing gates that are set up in a single way- but for some things there will be a more significant difference than others.  According to the wikipedia article on FPGAs, FPGAs need on average 40 times as much area, draw 12 times as much dynamic power, and run at one third the speed of corresponding ASIC implementations.  Obviously, this depends on what you are trying to do.

Mining consists of running a hashing algorithm, in the case of bitcoin, SHA256.  This is very easy to parallelize, you can simply run a whole lot of cores each performing a separate computation.  Scrypt was supposed to be resistant to ASICs, and even GPUs by making the algorithm complex and memory intensive.  Obviously, it wasn't really, as you can design an ASIC to do anything at all, by the very definition of the word. 

Does FPGA's capability have anything do with an ASIC, in actuality? Or is it it's own independent thing? See, I thought that ASIC was merely an evolution of a congifured FPGA. The FPGA was basically the prototype, then the ASIC can be produced. But like I said, I'm far from even being intermediate, let alone an expert.

What do you guys think about this?

An ASIC is not an FPGA, though FPGAs are often used to prototype ASICs.  This is because you can use a similar language such as VHDL to describe both, and an FPGA gives you a whole lot of building blocks to play with.  However, there are often limitations on FPGAs which make them less efficient, and you're better off changing the way many things are done to get optimal efficiency.

Perhaps an analogy is in order:  an FPGA is like a lego set, one of the good old ones that was mostly a whole bunch of blocks.  You can build all sorts of things with it, and then take it apart and build something else if you want.  An ASIC is like something injection molded.  It can be made in any shape, to perform any function.  You're never going to make, for example, a perfect sphere out of square legos- but you can easily cast plastic in that shape.  In the same way, you make an ASIC perfect at a given function- but it takes a great deal of time and engineering and you can't take it apart and fix it it if you make a mistake.  You just have to make more.

To answer your question in the most roundabout way:  I have no idea if FPGAs are being used.  It is certainly within the realm of possibility, and hopefully that clears up the differences between ASICs and FPGAs a bit for you.

--
novak
BeetcoinScummer
Full Member
***
Offline Offline

Activity: 215
Merit: 101



View Profile
December 17, 2014, 09:34:44 AM
 #3

One thing is for sure, you can't build anything useful with those $100-$200 FPGA development boards and the low powered FPGAs they come with.
Dexter770221
Legendary
*
Offline Offline

Activity: 1029
Merit: 1000


View Profile
December 17, 2014, 10:11:43 AM
 #4

Time for FPGA's in BTC mining was 2 years ago. They were 10 times more efficient than GPU. BFL, Avalon, ztex, cainsmore started with FPGA's and two years ago there was no better option. Personally I own one Lancelot board (paid 100BTC Wink )with 2 Spartan6 LX150 chips. It produces ~420Mh/s @ 20W, and in times of 3M diff that board found a block...
Go back in time, you will find plenty of topics regarding FPGA's...

Under development Modular UPGRADEABLE Miner (MUM). Looking for investors.
Changing one PCB with screwdriver and you have brand new miner in hand... Plug&Play, scalable from one module to thousands.
GunXpatriot (OP)
Newbie
*
Offline Offline

Activity: 34
Merit: 0


View Profile
December 17, 2014, 04:06:49 PM
 #5

That was very interesting and helpful. Thanks, you guys. Especially Novak.

That did clear a lot of things up, and I do have a much better understanding of what FPGAs are. I did like your Lego vs injection molded sphere analogy.

Dexter, that's one I saw on Ebay.

http://www.ebay.com/itm/FPGA-Lancelot-botcion-miner-not-a-preoder-Ship-now-By-DHL-EMS-/191062390387?pt=LH_DefaultDomain_0&var=&hash=item2c7c34b673

100 BTC for that, at the time? Then again, it was probably a bargain for an early adopter. Incredible!

I take it you're one of those early adopters, huh?  Wink

Man, you guys have it good. I'm fighting just to get to 2BTC! Haha

I first found out about bitcoin in late 2012, and took interest in very early 2013. Wish I'd have had my current build at that time, I'd have really raked 'em in!

Dexter770221
Legendary
*
Offline Offline

Activity: 1029
Merit: 1000


View Profile
December 17, 2014, 04:17:35 PM
 #6

Pictures shows Icarus board, 1st version of FPGA miner from ngzhang. 160$ IMHO is not worth it now. It even can't be used as evaluation board becuse there's not many I/O pins routed. Lancelot is better in that matter. At the time I purchased it BTC was 5$, so cost was 500$. In terms of $ I achieved ROI, in terms of BTC I'm not. I knew that ROI will be very difficult but I wanted to learn HDL language and that was cheap compared to other development boards with FPGA so rich with "gates".

Under development Modular UPGRADEABLE Miner (MUM). Looking for investors.
Changing one PCB with screwdriver and you have brand new miner in hand... Plug&Play, scalable from one module to thousands.
sidehack
Legendary
*
Offline Offline

Activity: 3346
Merit: 1858

Curmudgeonly hardware guy


View Profile
December 17, 2014, 04:25:53 PM
 #7

Pictures shows Icarus board, 1st version of FPGA miner from ngzhang. 160$ IMHO is not worth it now. It even can't be used as evaluation board becuse there's not many I/O pins routed. Lancelot is better in that matter. At the time I purchased it BTC was 5$, so cost was 500$. In terms of $ I achieved ROI, in terms of BTC I'm not. I knew that ROI will be very difficult but I wanted to learn HDL language and that was cheap compared to other development boards with FPGA so rich with "gates".

Well, the first line in the listing is "Lancelots are out of stock, we're selling Icarus instead". I also like that the title lists it as a "botcion miner". Thanks guys.

How does the Lancelot or Icarus board's FPGA compare to this guy's, in terms of capability and repurposing?
http://www.ebay.com/itm/281510660471

Cool, quiet and up to 1TH pod miner, on sale now!
Currently in development - 200+GH USB stick; 6TH volt-adjustable S1/3/5 upgrade kit
Server PSU interface boards and cables. USB and small-scale miners. Hardware hosting, advice and odd-jobs. Supporting the home miner community since 2013 - http://www.gekkoscience.com
Dexter770221
Legendary
*
Offline Offline

Activity: 1029
Merit: 1000


View Profile
December 17, 2014, 04:55:19 PM
 #8

I didn't scroll down so missed that quote.
BFL Singles and Icarus are very limited in terms or repurposing. Communication with those are limited to serial port thru USB so not much of a use as development board. Only some specific very intense calculations with small bandwith requirements (SHA256 is perfect for that).

Under development Modular UPGRADEABLE Miner (MUM). Looking for investors.
Changing one PCB with screwdriver and you have brand new miner in hand... Plug&Play, scalable from one module to thousands.
novak@gekkoscience
Full Member
***
Offline Offline

Activity: 173
Merit: 100


View Profile
December 18, 2014, 04:19:12 AM
 #9

Pictures shows Icarus board, 1st version of FPGA miner from ngzhang. 160$ IMHO is not worth it now. It even can't be used as evaluation board becuse there's not many I/O pins routed. Lancelot is better in that matter. At the time I purchased it BTC was 5$, so cost was 500$. In terms of $ I achieved ROI, in terms of BTC I'm not. I knew that ROI will be very difficult but I wanted to learn HDL language and that was cheap compared to other development boards with FPGA so rich with "gates".

Yeah, the only thing that comes to mind that you could do easily with a board like that is something purely computational and not dependent on a lot of memory (so that you need almost no I/O).  What comes to mind is password cracking, though certainly other operations are possible.  Maybe a particle tracking Monte-carlo simulation.  It will be a lot easier if the operation of a single core is completely independent of all others, as that's going to be the easiest to speed up on an FPGA.

--
novak
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!