haxtormoogle

Bitcoin Mining on the Papilio One 500k

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

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..

Share this post


Link to post
Share on other sites

It is definitely possible that no mining is happening and the port to the papilio is just not right. I ran out of time to take a look at this, will try to find some more time to do so.

 

Jack.

Share this post


Link to post
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..)

Share this post


Link to post
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.

Share this post


Link to post
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..)

 

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.

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

what commandline did you use to load this?  when i tried, it failed to upload.  (i dont remember the exact error) i may have had an out of date loader exe tho.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now