+ All Categories
Home > Documents > Synthesizing a Bitcoin Miner for the OR1200

Synthesizing a Bitcoin Miner for the OR1200

Date post: 24-Feb-2016
Category:
Upload: booker
View: 31 times
Download: 0 times
Share this document with a friend
Description:
Synthesizing a Bitcoin Miner for the OR1200. Tom Tracy II ECE 6502 – ASIC/SOC Spring 2014. How bitcoin works, by Joshua J. Romero, Brandon Palacio & Karlssonwilker Inc. Miners are paid 50 Bitcoins (~$22k) to the miner that finds the nonce that generates the ‘winning’ block - PowerPoint PPT Presentation
Popular Tags:
14
Synthesizing a Bitcoin Miner for the OR1200 Tom Tracy II ECE 6502 – ASIC/SOC Spring 2014
Transcript
Page 1: Synthesizing a  Bitcoin  Miner for the OR1200

Synthesizing a Bitcoin Miner for the OR1200Tom Tracy IIECE 6502 – ASIC/SOCSpring 2014

Page 2: Synthesizing a  Bitcoin  Miner for the OR1200

How bitcoin works, by Joshua J. Romero, Brandon Palacio & Karlssonwilker Inc.

Page 3: Synthesizing a  Bitcoin  Miner for the OR1200

Miners are paid 50 Bitcoins (~$22k) to the miner that finds the nonce that generates the ‘winning’ blockThey are also paid a small transaction fee

Page 4: Synthesizing a  Bitcoin  Miner for the OR1200

MotivationIncrease the Bitcoin mining capabilities of the OR1200.

Make more money.

http://blockchain.info/charts/difficulty

Page 5: Synthesizing a  Bitcoin  Miner for the OR1200

GoalIntegrate the Bitcoin miner into the class’s OR1200 processor.

1. Synthesize the Wishbone interface for the OR12002. Synthesize the Bitcoin Miner (accelerator)3. Synthesize the Slave Wishbone interface for the Bitcoin Miner

Page 6: Synthesizing a  Bitcoin  Miner for the OR1200

Procedure1. Modify the Johnson_Counter DC example scripts for the new RTL.2. Attempt DC

Fail? Continue to 1Success? Wonderful; continue to 3

3. Modify the Johnson_Counter ICC example scripts for the new RTL.4. Attempt ICC

Fail? Continue to 3Success? Wonderful!

Handle DRC Errors

Page 7: Synthesizing a  Bitcoin  Miner for the OR1200

Synthesizing the OR1200 Wishbone

Interface

Page 8: Synthesizing a  Bitcoin  Miner for the OR1200

Wishbone Interface Results

Page 9: Synthesizing a  Bitcoin  Miner for the OR1200

Ports and Lessons Learned

Lessons

1. Use zroute instead of global route_optTodo: Solve 234 spacing and area DRC errors.

Page 10: Synthesizing a  Bitcoin  Miner for the OR1200

Synthesizing the Bitcoin Miner

Page 11: Synthesizing a  Bitcoin  Miner for the OR1200

Bitcoin Miner Results

Page 12: Synthesizing a  Bitcoin  Miner for the OR1200

Ports and Lessons Learned

Lessons

ovDigest contains the last 8 digests, and is used for simulation only. Turn this off; significantly reduces size.Synopsys is not perfect:

74 hours to run one command

Page 13: Synthesizing a  Bitcoin  Miner for the OR1200

Wishbone Slave Interface

The plan was to use wbgen2 to generate the Verilog for the Wishbone bus. It requires a configuration file, and then generates the RTL to be synthesized

Getting an error: Unknown register style.

http://www.ohwr.org/projects/wishbone-gen/wiki/Wbgen2_Documentation

Page 14: Synthesizing a  Bitcoin  Miner for the OR1200

Future Work1. Solve OR1200 WB interface and Bitcoin Miner DRC errors.2. Solve the error and finish the Wishbone slave interface.3. Complete memory block


Recommended