Icarus
Icarus is a FPGA development/bitcoin mining board, it's a 6 layers PCB. has 2 XC6SLX150 -2FGG484I on it. there are100+ GPIOs on this board and plenty(50+) of interconnect wires between the 2 FPGAs. most of them are routed as diff-pairs. generates about ~360MH/s hashing power. 19.5W on wall power consuming.
Contents |
Pictures
without FAN and cooling plate: front, back
Power Supply
- input: 100-240V~, 50-60Hz, 0.65A Max
- output : 12v, 2A
- connector: 5.5mm OD, 2.1mm ID (same with Milkymist One power connector)
Mining Software
Python version miner.py
- modify base on teknohog/Open-Source-FPGA-Bitcoin-Miner
- Speed: 220 MH/s ~ 350 MH/s, create ~0.3 bitcoin per day
- install python json-rpc, needed by Python version miner
- sudo apt-get install bzr
- bzr checkout http://bzr.json-rpc.org/trunk
- cd trunk/python-jsonrpc
- sudo python setup.py install
Setup mining worker
- Create an account at https://deepbit.net/ or http://www.abcpool.co
- Under My Account or Account Settings, create a new worker
- Setup your bitcoin address for receiving bitcoin
- download the miner.py. here is my script file
- Start the mining software with your mining worker like:
python miner.py -u http://xiangfu.0:x@pool.ABCPool.co:8332 -s /dev/ttyUSB0
NOTE: ttyUSB0 is the mount point, it could be ttyUSB1, and so on.
Pool
Others
- Print the current status of of you account for the deepbit.net miner pool using Python, change the API_KEY to your API
FPGA core
modify base on ZTEX's miner core. it needs ISE 13.2 and Synplify E-2011.03-SP2 for get the final result.
- First synthesize the stuff under ./miner_core by click Process->Implement Top Module, then you got a NGC file, named sha256_top.ngc.
- Put sha256_top.ngc to ./miner , than run the flow by using Synplify E-2011.03-SP2 as synthesizer and ./src/miner_top.ncd as smartguide file(already setup by default. ise_p_using_smartguide), then synthesize the miner by click Process->Implement Top Module
- about Smartguile file: execate smartXplorer500 times, use the best one as smartguild file
PCB
open ./AD10Project/S6.PrjPCB by Altium designer 10 to browse. also you can review the PDF file: ./SCHinPDF/Icarus.pdf.
Install Xilinx ISE
Download the Xilinux ISE webpack 13.2, I am using 'Xilinx_ISE_DS_Lin_13.2_O.61xd.0.0.tar', extact it and run xsetup
Install Xilinx cable driver
- checkout: cable driver manual, http://www.xilinx.com/support/answers/29310.htm
How To Flash
Flash by using iMPACT
you need install the ISE 13.2. then connect the Xilinx Cable Jtag to Icarus. open iMPACT. it should auto detect your Icarus two FPGAs. right click the FPGA. select Assign New Configuration File .... checkout this Picture.
Using Milkymist One JTAG/Serial duaghter board
Flash Chip
W25Q64CV: 64M-bit Serial Flash Memory with uniform 4KB sectors and Dual/Quad SPI, datasheet
BoM of v2.1a schematic but pcb buttom side rev. marked as v1.0a
Links
- https://bitcointalk.org/index.php?topic=51371.0;all
- https://github.com/ngzhang/Icarus
- https://en.bitcoin.it/wiki/Main_Page
- https://en.bitcoin.it/wiki/Mining_hardware_comparison#FPGA_Devices
- Install ISE 13.2 under Ubuntu 11.04 : http://svenand.blogdrive.com/archive/102.html
- fix '_impact4[2271]: segfault at ...' http://forums.xilinx.com/t5/Installation-and-Licensing/Installation-of-ISE-13-2-on-Ubuntu-Linux/td-p/165222
- USB to Serial PL2303: http://www.prolific.com.tw/eng/downloads.asp?id=31

