ThomasBlock's FPGA Mining Guide
ThomasBlock's FPGA Mining Guide
Thomas Block
https://twitter.com/ThomasBlock3
https://www.youtube.com/channel/UCCTIyxOWqhwB3cu7PbRIgQA
Xilinx DK-U1-VCU1525-P-G
Xilinx DK-U1-VCU1525-P-G
   Introduction
   VCU1525 specs
      How to get it
      RAM
      Voucher for software design toolkit
   DC1613A
      what?
      why?
      how?
   Hardware Setup
   Cooling
   Hardware Connections
      PCIE Riser Power
      PCIE Riser USB to mainboard
      Mini-USB from card to mainboard
      8 port PCIE power connection
      LT powerplay device
   Second Pc
   Board LEDs
   Using Vivado Labs
   Using LT Powerplay Software
   Mining 0xBTC
      clocks
   Mining Tribus
   Mining Keccak
   Profit Estimation
   Real World income
   Next Steps
Immersion Cooling
   Theory
   Coolant
   Heat Removal
   my immersion cooling setup
   Real World income
   next step
Introduction
Hi. In this guide i am constantly collecting all the information i learned about my FPGA
cryptocurrency mining experience in 2018. It may be useful for people who want to get into
fpga mining.
if you think that something is unclear or missing, just contact me and i will update it.
Thomas Block
This Work is based on the hard work of the FPGA developer scene. I appreciate their vision
of sharing bitstreams very much. Thank you! Here are some links to their original posts:
whitefire990
https://bitcointalk.org/index.php?topic=3459858.0
http://zetheron.com/
senseless
https://bitcointalk.org/index.php?topic=3688965.0
https://fpga.land/
GPUHoarder
https://bitcointalk.org/index.php?topic=4391318.0
http://www.squirrelsresearch.com/
DigitalCruncher
https://bitcointalk.org/index.php?action=profile;u=1735391
https://github.com/digitalcruncher
https://store.mineority.io
https://fpgatalk.org/
https://fpga.guide/en/
https://nocroom.com/fpga
VCU1525 specs
https://www.xilinx.com/products/boards-and-kits/vcu1525-a.html
manual:
https://japan.xilinx.com/support/documentation/boards_and_kits/vcu1525/ug1268-vcu1525-r
econfig-accel-platform.pdf
How to get it
as of August 2018, you can order it from AVNet USA directly. They get it from Asia, so lead
time is 4-8 weeks. They can then express ship it worldwide ( except Cuba, Iran, North Korea,
Sudan and Syria ). Price is 4995 USD plus local taxes. Worked well for me in germany.
There also was a group buy of 5000 units on https://fpga.land/ - but it is sold out and may
also be delayed. so you might be faster by ordering directly. the downside is that you only
get that passive cooled version which needs a lot of work for proper cooling. the group
variant called BCU1525 has already better cooling installed.
ALTERNATIVES 10/2018:
https://talentpros.com.tw/%E6%9C%8D%E5%8B%99%E8%88%87%E7%94%A2%E5%93
%81%E4%BB%8B%E7%B4%B9
https://shop.fpga.guide/collections/all/products/btu9p-by-tul
RAM
the card comes with 4 * 16 GB RAM, but actual bitstreams don’t need it. so you can remove
and even sell it. ( but maybe future software will take profit from / need RAM )
what?
http://www.analog.com/media/en/dsp-documentation/evaluation-kit-manuals/dc1613af.pdf
this additional LT powerplay device can undervolt the card. there are two modes of
operation:
    ● buy one unit, and undervolt each card to 0.72 V
    ● buy one unit per fpga and control the voltages live while mining ( you can go even
        lower, but it can crash )
why?
the stock value of 0.85V causes a really high power usage - i could not even use the slowest
bitstream. with this device i can go to much higher speed, at lower temperatures. see my
measurements of power consumption at the wall:
how?
you have to buy the device and build your own connector, as described here:
http://zetheron.com/Downloads/VCU1525_DC1613A_Adapter.pdf
The Software usage is described below.
Hardware Setup
my advice is to use PCIE risers, known from GPU mining: so you can locate the card on a
place where you can cool it easily ( with fans e.g. ). and you can be sure you don’t draw too
much power from the mainboard.
LT powerplay device
connect your card to the LT device. ( but the usb connection from LT goes to a second pc )
Second Pc
you will need a very basic windows pc with usb ( old laptop ). we will connect it to the LT
device - so we can control the telemetry of the cards regardless in which state / operating
system the first pc is. and usb ports won’t interfere.
Board LEDs
install:
    ● .NET 3.5 https://www.microsoft.com/de-de/download/details.aspx?id=21
    ● USB port driver  http://www.ftdichip.com/Drivers/D2XX.htm
    ● LT Power Play http://www.ltpowerplay.com/download/
open the LT power play. if it is requesting a licence, communication with the card does not
work. click “detect chips”
problem: you can not use several LT devices on one pc. the data of all connected devices
will mix up. so we will only connect one at the time. but you can keep the software running:
just change usb cables and it will update.
If you start the software and see this, you usb connection to the box is not correct:
if the card is in error state, you have to click the clear button and maybe reset.
Mining 0xBTC
you have several fundamental options:
   ●   mine in a pool
          ○ easy setup
          ○ high fees
   ●   mine solo
          ○ no fees
          ○ you need a ETH private key with balance on it
   ●   mine 0xBTC
          ○ high long term stability
          ○ high difficulty: solo mining can take up to 10 days for one block
   ●   mine 0x Altcoins
          ○ low difficulty: solo-mine one Block per hour
          ○ most of them don’t even have an exchange listing - could be completely
              worthless
   ●   http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip
   ●   https://www.microsoft.com/en-ca/download/details.aspx?id=40784
   ●   unzip miner software
you then have to reprogram the bitstream. To do so you also have to increase voltage back
to 0.72V. So you certainly want to prevent this - very annoying.
sometimes this happens: “Max Nonce: Failed to write new vector to fpga” ( ~48 hours for
me)
create an endless loop batch file to restart after errors like above:
You should put a shortcut in windows autostart ( several batchfiles for multiple cards ) - so it
will continue mining after reboot / windows update ( dont’t forget to choose windows as
standard in multi-boot systems )
clocks
 Bitstream          V                 error rate         Power@Wall
                                                         [W]
idle 0
programming 20
13 GH 0.72 0% 240
13 GH 0.69 0% 220
13 GH 0.66 0% 205
13 GH 0.62 3% 180
13 GH 0.61 6% 175
summary:
Pro Contra
you have to install a ethereum node and open the rpc port to the whole internet ( be careful -
no password , so don't hold funds in that node )
here is my docker command line which would do this:
docker run --restart=unless-stopped -d -v /path/to/your/data/storage:/root -p 8545:8545 -p
30303:30303 ethereum/client-go --rpc --rpcaddr 0.0.0.0 --rpccorsdomain "*" --syncmode full
high Airflow 68 71 80
low Airflow 81 84 90
http://www.wolframalpha.com/input/?i=3600*24*30%2F+(+864881523+*+2%5E22+)+*+1000
0000000+*+50+*+0.00314+*+190
but we have to pay an ETH network fee for every created block:
http://www.wolframalpha.com/input/?i=3600*24*30%2F+(+864881523+*+2%5E22+)+*+1000
0000000+*+0.1
 0xDiary      1              4            0             -               0         -432
              1430511
 0xLTC        28             50           0             -
              1430511
0xZIBI 0 -
 0xDOGEC                                  0
 OIN
0xRamen 0
0xbcash 0
None of these Altcoins does make any sense. All devs left. Just all are 0xbtc copy scams.
You could mine like 95% of each coin - but you would have to pay around 400 Dollar in
Etherum Network fees. The following Table will proof that
0xZibi 2901 no
Ramen 2112 no
-> try these four numbers until it works: 02:00.0, 02:00.1 , 03:00.0, 03:00.1
errors?
-> your linux uses libcurl4, whereas the binary needs libcurl3 ->
sudo add-apt-repository http://security.ubuntu.com/ubuntu xenial-security main
sudo apt-get install libcurl3
crash
-> do not run vivado and ccminer at the same time!
wokring miner:
not working miner:
here we see a problem with the activator:
for a valid activation, the “Status” after the line “unlock” should beginn with “0xC00” and not
“0x800” . so if you have a valid activation code, try the following
    ● remove activator from your sh-file
    ● run activator.sh manually ( edit for your pcie slot )
    ● run it several times until you have “0xC00”
    ● dont run it any more afterwards
1 0,6 0.72 75 W
https://crypt0.zone/coins/tribus
conclusion: Only Denarius, BZL and Scriv are useful profit-switching coins. (exchangeable).
Only Denarius has long term potential.
You could mine Zula or Virtus and hope for a pump ( create now sellorders at Cryptobridge
with 10x of the actual price. check in 6 months )
important ccminer command line options
(normally visible via -h )
it is nice to monitor your farm in a central tool like awesome miner. so you can define in
ccminer “--api-bind 0.0.0.0:1080” to listen on port 1080. awesome miner could also connect
and shows hasrate. but then i had a bug: ccminer crashed with the comment:
[2018-08-18 08:57:58] Your system does not support CUDA 8.0 API!
so i guess, api is just not fully implemented in this software
Mining Keccak
https://crypt0.zone/coins/keccakc
https://www.zenprotocol.com/en
https://coinmarketcap.com/currencies/zen-protocol/
https://github.com/digitalcruncher/zen-protocol
Explorer:
https://zp.io/
Pools:
https://zp.leafpool.com/ -> has 95% of Network. 2% fee
https://zp.pandapool.pw/ -> down
https://pool.atomminer.com/ -> “red” ?
Profit Estimation:
Network: 8000 GH
1 VCU: 12 GH
100 Blocks = 6,5 h
24h = 400 Blocks
1 VCU = 400/8000*12 Blocks = 0,6 Blocks
VCU: 15$ / day
Leafpool:
Stratum Hostname/Location:
US: zp-us-east.leafpool.com
EU: zp-eu.leafpool.com
Asia: zp-asia.leafpool.com
Stratum Ports:
GPU Mining: 8811
Rigs/Mining Farm: 8822
./ccminer-zp -o stratum+tcp://zp-eu.leafpool.com:8822 -u
zen1q9xu2lxr55hucs36vc5vmydqj04y9vdgp3zx5n94l0mtwn9a2cs4sarn3t2.yourDonationNa
me -p x -q
Mining Zenprotocol
21 12 GH 0.73 V 280W 58 / 68 / 73 °C
Solo Mining
https://0x1d00ffff.github.io/0xBTC-Stats/?page=miningcalculator&#
https://whattomine.com/coins/187-dnr-tribus?utf8=%E2%9C%93&hr=1950.0&p=200&fee=0.
0&cost=0.3&hcost=0.0&commit=Calculate
https://whattomine.com/coins/73-max-keccak?utf8=%E2%9C%93&hr=12600&p=200&fee=0.
0&cost=0.3&hcost=0.0&commit=Calculate
Real World income
28.08.2018 - here are the results of running one cards for one week. i can confirm that this
configuration runs really stable ( no crash in that week )
Coolant
The company “Engineered Fluids” has recommended me to use BC-888 also for fpga. this
and the cheap price told me to buy it.
shipping to europe is quite expensive ( 190USD / 20l ), but i had no other choice.
Heat Removal
There are several devices which bring the heat from a liquid to the air. here a comparison:
“Water Chiller”
   ● Heat Pump: You take e.g. 400W electricity to take 1200W
       away from the water ( and bring 1600W to the air )
   ● with fancy controller to keep temperature at 27.34 °C if
       you want
   ● you bring the coolant to a temperature even lower than air
       temperature
   ● overkill: we don’t need such cold liquid
   ● consumes too much energy
   ● 1000 € for 1000W
“Radiator”
   ● car component (cheap), for water or oil
   ● no real documentation available
   ● this passive cooling might be enough
   ● 100 €
“Air Heater”
    ● for heating the air in a house
    ● its a copper pipe connected to
       aluminium fins
    ● their capacity starts from 10kW ( we
       don’t need that much - but this tells us
       that every Watt we bring in, will go to
       the air )
    ● they have a inbuilt fan
    ● we bring the coolant temperature just
       above air temperature
    ● they have a datasheet - 500 € for
       “10kW”
data sheets:
the concrete cooling depends on several factors. the data sheets explain the relation
between:
    ● air flow V
    ● heat power PT
    ● air intake temperature Tp1
    ● air exit temperature Tp2
    ● liquid intake temperature Tw1
    ● liquid exit temperature Tw2
    ● liquid flow Qw
   ●   drop in pressure dpw ( your pump needs to be compensate this )
if room temperature is 15° C AND liquid flow increases to 135 l, then you can consume
3,1kW, and have still Tw1 = 60°C
so it is not so easy to read: but i would say: if you keep the 1,9kW, fixed room temperature
and increase flow rate ( my pump: 1800 l/h ), things will get much colder.. so you can even
decrease airflow V and make it silent.
My first intent was to bring an air heater outside the building, circulate liquid to fpgas inside
the building. But this has a strong disadvantage in the winter: imagine 25°C room
temperature, -5°C outside temperature. you can now easiliy chill the liquid to Tw1 = 0°C,
Tw2=5°C. so your open box of liquid is 5°C cold. your liquid hose is also not much warmer
on the outside. Nice. But our problem is air moisture: liquid water will form on the surfaces
and drip into your BC-888. This pollution might be bad for the cards.
So i decided to use a simple pipe fan and a heat register: they are inside the building. so the
lowest Temperature Tw2 can be the room temperature Tp1 ( thermodynamics ). Tw1 will
always be higher as Tw2, so no problems with moisture. The hot air will then be brought
outside the building:
Fan
My Fan has V = 1040 m³/h, 345 Pa pressure, 52 dB loud, 108W, 95€
https://www.iventilatoren.de/rohrventilator-dalap-ap-profi-200-mit-schalter-id1105
air resistance also depends on flowrate, so a real world system will be the crossing of the
system curve with the ventilation curve:
Pump
You have to circulate the liquid from the fpga to the heat register. i chose a pump for brewing
beer ( 95°C allowed, FKM seals )
https://www.polsinelli.it/en/electric-pump-for-beer-novax-20-b-P1041.htm
a pump has a similar curve for pressure drop over flow rate. so our pump with 1500 l/h will
again be slower ( 1000l/h ? )
second setup:
●   BitCool BC-888
●   VCU1525
●   HDPE tank 31l ( for brewing beer ) - will fit like 4 FPGAs
    https://www.bauhaus.info/sonstige-gartenhelfer/floraworld-classic-maischefass/p/161
    25460
●   mortar buckets as backup tank (not safe for hot temperatures)
    https://www.bauhaus.info/moertelkuebel-baueimer/probau-moertelkuebel/p/1394034
    9
        ○ cheap but they smell like hell
   ●   1500 lph, 270W Pump ( for brewing beer ) with FKM seals for up to 95°C
       https://www.polsinelli.it/en/electric-pump-for-beer-novax-20-b-P1041.htm
           ○ italian 20mm fluid connector - will fit a ¾ inch hose
           ○ high volume, but very loud
   ●   Standard PC with 8 GB RAM, SSD, energy-efficient mid-range CPU
       https://www.csl-computer.com/shop/product_info.php?products_id=15016&cPath=11
       _353
   ●   850 W Platinum PSU
       https://www.caseking.de/kolink-continuum-80-plus-platinum-netzteil-modular-850-wat
       t-mit-kaltgeraetekabel-gebu-201.html
   ●   PCIe risers + cables
   ●   8 kg heat register
       https://www.abluft24.de/heizregister/warmwasser-heizregister-fuer-rundrohrsysteme
   ●   high volume fan
       https://www.iventilatoren.de/rohrventilator-dalap-ap-profi-200-mit-schalter-id1105
   ●   exhaust air hose
   ●   fuel hose 19mm 27€/m ( safe choice for BC-888 )
       https://www.landefeld.de/gruppe/en/tank-truck-suction-pressure-hose-nbr-en-12115/T
       WSSP19
   ●   water hose 19mm 4€/m ( cheap choice for BC-888 - PVC might be a problem? )
       https://www.landefeld.de/gruppe/de/pvc-schlaeuche-mit-gewebeeinlage-lebensmittel
       qualitaet/TX4
   ●   adaptors for connecting 19mm hose to 3/4 ‘’ register, brackets
   ●   vcu backside cooling
           ○ https://www.reichelt.de/waermeleitfolie-doppelseitig-klebend-100x100mm-wl-f
               olie-404-11-p112269.html?r=1
           ○ good fan:
               https://www.reichelt.de/luefter-40x40x20mm-12-v-0-115-a-fan-ml-4020-12-p7
               6106.html?r=1
           ○ cheap fan:
               https://www.reichelt.de/luefter-12v-dc-40x40x10mm-u-min-5800-fan-4010-12v
               -p11004.html?r=1
           ○ https://www.reichelt.de/profilkuehlkoerper-100x100x40mm-1-3k-w-v-pr173-10
               0-p35401.html?r=1
   ●   steel container ( for food , “Gastronorm 1/1”), of course the version without holes: 53
       x 32.5 x 20 cm
       https://www.metro.de/cat/de/products/product/440229001001/APS-GN-Beh%C3%A4l
       ter-1/1-200-mm-Edelstahl-perforiert
airflow antminer 70 73 76
0xBTC - overclocking
15              0,72                         crash
 15             0,75          340       0%             57 °C      57 °C        82 °C
15 0.78 380 60 60 85
15 0,8 390 33 % 60 °C 60 °C 88 °C
17 0,8 380 33 % 58 °C 60 °C 90 °C
at the moment this is too much for me.. also Temp_2 gets too high - this is probably because
i flow cool only the front side of the fpga - not the back side.
10 50°C 58 °C 60 °C
15 ( 0.74V ) 70 85 90
15 ( hotter card ) 80 90 95
tribus - overclocking
400 0,60
02.09.2018
11.09.18
Coin                  Bitstream          Hashrate    [V]    power[W]     $ / month
22.09.18
Coin                  Bitstream          Hashrate    [V]    power[W]     $ / month
next step
i will create smaller tanks - one tank per fpga. it will be a lot eaiser to handle. you can control
the flow of the liquid better. each gets its own small ( quiet ) pump with 13mm flexible hose. i
will pull the fluid from the back of the card ( create a little liquid flow there ) and pump it in the
inside of the card ( big liquid flow here ). the fluid will go through an heat exchanger.
then we have a second circle of fluid - this can just be water with standard components (
pump, heat exchanger ). the circle will go through all the single heat exchangers of the
BC888-circles.