Bitcoin Mining on the Papilio One 500k


haxtormoogle

Recommended Posts

I have been doing a bit of reading. Turns out that there has been code written to mine on the Spartan 3E 500K.

https://github.com/teknohog/Xilinx-Serial-Miner

I was wondering if anyone has attempted to get this to work on a Papilio one?

I don't really care about mining speeds, I more want to learn how to program fpgas to do very complex things :)

 

Link to comment
Share on other sites

I would not consider SHA-256 computation to be a very complex thing :P It's large, but definitely not complex (as most crypto/digest algorithms are not).

 

I have not tried this myself, but I did try some synthesis of SHA-256 engines. They are fast, but they eat much of your FGPA resources. Unless you are doing Virtex7 or similar, I don't advise bothering.

Link to comment
Share on other sites

  • 2 weeks later...

I got the Verilog_Xilinx_Port to synthesise and was abble to generate a bitstream file I could upload to the papilio. Issues start when I try to connect to the uart and do mining. I might have the tx and rx ports reversed or something, The other possibility is or there may be with the timing.

 Original code was written for a 20 mhz crystal not 32.

 

Any suggestions as to how i can go about debugging?

Link to comment
Share on other sites

I had a sleepless night last week so I got up and put a little time into getting bitcoin to work on the Papilio One 500K. As far as I can tell this is working, but I haven't done much testing with it yet.

 

I also did not try to get the 7 Segment LED working...

 

The next step is to fork the main repo and get this working with the latest code for both the Papilio One and Papilio Pro.

 

Jack.

Xilinx-Serial-Miner.zip

Link to comment
Share on other sites

have you actually tested this? I still get RPC getwork errors while trying to send work to the fpga.

in the async_receiver there is the parameter ClkFrequency that is set to 20000000 , or 20mhz. the papilio one's clock is 32mhz right?

 

same issue with the module async_transmitter

Link to comment
Share on other sites

What I did was look at the main_pll.v file and saw that it looked like the DCM was setup to take the 50Mhz (osc_clk) clock and pass it through unchanged as a 50Mhz (hash_clk) clock. So I changed the DCM to take a 32Mhz input clock (osc_clk) and convert it to a 50Mhz (hash_clk) clock. So theoretically the serial clock should not have needed to be changed, there is always the chance that I missed something when I was looking at how the original DCM was setup...

 

But I ran it for about an hour and I saw serial data being passed and it seemed to be chugging along doing work... I did eventually get an error about not being able to get more work, but I chalked that up to a network problem. As far as I could tell in the couple hours I put in it seemed to be working, but that is hardly enough time or effort to be sure. :)

 

Jack.

Link to comment
Share on other sites

  • 5 months later...

Hi Jack,

 

I also gave a try to your xilinx-serial-miner papilio 500k port, thanks for your work !

 

But as haxtormoogle, I also face the "RPC getwork error", which would mean the PC and/or papilio is not

able to get some work to do, which would mean no actual BTC mining occurs ?

 

thanks for your help..

Link to comment
Share on other sites

Arf

I got it. The problem seems to be due to the BTC mining pool having removed the "getwork protocol" support :

from mining.bitcoin.cz:

08.07.2013
Getwork protocol support ended. Please be sure your miners support Stratum protocol. You can still use your old getwork miners with
Stratum proxy installed on your mining rig.

 

=> the solution is to use their "stratum proxy" :

http://mining.bitcoin.cz/mining-proxy-howto

 

=> there, the papilio seems to do some work..

(but I should maybe try to make the 7seg work to get some debug/stats..)

especially I'd like to get an idea of papilio 500k MH/s figures..

(apparently my laptop GPU gives 3.7 MH/s)

 

thanks for your great work Jack ;-)

(no I don't plan to get rich with my 500k, was just to play a bit with BTC mining..)

Link to comment
Share on other sites

Arf

I got it. The problem seems to be due to the BTC mining pool having removed the "getwork protocol" support :

from mining.bitcoin.cz:

08.07.2013

Getwork protocol support ended. Please be sure your miners support Stratum protocol. You can still use your old getwork miners with Stratum proxy installed on your mining rig.

 

=> the solution is to use their "stratum proxy" :

http://mining.bitcoin.cz/mining-proxy-howto

 

=> there, the papilio seems to do some work..

(but I should maybe try to make the 7seg work to get some debug/stats..)

especially I'd like to get an idea of papilio 500k MH/s figures..

(apparently my laptop GPU gives 3.7 MH/s)

 

thanks for your great work Jack ;-)

(no I don't plan to get rich with my 500k, was just to play a bit with BTC mining..)

 

Sweeeeet! I had a feeling that some mining was going on, I thought I felt bitcoin pieces whirring along through the Papilio. :) hehehe, not really, but I'm glad it is working.

 

I had a crazy thought that it might be cool to connect a bunch of Papilio Pro's together to make a bit coin rig using the 8 fold MegaWing design:

 

It would still probably be underpowered compared to ASICs though, and would require a bit of work...

 

Jack.

Link to comment
Share on other sites

  • 1 month later...

Arf

I got it. The problem seems to be due to the BTC mining pool having removed the "getwork protocol" support :

from mining.bitcoin.cz:

08.07.2013

Getwork protocol support ended. Please be sure your miners support Stratum protocol. You can still use your old getwork miners with Stratum proxy installed on your mining rig.

 

=> the solution is to use their "stratum proxy" :

http://mining.bitcoin.cz/mining-proxy-howto

 

=> there, the papilio seems to do some work..

(but I should maybe try to make the 7seg work to get some debug/stats..)

especially I'd like to get an idea of papilio 500k MH/s figures..

(apparently my laptop GPU gives 3.7 MH/s)

 

thanks for your great work Jack ;-)

(no I don't plan to get rich with my 500k, was just to play a bit with BTC mining..)

 

I doubled the clock speed of this release and after a couple of hours found a block, the reported speed is 38.86Mhash/s

post-29509-0-26867100-1387648311.png

 

Not breaking any records but not bad for very little effort to get it up and running.

 

I looked at the hardware comparison page and noticed that there is a more recent version of the project that works at 100Mhash/s on the Spartan6. Will look into getting that to work next.

 

Jack.

Link to comment
Share on other sites

Well, I spoke too soon! I had run for several hours but had just finished synthesizing the clock doubled version and restarted everything. It found a block pretty quickly and reported the 38.86 Mhash/s speed. Its been running all day now and the story looks quite a bit different!

post-29509-0-25848900-1387674267_thumb.p

 

Not very good! Lets see if the Spartan6 core does better!

 

Jack.

Link to comment
Share on other sites

  • 4 years later...

Archived

This topic is now archived and is closed to further replies.