Bitcoin Forum
November 10, 2024, 05:14:31 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 »
  Print  
Author Topic: Official Open Source FPGA Bitcoin Miner (Last Update: April 14th, 2013)  (Read 432941 times)
fpgaminer (OP)
Hero Member
*****
Offline Offline

Activity: 560
Merit: 517



View Profile WWW
May 20, 2011, 02:33:56 AM
Last edit: April 15, 2013, 05:42:56 AM by fpgaminer
Merited by elianite (2)
 #1

The Open Source FPGA Bitcoin Miner
https://github.com/fpgaminer/Open-Source-FPGA-Bitcoin-Miner


Kintex 7 K325T Maximum Performance: 400 MH/s
Cyclone 4 C75 Maximum Performance: 109 MH/s
Spartan-6 LX150 Maximum Performance: 100 MH/s
List of FPGA Performance per device and configuration
Note: The included configuration (for Cyclone 4), and source code, downclocks the chip to 50MH/s. 109MH/s requires cooling, and I didn't want to release something that would burn up your valuable chips.

This includes a pre-synthesized configuration file, ready to be loaded onto a DE2-115. The README.md includes easy instructions on how to load that into your FPGA and get up and running.

Please feel free to give me feedback, suggestions, critiques, and of course to submit Pull requests.



Compatible Board (and only purchase currently required):
Terasic DE2-115 Development Board
Note: This is not the only supported FPGA board, but it is the only board with mining binaries and instructions currently available. The software can be manually compiled for many different chips (Altera and Xilinx) and boards. More pre-built binaries and instructions will be made available as time allows.


News and Updates


June 2nd, 2011 - Flexible Unrolling Added
Thanks to the patch submitted by Udif, the code now supports a configurable amount of loop unrolling. The original design was fully unrolled, with 128 total round modules. By adjusting the CONFIG_LOOP_LOG2 Verilog define, you can choose to unroll to 64 round modules, 32, 16, 8, or 4. This makes the design smaller, at the equivalent cost of speed, which should allow it to run on many more FPGAs.

If you're interested in trying the code on a smaller FPGA, open the projects/DE2_115_Unoptimized_Pipelined project in Quartus. Then go to Assignments->Settings->Analysis & Synthesis Settings->Verilog HDL Input. You should see a CONFIG_LOOP_LOG2 macro setting, which you can set from 0 to 5. 0 gives full unrolling (largest, fastest), and 5 gives the smallest design. You will also need to go to Assignments->Device and choose your FPGA, and set the correct clock pin in Assignments->Pin Planner. Then just compile and program!


June 12th, 2011 - Xilinx and VHDL Ports Added
With many thanks to TheSeven and teknohog, their code has been added to the public repo. TheSeven did a re-implementation in VHDL, with support for Xilinx and ISE. teknohog did a straight port of the Verilog code to simply support Xilinx and ISE. Both include Python miner control scripts, and serial port communication with the FPGA board.

I made little to no modification to their code for this first commit. If you appreciate their hard work on this Open Source project, please send them your thanks and donations!

TheSeven: 14Jc8vWq1mPv7vWnP5VquZZgpLEtzW2vja
teknohog: 1HkL2iLLQe3KJuNCgKPc8ViZs83NJyyQDM


July 17th, 2011 - Code Updates and Minor Cleanup
teknohog's Xilinx Verilog port on the public repo has been updated. teknohog's serial modifications to makomk's code have been added as a separate project. OrphanedGland's port to Stratix devices, using VHDL, has been merged into the public repo. To top it all off, I updated the project's main README.md file, to prominently include a list of contributors and their donation addresses, because they deserve recognition for their hard work. I will modify the first post in this thread to include the same list Smiley

As it wasn't mentioned before on the first post, I am mentioning here that makomk made improvements to my base Verilog code. These changes improved both the overall performance of the design, and its area consumption, allowing the design to fit on a smaller, cheaper EP4CE75 chip. Great work makomk!


August 8th, 2011 - Spartan-6 Code Added and Working, Altera Mining Script Updated
Thanks to the efforts of makomk, the Spartan-6 series of chips are now supported, and achieve the highest performance per $ of any chip. Code has been verified working on my LX150 development kit, and can achieve up to 100MH/s of performance.

The Altera Tcl Mining Script has just received a massive update. No more need to edit mine.tcl to hack in your FPGA's hardware and device names; mine.tcl will automatically detect mining FPGAs connected to the system. Pool information has been moved to a config.tcl file for easy editing. No more dependency on TclCurl, so the script should be Linux friendly now. And best of all, the console output has been cleaned up to look like poclbm.




April 14th, 2013 - Kintex-7 Code Added and Working, Using The New DSP48E1 Design
I have just pushed the experimental KC705 code to the repo.  Here is the project.  This is a DSP48E1 based design, and I have compiled and run it at 400MH/s.  Included with this new design is a UART interface, instead of JTAG, since the KC705 kit has an on-board USB-UART bridge.  See the README for more information on how to use the UART interface.  As an additional surprise, this code includes support for the Kintex's on-die temperature sensor.  Temperature readings are reported over UART, allowing external software to monitor the chip.  In the future I will add automatic shutdown on over-temp conditions.



Contributors
These fellows have contributed to this Open Source project in various ways, and deserve recognition. If you appreciate their hard work on this Open Source project, please send them your thanks and donations!
Not listed in any particular order.

teknohog - 1HkL2iLLQe3KJuNCgKPc8ViZs83NJyyQDM

OrphanedGland - 1PioyqqFWXbKryxysGqoq5XAu9MTRANCEP

udif

TheSeven - 14Jc8vWq1mPv7vWnP5VquZZgpLEtzW2vja

makomk - 15XX7BhQcZFUg47S4VKyiLygPTHTs9234J

newMeat1 - 1LbqTCA1cnpbbdKbXzZZfHYMe7teiczQc2


NOTE: If you've contributed to the project, and are not listed here, or your donation address is not listed, please contact me. I do my best to keep track of everyone, but I'm only human.




-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

May 19th, 2011

First official release of the Open Source FPGA Bitcoin Miner.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (MingW32)

iQIcBAEBAgAGBQJN1dF/AAoJEFFoGj2A5YKRl/IP/2pMRqNZ0R+Z5WTG/v9DyafJ
YChUTSW8Tc1su99hJWe4pXtVH3p/zsn6spy73DaTeGjHvjxlDAuRU/qq3ax5RdGG
e5DsUb9fRFVnkpFDjIqsHQLAeQxwgRC28JsFNXP0ow986wwnZwRIBMx6xykVUYIx
/ImV4Y/vbc92nMclsItuF2NCFtYcravbP6NsbYuhMGORIqTkTNUuczP2weRw9C9H
10ThsCpfDD2OgNrL3kDy2SSlOkMekpTTlkin5P2ax6vZUE/2o3ZaZW9ORGLYnM85
8VX2NfyKwstvIrPoyHuYAxQYyFB8FLDoyqbkBSdxR/xlv8lR1i9OzCfeEmXQGbOr
yUk96JIoQIZ9TDuVlpMtIv7lYudiMLQ/6cgc1BrHoCiyotNDdI3zFAVsMZe7iTk0
zFHu1dbK3I8IzE+U8U5YLIBQZKALAdQ8yv+1ZytcJOOOdbNv8t20epmh01LxeHRw
1Mqmhxt7Nj+Dx+0UgYPH+05FshREYxS9nI0CPF0e3Bvae+0Dre++qxWITWkfHUtP
9hWVn55GvJyLotQOesFHhCy1TrL43VNw/3+fh1H2crbQ2GY0d+j0Fo4V1srEQFY2
nJAjw4c5mRH+MoFcvtts/Cj4xAeIdLTJ66j61unBhmV4EjlJd6NNdhx299CaIrSr
UcXsHTrfpCUvNdQOChB/
=HGQa
-----END PGP SIGNATURE-----

GuruSteve
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
May 20, 2011, 02:40:58 AM
 #2

Awesome!
SomeoneWeird
Hero Member
*****
Offline Offline

Activity: 700
Merit: 500


View Profile
May 20, 2011, 02:56:47 AM
 #3

Dude, that's awesome! If I buy one, what would the hashing rate be?
gusti
Legendary
*
Offline Offline

Activity: 1099
Merit: 1000


View Profile
May 20, 2011, 03:07:13 AM
 #4

Nice, and many thanks for the release.
Now, some rough calculations.

At 80 MHps, I will need at least 3 of these to achieve a single 5830 hashrate.
That is $595.-x 3 = $1785.- at full price, vs. $190.- for the 5830.

Giving the 5830 is consuming $11.- a month in electricity, and assuming this board will consume zero electricity, it will take more than 145 months, or 12 years to recover the investment, always comparing to a 5830.

Is it really cost feasible ?




If you don't own the private keys, you don't own the coins.
LobsterMan
Member
**
Offline Offline

Activity: 73
Merit: 10


View Profile
May 20, 2011, 03:08:12 AM
 #5

This looks cool, I hope to see more stuff like this Smiley
smooth
Legendary
*
Offline Offline

Activity: 2968
Merit: 1198



View Profile
May 20, 2011, 03:13:50 AM
 #6

Nice, and many thanks for the release.
Now, some rough calculations.

At 80 MHps, I will need at least 3 of these to achieve a single 5830 hashrate.
That is $595.-x 3 = $1785.- at full price, vs. $190.- for the 5830.

Giving the 5830 is consuming $11.- a month in electricity, and assuming this board will consume zero electricity, it will take more than 145 months, or 12 years to recover the investment, always comparing to a 5830.

Is it really cost feasible ?

You answered your own question.  But don't hate.  It's open source being released, others can improve on it.  No telling where it could lead.

gusti
Legendary
*
Offline Offline

Activity: 1099
Merit: 1000


View Profile
May 20, 2011, 03:16:35 AM
 #7

Nice, and many thanks for the release.
Now, some rough calculations.

At 80 MHps, I will need at least 3 of these to achieve a single 5830 hashrate.
That is $595.-x 3 = $1785.- at full price, vs. $190.- for the 5830.

Giving the 5830 is consuming $11.- a month in electricity, and assuming this board will consume zero electricity, it will take more than 145 months, or 12 years to recover the investment, always comparing to a 5830.

Is it really cost feasible ?

You answered your own question.  But don't hate.  It's open source being released, others can improve on it.  No telling where it could lead.




Sure, I would like that improvement too. Numbers made only to show that "fpga is taking over btc" not possible at this moment.

If you don't own the private keys, you don't own the coins.
smooth
Legendary
*
Offline Offline

Activity: 2968
Merit: 1198



View Profile
May 20, 2011, 03:20:03 AM
 #8

Sure, I would like that improvement too. Numbers made only to show that "fpga is taking over btc" not possible at this moment.

Not necessarily.  This one won't take over bitcoin mining, that's for sure.  But that's quite different from other people may already have (most likely do) and what this might evolve into.
gusti
Legendary
*
Offline Offline

Activity: 1099
Merit: 1000


View Profile
May 20, 2011, 03:25:16 AM
 #9

Sure, I would like that improvement too. Numbers made only to show that "fpga is taking over btc" not possible at this moment.

Not necessarily.  This one won't take over bitcoin mining, that's for sure.  But that's quite different from other people may already have (most likely do) and what this might evolve into.


Not if your fpga small scale rig need to compete with AMD costs, who manufactures millions of GPU's a year.

If you don't own the private keys, you don't own the coins.
benjamindees
Legendary
*
Offline Offline

Activity: 1330
Merit: 1000


View Profile
May 20, 2011, 03:31:05 AM
 #10

The FPGA alone has a unit price of $300.

But might it be feasible to put this on a USRP?

Civil Liberty Through Complex Mathematics
smooth
Legendary
*
Offline Offline

Activity: 2968
Merit: 1198



View Profile
May 20, 2011, 03:31:54 AM
 #11

Not if your fpga small scale rig need to compete with AMD costs, who manufactures millions of GPU's a year.

We'll see.  AMD devices do a lot more than just bitcoin hashing, and also FPGAs are manufactured in large quantity as well.

But you may turn out to be right.  Time will tell.  I'm definitely grateful that this open source contribution is being made, even if FPGAs turn out not to be the way to go for bitcoin.

xf2_org
Member
**
Offline Offline

Activity: 98
Merit: 13


View Profile
May 20, 2011, 04:39:17 AM
 #12

Well done!  An excellent addition to the mining realm.
Basiley
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
May 20, 2011, 04:41:52 AM
Last edit: May 20, 2011, 05:09:19 AM by Basiley
 #13

its more flexible.
imagine where you go, with all you GPU-equipped rigs, when workload in mining was drift from hash-related ?
so, FPGA is bigger, but more flexible investment[ans less power-hungry].
and yes, other FPGA's[and even mult-FPGA boards]provide considerably more horserpower, but more expensive.
in big orders, boards/arrays way less expensive, than bough in walk-in shops.
at0m
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
May 20, 2011, 04:51:45 AM
 #14

Looks promising. A pretty decent hash speed to start with. Can't wait to see where the community takes this.
greenlander
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
May 20, 2011, 05:05:20 AM
 #15

Great work, fpgaminer.

Do you have any data from Altera's tool chain on what % of the hardware units you used? (perhaps it could fit into a smaller device?)
cypherf0x
Newbie
*
Offline Offline

Activity: 28
Merit: 1



View Profile
May 20, 2011, 05:09:27 AM
Last edit: May 20, 2011, 06:18:39 AM by cypherf0x
 #16

Nice!

Though to repeat what was said elsewhere FPGAs are not cost effective unless you already own the hardware so don't run out and buy dev boards.  It's a little more involved than point and click to get them running.
Jaime Frontero
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
May 20, 2011, 05:30:59 AM
 #17

Looks promising. A pretty decent hash speed to start with. Can't wait to see where the community takes this.

indeed.

let us keep in mind that when the Bitcoin client was first released, the very idea of even 20 Mhash/second was like some far-off holy grail.

80 Mh/s?  that's pretty damn stout for a first whack...
fpgaminer (OP)
Hero Member
*****
Offline Offline

Activity: 560
Merit: 517



View Profile WWW
May 20, 2011, 05:52:15 AM
 #18

Quote
Do you have any data from Altera's tool chain on what % of the hardware units you used? (perhaps it could fit into a smaller device?)
This version uses ~90K LUTs. I have a more optimized version in the works (<80K LUTs), but it's still being tested and tweaked.

greenlander
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
May 20, 2011, 07:41:50 AM
 #19

Nice, and many thanks for the release.
Now, some rough calculations.

At 80 MHps, I will need at least 3 of these to achieve a single 5830 hashrate.
That is $595.-x 3 = $1785.- at full price, vs. $190.- for the 5830.

Giving the 5830 is consuming $11.- a month in electricity, and assuming this board will consume zero electricity, it will take more than 145 months, or 12 years to recover the investment, always comparing to a 5830.

Is it really cost feasible ?

Your math assumes the difficult will be constant.

Eventually, the difficulty will reach a point where the power cost is a significant portion of the mining cost.  Right now, power is about 10%-20% of the cost when doing GPU bitmining.

Let's assume that one year from now, power is 80% of the mining cost.  At that point, FPGA mining would have a significant advantage over GPU mining even if the hash rates are same.
Basiley
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
May 20, 2011, 07:52:03 AM
 #20

Nice, and many thanks for the release.
Now, some rough calculations.

At 80 MHps, I will need at least 3 of these to achieve a single 5830 hashrate.
That is $595.-x 3 = $1785.- at full price, vs. $190.- for the 5830.

Giving the 5830 is consuming $11.- a month in electricity, and assuming this board will consume zero electricity, it will take more than 145 months, or 12 years to recover the investment, always comparing to a 5830.

Is it really cost feasible ?

Your math assumes the difficult will be constant.

Eventually, the difficulty will reach a point where the power cost is a significant portion of the mining cost.  Right now, power is about 10%-20% of the cost when doing GPU bitmining.

Let's assume that one year from now, power is 80% of the mining cost.  At that point, FPGA mining would have a significant advantage over GPU mining even if the hash rates are same.
but at that "reach point" you need FPGA-utilising solution with multiple FPGA's per board or use them into mini-boards[ISA bus ? Tongue], stacked into main one, to minimise communication/power/connectivity impact on solution cost.
and also, board must be ready to put into industry-adopted-sizes racks[both IT and manufacturing/science racks meant]. if you plan to sell number of such boards.
IMO.
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 »
  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!