Commit Graph

137 Commits

Author SHA1 Message Date
bsdevlin b1bdc38423 add Xilinx FIFO and fix flow control 2020-09-09 22:02:23 -04:00
bsdevlin 4927d4177d update fpga version and just enable secp256k1 core 2020-09-07 09:45:33 -04:00
bsdevlin e5a4191363 Fix so that secp256k1 block self-resets after a timeout 2020-08-21 14:31:37 -04:00
bsdevlin b706017032 Update secp256k1 timeout logic so that it doesnt lock up, and added
testcase to verify.
2020-08-08 11:33:57 -04:00
bsdevlin 3902713b29 Update testbench so with RAM code, passing. 2019-09-28 13:44:09 +08:00
bsdevlin 7973f4e2e3 Update testbench for loading RAM values, change back to use accum_mult
multiplier, change generate script to always generate RAM_A_W bits worth
(makes testbench easier), and set default build to jus tbe bls12-381
coprocessor
2019-09-28 11:36:28 +08:00
bsdevlin deb8298626 Update testbench to test writing to RAM used in multiplier, fixed bug in
multiplier generation code for loading RAM
2019-09-27 19:27:24 +08:00
bsdevlin 9b5fb2f9fc Change default mode to use bls12-381 to use Karatsuba multiplier until I
can upload files to program RAM for the accum_multiplier
2019-09-27 15:37:08 +08:00
bsdevlin 142be15d8d Update to fix bug with building on AWS with the new RAM lookup
multiplier, files were not getting copied properly in AWS encrypt
script.
2019-09-26 21:28:56 +08:00
bsdevlin ebea9ad468 Bug fix for bls12-381 axi bridge writing to reduction RAM multiplier 2019-09-15 13:58:44 +08:00
bsdevlin 57ee6c8ad2 New multiplier with RAM for modulo reduction, pairing is 30% faster.
Updated several testbenches to use new multiplier.
2019-09-15 13:42:52 +08:00
bsdevlin 6d540f0491 Update bls12_381 processor to version 1.3, now has split functions for
miller loop and final exponentiation, to support multi-pairing.
2019-08-25 00:30:08 +08:00
bsdevlin 3a8c799a74 Modify bls12-381 pairing engine .rdy signal so that it is not
combinatorial, to improve timing. Update version to 1.2.2
2019-08-22 16:31:33 +08:00
bsdevlin dbed8ccb0d Bugfix: Multiplier was not handeling backpressure correctly in some
cases so fixed it to be similier for now. Updated testbench.
2019-08-22 16:22:30 +08:00
bsdevlin 6453e94724 Bug fix for multiplication on Fp2 elements 2019-08-21 17:42:52 +08:00
bsdevlin 8a01070e8f Update cpp library to include ate pairing commands, increase FPGA
version to 1.2
2019-08-21 17:23:45 +08:00
Cloud User 406a5bae2a Updated files for bls12-381 to compile on AWS 2019-08-21 09:18:45 +00:00
bsdevlin 99444db3bb Testbench for bls12-381 updated with control test. 2019-08-21 14:09:50 +08:00
bsdevlin 0bee1e1cd3 Adding control instructions for bls12-381 coprocessor 2019-08-21 14:09:25 +08:00
bsdevlin d437d3a165 Enable bls12-381 point multiplication using the miller loop of the
pairing engine instead of a dedicated unit to save area on the FPGA.
Updated the bls12-381 testbench.
2019-08-20 21:05:08 +08:00
bsdevlin 11bde6e1a8 Updates to reduce FF usage for bls12-381 core 2019-08-20 04:29:10 -04:00
bsdevlin e5f4555381 Updates to top level bls12-381 and testbench to use new inverter block. 2019-08-19 15:20:05 +08:00
bsdevlin 0aada9c6b1 Update bls12-381 package function for miller loop to also return the
doubled point so we can use it for point multiplication.
2019-08-16 17:29:42 +08:00
bsdevlin c579406f94 Update inversion block and pairing engine to use external multiplier
blocks.
2019-08-16 17:27:06 +08:00
bsdevlin 5f74545e77 Update pairing engine to calculate full ate pairing, along with
testbench with several cases, will add more self checking and
optimizations next.
2019-08-14 19:46:29 +08:00
bsdevlin 7b3d971e63 Updates for the ate pairing final exponentiation stage, passing
testbench now.
2019-08-14 00:26:12 +08:00
bsdevlin 891dd214dc Updates for bls12-381 Fp12 inversion and wrapper files. 2019-08-10 23:31:58 +08:00
bsdevlin 3faee7b780 Added square mode to bls12-381 Fp12 multiplier and updated testbench,
pairing algorithm.
2019-08-09 00:39:45 +08:00
bsdevlin c8acd6c775 Updates to pairing engine to use new multiplication and resource
arbitrator blocks.
2019-08-08 12:45:47 +08:00
bsdevlin 1ff4d46cac Update top level to include streaming pairing engine 2019-08-06 19:37:22 +08:00
bsdevlin c3178ba18d Updates to pairing engine to use streaming inteferace 2019-08-06 19:27:58 +08:00
bsdevlin f8371eba2e Add files for calculating the Frobenius map used in ate pairing. 2019-08-01 20:24:46 +08:00
bsdevlin 3b4693d407 Adding pairing test to bls12-381 top level testbench (only testing
miller loop right now)
2019-07-28 23:55:42 +08:00
bsdevlin 5136bc8fe9 Add the pairing engine to bls12_381 top level 2019-07-26 19:14:51 +08:00
bsdevlin 789a33351d Adding bls12-381 pairing wrapper to hold all arithmetic for pairing,
will consolidate the bls12-381 logic at a later time.
2019-07-26 16:04:55 +08:00
bsdevlin 481944c547 bls12-381 pairing miller loop working, using full multiplication (will
update to sparse multiplication next)
2019-07-26 14:18:14 +08:00
bsdevlin 2044d52db1 First cut of pairing engine for bls12-381 2019-07-24 21:37:37 +08:00
bsdevlin 0b26ad7372 Bug fix for control bit widths 2019-07-21 10:12:23 +08:00
bsdevlin c25d20a2ce Update Fp6 logic to use formulas 2019-07-20 23:33:34 +08:00
bsdevlin 82ed9c4dd9 Files for Fp12 logic, and fixes to testbench / Fp6 logic 2019-07-20 15:39:30 +08:00
bsdevlin 9bbc0d9516 Functions for multiplication in fp6 2019-07-16 17:43:01 +08:00
bsdevlin 06316acf3b First cut of fp6 areithmetic block 2019-07-12 07:19:32 +08:00
bsdevlin 647707aa2e bug fix for zcash_fpga c++ lib return type 2019-07-05 14:09:56 +08:00
bsdevlin b0d10b1b82 Updates to add point_mult function and testcases, add date and time to
synthesis script for AWS
2019-07-04 17:47:10 +08:00
bsdevlin 81afb93757 Fix bug with sending interrupts back to back 2019-07-03 15:25:00 +08:00
bsdevlin 2c5d835dd9 bugfix for bls tx interface 2019-07-02 21:15:24 +08:00
bsdevlin 692d051e55 Bug fix for adder that would cause it to lock up state machine 2019-07-02 17:46:04 +08:00
bsdevlin eed8841655 update to testbench 2019-07-02 15:09:34 +08:00
bsdevlin 7486579897 updates to prevent writing to RAM while reset is in progress 2019-07-02 15:02:23 +08:00
bsdevlin bb3630a21d more readme updates 2019-07-01 15:20:43 +08:00