Go to file
bsdevlin 957e47e7ca New AWS files 2019-06-24 23:33:50 +08:00
apps/python added test function for equihash 2019-04-18 09:57:00 -04:00
aws New AWS files 2019-06-24 23:33:50 +08:00
bittware_xupvvh Merge branch 'master' of https://github.com/bsdevlin/zcash-fpga.git 2019-04-22 15:40:19 -04:00
ip_cores updates to testbench and fixing synthesis errors 2019-06-24 19:17:47 +08:00
zcash_fpga Include files for sim 2019-06-24 23:02:00 +08:00
.project Initial files for the Blake2B core 2019-02-12 00:07:18 +08:00
LICENSE Create LICENSE 2019-02-15 01:24:46 -05:00
README.md updates to ec point add 2019-06-09 17:52:41 +08:00

README.md

zcash-fpga

Repo for Zcash FPGA projects code and documents. Architecture document is here.

apps

This contains general apps used in generating data / interfacing with the FPGA

aws

This contains the top / project files for building on AWS (Amazon FPGA)

bittware_xupvvh

This contains the top / project files for building on the Bittware VVH board

ip_cores

These contain custom IP cores used by the projects in this repo.

  • Hashing
    • Blake2b - single pipe implementation of blake2b and a pipline-unrolled version for high performance.
    • SHA256 and SHA256d
  • Packages and interfaces that are shared
  • Fifo implementations
  • Blocks for parsing/processing streams, as well as testbench files
  • Karabutsa multiplier
  • Barret reduction for modulo reduction when the modulus does not allow fast reduction
  • Resource arbitrators
  • General purpose elliptical curve point modules
    • Supports point multiplication, addition, doubling in Fp and Fp^2

zcash_fpga

This is the top level for the Zcash FPGA. It targets both Xilinx Virtex UltraScale+ FPGA VCU118 Evaluation Kit, and Amazon EC2 F1 Instances.

It optionally contains the following top-level engines (you can optionally include in a build via parameters):

  • Equihash verification engine
    • Verifies the equihash solution and difficulty filters
  • EC secp256k1 signature verification engine
    • Uses efficient endomorphism to reduce key bit size
    • Signature verification calculates multiple EC point operations in parallel, using a resource-shared single fully pipelined karabutsa multiplier and quick modulo reduction technique
  • EC bls12-381 coprocessor
    • Point multiplication in Fp and Fp^2
    • ate Pairing