All Projects → kramble → Fpga Litecoin Miner

kramble / Fpga Litecoin Miner

Licence: gpl-3.0
A litecoin scrypt miner implemented with FPGA on-chip memory.

Labels

Projects that are alternatives of or similar to Fpga Litecoin Miner

Accdnn
A compiler from AI model to RTL (Verilog) accelerator in FPGA hardware with auto design space exploration.
Stars: ✭ 175 (-28.57%)
Mutual labels:  verilog
Fpga nes
FPGA-based Nintendo Entertainment System Emulator
Stars: ✭ 199 (-18.78%)
Mutual labels:  verilog
Opentimer
A High-performance Timing Analysis Tool for VLSI Systems
Stars: ✭ 213 (-13.06%)
Mutual labels:  verilog
Wb2axip
Bus bridges and other odds and ends
Stars: ✭ 177 (-27.76%)
Mutual labels:  verilog
Ridecore
RIDECORE (RIsc-v Dynamic Execution CORE) is an Out-of-Order RISC-V processor written in Verilog HDL.
Stars: ✭ 199 (-18.78%)
Mutual labels:  verilog
Red Pitaya Notes
Notes on the Red Pitaya Open Source Instrument
Stars: ✭ 205 (-16.33%)
Mutual labels:  verilog
Step into mips
一步一步写MIPS CPU
Stars: ✭ 174 (-28.98%)
Mutual labels:  verilog
Spispy
An open source SPI flash emulator and monitor
Stars: ✭ 220 (-10.2%)
Mutual labels:  verilog
Piccolo
RISC-V CPU, simple 3-stage pipeline, for low-end applications (e.g., embedded, IoT)
Stars: ✭ 200 (-18.37%)
Mutual labels:  verilog
Flute
RISC-V CPU, simple 5-stage in-order pipeline, for low-end applications needing MMUs and some performance
Stars: ✭ 210 (-14.29%)
Mutual labels:  verilog
Openwifi Hw
FPGA/hardware design of openwifi
Stars: ✭ 181 (-26.12%)
Mutual labels:  verilog
Verilog Generator Of Neural Net Digit Detector For Fpga
Verilog Generator of Neural Net Digit Detector for FPGA
Stars: ✭ 187 (-23.67%)
Mutual labels:  verilog
Biriscv
32-bit Superscalar RISC-V CPU
Stars: ✭ 208 (-15.1%)
Mutual labels:  verilog
Fpga
The USRP™ Hardware Driver FPGA Repository
Stars: ✭ 176 (-28.16%)
Mutual labels:  verilog
Fpu
synthesiseable ieee 754 floating point library in verilog
Stars: ✭ 214 (-12.65%)
Mutual labels:  verilog
Verilog Uart
Verilog UART
Stars: ✭ 174 (-28.98%)
Mutual labels:  verilog
Verilog 6502
A Verilog HDL model of the MOS 6502 CPU
Stars: ✭ 200 (-18.37%)
Mutual labels:  verilog
Convolution network on fpga
CNN acceleration on virtex-7 FPGA with verilog HDL
Stars: ✭ 236 (-3.67%)
Mutual labels:  verilog
Zet
Open source implementation of a x86 processor
Stars: ✭ 216 (-11.84%)
Mutual labels:  verilog
Litepcie
Small footprint and configurable PCIe core
Stars: ✭ 206 (-15.92%)
Mutual labels:  verilog

An Open Source FPGA Litecoin (scrypt) miner

This code is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Project includes code from https://github.com/progranism/Open-Source-FPGA-Bitcoin-Miner Scrypt algorithm is based on https://github.com/ckolivas/cgminer/blob/master/scrypt.c Discussion is at https://forum.litecoin.net/index.php/topic,5162.0.html

Special thanks to fpgaminer for the original bitcoin mining code, teknohog for his LX150 code, also OrphanedGland, udif, TheSeven, makomk, and newMeat1 as credited on the fpgaminer bitcoin thread https://bitcointalk.org/index.php?topic=9047.0 and ngzhang for his Icarus/Lancelot boards and github.

The scrypt algorithm is implemented using on-chip FPGA RAM, so should be portable to any FPGA large enough to support 1024kBit of RAM (512kBit with interpolation, eg DE0-Nano). External RAM support could be added, but requires the relevant RAM controller for the board. Performance will be limited by RAM bandwidth.

The code is proof of concept, further optimisation is required (only a small performance gain is to be expected though). Internal (pll derived) clock is only 25MHz, limited by the salsa_core. Further pipelining would increase this, but gives no performance gain since the scrypt algorithm is essentially serial. RAM is also clocked at this speed, a faster clock would help improve performance a little (and is essential for external RAM) at the expense of complexity.

Multiple cores are best implemented using the 512kBit scratchpad as the slower individual throughput is more than compensated by doubling the number of cores supported. MULTICORE is now the default. This only affects nonce handling so its safe to use with singe cores which will simply scan a more limited range (the top nibble is fixed at 0). To revert to the previous behaviour set the NOMULTICORE macro (but ONLY if using a single core).

Contents

DE2-115-Single Single full scratchpad core, this is the simplest implementation.

DE0-Nano Uses interpolation as the full scratchpad does not fit (this is the same as LOOKUP_GAP=2 in GPU). Test results ... 1.16 kHash/sec at 25Mhz (this is Fmax at 85C/Slow model) 2.09 kHash/sec at 45Mhz Fmax is 25MHz, so anything greater may not work reliably on your device. BEWARE the onboard psu regulators run HOT to VERY HOT. You may fry them!

experimental New code, not all fully working.

ICARUS-LX150 A Xilinx LX150 multicore port for ngzhang's Icarus/Lancelot boards.

scripts Mining scripts.

source Verilog source code.

Ztex and Cairnsmore CM1

Ports for the Ztex 1.15y and Cairnsmore CM1 quad boards are available in the experimental folder. Both achieve around 60kHash/sec (total for all four FPGA devices) using a single core and 16 threads (identical to the current ICARUS-LX150 code). A customised version of cgminer 3.1.1 must be used (see experimental/Ztex-1-15y/cgminer-3.1.1 which supports both boards). Bitstreams are linked in the respective READMEs.

Usage

The Altera ports (DE0-Nano) require installation of Quartus II software. For MS Windows set mining pool connection details by editing scripts/config.tcl then run scripts/mine.bat This uses getwork protocol and timeouts may occur. There are some configuration switches in mine.tcl, eg it can run in test mode which sends historical block headers to the fpga with known nonce results. Use of a stratum proxy server is recommended.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].