diff --git a/zcash_fpga/src/tb/secp256k1_point_add_tb.sv b/zcash_fpga/src/tb/secp256k1_point_add_tb.sv index bbdbf37..3e2e947 100644 --- a/zcash_fpga/src/tb/secp256k1_point_add_tb.sv +++ b/zcash_fpga/src/tb/secp256k1_point_add_tb.sv @@ -163,6 +163,8 @@ begin end $display("test %d PASSED", index); + $display("Expected:"); + print_jb_point(p_exp); end endtask; @@ -175,15 +177,22 @@ initial begin in_if.val = 0; #(40*CLK_PERIOD); - test(0, + test(0, {x:256'h2475abeb8f0fc52f627afb4c18227dfa756706ceb5923cd8a209bf43c2f08815, y:256'h4361473bccf308998bbb8c0b9a0184d186ada6e85e1cb1b82ac202380df8f762, z:256'hdda493ffbcdc8daf0996a769bf192cc4627839d0025b4ad960c3e25dab464863}, {x:256'h4a58b6edef1379306fce3372763fd87eaf2c8f447c6408416e746e672ee6ce21, y:256'h33adac20db34d12166586c56aa8a352b155bcfdd011f46b38c21e0c4d39968a4, z:256'h8631df8718bcb2d2920dfd313c714a153cfc6db607891e341b0856411717cf4f}); - - test(1, + + test(1, + {x:secp256k1_pkg::Gx, + y:secp256k1_pkg::Gx, + z:256'h1}, + {x:256'h4a58b6edef1379306fce3372763fd87eaf2c8f447c6408416e746e672ee6ce21, + y:256'h33adac20db34d12166586c56aa8a352b155bcfdd011f46b38c21e0c4d39968a4, + z:256'h8631df8718bcb2d2920dfd313c714a153cfc6db607891e341b0856411717cf4f}); + test(2, {x:256'd21093662951128507222548537960537987883266099219826518477955151519492458533937, y:256'd11718937855299224635656538406325081070585145153119064354000306947171340794663, z:256'd95062982235784117998228889817699378193266444799407382177811223706903593950986}, @@ -192,7 +201,7 @@ initial begin z:256'd55019374069926147245812105698770268552109628033761289528651825525953166671152} ); - test(2,{x:256'd56542328592951707446199365077593875570107826996267232506335199217850131398833, + test(3,{x:256'd56542328592951707446199365077593875570107826996267232506335199217850131398833, y:256'd40054381197676821721097330834174068128555866625836435038947476656223470027610, z:256'd55019374069926147245812105698770268552109628033761289528651825525953166671152}, {x:256'd21093662951128507222548537960537987883266099219826518477955151519492458533937, @@ -200,13 +209,21 @@ initial begin z:256'd95062982235784117998228889817699378193266444799407382177811223706903593950986} ); - test(3, + test(4, {x:256'h79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798, y:256'h483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8, z:256'h1}, {x:256'h7d152c041ea8e1dc2191843d1fa9db55b68f88fef695e2c791d40444b365afc2, y:256'h56915849f52cc8f76f5fd7e4bf60db4a43bf633e1b1383f85fe89164bfadcbdb, z:256'h9075b4ee4d4788cabb49f7f81c221151fa2f68914d0aa833388fa11ff621a970}); + + test(5, + {x:256'h7d152c041ea8e1dc2191843d1fa9db55b68f88fef695e2c791d40444b365afc2, + y:256'h56915849f52cc8f76f5fd7e4bf60db4a43bf633e1b1383f85fe89164bfadcbdb, + z:256'h9075b4ee4d4788cabb49f7f81c221151fa2f68914d0aa833388fa11ff621a970}, + {x:256'h79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798, + y:256'h483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8, + z:256'h1}); #1us $finish(); end