From fb49b5e045cb006b4e4e89e1d78f939bc1b8442d Mon Sep 17 00:00:00 2001 From: Apingis Date: Sat, 18 Aug 2018 13:17:57 +0300 Subject: [PATCH] sha256crypt-ztex --- doc/README-ZTEX | 2 +- run/john.conf | 8 + run/ztex/ztex115y_sha256crypt.bit | Bin 0 -> 3939353 bytes src/Makefile.in | 2 +- src/john.c | 2 + src/ztex/fpga-sha256crypt/README.md | 143 ++++ .../fpga-sha256crypt/fpga-sha256crypt.xise | 684 ++++++++++++++++++ src/ztex/fpga-sha256crypt/fpga_editor.png | Bin 0 -> 30260 bytes src/ztex/fpga-sha256crypt/main.vh | 46 ++ src/ztex/fpga-sha256crypt/no-clocks-io.xds | 30 + .../fpga-sha256crypt/pkt_comm/inpkt_config.v | 63 ++ .../fpga-sha256crypt/pkt_comm/inpkt_header.v | 238 ++++++ .../pkt_comm/inpkt_type_init_1b.v | 39 + src/ztex/fpga-sha256crypt/pkt_comm/outpkt.v | 225 ++++++ .../pkt_comm/outpkt_checksum.v | 148 ++++ .../pkt_comm/pkt_comm_test_helper.vh | 328 +++++++++ .../pkt_comm/template_list_b_varlen.v | 208 ++++++ .../pkt_comm/word_gen_b_varlen.v | 391 ++++++++++ .../fpga-sha256crypt/pkt_comm/word_storage.v | 64 ++ src/ztex/fpga-sha256crypt/sha256crypt.xds | 38 + .../fpga-sha256crypt/sha256crypt/arbiter_rx.v | 231 ++++++ .../fpga-sha256crypt/sha256crypt/arbiter_tx.v | 392 ++++++++++ .../fpga-sha256crypt/sha256crypt/bcast_net.v | 55 ++ .../fpga-sha256crypt/sha256crypt/comparator.v | 95 +++ .../fpga-sha256crypt/sha256crypt/cpu/cpu.v | 601 +++++++++++++++ .../sha256crypt/cpu/cpu_flags.v | 74 ++ .../sha256crypt/cpu/cpu_state.v | 75 ++ .../sha256crypt/cpu/instruction.v | 193 +++++ .../sha256crypt/cpu/integer_ops.v | 78 ++ .../sha256crypt/cpu/program.vh | 437 +++++++++++ .../sha256crypt/cpu/registers_bram.v | 52 ++ .../sha256crypt/cpu/thread_number.v | 113 +++ .../fpga-sha256crypt/sha256crypt/sha256.vh | 329 +++++++++ .../sha256crypt/sha256core/add3.v | 50 ++ .../sha256crypt/sha256core/add3_unreg.v | 40 + .../sha256crypt/sha256core/core_input_buf.v | 36 + .../sha256core/core_output_buf_bram.v | 136 ++++ .../sha256crypt/sha256core/ff16.v | 45 ++ .../sha256crypt/sha256core/ff32.v | 45 ++ .../sha256crypt/sha256core/sha256_Kt_bram.v | 88 +++ .../sha256crypt/sha256core/sha256block.v | 200 +++++ .../sha256crypt/sha256core/sha256core.v | 335 +++++++++ .../sha256crypt/sha256core/sha256core_test.v | 215 ++++++ .../sha256crypt/sha256core/sha256ctx.v | 125 ++++ .../sha256crypt/sha256crypt.ucf | 586 +++++++++++++++ .../sha256crypt/sha256crypt.v | 577 +++++++++++++++ .../sha256crypt/sha256crypt_cmp_config.v | 191 +++++ .../sha256crypt/sha256crypt_test.v | 185 +++++ .../sha256crypt/sha256engine/core_input.v | 70 ++ .../sha256crypt/sha256engine/create_blk.v | 304 ++++++++ .../sha256crypt/sha256engine/engine.v | 262 +++++++ .../sha256crypt/sha256engine/engine_ctrl.v | 44 ++ .../sha256crypt/sha256engine/memory.v | 224 ++++++ .../sha256engine/next_thread_num.v | 32 + .../sha256crypt/sha256engine/procb_buf.v | 149 ++++ .../sha256engine/procb_saved_state.v | 46 ++ .../sha256crypt/sha256engine/process_bytes.v | 497 +++++++++++++ .../sha256crypt/sha256engine/realign4_pad.v | 232 ++++++ .../sha256engine/sha256engine_test.v | 189 +++++ .../sha256crypt/sha256engine/thread_state.v | 197 +++++ .../fpga-sha256crypt/sha256crypt/sha256unit.v | 146 ++++ .../sha256crypt/sha256unit_test.v | 280 +++++++ .../fpga-sha256crypt/sha256crypt/unit_ctrl.v | 256 +++++++ .../fpga-sha256crypt/sha256crypt/unit_input.v | 191 +++++ src/ztex/fpga-sha256crypt/sha256crypt/uob16.v | 150 ++++ .../fpga-sha256crypt/sha256crypt/uob16pq.v | 173 +++++ src/ztex/fpga-sha256crypt/util/asymm_bram.v | 124 ++++ src/ztex/fpga-sha256crypt/util/delay.v | 42 ++ src/ztex/fpga-sha256crypt/util/fifo_sync.v | 227 ++++++ src/ztex/fpga-sha256crypt/util/log2.vh | 46 ++ src/ztex/fpga-sha256crypt/util/regs2d.v | 61 ++ src/ztex/fpga-sha256crypt/util/sync.v | 159 ++++ .../fpga-sha256crypt/xpartition-mppr.pxml | 239 ++++++ src/ztex/fpga-sha256crypt/xpartition.pxml | 239 ++++++ .../ztex_inouttraffic/async2sync.v | 48 ++ .../ztex_inouttraffic/chip_select.v | 58 ++ .../ztex_inouttraffic/clocks.ucf | 51 ++ .../ztex_inouttraffic/clocks.v | 149 ++++ .../fpga-sha256crypt/ztex_inouttraffic/cmt2.v | 220 ++++++ .../ztex_inouttraffic/cmt_prog.v | 129 ++++ .../ztex_inouttraffic/hs_io_v2.v | 332 +++++++++ .../ztex_inouttraffic/input_fifo.v | 75 ++ .../ztex_inouttraffic/output_fifo.v | 82 +++ .../ztex_inouttraffic/output_limit_fifo.v | 132 ++++ .../ztex_inouttraffic/startup_spartan6.v | 26 + .../fpga-sha256crypt/ztex_inouttraffic/vcr.v | 194 +++++ .../ztex_inouttraffic/ztex_inouttraffic.ucf | 65 ++ .../ztex_inouttraffic/ztex_inouttraffic.v | 219 ++++++ .../ztex_inouttraffic_summary.html | 557 ++++++++++++++ src/ztex_sha256crypt.c | 434 +++++++++++ 90 files changed, 15586 insertions(+), 2 deletions(-) create mode 100644 run/ztex/ztex115y_sha256crypt.bit create mode 100644 src/ztex/fpga-sha256crypt/README.md create mode 100644 src/ztex/fpga-sha256crypt/fpga-sha256crypt.xise create mode 100644 src/ztex/fpga-sha256crypt/fpga_editor.png create mode 100644 src/ztex/fpga-sha256crypt/main.vh create mode 100644 src/ztex/fpga-sha256crypt/no-clocks-io.xds create mode 100644 src/ztex/fpga-sha256crypt/pkt_comm/inpkt_config.v create mode 100644 src/ztex/fpga-sha256crypt/pkt_comm/inpkt_header.v create mode 100644 src/ztex/fpga-sha256crypt/pkt_comm/inpkt_type_init_1b.v create mode 100644 src/ztex/fpga-sha256crypt/pkt_comm/outpkt.v create mode 100644 src/ztex/fpga-sha256crypt/pkt_comm/outpkt_checksum.v create mode 100644 src/ztex/fpga-sha256crypt/pkt_comm/pkt_comm_test_helper.vh create mode 100644 src/ztex/fpga-sha256crypt/pkt_comm/template_list_b_varlen.v create mode 100644 src/ztex/fpga-sha256crypt/pkt_comm/word_gen_b_varlen.v create mode 100644 src/ztex/fpga-sha256crypt/pkt_comm/word_storage.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt.xds create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/arbiter_rx.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/arbiter_tx.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/bcast_net.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/comparator.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/cpu/cpu.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/cpu/cpu_flags.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/cpu/cpu_state.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/cpu/instruction.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/cpu/integer_ops.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/cpu/program.vh create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/cpu/registers_bram.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/cpu/thread_number.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256.vh create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256core/add3.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256core/add3_unreg.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256core/core_input_buf.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256core/core_output_buf_bram.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256core/ff16.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256core/ff32.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256_Kt_bram.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256block.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256core.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256core_test.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256ctx.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt.ucf create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt_cmp_config.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt_test.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/core_input.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/create_blk.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/engine.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/engine_ctrl.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/memory.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/next_thread_num.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/procb_buf.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/procb_saved_state.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/process_bytes.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/realign4_pad.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/sha256engine_test.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/thread_state.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256unit.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/sha256unit_test.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/unit_ctrl.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/unit_input.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/uob16.v create mode 100644 src/ztex/fpga-sha256crypt/sha256crypt/uob16pq.v create mode 100644 src/ztex/fpga-sha256crypt/util/asymm_bram.v create mode 100644 src/ztex/fpga-sha256crypt/util/delay.v create mode 100644 src/ztex/fpga-sha256crypt/util/fifo_sync.v create mode 100644 src/ztex/fpga-sha256crypt/util/log2.vh create mode 100644 src/ztex/fpga-sha256crypt/util/regs2d.v create mode 100644 src/ztex/fpga-sha256crypt/util/sync.v create mode 100644 src/ztex/fpga-sha256crypt/xpartition-mppr.pxml create mode 100644 src/ztex/fpga-sha256crypt/xpartition.pxml create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic/async2sync.v create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic/chip_select.v create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic/clocks.ucf create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic/clocks.v create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic/cmt2.v create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic/cmt_prog.v create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic/hs_io_v2.v create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic/input_fifo.v create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic/output_fifo.v create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic/output_limit_fifo.v create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic/startup_spartan6.v create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic/vcr.v create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic/ztex_inouttraffic.ucf create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic/ztex_inouttraffic.v create mode 100644 src/ztex/fpga-sha256crypt/ztex_inouttraffic_summary.html create mode 100644 src/ztex_sha256crypt.c diff --git a/doc/README-ZTEX b/doc/README-ZTEX index 8a0ca2c334b..8cac4c8fbfb 100644 --- a/doc/README-ZTEX +++ b/doc/README-ZTEX @@ -3,7 +3,7 @@ Overview --------- If you have ZTEX boards USB-FPGA 1.15y, you can use them with JtR. Available "formats" are descrypt-ztex, bcrypt-ztex, sha512crypt-ztex, -Drupal7-ztex, more are planned. +Drupal7-ztex, sha256crypt-ztex, more are planned. ------------- How to build diff --git a/run/john.conf b/run/john.conf index 8351163cf42..317a87cfade 100644 --- a/run/john.conf +++ b/run/john.conf @@ -376,6 +376,14 @@ Frequency = 141 # This turns off all 10 units (resulting in a timeout). #Config1_04A36E0FD6_0 = \xff\x03 +[ZTEX:sha256crypt] +# Design tools reported possible frequency is 166.3 but tested boards +# miss guesses, often fail unless frequency is decreased. +#Frequency = 165 +Frequency = 135 +#TargetRounds = 1000000 + + [Options:OpenCL] # Set default OpenCL device. Command line option will override this. # If not set, we will search for a GPU or fall-back to the most diff --git a/run/ztex/ztex115y_sha256crypt.bit b/run/ztex/ztex115y_sha256crypt.bit new file mode 100644 index 0000000000000000000000000000000000000000..04cb9d8fbeba11d36af5c0e0afa6ff48265a832f GIT binary patch literal 3939353 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 YiIxXFrEe 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�oS8nmt^i_~+BHjBOOV%*_w(BOaK#I_@x| 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 z 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 Zqasph>Chb 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

u3A(CNYC9#>-r<&1_UL$trPP%3;;;gFZ zP{3JVeoO0_l)3Soao_UWp$4XI$$H3E}7iAH|GWnOuJ`06XX53Hf zJ&Mb)JthCWsUm`OkwjH)e4VfWJG4|6!UEbe=MYCd2`6z-rBOnMCEW-T`RkO&eu?;b z@|>-k9Azydrbx6YHWZVYYQ8m<56F(*Qr}b`Ma5N(Rc(8g2)l|y%;$c>a>)|*3^_Le z!xV`auAF3=d&4`wV?szECqjpfRV{6Le5FDjONXL(mmP4!h z$($1^5T?tvLC{5u#}Q&;#PeJ68-aK(*?AsTM-as!Na13B77^%YEC{FV^QN`ijso{} zY5@%5-Q1DFY~F@qKIswDDL__hu*YD6zstn>syLwAinN9Tj{v2g-xkLRW9oe6tewSR zT(1Cf73bDbFf}SbcFq)i8z{Jjy`PPnP8N}6#5x6mPK>#TVzZjo+ig2vMy4=01YR^A z1uFhjJG>>uP!U=lPSK$|Eqp{QKhrA~sskA6hjW;&T2)T35eiKgw>Uv(dM;tAmv9tRe?R5YqFZhrA`AISE~I&~x-O zpe1hub3#*gr_WqKaH}Ghip|PuzGEi_lLZ{;MRqGx&Rp-xZLA2;b2`M+qUt$<%xsH# z>ha+XS`Q8Vu;rzMa${893%Lu>b9>n6Mk)??V+G2lXyR^Kc(!qK`a$9835(T=J<6CI z)4-w(rY^SBHmktd0>FD?w?-42Ix-+euR~K<5b!tTa==6!Y2k}_>!Qg7My&$gO5 z%eUuq8#qq0^gC8kNP_Q&nte0}N-cAcUsAW2E~c}eG_Mk z^{QMqD7ec&T}`%rXDVJ4@H>i9-vdixtD#9VL6J)N(djGiysZSP3^J%bt;lNzV2X~u7hVYDa@ErWxfx>4FDP30} z6rO#C9F3Gx3ZFTrjJr$p_W#uUQ&~oR-gq7|ddcS#!ebuK1CI`R_x{gc&{$o*yhroO zZ?dPFNa=Z&2VeW~Z+`1rpZ;BP|5HHbnBted^jp6r_x;O1c}wQw;Gci*KmXoGhyAk{ z;$et5zP?x36<(0(6}DE>mIN<~`TY2hFzm zk+V1La}TF<7RFw0LVIHVU^PXqzkU5Ez1O#)tB=-g^GBelcQ%i=Fe8rnZGS{R*0Xl} z#lQ8pC>)yUuZI1duYdA?_@2IJhw^s>U)%rszk2PpSE_hFuRB+%Nov3Q>i*ShS8v|D za{tZy`>#Ir;y?bEm-lx$;Z3KO-#9+nU)_K4i>w&9^107xN{01vzj|l?zy9#gO|QIo zW!MYwzS+3)>;LM>C)xe|X4d0o4v^YkJ%)qp*RRAkqq+Q4^ZWjN^OiABJ*D>@4vhKg z&;8u}`dyq64L{3ogk*Qg)s241 zEC!c`Vxk~OHnqM1^$ha(d~hnRI}6Gd5qTt(gRdQ<;NkEKgTD-$ z?0VTUB)7YOrZXa%ZUd)D&1FKgaJ36c5f7Hb9UNJMx$P3O6u= z6KOIK!C}oH3W`4dR1cY40ilcvPDvCiTqLW2ahAjkPw*8)d8!n#_9l!7V#T^#RVlo) z!3ANd@Ep$)x_l=JTu$+|_3Ok*kmgEo+=9`}uCwQ9vXOimARr-R@TP2>G2Q@;9)c*l z!$PUgNq3gDz8s^~FtB3r9lL60n*ajE4|jn)Fq#r^!DuE&uGI#yR7q;_pGVK?DP2mR z;Rx5t%(wx~ke*Wod&OdeiuB4U%Lut*M-)2(4GHx;Sq6}vA{mN~;E>$uDP-veYp1k3 zx$vL#OH)NSC;wGQ$vEdahfi>pL5}AlDpxQzT7s?Btx33ao-{PTww$aBSwb{vYg{UO z6&d&0xyp4zxjW`{xfK`Tl9c;GsRNz$JnD&Qn@MC-s$tWfXcd7k0?TUWTsK95oX*|W z!6AEpd!4+;ndpvEDwJU0MpIO>n>1l8X&c=3bW+zN1!KgCJF=lKw zC%r{y$}Njn9sV$n^e2lko?lQ^s0P(4BO^{zLo3h-Xb(R0>6ijmcT}uO=iFuFk{##z zO?;JP;VN>rUB9+^`O`E|sRV4`tJ**Tan@`n5X8Qs)+TO?oop2jGee+=19;?8O_gA1 zoJN>hB9_$7Ag7*UE0CT;1TiJQNikyl(kFB;CZJ<>Yjb7YB1O;TCvHvsU0anip5rRPh7^*2Kt3!3x%zpe56r-R$Ia7bf2JemM#FOjEckYp#)^ zvLS+IldZayQZUZ-reZJ6j9tJidEhOzRmEw9%hiqp3wJ9QCXQX-z1C23C-Z7Zl#B$* zCWHWWe*E|RZNh2T1#gzb^ubQ5XjAeNu3>CRmvhRf#1w~^>&a=@!ry|~BWjM0aT(jf zuPq1k*^?RVr7LzD<&48Ik=)b+Akju6fP=L;MXFbq-I*oTQPR#POu0-;kNm&eaLQ)E z{tsKy<~Yl`n9=+e=*;!bvJ?Vgoh=RJ4h~D=?dV4l^xKXLEQ_+RuD5&}$~6T+B`kfB zwso%xs%``_%A`Wf&gAWl-LRv7-4t%KTJ4~4YV2tbM*a$M>jlj=;$Au~VTTQCYRYcO ziH}_S5LR~19%&~3{g&)PjlY%^@#>$~oXE<_|H~@rrSSrSp&aKS*@*^F4ICJbEbiQ@ zBBq_qttI24T9f_hq^2BtTn)I5aXia~QzbAq-L1+^vkJUpEXLr)oO8SkZDTUsxpm+e zyjine(Cbb)a!5PuQ|0nz0!lo{5;msCvS@lbzu+dF?Hk*%qeY3+23*V4cXaxowh14H zGGVj}3lh^+c{*j@%bxU=wM_1NQ&AGd&YjE`4pCx7O*mCUL3I7hN)N1qbRV~V>ES26 za30oTy@~0tTCho%?w@PnQ_S@8#9~@?ep$rnyjbg0P$Suzec0I?+}($}JO0IUk2^Q+J;!d*B=;qgk@-kz#JV?}zkL1ro&B3{UVZCRXx6S?yL#=XuD&U90yL*T z-MDfE4hWE*_3G7E-}>0cm{(vq@Fza8Kl%iKJaJ=hKKfC`MU+bJNe)Fceu$~JGYO_ z$3CXi1xVI#a&&y-#w%4WQ#kl8;orIOXb#SmhSw(CkPWRpv_1wTxrdlsqa~>p<>EyS zZWwW(d?GsC=Dk%z9Zl~($h$D@(R}9yjN~iO$MAy*@5p?dHh$Z)CR_n?ts_q_Dz6SP z&nVqC7Rps}E1W&x=67>C!)>JWzl!@-lH4klSA6aMYcfCg%m2r>K5@Li`PKbj|E1@j zd;YoS?%cTXt?9e(e)`k%FDrLS?=f)Y+Ed>ue)Bhl`S#n_u1aP;I{N&`{xAOWm*xNB@x3Gof9h+0|H^*y$xrUz{#1I`6ec*|^etD~ zF>vk5Q@`iv&Hc^&M}Au8pnv}J+Se{j7Ia^~cJ0mhW@?%8!*_q@-i>=-{c6)(yT+8- z)v8h%+`LX1ocvG!voNk4-|J;w-(TO~H-F+!nEt&u5GJ!I*N%=@1<-%wrzIWp?%k7j z=HTkpEAh%h99+KKG*_=?DPFj=A>%NLV0s&>R(6eP5~R-oZAVb?qla`DL#VN3ijGg@ zx8$p=5SJR_R9YSyDyN~~r_P+8m(A(H*2ZM$kr9mdrVg%a@L4|?cIF-|;Q@0D4`w@9 zb>+?61XAlT1$vf4T5@|OJab?mgaom{iL|?h6W*PI6ObSHwBCS~^Hs|qKjluol7~j< z@zt1Rhew+|gAA2QI-bqzBw5FWJjT>wfC+VD0vwjLkn9wjk40Gr#mF$oL2?Ar)gZ!6 zOI$>d9|LfoY>=T?Ej}bxo@s>>nu1`C-#iV``+^-oU#_J@kjdHbfzPDQr05%L*!7$z-1Hz374yt%NDnRmxS4mSQ>Mm=ZC$g>` z;~e3bvSGYqrYDs{Ww&4~Fz=?TD9Ief8azm>^B!Ee5V5u}YdP(^^CmhIOyCKrK|~F6 zbYuK=@>?@RVcR%aZWv3Zyw`nWx)y3__~HvpXXn<{I~K-AaU7=Xu199#*HMS{AYf{P zX;Nk_*)3m$NWwO#OjJ;*s6iDlvp~sm;*Ltg7_SGuE>%sy3L`4{wfI?_s=Zf*v|X+u zYrMR@&aQRAb1ZS`O{ja*Cv7}o)=D92TGt!vQmr%|Cf73&w{F%uc-)*K@O1M~fB+$q znIq2G=z2#jAYBoa_+i@9RClVAwT&t#aNS})iPhHHu3erqK5U8MDo0pP^m)~F%n2<0 zvfi55GXU-p0ZOi};f8MN_2hIpnfSWllyQcsfo0vMpl>0ECyXq^q(`Kn?W7YZ8j2<$ zYp&+=eocdP(Ua8DZQN#Urf$7*G;eZ1ji6~oO6V$6qw|{DZckB+sAMQ!NAtdKjN%=4_`N z3^b6B2x#TUJY6(JACY}ghQn^R@yLw4{79(Nemr}AgB1nxRBln3Sn9$E1 zyR<8Ot#LcjcZ(g%5BerHn<@lesb)1rPI4R}#&HbQe6m>0xw3#sKH6c=Ezt{3msr#_ zmygl1wb`Jdp+dS8Psq`YYjzyL)$KTRjKdn4)vKFz->nchce}tD(A0(LP1m%$zPGJ6 z99^f&=9qqoTqchcT|}Bh!*t4SHeav0=r}{0@92!f)yipevTWDLWL42M)s}P(#8}PM zB0feN=e}g2kuGQRrzh*(jv0cYFwBpXQ+Mj!j;?1>bLE)fV(MZWqbh*t1!>ck8(tG< znf}4KEPAuunpre<(>1Z5M1=0H=)Ga(f>p&!+)q8%jF++~PGP~9RgAS|ZjPhan4OvW z-HyOXRhiuh@;MiI?|MqY#?`!WTp+r(xfvoG2RDl`@{x&kEVoS`!s4{qaurzRtJ!IH z$}x8*W_8k(fvTmK<;h#5^bLZtHbq^8qdY?^3JPow9$Iqo%}fo#?bovns&z2qoFPlH{CQ<}(Pwyn0O z%`UWRvb+g!QYxQ8eK+l5w_~QFo%r>nV+Mw~JlEHpt3RhDGE3tfj5owFapGec_`Zns zXo|S0jo&q!NUP|0CD*%6)A-GF*Kw~)!+2uFP41q_KF$MJ&1S`hNvm~R7I5I8Fwrpq zRx?v}x2jDOS#QFVmytWgJZoN-1-G8HmPEm8*D8nkiEBDb6PE*&mW=>z^G1 z(vI%s;%5i*iBjF@QlrZUVZh4@JL zvFiCJ{?2~?cXHr&QU^%w=)BQG1DHV+E~gvAWs7B~k?=nObA4+q_qF#OAikviNO$KWJX=>+2tgf0giCh6&PyXYnt< zf5KE&)p+~TrRs;x=la{M{1B#3KS}Eqc!DAtrcC^GP3MZz2mEDI1tg|NUHUl*KhKwdtA3T*?VtZoHP^7DJk6S-=%zxj{1GS z|HjeXyY7o$|G2z)JNDHupL5S#mDdRO?i_Gnn9J#3Iezi@N=uw1%_k0S7-@qQMI1=u zT@Dq0#2NKZv55auH$H`6jgFdp|KZ=ZR_BBFOd|cN`Bh?ZupKKF6n}P0Pl06g{kNcV zC%ebzJNqw?2C3{Xb41$Fjr;d6r5OxTCdQ4oq@jNbIKGqDuOGqFQ!L{Dl=;-17hm|n z7sP>D$xE;Or~aM&4}9!b`^-U(f55?&qpyiGlDfmU;Q+3i0}jj)n(oZOy?fdrf8(+^ z&^dX>ch1+Z(+Z8L&xmOBB^}q9$6!%9hiMIVMwy4c8CmCb&EPkBQ-nDmROv>XPl1w1 z^d5{UX5SRVqvZ=I`#O0p>{wajMsvP(FgH{p1@y;AXNlE|*AU<_`!F^autI7)Fp#?1Lx=R)uv3?uV^5^WG9N=JBjJ z#L<|w%xI23O*CPPp?tGUg@U8XyrUvKguFKwABnC59B?lmghTwAXJiEns{*aSMZ%j)}b1`>jWCzzH!#oVI2 z1xet%+R~zRQ?#4RRO~zhV?KN<8yJXk#Wxp@u@e?$1OqqI6JvlTO>c~@Y&I9254%>B z07#SyL*%qF9}Z@Y5+DPpR-#ei6U?N;QXFz;G`RU!7Lr5ptZ@tQ$RJTa$*6;y;y8f* zz)mSnqe~SrE!@OGLC7^CW=Vcok~k;aQQ{iWO@l=n47%^kSk#;)-&|ZuX`Pqhf4(*9Yfin4a8J#J-#Nyq(WmVOnbxqa^_~ev9r=`mIw-n(0*Fh zj=^d-vs=$;kZZ;{Yv;M-dC}RVC}It}w9~-wF1QO#PXQ0W9JM1!o5mB3LJmc!@o@YQ zc@Sti`Ugvs^^TXX?C6{9d=*g3mA&OSVr=@j{;n@83|ES=+Jg;dUJ zTNo=8VaY2d>$iPCVMqP!h)zU5#KI8=3TlAHGP$J7tbHp{K1I<5T{@Xt@^zzRJTGww zvguU@f*$V+B!BNh)0n0?pb!QM&5Tdnt_+n6b9WMh7VMgx(|k!~n=qs>SvYA#Q-KU# z6pb0_4PK8m8s-y7o^ZH0!x9TnNNF)0=k zqx-$gf;qudcT#(vA*vcEWjqR2cK9^s>DSR4CyARH=xQc}2YjS_c@51#c53C@y$J~| zJ&IjXC(G^u3Q@jZAGVEb>{Bk!%b7V$t*Otz{F^b8T^O7)P7mzg&dMR_jc|~t4^Veh zqnv^6rO|848mLJaJaJXVSB=9GrV}Q9qYnIQDp<@w1-?&EBRFZC-UzG{j0{i+vbiqI zc~do?L`UO&_T|+She6jyw9KGr%?h=)J#R4n0kFVXwNiT zjKCX|+}JbFlGSc2AIRaxDwJ=X6RImnF+-Q4 zyTMfsrm)Mv!|@wHNhWAgDnenNl^70FLkt$Rq;MX#No2Fr4KJc{lm!~PDCcq@jFncM z4)lVO7hS<2E7FO`oz0586$wW@;)D1EXqDj^D5kKredY|H;1bs=b|#F|ftX>+XonDB zB$^z7rxtxeLb!}fL^Dy-Lw&Ide!!3;VW(1%OXMJU7S2#wPNGFdcr)XAm@!2dx{u(> zwR7abpYfqZP6tqzicpg)hB#Z2bKo|1XM8|{uqc|SW+t4QPDdB{C0ds?v+?s#n>Nr_ z!HFVcZ5MV9Bd3ju$ogPxYrON6PMsRyc|i+18u66IRVlWyRC;cy5wl;BY^lYb6ZEQE zhXg|kbK*#S!|;t?m#m7V8W2$dpD<%F`FwBq&5J&@PZgWIQG3Cj69Wz$$S9XoRz-e| zU3vEG35y?tK$Wu+6*PLBLIdd~6deOr>mn=il(}^}Gf86^r$i_=qfFbuw!5~*W!#CLhT=Q~FGnqw*8Jksdf6jC${ys7rz6kpyk>~HJhf%?jIY7&ECGm? zor|1_T87S84YASJZF{KAYhM%5&V29T$aJRLV)8#BXI{FMdWru4VYC!0CgRDsfJKBs zaZT$y8DOoN6Gvsq*p{~FVW8&EaKCfkE$xhJc@QzeG*y@4sg^5(X~C(~S>in_mbQn8 zph?g4aI~RiN(-$6siOob`_`hvYYh}iZ)yua4XO=EB_&xX{Rwx9dlMMiMZW8H5uC51 zX{EGvjQ1f&@rR#pq*B|euH0m8L($W0)%Gc9$T658-iE`r*Ghq*921iLY>frBM##O{ z=pte?uIOPwAX4mmJ+Xb+omS<-#%bw^?YnLlqZ6HEqEy>O=cuio7!V;j(%;I#LB6a@ zHIBZi!8{4GunSm#oaKx!cd3UoK&#vchORgCYL&q@tYU4<_7of&pnDo(eQMmQ4<}X6 zGDWCr+IEB{Y`KWJVZti-#x*ruY+L%S0jA_{ z4(E{)kCHnvdmNV5z*1#CQ>bx^&8+Gqv=u{@smG^#VqtaV|N@1YGtGPO>YY6=Mu3Vv z7ko2caP{8Q>D8XKxUgf*y@QSr}$fpvboxYjp(NWzXH4x$b( zFc+pl>gPkCrhwEq0+vt(n@D)mIJrZJJkTJrqQY3z&t@(|6%&{N;!+)4hl{N9|SJPbh{OZ*Mv~1m*FJ}wuOz$z>t{M0A zyz=5Z?{M4E{)pAG*RQ|xPSWnMwerrL7hdSO3F+Rwr_&up_x4Y}o^DIZWYY6a`_6BO zgMaxi2M$E>p7G`p9JKp3r-`QEK@P58hXWKOpZ~lz+r0t23ZOlBNgQxj%X!F=ttzy0Lbp8UJ^fKfCI&dGh8G$60Pt~IdIAP8=t-FUm&n?Lhs zSc{wdzW#gvw|`439FOiD9liWqRq2i*nJ>Kb;)~C{Jf6opaG?GHWbMWqIr-a9{_Q94 zng=*=@5RC8%i`cifAkZdKyd>6+V}juxj0a{9&+%~3r{{Nx8d~TN~a#{l;nk}daY+& z)5xWh`(cw-&{7Xu+|LgBOnND`Pb7wfkYFHwzT6{0y^+_Dkng+zz_J8g-j$bzu^P5km zu0-KKXWmRij_#);tdo5##gY2Gdzq5-m!qG|@0*w(GTkS$>waoS$v$u}b$PIX z!JuP&@3KuUe#uke1Gr>%qmyXa2R!r}u5>hAI`+BY3)CY@M|2?`6+T#D$?`QtEc774 zOk!3{POKL|C<%>d3K;CN20gN%$cSKY5B{NyZ7@z4Kp-@>rgh*qhI=YW)3D>P;)B>2 zgp4(l(Bgtm

JYhgC^b)+qr-+uZ>J^2y+mF}j^4Dezgx1oqtO0Jk(w;f#sN5aWX3 zH4+Vc-XdJ3&s+))Z(`%#h*2TVp)`3=qxS5ml-nKpDqDOW5J+HAa3KoC?C z)NCk%&;uV;%tE& zMpb%?8-Q+&--(&@-j_9ED;r}SS{F`-DOryk8P2lW+(J^|(v!t_)cFY~z#P?;_0aWnAhfhVkfbACbrb}GS$bZ0)IpzgV6~=&x!%y`YloJL zb&AksAGB*~x(a23PSL?JKLiMzDKnn9w8@3aq`=0ni}G?NI^D1{@%)*w$P_{ra_*Bu z&341xr9===a6<5E5dbYAHf>5NF3B+)PIpR!_l5I>mTt}p*q*jK?PAX=J9uNo@CdCqt|TF+Wfvci-ejfmx( z#j=TW_P#mW^~k8xFbR~g1e1W6q9=c>6+Embxl_0;d+ zO)?F!9TK-c?RqS(2~}u>h2N5}8Jta7eK|uHtdc^pyI%Pf8=l*$Z~B!BG*cgti1;;$ zoz*5Ou4udPM-)Lw&+$P5XC9%f$Wl+U33fi~cND$T+zz;jkz|2-V7p<5jJ&a?=5VK2 zdb+=M+ahnex@n{HeJr{v#*$^Gi?te{hJL#qiy*&n$r_QL<}oHakLikj$j{<(;p2L~ z*e#}J?Wgld>9q)}CiaP?7>jj;wOy2WN4h)9`x={dU3uf2Z{nKIxtq{M@J?2$e=Dy6I}SL{<-UlRK3#H57Q6W~ZBF@O4SmkU|wGik@VECSe7Muf+m)ppI26f!5E9 z-P5>s9MHrCYm*hTiM&mdUGFh{Xt>OpwrX~b=6_0-IZs?UU9Z^$5SQD~(id!|D_)-6 zbYV^d=l)H1OoFi9V^Xs4dE!WBtbx=jO+nIXH3T^1)d`(Hp9X7Sc0p5{Te#7*3{y6Q zz$?825SS&Y$^3E>OB-V|-!vywLgX;VqV|5anQl;b%wy>nh28X#HqbL|n9~%2b09|B zdkGFI?I1qJivHXA-J0sS_)UrGhULNk)V@_&hIhsn|saw8vnloBg!X^ zUwVGD%iOLvO5T_-zyzoLk zPwNq}KARiq_ysIM`DM;(+z8A4uz68}o#|-neaY|1eqqVJLpzhqRC0Ad6o%ALo6P zRG;rc(wR~~$a1~r0WNDEpuYvhpEnhzF@FV<6ynBI32!-LIM(^N%wIxc=^Mf9p4o?;l@ouPDXG!TvH!L184L+gI_OG9MDdZ*UcxNq^!h21qWA? z-?x7x4*osng&xU4nxIKUuDr=Sp+0Sl>-dG?r-2Kd5r0!BYlbp~>#Gd#NhZu$m&1mq zh#2DK(PY91`uap-scOCP-eZzl>51#wx^!~4dH{N*Gm(@Eu0q~tki(Mm%&GxF<_fQM zr)l*K7pK(nE3B2!MEIJaHsS1fO0kE>dg49bOh73+SrT(8ldurv8p%U2SXbhg9dIFLtTIyogh#QnsH+*9LuTGQpBK#Hma zPx(!835W2&gP4bqV<(Jx0p4;5lqtcH@Q^436TnjJ>7uNyRys?gmUiZp*el~gPKPp> zRIOp;1)I#zWMCB}7N*QoPGTrhmfCzok5gtSF>%MZ0XkKLn(Nn-Vlt&-j3k#@l-i&t z`Kpj)?P@yno}pqH$(|3+^rX^)zigdp2|)l3pl5K#8{1nGaH7*J7VvG1?|mv(kMue( zdxpH+_{hu+I%N)ZGPbnAYKR0a+6I|p!{t00dg2lMDrF8*`0#7>o=AEn8Gh$bGbUwp z39E!5c>%5yB~(Ox$pDvi7bVBh_-Stf!HpK?iIm8)>H${eW`mKjVQ4NMH!Omp(Cq4QLW4rDCY$N}|j3IeF_jbSOkc z3;GdWR$UK*33XSrA}*kQ6+S?IXQbO!gEOXf)-`JC#_>-JVvelfeCtb3CM)kbDav?Tvfq*hKV@xgS4Rd!rqO#soK&!gQD-HQERLLG;Zk+m zkVwtX8%o8LgpeVYCM)6;EVNcjGk30Wbpi9XI-xYSZcaJSI4PEL;U|94HqN$9Y0JiT zJ=?8`my(9c83b(lDH;qpiU!*S=##4(@Ps+76DBsZvUJ~WZkUWg{|L`ihQAO!J1il? zOGz|$h!M-Qc#%brYqec-!m4lT4H2dvY9O^F6KTUNW+4G=Bn`4U9iVWLT*}X4QEJ6zH05U2K-jb{TaDk*ViIap-rHDu0_I%9mTDqsJ#wZ?R)T zW(zR@6?;Jk&I0x1UQazoR>c%kv3))yqU=rKdss*pgVA}-cce+8O|jW9@hM6PXtoq% zlN+p8k+N2giN4C#jBr^1fe!`8c4U)iIst zoO+5BNo@lNi$FsNv@|LNW4BpWWTecWzOZO~xv2xaWSH5S*qeH_tec99-ys~-W587g z2L<-b<_g(0j`A;P1nix)3$rUada{IA=(#q?;^5N)3fE569~xK(gCz^>^{q`GTWyp! z&~pVHci|z(zpq%&zvMJ99cl$W-@jW=D7KNt8~DuN&i_Ec|-gC4My!xKYfOW;LWJ|p4?Zjp=3VO z2TB^zSh+X<zz=c{hq1E2a7QaSSR7r*?)FYEAe z;{FRun*G}^zId$tzWvP1iuROwEanECqZ=0fM z5PgYrn`M{WE%Wl{?|)t%9Z{1Gx$ilm()4yQ+^H_5jxYjbDwM*8pvQ6 z2LcmCm>$=HL{?X^~RtSt;64A#Plr*U`~y1Uy0}pP!?jzDfA7aQPgP z-OH`d{Q&x8F-Ys$c(;9N+UC2a?pp& zH2%S?&)ZfEb!5#5dqq_2YnbCN5(2hYa9jT zg`gVaPj(4JIjOaoJ4GZ9N#7@{gy1t6tZwu;FBI@p9r}|toQie&=sWyl`eTgZjO%ku zl|#ygH@0*P_znmO!?V`+&-l07}MHPvMDeBhy(h6;QH-xQ)TJpys6=dtD~V}N&SJ*J`%c$@RH4Xbu@ z_)rFN5M?Oap(^AlP*LWTlJo4LQFT0XJ!n}=OifgK47d;p4N2#6kBu@mLu--W`+(*F zoJa9BqPWpwjIWh)hlfA+v~p*t;jSsOm=BJcr9*K9*9oYKYRW;iM96JB`BE;k&M9Ny zQF?Q(UWyWkfSyvOqgfD)fW&y-dJWNMzJ_DZl6CEaMen^VqeE4ns|^|tfS7>(!|X6QjZ&!3`FslM9Fbk|I%oU;CGLGgElIM&&XbvuJ$cKo=j9bGW)@j9C&#nUmNim|VuU@sc14yL zm=79M%eW+Hr0r_7Q&5IQ(gz{4>sH6)&1>?S#mcLNVq0h-uSJ9OET&DbJ{YmIGp869 zLqQ88GauIMNZ8=nHLRby)$-6&>bt)ad2iM0o@&X~8Wiu{jEsLLPDGrDjC0~dLgx5*8GLDuiRgrk?;G#pJk61b0*v4^=YdzjK(L;7b%)az7@j|o{RIiP;)%U zVfGrL+c=J7j*B--e3&iOsDY7Sb%<(Y#bL9vtJU5yZh1b$#KE}0ZZ4_;8e&&zU5KJiZk^U_L zFhd%6!ORJ;Lv%(jV>r#&Q1ytQNMyoQGX|a?IoKPpKqb+n-FZa|%pjuXqQ^XWK?akG z*+af7A`RF8UNdHa;Q7tsl@U#Jr+J^V_vTFmnqZ}Qx(;m$Qc=o>J(t0_ zdm;r5;$xMkrClmzvSpJ#eV6g#LiF@J1Le~KH{T@q?1W*pV;r!GH@UVVuq!L8m}RGV zRas7ImsD3(@S-EMU_O9}7DyXNGiv1JqQB8ondRErWDV{gsx=-_wPS-YeoqEv?PRuZMFiK)z$D!f^hYT2Xd7P5r zN%j;WbqGNSCn%+-McW7MgTqqDVD>PMi_BmJnuW%eJbh$|NM(Wr-%#$h0&c zn-Z!;;xI*OD58$1Gk`THSPn&ri_CMUmVm0n3^LYj%GMz&FsWs`GfxmoDw-%rJ*pC^ z(48i^TMv|@fe2aua1HdeacoGVleaop;ReLt+zfmW(O03))fSOJ7n6=_P(-GWRLwk-Nw*pG?{%vQT3=k`m-}X9 zKAE^?RF7!P@Q``ij{yLIWsvQ#L%m624_-Ix(RV@7dJA<-7ZI>h1E~Rlnn^E&FD?CK!M639m6M&$QDaui zu%i{jpo?B7L%BdA*dKt=gy3QOlWb0yaZ`W^!y8nTT6Wi=_5~)5Q>iNkT#piwiWz4U z@)4_08&i$p=m)E8h#e9@MjNB?NKJZ;KCUZi!>*We^V&!?P6_R7vBrd1%FZZcz$=*s zTVXVeIIXZuh6GqyQZ-wId*IeiRZ2A4J|V-d=SWEqSR@QnEVmR14b70H;;F!c@d#?l zZpWnrNy~@_27WD`V-D*WAxWrZncC5K2SkWa47PBg;W)A+f=U{qVW4s4AR3;^4%pc9 zAyU+#km#;Wwq9mABWTE%i@e&{ih>brES}{Nf<1v!)XIKVDkq>$6$YA==0N^iiqCbq zSg}UnIJnn0jCt8+2YjLuUb7}QR@6{81Z2)3mMsD`rS4!@@<$f1B}>!6W?aRNi=Q5U za-IoqS`MsSc^fx3y4i-Uk#odTcNN|lr#0kMUMidAK$1ndWE#&ow9CpDORlg;cN;s` zX2CSQgXTa#MJ3NG6^6rFg1X`-G#fR`|H1UaH`lWOvSE~HZOGhsFt9<{s@onl4^KiW z%8tz#mm0l`Op{(3)?!?}PA4?Cq~tVKOLO}vi-G-DM#DHg*|f_gXa(XS5C!RRj%;&LF4||{jp&n^2{5kvls?n1%sb{`%52;`9TcM&(FVV znLGD`PHyJ;)!FR#-;if4?cQOIK;98~?zyi?@)OBV#IVOAEF^VjXIIbO#>XVLwu32_ z?U9`K^i)M->F0tIegLt5`IPhNOm2Jn6KpmAHxKUIxn?KcA!5E2qa1TTI9`4^JQ0I< z6B*JolN7VNi`e`9TW|fmJbloaF%0lKMFGtqVIEPe2g_&2g^4`zAsM`C|9h+ibei}Lhnr%Gdty3D>RU!Aw#TzO}ISz~Dlfe?)VD!QVf-cH{<&WkiXA*-}iln>j8sT|J|#{I7j=hVdR0LJy?bZ2hC%nyVBz+9G&9Oa7eg_FBTt8aV6>eB zaNEl~B%5y}s{k`%ZxlO~r0@}H8a$t&M2W6KjHD$o{onJC26CbnVrHfp&$w}*p6EM2 zEH~zG6`^s6Z~JSkl7VDsz`6CcKT{ToBf+2oZoo-!KCW`48hC~D4G zRl?5vicE>k!##A(w_k|xLGwW$zQshbsmJ@xK{vuMWNj!2S(}WIworQ)=Me;r5w9se z@k@-kvUp}f8)pE_9K#&Ww923{Q5~syvaOhaEs~m(oUH67;+X763OgP{LlP7XdzX_I z&Fc%C0j%qX7hFs$;%nU75@JM%C@ zRXH7C@*qM+1Q(d2E|OK(tF?SrGMg}XZh$eZoM)b8bJT-p zsm-FD<}Lg#TL+{Fi?Ue3p=35)P8w!V{MomGc>Q6p%&FLe;W!IfhY=U0Xo0Exfkv#J zybH)c(@gW=e9DfNkvp||MO_T8i7+q2;AuYJtkx#;f(@hAjY;!H_JE{${V0RL--c#6 zLIFK4Ge%9tPJ%@C-&-H3jhZ+If1z0LWSnn}O~lqV4WieSSXzWOHBYD{_w0dWf}fQg z33@6f_7#)^*0JL-P*BpiFJO^!l^4Nz3W-_vh|byNVY6c!a)`M$grPJAV`UN^_*;PE z8auTRQ)i%t^FH&kQlEjJO5jNK!h)T&RoXHWUi&e?-x7V{kh^#e%w9HuHb96qc1D^= zB_crkJXa*`JWbaEq2|37r(1CyNGc83i&FcJEf{0PS#?mnY?|6}3Q50Ea3@>WS5@Ur z4-vM413CbdIS2z`j3!pkhC271!2xEdtx=d%@k1^{H|9!tKw3P7LcHgf@=#AzqY^@U zBc&^cG%zieQO62DC~{zT1^XqcB+G}E9iMLKNaTuUY2=WLa2^C_;x|n@nncuapePA8 z3~-+SD#^!A8N|66Wn4z;ao?>lY((H&BX=yU0!1C*2l#wX4T$3KD!^pVgFm zWMaj*t+Is%C$u;X%40dTcEq4DMBQU z#z_O?M(FdQUc>P&xi}4g(3d?_vRXsE2526Lhvb2Af}88aiiw&LCQX5esf%K}Lk<-f zsRGp4t~uU9v(RN5ojiR{+1uB`@xmYuqlR|Kn>z0W9UNB-bz0m0CToC1pgjy#QI^K- z8b6#0JYYI@u5UJdIi*>UmWnkL#%S8haON|!lOkRtW)Y8;WD_PZqV z&?zSgl_MKx@){`!;?E>sFPEE@PuN;h7)=-EoP>~J*!4iJUB2C96YWxF86BOj z)b<6!#(cHj1^fO{@tiDLXx6W^^cx*~VA~u`O6Lg8g3BAZ1hHvk3D09}Q3D1wa;eF*4Tp>tJ^@a*v7+jSS3o*O6mKrd1sT*zYwm)(RmQP9Ew@aF?n zVP-R$A}lRk!=cmayRdYn+xTg->|J2+vd?Er(?a4)yW&!UhHAtf8GrczwH05f9m1S; zw@uMnODElMOF&w5+o5D&rNK;YC0b{6$Fbp(4V5t+XG-wE;Y;pKaV=5jT{BGRSk;>} zXIolhosm{Z_yCPm@0eBPXsT<7&c=aH=U8NQHLV&?wL(m=@yaxBS~*ch=rPlcH8|$> zQ}&GZahK8;qC09#J;9&&ARW`)u!xV|fK;0g_U)s69z9Y^d<X`lG>?CS`{Ts^>uKo|R zr%#?HXAIJY(>LD~x%!>?@C=hPm_J)=kUE^6I``GDMmLXt^u;$%^qc$rd(Y))2wF>- zF>Ngr+1R;fKJzIhKjWNHiBZ*f{_gp^e=2_}`oq8XO_86y_Qo6U5%Xgo`}ViL9Z$=* zHvi_E&j|TP`N0bj4r!nJ+WuF-AZj{AU|c3~Vi<^gEinvYeG(G&#gKmuGT@pqctqr0 z#%I5M{w{X}Mhwo+|JK@)okQ$%RN1CFHgVq z)(q*r{mq-Dd*hGl#A@wu3<^lw9E%!xZ~xv=qW8c3$XiGO9%BG4k-_keZCA9NPcuBj z;EP{8F$`j_vN{0+qvhd%0e2yYyoJok?y*F7a?h6y3=nz_21D&J6NR-K{U760dDiv{ zZh;9oe}(|FO((&G-lnB{G}Wk5g-WN8ggD7qs`Hr!wFq&psiJ_6Zl+W)F$CbkGC#gc zJfpFxtC@tqM}{vRs0D+C!FGp9l*NgD3IO=?gnX4bDpGaWLcI9ReMBaEv#jCf?9G!d z#1|f|6bLQ7alyV_6d=SVtU< zv;yWS*kk}NJh_FI&iKpUV0>_|; zu@(d*zqSk#+R%aqC0?|CklcIU4=kLeZb0e27;_d8Dnf}*6A%|%sguDVntU>rv4M|(0L`6J^JZA4qmolEL&BsPMg^|5a0PL< zTun|+wWUW#UU!_;ASsT6*W7p89WP(NM&4beb?vc#gr<6UyoiEgwIyHK{jcC7J~Jc)VELxdprhu z0$ZO1JTkAUyg+y!Zh!*8-!?Q7NS3p|q(mrs@`tGi5F`d(e^CWW0AEcC6d+tJh-VNS zkiSp|5V3mgXywE=Zo4otCl-+$OI(WrK}SUo0|Io>uyCFFVaas`obsrvY|$^*EX$G8 z-0Y!K>R@QV$`1f1DQ)C5$SNTgT)H+RGzr9Bhq|nc6>Qv44!$25+Uis_1-TV<>9>B6 zgjO}V*OYkVQjKg`(1f%dg+}UQ`4S`k?41fRL${r(emyYl2R!ahd@V_05}CznQKW1F zAyP6BwoIyI&2lTd%CxH>P`HmNA>Ab9YMB@@Dd@X=O4lQBP~7WbXDQXzK#P(GB0(P= zhX=Acc=e9+OOE5Ib^2`y4b%bVyxWNjhLSF*=p{AfD(VY1oq;VyC}dke==4SAMq{<1 zTrQm3gdtG5ta;m#W>p7Z24%T6q@1eZsZ&fUfj=|F5TI=qoQVaR)IAuFj1$vlE!jX* zEILv?Fam5ht2! zn3l^l*6f;04C0s!UBAkcF*TRCNL{qm&RiD5euc)DWT5fJm9^YJL=p3b9EzlZm!5#- z$E{s*8B;ObApUD%S&?jR+sg9y1dSvuh8=+E5MKiu_<^-z2Bo+~AffmHGSLn=*L+p_jY1Mi~plk6)lg!a%8;gZz7M1E&!^rsE zKy!=<(nh+v{gg$J!~P~oZ}a{Yb07WT$s63i_jqL-6z6b@H@{ut(l4hZbZPFI8jk+; zY~RG1FH0LW=e5uQ0Q-ubV6G;-}keF$p%n$_Wl zBd>40_1xJ@&pnH=(@Y3{WUL+Dd+xpGF3>@E;mR9ty#BUnLPSHQ**-8dB8ENtmIeUk z@0^_c@wW{$O{LW6&&UaTdG@cpmgjaR$S?$}1FP;}7}Q`F{?sr?-};+p&;HFl7+k+~ zdh2+Wt>t4Fd@cD}GGp+}Gp}EL{i^w6fOB>Re@d0?&lpPf|NH)({NY2x;QIC0RFQ@v z20xsC#Jy**jJ}@TpP>Qq%&l)*8D28YkhAMq472droF8A_XWt_hRq*;_&;9-*8I*ee z-FL1qc#AvRU)x{MyN&j2NdH$O$HroQrZ_qIqj%o69A7ZEVQ_Z-dm^J@aP_KTfOV{0 zQvRm=!Ldg^&W>Y(E-t8o_hFFBFv$HYdBou4Ob!@8afX2@dxX{S+6m_3;;nbd@rB>z z7Da7b(2xY81p7omTKs4^o5eFtQkqclV~#<1+FJK(W!>6XY|%tC#)(t7KIc1E1tu1u zYV9Lu&=`Y(z>N!~Rm}{IXNrUGn=0pX;dCB1vy31v&D6EVK+_!Gu{~~L z1I{?c*~|#o)8xrEhJL`L;ABmZjiSNAJkvR>Anj;RGc%#`Qb*^dhr9G{ujb}=%>4tQ zMrbpw795n8)VtQEB~;-cEJ0X& ze%LmXOoG{BwT!WOiiTK(GQoYsF>&e#E9oG));599a>8w&eyvTjg+pV*dPB?9gRyA< z9y+W*(|IY;F_&h<1s+Mr2{7Q;J$~v0upDuZ7e-0t;zbGTK(bdhW zT&@ComqeAZC4OFTh~uiw8Zr(8nOhM@T63V)AW_~mwtP&FzurJ}SQ ztD4qxW7c%qUdbS-V{$wx#M0H)O#M1CJH)4!YSAX;AYD-s$1-RWn8w#h?YOsh;C%&; zM)IAAAB#u}v`R~(?3l~j_{L)=6*U@I6%UAJOqV?r5DAAex)x+HAkWi=0?MGgLhS** z%_@-CSSz92Lq;P*D_d)aP=!_ICGm`Eo#V!9@5EE+rsA-E)9tDHs;t%fTAW%)6lTQy zEKka#+^4~=Mice0CayX-Z8~PbBfUvE#6-)qR+~uEVZ3wz=^Yg1KxVOpPxm=+aC`Ey z$~sb(NFWEbFbNX4ZmqV;Ys^io1ahz+uC;k#W>10T8(){lzt z%_y0j|B<&24t4b6;oZiR5a&7K!bE2YtX|>CC|SV*+Cd?k(fbwB1aH#Cc67E>-GrQF z=gjlTk>IUlfh+1^GD2(2Qyo@fQK%P;ov;xCWEgC{nr08X;0c-tbNtL^;X1hOq)jdq z+fq`fy54O(?24^xcPQ9~3SSW~cKc&35`?0|%!VBmfgTR0lrBst=hoCa+7)5DZ1d$1 zU{-LDGPqzPD+xixvb9g*6!00AhFl(&)8P8di3{k)7i(5MJ*UgM&<04%c?3e5wprrs zc#hmz{?d+(q?{vy($9d{r$eu3lUT1Vz2mBu-8$Kp@T|i)jw&jCu-5d_Bu(Co-hA?g z&tEnA%{Vf=Em$dK5J*PGnVjnnBxy&)94kL0t6j2LC9>ieTsrXx$Lnb*cH00Ez!MDD zz)7CVVe;(ypc*FEz;@N#l3@y0yKyS~sDq$chuzLM<1)=zyPZOrk7LEhCC@d7nt)G#c6E;!Lv_)Gfp2)Z7-@KX zSfuyDAikRVE%nX-CkfTNqT=0PO+~}RMjG-U*>0DUlHI>4(-;&MTs>8`fg&qYuPFII zUc2ouREjFOF7jo*bBx3gcjl?t9k;tII~dSNAL5a~=IfAoTDv7DI$CJSkeZv{L_!_b z=7Eg}g=qj|5Ab}$UoD7@3Z$kiX-=bGvzfAHH-YbnJw@?|&C3REs9@2}W-b(J+H9t> zZJ-j!V3ee(z0bVk70rv0{RN3mjHF;t#y2_^f(uXbF`+RQLpth)*i$l2shC00pB8Y< zZM00X+1{$rtH1FZ#cAviKf&>g@UnBPc7}^9i4(&;CEtLnAj25Yuxn zu#fBAv(G|j`-HE8XN~;VC6^cfVUkzB`j0>Vhv7sjO$YSU4>?>pd78zT7v=2amG2q% zKf_w+Ao5v^-RE-s`t|3mw%)$}_SLuEdh0)uS2U;lZ+=s5&2ot=S8V-s=B4M*-~auO z{r+PgL`+s^XYYJ=|L)o6<`}Q-U%LL%_2Hk(^*{Q~+iX7gfA{-$Ubq#HTb(foAaJX^ z`JH#OEKAgO{#z&gJ!YC?EOn&xb2=6%mCQ$us!wi=Usd&{mN5fBSEnUyOro z0=vs5w)16=NAETc{D-f;dGgE~pZw?1^Ys3k`TebG*#+&+p}7#K6VY zd<=2s6lS-IGC98ZBp+f~1z&a%gz6)Fn>23POg2iE4}k zGT5UkPbMhvO48UnRb>%Kz|%|`f3!+;@$metLX{s63y%&~O?V-s;Iy((mSynXBE>c{ z?y;uEm#MFS+%o2JX&dp2VgSO(Is7XSH3%a==UC9d&etYnuy&4YPMHrWTRcfcjvnSz z`eS(v;f9c%1PYXKb|Xu$W++elWvaL}DboqO2Y7$!2IpATKLdT5>6)jOo zW?r;c(c&hPs!T`d752pF`3a^?37Ji>cC}Z}uZ`6Kf6qJ3fVQ^Ht*zEZ^C?CeXNGDL zh5^5ka+`X_JQoE$HjX&0MqafZKLfSPGaWJZaB}uGzF8nQ@maoFX+;6APIHZLU0*6t84tr;(N=5Utpy9tL<) zLc3zk7IVag#>v+H4Q$O1W7p;sE50DUj`FQ209_M6<>xSdSq2!3n;8Y!*i#p^+AW*~ zA4&VJ5F&Xn1Z!Yp?8&&wW{KGx3#tcq607RqIJ}ouag4zjf@cv~^g2W)Z;U--^WYov zB8u5K?Zd&JyyeumdrzwPJj9Fp{0}KU#5w@DEyBM%^_AJS$mX_3v_I%S2l0&IUF=&Hvpx8j^<)Si zgw!44#rg7I>O)R`^+!1`>HFlrx_O(bU@cufGR|}8**<6=NB_Ud6RvIiICdiQt%_!w ze|@m6WKTuvVHa{Fnj?Q_DXn*#J!?A8Ip7w{u{!!6??gP>$9n>e5hEUEe{t__-yhwx z4Tr{>=Wo9TyTiWLu6b~OfAP~lE$_*`e(9au_=gv+y!6to^Z9nfG0R2+cjUT`b_9RW zHa=<{ALHG*V>#Wq6XSrv?c49i;IrIg$x7~T8wL_FI2AB>L*96d!L!evo&Bd^U=kI} z$9A~SI9b`BZH{&F>hn!qH-_14*wBCR#>L)v!f4LWeSZEYS#y1O_VC$f<@ALYULt3a zS26eZufM)O|HLPbF&_arq@4Yqj6w6PVQ}v*ke-Zz?U9bg_EaA*V5R$;-@J0=5e8qD zv)5n0C4V*s*6+77C^c*3H;a6&`^Mo6+lpn+j^j6(cG1_Xl4lS$ziO~Kd{=2R`fjLoJ3JXb^1oC#usWIDx-gc><%P666v zXMLEr$eql|;uDc+{3h5pgc(hA@d4vacrV;YyUaDI9J|sdJ#Yhl0Wo+;5i1Ip! zivZPRu=udQqL8k_ww#w_Y+8ecfZ{Tf$LDuHNRgPYS00INX2Q4>Ki+z$gz`QkoGRJc zM@;?vDT_=-%wVAr@rac@)Y6d97%UP*V~8x!wepW#qQpf;U$})5$_ab1SqV?owHD3R zPmoB1ia}8r&_N`SB`VKW$22a&>Xy?|$ZSaPPI4CeIGYCj#+i4s6$cdWVhvdRqz-j6 zZXq*da?^8eSG%+c+*XyZ>s1DKOHXL?m0utpO?)|OEr2R9(eCp@NZo)ETwN8I#a6lbodgQ z3W=+xW!0frDEWqXtUuIRYZXkpkUATZ0DAy|x~yddX9Nijbx*Z&zH|c-s5*8ju(l$~ zdpbWMvK~$_=u``Z_N*$wYs)|l zXj-d{Cej?p3^7sefG<`}MtDBH!fbjR;>{bAs)gZZ3SNy)gEx1sl>&^F(vZ;cBpBO? z6u?K!8K!&%+?wia38bL|Q4EYr0)d>~-cknkZe~$Y8ZT?AnXX5oT{0}w5e(1j@vK4u zL&}+5sb7t5E0gppb-x%j4MpXRj1|i96h39}vJ+hguq~vi{6d2fV}eYmIm`*moUze3 z8{Z0RvL1DFDy#?pG;hReOY)W)8}kNwU~?xWO4FfSd&aL&*w%LsQgy7=iAGwlD$Q1b zyXlLmV6DxQ`-I$J)kJ33vrQOZwl1RlIVQ$_B-ByjCl%{A1NfRrtmO}e=oowwi8a{l zP`R|_COpuJ_5={P_Erk~hi0@Kr_tmUKpq(*CP}ANsOwPGXiY2&=!GafHzJ@S43Cye z5mrV7CUBWeeSCRj;}bn|2~7DZK7X)Kng_|1@pp1zku&Jj5?Jf1!65Lg>WLhLng6OM zryW2-wz0by>P$2^paj}LP*{gySIaHTC62F_O9=LQ^aKKC*%Pa9fN|z*IK8QYxI(Iv zRXAF-VX_=*R*!Mlv65D1jdYAM@peTo^_G}KW3;NoK+UsBqcgszv_3u6-lJy+RmD-F zVYI=Ms4*2qNDxab#v~ye`tXyVV#^?dl=ZMPLV>nO0y#9JNEN}Dr%{4|1)o^|$>AH1 zCngqfe!cWG#*+{mP|ZXOEC<8R+(Q!~Pv)R$qaE1cQU~*?S9}vmpVwBj32gy2Z%K8o z=CTOUJwFDs)E<`&qY%S>WpszB)J8FK&^)^HQn9IdXuvuWIpdsybW;{4T7L@Js%b3= zU>a%}DM^|KVP|$|AsF0if}#l_MmsvqE(3ETir7FO*r^wf%y~1WC^fH4(W*TqUh%IB6zPa*$1t44#he3C7;h(33?K`9jli*C8vWO%v_*#=-w+KlPP4eD;3y z{KBKR5Fzf=Y;W-dQ+{l9~Y`>XP?$i@BIFa8hVi1l~d z$$$IRKQmmsrAfa#;Uk|v4+7zT@BhmD96$Y$KR6^jIr@zM<0meMheP;>TelBE9|qwM zo)DhaOq=FnFs4Llj5x+sr%>PA{X7GmFl<3~vAE2Ak3vB6IbT|VjsU^sE09IVnS&M zP~S|Riomp;p@hgoOu$uBM0dP1_~fOpcX{ER_aaPhR0_|n+Ds;V;w=sS!5`}!FiA)$ zJuf-p*Az;ks+cLJY3Y}$l6sUEnT2^a?l9MjxWb%3H^l;IW*8=GBDSN4%_0ILrlQzZ zr-{xjTKmeTiMn=`Ne&ek`0}&bq7Vv<#Mb8)YWwFXe2ouR2UEv8ttyM??LlcMqt$~} zq(GC1(?lGT!ybe?L5FCiNSc>S8&|LdiT@V6X>o`-0!EA`r$3L~eHz_4h?&#Q9!Yuf0vnYKgUO??B$!$vezTj42&NzzTA zRP8Vn>M6ypaW(VJ)HUtk(N&gUo5wai2jOHW9>FanSyBNtTcC4PFY*O5r6syh`I-$^ z>lM66=IRoWq$_uBkOX#yRmG)>Q>S@ZxC$VgUOUnbw1iSBJW}7#vGA)(9Z)l(ZE|Hk z&AsY;W(J?OL=y4J!+NtCc{y~N5hM7NbZqryL|`W+m0=txD_(^%X@kp1@|FTwGq#pI z3{qM8ig%&SDjyk-zM^I!{T5k&sSOu0=iUkJT|r2cA`ps6jHK`ZmqiIkFVMiodVVE? zw>>_5DhbWR^cUAF(IGg+qlTne4`u|)orDAx#1)aKoK(AHm%4=WowMcOR~082tuntV z7uxt$y#|YVOm?+r0yc29_mBj@QGC#Vx6IwPQ54r0eK`4cm#({wUwQa66ykQ{GA!D} zw<{fMX<0DbY_hx>`!V;aYsIxg2hYdmDz%NOg%(4@ESdTE4~MAnfjjVFr`2+mAJc5qp$uw@;+Q5TbJeFpm$LV#flX8Rz4@DVD_7EJO0 zXC{z5FlsVotydn1tmy&tR$dVlL&cfDJOL3OwF>o)bW5^vbq0L8x3qEwo|iZ`+f*OXJ@ zsd9zF6c*Ca^Bu&EOo~d74TQ@0%sh}f0JF_F!Jnn`T;$NzVaKZa1>|5dUP_7Ord9f4NJE4>c@`X460&vIGV*cTK~J z4>T;GaKKOjt#>|b7x+_0wbUMe$?5MoZRWMcrU#<#U?zl+g>}J*TDDtGcH(^JVU_3Y zw$1Y2JDj{DK(Ya9eIh`$ly;+BX^N&Hv`X z|F-o&+;VW^h;DE)V<8r3_V>KszDdF-`ExSx?0*A=ta-)ZV4L=!`5oUEcXxm17=E<5m)rbeZbxWlA9Ft1e?A63`CGsB zlh+=wzv{sSzcVomF5BjRmy6|(;Ya(`=grR$_{%nu{#}8G`hNMi@lZeXOIGH1>ln7x z$>sVv`X5`u+!lV>7RvSD+V$%XuKnE4-Mee{5B<=s^UL=9ejfeo{c_l;9q0021cQ^4 zYY(1!>h3+W4TH<};r*7`$KNrI75c|sT%A7n>*d#e%&-2+1I50*T0E$*UtB$XaGyro zAN)P>EuL7oe2o$H#q47z|7-d6-+1v$AN%qD99xM0>+*H_2=sn-R@eK}J9loO>xb5) zkqTS)Zk<24)_tn`)ZM$!zj}86)#o{anv;9?!V1^fE!NHU`;&(;eSEz0_0Q(E%hYt3 z*(CV(n{S?+q;Gxnz0=c|>Z_mo?Ddy_@dxzk>%Z`}okldLLWlR_kUnB?!MVKW@qRd4 zF*6L#Z_OCoyZ1bK&KP{^Q>Kr2cHc0tbClnYLELW3MduL%a(W^LVD?=Y;9>M=`PdzK zRu_2P0Yh+kaP8GsA6z@5BcEQ(>yvlxaF7tEWI>aJAI-y)hbLD*`?>2c|JdL6rjdDa z_1R~JcYf!0Ec|nyvpXVZdw>7oXz}Je&386426j)oVG!3bA7SwP^D_n)w3Ef=3}cID z7#vbV4)T!mijEjifBUN^PsYGDojw5rB&sGp=1a-Pr%h+TOqp=;S@3){9Iu!$hVgYa z!#4y<fmC`2WW=s zz>ggaJQMpO@w4a1FP;Jzu_bGh)7xU(A$vF%(#LEisg!A6eCJCo;>j!~BL=f+S=g#k zvEVby(YMS#8Xbrg;kPsR8kgasJTnUdM#Zy<6BP4-*8qrT-b9fafJXdjI{b`vTE*;3 z$&D$JfNzLJHvT36SG^=W9d%|C1OzFu4w#v6`vY;T{FaMT#Y)Q(D=G{v5CSaQntC!# zSHb{c@p#$`b6{y%6rs!^p~e)161OSZ5_w0EJoySzy~lPFYi(v8JbFPdBIEqofY_QnsRFPyGha(2i7 zdWZU4?$9nwQQKjjiHw9ry=prq3LcK5hq+Ql0nIFv!*W=!qflCkr(w1L9s(6!`%)c| z_-~adR)B?YgU$4zg>=B5{ZSHt0zEAAuJ&rxOFPmGx*#V)Y+}96q#Cu^rZ8GsLoHci zO->*-tAsVJxJ-Gn^%)T2Tf9?LAc+E}n2N;~RZVwefi1AysT#gu)C%|oF3f>8(mE;A zsvEndRszeXzF()M6bi>mG=)LgWZS{zSqBoJMu99jkW#m6S-s-S6KWmdbUEd&3!GZo zE?v7@<~psl9ch0&va2392Gsnik zb&=L;$5A=*K-2(x&AnDjBxOwaeK}D5^{5iMA)$R`NY!~t)@PNkz!w%fRFoXfqOLqO zv#hpB(7fs^R*0%f>#9nPG56JSq7_`Om6GR(HmoxmpwrorL^>elNZCKaNJ5o#ZJR7P zA~>&Dn6rU$L#L`WS$An?+OEkssOXBLUNcRHp@GXn?n%cPfz+YlFl}_1ri&T~-5||& z^jcV1GMNVYyKTE>OY4?3^Qk}`y#W$piEM-i>pFySFb)G;Hi`hSl1hX0>_+QW{kRDd zsPC}A&RLh;tkX3O)hzvTQdj`cLZ#aaEh3xcJM z;Goz>$KbOm<2bJ1!<3IGuh%OoVPJ?}OlZ?^%y0$ZfIq@%b7Xjz$-Q;5NByOzI;ZAq@u$ z3gj1L61I!>G#A|}Q{%nIvL&yP&m2;n#Z;`D8tKhc?pVR@7y$URH!&W7x`gjbn$iKX zWK5JAD1Zno77Hi-7=HT6cz0Gdrv&j^x$Z}47?g^|xE-^Sa(#hSK7|Lr{UNrk;eB^_ zdyIcW%-nv;9?@@8J#h zckdnDm+cGUSp1_s@3ypi+|SRiJ+OU$`#q50F6?)4ahKc8@4WKh+O-Eq`*N72xd#eI z3q*2|9-QN?|1LL^pg2q{vE@Qao~gDejYqP{}2w8;@>f7ue@?}@2Rf` z*9@1VJ;yWuYY!~mwFkFuS=fVXCnuJZ*~j;Lcb|FYa_*PIk8x%Uu3dxIgzZ0KVA`Lv zd*7R zWDw`?3|2-1HP_C(OVM~{OZQTJJ%injIe$0?7pF4@a$#}A}i};ikjfI`e+Q2`ZN;!_kBf)4_7eRC(wqU{)fHE={GHXXp5DjIuj($|*G z77AP~UR&{n=M%*2&jxESA}>D9d|(Y6x^BWci}*^kX(>#~mkDIdkaLinSO7_DQS(cL z&$zu{(qQf-#k5$d3>BUs(IkhV!GlV}cJ|>9%s#yz9ES)ML5LS*Hf|8++#!iRiAOA9 z_`%!Y4}B)00H#9CCGp8@SEGxsH&H3jj1POTNQY4>pMnJH#T!~eU0RVrt*a`FK|-55 z_MtA<;sU9(r7dd!bG(OcDr1eQ7b%9$4V7c|M(t>_9R^qADoQifBmy{2n-fSPjrY(9 zi_6q!SupeWH8l*Yf(|N8;5eDhGs#gI2G|Ft&_GeDSSf`q>`1~~zYK%(Epw~3VX==1 zY0AzOWo8I-kt{RSqFU{S+HYEI2TH_Bjvv#uFQ(29vgn(t;k+Ba+!RCDIp)@&xMq^q zwY%MF=~CHg&OW4iaMgw!$yJ%Ls~cpMt8=-LrS#C2XTHlyMI!^HRXjPnkupGNDxOlo z5vIl}W*ph#JVf9+cDhy6vPcV`1joumL@k80&9biu*ubh(3FYlZwblBXl}fq=m9S|v zP1~lCRyFZZCDf!T6KYq%eJ#U^W!i3_4QS-}TQoUMG7z;-wXcv8&@;$lpy6`yDNBo< z!)EJ=cr*wi0#Z^ISwkA|3A~Y%XX=V1cj+i;Jy4#};4dg*&A}v8<|=PZFT#_SSsOTS znGidrn)X zRlg_zQFIY@U4k*~b?X+^DmpARf&Fs3C5yg=cA?%fCRMiFyJb1gI1W;@ zrEU1*)FHGm$`uloc3Fcer!315T5hr#vfku49_flt+I+FB+PW2~Dyj%Q!n6@uc=SXl zU4XG0IXySf>?8dlojh$5nwkO5)4U50U5cklh)=m`^_|Jtq^S}e>2Ip=nxYjl4mbwb z8GO>ZBbgrukh5OsS=UsgA#_RC07sQg3h2G=ri>;ms%b%B2;y9#*+eUYgF>(awoK@{W%m!i;ZX~WNT|%olyKNiCxWD9) zblk*Jj_}G`@E?2Dv^5_mb61;TOl%Tf$M9CUlm-7p7o#z4omw|!J$dY_1f;U5(Q4VN z>7*u`#AOrrD3wEBjns*sDD5bT%%(Zm;18cEutX9TEQnG$<)Ytg8}t+xoVf`s@X1S$Yi2Siz62otQt*yT%>DnSRmkZGB(jl=_2ducaXTuY&c z9~OqJm$D6IfH!ub&25#G!;XsWhU3pzwd4j{u0a|cH>0eZ5SFWzV=?bea*K8!4f$;CvQq__@WjCOGY=1M3;c^>h#fHu*^Ivw_P&mk3_Do2+)Hayi@U z&7?X`RjxVy)9BWNwZiCXSMjNwP-)Qtx78ywwjM`V-=Qw1rcCH29k&=~#keUmX z^GRW_MxQLUnUq7#_5sVE#~_Y%Ye4RbvBRErNQ~lob&g%N({7_3--0RI6`vgzFod9_Bc&t|GN%^>nM&>l<^u{{kPT|wh${v(ueeH*%E?VL=#9HNS(EAa0J+8=+q<2L2iq(l=afQ~mN zMZ?(TCbXy=tNtnXUKQ$0@gVU9v_m&)riPIUc^Rl+Mp=usgPGyB7>8RQ)}`T;-{-c* zvhYXi)`xI8#=l`eEXEgz80~}m_Q4j5Vc}P1+q}&^8?ztWy2cFnyVtKjxSoAf~ee;``i*_Jk8M)A*5aUJ{UehlsS#;qS0 zhQU4V4*HX)jHfx8Ctz^(?Mvauc>lR}JiVw`{)40a!So;Ie~f2b?UUB3Z5{jQe|f$7 zvfl~3{t?b&+gicy7rx4RV|M>~RDn#Veou{L}KAyxDkQ zcH9GM`&!S>-#vSSE1=KMZSB_fgnslrTj{nHaC7bV-}?8jea7yEv6HapGm9+!Y#yGx z^Uh;VRpj2?=bwioy?Q|g4ZB7^jhVT35%@>%*(aVc`|9VOODxag z+s3il3iwOU7$raZt?dK6=a(@s_&^%1fQG@xF&~D3#l6q}??$}9U0!9N;2_`q zQw-)vs?ILXjjO*lx1B|g=GeEviU0Hc{{PsYU!1Yx{p>Atcs}zPZp_|)>Qf?Lxp97e z5_{dLEudqJx1M2Kdct#;f5+U9F+k-93_#$3!TV1xe>}Q8!r(apgR3XcJTqf(3(Qz^ zh!|WwiFt8nk=gIVz~f;I-pKc&k|tT>ZkfnC+iAfxJh$%*gTH;#Y>LUGh^eA7qp>dx z9_%g*`7W^mpUFnT-Yp#@us3N9=MWOsR|u*2Dqu=Jwb7lD7Sm{BZod?-OK`|jfw#kl zlR{RjG9BSN?8Crh)M-?x3nHHQD@&cVV!4vN@I_R#3T4U@MbN)<_7Mgj{CzGv)HX%f zZbvBxeAQA}+T8wob42v)#f*}NF*5kN+MY1~0sU)@@eHyI#E530(E@SdQz?A@4MW~7 z113kd*lHCcIU!!qom05@kcCuru-Hu3o08Z;Fk>B|$A>HoT=eH_FX}z--ti6>Ix~Kx zAme}~vLZC4As22#_Ea!Ufys|B0In?_BcY<1dX*%=Q`9tKQNiud1ZnGto{(unB{=nh z8{2peoFb2Ult;pfwIM z#Eb5YHBNo41G=xR9XCt|5-Hs>oBE!sl^z&uZ6{o(vt31U7S_;}T_nBwts^ z6bv&j9OlTxPu%3Eyuz+Jx72=MjS~J)eKkzvpLml*wZ4l&5)fdH)l%`5_C5Z~vUNL; zFN+LPQZ5X@O`1i;Q4ZlB?FsFCv*y*OI6|H$q40ycTGEdBy)HEMbi^iWni{60w%TS= zOasy8iiWe~T0xN|mF~DPWTisWE+(i7-FKK+6+|n!rBSM;7HENb zSPnH;KL(+$rD!E#d9-2$o_!RK2_;-!veay>TG)oA>8;er6IdrvCXy5bU_;H5yUzePTv z>KGWhiVjK&9`rBM4H%&bs%Gg~2V%t7c;}O)3k|kO0@TADEZUlglpUmf$54@qGr9olmiflU$v;4LSfG3LR8;9S8WdICeB^7KFQf zw^80Y!9oghla0@$3hay4N`$f`uFfG#nC*lW%_Qw<{}HO_w+?+{9eZ|bkDDsb*%mtz zzsWafrB`rl_~Y)|d^aX>uLhzb4mX_R13E;}gx2%-~L31nQ#YMbfB@!%U z2$_V`AUK1xU9_A5Yi!O|r~Rls}q$bwC~oDP9KjmmZfDlBh=%YdldK5-QlT8_ya4~2Z> zMB~VqBPrs7v2n>lwVY`8o*e(;~$mR5mFaZbqoWHuE#0ZTc3qdfFUy`xbElb<;^Ux7qhBOD* z;MO_MpgN(VZa_k)EGM{l`jzt|>@QLm&v*A2j#xX!5NykoP8J+Vph0_-(TA4pyB$5# z*3L6ZCBbNc5d+BR!Ixn*t}2*lB1V5=lxzqXJC0sM$O-8bcAxT4Z5C5PIhbPEvP#>b zb)F!#r;Cq}EFvHL9aEPMVr~;UqlYeXI_kn`aD}QBYv)vWYPKNnG05cHj^-xbV0!F~ ziBu?j_-&P&-!t1hqZ@91UhzJJ-~NERzP$1sW8P>Ur$~W_YliSa`^xP9D2E$g{;gm8 zNn6>rmF%N^T-iRlKg^En&vN&bS3Y!&{Bp|U+WO_3Ed1Ag^2@(vE8Mn{eYB4&+ei0@ z*)s`9}f}2Dq&4+c&;9Fzox1cwss;SQo~?%!0|<7L&iI zRbMTLAj$$8I00xN2IwIC!w3U#V0vYf9P#Dzt-k$!%+8WhOxcmKcy?red@l!u8n%V!#Xts};aJ+N)ScvbIg>KGF@HQujf+x!^PvecEhlY8-@A3^wm7xo*^1YF3_K6dvF*!W z9*Mtm`f=n2L#e_q&ZOMKhu3c?Zv3sUX1=s&7V?`r=C*XkZr$t^V(2V!<#?x6W6a@d*<28 zDM$NQ>?I65H)GN66RAF7Kn*+m)PYRJeG3=StZHM zA%1WyiLVq*ohfZ=7d{3$YTx#!Y|XDxTJE_aA~*}gX2}Dya9@>S@Sre&5QMf?;(o~j zfm}}^#44NxU;mwBZBPyk%QeVyRs*dE_2qoMY2aHfw2q?a#1Ej4I}FL`@7?K8auhB2 zJn?08w% zme2qli%r%zEV=sy>rKzzLkJ5F(s{@dF(DGa1vXi(Nac=FJfV$o!orO8|$bG6ly=i z$A=jMC7^_BhAd;1TAFB)nq3v5^VHV$!39yiUQ@+vM|WsLZ3J(pRo^a_Zk1Rfa^kUE z)X>tb*BEG&+|8Om8@XK%dUo0~*j#Chx457k*g886Gz9NZkJ)<`%&aQ=Ipjfbi+)c+ z%=N4pU_pmA4s{=@z&w+Cad3$j$gv;N$CR9N$WtdB!qqAm8o?qRC5jWe{D5kr4eWYO z%C`vNEK87EmL3s(W~^Nq0*tmW2otyVMajgvXG$rD`GQS>s#|TF$k0Pvw@W-{bPG<4 zOR`BjXX=tW0wx@d-O^XMN{}120JA%RoSHcr_2FJJ_O-xt=|y zp9u@Mue#SKsqfdS(VCFFD0B8WUCpd?5@ za|lQ5Tp~tF&Y?i^Ubhe-l>+06`XUtEbT%S5u-++wzWDK_2Va?T09Z-IOQ7# zNo?lUj7Ze`>{OK)6Wt7jOoeRCxZ~ZdxBxcBeGBPY6T+J^kPU=XbkWFx=gh5Fhj`$o zCa8%Tsd129hROtyHzBq$@}q1>`OxB9+AeX(fT__q!5qnM-XcGMiiu$!*>q-qv0blQ z_OOWDS{t1z8~H#C(dt;wR(=)GNk?b*5Txi6SUT4o67zSzHq?Dt(HBJlrpfst3=YXL z8gOg|`5Rkd>vnM{%VJk0D5B-AEsDco?b(S7hhgXIO~F`eb0^Y`Q0qMuR=L}H-ppaM z-3^T&I%w%l5sYcbKyJS)ir!GfYX}*$UqBYF@QZaG28k9fR2#Yj42t!tSk8Sq%sBMV z=YAjy9n4>|A6U8#0^~#Au)}mP>q%nPm_C~u#-eA7aa&M%nzKG^Y2&Ck2rukr>$de` z-qwe9Z3{#>+QFrO!abKWq2Mz$U$WRC|7b#`RzbPLAx z5QSl3Cj?DzI)3F+dsvnmEk{62v#cF_EE%91#s&mvoKaGP_Z-c?i;5h85cCw;*_uP( zW4CA!%myb%A+c|l`{d{7B%3c2?J;Zn&WEtswDXG3u?LCeUKzBuL{~-Nt=X~t7gYLI zI2^Vf3I9#CX!;HE2jdE$G=_pzE-5A5CDU6WhiQYVuhC0Sm7EWodcW(t#BSm+EEiqa zb^Df%EP6K0h&=vlkI0j?E>}_>cXitig=1!r`ReHZg1&vYUr>Pj6$SI| zjv+5HN)+Q`N+R33UHPS2}|M=w-wo}gc?!7{s&u6~! zpZt@*_G^>>!?R!g)yo|6v$J1)#3jDmX7urQOur-Cy5&D@XHR{~-Vz4PVB~h|*0ZmS zWsZ@adTPQz4ARHp-o0Nt3-(MNdMC#-xjD|sRSclxe$~#%*{*%u&aQntweYR~EMlJU zrN4H~zLc7mPU>H_FUkE&fBR_uG5ZpH>ks|XFY|u4Pk*TXfITqX@AC!RmhSp%4EY(~ zit+xQ*8cGD0jpCn=4|%jbW86avJdciDt_jqrli_N^K+jTT_`$n9BWWO-Ob_dUAc!x zZ@ww>%{RFl_v9lVx%v7dC{bj#k1(eCT^i<0Z#qx;IQutG?%#Ur{^Y(naCn?_c5jqG zkiXt3Ivn%2e(<4%Fi781rt%*#7~g^65#s^qy5Z47?izYB1}gu}HV|*3^L2C9Tlt+9 zM#D{Ez%JE2EZ`R==%pMKQ6`RI|^%^`mEw|ilx_CZFqXro;j6 zYu%f}pgN2geD$MKjLE$Dof|iV!EgUI2wcJ7=_3Z3iPhem9KjrJJ_!Seiaa+5pQmhw zq*a~|cfp6Nu))fm0boh8;clMArun~LC7~OsK?ll9+6D-!S}q=xRR1W z?Z^i=$v0|e8s6t~uKRg02NBjCUcLaX4x`ErZMT^3i(`31Nod*O!h~N)9H?oUZ6u&o zbf8cXk=nO_VuK^thhVE7{-;YK_58}Y;5<@_o*#NJZSraX`hG`EKaOg$N5WeHfc7icVek(T~~)WqzBst&V$~Z zYYsg;FK9Z#IEC0cwM?Km?;C6lxH-Sru~CuR$w@TTB^M!?LhXet5c#pt3`ALaI7SG{ z8*kCf^&Mj&np;#T4BGY!i#=%qO|grPF>|)Th0^5C}?W_)H)2LvL4KZ(14q3cuV&6h8hU(g(8`+J$&$C82Z5R zRHxh>>8LS3PDOG^Jko77xq*1EH`qhHm%a6IH#Y}O;uHN=lE~9~kQS7F3cr`rrXuzY zv6U_~YgZ3p4MR07g6H7ya@{TKrYg2{#M+a4ZFQPKY6OVZIjLBxbEejjr6^F|foceY zThHN`&z4-&iQH_1$ZEA&Q>YPJKIU>qD8gHRlP6R0KMfiZXP318a5NvQ43_H|Kh2UAJq@-06;;j^3a8 zy%n*Cqg&CXRt`0b^kso+aBC+NS|Plv9jq=eE%Tz6!S&=+EgV9xG+0L; zIXmpiW^nxyQQKlSq~YNDV!@8m0W9mGMg^3&)E&wJVqkC`+}ELOR&FuSy?Ws*`eVm? zg-n4o=pD>#RkTbRSS;xQ>~NI@2RO(HCxn80i##Hhd|eVl!^70$G&iTA<91QT2&bFt zdtn)`QGitreiO+DBC3qZqk%KU7|rtoNV4LoNrGz9^m9j}RLr4zLjy5r2&>X!zE4do zEqGsfkR^&n2BPtC$aaoMdUDG}kA+AhY#Y{sz_ z$_3XrV^=6wzlzdLK_0gCJm@5fr+%_~2JyDl^m_#szV~Yyl5O8%*e<$#IfPX;@Gg44 zU2F%oQ&H47lx~$>lEi^ZNf6w-KbhZRaX+2lOz>qUPUKy$~t zK2(Egr-wg!R>x^p*w;IDqvc2Y98Hfsa84b@Ivob&G@OWurA+c1t68i0Y- z!9YBAX*f7j)6YxP#k3rp&?UibX>9BU4LuD8CjUi!ni!Rf*qYRtinpiyBwc z(i#)6P29-N2c;+)JI%qx6grxBpJG}eGt9g4!R(HvJw3Yb9^IRxTkn$M2|ku>FUpD! z!|ps}iZK%X_QDwcD&dMWnL78Y6SX>>ZQTDVQ@_h6v*ka9$$zqEe`R(KPuYmoNXs0( zkBjzS{Ke(+!GrUt=avzJx8KgEv$>;2rhb=CX6L(Wj$!hbdy0RaQMT~W%I5oFpcA~0 z!wIKyb^7}9$!xhl4~-?B_I>U<&2ITU_EWg%l!-DCWq=fOhKWMEDDREukagz%&kLW? z_7JIL@ma+YRgN;{mVCL~qM_t|(r?7zvq(5kkTs1>j>pXBYGj?CfB`4Abwc}toY21g z!gvz<1oML*<79Suelk0Ub3z-l?LWi`Z^hS%?UI-3lRxtTXk}w8>t3ZA^Q8W>_9dw6 zr|P-4Kk`ZYF=*z(+HgDHyQJHcn5qcR=DQ#HTK)8`??GV#ROWiyX6bCzS?;g@>;K#J zn`hsFy8gtA*O9zdt8+W;?UOf8uIDuNeRpQRdsf;zzbwl2%Wp`o{MN0nyt})*yGs_| z=ODxVdyuV?L$|Z9yi2NkAC}BH@aWO&cisONAeTO_RFnAugz(BOKdi|HLspRx! z$(3V%<%q%Agn{JHq0+x14BkFsaP1lz+TJ*;)Bo|6cXdi#P(S^2&8`7D7{n>>Zit2+ zdFG<-MeF`V-cwLq>0^_L#Q1A(g2Pp~IoupncVY4t=Q%34a5M)L^lc}%gUI%%mV&dQta=K(aUoGVs zR1C^DjcFJubsso|$ptOe9d>&|HgE`qhB%3X^X3{w5hT^%3Y@!((K}?rQ&uy2@T8LD zueQu(WuNTe5wpeT=X)M;@+tZW1AW)w@`fn{>?Z5clCm3Oacrt7lq*Rk2pkp}(PcQV zvDa$Rf!;Fex$v~s%57PQHAL;|2x%AHx<&&UA+GM-0s@Lg?uhT!j23FPw}KyEa!hk= zTOcc0wALneDv-~W?55Jhc`SU2h-Q1Mf+gs(MeJEtI^-n1cW$*yP=*P9_nMIvh_-Oa z*F*Hl56-Oz+riKq?9fM7QTNWGXZdP0ECW%06hH9m9Xv6)+8Tx^B){`BOV)UboSV01 zwT7~x78W4gJS4a=ym^WOc7wMPSHCY~XD$xt?Pd^J=Y1^j*FY7FE>dk38)QM5wF&D+ zoZ|PgA`-`!9_u$g(L!CYXl=o1e=m-hZ5-0-h;c7SoO57Q?^cPHiNS9`*n^+eZA*h& zV;-81ib7^4a)lFbrP2W&&aSNs&!DE%dGr+pM}sWzgqk5>XsL!@%Nc48debzn^V-tl z{T9EL)|>m90-?uZ6Z?U~(#zhL{t$(`uI>S?EudkQpo7>P!@4GcU5m{Tu>&<9k9l{=IP6v`)9Kw6fWD+Gki zq35^m;Me&2AZd;=fQxws)TT6l+W4{?P(PGOT;C5n8aOaQm?GT(L7M!$4Dg4S8wV?& z9ik$_3uNOMDGmr}U|!#py8j2{HkH@4B>?j5l}6b#ilX74nSs)zJsGHj2O)p{v*y+U**dGtbQl zhfTBE$)CzW0my&DHO<+*+x4T#UeD=nsOU-NjZ-R&%r}RNIhQ|=L!|3!aj5wqAU(d0 ze2JJ>ECwnrS@9CCxl%AwL7d2E#j7=6FAp^$AM-;u_{v~ClAN!A!o5l$2MkP4P82&| zbf<0=Bjo>SjYu-rHk>YoRq~q+aviG$lNFl_kwoHxri#6a(>g^?f~Pb;4Em_eH))yn z=3>8gkz5x$_J!zL8lqZ7SgwgP-*kP;wZw-lIjJhqJXHd%-W*sS28m3uIdq^sn>n}n zEQ+<46#23^c-#XMU8C^MT1*()F7Vz7gGIlP#x+u~v8WWr28m+Wx{;fmzAT5%ObO{=ou3?~o z0n#(uj;2AFV$&UvGv~Xlm|QEdT{+w^)jN8^GQ!75GpzVKqjlI zXQvT;ZS86~oX$Awy`jx!?cu^_<58VdzrUtOS6O9&i72v5#b%OW^Bbdg(L<7Cr;w-uvqajr}Dt2(8gBm zq2}-yoy|S5dGiY`DIfWTy{Sxp4or&x2|eG|4}I( z4;R1u|6j15{-rOV{rr!Q+RvZaiynTzGv1T`W%Ipfz&RKD*5w#avMbf}yBw}l!1fp(CD!L^E=upf*@?ChP}C!*#RU;l4@EQwS{QvvolHJU%*7g|HFS+zk%=f&5dEi&NV_OB693cr(3t4uGuc32_Bw}t@q&% z-+BEapV9VkxM@$ufJ2+Kg)lHq16)owVenV}O2#0UYBa-T3{cnd^d$`F1Lc6$#k`kt zIX7c%3s-8vCj+55T>iiUeux%1&lm#B@VwHF76=Q>>JhWyXO^&E1;sgnTVQc=6nwWx z?Ftc!Gx-25KUfSohnCXe$?pny)qAYHGNQF7 zpo>bM9gwdV$u9m;qtTBJIHR*e!Hn>E2VeY5Z>b*_bh9sOxBgUQ60x!iCX9UC?F9+Tv(yrOI# z2EEo|frgL>qQ|6(F}@|whF0SyUl9K|%3OdXTDhzE>W5t^QsVC8Cow9e&}v=%On0!Qox z%yC~^V+i7gV2vlYK(F=iJ7;9yqu6W_ixsRbs-S_y@04`3LBXV)8#6x;8z!|_>MDLoYH+mi*>0%MsqpDzb3fXv~5J!om7F zf(+#Lrdfj|VbvUBc_!?tyuVp1d{57pM1YGgCzY`h?5L@Aa*V&mJOpmzTHNf_xyIw~ z8#-zR*=awjhI>wD8N@(Q&N+($`Isd!R9qo!3ZB5u>j^c#DE%<3 z=0k@>Kkh*RF4O&02+(nJNDs$;LFLhH0R85Cf%-2<6c4e{S=kU z&hxY;+*$08;ZE;CzBtONC_l#aAu_q3W-Gd$Ssp^lB00r5OjCUw<_ESbR?u~En|Qk+ z!D0;j6tAkuj(`1`I)>~?!mD3$)M3j>eGV~)80<)c|Pr5-4U%X7V<|2GeDoPe}1}$V@bZy*)O*BV#E=DF%M`I-9TafPd$RyBy46mh| z8AbcD=oyxSdc=C$X>U?6@RPmQaHzcB9q78=a~QlqJ%^tMm1}09nm@2lPZ0j~fLKR@$!(!#Whtp!cIC!6W)&-O}4!ol1OjE1= z2Tclwp& zON;uH?%1Id?o{_2;Lkn+*F7B8%)@bAZF0OmL~F=r1eJ!~iOt-zU)L_HO&K}MHTU>O zN(?Q*lvp1-0vtxrunUp9v?F6V?G6nWXVA})B5Mu;?81tnnNDMMO8giPp4SiLVjjv- zd5lL0GyvKCu*S>JAiBNvtgs5y2I{D{y5TAmqm#W+3w#QOEtn^Cy;-su=CI>C!LgV_ zv9lm|QDfpJqkVwdFJ=^xtAFZ zV;=RWPwo#M{m)Hy3>5F&eRp){qDY?Moj>=^pVNAK(ys)^_Pzp!N0Lu{0_0Wlbc$Rj ztaT>){my#JU+2H4@X5TKujHyn437Gh9@=XK5r#*SPkjPp45m}$%5lQr^4ag{bh*N1 z&nEj9lX>#lJ9i$vJTCdqK701>kJQ-7NqfD${@|ti_tCn2^5CUWUzKj98u1Vfp)~r5 z_SKnhowAlGz3Gpi0e?TY&VZj>zjNnhxTk{L0GS>fF&O<++6eEDf#~n)oVWC*KYj-M z{oS{(WodC~GrMbl$gWvJTKpDYR`Ib<>~GtHBpL88*aL9*&~VN6G(wg(w@?1ekJW$L ze~G!l$G`NCPoa(P9`&QQ=u7__nO6QwSx>tEl~G^%bVgj^ijVsrA8!tuIN_5#^ILDh z0ss2#3dSiV(>}S0M#*bArdE0V_1D2bfLwBpqkFeryFY38I=S`68`^Oa-Pm5n@V7rXL_tC`t_FFI5_3L18%Q6N0Lohhfp(6(O?&*%R*X~bR&Q5NnG-06I z!i2$%Ct@(xL!55e?ooA`8sUY{e1^-^sPS0mNpE|;mhcBlOnEtI#oI($L~kYK$r_+9TyI;xO8v%b)gg#J8!QwY7CC}U)|?(S zK6tEg>a$t4UQ3yV&pD|~v6D7)i=-4qpp*tbpx_tDBe=*eFRP>(9v!?u*pj}0LCBPE z%XU6^8whcc2YG3c$rp~F%x-Obd#q%6QxeCpu}0)a*sPVQwP3@Fx8STN{36zdDkbsk z9T6wMyY%zHM4kKbGbGDZAb%ia|B&s+2dQ(>m;FG{XLp^SdPM672b9Dh(w%9hYK}4AqQ#9}S z(z9A=Fz7P2;G-5n&W+{37C5N6XKPiipbsENm8Ex4%sYk>U;02>(V_a=Z->hEt1^_s zKCm1N1KFQUq z6hBzs?jy&{5ytCQ^z#-~)a@)LmZ!nD31Ms~xn@x~#v$7R^SIfExQjzi9v~l!P16-Q z{~ZezxLL6?Pwgyr@wA8k%4#D=wG>8k9ExfKj(GDdz%h~e*j3bWW7tz1So()`!j>APTcSFpD+RDM}(R_JVJ z)e63A^c&ME93eJp1dYX|$C;dO$(`PW1KZLH$>QG9mRr?XOF~)gD+F89x~PjV9B9od z_xgdgbzH?X>|6PgM@!KP9jqOC z<#e4A>bt44hsa1FEmFDf%h0)UPs4VLRpZMZLbyK+=6&m2Neh)8!3767Dshf7L}V)0 zG*bs*I_C(b?KmsjH)*+WozCR4?N% zDA2#1Tp4E3yxfWQL}Z;aR3r@~nmbu(RF=!7UxiuVH9>zn)k5cm!|acPZ?0XxX#4TS zV~v|3F=PSndb&Hg1Dx`GV?|;!Xz(Rdu(K7%Xk$@(3!MCf*-uw6JQz)$a|KZD9A_wp z!8E6NS-u)Wl;ZTjmLC zpSEOB;2y(MKc-I9yU+2gz&u2=S%k`rK6>*}Z%L)fwO|bHs{{KN70TaWJVvk+cz&cK zh1`(Zsud{^96)p3lHCnWu((S$Oe&3h_O<8%O3JTKWK@r!K8PXmx<;!hc%|#ulyQt< zsZo!Vg{NxhwIT;qIte}A2$0cBpqC%0d>Pq8*zP&jWqh4})6_m36j0-Sgbr;GyUjOO#%auCN)*b_-3|4IVd* zvgbx_N|_~dH5FZ?LURLS54~v$PjJL(z&;gyZ^4FSnl>37Y!z;1ooBmJ{OMg6+<^wt ztT9-@o56qLE-d)JaKe#AS?YTrKrsfWqk-d z7hOLXtXk3su#o8-%bG|Vp@y!N+|YJ&r~+-wc(A~|bet?g>j5)7O3e(4ce5p5L2KE< z%wnSZ;Z6J2FScpdA{4T;0giaPs1CftXbeOs$!fMyOQWc9a~iUi;zo$@@@>t?YFAue z4{?n^#(Wu#9hmi;&0i8JVH;P(^0AGP2G@EgdG&A&l$Xc{k**u{_yIwZT-*(|KzWq;Z;)67qe=EoHG?!^i27wm3! z+f$=|FClHhC))XASi3RCF(>=rnBs-z)$D(s1J%eWmz1F#?8T#r^+&=NzsQ332><+_ z|K-0t*+*0Nb?0?AWbfl<7OBmQK&{j-!ms#W&F+b=v$NOEG0=_IS0nvFF_=zjPi8RB z)Ky$91lJTk1w8Ja{QuRMA4YmzIX!do%E$?|ho8Qjvzqk+e!ngMp7(tlvcy33*3|159rU3W1*~2Jw^Q4dN%+--!3Kgty!n{v4*#{gnNd>ZUrqb?fC{ zk@@0_ck+pF*?;hxqqO-%n$(L^_lrqi`WP^3`W`9OJ9jjS zA3V5yGlyMzOc;FoY+;}H#GSl9@LBeAzW0VgM7th$7G8SNiHI?VJ>(|8d=H!MSd+f= zT)GxJ%|6X!D(QumB_&q9ZlsboYm_@fEZ zOkAVGA5G=RpO-IG6m|$qK9=LEP~SzZ83TT*oe0eJv0OYRa99R@g|U2<83yQh`CNhK zitFeYu6im?yyA7$rBMEc$9<1U9A?kYk8P8EeSS`ltFFoSF*CH6J;LZX`l&TMe?dot zUFB()jtJ1*6rQ46;eZgP>DKcF3S%N);lQZ$hJWHQf*MrIG?tFEl{%YM6E1jjER>+U zEaB_TnXfUS$~dUT+NX=j`B;+IDs6|uuJc>Sm)h!0GBQYwk1&VWBv|)7q%0>1H?Cy~ z*jikh(~{iNjd`fjRZxSyGg5$#H}6^2(zv>x$|p-L3tv`X8Ex{eK`}&)zymC8%E*U~ z$qNJlR(Q(8W*$Bi1C%UdaGlK@m{6cJ1|&`)WmL*{wzu zH2LZC^O%+lw0cCPSB6#sk_BWg5LweUHVZ4ChovwQkfOn3T=I`zwd%e>RGRXIn`$yb zI+{5{?30PrkNA;U_EgQuJn%4@5c%t&NryV2-hnnNEr3wx(mLnwTqGKxz88s8@Z^uC zOh^Lcu2BfSP?Xt{h>H!{Mltt(S9|;mbg$#Iz4=fOp(e*uYOspcmbHPzHL> zqtpXXZ*Ce$p=IyrQ3eui-df{Pbv=V|yrJx&B#Bq-4$>b>o~N{OE)2Szbvjm*udyGA zjO&i>ME^O$v1BM<7h+?QUG=UsAJGg!o_R=PP?X{b_YAYzTV(G>qd38ajEoX6Vkus$ zlZiiqQtjDeafomeW2y8teo#xt7;x=DiOMHxOK6n8VtL}Nu;={nfaHhrOO6xro6b_l z4h9Jr1w(S7n3aPXaDp&dWb)!~-8NZJE`pi{AMIHQ)##a@Th7mF?ihy;UWX}7z!77# zGG+^CVTp_y{7(5*{N$n91^x!iOAy&0B$zH~G)o}g(s)d<5tTyV@^c$Kc@uBX2vPG- zLm-Ea4~osxF;8qfBaL->Y4TRU<3RUB6t|OQJPibr^|FrYKw1d>`dXb-jlGf+UQ zLNYKm5_Mzq#`;BaLt?by16^-{^UK2+OP(X-*Ko9^L+=nSpidWWtquh00?8%zs1Y(i zh+O#&9&a|-7>y8Yg^{`53L6{LK_LzdUQ39u4@i=fTv|u*aK9bWChOs-=?_F$RM1*GQ1| zmJxD~MSS>;g9l4A@09}y0)tFFx#u}S6gGbCqdFL|i41Ju0Ih5KKuP4EqdTTByG)J0s<69HjWI5n*?P%6MmT>eG@KoO`Z@{B^`g62A@ivOoAW%;0HhWYwu)+ zp9brV*IxVj*T3-E^kIHNo=^1pePck)-+Jrei=s!=2H$-6_BSCBUgR+D$=T=RH|lzl zZ7lFI^(Nh4(!wQ}PGA!+dsG$IPXk#$*jRbo@=^=PoN`pGj6tC3Ul#_VAfaJTKKD5! zm2bcP7Zu|IE@L3wU(&)QILF`^6%4X1>j%pvj0e?y!|zu6@L

jD^y`f2pqbhvL#1g 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

bTh2W(JZrLZtXbz?olkaJoj+%pf=@hrp+cCUym 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

t1EGRS;mf!r9?RXqjYC=z7A9Xx!Fu zg(PHK`smBL?-mfA#ep>6=Z&vq?Ggl64FbFefVxmH19%+x0ArGqxW=aVm1w@1T4tAQLBiTF^b};hz zZS2*9U{j#2*KDwufgN%(z1c{IVra^oF(96;Y-*KT$D*?73_Z`^rRg9hVXyV*!vl#4 zd!#wNSu1%qD! zFjNR7&3sMXL1&Fsq3oKerMj(E#oYD|OfNCUpV$iq*#Duk~_*{*)N@b z9t25Tln_dAgGw*GNRZ(9li6593^3^xi~`V>0vK#W z(`ae?Ghb+pp@*R-qZb!y#Y44u5(^Gf<*})Do;Un%i7qB(xO+~JgX7k_gd01;10e~C z3lO$`B5!(uduFVf%(Zn(hF;rN>cpV%4KnT?I)@uOqc0JdS=G@8CJ3O&A-K{ZUdC{#00^S)z!3w;!g(oz!1*bMh0=_L_pPYbl!lug*1TVm{ZzHqprj)* zQ0kG4Yf$5!82k7;UNc{jJ)>o)N{{5z5%H8IOi~Mh|8}6ZAfj%&WpU}qC&K5gC231m z32rgv8324I*@(CeFEf4$vw6dl(hB!tFQq4(Um3|LPB1;uHl=h&Lex1%f>&T@prcs= z`?w#dChrIj56_B9A>5^mx-DRhbhRve$!xZU%_iL01IMg)yAifc9d<*p+eSVf%fiM- zTc8A@U}=El2t%Q)x|Zgrxsy;KS5h8B&#rv3X16!ACz2VargG}M;`ZbZ->US{6JMs} z5?V@*p}P3tiSp8;$oaJF70CyU<}B?2y!sz(As4 zW8feml-P@|L05t-)Z8KT$dVrWak<@vjl{rs+3yZDB`#r|mO=X+OvtKQZMxuji95zK zt;%St#nZ1=78#QfnMpvxN?hP2L!4`|XqMHEJscK0Fc5_%OcxC`aA4Ee7 z%!ow4z@ZMiMmK?TVYD^X)To zpo}xEONfVUk$5Z9Udxf@@j|<{xFUJuMIl3Zg#Ej9E9G3i_9MGFaBs&UW=^(vj#f2k zbmhh{PsN6wv!>*=?W8yqWU@fAx}Y;1bDNl56eclUIN24&N*Ad$=JFO2z$AFZAy>!+ zwT1Bg1F}UWqx4Pks7hK?%uOq|>(TGAT*gJe-i^%V%XN=GaX_u_Ohm4(8|~Pb;_T6~ zQ}PT47PHL;(M!66C2c?jV+~;yR(no)G6txNb#+)r!(hM_M%14yxRb4%mK+0t3gi8_ zF@g-Pzm7HQhxOJY8W#`(D~+>VF+{grK%*kE$DMEMnssDl8iP#l$09In#8B8d24uH7 z^f54TqqES3oybvaZZQn3JA+*?yCl=41cV?%Amy^&R~;v~SVp7oA&lsT*uw;8X9Cz1 zdZ`%5o1U#PT37gJ(eRiY0u%z09%b54hOcRKSirfai@OD!?Bc*?#cqLqiXw50?oF9k!?XSF$$vlFgiikc zWWOu#PVgtc#ZM3)n{zn%=kSx=opG||(w}t+qD;`(n76UbpIMs5f_%z`6qBT~%&<7Q zUEO#MRBt}E5Id{!CMT}Voz3kx-~95I|K@MZef!CiCtv>aKmYQ}fBE(w$G?61kDokw z<^6};)%xvkPkyt1QVbHPJbZYgG7OMr!aTnCyNeiaC39zU`{Mg@al+s)o;>-J-}

)HP~ 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

MNeSpv~KbxZge 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 ~P+@-JA94O8glh~$pMMB~YiRLO-k7z&FA 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 kKkM$0~l(13!xQcWC5CZ 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 z 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

*~#q(S@)<%v;Pv_ucv2kgB>od_qo< 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%0DttW!o0I!fpxI^cffQPxfLS?i*Z=m< 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

#_)}%wOZ=6eW;8f|` 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 gSVCGj0!dK3lDZ!DVyKaX}j{ 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

$6n<;!eY~ddTvK?iDLmJdytbzBT~qk3 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

    0op2oNAZfWX299LFu( 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 literal 0 HcmV?d00001 diff --git a/src/Makefile.in b/src/Makefile.in index 76abe8ea50c..0533d9180cf 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -122,7 +122,7 @@ OCL_OBJS = opencl_common.o opencl_autotune.o bt.o bt_hash_type_64.o bt_hash_type OPENCL_PLUGFORMATS_OBJS = @OPENCL_PLUGFORMATS_OBJS@ -ZTEX_OBJS = ztex_descrypt.o ztex_bcrypt.o ztex_sha512crypt.o ztex_drupal7.o +ZTEX_OBJS = ztex_descrypt.o ztex_bcrypt.o ztex_sha512crypt.o ztex_drupal7.o ztex_sha256crypt.o FUZZ_OBJS = fuzz.o diff --git a/src/john.c b/src/john.c index 5e1e96ae2e4..211e0195089 100644 --- a/src/john.c +++ b/src/john.c @@ -163,6 +163,7 @@ extern struct fmt_main fmt_ztex_descrypt; extern struct fmt_main fmt_ztex_bcrypt; extern struct fmt_main fmt_ztex_sha512crypt; extern struct fmt_main fmt_ztex_drupal7; +extern struct fmt_main fmt_ztex_sha256crypt; #endif #include "fmt_externs.h" @@ -368,6 +369,7 @@ static void john_register_all(void) john_register_one(&fmt_ztex_bcrypt); john_register_one(&fmt_ztex_sha512crypt); john_register_one(&fmt_ztex_drupal7); + john_register_one(&fmt_ztex_sha256crypt); #endif john_register_one(&fmt_DES); john_register_one(&fmt_BSDI); diff --git a/src/ztex/fpga-sha256crypt/README.md b/src/ztex/fpga-sha256crypt/README.md new file mode 100644 index 00000000000..617f66a08dd --- /dev/null +++ b/src/ztex/fpga-sha256crypt/README.md @@ -0,0 +1,143 @@ +## Overview + +- sha256crypt for ZTEX 1.15y board allows candidate passwords up to +32 bytes, equipped with on-board mask generator and comparator. +The board computes 600 keys in parallel. + + +## Computing units + +- sha256crypt invokes SHA256 in different ways, sometimes that look +very complex. To accomplish the task, a CPU-based computing unit +was implemented. +- Each unit consists of 3 cores, CPU, memory and I/O subsystem. +The approximate schematic of a computing unit is shown at fig.1. + +``` + --------------+-------------+-------------- + / / / \ + +--------+ +--------+ +--------+ | + | | | | | | | + | SHA256 | | SHA256 | | SHA256 | | + | core | | core | | core | | + | #0 | | #1 | | #2 | | + | | | | | | | + +--------+ +--------+ +--------+ | + ^ ^ ^ | + \ | / | + +----------+----------- | + | | + . . . . . | . . . . . . . . . . . . . . . . . . . . . |. . + | / + | / + +---------------+ ------------- / + | | / \ / + | process_bytes | / "main" \ <------ + | |<--+--| memory | + +---------------+ | \ (16x256b) / <------ + | ^ | \ / \ + +-------+ | / ------------- | + | procb | | / +------------+ + | saved | | / +------------------+ | unit_input | + | state | | / | thread_state(x6) | +------------+ + +-------+ | | +------------------+ ^ + | | | + +-----------+ \ +-----------------------------+ | + | procb_buf | -->| C.P.U. | | + +-----------+ | +-----------------------+ | | + ^ | | integer ops. incl. | | | + \ | | 6 x 16 registers(x16b)| | | + \ | +-----------------------+ | | + ---------| | | + | +----------------------+ | | + | | thread switch (x6) | | | + +--------+ | +----------------------+ | | + | unit | | | instruction pointers | | | + | output |<-------| +----------------------+ | | + | buf | | | instruction memory | | | + +--------+ | +----------------------+ | | + | +-----------------------------+ | + | / + \ / + ---> to arbiter_rx from arbiter_tx +``` + +- SHA256 computations are performed using specialized circuits +("cores"). Each cycle, a core computes one of 64 algorithm rounds. +Additionally 8 cycles it's busy with additions at the end of the block. +Several cycles before a computations is finished and output, +next computation starts loading Initial Values (IVs) and pre-fetching +data from core's input buffer. +- internally cores store result of SHA256, allow to use previously +stored result as IVs for subsequent block. That way, the core +is able to handle input of any length. +- So each core performs 2 blocks in (64+8)*2 = 144 cycles. + +- CPU runs same program in 6 independent hardware threads. +Each thread has 128 bytes of "main" memory (accessible by SHA256 +subsystem), 16 x 16-bit registers. Data movement, integer, +execution flow control operations are available. However there's only +a subset if operations typically implemented in general-purpose CPUs, +enough for the task. +- CPU is heavily integrated with SHA256 subsystem. It has INIT_CTX, +PROCESS_BYTES, FINISH_CTX instructions that are almost equivalent to +init_ctx(), process_bytes(), finish_ctx() from software library. +Each instruction takes 1 cycle to execute. +- SHA256 instructions store instruction data in internal buffer +(procb_buf). A dedicated unit (process_bytes) takes intermediate data, +fetches input data from the memory, creates 16 x 32-bit data blocks +for cores, adds padding and total where necessary. It saves +the state of an unfinished computation, switches to the next core +after each block. +- The program for the CPU is available here. + + +## Design overview + +``` + ------------------+--------+--+--+--------+--------- + / / / / / / \ + +-----------+ +-----------+ +-----------+ | + | | | | X X X | | | + | Computing | | Computing | | Computing | | + | Unit #0 | | Unit #1 | | Unit N | | + | | | | X X X | | | + +-----------+ +-----------+ +-----------+ | + ^ ^ ^ ^ ^ ^ | + | | | | | / | + +---------------+---------+--+--+-------- | + | | + . . . | . . . . . . . . . . . . . . . . . . . . . . . . . .| . + | | + | | + +-----------------+ +----------------+ / + | Arbiter | | Arbiter |<--------- + | (transmit part) |<-------->| (receive part) | + +-----------------+ +----------------+ + ^ | + | +------------+ | +------ + | +---------+ | |<-+->| mode \ + | | cmp. |-->| comparator | | cmp |-- + | | config. | | |---->| ? / \ + | +---------+ +------------+ +------ | + | ^ | + . . . | . . . . .|. . . . . . . . . . . . . . . . . . . . | . + | | Communication framework | + | | / + +-----------+ | / + | candidate | | / + | generator | | / + +-----------+---------+----------------------+ / + | input pkt. handling | output pkt. creation |<----- + +---------------------+----------------------+ + | input FIFO | output FIFO | + +---------------------+----------------------+ + | Prog. clocks | USB I/O | FPGA reset | + +--------------------------------------------+ + +``` +fig.2. Overview, FPGA application + +- Each FPGA has 25 computing units, that's 75 cores, 150 keys are +computed in parallel. + diff --git a/src/ztex/fpga-sha256crypt/fpga-sha256crypt.xise b/src/ztex/fpga-sha256crypt/fpga-sha256crypt.xise new file mode 100644 index 00000000000..235ad1536b1 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/fpga-sha256crypt.xise @@ -0,0 +1,684 @@ + + + +
    + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/src/ztex/fpga-sha256crypt/fpga_editor.png b/src/ztex/fpga-sha256crypt/fpga_editor.png new file mode 100644 index 0000000000000000000000000000000000000000..4c8918ebc3199bdba27bbccce1acf93c25bd9f47 GIT binary patch literal 30260 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

    G zqIn-)>@!sS#bDCVGiz60B?dt>E1llJJ#~S0L2^^p@0f%Fmcm>F7{ZNiJIM);PL3!i zkJ1~)5Snp4nSu2?<&2`|?cYAW&K!LJ%hWdLZn`v%C=y8*VZufX%CMrsJg#V`e2jE| z+$;RfQ=mwUjG~*fPwZA9aG=9-SPT+FmMe~ZaVrn^2vy(G*rLaJb$amn6|2`yn@X;_ z(+28m;E~FtFY&V&tGZc2G9l5UO=mhIriuC7SCd7d9!SHac2=B_60 zIl}3p*cbY?XA4-EW~*PI@3GCs`C9#xmc(289PVu0fGMU)2U~Ca{4}1^Z;((F{4Ef* z&6-j3?t-OQLGLeMxnOV6PEc)NTl=U>JvbEB^=)RbO;S8Um=^ZzEUO-){mW@tcof z%m#EW_-gU6Uc7a8^JFmsN!@g=?Yw-O?0feMMimOs_j=>kL;lQZE&CUm{Ws4ysH+_O zK?8wgN#sR>|8joOoF^Zj0%HY~P*gSIWWIN z?d%F_B4L=o81HiXis>gJhejH%0HrCFNxnL}YkHPmDA>^p3(I^blx-oG5M_lC$Hh8^=dpMe7Dlfm1Y=HX%{+s7kbsXywgNp0xpP*9m3H6K`tgbx5 z%8Agx(t)jy?vY%AUjIfpLSTHBOuRkcA9*(>z49m1r?~mi$1{mZA3>+yz#(^YQY({| zUJ1maNajOd>zU_B&F7OliF6-Qd74u}VNZGNZJ3;S`zm75jmkL|ctG>BDvL)Pa`ljH sO!uGv+gf;fEk*O!iW8~O=vZ&8p&MRIK8IJO*LAT+zB$}@==Amf14{|TApigX literal 0 HcmV?d00001 diff --git a/src/ztex/fpga-sha256crypt/main.vh b/src/ztex/fpga-sha256crypt/main.vh new file mode 100644 index 00000000000..4ea30124838 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/main.vh @@ -0,0 +1,46 @@ +/* + * This software is Copyright (c) 2016-2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// ************************************************************ +// +// ISE Version: 14.5 +// +// Include as Global File in Compile List: main.vh log2.vh +// Set as Top Module: ztex_inouttraffic +// +// ************************************************************ + + +// Parameters for ztex_inouttraffic +`define BITSTREAM_TYPE 16'h256c + +// must be power of 2; actual size for output fifo is 2 bytes less +`define OUTPUT_FIFO_SIZE 4096 + +// Parameters for pkt_comm +`define PKT_COMM_VERSION 2 +`define RANGES_MAX 4 +`define CHAR_BITS 8 +`define PLAINTEXT_LEN 32 + +// outpkt +`define OUTPKT_TYPE_MSB 2 +`define OUTPKT_TYPE_CMP_EQUAL 'b01 +`define OUTPKT_TYPE_PACKET_DONE 'b10 +`define OUTPKT_TYPE_RESULT 'b11 +`define OUTPKT_TYPE_CMP_RESULT 'b100 + +`define RESULT_LEN 32 +//`define OUTPKT_DATA_MAX_LEN (8 + `RESULT_LEN) + +// comparator +`define NUM_HASHES 512 +`define HASH_NUM_MSB `MSB(`NUM_HASHES-1) +`define HASH_COUNT_MSB `MSB(`NUM_HASHES) + diff --git a/src/ztex/fpga-sha256crypt/no-clocks-io.xds b/src/ztex/fpga-sha256crypt/no-clocks-io.xds new file mode 100644 index 00000000000..4e221d7c6a3 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/no-clocks-io.xds @@ -0,0 +1,30 @@ + + + + This Strategy is used for creation of ngc files for "blackbox" modules. + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ztex/fpga-sha256crypt/pkt_comm/inpkt_config.v b/src/ztex/fpga-sha256crypt/pkt_comm/inpkt_config.v new file mode 100644 index 00000000000..8b780d4e24b --- /dev/null +++ b/src/ztex/fpga-sha256crypt/pkt_comm/inpkt_config.v @@ -0,0 +1,63 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +module inpkt_config #( + parameter SUBTYPE1_WIDTH = 32 + )( + input CLK, + input [7:0] din, + input wr_en, pkt_end, + output full, + + output reg [SUBTYPE1_WIDTH-1:0] dout1 = 0, + // unsupported subtype, bad length for this subtype + output reg err = 0 + ); + + assign full = 0; + + // Data length in bytes for subtype 1 + localparam SUBTYPE1_N_BYTES = SUBTYPE1_WIDTH[2:0] == 0 + ? SUBTYPE1_WIDTH / 8 : (SUBTYPE1_WIDTH + 1) / 8; + + reg [`MSB(SUBTYPE1_N_BYTES) :0] cnt = 0; + + localparam STATE_SUBTYPE = 0, + STATE_DATA1 = 1; + + (* FSM_EXTRACT="true" *) + reg [1:0] state = STATE_SUBTYPE; + + always @(posedge CLK) if (~err & wr_en) + case(state) + STATE_SUBTYPE: begin + if (din != 1) + err <= 1; + state <= STATE_DATA1; + end + + // Subtype 1: SUBTYPE1_WIDTH-bit value + STATE_DATA1: if (pkt_end) begin + if (cnt != SUBTYPE1_N_BYTES) + err <= 1; + cnt <= 0; + state <= STATE_SUBTYPE; + end + else begin + dout1 [8*cnt +:8] <= din; + cnt <= cnt + 1'b1; + if (cnt == SUBTYPE1_N_BYTES) + err <= 1; + state <= STATE_DATA1; + end + + endcase + +endmodule diff --git a/src/ztex/fpga-sha256crypt/pkt_comm/inpkt_header.v b/src/ztex/fpga-sha256crypt/pkt_comm/inpkt_header.v new file mode 100644 index 00000000000..c33394d079d --- /dev/null +++ b/src/ztex/fpga-sha256crypt/pkt_comm/inpkt_header.v @@ -0,0 +1,238 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// processes input (from the point of view from FPGA) headers +// of version VERSION. +// packet header is 10 bytes. +// +// struct pkt { +// unsigned char version; +// unsigned char type; +// unsigned short reserved0; +// unsigned char data_len0; +// unsigned char data_len1; +// unsigned char data_len2; // doesn't count header +// unsigned char reserved1; +// unsigned short id; +// unsigned char data[pkt_data_len]; +// }; +// +// assumes PKT_MAX_LEN is no less than 65536 +// packets not aligned to 2-byte word can be padded with 0 +// +// Checksum is PKT_CHECKSUM_LEN bytes long. Words added and inverted. +// Checksum is not included in data length. +// - inserted after packet header +// - after each PKT_CHECKSUM_INTERVAL bytes <-- not implemented +// - after the end of packet +// +// TODO: some improved CRC check +// + +module inpkt_header #( + parameter VERSION = -1, + parameter PKT_MAX_LEN = 65536, + parameter PKT_MAX_TYPE = -1, + parameter PKT_TYPE_MSB = `MSB(PKT_MAX_TYPE), + parameter DISABLE_CHECKSUM = 0 + )( + input CLK, + input [7:0] din, + input wr_en, + + output reg [PKT_TYPE_MSB:0] pkt_type = 0, + output reg [15:0] pkt_id, + output pkt_data, // asserts when it goes packet data + output pkt_end, // asserts when it goes the last byte of data + output reg err_pkt_version = 0, err_pkt_type = 0, err_pkt_len = 0, err_pkt_checksum = 0 + ); + + + localparam PKT_LEN_MSB = `MSB(PKT_MAX_LEN); + + reg [31:0] checksum = 0; + reg [31:0] checksum_tmp = 0; + reg [1:0] checksum_byte_count = 0; + + // flag is set when checksum_tmp contains checksum value from data-in + reg checksum_check_flag = 0; + // flag is set when header is processed, cleared when data starts + reg pkt_header = 1; + + reg [PKT_LEN_MSB:0] pkt_byte_count_max, pkt_byte_count_max_tmp; + reg [PKT_LEN_MSB:0] pkt_byte_count; + + localparam PKT_STATE_VERSION = 1, + PKT_STATE_TYPE = 2, + PKT_STATE_RESERVED0_0 = 3, + PKT_STATE_RESERVED0_1 = 4, + PKT_STATE_LEN0 = 5, + PKT_STATE_LEN1 = 6, + PKT_STATE_LEN2 = 7, + PKT_STATE_RESERVED1 = 8, + PKT_STATE_ID0 = 9, + PKT_STATE_ID1 = 10, + PKT_STATE_DATA = 11, + PKT_STATE_ERROR = 12, + PKT_STATE_CHECKSUM = 13; + + (* FSM_EXTRACT = "true", FSM_ENCODING = "auto" *) + reg [3:0] pkt_state = PKT_STATE_VERSION; + + // Verify checksum regardless of wr_en + always @(posedge CLK) + if (checksum_check_flag) begin + if (~checksum != checksum_tmp & ~DISABLE_CHECKSUM[0]) + err_pkt_checksum <= 1; + end + + always @(posedge CLK) begin + if (err_pkt_checksum) + pkt_state <= PKT_STATE_ERROR; + + if (wr_en) begin + if (pkt_state != PKT_STATE_CHECKSUM & ~(pkt_state == PKT_STATE_VERSION & !din)) begin + + checksum_check_flag <= 0; + + if (checksum_byte_count == 0) begin + checksum_tmp[31:8] <= 0; + if (~checksum_check_flag) + checksum <= checksum + checksum_tmp; + else + checksum <= 0; + end + + checksum_tmp[8*(checksum_byte_count+1)-1 -:8] <= din; + checksum_byte_count <= checksum_byte_count + 1'b1; + end + + case (pkt_state) + PKT_STATE_VERSION: begin + if (din == 0) begin + // input 0 - skip + end + else begin + if (din != VERSION) begin + // wrong packet version + err_pkt_version <= 1; + pkt_state <= PKT_STATE_ERROR; + end + else + pkt_state <= PKT_STATE_TYPE; + end + end + + PKT_STATE_TYPE: begin + pkt_header <= 1; + pkt_byte_count <= 0; + + if (din == 0 || din[PKT_TYPE_MSB:0] > PKT_MAX_TYPE || din[7:PKT_TYPE_MSB+1]) begin + // wrong packet type + err_pkt_type <= 1; + pkt_state <= PKT_STATE_ERROR; + end + else begin + pkt_type <= din[PKT_TYPE_MSB:0]; + pkt_state <= PKT_STATE_RESERVED0_0; + end + end + + PKT_STATE_RESERVED0_0: begin + pkt_state <= PKT_STATE_RESERVED0_1; + end + + PKT_STATE_RESERVED0_1: begin + pkt_state <= PKT_STATE_LEN0; + end + + PKT_STATE_LEN0: begin + //pkt_byte_count_max[7:0] <= din; + pkt_byte_count_max_tmp[7:0] <= din; + pkt_state <= PKT_STATE_LEN1; + end + + PKT_STATE_LEN1: begin + //pkt_byte_count_max[15:8] <= din; + pkt_byte_count_max_tmp[15:8] <= din; + pkt_state <= PKT_STATE_LEN2; + end + + PKT_STATE_LEN2: begin + //pkt_byte_count_max <= { din[PKT_LEN_MSB-16:0], pkt_byte_count_max[15:0] } - 1'b1; + pkt_byte_count_max <= { din[PKT_LEN_MSB-16:0], pkt_byte_count_max_tmp[15:0] } - 1'b1; + + //if ( din[7:PKT_LEN_MSB-16+1] || !(din[PKT_LEN_MSB-16:0] || pkt_byte_count_max[15:0]) ) begin + if ( din[7:PKT_LEN_MSB-16+1] || !(din[PKT_LEN_MSB-16:0] || pkt_byte_count_max_tmp[15:0]) ) begin + // wrong packet length + err_pkt_len <= 1; + pkt_state <= PKT_STATE_ERROR; + end + else begin + pkt_state <= PKT_STATE_RESERVED1; + end + end + + PKT_STATE_RESERVED1: begin + pkt_state <= PKT_STATE_ID0; + end + + PKT_STATE_ID0: begin + pkt_id[7:0] <= din; + pkt_state <= PKT_STATE_ID1; + end + + PKT_STATE_ID1: begin + pkt_id[15:8] <= din; + checksum_byte_count <= 0; + pkt_state <= PKT_STATE_CHECKSUM; + end + + PKT_STATE_DATA: begin + pkt_header <= 0; + if (pkt_byte_count == pkt_byte_count_max) begin + checksum_byte_count <= 0; + pkt_state <= PKT_STATE_CHECKSUM; + end + else + pkt_byte_count <= pkt_byte_count + 1'b1; + end + + PKT_STATE_CHECKSUM: begin + checksum_tmp[8*(checksum_byte_count+1)-1 -:8] <= din; + checksum_byte_count <= checksum_byte_count + 1'b1; + + if (checksum_byte_count == 0) begin + checksum <= checksum + checksum_tmp; + end + else if (checksum_byte_count == 3) begin + checksum_check_flag <= 1; + // Suppose checksum_byte_count is a power of 2 + //checksum_byte_count <= 0; + if (~pkt_header) //pkt_byte_count == pkt_byte_count_max) <-- bug caused error if pkt_len=1 + pkt_state <= PKT_STATE_VERSION; + else + pkt_state <= PKT_STATE_DATA; + end + end + + PKT_STATE_ERROR: begin + end + endcase + + end // wr_en + end + + assign pkt_data = pkt_state == PKT_STATE_DATA; + + assign pkt_end = pkt_data && pkt_byte_count == pkt_byte_count_max; + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/pkt_comm/inpkt_type_init_1b.v b/src/ztex/fpga-sha256crypt/pkt_comm/inpkt_type_init_1b.v new file mode 100644 index 00000000000..65282dc7342 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/pkt_comm/inpkt_type_init_1b.v @@ -0,0 +1,39 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// +// PKT_TYPE_INIT (0x05) typically contain runtime +// initialization data. +// Length of 1 byte is currently supported. +// +module inpkt_type_init_1b( + input CLK, + input [7:0] din, + input wr_en, + output full, + + output reg [7:0] dout = 0, + input rd_en, + output reg empty = 1 + //output reg err = 0 + ); + + assign full = ~empty; + + always @(posedge CLK) begin + if (wr_en & empty) begin + dout <= din; + empty <= 0; + end + if (rd_en & ~empty) + empty <= 1; + end + +endmodule diff --git a/src/ztex/fpga-sha256crypt/pkt_comm/outpkt.v b/src/ztex/fpga-sha256crypt/pkt_comm/outpkt.v new file mode 100644 index 00000000000..67643f6e3f2 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/pkt_comm/outpkt.v @@ -0,0 +1,225 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016-2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// +// Based on outpkt_bcrypt +// +module outpkt #( + parameter [7:0] VERSION = `PKT_COMM_VERSION, + parameter PKT_TYPE_MSB = `OUTPKT_TYPE_MSB, + parameter HASH_NUM_MSB = 15, + parameter SIMULATION = 0 + )( + input CLK, + + output reg full = 1, + input source_not_empty, + // Read from 16-bit wide memory + input [15:0] din, + output reg [`MSB(4 +`RESULT_LEN/2 -1):0] rd_addr = 0, + + input wr_en, + input [PKT_TYPE_MSB:0] pkt_type, + input [15:0] pkt_id, + input [HASH_NUM_MSB:0] hash_num, + input [31:0] num_processed, + + output [15:0] dout, + output pkt_end_out, + input rd_en, + output empty + ); + + + // Type ID appears on host in 'type' field + //localparam [7:0] OUTPKT_TYPE_ID_CMP_EQUAL = 8'hD1; + localparam [7:0] OUTPKT_TYPE_ID_PACKET_DONE = 8'hD2; + localparam [7:0] OUTPKT_TYPE_ID_RESULT = 8'hD3; // result with IDs (w/o hash_num) + localparam [7:0] OUTPKT_TYPE_ID_CMP_RESULT = 8'hD4; // result with IDs & hash_num + + wire [7:0] pkt_type_id = + //pkt_type == `OUTPKT_TYPE_CMP_EQUAL ? OUTPKT_TYPE_ID_CMP_EQUAL : + pkt_type == `OUTPKT_TYPE_PACKET_DONE ? OUTPKT_TYPE_ID_PACKET_DONE : + pkt_type == `OUTPKT_TYPE_RESULT ? OUTPKT_TYPE_ID_RESULT : + pkt_type == `OUTPKT_TYPE_CMP_RESULT ? OUTPKT_TYPE_ID_CMP_RESULT : + 0; + + wire [7:0] pkt_len = // data length in bytes, must be even number + //pkt_type == `OUTPKT_TYPE_CMP_EQUAL ? 8 : + pkt_type == `OUTPKT_TYPE_PACKET_DONE ? 4 : + pkt_type == `OUTPKT_TYPE_RESULT ? 6 + `RESULT_LEN : + pkt_type == `OUTPKT_TYPE_CMP_RESULT ? 8 + `RESULT_LEN : + 0; + + + reg pkt_empty = 1; + reg [15:0] pkt_dout = 0; + reg [2:0] count = 0; + reg pkt_new = 1, pkt_end = 0; + + localparam [3:0] STATE_NONE = 0, + STATE_HEADER = 1, + STATE_NUM_PROC0 = 2, + STATE_NUM_PROC1 = 3, + STATE_WORD_ID = 4, + STATE_GEN_ID0 = 5, + STATE_GEN_ID1 = 6, + STATE_HASH_NUM = 7, + STATE_RESULT = 8, + STATE_RD_PREPARE = 9, + STATE_RD = 10, + STATE_RD_WAIT = 11; + + (* FSM_EXTRACT="true" *) + reg [3:0] state = STATE_NONE; + + always @(posedge CLK) begin + if (~pkt_empty) begin + if (checksum_wr_en) begin + pkt_empty <= 1; + pkt_end <= 0; + end + end + + else // internal register (pkt_dout) is empty + case(state) + STATE_NONE: if (source_not_empty) + state <= STATE_HEADER; + + // Read from Fall-Through type source + STATE_HEADER: begin + pkt_dout <= + // version, type + count == 0 ? { pkt_type_id, VERSION } : + // reserved + count == 1 ? 16'h35b9 : // some arbitrary value for better checksumming + // data length + count == 2 ? { 8'b0, pkt_len } : + count == 3 ? 16'h0 : + // packet id + count == 4 ? pkt_id : + 16'h0; + + pkt_new <= count == 0 ? 1'b1 : 1'b0; + + pkt_empty <= 0; + if (count == 4) begin + count <= 0; + state <= pkt_type == `OUTPKT_TYPE_PACKET_DONE + ? STATE_NUM_PROC0 : STATE_WORD_ID; + end + else + count <= count + 1'b1; + + // 0 - word_id + // 1 - pkt_id + // 2-3 - gen_id + // 4-(4+RESULT_LEN/2) - result + rd_addr <= 0; + end + + STATE_NUM_PROC0: begin + pkt_dout <= num_processed[15:0]; + pkt_empty <= 0; + state <= STATE_NUM_PROC1; + end + + STATE_NUM_PROC1: begin + pkt_dout <= num_processed[31:16]; + pkt_empty <= 0; + pkt_end <= 1; + state <= STATE_RD_PREPARE; + end + + STATE_WORD_ID: begin + pkt_dout <= din; + pkt_empty <= 0; + rd_addr <= 2; + state <= STATE_GEN_ID0; + end + + STATE_GEN_ID0: begin + pkt_dout <= din; + pkt_empty <= 0; + rd_addr <= rd_addr + 1'b1; + state <= STATE_GEN_ID1; + end + + STATE_GEN_ID1: begin + pkt_dout <= din; + pkt_empty <= 0; + rd_addr <= rd_addr + 1'b1; + state <= pkt_type == `OUTPKT_TYPE_CMP_RESULT + ? STATE_HASH_NUM : STATE_RESULT; + end + + STATE_HASH_NUM: begin + pkt_dout <= { {15-HASH_NUM_MSB{1'b0}}, hash_num }; + pkt_empty <= 0; + state <= STATE_RESULT; + end + + STATE_RESULT: begin + pkt_dout <= din; + pkt_empty <= 0; + rd_addr <= rd_addr + 1'b1; + if (rd_addr == 4 +`RESULT_LEN/2 -1) begin + pkt_end <= 1; + state <= STATE_RD_PREPARE; + end + end + + STATE_RD_PREPARE: begin + full <= 0; + state <= STATE_RD; + end + + STATE_RD: if (wr_en) begin + full <= 1; + state <= STATE_RD_WAIT; + end + + STATE_RD_WAIT: + state <= STATE_NONE; + + endcase + end + + + if (SIMULATION) begin + reg [15:0] PKT_count_cmp_eq = 0; + reg [15:0] PKT_count_done = 0; + reg [15:0] PKT_count_result = 0; + reg [15:0] PKT_count_other = 0; + always @(posedge CLK) + if (~full & wr_en) begin + if (pkt_type == `OUTPKT_TYPE_CMP_EQUAL) + PKT_count_cmp_eq <= PKT_count_cmp_eq + 1'b1; + else if (pkt_type == `OUTPKT_TYPE_PACKET_DONE) + PKT_count_done <= PKT_count_done + 1'b1; + else if (pkt_type == `OUTPKT_TYPE_RESULT) + PKT_count_result <= PKT_count_result + 1'b1; + else + PKT_count_other <= PKT_count_other + 1'b1; + end + end + + + assign checksum_wr_en = ~pkt_empty & ~checksum_full; + + outpkt_checksum outpkt_checksum( + .CLK(CLK), + .din(pkt_dout), .pkt_new(pkt_new), .pkt_end(pkt_end), + .wr_en(checksum_wr_en), .full(checksum_full), + + .dout(dout), .pkt_end_out(pkt_end_out), .rd_en(rd_en), .empty(empty) + ); + +endmodule diff --git a/src/ztex/fpga-sha256crypt/pkt_comm/outpkt_checksum.v b/src/ztex/fpga-sha256crypt/pkt_comm/outpkt_checksum.v new file mode 100644 index 00000000000..a79f6b9ec14 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/pkt_comm/outpkt_checksum.v @@ -0,0 +1,148 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +module outpkt_checksum( + input CLK, + input [15:0] din, + input pkt_new, // asserted on 1st word of packet header + input pkt_end, // asserted on last word of packet data + input wr_en, + output full, + output [15:0] dout, + output reg pkt_end_out = 0, + input rd_en, + output empty + ); + + localparam PKT_HEADER_LEN = 10; + + // 4-byte checksum: + // + // after packet header + // after each PKT_CHECKSUM_INTERVAL bytes <-- not implemented + // after the end of packet + localparam PKT_CHECKSUM_INTERVAL = 448; + + // Input register. + reg [15:0] input_r; + reg full_r = 0, pkt_new_r = 0, pkt_end_r = 0; + assign full = full_r; + + always @(posedge CLK) begin + if (wr_en & (~full_r | input_rd_en)) begin + input_r <= din; + pkt_new_r <= pkt_new; + pkt_end_r <= pkt_end; + full_r <= 1; + end + else if (input_rd_en) + full_r <= 0; + end + + // Output register. + reg [15:0] output_r; + assign dout = output_r; + reg empty_r = 1; + assign empty = empty_r; + + always @(posedge CLK) + if (rd_en & ~output_wr_en) + empty_r <= 1; + else if (output_wr_en & ~rd_en) + empty_r <= 0; + + + //(* USE_DSP48="true" *) + reg [31:0] checksum = 0; + reg [15:0] checksum_tmp = 0; + reg checksum_counter = 0; + //reg [`MSB(PKT_CHECKSUM_INTERVAL/2):0] word_counter = 0; + reg [`MSB(PKT_HEADER_LEN/2):0] word_counter = 0; + + localparam STATE_PKT_INPUT = 0, + STATE_CHECKSUM0 = 1, + STATE_CHECKSUM1 = 2, + STATE_CHECKSUM2 = 3; + + (* FSM_EXTRACT="true" *) + reg [1:0] state = STATE_PKT_INPUT; + + reg pkt_state = 0; // 0: packet header, 1: packet data + + // Read from input register. + assign input_rd_en = + full_r & (state == STATE_PKT_INPUT) + & (empty_r | ~empty_r & rd_en); + + // Write into output register. + assign output_wr_en = + (full_r & (state == STATE_PKT_INPUT) + | (state == STATE_CHECKSUM1 | state == STATE_CHECKSUM2)) + & (empty_r | ~empty_r & rd_en); + + always @(posedge CLK) begin + if (state == STATE_PKT_INPUT) begin + if (output_wr_en) begin + + output_r <= input_r; + pkt_end_out <= 0; + + if (pkt_new_r | ~checksum_counter) begin + checksum_tmp <= input_r; + checksum_counter <= 1; + end + else if (checksum_counter) begin + checksum <= checksum + {input_r, checksum_tmp}; + checksum_counter <= 0; + end + + if (~pkt_state & word_counter == PKT_HEADER_LEN/2 - 1 + //| word_counter == PKT_CHECKSUM_INTERVAL/2 - 1 + | pkt_end_r + ) begin + if (~checksum_counter) + state <= STATE_CHECKSUM0; + else + state <= STATE_CHECKSUM1; + end + else + word_counter <= word_counter + 1'b1; + end // input_rd_en + end + + else if (state == STATE_CHECKSUM0) begin + checksum <= checksum + checksum_tmp; + state <= STATE_CHECKSUM1; + end + + else if (state == STATE_CHECKSUM1) begin + if (output_wr_en) begin + output_r <= ~checksum[15:0]; + state <= STATE_CHECKSUM2; + end + end + + else if (state == STATE_CHECKSUM2) begin + if (output_wr_en) begin + output_r <= ~checksum[31:16]; + if (pkt_state) + pkt_end_out <= 1; + checksum_counter <= 0; + checksum <= 0; + + pkt_state <= ~pkt_state; + word_counter <= 0; + state <= STATE_PKT_INPUT; + end + end + end + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/pkt_comm/pkt_comm_test_helper.vh b/src/ztex/fpga-sha256crypt/pkt_comm/pkt_comm_test_helper.vh new file mode 100644 index 00000000000..5e3bd0cf349 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/pkt_comm/pkt_comm_test_helper.vh @@ -0,0 +1,328 @@ +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`ifndef _PKT_COMM_TEST_HELPER_VH_ +`define _PKT_COMM_TEST_HELPER_VH_ + +// *************************************************************** +// +// Helper functions to create pkt_comm packets. +// Operates 8-bit input: +// reg [7:0] din +// reg wr_en +// +// *************************************************************** + + +// *************************************************************** +// +// Packet type PKT_TYPE_CONFIG (0x06) +// +// *************************************************************** +task send_config_packet; + input [7:0] subtype; + input [7:0] len; // data length (excl. subtype & reserved) + input [511:0] data; // 64 max. + begin: doit + integer i; + wr_en <= 1; + din <= 2; #20; din <= 6; #20; // ver, type + din <= 0; #40; // reserved0 + din <= len+2; #20; din <= 0; #20; + din <= 0; #20; + din <= 0; #20; // reserved1 + din <= 8'h00; #40; // IDs in PKT_TYPE_CONFIG not used + din <= 0; #80; // checksum + // body + din <= subtype; #20; + for (i = 0; i < len; i=i+1) begin + din <= data[i*8 +:8]; #20; + end + din <= 0; #20; // reserved + din <= 0; #80; // checksum + wr_en <= 0; + end +endtask + + +// *************************************************************** +// +// Packet type PKT_TYPE_INIT (0x05) +// +// *************************************************************** +task send_init_packet; + input [7:0] data; + begin + wr_en <= 1; + din <= 2; #20; din <= 5; #20; // ver, type + din <= 0; #40; // reserved0 + din <= 1; #20; din <= 0; #20; // len=1 + din <= 0; #20; + din <= 0; #20; // reserved1 + din <= 8'h00; #40; // IDs in PKT_TYPE_INIT not used + din <= 0; #80; // checksum + // body + din <= data; #20; + din <= 0; #80; // checksum + wr_en <= 0; + end +endtask + + +// *************************************************************** +// +// Packet type CMP_CONFIG (0x03) +// +// *************************************************************** +integer cmp_iter_count, cmp_salt_len, cmp_num_hashes; +reg [0:8*16-1] cmp_salt; +reg [0:32*`NUM_HASHES-1] cmp_hashes; + +task cmp_config_create; + input [31:0] iter_count; + input [7:0] salt_len; + input [0:8*16-1] salt; + begin: doit + integer i, salt_ptr; + salt_ptr = 0; + + cmp_iter_count = iter_count; + cmp_salt_len = salt_len; + for (i=0; i < 16; i=i+1) + if (salt[8*i +:8] != 0) begin + cmp_salt[8*salt_ptr +:8] = salt[8*i +:8]; + salt_ptr = salt_ptr + 1; + end + for (i=salt_ptr; i < 16; i=i+1) + cmp_salt[8*i +:8] = 0; + cmp_num_hashes = 0; + end +endtask + + +task cmp_config_add_hash; + input [31:0] hash; + begin + cmp_hashes [cmp_num_hashes*32 +:32] + <= { hash[7:0], hash[15:8], hash[23:16], hash[31:24] }; + cmp_num_hashes = cmp_num_hashes + 1; + end +endtask + + +task send_cmp_config; + begin: doit + integer i, len; + len = 18 + 4 + 2 + 4*cmp_num_hashes + 1; + + wr_en <= 1; + din <= 2; #20; din <= 3; #20; // ver, type + din <= 0; #40; // reserved0 + din <= len[7:0]; #20; din <= len[15:8]; #20; + din <= len[23:16]; #20; + din <= 0; #20; // reserved1 + din <= 8'h00; #40; // IDs in CMP_CONFIG not used + din <= 0; #80; // checksum + // body + din <= 0; #20; // unused (1 byte), must be 0 + din <= cmp_salt_len; #20; // salt_len (1 byte) + for (i=0; i < 16; i=i+1) begin + din <= cmp_salt[i*8 +:8]; #20; + end + din <= cmp_iter_count[7:0]; #20; + din <= cmp_iter_count[15:8]; #20; + din <= cmp_iter_count[23:16]; #20; + din <= cmp_iter_count[31:24]; #20; + + din <= cmp_num_hashes[7:0]; #20; + din <= cmp_num_hashes[15:8]; #20; + for (i=0; i < 4*cmp_num_hashes; i=i+1) begin + din <= cmp_hashes[8*i +:8]; #20; + end + + din <= 8'hCC; #20; + din <= 0; #80; + wr_en <= 0; + end +endtask + + +// *************************************************************** +// +// Packet type WORD_GEN (0x02) +// +// ***************************************************************** +task send_empty_word_gen; + input [15:0] pkt_id; + begin + // WORD_GEN packet (type 2), "empty" (words pass-by) + wr_en <= 1; + din <= 2; #20; din <= 2; #20; din <= 0; #40; + din <= 6; #20; // len[7:0] + din <= 0; #60; + din <= pkt_id[7:0]; #20; din <= pkt_id[15:8]; #20; + din <= 0; #80; // checksum + din <= 0; #20; // num_ranges + din <= 0; #80; din <= 8'hbb; #20; + din <= 0; #80; // checksum + wr_en <= 0; + end +endtask + + +integer word_gen_num_ranges = 0; +integer word_gen_total_num_chars = 0; +reg [8:0] word_gen_range_num_chars [0:3]; +reg [7:0] word_gen_chars [0:1023]; // up to 4 ranges X 256 chars +reg [8:0] num_chars; + +task word_gen_add_range; + input [0 :8*256-1] chars; + begin: doit + integer i, num_chars; + num_chars = 0; + + for (i=0; i < 256; i=i+1) + if (chars[8*i +:8] != 0) begin + word_gen_chars[256*word_gen_num_ranges + num_chars] + = chars[8*i +:8]; + num_chars = num_chars + 1; + word_gen_total_num_chars = word_gen_total_num_chars + 1; + end + + word_gen_range_num_chars [word_gen_num_ranges] = num_chars; + word_gen_num_ranges = word_gen_num_ranges + 1; + end +endtask + +task send_word_gen; + input [15:0] pkt_id; + begin: doit + integer i, j, len; + len = 6 + 2*word_gen_num_ranges + word_gen_total_num_chars; + + wr_en <= 1; + din <= 2; #20; din <= 2; #20; din <= 0; #40; + din <= len[7:0]; #20; din <= len[15:8]; #20; + din <= 0; #40; + din <= pkt_id[7:0]; #20; din <= pkt_id[15:8]; #20; + din <= 0; #80; // checksum + // body + din <= word_gen_num_ranges; #20; + for (i=0; i < word_gen_num_ranges; i=i+1) begin + din <= word_gen_range_num_chars[i]; #20; + din <= 0; #20; + for (j=0; j < word_gen_range_num_chars[i]; j=j+1) begin + din <= word_gen_chars [256*i+j]; #20; + end + end + din <= 0; #80; din <= 8'hbb; #20; + din <= 0; #80; // checksum + wr_en <= 0; + + word_gen_num_ranges = 0; + word_gen_total_num_chars = 0; + end +endtask + + +// *************************************************************** +// +// Packet type WORD_LIST (0x01), TEMPLATE_LIST (0x04) +// +// ***************************************************************** +integer word_list_total_len = 0; +reg [0:2**16-1] word_list_data; // 8 Kbytes +integer is_template_list = 0; + +task word_list_add; + input [0: 8*`PLAINTEXT_LEN-1] word; // up to 64 bytes + begin: doit + integer word_len, cur_off; + word_len = 0; + + for (cur_off=0; cur_off < `PLAINTEXT_LEN; cur_off=cur_off+1) + if (word [8*cur_off +:8] != 0) begin + word_list_data [8*word_list_total_len +:8] + = word [8*cur_off +:8]; + word_len = word_len + 1; + word_list_total_len = word_list_total_len + 1; + end + + // Add trailing '\0' where necessary + if (word_len < `PLAINTEXT_LEN) begin + word_list_data [8*word_list_total_len +:8] = 8'h00; + word_list_total_len = word_list_total_len + 1; + end + end +endtask + +task range_info_add; + input [7:0] pos0, pos1, pos2, pos3; + begin: doit + integer cnt; + cnt = 0; + + wr_en <= 1; + if (pos0 != 0) begin + word_list_data [8*word_list_total_len +:8] = pos0; + word_list_total_len = word_list_total_len + 1; + cnt = cnt + 1; + end + if (pos1 != 0) begin + word_list_data [8*word_list_total_len +:8] = pos1; + word_list_total_len = word_list_total_len + 1; + cnt = cnt + 1; + end + if (pos2 != 0) begin + word_list_data [8*word_list_total_len +:8] = pos2; + word_list_total_len = word_list_total_len + 1; + cnt = cnt + 1; + end + if (pos3 != 0) begin + word_list_data [8*word_list_total_len +:8] = pos3; + word_list_total_len = word_list_total_len + 1; + cnt = cnt + 1; + end + if (cnt < 4) begin + word_list_data [8*word_list_total_len +:8] = 0; + word_list_total_len = word_list_total_len + 1; + end + wr_en <= 0; + is_template_list = 1; + end +endtask + + +task send_word_list; + begin: doit + integer cur_off; + + wr_en <= 1; + // header + din <= 2; #20; + din <= is_template_list ? 4 : 1; #20; + din <= 0; #40; + din <= word_list_total_len[7:0]; #20; // len[7:0] + din <= word_list_total_len[15:8]; #20; // len[15:8] + din <= 0; #40; din <= 8'h07; #40; din <= 0; #80; + // body + for (cur_off=0; cur_off < word_list_total_len; + cur_off=cur_off+1) begin + din <= word_list_data [8*cur_off +:8]; #20; + end + din <= 0; #80; // checksum + wr_en <= 0; + + word_list_total_len = 0; + is_template_list = 0; + end +endtask + + +`endif diff --git a/src/ztex/fpga-sha256crypt/pkt_comm/template_list_b_varlen.v b/src/ztex/fpga-sha256crypt/pkt_comm/template_list_b_varlen.v new file mode 100644 index 00000000000..f2f3f6d1e76 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/pkt_comm/template_list_b_varlen.v @@ -0,0 +1,208 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// ******************************************************************** +// +// template_list_b: stores the word into 8-bit wide memory. +// Variable word length: not padded with zeroes, length is output. +// +// template_list is going to replace word_list. +// +// * Designed for usage with word_gen_b +// +// * Accepts both PKT_TYPE_WORD_LIST and PKT_TYPE_TEMPLATE_LIST +// +// * If word length is WORD_MAX_LEN, then it isn't followed by '\0'; +// shorter words are '\0' terminated. +// +// * In PKT_TYPE_TEMPLATE_LIST, each word is followed by +// RANGE_INFO records: RANGES_MAX records 1 byte each. +// If some RANGE_INFO record is zero, then it was the last range_info +// for the template key. +// +// * Last word is followed by a dummy word with word_list_end asserted +// +// ******************************************************************** + +module template_list_b_varlen #( + parameter WORD_MAX_LEN = -1, + parameter RANGES_MAX = -1, + parameter RANGE_INFO_MSB = 1 + `MSB(WORD_MAX_LEN-1) + )( + input CLK, + + input [7:0] din, + input wr_en, + output reg full = 1, + input inpkt_end, + input is_template_list, + + output reg [RANGES_MAX * (RANGE_INFO_MSB+1) - 1 :0] range_info = 0, + output reg [15:0] word_id = 0, + // It produces a dummy word after the end of the list, + // with word_list_end set + output word_list_end, + + // Output from 8-bit wide word_storage + output [7:0] dout, + input [`MSB(WORD_MAX_LEN-1):0] rd_addr, + output reg [`MSB(WORD_MAX_LEN):0] word_len = 0, + input set_empty, + output empty, + output reg totally_empty = 1, + + output reg err_template = 0, err_word_list_count = 0 + ); + + // Storage for output generated word + reg [`MSB(WORD_MAX_LEN-1):0] storage_wr_addr = 0; + reg storage_set_full = 0; + + reg [`MSB(RANGES_MAX-1):0] range_info_count = 0; + reg word_list_end_r = 0; + + localparam [2:0] STATE_INIT = 0, + STATE_WR_WORD = 1, + //STATE_PAD_ZEROES = 2, + STATE_WR_RANGE_INFO = 3, + STATE_RD_START = 4, + STATE_RD_WAIT = 5, + STATE_RD_LIST_END_START = 6, + STATE_RD_LIST_END_WAIT = 7; + + (* FSM_EXTRACT="true" *) + reg [2:0] state = STATE_INIT; + + always @(posedge CLK) begin + case (state) + STATE_INIT: begin + range_info <= 0; + range_info_count <= 0; + word_list_end_r <= 0; + storage_wr_addr <= 0; + full <= 0; + word_len <= 0; + totally_empty <= 1; + state <= STATE_WR_WORD; + end + + STATE_WR_WORD: if (wr_en) begin + totally_empty <= 0; + if (din != 0) begin + word_len <= word_len + 1'b1; + storage_wr_addr <= storage_wr_addr + 1'b1; + end + + if (din == 0 | storage_wr_addr == WORD_MAX_LEN - 1) begin + // word ends; word of zero length - OK, permitted + if (~is_template_list) begin + full <= 1; + storage_set_full <= 1; + state <= STATE_RD_START; + end + else + state <= STATE_WR_RANGE_INFO; + end + + if (inpkt_end) begin + word_list_end_r <= 1; + if ((din != 0 & storage_wr_addr != WORD_MAX_LEN - 1) + | is_template_list) + // inexpected pkt_end + err_template <= 1; + end + end + + STATE_WR_RANGE_INFO: if (wr_en) begin + range_info_count <= range_info_count + 1'b1; + + if (din == 0) begin + // range_info ends + full <= 1; + storage_set_full <= 1; + state <= STATE_RD_START; + end + else begin + // next item of range_info going + range_info[(range_info_count + 1'b1)*(RANGE_INFO_MSB+1)-1 + -:RANGE_INFO_MSB+1] + <= { din[7], din[RANGE_INFO_MSB-1:0] }; + + if (WORD_MAX_LEN < 64 + && din[6 : RANGE_INFO_MSB >= 6 ? 6 : RANGE_INFO_MSB+1] != 0) + // unexpected content in range_info + err_template <= 1; + + if (range_info_count == RANGES_MAX - 1) begin + full <= 1; + storage_set_full <= 1; + state <= STATE_RD_START; + end + end + + if (inpkt_end) begin + word_list_end_r <= 1; + if (din != 0 && range_info_count != RANGES_MAX - 1) + // inexpected pkt_end + err_template <= 1; + end + end + + STATE_RD_START: begin + storage_set_full <= 0; + state <= STATE_RD_WAIT; + end + + // Wait until the reader reads it + STATE_RD_WAIT: if (~storage_full) begin + if (word_list_end_r) begin + storage_set_full <= 1; + word_id <= 0; + state <= STATE_RD_LIST_END_START; + end + else begin + word_id <= word_id + 1'b1; + state <= STATE_INIT; + end + + if ( ~|(word_id + 1'b1) ) + // word_id_r overflows + err_word_list_count <= 1; + end + + // Write dummy word after the end of the list, + // with word_list_end set + STATE_RD_LIST_END_START: begin + storage_set_full <= 0; + state <= STATE_RD_LIST_END_WAIT; + end + + STATE_RD_LIST_END_WAIT: if (~storage_full) + state <= STATE_INIT; + + endcase + end + + assign storage_wr_en = wr_en & state == STATE_WR_WORD; + + assign word_list_end = state == STATE_RD_LIST_END_WAIT; + + word_storage #( .WORD_MAX_LEN(WORD_MAX_LEN) + ) word_storage( + .CLK(CLK), + .din(din), .wr_addr(storage_wr_addr), .wr_en(storage_wr_en), + .set_full(storage_set_full), .full(storage_full), + + .dout(dout), .rd_addr(rd_addr), .set_empty(set_empty), + .empty(empty) + ); + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/pkt_comm/word_gen_b_varlen.v b/src/ztex/fpga-sha256crypt/pkt_comm/word_gen_b_varlen.v new file mode 100644 index 00000000000..6c7e06c9e82 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/pkt_comm/word_gen_b_varlen.v @@ -0,0 +1,391 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +//********************************************************************** +// +// word_gen_b_varlen: inputs and outputs using 8-bit wide memory. Area optimized. +// Variable word length: not padded with zeroes, length is supplied/output, +// words don't end with '\0'. +// +// Version 2 of word generator. +// +// * Designed to work with template_list. +// * Interface difference is that word_len input is removed, +// range_info input is added. +// * Items removed from configuration: num_words, word_insert_pos +// * Removed mode of operation not based on supplied words. +// +// +// Word Generator +// +// * Words are produced every cycle (as long as reader is not full). +// * Delay when getting a new word from word_list: +// 1 cycle if start_idx's not used, 3 if used. +// * There's a delay when it loads a new configuration for word generator, +// equal to number of bytes in configuration at CLK frequency +// plus few more cycles. +// +//********************************************************************** + +module word_gen_b_varlen #( + parameter RANGES_MAX = -1, + parameter WORD_MAX_LEN = -1, + parameter RANGE_INFO_MSB = 1 + `MSB(WORD_MAX_LEN-1) + )( + input CLK, + + // Word generator configuration. + input [7:0] din, + input [15:0] inpkt_id, + input conf_wr_en, + output reg conf_full = 0, + + // Words are read from byte-wide memory. + input [7:0] word_in, + output reg [`MSB(WORD_MAX_LEN-1):0] word_rd_addr = 0, + input word_empty, + output word_set_empty, + // Each word is supplied with extra data. + input [RANGES_MAX * (RANGE_INFO_MSB+1) - 1 :0] range_info, + input [15:0] word_id, + input [`MSB(WORD_MAX_LEN):0] word_len, + input word_list_end, + + // Output from 8-bit wide word_storage + output [7:0] dout, + input [`MSB(WORD_MAX_LEN-1):0] rd_addr, + input set_empty, + output empty, + + output reg [15:0] pkt_id, + output reg [15:0] word_id_out, + output reg [`MSB(WORD_MAX_LEN):0] word_len_out, + // Number of generated word (resets on each inserted word) + //(* USE_DSP48="true" *) + output reg [31:0] gen_id = 0, + output reg gen_end = 0, // after last candidate from last word in word_list, + // it generates extra dummy candidate with gen_end set + //output word_end, // asserts on last candidate from each word + output reg totally_empty = 1, + + output err_word_gen_conf + ); + + integer k; + + // ******************************************************************* + // + // Configuration (word_gen.h) + // + // struct word_gen_char_range { + // unsigned char num_chars; // number of chars in range + // unsigned char start_idx; // unused + // unsigned char chars[256]; // only num_chars transmitted + // }; + // range must have at least 1 char + // + // struct word_gen { + // unsigned char num_ranges; + // struct word_gen_char_range ranges[RANGES_MAX]; // only num_ranges transmitted + // uint32_t num_generate; // unused + // unsigned char magic; // 0xBB + // }; + // + // example word generator (words pass-by): + // { + // 0, // num_ranges + // 0, // num_generate (unused) + // 0xBB + // }; + // + // ******************************************************************* + + localparam NUM_RANGES_MSB = `MSB(RANGES_MAX-1); + + // Number of the last range (num_ranges - 1) + reg [NUM_RANGES_MSB:0] last_range_num; + reg zero_ranges_active = 1; + + // ******************************************************************* + + (* RAM_STYLE="DISTRIBUTED" *) + reg [7:0] range_counter [RANGES_MAX-1 :0]; // Points at the next char in the range + (* RAM_STYLE="DISTRIBUTED" *) + reg [7:0] range_count_max [RANGES_MAX-1 :0]; // Contains max. value for range_counter + + reg [7:0] cur_range_count = 0; + reg [`MSB(RANGES_MAX-1):0] cur_range = 0; + reg range_carry = 1; + + wire [7:0] range_char; + + // Upper bit indicates range is active + reg [RANGES_MAX * (RANGE_INFO_MSB+1) - 1 :0] range_info_r; + + wire cur_range_active = range_info_r [(cur_range+1)*(RANGE_INFO_MSB+1)-1]; + wire [RANGE_INFO_MSB-1:0] cur_range_pos + = range_info_r [(cur_range+1)*(RANGE_INFO_MSB+1)-2 -:RANGE_INFO_MSB]; + + + wire [7:0] din_minus_1 = din - 1'b1; + + + localparam CONF_NUM_RANGES = 0, + CONF_RANGE_NUM_CHARS = 1, + CONF_RANGE_START_IDX = 2, + CONF_RANGE_CHARS = 3, + CONF_NUM_GENERATE0 = 4, + CONF_NUM_GENERATE1 = 5, + CONF_NUM_GENERATE2 = 6, + CONF_NUM_GENERATE3 = 7, + CONF_MAGIC = 8, + CONF_ERROR = 9, + OP_RESET = 10, + OP_COPY_NEXT_WORD = 11, + OP_NEXT_RANGE_1 = 12, + OP_NEXT_RANGE_2 = 13, + OP_NEXT_RANGE_WR = 14, + OP_WAIT_READ = 15; + + (* FSM_EXTRACT = "true" *) + reg [3:0] state = CONF_NUM_RANGES; + + always @(posedge CLK) begin + case (state) + // + // Generator configuration. + // + CONF_ERROR: begin + end + + CONF_NUM_RANGES: if (conf_wr_en) begin + totally_empty <= 0; + zero_ranges_active <= 1; + pkt_id <= inpkt_id; + last_range_num <= din_minus_1[NUM_RANGES_MSB:0]; + cur_range <= 0; + // Num. of ranges exceeds RANGES_MAX + if (din > RANGES_MAX) + state <= CONF_ERROR; + else if (din[`MSB(RANGES_MAX):0] != 0) + state <= CONF_RANGE_NUM_CHARS; + else + state <= CONF_NUM_GENERATE0; + end + + CONF_RANGE_NUM_CHARS: if (conf_wr_en) begin + zero_ranges_active <= 0; + range_count_max[cur_range] <= din_minus_1; + cur_range_count <= 0; + // Wrong number of chars in range + //if (din == 0) // <-- allow 256 chars + // state <= CONF_ERROR; + //else + state <= CONF_RANGE_START_IDX; + end + + CONF_RANGE_START_IDX: if (conf_wr_en) + state <= CONF_RANGE_CHARS; + + CONF_RANGE_CHARS: if (conf_wr_en) begin + //ranges [{cur_range, cur_range_count}] <= din; + cur_range_count <= cur_range_count + 1'b1; + + if (cur_range_count == range_count_max[cur_range]) begin + cur_range <= cur_range + 1'b1; + + if (cur_range == last_range_num) + state <= CONF_NUM_GENERATE0; + else + state <= CONF_RANGE_NUM_CHARS; + end + end + + CONF_NUM_GENERATE0: if (conf_wr_en) + state <= CONF_NUM_GENERATE1; + + CONF_NUM_GENERATE1: if (conf_wr_en) + state <= CONF_NUM_GENERATE2; + + CONF_NUM_GENERATE2: if (conf_wr_en) + state <= CONF_NUM_GENERATE3; + + CONF_NUM_GENERATE3: if (conf_wr_en) + state <= CONF_MAGIC; + + CONF_MAGIC: if (conf_wr_en) begin + conf_full <= 1; + if (din == 8'hBB) begin + cur_range <= 0; + state <= OP_RESET; + end + else + state <= CONF_ERROR; + end + + // + // Generator operation. + // + OP_RESET: begin // Prepare to process next input word + word_rd_addr <= 0; + storage_wr_addr <= 0; + + range_counter[cur_range] <= 0; + cur_range <= cur_range + 1'b1; + if (cur_range == RANGES_MAX - 1) + state <= OP_COPY_NEXT_WORD; + end + + // Start processing new input word - copy into output word_storage + OP_COPY_NEXT_WORD: if (~word_empty) begin + word_rd_addr <= word_rd_addr + 1'b1; + storage_wr_addr <= storage_wr_addr + 1'b1; + cur_range <= last_range_num; + range_carry <= 1; + + if (word_list_end) + state <= OP_WAIT_READ; + else if (storage_wr_addr + 1'b1 == word_len + | word_len == 0) begin + if (~zero_ranges_active) + state <= OP_NEXT_RANGE_1; + else + state <= OP_WAIT_READ; + end + + range_info_r <= range_info; + + // Also copy IDs + word_id_out <= word_id; + word_len_out <= word_len; + gen_end <= word_list_end; + gen_id <= 0; + end + + OP_NEXT_RANGE_1: begin + cur_range_count <= range_counter[cur_range]; + state <= OP_NEXT_RANGE_2; + end + + OP_NEXT_RANGE_2: begin + if (range_carry) begin // Advance to the next char in the range + if (cur_range_count == range_count_max[cur_range]) begin + range_counter[cur_range] <= 0; + range_carry <= 1; + end + else begin + range_counter[cur_range] <= cur_range_count + 1'b1; + range_carry <= 0; + end + end + storage_wr_addr <= cur_range_pos; + // Get the char from ranges + //range_char <= ranges [{cur_range, cur_range_count}]; + state <= OP_NEXT_RANGE_WR; + end + + OP_NEXT_RANGE_WR: begin // Write word_storage + // Advance pointer to the next range + cur_range <= cur_range - 1'b1; + if (cur_range == 0) + state <= OP_WAIT_READ; + else + state <= OP_NEXT_RANGE_1; + end + + // Wait until the reader reads generated word from the storage + OP_WAIT_READ: if (~storage_full) begin + range_carry <= 1; + gen_id <= gen_id + 1'b1; + + if (gen_end) begin//word_list_end) begin + cur_range <= 0; + conf_full <= 0; + totally_empty <= 1; + state <= CONF_NUM_RANGES; + end + else if (range_carry) begin // Generation for this input word is over + cur_range <= 0; + state <= OP_RESET; + end + else begin + cur_range <= last_range_num; + state <= OP_NEXT_RANGE_1; + end + end + endcase + end + + assign storage_wr_en = state == OP_COPY_NEXT_WORD + | state == OP_NEXT_RANGE_WR; + + assign storage_set_full = (state == OP_NEXT_RANGE_WR & cur_range == 0) + | state == OP_COPY_NEXT_WORD & ~word_empty + & ( (storage_wr_addr + 1'b1 == word_len | word_len == 0) + & zero_ranges_active | word_list_end); + + // set-empty-after-copy + assign word_set_empty = state == OP_COPY_NEXT_WORD & ~word_empty + & (storage_wr_addr + 1'b1 == word_len | word_len == 0 + | word_list_end); + + assign err_word_gen_conf = state == CONF_ERROR; + + + // Storage for range characters + wire ram_wr_en = state == CONF_RANGE_CHARS && conf_wr_en; + + word_gen_ram #( .RANGES_MAX(RANGES_MAX) + ) word_gen_ram( + .CLK(CLK), .din(din), .addr({cur_range, cur_range_count}), + .en(ram_wr_en || state == OP_NEXT_RANGE_2), .wr_en(ram_wr_en), + .dout(range_char) + ); + + + // Storage for output generated word + reg [`MSB(WORD_MAX_LEN-1):0] storage_wr_addr = 0; + + word_storage #( .WORD_MAX_LEN(WORD_MAX_LEN) + ) word_storage( + .CLK(CLK), + .din(state == OP_COPY_NEXT_WORD ? word_in : range_char), + .wr_addr(storage_wr_addr), .wr_en(storage_wr_en), + .set_full(storage_set_full), .full(storage_full), + + .dout(dout), .rd_addr(rd_addr), .set_empty(set_empty), .empty(empty) + ); + +endmodule + + +module word_gen_ram #( + parameter RANGES_MAX = -1 + )( + input CLK, + input [7:0] din, + input [`MSB(RANGES_MAX-1)+1 +7:0] addr, + input en, + input wr_en, + output reg [7:0] dout = 0 + ); + + (* RAM_STYLE="BLOCK" *) + //(* RAM_STYLE="DISTRIBUTED" *) + reg [7:0] ranges [256*RANGES_MAX-1 :0]; + + always @(posedge CLK) if (en) + if (wr_en) + ranges [addr] <= din; + else + dout <= ranges [addr]; + +endmodule + diff --git a/src/ztex/fpga-sha256crypt/pkt_comm/word_storage.v b/src/ztex/fpga-sha256crypt/pkt_comm/word_storage.v new file mode 100644 index 00000000000..f83bab79980 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/pkt_comm/word_storage.v @@ -0,0 +1,64 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// ******************************************************************** +// +// ******************************************************************** + +module word_storage #( + parameter WORD_MAX_LEN = -1 + )( + input CLK, + + input [7:0] din, + input [`MSB(WORD_MAX_LEN-1):0] wr_addr, + input wr_en, + input set_full, + output reg full = 0, + + // Asynchronous read + output [7:0] dout, + input [`MSB(WORD_MAX_LEN-1):0] rd_addr, + //input rd_en, + input set_empty, + output empty + ); + + assign empty = ~full; + + (* RAM_STYLE="DISTRIBUTED" *) + reg [7:0] storage [0: WORD_MAX_LEN-1]; + assign dout = storage [rd_addr]; + + localparam STATE_WR = 0, + STATE_RD = 1; + + (* FSM_EXTRACT="true" *) + reg [1:0] state = STATE_WR; + + always @(posedge CLK) begin + case (state) + STATE_WR: begin + if (wr_en) + storage [wr_addr] <= din; + if (set_full) begin + full <= 1; + state <= STATE_RD; + end + end + + STATE_RD: if (set_empty) begin + full <= 0; + state <= STATE_WR; + end + endcase + end + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt.xds b/src/ztex/fpga-sha256crypt/sha256crypt.xds new file mode 100644 index 00000000000..f8a3d55c88f --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt.xds @@ -0,0 +1,38 @@ + + + + The Default strategy provides a balanced optimization of performance results vs. runtime. The default property values correspond to the default values of each of the underlying implementation tools. This strategy keeps all properties in an unlocked state so that you can modify the values as you wish. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/arbiter_rx.v b/src/ztex/fpga-sha256crypt/sha256crypt/arbiter_rx.v new file mode 100644 index 00000000000..911cb0295f8 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/arbiter_rx.v @@ -0,0 +1,231 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// +// Unit output packet format: +// - header (1 word) +// - IDs (64 bits) +// - SHA256 hash (256 bits) +// +// Total: 32+8 = 40 bytes +// +module arbiter_rx #( + parameter N_UNITS = -1, + parameter UNIT_OUTPUT_WIDTH = -1, + parameter PKT_NUM_WORDS = 20 + )( + input CLK, + input mode_cmp, + // Units + input [UNIT_OUTPUT_WIDTH * N_UNITS -1 :0] unit_dout, + output reg [N_UNITS-1:0] unit_rd_en = 0, + input [N_UNITS-1:0] unit_empty, + // Iteraction with arbiter_tx + input [31:0] num_processed_tx, + input [15:0] pkt_id_tx, + input pkt_tx_done, + output reg pkt_rx_done = 0, + output reg recv_item = 0, // asserts for 1 for every RX item + // Comparator + output reg [31:0] cmp_data, + output reg cmp_start = 0, + input cmp_found, cmp_finished, + input [`HASH_NUM_MSB:0] cmp_hash_num, + // Output + output reg [`OUTPKT_TYPE_MSB:0] outpkt_type, + output [15:0] dout, + input [`MSB(PKT_NUM_WORDS-1):0] rd_addr, + output reg [15:0] pkt_id, + output reg [31:0] num_processed = 0, + output reg [`HASH_NUM_MSB:0] hash_num, + input rd_en, + output reg empty = 1, + + output reg [1:0] err = 0, + output reg [15:0] debug = 0 + ); + + reg [`MSB(N_UNITS-1):0] unit_num = 0; + reg [UNIT_OUTPUT_WIDTH-1 :0] din = 0; + reg unit_empty_r = 1; + always @(posedge CLK) begin + din <= unit_dout [unit_num * UNIT_OUTPUT_WIDTH +:UNIT_OUTPUT_WIDTH]; + unit_empty_r <= unit_empty [unit_num]; + end + + (* RAM_STYLE="DISTRIBUTED" *) + reg [15:0] output_r [0:PKT_NUM_WORDS-1]; + assign dout = output_r [rd_addr]; + + reg rd_tmp_wr_en = 0; + reg [`MSB(PKT_NUM_WORDS-1):0] rd_tmp_wr_addr = 0; + always @(posedge CLK) + if (rd_tmp_wr_en) + output_r [rd_tmp_wr_addr] <= rd_tmp; + + + reg [2:0] rd_count = 0; + reg [15:0] rd_tmp = 0; + reg [`MSB(PKT_NUM_WORDS-1):0] result_word_count = 0; + + reg [31:0] delay_shr = 0; + + localparam STATE_IDLE = 0, + STATE_WAIT = 1, + STATE_WAIT2 = 2, + STATE_READ = 3, + STATE_RX_HEADER = 4, + STATE_RX_DATA = 5, + STATE_RX_END = 6, + STATE_CMP = 7, + STATE_OUTPKT_RESULT = 8, + STATE_PKT_ACCOUNT = 9, + STATE_OUTPKT_PROCESSING_DONE = 10; + + (* FSM_EXTRACT="true" *) + reg [3:0] state = STATE_IDLE; + + always @(posedge CLK) begin + if (rd_tmp_wr_en) + rd_tmp_wr_en <= 0; + + if (cmp_start) + cmp_start <= 0; + + if (pkt_rx_done) + pkt_rx_done <= 0; + + if (recv_item) + recv_item <= 0; + + if (state == STATE_IDLE | delay_shr[31]) + delay_shr <= { delay_shr[30:0], state == STATE_IDLE }; + + case (state) + STATE_IDLE: if (delay_shr[31]) + state <= STATE_WAIT; + + STATE_WAIT: + if (~unit_empty_r)// [unit_num]) + state <= STATE_READ; + else begin + unit_num <= unit_num == N_UNITS-1 + ? {`MSB(N_UNITS-1)+1{1'b0}} : unit_num + 1'b1; + state <= STATE_WAIT2; + end + + STATE_WAIT2: + state <= STATE_WAIT; + + STATE_READ: begin + recv_item <= 1; + unit_rd_en [unit_num] <= 1; + state <= STATE_RX_HEADER; + end + + STATE_RX_HEADER: begin + unit_rd_en <= 0; + result_word_count <= 0; + if (din != 0) begin + if (din != {UNIT_OUTPUT_WIDTH{1'b1}}) begin + err[0] <= 1; + debug [unit_num] <= 1; + end + else + state <= STATE_RX_DATA; + end + end + + // Collect PKT_NUM_WORDS words X 16 bit in output_r + STATE_RX_DATA: begin + rd_tmp [rd_count * UNIT_OUTPUT_WIDTH +:UNIT_OUTPUT_WIDTH] + <= din; + rd_count <= rd_count + 1'b1; + if (rd_count == (16 / UNIT_OUTPUT_WIDTH) -1) begin + rd_tmp_wr_en <= 1; + rd_tmp_wr_addr <= result_word_count; + result_word_count <= result_word_count + 1'b1; + if (result_word_count == PKT_NUM_WORDS-1) + state <= STATE_RX_END; + end + + // 2nd 16-bit word: pkt_id + if (result_word_count == 2 & rd_count == 0) + pkt_id <= rd_tmp; + + // externalize comparator data, start comparison + // before all the data received from a computing unit + if (result_word_count == 5 & rd_count == 0) + cmp_data[15:0] <= rd_tmp; + if (result_word_count == 6 & rd_count == 0) begin + cmp_data[31:16] <= rd_tmp; + cmp_start <= 1; + end + end + + STATE_RX_END: begin + outpkt_type <= `OUTPKT_TYPE_RESULT; + if (din != 0) begin + err[1] <= 1; + debug [unit_num] <= 1; + end + else if (mode_cmp) + state <= STATE_CMP; + else begin + empty <= 0; + state <= STATE_OUTPKT_RESULT; + end + end + + STATE_CMP: begin + if (cmp_found) begin + outpkt_type <= `OUTPKT_TYPE_CMP_RESULT; + hash_num <= cmp_hash_num; + empty <= 0; + state <= STATE_OUTPKT_RESULT; + end + else if (cmp_finished) + state <= STATE_PKT_ACCOUNT; + end + + // output PKT_RESULT or PKT_CMP_RESULT + STATE_OUTPKT_RESULT: if (rd_en) begin + empty <= 1; + if (mode_cmp) + state <= STATE_PKT_ACCOUNT; + else + state <= STATE_WAIT; + end + + STATE_PKT_ACCOUNT: begin + outpkt_type <= `OUTPKT_TYPE_PACKET_DONE; + num_processed <= num_processed + 1'b1; + pkt_id <= pkt_id_tx; + if (num_processed_tx == num_processed + 1'b1 + & pkt_tx_done) begin + empty <= 0; + pkt_rx_done <= 1; + state <= STATE_OUTPKT_PROCESSING_DONE; + end + else + state <= STATE_WAIT; + end + + // output PKT_PROCESSING_DONE + STATE_OUTPKT_PROCESSING_DONE: if (rd_en) begin + empty <= 1; + num_processed <= 0; + state <= STATE_WAIT; + end + endcase + end + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/arbiter_tx.v b/src/ztex/fpga-sha256crypt/sha256crypt/arbiter_tx.v new file mode 100644 index 00000000000..a15ea449583 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/arbiter_tx.v @@ -0,0 +1,392 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// +// Tasks for Arbiter, transmit part: +// +// - Gather up necessary data, create data packets for computing units; +// - Transmit data to units ready for computing; +// - Operate mostly at PKT_COMM frequency, send at CORE frequency. +// - Account number of candidates transmitted, handle changes +// in comparator configuration etc. +// +// Packet content is as follows (everything's LE): +// - cnt (number of rounds) - 32 bit +// - salt_len - 32 bit +// - salt data - 16 bytes (2x64 bits), regardless of salt_len +// - IDs - 64 bit +// - key_len - 32 bit +// - unused - 32 bit +// - key data (rounded up to 32 bits), variable size +// +module arbiter_tx #( + parameter N_UNITS = 1, + parameter WORD_MAX_LEN = 64, // in bytes + parameter PKT_LEN = WORD_MAX_LEN + 40 + )( + input CLK, CORE_CLK, + // Turn off comparator mode (mode_cmp=0): + // - next CMP_CONFIG goes on immediately while candidates + // associated with the previous CMP_CONFIG are still + // being processed; + // - don't count number of candidates + input mode_cmp, + // Input from word_gen + input [31:0] gen_id, + input [15:0] word_id, pkt_id, + input gen_end, + input [`MSB(WORD_MAX_LEN):0] word_len, + // Read from word_gen.word_storage + input [7:0] din, + output reg [`MSB(WORD_MAX_LEN-1):0] word_gen_rd_addr = 0, + output word_set_empty, + input word_empty, src_totally_empty, + // From cmp_config + input new_cmp_config, + output cmp_config_applied, + output reg [4:0] cmp_config_addr = 0, + input [7:0] cmp_config_data, + // From initialization packet (PKT_TYPE_INIT) + input [7:0] init_din, + input init_empty, + output init_rd_en, + input [N_UNITS-1:0] unit_tx_mask, + + // Units (CORE_CLK) + output reg [7:0] unit_in = 0, // broadcast + output reg unit_in_ctrl = 0, // broadcast + output reg bcast_en = 0, + output reg [N_UNITS-1:0] unit_in_wr_en = 0, + input [N_UNITS-1:0] unit_in_afull, unit_in_ready, + + // Iteraction with arbiter_rx + output reg [31:0] num_processed_tx = 0, + output reg [15:0] pkt_id_tx, + output reg pkt_tx_done = 0, + input pkt_rx_done, + input recv_item, + + output idle, + output reg err = 0 + ); + + reg cmp_configured = 0; + + + // *************************************************** + localparam STATE_IN_IDLE = 0, + STATE_IN_PROCESS_WORDS = 1, + STATE_IN_WAIT_TX_IDLE = 2, + STATE_IN_TX_COMPLETE_WAIT = 3, + STATE_IN_WAIT_RX_DONE = 4, + STATE_IN_CMP_CONFIG = 5, + STATE_IN_DELAY1 = 6, + STATE_IN_DELAY2 = 7, + STATE_IN_PKT_INIT = 8, + STATE_IN_START_CLK_GLBL = 9; + + (* FSM_EXTRACT="true" *) + reg [3:0] state_in = STATE_IN_IDLE; + + always @(posedge CLK) begin + case (state_in) + STATE_IN_IDLE: begin + /* + if (~word_empty) begin + if (~idle) + state_in <= STATE_IN_PROCESS_WORDS; + else + state_in <= STATE_IN_START_CLK_GLBL; + end + */ + if (~word_empty) + state_in <= STATE_IN_PROCESS_WORDS; + + // loose checks; expecting init packet after + // fpga startup; transmitter must be idle + /* + if (~init_empty & src_totally_empty) begin + if (~idle) + state_in <= STATE_IN_PKT_INIT; + else + state_in <= STATE_IN_START_CLK_GLBL; + end + */ + if (~init_empty & src_totally_empty) + state_in <= STATE_IN_PKT_INIT; + + // New "comparator configuration" (incl. salt data). + // It has to wait until it finishes processing of words + // associated with the previous comparator configuration. + if (new_cmp_config & src_totally_empty) + state_in <= STATE_IN_CMP_CONFIG; + end + + STATE_IN_PKT_INIT: + state_in <= STATE_IN_IDLE; + + STATE_IN_START_CLK_GLBL: if (start_clk_glbl_delay) begin + if (~word_empty) + state_in <= STATE_IN_PROCESS_WORDS; + else + state_in <= STATE_IN_PKT_INIT; + end + + STATE_IN_PROCESS_WORDS: if (~word_empty) begin + if (~cmp_configured) + err <= 1; + else if (gen_end) begin + pkt_id_tx <= pkt_id; + if (mode_cmp) begin + pkt_tx_done <= 1; + state_in <= STATE_IN_WAIT_RX_DONE; + end + else + state_in <= STATE_IN_IDLE; + end + else begin + num_processed_tx <= num_processed_tx + 1'b1; + state_in <= STATE_IN_WAIT_TX_IDLE; + end + end + + // Wait for transmitter part to be idle + STATE_IN_WAIT_TX_IDLE: if (tx_idle_sync) + state_in <= STATE_IN_DELAY1; + + STATE_IN_DELAY1: + state_in <= STATE_IN_TX_COMPLETE_WAIT; + + // Wait until the transmission is complete + STATE_IN_TX_COMPLETE_WAIT: if (tx_completed_sync) + state_in <= STATE_IN_DELAY2; + + STATE_IN_DELAY2: + state_in <= STATE_IN_PROCESS_WORDS; + + // All words in a packet were processed by the receive arbiter. + STATE_IN_WAIT_RX_DONE: if (pkt_rx_done) begin + pkt_tx_done <= 0; + num_processed_tx <= 0; + state_in <= STATE_IN_IDLE; + end + + STATE_IN_CMP_CONFIG: begin + cmp_configured <= 1; + state_in <= STATE_IN_IDLE; + end + endcase + end + + assign word_set_empty = + state_in == STATE_IN_TX_COMPLETE_WAIT & tx_completed_sync + | state_in == STATE_IN_PROCESS_WORDS & ~word_empty & gen_end; + + sync_pulse sync_tx_ready( .wr_clk(CLK), + .sig(state_in == STATE_IN_WAIT_TX_IDLE & tx_idle_sync), + .busy(), .rd_clk(CORE_CLK), .out(tx_ready_sync) ); + + assign cmp_config_applied = state_in == STATE_IN_CMP_CONFIG; + + assign init_rd_en = state_in == STATE_IN_PKT_INIT; + + sync_pulse sync_pkt_init( .wr_clk(CLK), + .sig(state_in == STATE_IN_PKT_INIT), + .busy(), .rd_clk(CORE_CLK), .out(pkt_init_sync) ); + + + localparam TOTAL_IN_PROCESSING = N_UNITS * (6 + 16) + 1; + reg [`MSB(TOTAL_IN_PROCESSING-1) :0] total_in_processing = 0; + always @(posedge CLK) + if (state_in == STATE_IN_PROCESS_WORDS & ~word_empty & ~gen_end) begin + if (~recv_item) + total_in_processing <= total_in_processing + 1'b1; + end + else if (recv_item) + total_in_processing <= total_in_processing - 1'b1; + + delay #( .NBITS(10) ) delay_start_clk_glbl( + .CLK(CLK), .in(state_in == STATE_IN_START_CLK_GLBL), + .out(start_clk_glbl_delay) ); + + assign idle = state_in == STATE_IN_IDLE & total_in_processing == 0 + | state_in == STATE_IN_CMP_CONFIG; + + + // *************************************************** + reg [`MSB(N_UNITS-1):0] unit_num = 0; + reg afull = 1, ready = 0; + reg unit_tx_mask_r = 0; + always @(posedge CORE_CLK) begin + afull <= unit_in_afull [unit_num]; + ready <= unit_in_ready [unit_num]; + unit_tx_mask_r <= unit_tx_mask [unit_num]; + end + + reg [2:0] cnt = 0; + wire [63:0] ids = { gen_id, pkt_id, word_id }; + + wire [`MSB(WORD_MAX_LEN-1):0] word_len_minus1 = word_len - 1'b1; + reg [`MSB(WORD_MAX_LEN-1):0] word_gen_last_rd_addr; + + + localparam STATE_IDLE = 0, + STATE_SEARCH1 = 1, + STATE_SEARCH2 = 2, + //STATE_READY = 3, + STATE_TX1 = 4, + STATE_TX2 = 5, + STATE_TX3 = 6, + STATE_TX4 = 7, + STATE_TX5 = 8, + STATE_TX6 = 9, + STATE_TX_END = 10, + STATE_TX_PKT_INIT1 = 11, + STATE_TX_PKT_INIT2 = 12, + STATE_TX_PKT_INIT3 = 13; + + (* FSM_EXTRACT="true" *) + reg [3:0] state = STATE_IDLE; + + always @(posedge CORE_CLK) begin + case (state) + STATE_IDLE: begin + bcast_en <= 0; + if (pkt_init_sync) + state <= STATE_TX_PKT_INIT1; + else if (tx_ready_sync) // ready for transmit + state <= STATE_SEARCH1; + end + + STATE_SEARCH1: + if (~ready | unit_tx_mask_r) begin + unit_num <= unit_num == N_UNITS-1 + ? {`MSB(N_UNITS-1)+1{1'b0}} : unit_num + 1'b1; + state <= STATE_SEARCH2; + end + else + state <= STATE_TX1; + + STATE_SEARCH2: + state <= STATE_SEARCH1; + + STATE_TX1: begin // Start transmission + bcast_en <= 1; + unit_in <= 0; // packet header (1 byte). + unit_in_wr_en [unit_num] <= 1; + unit_in_ctrl <= 1; + cmp_config_addr <= 0; + state <= STATE_TX2; + end + + STATE_TX2: begin // Send cnt, salt_len, salt (24 bytes) + unit_in <= cmp_config_data; + unit_in_ctrl <= 0; + if (~afull) begin + unit_in_wr_en [unit_num] <= 1; + cmp_config_addr <= cmp_config_addr + 1'b1; + if (cmp_config_addr == 23) + state <= STATE_TX3; + end + else + unit_in_wr_en [unit_num] <= 0; + end + + STATE_TX3: begin // Send IDs (8 bytes) + unit_in <= ids [cnt*8 +:8]; + if (~afull) begin + unit_in_wr_en [unit_num] <= 1; + cnt <= cnt + 1'b1; + if (cnt == 7) + state <= STATE_TX4; + end + else + unit_in_wr_en [unit_num] <= 0; + end + + STATE_TX4: begin // Send key_len (1 byte) + unit_in <= { {7-`MSB(WORD_MAX_LEN){1'b0}}, word_len }; + if (~afull) begin + unit_in_wr_en [unit_num] <= 1; + cnt <= cnt + 1'b1; + state <= STATE_TX5; + end + else + unit_in_wr_en [unit_num] <= 0; + + word_gen_rd_addr <= 0; + word_gen_last_rd_addr + <= { word_len_minus1 [`MSB(WORD_MAX_LEN-1):2], 2'b11 }; + end + + STATE_TX5: begin // 7 bytes - zeroed + unit_in <= 0; + if (~afull) begin + unit_in_wr_en [unit_num] <= 1; + cnt <= cnt + 1'b1; + if (cnt == 7) + state <= STATE_TX6; + end + else + unit_in_wr_en [unit_num] <= 0; + end + + STATE_TX6: begin // key - rounded up to 32 bits + unit_in <= din; + if (~afull) begin + unit_in_wr_en [unit_num] <= 1; + word_gen_rd_addr <= word_gen_rd_addr + 1'b1; + if (word_gen_rd_addr == word_gen_last_rd_addr) begin + unit_in_ctrl <= 1; + state <= STATE_TX_END; + end + end + else + unit_in_wr_en [unit_num] <= 0; + end + + STATE_TX_END: begin + unit_in_wr_en [unit_num] <= 0; + unit_in_ctrl <= 0; + unit_num <= unit_num == N_UNITS-1 + ? {`MSB(N_UNITS-1)+1{1'b0}} : unit_num + 1'b1; + state <= STATE_IDLE; + end + + + // Broadcast transmission of initialization packet + STATE_TX_PKT_INIT1: begin + bcast_en <= 1; + unit_in <= { init_din[4:0], 3'b001 }; + unit_in_wr_en <= {N_UNITS{1'b1}}; + unit_in_ctrl <= 1; + state <= STATE_TX_PKT_INIT2; + end + + STATE_TX_PKT_INIT2: begin + state <= STATE_TX_PKT_INIT3; + end + + STATE_TX_PKT_INIT3: begin + unit_in_wr_en <= {N_UNITS{1'b0}}; + unit_in_ctrl <= 0; + state <= STATE_IDLE; + end + endcase + end + + sync_sig sync_tx_idle(.sig(state == STATE_IDLE), .clk(CLK), + .out(tx_idle_sync) ); + + sync_pulse sync_tx_completed( .wr_clk(CORE_CLK), + .sig(state == STATE_TX_END), .busy(), + .rd_clk(CLK), .out(tx_completed_sync) ); + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/bcast_net.v b/src/ztex/fpga-sha256crypt/sha256crypt/bcast_net.v new file mode 100644 index 00000000000..8fca01b84fe --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/bcast_net.v @@ -0,0 +1,55 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// +// Network for broadcast signals +// +module bcast_net #( + parameter BCAST_WIDTH = -1, + parameter N_NODES = -1, + parameter [8*N_NODES-1 :0] NODES_CONF = 0 + )( + input CLK, + input en, + // entry to the network + input [BCAST_WIDTH-1 :0] in, + // output from nodes + output [N_NODES*BCAST_WIDTH-1 :0] out + ); + + // Node #0 is the entry to the network (unregistered) + assign out[0 +:BCAST_WIDTH] = in; + + wire [N_NODES-1:0] in_en; + assign in_en[0] = en; + + genvar i; + generate + for (i=1; i < N_NODES; i=i+1) begin:node + + localparam UPPER_NODE = NODES_CONF[8*i +:8]; + + (* SHREG_EXTRACT="no", EQUIVALENT_REGISTER_REMOVAL="no" *) + reg [1 + BCAST_WIDTH-1 :0] r; // +1 for 'en' + assign out [i*BCAST_WIDTH +:BCAST_WIDTH] = r [BCAST_WIDTH-1 :0]; + assign in_en[i] = r[BCAST_WIDTH]; + + always @(posedge CLK) begin + r[BCAST_WIDTH] <= in_en[UPPER_NODE]; + if (in_en[UPPER_NODE]) + r[BCAST_WIDTH-1 :0] + <= out [UPPER_NODE*BCAST_WIDTH +:BCAST_WIDTH]; + end + + end + endgenerate + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/comparator.v b/src/ztex/fpga-sha256crypt/sha256crypt/comparator.v new file mode 100644 index 00000000000..1d1af0d89b4 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/comparator.v @@ -0,0 +1,95 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + + +module comparator( + input CLK, + + // Input from cmp_config + input [7:0] din, + input wr_en, + input [`HASH_NUM_MSB+2:0] wr_addr, + input [`HASH_COUNT_MSB:0] hash_count, + + // Iteraction with arbiter_rx (comparsion) + input [31:0] cmp_data, + input start, + output reg found = 0, finished = 0, + output reg [`HASH_NUM_MSB:0] hash_num = 0 + ); + + + // ************************************************** + // + // Comparator's memory. + // Input is 8-bit, output is 32-bit. + // + // ************************************************** + localparam DEPTH = 512; + + reg [`MSB(DEPTH):0] rd_addr = 0; + wire [31:0] mem_dout; + + asymm_bram_min_wr #( .minWIDTH(), .RATIO(4), .maxDEPTH(DEPTH) + ) mem( + .wr_clk(CLK), .din(din), .wr_en(wr_en), .wr_addr(wr_addr), + .rd_clk(CLK), .dout(mem_dout), .rd_en(rd_en), + .rd_addr(rd_addr[`MSB(DEPTH-1):0]) + ); + + + // ************************************************** + // + // Comparator's function. + // It iterates the list linearily. + // + // ************************************************** + localparam STATE_IDLE = 0, + STATE_START = 1, + STATE_COMPARE = 2; + + (* FSM_EXTRACT="true" *) + reg [1:0] state = STATE_IDLE; + + always @(posedge CLK) begin + case (state) + STATE_IDLE: if (start) begin + found <= 0; + finished <= 0; + rd_addr <= 0; + state <= STATE_START; + end + + STATE_START: begin + hash_num <= 0; + state <= STATE_COMPARE; + end + + STATE_COMPARE: begin + rd_addr <= rd_addr + 1'b1; + if (rd_addr == hash_count) begin + finished <= 1; + state <= STATE_IDLE; + end + + if (mem_dout == cmp_data) begin + found <= 1; + state <= STATE_IDLE; + end + else + hash_num <= rd_addr[`HASH_NUM_MSB:0]; + end + endcase + end + + assign rd_en = state != STATE_IDLE; + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/cpu/cpu.v b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/cpu.v new file mode 100644 index 00000000000..b3ea1dc4531 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/cpu.v @@ -0,0 +1,601 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + + +module cpu #( + parameter WIDTH = 16, + parameter N_CORES = 3, + parameter N_THREADS = 2 * N_CORES, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, + input [`ENTRY_PT_MSB:0] entry_pt_curr, + // thread_state (ts) + output [N_THREADS_MSB :0] ts_rd_num, ts_wr_num, // Thread # + output reg ts_wr_en = 0, + output reg [`THREAD_STATE_MSB :0] ts_wr, + input [`THREAD_STATE_MSB :0] ts_rd, + + // comp_buf & procb_buf + output reg comp_wr_en = 0, procb_wr_en = 0, + output reg [N_THREADS_MSB :0] comp_procb_wr_thread_num, + input [`PROCB_A_WIDTH-1 :0] procb_wr_cnt, + output reg [`COMP_DATA1_MSB + `COMP_DATA2_MSB+1 :0] comp_dout, + output reg [`PROCB_D_WIDTH-1 :0] procb_dout, + + // input from the memory + output reg mem_rd_request = 0, + output reg [`MEM_TOTAL_MSB :0] mem_rd_addr, + input mem_rd_valid, + input [2*WIDTH-1:0] mem_din, + + // unit_output_buf + output [15:0] uob_dout, + output uob_wr_en, uob_set_input_complete, + output [`UOB_ADDR_MSB :0] uob_wr_addr, + input uob_ready, uob_full, + output err + ); + + reg z; + + wire INVALIDATE_eqn, INSTR_WAIT_eqn; + reg EXECUTED = 0; + reg NEXT_THREAD = 0; + reg INSTR_WAIT = 0; + reg JUMP = 0; + reg [`IADDR_LEN-1 :0] jump_addr; + + + // Thread State Changed flag. + // A thread runs only in WR_RDY state, when thread_state + // changes it has to switch current thread (that takes 4 cycles). + // + // The feature allows it to continue running until JMP + // or until EXEC_OPT_TS_WR_RDY instruction (that requires WR_RDY state). + // + reg ts_changed = 0; + always @(posedge CLK) + if (thread_almost_switched) + ts_changed <= 0; + else if (thread_state_change) + ts_changed <= 1; + + + // ***************************************************************** + // + // Instruction Execution + // - the instruction right out from memory is available here. + // + // ***************************************************************** + wire [N_THREADS_MSB :0] thread_num; + + wire [`N_STAGES-1:0] stage_allow; + //wire STAGE_INSTR_AVAIL = stage_allow[]; + wire STAGE_RD0 = stage_allow[1]; + wire STAGE_RD1 = stage_allow[2]; + wire STAGE_EXEC = stage_allow[3]; + + wire [`FIELD_A_LEN-1 :0] field_a_in; + wire [`EXEC_OPT_LEN-1: 0] exec_opt_in; + wire [`PARTIAL_INSTR_LEN-1 :0] partial_instruction; + + instruction #( .N_CORES(N_CORES) + ) instruction( + .CLK(CLK), + .entry_pt_curr(entry_pt_curr), + .ts_rd_num(ts_rd_num), .ts_rd(ts_rd), + .thread_num(thread_num), + // Asserts for 1 cycle at STAGE_RD1 + .thread_almost_switched(thread_almost_switched), + .instruction({ field_a_in, exec_opt_in, partial_instruction }), + .INVALIDATE(INVALIDATE_eqn), + .INSTR_WAIT(INSTR_WAIT_eqn | INSTR_WAIT), + .NEXT_THREAD(NEXT_THREAD), .EXECUTED(EXECUTED), + .JUMP(JUMP), .jump_addr(jump_addr), + .stage_allow(stage_allow), + .err(err), + // dummy 2nd port + .wr_en_dummy(1'b0), .wr_addr_dummy(1'b0) + ); + + assign ts_wr_num = thread_num; + + wire op_type_use_reg0 + = `OP_TYPE_USE_REG(partial_instruction [`OP_CODE_LEN-1 :0]); + + + // ***************************************************************** + // + // Input from the memory + // + // ***************************************************************** + reg mem_rd_valid_r = 0, mem_wr_lower = 0; + +`ifdef CPU_MV_R_MEM_2X + // support for MV_R_MEM_2X + reg [2*WIDTH-1:0] mem_r; + reg mem_wr_2x = 0, mem_rd_valid_r2 = 0; + + always @(posedge CLK) begin + if (mem_rd_valid) + mem_r <= mem_din; + mem_rd_valid_r <= mem_rd_valid; + mem_rd_valid_r2 <= mem_rd_valid_r; + end + + wire mem_rd_wr_en = mem_rd_valid_r | mem_wr_2x & mem_rd_valid_r2; + // 0: lower half, 1: upper half + wire mem_wr_select = ~(mem_rd_valid_r & (mem_wr_2x | mem_wr_lower)); + // writing upper half into the next register + wire mem_rd_wr_2x = mem_wr_2x & mem_rd_valid_r2; + wire mem_rd_complete = mem_wr_2x ? mem_rd_valid_r2 : mem_rd_valid_r; + +`else + reg [WIDTH-1:0] mem_r; + + always @(posedge CLK) begin + if (mem_rd_valid) + mem_r <= mem_wr_lower ? mem_din[15:0] : mem_din[31:16]; + mem_rd_valid_r <= mem_rd_valid; + end + + wire mem_rd_wr_en = mem_rd_valid_r; + wire mem_rd_complete = mem_rd_valid_r; + +`endif + + + // ***************************************************************** + // + // Going to stage STAGE_RD0. + // + // ***************************************************************** + reg [`EXEC_OPT_LEN-1: 0] exec_opt; + reg [`CONDITION_LEN-1 :0] op_condition; + reg [`FIELD_B_LEN-1 :0] field_b; + reg [`FIELD_C_LEN-1 :0] field_c; + reg [`OP_CODE_LEN-1:0] op_code; + + always @(posedge CLK) + if (STAGE_RD0) begin + exec_opt <= exec_opt_in; + { op_condition, field_b, field_c, op_code } + <= partial_instruction; + end + + wire op_type_use_reg = `OP_TYPE_USE_REG(op_code); + + + // ***************************************************************** + // + // Registers + // - load is 2 cycles (rd_en0, rd_en1) + // - 4 inputs (controlled with reg_din_select) + // + // ***************************************************************** + wire [WIDTH-1:0] reg_din1, reg_din2, reg_din3, reg_dout; + wire [1:0] reg_din_select; + (* SHREG_EXTRACT="no" *) + // Write enable, for stages 3,4 respectively + reg reg_wr_en3 = 0, reg_wr_en4 = 0; + reg [`REG_ADDR_MSB :0] reg_wr_addr4; + reg [N_THREADS_MSB :0] reg_wr_thread4; + + registers_bram #( .WIDTH(WIDTH), .N_THREADS(N_THREADS) + ) registers( + .CLK(CLK), + .din1(reg_din1), .din2(reg_din2), .din3(reg_din3), + +`ifdef CPU_MV_R_MEM_2X + .mem_din(mem_wr_select ? mem_r[2*WIDTH-1:WIDTH] : mem_r[WIDTH-1:0]), + .wr_addr( { reg_wr_addr4[`REG_ADDR_MSB:1], + mem_rd_wr_2x ? 1'b1 : reg_wr_addr4[0] } ), +`else + .mem_din(mem_r), .wr_addr(reg_wr_addr4), +`endif + + .mem_wr_en(mem_rd_wr_en), .wr_en(reg_wr_en4), + .reg_din_select(reg_din_select), + .wr_thread_num(reg_wr_thread4), + + .rd_addr(field_a_in), + .rd_en0(STAGE_RD0 & op_type_use_reg0), + .rd_en1(STAGE_RD1 & op_type_use_reg), + .rd_thread_num(thread_num), .dout(reg_dout) + ); + + + // ***************************************************************** + // + // Going to stage STAGE_RD1. + // + // ***************************************************************** + reg [`EXEC_OPT_LEN-1: 0] exec_opt1; + reg [`CONDITION_LEN-1 :0] op_condition1; + reg [`FIELD_B_LEN-1 :0] field_b1; + reg [`FIELD_C_LEN-1 :0] field_c1; + reg [N_THREADS_MSB :0] thread_num1; + reg [`OP_CODE_LEN-1:0] op_code1; + + always @(posedge CLK) + if (STAGE_RD1) begin + exec_opt1 <= exec_opt; + op_condition1 <= op_condition; + field_b1 <= field_b; + field_c1 <= field_c; + thread_num1 <= thread_num; + op_code1 <= op_code; + end + + always @(posedge CLK) + if (STAGE_EXEC) begin + reg_wr_addr4 <= field_b1 [`REG_ADDR_MSB :0]; + reg_wr_thread4 <= thread_num1; + end + + + // ***************************************************************** + // + // Integer Operations + // + // - no "reg <- reg (op) reg" operations so far + // + // ***************************************************************** + wire [`N_FLAGS-1 :0] flags; + + // iops (controls for integer operations) + reg iop_addsub = 0, iop_sub = 0, iop_use_cf = 0, + iop_grp2 = 0, iop_grp3 = 0, iop_shr1 = 0; + reg [1:0] iop_grp2_select = 0; + + integer_ops #( .WIDTH(WIDTH) ) integer_ops( + .CLK(CLK), + .dina(reg_dout), .dinb(field_c1), .en(STAGE_EXEC), + .in_cf(`FLAG_CARRY(flags)), + .iops({ iop_addsub, iop_sub, iop_use_cf, + iop_grp2, iop_grp3, iop_shr1 }), + .iop_grp2_select(iop_grp2_select), + + .dout_select(reg_din_select), + .dout1(reg_din1), .dout2(reg_din2), .dout3(reg_din3), + .flag_zf(flag_zf_in), .flag_of(flag_of_in), .flag_cf(flag_cf_in) + ); + + + // ***************************************************************** + // + // Internal CPU Operations - STAGE_RD1 + // + // - op_code is available + // + // ***************************************************************** + reg iop_sets_uf = 0, iop_sets_cf = 0, iop_sets_of = 0, iop_sets_zf = 0; + reg [1:0] iop_flag_code = 0; + reg iop_jmp = 0, iop_halt = 0; + + always @(posedge CLK) + if (STAGE_RD1) begin + iop_addsub <= + op_code == `OP_CODE_ADD_R_C | op_code == `OP_CODE_SUB_R_C + | op_code == `OP_CODE_ADDC_R_C | op_code == `OP_CODE_SUBB_R_C; + iop_sub <= op_code == `OP_CODE_SUB_R_C + | op_code == `OP_CODE_SUBB_R_C; + iop_use_cf <= `OP_TYPE_USE_CF(op_code); + + iop_grp2 <= op_code == `OP_CODE_INC_RST + | op_code == `OP_CODE_MV_R_C | op_code == `OP_CODE_AND; + iop_grp2_select <= + op_code == `OP_CODE_INC_RST ? 2'd1 : + op_code == `OP_CODE_AND ? 2'd2 : + 2'd0; + if (op_code == `OP_CODE_INC_RST) + z <= 1; + + iop_grp3 <= op_code == `OP_CODE_SHR1 | op_code == `OP_CODE_MV_R_R; + iop_shr1 <= op_code == `OP_CODE_SHR1; + + // This op. potentially writes into a register + // (write might not be performed dependent on conditions). + reg_wr_en3 <= `OP_TYPE_WRITE_REG(op_code); + + // It's hardcoded(hardwired?) when instruction checks conditions. + //op_checks_conditions <= OP_TYPE_CHECK_CONDITION(op_code); + + iop_sets_zf <= `OP_TYPE_SETS_ZF(op_code); + iop_sets_of <= `OP_TYPE_SETS_OF(op_code); + iop_sets_cf = `OP_TYPE_SETS_CF(op_code); + + // OP_CODE_FLAG: applicable to UF only + iop_sets_uf <= op_code == `OP_CODE_FLAG; + if (op_code == `OP_CODE_FLAG) + z <= 1; + iop_flag_code <= field_b[1:0]; + + iop_jmp <= op_code == `OP_CODE_JMP; + if (op_code == `OP_CODE_JMP) + z <= 1; + + iop_halt <= op_code == `OP_CODE_HALT; + if (op_code == `OP_CODE_HALT) + z <= 1; + end + + + // ***************************************************************** + // + // Internal CPU Operations - STAGE_EXEC + // + // - writes integer_ops.dout + // - checks conditions + // - sets flags + // + // ***************************************************************** + cpu_flags #( .N(`N_FLAGS), .N_THREADS(N_THREADS) + ) cpu_flags( + .CLK(CLK), + .thread_num(thread_num), + .load_en(thread_almost_switched), .save_en(NEXT_THREAD), + .flags(flags), + .op_condition(op_condition1), .condition_is_true(condition_is_true), + + .set_flags(STAGE_EXEC), + .iop_flag_mask({ iop_sets_uf, iop_sets_cf, iop_sets_of, iop_sets_zf }), + .flags_in({ flag_uf_in, flag_cf_in, flag_of_in, flag_zf_in }) + ); + + assign flag_uf_in = + iop_flag_code == 2'b00 ? `FLAG_USER(flags) : + iop_flag_code == 2'b01 ? 1'b1 : + iop_flag_code == 2'b10 ? 1'b0 : + ~`FLAG_USER(flags); + + + always @(posedge CLK) begin + // Check conditions for all integer operations that write registers + reg_wr_en4 <= STAGE_EXEC & reg_wr_en3 & condition_is_true; + + if (iop_jmp) + jump_addr <= field_c1 [`IADDR_LEN-1 :0]; + + if (op_condition1 == `IF_CARRY) + z <= 1; + end + + + // ***************************************************************** + // + // Input/Output Operations. + // + // - MV_R_MEM_{2X|L|U} (Reg <- Memory) + // - MV_UOB_R (Unit output buf. <- Reg) + // - SET_OUTPUT_COMPLETE + // + // ***************************************************************** + reg op_mv_r_mem = 0, op_mv_r_mem2x = 0, op_mv_r_mem_lower = 0; + + always @(posedge CLK) + if (STAGE_RD1) begin + op_mv_r_mem <= `OP_TYPE_MV_R_MEM(op_code); +`ifdef CPU_MV_R_MEM_2X + op_mv_r_mem2x <= op_code == `OP_CODE_MV_R_MEM_2X; +`endif + op_mv_r_mem_lower <= op_code == `OP_CODE_MV_R_MEM_L; + op_mv_uob_r <= op_code == `OP_CODE_MV_UOB_R; + op_set_output_complete <= op_code == `OP_CODE_SET_OUTPUT_COMPLETE; + end + + always @(posedge CLK) //! + if (STAGE_EXEC & op_mv_r_mem) begin + mem_rd_request <= 1; + mem_rd_addr <= { thread_num, field_c1 [`MEM_ADDR_MSB :0] }; +`ifdef CPU_MV_R_MEM_2X + mem_wr_2x <= op_mv_r_mem2x; +`endif + mem_wr_lower <= op_mv_r_mem_lower; + end + else if (mem_rd_valid) + mem_rd_request <= 0; // data on mem_r; mem_rd_valid_r asserts + + + // UOB (unit's output buffer). (-)Output takes 2 cycles. + // uob_wr_en asserts only on the 1st cycle. + reg op_mv_uob_r = 0, op_set_output_complete = 0; + reg [N_THREADS_MSB :0] uob_thread_num; + //reg mv_uob_r_cycle2 = 0; + reg uob_thread_num_eq_thread_num = 0; + + always @(posedge CLK) begin + if (thread_almost_switched) + uob_thread_num_eq_thread_num <= uob_thread_num == thread_num; + if (uob_eqn) begin + if (uob_ready) + uob_thread_num <= thread_num; + //mv_uob_r_cycle2 <= 1; + uob_thread_num_eq_thread_num <= 1; + end + //else + // mv_uob_r_cycle2 <= 0; + end + + assign uob_dout = reg_dout; + assign uob_wr_addr = field_c1 [`UOB_ADDR_MSB :0]; + assign uob_wr_en = uob_eqn; + + assign uob_eqn = STAGE_EXEC & op_mv_uob_r + & (uob_ready | uob_thread_num_eq_thread_num & ~uob_full); + + + assign uob_set_input_complete = STAGE_EXEC & op_set_output_complete; + + + // ***************************************************************** + // + // Integrated SHA256 Operations - STAGE_RD1 + // + // ***************************************************************** + (* SHREG_EXTRACT="no" *) + reg op_init_ctx = 0, op_init_new = 0, op_procb = 0, op_procb_r = 0; + reg [1:0] op_procb_flags = 0; + + always @(posedge CLK) + if (STAGE_RD1) begin + op_init_ctx <= `OP_TYPE_INIT_CTX(op_code); + op_init_new <= op_code[0];//op_code == `OP_CODE_NEW_CTX; + + op_procb <= `OP_TYPE_PROCB(op_code); + op_procb_r <= `OP_TYPE_PROCB_R(op_code); + op_procb_flags <= op_code[1:0]; + end + + + reg [`PROCB_A_WIDTH-1 :0] procb_wr_cnt_r; + always @(posedge CLK) begin + comp_procb_wr_thread_num <= thread_num; + if (thread_almost_switched) + procb_wr_cnt_r <= procb_wr_cnt; + else if (procb_eqn) + procb_wr_cnt_r <= procb_wr_cnt_r + 1'b1; + end + assign procb_full = procb_wr_cnt_r == `PROCB_N_RECORDS; + assign procb_afull = procb_wr_cnt_r == `PROCB_N_RECORDS - 1; + + + // ***************************************************************** + // + // Integrated SHA256 Operations - STAGE_EXEC + // + // ***************************************************************** + // thread_state disables execution (applicable at STAGE_EXEC) + wire ts_disable_exec = (exec_opt1 & `EXEC_OPT_TS_WR_RDY) != 0 & ts_changed; + + // procb_eqn: writes procb_wr_en if thread_state allows + assign procb_eqn = op_procb & condition_is_true & ~ts_disable_exec;// & ~procb_full; + + always @(posedge CLK) begin + comp_wr_en <= STAGE_EXEC & op_init_ctx & ~ts_disable_exec;//init_ctx_eqn; + if (op_init_ctx) + comp_dout <= { op_init_new, field_c1[7:6], field_c1[5:4], + field_b1, field_c1[3:0] }; + + procb_wr_en <= STAGE_EXEC & procb_eqn; + if (op_procb) + //procb_dout <= { field_b1, reg_dout[7:0], op_procb_flags }; + // Allow constant 'cnt' (length) + procb_dout <= { field_b1, (op_procb_r + ? reg_dout[`PROCB_CNT_MSB:0] : field_c1[`PROCB_CNT_MSB:0]), + op_procb_flags }; + end + + + + // ***************************************************************** + + wire JUMP_eqn = STAGE_EXEC & (iop_jmp & condition_is_true); + + wire NEXT_THREAD_eqn = STAGE_EXEC & (1'b0 + | iop_halt + | ts_disable_exec & condition_is_true + + // Switch to the next thread when: + // - Successful PROCESS_BYTES with fin/stop or procb_buf full + //| procb_eqn & (op_procb_flags != 0 | procb_afull) + + // - move to UOB, UOB is full or used by other thread + | op_mv_uob_r & ~(uob_ready | uob_thread_num_eq_thread_num & ~uob_full) + // + //| op_set_output_complete + // + // - JUMP_eqn forces NEXT_THREAD + ); + + + // Invalidate loaded instructions, start loading from the beginning + // when: + // - Successful jump is performed + // - Thread is switched + assign INVALIDATE_eqn = NEXT_THREAD_eqn | JUMP_eqn; + + // Oops. On INSTR_WAIT, it doesn't preserve reg_dout, field_[b|c]1 etc. + assign INSTR_WAIT_eqn = STAGE_EXEC & (1'b0 + | op_mv_r_mem + //| uob_eqn + ); + + wire INSTR_CONTINUE_eqn = 1'b0 + | mem_rd_complete + //| mv_uob_r_cycle2 + ; + + + // ***************************************************************** + + always @(posedge CLK) begin + + // TODO: improve condition? + if (INSTR_CONTINUE_eqn) + INSTR_WAIT <= 0; + else if (INSTR_WAIT_eqn) + INSTR_WAIT <= 1; + + + NEXT_THREAD <= NEXT_THREAD_eqn | JUMP_eqn; + + JUMP <= JUMP_eqn; + + EXECUTED <= STAGE_EXEC & (1'b0 + // Instruction typically executed when: + // - No Invalidate condition, no Wait condition + | (~INVALIDATE_eqn & ~INSTR_WAIT_eqn) + // Exceptions: + // - execution disabled because of wrong thread_state + & ~(ts_disable_exec & condition_is_true) + //| procb_eqn & (op_procb_flags != 0 | procb_afull) + + ) | (1'b0 + // - It continues after Wait condition + | (INSTR_WAIT & INSTR_CONTINUE_eqn) + ); + + + if (ts_wr_en) + ts_wr_en <= 0; + else if (thread_state_change) + ts_wr_en <= 1; + + ts_wr <= + op_set_output_complete ? `THREAD_STATE_NONE : + `THREAD_STATE_RD_RDY + ; + + end + + assign thread_state_change = STAGE_EXEC & (1'b0 + // Successful PROCESS_BYTES with fin/stop or procb_buf becoming full + | procb_eqn & (op_procb_flags != 0 | procb_afull) + // Sending UOB content for output + | op_set_output_complete + ); + + +`ifdef SIMULATION + reg [23:0] X_THREAD_SWITCHES = 0; + reg [23:0] X_JUMPS = 0; + + always @(posedge CLK) begin + if (NEXT_THREAD) + X_THREAD_SWITCHES <= X_THREAD_SWITCHES + 1'b1; + if (JUMP) + X_JUMPS <= X_JUMPS + 1'b1; + end +`endif + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/cpu/cpu_flags.v b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/cpu_flags.v new file mode 100644 index 00000000000..4f2457dc392 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/cpu_flags.v @@ -0,0 +1,74 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + +module cpu_flags #( + parameter N = `N_FLAGS, + parameter N_THREADS = 16, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, + input [N_THREADS_MSB :0] thread_num, + input load_en, save_en, + output reg [N-1 :0] flags, // Flags themselves + + input [`CONDITION_LEN-1 :0] op_condition, + output condition_is_true, + + input set_flags, + input [N-1 :0] iop_flag_mask, flags_in + ); + + integer k; + + // + // Store flags for each thread + // + (* RAM_STYLE="DISTRIBUTED" *) + reg [N-1 :0] flags_mem [0: N_THREADS-1]; + //reg [N-1 :0] flags_r; + + always @(posedge CLK) begin + //flags_r <= flags_mem [thread_num]; + if (save_en) + flags_mem [thread_num] <= flags; + end + + + // + // Check conditions + // + assign condition_is_true = op_condition == `IF_NONE + | op_condition == `IF_ZERO & `FLAG_ZERO(flags) + | op_condition == `IF_NOT_ZERO & ~`FLAG_ZERO(flags) + | op_condition == `IF_ONE & `FLAG_ONE(flags) + | op_condition == `IF_NOT_ONE & ~`FLAG_ONE(flags) + | op_condition == `IF_CARRY & `FLAG_CARRY(flags) + | op_condition == `IF_NOT_CARRY & ~`FLAG_CARRY(flags) + | op_condition == `IF_UF & `FLAG_USER(flags) + | op_condition == `IF_NOT_UF & ~`FLAG_USER(flags) + ; + + + // + // Set flags + // + always @(posedge CLK) begin + if (load_en) + //flags <= flags_r; + flags <= flags_mem [thread_num]; + else if (set_flags) + for (k=0; k < N; k=k+1) + if (iop_flag_mask[k]) + flags[k] <= flags_in[k]; + end + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/cpu/cpu_state.v b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/cpu_state.v new file mode 100644 index 00000000000..62400c981d2 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/cpu_state.v @@ -0,0 +1,75 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + +// It takes several stages to load an instruction +// and execute it. +// +// Stages: +// RELOAD. IP_curr (Instruction pointer) for given thread - loaded +// 0. Instruction loaded from the memory +// 1. Read0 from register bank, partial decoding +// 2. Completed reading registers, instruction decoded +// 3. Execution +// +// Controls: +// - instr_wait. No movement through pipeline. Possible only +// when the last stage is available. +// - invalidate. All stages get invalidated. +// +module cpu_state #( + parameter N_STAGES = `N_STAGES + )( + input CLK, + + input invalidate, instr_wait, reload, + + output reg thread_almost_switched = 0, + output reg [N_STAGES-1:0] stage_allow = 0 + ); + + reg [N_STAGES-1:0] stage_reached = 0; + + genvar i; + generate + for (i=0; i < N_STAGES; i=i+1) begin:stages + + if (i==0) begin + + always @(posedge CLK) + if (invalidate) + stage_reached[i] <= 0; + else if (reload) + stage_reached[i] <= 1; + + always @(posedge CLK) + stage_allow[i] <= ~invalidate & ~instr_wait + & (reload | stage_reached[i]); + + end + else begin + + always @(posedge CLK) + stage_reached[i] <= ~invalidate & stage_reached[i<1 ? 0 : i-1]; + + always @(posedge CLK) + stage_allow[i] <= ~invalidate & ~instr_wait + & stage_reached[i<1 ? 0 : i-1]; + + end + + end + endgenerate + + + always @(posedge CLK) + thread_almost_switched <= stage_reached[1] & ~stage_reached[2]; + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/cpu/instruction.v b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/instruction.v new file mode 100644 index 00000000000..f06cdb4f390 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/instruction.v @@ -0,0 +1,193 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + + +module instruction #( + parameter N_CORES = 3, + parameter N_THREADS = 2 * N_CORES, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, + + // Program entry point + input [`ENTRY_PT_MSB:0] entry_pt_curr, + output [N_THREADS_MSB :0] ts_rd_num, + input [`THREAD_STATE_MSB :0] ts_rd, + + // current thread_num (being executed) + output [`MSB(N_THREADS-1) :0] thread_num, + // asserts 1 cycle before instruction is available on output + output thread_almost_switched, + + output reg [`INSTR_LEN-1 :0] instruction, // right out from BRAM + // Instruction gets partially decoded here + + input INVALIDATE, // Invalidate partially loaded and decoded + // instructions, pre-fetched data etc. + // INVALIDATE appears 1 cycle before NEXT_THREAD + // (in case JMP switches thread) + input INSTR_WAIT, + // Advance effective Instruction Pointer + // (w/o respect to actual result). + input EXECUTED, // does not apply to JUMP + input NEXT_THREAD, + input JUMP, // assuming NEXT_THREAD always set with JUMP + input [`IADDR_LEN-1 :0] jump_addr, + + output [`N_STAGES-1:0] stage_allow, + output reg err = 0, + + // "dummy" 2nd write-only port for BRAM + (* KEEP="true" *) input wr_en_dummy, + (* KEEP="true" *) input wr_addr_dummy + ); + + + // ********************************************************** + // + // Program entry points + // + // ********************************************************** + reg [`IADDR_LEN-1 :0] entry_pts [2**(`ENTRY_PT_MSB+1)-1 :0]; + initial begin + entry_pts[0] = 0; + entry_pts[1] = 150; + end + + reg [`ENTRY_PT_MSB:0] entry_pt_last = 0; + always @(posedge CLK) + entry_pt_last <= entry_pt_curr; + + wire entry_pt_switch = entry_pt_last != entry_pt_curr; + + + // ********************************************************** + // + // Current thread number, switching threads + // - While it runs the program in some thread, it looks ahead + // for a thread in WR_RDY state. When NEXT_THREAD asserts, + // it doesn't waste time and starts loading Instruction + // Pointer for the next thread immediately. + // + // ********************************************************** + wire [`MSB(N_THREADS-1) :0] thread_num_ahead; + + thread_number #( .N_CORES(N_CORES) + ) thread_number( + .CLK(CLK), + .entry_pt_switch(entry_pt_switch), + .ts_rd_num(ts_rd_num), .ts_rd(ts_rd), + .NEXT_THREAD(NEXT_THREAD), + .RELOAD(RELOAD), // start loading the instruction + .thread_num(thread_num), .thread_num_ahead(thread_num_ahead), + .thread_init(init) + ); + + + // ********************************************************** + // + // Instruction Execution State + // - Currently, INVALIDATE asserts 1 cycle before NEXT_THREAD + // - RELOAD asserts on the same cycle as NEXT_THREAD, or later. + // - On the next cycle after RELOAD, stage_allow=0001 + // + // ********************************************************** + cpu_state cpu_state( + .CLK(CLK), + .invalidate(INVALIDATE), .instr_wait(INSTR_WAIT), .reload(RELOAD), + .thread_almost_switched(thread_almost_switched), + .stage_allow(stage_allow) + ); + + + // ********************************************************** + // + // Instruction pointer + // + // ********************************************************** + reg [`IADDR_LEN-1 :0] IP_curr; + reg [`IADDR_LEN-1 :0] IP_effective; + reg [`IADDR_LEN-1 :0] IP_mem [0: N_THREADS-1]; + wire [`IADDR_LEN-1 :0] IP_mem_dout = IP_mem [thread_num_ahead]; + + // Q. NEXT_THREAD and EXECUTE at the same time - OK + // Q2. INVALIDATE & INSRT_WAIT - can't happen + always @(posedge CLK) + if (init | NEXT_THREAD) + IP_mem [thread_num] <= + JUMP ? jump_addr : + EXECUTED ? IP_effective + 1'b1 : + ~init ? IP_effective : + entry_pts [entry_pt_curr]; + + always @(posedge CLK) + if (RELOAD) begin + IP_curr <= IP_mem_dout; + IP_effective <= IP_mem_dout; + end + else begin + if (stage_allow[0]) + IP_curr <= IP_curr + 1'b1; + if (EXECUTED) + IP_effective <= IP_effective + 1'b1; + end + + + // Simulation / debug + reg z; + always @(posedge CLK) + if (IP_curr == 93) + z <= 1; + + + // ********************************************************** + // + // Instruction memory + // + // ********************************************************** + (* RAM_STYLE="BLOCK" *) + reg [`INSTR_LEN-1 :0] instr_mem [0: 2**`IADDR_LEN-1]; + + always @(posedge CLK) + if (stage_allow[0]) + instruction <= instr_mem [IP_curr]; + + // Partial decoding + //wire op_code = instruction []; + always @(posedge CLK) begin + end + + + always @(posedge CLK) begin + // INVALIDATE asserted 2+ cycles in a row + if (INVALIDATE & RELOAD) + err <= 1; + // ? + //if (INVALIDATE & INSRT_WAIT) + end + + + // ********************************************************** + // + // Declaring "dummy" 2nd write-only port + // to force 1K BRAM in SDP mode (else it infers 2K TDP) + // + // ********************************************************** + always @(posedge CLK) + if (wr_en_dummy) + instr_mem[wr_addr_dummy] <= 1'b0; + +`include "program.vh" + + +endmodule + + diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/cpu/integer_ops.v b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/integer_ops.v new file mode 100644 index 00000000000..4c408d6030f --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/integer_ops.v @@ -0,0 +1,78 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + + +module integer_ops #( + parameter WIDTH = 16 + )( + input CLK, + + input [WIDTH-1:0] dina, + input [7:0] dinb, + input en, in_cf, + + input [5:0] iops, + input [1:0] iop_grp2_select, + + output reg [1:0] dout_select = 0, + output reg [WIDTH-1:0] dout1 = 0, dout3 = 0, + output [WIDTH-1:0] dout2, + output flag_cf, flag_of, flag_zf + ); + + assign { iop_addsub, iop_sub, iop_use_cf, + iop_grp2, iop_grp3, iop_shr1 } = iops; + + + wire [WIDTH-1+1:0] addsub_result = iop_sub + ? dina - dinb - (iop_use_cf ? in_cf : 1'b0) + : dina + dinb + (iop_use_cf ? in_cf : 1'b0); + assign flag_cf = addsub_result[WIDTH-1+1]; + + // grp2 includes INC_RST, MV_R_C, AND_R_C + // 8-bit operation; upper 24 zeroed + reg [7:0] reg_grp2 = 0; + wire [7:0] grp2_result = + iop_grp2_select == 2'd1 ? + (dina[7:0] == dinb ? 8'b0 : dina[7:0] + 1'b1) : + iop_grp2_select == 2'd2 ? (dina[7:0] & dinb) : + dinb; + + // grp3 includes SHR1, MV_R_R + wire [WIDTH-1:0] grp3_result = iop_shr1 ? { 1'b0, dina[WIDTH-1:1] } : dina; + // Removal of MV_R_R (usage of SUB_R_C instead) would save 4 LUT + //wire [31:0] grp3_result = { 1'b0, dina[31:1] }; + + always @(posedge CLK) if (en) begin + if (iop_addsub) + dout1 <= addsub_result[WIDTH-1:0]; + + if (iop_grp2) + reg_grp2 <= grp2_result; + + if (iop_grp3) + dout3 <= grp3_result; + + dout_select <= + iop_addsub ? 2'd1 : + iop_grp2 ? 2'd2 : + iop_grp3 ? 2'd3 : + 2'd0; + end + + assign dout2 = { {WIDTH-8{1'b0}}, reg_grp2 }; + + assign flag_zf = dina[WIDTH-1:8] == 0 + & (iop_shr1 ? dina[7:0] == 0 : dina[7:0] == dinb); + + assign flag_of = dina[0]; + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/cpu/program.vh b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/program.vh new file mode 100644 index 00000000000..539c884d3a1 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/program.vh @@ -0,0 +1,437 @@ +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +integer i, j; +integer k = 0; + +// +// Memory is 32 words (x32-bit) per thread. +// Memory layout for sha256crypt as delivered via unit_input: +// 0 - cnt +// 1 - salt_len +// 2..5 - salt +// 6..7 - IDs +// 8 - key_len +// 9 - unused +// 10..10+(key_len/4-1) - key +// +`define ADDR_cnt 0 +`define ADDR_salt_len 1 +`define ADDR_salt 2 +`define ADDR_s_bytes `ADDR_salt +`define ADDR_ids0 6 +`define ADDR_ids1 7 +`define ADDR_key_len 8 +`define ADDR_key 10 +`define ADDR_p_bytes `ADDR_key +`define ADDR_alt_result 24 +// +// 16 (x32-bit) registers per thread. +// +`define R_salt_len `R12 +`define R_key_len `R13 +`define R_cnt_l `R14 +`define R_cnt_u `R15 +// +// +initial begin + // ************************************************************ + // + // Algorithm notes: + // - key_len=0 is supported + // - max. key_len is 32 + // - salt_len=0, cnt=0 NOT supported + // + // ************************************************************ + + // ************************************************************ + // + // - Execution of a thread starts when it receives + // an input data packet, that sets thread_state to WR_RDY + // + // ************************************************************ + instr_mem[00] = `NOP; + instr_mem[01] = `NOP; + instr_mem[02] = `NOP; + instr_mem[03] = `NOP; + instr_mem[04] = `NOP; + // - Read from the memory: MV_R_MEM_L, MV_R_MEM_U read + // lower,upper halves of 32-bit word, respectively. + // Takes 4 cycles to execute (if memory is not busy - + // read for block formation has priority over CPU). + // + // - MV_R_MEM_2X reads full 32-bit word, stores + // into 2 registers. Takes 5+ cycles to execute. + // (disabled) + // + //instr_mem[05] = `MV_R_MEM_2X(`R_cnt_l,`ADDR_cnt); + instr_mem[05] = `MV_R_MEM_L(`R_cnt_l,`ADDR_cnt); + instr_mem[06] = `MV_R_MEM_U(`R_cnt_u,`ADDR_cnt); + instr_mem[07] = `MV_R_MEM_L(`R_salt_len,`ADDR_salt_len); + instr_mem[08] = `MV_R_MEM_L(`R_key_len,`ADDR_key_len); + instr_mem[09] = `NOP; + instr_mem[10] = `NOP;//`JMP(80); + + + // ************************************************************ + // + // "Compute alternate SHA256 sum with input KEY, SALT, and KEY. The + // final result will be added to the first context." + // + // ************************************************************ + + // - Usage: NEW_CTX(save_addr,save_len) + instr_mem[11] = `NEW_CTX(`ADDR_alt_result,8); + instr_mem[12] = `PROCESS_BYTES_R(`ADDR_key,`R_key_len); + instr_mem[13] = `PROCESS_BYTES_R(`ADDR_salt,`R_salt_len); + instr_mem[14] = `PROCESS_BYTES_R_FINISH_CTX(`ADDR_key,`R_key_len); + +/* + // - HALT works as expected only after JMP. + instr_mem[15] = `JMP(16); + instr_mem[16] = `HALT; + instr_mem[17] = `NOP; + instr_mem[18] = `NOP; +*/ + + + // ************************************************************ + // + // "Prepare for the real work." + // + // ************************************************************ + + // - We have data at `ADDR_alt_result and we set the same address + // for output. Data is safe until FINISH_CTX. + instr_mem[15] = `NEW_CTX(`ADDR_alt_result,8); + + // - Update value in a register: new value is not available immediately. + // If an instruction at address ADDR modifies a register, new value + // is available for an instruction at ADDR+4, or after successful JMP. + // Until that the previous value is available if there was + // no thread switch. + instr_mem[16] = `MV_R_R(`R0,`R_key_len); + + // "Add the key string." + // "The last part is the salt string." + // "Add for any character in the key one byte of the alternate sum." + instr_mem[17] = `PROCESS_BYTES_R(`ADDR_key,`R_key_len); + instr_mem[18] = `PROCESS_BYTES_R(`ADDR_salt,`R_salt_len); + instr_mem[19] = `PROCESS_BYTES_R(`ADDR_alt_result,`R_key_len); + + + + // ************************************************************ + // + // "Take the binary representation of the length of the key and + // for every 1 add the alternate sum, for every 0 the key." + // + // ************************************************************ + + // - On SHR1, Zero Flag (ZF) sets if operand A equals to 0. + // - One Flag (OF). Operand A, bit 0 is copied into OF. +// 24 -> + instr_mem[20] = `SHR1(`R0); + // - Many instruction types may have execution condition + // (if condition is not met then the instruction is skipped). + `IF(`IF_ZERO) + instr_mem[21] = `JMP(25); `IF(`IF_NONE) + + `IF(`IF_ONE) + instr_mem[22] = `PROCESS_BYTES_C(`ADDR_alt_result,32); `IF(`IF_NONE) + `IF(`IF_NOT_ONE) + instr_mem[23] = `PROCESS_BYTES_R(`ADDR_key,`R_key_len); `IF(`IF_NONE) + instr_mem[24] = `JMP(20); + +// 21 -> + instr_mem[25] = `FINISH_CTX; + instr_mem[26] = `NOP; + + + + // ************************************************************ + // + // "Start computation of P byte sequence." + // "For every character in the password add the entire password." + // + // ************************************************************ + instr_mem[27] = `MV_R_R(`R0,`R_key_len); + instr_mem[28] = `NOP; + instr_mem[29] = `NOP; + instr_mem[30] = `NEW_CTX(`ADDR_p_bytes,8); + // - On subtraction, ZF is set if operand A equals to operand B. + instr_mem[31] = `SUB_R_C(`R0,`R0,0); + `IF(`IF_ZERO) + instr_mem[32] = `JMP(37); `IF(`IF_NONE) +// 35 -> + instr_mem[33] = `PROCESS_BYTES_R(`ADDR_key,`R_key_len); + instr_mem[34] = `SUB_R_C(`R0,`R0,1); + `IF(`IF_NOT_ZERO) + instr_mem[35] = `JMP(33); `IF(`IF_NONE) + + instr_mem[36] = `NOP; +// 32 -> + instr_mem[37] = `FINISH_CTX; + instr_mem[38] = `NOP; + + + + // ************************************************************ + // + // "Start computation of S byte sequence." + // "for (cnt = 0; cnt < 16 + alt_result[0]; ++cnt) + // sha512_process_bytes (salt, salt_len, &alt_ctx);" + // + // ************************************************************ + + // - Only 4 words (x32 bit) are saved into memory (save_len=4) + instr_mem[39] = `NEW_CTX(`ADDR_s_bytes,4); + // + // - *_FINISH_CTX/STOP_CTX is a non-blocking instruction. + // - NEW_CTX is a blocking one (it waits until the previous + // computation is finished). + // + instr_mem[40] = `MV_R_MEM_L(`R0,`ADDR_alt_result + 5'd0); + instr_mem[41] = `NOP; + instr_mem[42] = `NOP; + instr_mem[43] = `NOP; + // - AND is an 8-bit instruction. Upper bits are zeroed. + // - Integer instructions are able to read from one register + // and save into other one. + instr_mem[44] = `AND_R_C(`R0,`R0,255); + instr_mem[45] = `NOP; + instr_mem[46] = `NOP; + instr_mem[47] = `NOP; + instr_mem[48] = `ADD_R_C(`R0,16); + instr_mem[49] = `NOP; + instr_mem[50] = `NOP; + instr_mem[51] = `NOP; + +// 59 -> + instr_mem[52] = `SUB_R_C(`R1,`R0,4); + `IF(`IF_CARRY) + instr_mem[53] = `JMP(60); `IF(`IF_NONE) + // Internal buffer for process_bytes is 4 elements. + instr_mem[54] = `PROCESS_BYTES_R(`ADDR_salt,`R_salt_len); + instr_mem[55] = `PROCESS_BYTES_R(`ADDR_salt,`R_salt_len); + instr_mem[56] = `PROCESS_BYTES_R(`ADDR_salt,`R_salt_len); + instr_mem[57] = `PROCESS_BYTES_R(`ADDR_salt,`R_salt_len); + instr_mem[58] = `SUB_R_C(`R0,`R0,4); + `IF(`IF_NOT_CARRY) + instr_mem[59] = `JMP(52); `IF(`IF_NONE) + +// 53 -> + instr_mem[60] = `SUB_R_C(`R0,`R0,0); + `IF(`IF_ZERO) + instr_mem[61] = `JMP(65); `IF(`IF_NONE) +// 64 -> + instr_mem[62] = `PROCESS_BYTES_R(`ADDR_salt,`R_salt_len); + instr_mem[63] = `SUB_R_C(`R0,`R0,1); + `IF(`IF_NOT_ZERO) + instr_mem[64] = `JMP(62); `IF(`IF_NONE) +// 61 -> + instr_mem[65] = `FINISH_CTX; + + instr_mem[66] = `JMP(76); + + + + // ************************************************************ + // + // "Repeatedly run the collected hash value through SHA256 to burn + // CPU cycles." + // + // ************************************************************ +// 66 -> + instr_mem[76] = `MV_R_R(`R0,`R_cnt_l); + instr_mem[77] = `MV_R_R(`R1,`R_cnt_u); + instr_mem[78] = `MV_R_C(`R2,2); + instr_mem[79] = `MV_R_C(`R3,6); + instr_mem[80] = `RST_UF; + instr_mem[81] = `NOP; + instr_mem[82] = `SUB_R_C(`R0,`R0,1); + instr_mem[83] = `SUBB_R_C(`R1,`R1,0); + // TODO: some error handling / reporting + // - IF_CARRY -> raise error (cnt == 0) + + // "New context." + // - Arguments to NEW_CTX remain in internal registers, + // the instruction can be skipped if arguments remain the same. + // Computation starts after PROCESS_BYTES. + instr_mem[84] = `NEW_CTX(`ADDR_alt_result,8); + + // "Add key or last result." +// 96 -> + `IF(`IF_UF) + instr_mem[85] = `PROCESS_BYTES_R(`ADDR_p_bytes,`R_key_len); `IF(`IF_NONE) + `IF(`IF_NOT_UF) + instr_mem[86] = `PROCESS_BYTES_C(`ADDR_alt_result,32); `IF(`IF_NONE) + + // "Add salt for numbers not divisible by 3." + // + // - INC_RST instruction: + // 1) loads value from given register, compares with supplied constant; + // 2) if equals, saves 0, sets ZF, else saves value incremented by 1; + // 3) is 8-bit instruction. + instr_mem[87] = `INC_RST(`R2,2); + `IF(`IF_NOT_ZERO) + instr_mem[88] = `PROCESS_BYTES_R(`ADDR_s_bytes,`R_salt_len); `IF(`IF_NONE) + + // "Add key for numbers not divisible by 7." + instr_mem[89] = `INC_RST(`R3,6); + `IF(`IF_NOT_ZERO) + instr_mem[90] = `PROCESS_BYTES_R(`ADDR_p_bytes,`R_key_len); `IF(`IF_NONE) + + // "Add key or last result." + `IF(`IF_UF) + instr_mem[91] = `PROCESS_BYTES_C_FINISH_CTX(`ADDR_alt_result,32); `IF(`IF_NONE) + `IF(`IF_NOT_UF) + instr_mem[92] = `PROCESS_BYTES_R_FINISH_CTX(`ADDR_p_bytes,`R_key_len); `IF(`IF_NONE) + + instr_mem[93] = `INV_UF; + instr_mem[94] = `SUB_R_C(`R0,`R0,1); + instr_mem[95] = `SUBB_R_C(`R1,`R1,0); + `IF(`IF_NOT_CARRY) + instr_mem[96] = `JMP(85); `IF(`IF_NONE) + + // - On FINISH_CTX, it sets thread_state to BUSY and it continues + // running until JMP or EXEC_OPT_TS_WR_RDY-flagged instruction. + // On such instruction, thread switches. It restores back + // only after thread_state changes to WR_RDY, that happens + // after computation is complete. + // We need computation to be complete before output. +/* + instr_mem[97] = `JMP(100); + instr_mem[98] = `NOP; + instr_mem[99] = `NOP; + + // ************************************************************ + // + // - Unit's Output Buffer (UOB) is designed for collecting + // output data. There's a single UOB instance for all threads. + // 16-bit storage operation (UOB <- Reg) is available. + // Constant UOB address (for 16-bit word) must be supplied. + // 20 first words from the UOB are output. + // First 4 words must contain IDs. + // + // ************************************************************ + instr_mem[100] = `MV_R_MEM_2X(`R0,`ADDR_ids0); + instr_mem[101] = `MV_R_MEM_2X(`R2,`ADDR_ids1); + instr_mem[102] = `MV_R_MEM_2X(`R4,`ADDR_alt_result + 5'd0); + instr_mem[103] = `MV_R_MEM_2X(`R6,`ADDR_alt_result + 5'd1); + instr_mem[104] = `MV_R_MEM_2X(`R8,`ADDR_alt_result + 5'd2); + instr_mem[105] = `MV_R_MEM_2X(`R10,`ADDR_alt_result + 5'd3); + + instr_mem[106] = `MV_UOB_R(0,`R0); + instr_mem[107] = `MV_UOB_R(1,`R1); + instr_mem[108] = `MV_UOB_R(2,`R2); + instr_mem[109] = `MV_UOB_R(3,`R3); + instr_mem[110] = `MV_UOB_R(4,`R4); + instr_mem[111] = `MV_UOB_R(5,`R5); + instr_mem[112] = `MV_UOB_R(6,`R6); + instr_mem[113] = `MV_UOB_R(7,`R7); + instr_mem[114] = `MV_UOB_R(8,`R8); + instr_mem[115] = `MV_UOB_R(9,`R9); + instr_mem[116] = `MV_UOB_R(10,`R10); + instr_mem[117] = `MV_UOB_R(11,`R11); + + instr_mem[118] = `MV_R_MEM_2X(`R0,`ADDR_alt_result + 5'd4); + instr_mem[119] = `MV_R_MEM_2X(`R2,`ADDR_alt_result + 5'd5); + instr_mem[120] = `MV_R_MEM_2X(`R4,`ADDR_alt_result + 5'd6); + instr_mem[121] = `MV_R_MEM_2X(`R6,`ADDR_alt_result + 5'd7); + + instr_mem[122] = `MV_UOB_R(12,`R0); + instr_mem[123] = `MV_UOB_R(13,`R1); + instr_mem[124] = `MV_UOB_R(14,`R2); + instr_mem[125] = `MV_UOB_R(15,`R3); + instr_mem[126] = `MV_UOB_R(16,`R4); + instr_mem[127] = `MV_UOB_R(17,`R5); + instr_mem[128] = `MV_UOB_R(18,`R6); + instr_mem[129] = `MV_UOB_R(19,`R7); + + instr_mem[130] = `SET_OUTPUT_COMPLETE; + instr_mem[131] = `JMP(01); +*/ + + instr_mem[97] = `JMP(98); + instr_mem[98] = `MV_R_MEM_L(`R0,`ADDR_ids0); + instr_mem[99] = `MV_R_MEM_U(`R1,`ADDR_ids0); + instr_mem[100] = `MV_R_MEM_L(`R2,`ADDR_ids1); + instr_mem[101] = `MV_R_MEM_U(`R3,`ADDR_ids1); + instr_mem[102] = `MV_R_MEM_L(`R4,`ADDR_alt_result + 5'd0); + instr_mem[103] = `MV_R_MEM_U(`R5,`ADDR_alt_result + 5'd0); + instr_mem[104] = `MV_R_MEM_L(`R6,`ADDR_alt_result + 5'd1); + instr_mem[105] = `MV_R_MEM_U(`R7,`ADDR_alt_result + 5'd1); + instr_mem[106] = `MV_R_MEM_L(`R8,`ADDR_alt_result + 5'd2); + instr_mem[107] = `MV_R_MEM_U(`R9,`ADDR_alt_result + 5'd2); + instr_mem[108] = `MV_R_MEM_L(`R10,`ADDR_alt_result + 5'd3); + instr_mem[109] = `MV_R_MEM_U(`R11,`ADDR_alt_result + 5'd3); + + instr_mem[110] = `MV_UOB_R(0,`R0); + instr_mem[111] = `MV_UOB_R(1,`R1); + instr_mem[112] = `MV_UOB_R(2,`R2); + instr_mem[113] = `MV_UOB_R(3,`R3); + instr_mem[114] = `MV_UOB_R(4,`R4); + instr_mem[115] = `MV_UOB_R(5,`R5); + instr_mem[116] = `MV_UOB_R(6,`R6); + instr_mem[117] = `MV_UOB_R(7,`R7); + instr_mem[118] = `MV_UOB_R(8,`R8); + instr_mem[119] = `MV_UOB_R(9,`R9); + instr_mem[120] = `MV_UOB_R(10,`R10); + instr_mem[121] = `MV_UOB_R(11,`R11); + + instr_mem[122] = `MV_R_MEM_L(`R0,`ADDR_alt_result + 5'd4); + instr_mem[123] = `MV_R_MEM_U(`R1,`ADDR_alt_result + 5'd4); + instr_mem[124] = `MV_R_MEM_L(`R2,`ADDR_alt_result + 5'd5); + instr_mem[125] = `MV_R_MEM_U(`R3,`ADDR_alt_result + 5'd5); + instr_mem[126] = `MV_R_MEM_L(`R4,`ADDR_alt_result + 5'd6); + instr_mem[127] = `MV_R_MEM_U(`R5,`ADDR_alt_result + 5'd6); + instr_mem[128] = `MV_R_MEM_L(`R6,`ADDR_alt_result + 5'd7); + instr_mem[129] = `MV_R_MEM_U(`R7,`ADDR_alt_result + 5'd7); + + instr_mem[130] = `MV_UOB_R(12,`R0); + instr_mem[131] = `MV_UOB_R(13,`R1); + instr_mem[132] = `MV_UOB_R(14,`R2); + instr_mem[133] = `MV_UOB_R(15,`R3); + instr_mem[134] = `MV_UOB_R(16,`R4); + instr_mem[135] = `MV_UOB_R(17,`R5); + instr_mem[136] = `MV_UOB_R(18,`R6); + instr_mem[137] = `MV_UOB_R(19,`R7); + + + // ************************************************************ + // + // - SET_OUTPUT_COMPLETE instruction: + // 1) to be called after there was at least 1 write to the UOB; + // 2) enqueues UOB content for output; + // 3) changes thread_state to NONE, that excludes the thread + // from execution and makes it available for input; + // 4) Suggested JMP immediately after the instruction. + // + // ************************************************************ + instr_mem[138] = `SET_OUTPUT_COMPLETE; + instr_mem[139] = `JMP(01); + + + // ************************************************************ + // + // + // ************************************************************ + + + +/* + instr_mem[] = `JMP(); + instr_mem[] = `HALT; + instr_mem[] = `NOP; + instr_mem[] = `NOP; +*/ + +end + diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/cpu/registers_bram.v b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/registers_bram.v new file mode 100644 index 00000000000..0ba5dc27cc6 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/registers_bram.v @@ -0,0 +1,52 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + +module registers_bram #( + parameter WIDTH = 16, + parameter N_THREADS = 6, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, + // input into register file from the memory + input [WIDTH-1:0] mem_din, + input [WIDTH-1:0] din1, din2, din3, + input [1:0] reg_din_select, + input mem_wr_en, wr_en, + input [`REG_ADDR_MSB:0] wr_addr, rd_addr, + input [N_THREADS_MSB :0] wr_thread_num, rd_thread_num, + input rd_en0, rd_en1, + output [WIDTH-1:0] dout + ); + + (* RAM_STYLE="BLOCK" *) + reg [WIDTH-1:0] reg_mem [0: 16*N_THREADS-1]; + reg [WIDTH-1:0] reg_mem_r; + + // Prevent inference of BRAM output register + ff16 ff_reg( .CLK(CLK), .en(rd_en1), + .rst(1'b0), .i(reg_mem_r), .o(dout) ); + + wire [WIDTH-1:0] reg_input = + reg_din_select == 2'd1 ? din1 : + reg_din_select == 2'd2 ? din2 : + reg_din_select == 2'd3 ? din3 : + mem_din; + + always @(posedge CLK) begin + if (mem_wr_en | wr_en) + reg_mem [{ wr_thread_num, wr_addr }] <= reg_input; + + if (rd_en0) + reg_mem_r <= reg_mem [{ rd_thread_num, rd_addr }]; + end + +endmodule + diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/cpu/thread_number.v b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/thread_number.v new file mode 100644 index 00000000000..f6d7d67a5c5 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/cpu/thread_number.v @@ -0,0 +1,113 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + + +module thread_number #( + parameter N_CORES = -1, + parameter N_THREADS = 2 * N_CORES, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, + input entry_pt_switch, + + output [N_THREADS_MSB :0] ts_rd_num, + input [`THREAD_STATE_MSB :0] ts_rd, + + input NEXT_THREAD, + output RELOAD, + + output reg [`MSB(N_THREADS-1) :0] thread_num = 0, thread_num_ahead = 1, + output reg thread_init = 1 + ); + + reg suspended_r = 1; + + // Next thread (in sequence) + wire [`MSB(N_THREADS-1) :0] thread_num_next; + next_thread_num #( .N_CORES(N_CORES) + ) next_thread_num( .in(thread_num), .out(thread_num_next) ); + + + // Look ahead for WR_RDY thread + assign ts_rd_num = thread_num_ahead; + wire thread_ahead_not_ready = ts_rd != `THREAD_STATE_WR_RDY; + + wire [`MSB(N_THREADS-1) :0] thread_num_ahead_next; + next_thread_num #( .N_CORES(N_CORES) + ) next_thread_num_ahead( .in(thread_num_ahead), .out(thread_num_ahead_next) ); + + + // Allow to select the same thread after thread_state propagates + localparam TS_DELAY = 2; + reg [TS_DELAY-1:0] allow_same_thread = {TS_DELAY{1'b0}}; + always @(posedge CLK) + allow_same_thread <= { allow_same_thread[TS_DELAY-2:0], suspended_r }; + + task thread_num_ahead_next_set; + begin + thread_num_ahead <= (thread_num_ahead_next == thread_num + & ~allow_same_thread[TS_DELAY-1]) + ? thread_num_next : thread_num_ahead_next; + end + endtask + + + always @(posedge CLK) begin + if (entry_pt_switch) + thread_init <= 1; + + if (thread_init) begin // traverse all threads on init + thread_num <= thread_num_next; + if (thread_num == N_THREADS-1) + thread_init <= 0; + end + else begin + if (suspended_r & ~thread_ahead_not_ready) begin + suspended_r <= 0; + thread_num <= thread_num_ahead; + thread_num_ahead_next_set(); + end + + else if (NEXT_THREAD) begin + if (thread_ahead_not_ready) begin + suspended_r <= 1; + end + else begin + thread_num <= thread_num_ahead; + thread_num_ahead_next_set(); + end + end + + else begin + if (thread_ahead_not_ready) + thread_num_ahead_next_set(); + end + end + end + + assign RELOAD = ~thread_init & ( + suspended_r & ~thread_ahead_not_ready + | NEXT_THREAD & ~thread_ahead_not_ready + ); + + +`ifdef SIMULATION + reg [31:0] X_CYCLES_TOTAL = 0; + reg [31:0] X_CYCLES_SUSPENDED = 0; + + always @(posedge CLK) begin + X_CYCLES_TOTAL <= X_CYCLES_TOTAL + 1'b1; + if (suspended_r) + X_CYCLES_SUSPENDED <= X_CYCLES_SUSPENDED + 1'b1; + end +`endif + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256.vh b/src/ztex/fpga-sha256crypt/sha256crypt/sha256.vh new file mode 100644 index 00000000000..cc3127f9267 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256.vh @@ -0,0 +1,329 @@ +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// Include Verilog code for "blackbox" modules +// (ISE Project Navigator requires restart after switching this) +`define SIMULATION + + +// ===== Algorithm constants and operations ===== +// +`define CYCLIC(w,s) ((w >> s) | (w << (32 - s))) + +`define SWAP(n) (((n) << 24) \ + | (((n) & 16'hff00) << 8) \ + | (((n) >> 8) & 16'hff00) \ + | ((n) >> 24)) + +`define SHA256_IV { 128'h_5be0cd19_1f83d9ab_9b05688c_510e527f, \ + 128'h_a54ff53a_3c6ef372_bb67ae85_6a09e667 } + + +// ===== Block processing options ===== +// +`define BLK_OP_MSB 5 +// New/load context: 1 - new, 0 - load +`define BLK_OP_IF_NEW_CTX(r) r[0] +// If load context: 0..N - load saved context from slot 0..N +`define BLK_OP_LOAD_CTX_NUM(r) r[2:1] +// Where to save the context: 0..N - save into slot 0..N +`define BLK_OP_SAVE_CTX_NUM(r) r[4:3] +// 1) Output computed result; +// 2) Used to set thread state. +`define BLK_OP_END_COMP_OUTPUT(r) r[5] + + +// ===== sha256crypt engine (services several cores) ===== +// +// "Main" memory (per thread; in 32-bit words) +// 2**(4+1) x4 = 32 x4 = 128 bytes +`define MEM_ADDR_MSB 4 +// "Main" memory (per engine) [0: 2**(`MEM_TOTAL_MSB+1)-1] +`define MEM_TOTAL_MSB (`MEM_ADDR_MSB + 3) + +// process_bytes (in bytes) +// max.key_len=32 (comp.len <2k) +`define PROCB_CNT_MSB 5 +// max. S-bytes comp. is ~4.3k (PROCB_TOTAL_MSB = 12) +`define PROCB_TOTAL_MSB 12 + +// unit's I/O +`define UNIT_INPUT_WIDTH 8 +`define UNIT_OUTPUT_WIDTH 2 +// Address in Unit's output buffer (UOB) memory in 16-bit words +`define UOB_ADDR_MSB 4 + + +// ===== computation state (per thread) ===== +// +`define THREAD_STATE_MSB 1 + +`define THREAD_STATE_NONE 2'd0 +`define THREAD_STATE_WR_RDY 2'd1 +`define THREAD_STATE_RD_RDY 2'd2 +`define THREAD_STATE_BUSY 2'd3 + + +// ===== comp_buf, procb_buf, saved_procb_state ===== +// +`define COMP_DATA1_MSB (1 + 2 + 2)-1 +`define COMP_DATA2_MSB (`MEM_ADDR_MSB+1 + 4)-1 + +// address width for procb records (per thread) +`define PROCB_N_RECORDS 4 +`define PROCB_A_WIDTH 3 +// width of each procb record +`define PROCB_D_WIDTH (`MEM_ADDR_MSB+1 + `PROCB_CNT_MSB+1 +2) + +`define PROCB_SAVE_WIDTH (`MEM_ADDR_MSB+2+1 + `PROCB_CNT_MSB+1 \ + + `PROCB_TOTAL_MSB+1 + 5) + + +// ===== CPU ===== +// +`define N_STAGES 4 +// 16 registers +`define REG_ADDR_MSB 3 +// Program entry points +`define ENTRY_PT_MSB 0 +// +// Each instruction consists of: +`define OP_CODE_LEN 5 +`define OP_CODE 5'd +// Field A contains exclusively register to read from +`define FIELD_A_LEN (`REG_ADDR_MSB+1) +`define FIELD_A 4'd +// Field B contains register for write, memory address or other data +`define FIELD_B_LEN (`MEM_ADDR_MSB+1) +// OMG - adjust this if MEM_ADDR_MSB changes +`define FIELD_B 5'd +// Field C typically contains a constant. +`define FIELD_C_LEN 8 +`define FIELD_C 8'd +// Conditions determine the result of instruction execution. +`define CONDITION_LEN 4 +// Instruction execution options. +`define EXEC_OPT_LEN 1 + +`define PARTIAL_INSTR_LEN (`CONDITION_LEN \ + + `FIELD_B_LEN + `FIELD_C_LEN + `OP_CODE_LEN) +`define INSTR_LEN (`FIELD_A_LEN + `EXEC_OPT_LEN + `PARTIAL_INSTR_LEN) + + +// Instruction Address length: must fit into field_c +`define IADDR_LEN 8 + +// *** Instruction execution options *** +`define EXEC_OPT_NONE 1'b0 +// EXEC_OPT_TS_WR_RDY - requires thread_state to be WR_RDY +`define EXEC_OPT_TS_WR_RDY 1'b1 + +// *** CPU flags *** +`define N_FLAGS 4 +`define FLAG_ZERO(r) r[0] +`define FLAG_ONE(r) r[1] +`define FLAG_CARRY(r) r[2] +`define FLAG_USER(r) r[3] + +// *** Conditions *** +`define IF_NONE 4'b0000 + +`define IF_ONE 4'b0010 +`define IF_NOT_ONE 4'b0011 +`define IF_ZERO 4'b0100 +`define IF_NOT_ZERO 4'b0101 +`define IF_CARRY 4'b0110 +`define IF_NOT_CARRY 4'b0111 +`define IF_UF 4'b1000 +`define IF_NOT_UF 4'b1001 +//`define IF + +`define CONDITION `IF_NONE +`define IF(cond) \ +`undef CONDITION \ +`define CONDITION cond + +// *** Operation codes *** +`define OP_CODE_PROCB_C `OP_CODE 8 +`define OP_CODE_PROCB_C_FIN `OP_CODE 10 +`define OP_CODE_PROCB_C_STOP `OP_CODE 9 +`define OP_CODE_PROCB_R `OP_CODE 12 +`define OP_CODE_PROCB_R_FIN `OP_CODE 14 +`define OP_CODE_PROCB_R_STOP `OP_CODE 13 + +`define OP_TYPE_PROCB(c) (c >= 8 & c <= 15) +`define OP_TYPE_PROCB_R(c) (c >= 12 & c <= 15) + +`define OP_CODE_NEW_CTX `OP_CODE 7 +`define OP_CODE_LOAD_CTX `OP_CODE 6 + +`define OP_TYPE_INIT_CTX(c) (c == 6 | c == 7) + +`define OP_CODE_NOP `OP_CODE 0 +`define OP_CODE_HALT `OP_CODE 1 + +`define OP_CODE_ADD_R_C `OP_CODE 16 +`define OP_CODE_ADDC_R_C `OP_CODE 17 +`define OP_CODE_SUB_R_C `OP_CODE 18 +`define OP_CODE_SUBB_R_C `OP_CODE 19 +`define OP_CODE_INC_RST `OP_CODE 20 +`define OP_CODE_MV_R_C `OP_CODE 21 +`define OP_CODE_SHR1 `OP_CODE 22 +`define OP_CODE_MV_R_R `OP_CODE 23 +`define OP_CODE_AND `OP_CODE 24 + +// op:a[1:0](1-set, 2-reset, 3-invert) mask:b +// currently applicable to UF only +`define OP_CODE_FLAG `OP_CODE 25 + +`define OP_CODE_MV_UOB_R `OP_CODE 26 +`define OP_CODE_SET_OUTPUT_COMPLETE `OP_CODE 27 + +`define OP_CODE_MV_R_MEM_U `OP_CODE 28 +`define OP_CODE_MV_R_MEM_L `OP_CODE 29 +//`define OP_CODE_MV_R_MEM_2X `OP_CODE 30 + +`define OP_TYPE_MV_R_MEM(c) (c == 28 | c == 29 | c == 30) + +`define OP_CODE_JMP `OP_CODE 31 + +//`define OP_CODE_ILLEGAL(c) ( ~( \ +// c == + +`define OP_TYPE_SETS_ZF(c) ( \ + c == `OP_CODE_SUB_R_C | c == `OP_CODE_INC_RST | c == `OP_CODE_SHR1) + +`define OP_TYPE_SETS_OF(c) ( \ + c == `OP_CODE_SHR1) + +`define OP_TYPE_SETS_CF(c) ( \ + c == `OP_CODE_ADD_R_C | c == `OP_CODE_SUB_R_C \ + | c == `OP_CODE_ADDC_R_C | c == `OP_CODE_SUBB_R_C) + +`define OP_TYPE_USE_CF(c) ( \ + c == `OP_CODE_ADDC_R_C | c == `OP_CODE_SUBB_R_C) + + +// This op. potentially writes into a register +// (write might not be performed because of conditions). +// MV_R_MEM_* processed independently. +`define OP_TYPE_WRITE_REG(c) ( \ + c == `OP_CODE_ADD_R_C | c == `OP_CODE_SUB_R_C \ + | c == `OP_CODE_ADDC_R_C | c == `OP_CODE_SUBB_R_C \ + | c == `OP_CODE_INC_RST \ + | c == `OP_CODE_MV_R_C | c == `OP_CODE_SHR1 | c == `OP_CODE_MV_R_R \ + | c == `OP_CODE_AND) + +// Reads a register +`define OP_TYPE_USE_REG(c) ( \ + `OP_TYPE_WRITE_REG(c) & c != `OP_CODE_MV_R_C \ + | c == `OP_CODE_PROCB_R | c == `OP_CODE_PROCB_R_FIN \ + | c == `OP_CODE_MV_UOB_R) + +// read register only from field_a (timing issue) + +// These ops check conditions (hardcoded) +//`define OP_TYPE_CHECK_CONDITION(c) ( \ +// `OP_TYPE_WRITE_REG(c) | `OP_TYPE_PROCB(c) | c == `OP_CODE_JMP) + + +// ===== Instructions ===== +// +// *** Instructions - SHA256 subsystem *** +`define NEW_CTX(save_addr,save_len) {`FIELD_A 0, `EXEC_OPT_TS_WR_RDY, \ + `IF_NONE, `FIELD_B save_addr, `FIELD_C save_len, `OP_CODE_NEW_CTX} + +`define PROCESS_BYTES_C(addr,cnt) \ + {`FIELD_A 0, `EXEC_OPT_TS_WR_RDY, \ + `CONDITION, `FIELD_B addr, `FIELD_C cnt, `OP_CODE_PROCB_C} +`define PROCESS_BYTES_C_FINISH_CTX(addr,cnt) \ + {`FIELD_A 0, `EXEC_OPT_TS_WR_RDY, \ + `CONDITION, `FIELD_B addr, `FIELD_C cnt, `OP_CODE_PROCB_C_FIN} + +`define PROCESS_BYTES_R(addr,r) \ + {`FIELD_A r, `EXEC_OPT_TS_WR_RDY, \ + `CONDITION, `FIELD_B addr, `FIELD_C 0, `OP_CODE_PROCB_R} +`define PROCESS_BYTES_R_FINISH_CTX(addr,r) \ + {`FIELD_A r, `EXEC_OPT_TS_WR_RDY, \ + `CONDITION, `FIELD_B addr, `FIELD_C 0, `OP_CODE_PROCB_R_FIN} + +`define FINISH_CTX `PROCESS_BYTES_C_FINISH_CTX(0,0) + + +// *** Instructions - integer *** +`define ADD_R_C(r,const) {`FIELD_A r, `EXEC_OPT_NONE, \ + `CONDITION, `FIELD_B r, `FIELD_C const, `OP_CODE_ADD_R_C} +`define ADDC_R_C(r,const) {`FIELD_A r, `EXEC_OPT_NONE, \ + `CONDITION, `FIELD_B r, `FIELD_C const, `OP_CODE_ADDC_R_C} +`define SUB_R_C(dst,src,const) {`FIELD_A src, `EXEC_OPT_NONE, \ + `CONDITION, `FIELD_B dst, `FIELD_C const, `OP_CODE_SUB_R_C} +`define SUBB_R_C(dst,src,const) {`FIELD_A src, `EXEC_OPT_NONE, \ + `CONDITION, `FIELD_B dst, `FIELD_C const, `OP_CODE_SUBB_R_C} +`define INC_RST(r,const) {`FIELD_A r, `EXEC_OPT_NONE, \ + `CONDITION, `FIELD_B r, `FIELD_C const, `OP_CODE_INC_RST} +`define MV_R_C(r,const) {`FIELD_A r, `EXEC_OPT_NONE, \ + `CONDITION, `FIELD_B r, `FIELD_C const, `OP_CODE_MV_R_C} +`define SHR1(r) {`FIELD_A r, `EXEC_OPT_NONE, \ + `CONDITION, `FIELD_B r, `FIELD_C 0, `OP_CODE_SHR1} +// We can read from one register and store into other one +`define MV_R_R(dst,src) {`FIELD_A src, `EXEC_OPT_NONE, \ + `CONDITION, `FIELD_B dst, `FIELD_C 0, `OP_CODE_MV_R_R} +`define AND_R_C(dst,src,const) {`FIELD_A src, `EXEC_OPT_NONE, \ + `CONDITION, `FIELD_B dst, `FIELD_C const, `OP_CODE_AND} + + +// *** Instructions - I/O *** +//`define MV_R_MEM_2X(r,addr) {`FIELD_A 0, `EXEC_OPT_NONE, \ +// `IF_NONE, `FIELD_B r, `FIELD_C addr, `OP_CODE_MV_R_MEM_2X} +`define MV_R_MEM_L(r,addr) {`FIELD_A 0, `EXEC_OPT_NONE, \ + `IF_NONE, `FIELD_B r, `FIELD_C addr, `OP_CODE_MV_R_MEM_L} +`define MV_R_MEM_U(r,addr) {`FIELD_A 0, `EXEC_OPT_NONE, \ + `IF_NONE, `FIELD_B r, `FIELD_C addr, `OP_CODE_MV_R_MEM_U} + +`define MV_UOB_R(uob_addr,r) {`FIELD_A r, `EXEC_OPT_TS_WR_RDY, \ + `IF_NONE, `FIELD_B 0, `FIELD_C uob_addr, `OP_CODE_MV_UOB_R} +`define SET_OUTPUT_COMPLETE {`FIELD_A 0, `EXEC_OPT_TS_WR_RDY, \ + `IF_NONE, `FIELD_B 0, `FIELD_C 0, `OP_CODE_SET_OUTPUT_COMPLETE} + + +// *** Instructions - execution control *** +`define NOP {`FIELD_A 0, `EXEC_OPT_NONE, \ + `IF_NONE, `FIELD_B 0, `FIELD_C 0, `OP_CODE_NOP} +`define HALT {`FIELD_A 0, `EXEC_OPT_NONE, \ + `IF_NONE, `FIELD_B 0, `FIELD_C 0, `OP_CODE_HALT} + +`define JMP(addr) {`FIELD_A 0, `EXEC_OPT_NONE, \ + `CONDITION, `FIELD_B 0, `FIELD_C addr, `OP_CODE_JMP} + +`define SET_UF {`FIELD_A 0, `EXEC_OPT_NONE, \ + `CONDITION, `FIELD_B 1, `FIELD_C 0, `OP_CODE_FLAG} +`define RST_UF {`FIELD_A 0, `EXEC_OPT_NONE, \ + `CONDITION, `FIELD_B 2, `FIELD_C 0, `OP_CODE_FLAG} +`define INV_UF {`FIELD_A 0, `EXEC_OPT_NONE, \ + `CONDITION, `FIELD_B 3, `FIELD_C 0, `OP_CODE_FLAG} + + +// *** Registers - BRAM *** +`define R0 0 +`define R1 1 +`define R2 2 +`define R3 3 +`define R4 4 +`define R5 5 +`define R6 6 +`define R7 7 +`define R8 8 +`define R9 9 +`define R10 10 +`define R11 11 +`define R12 12 +`define R13 13 +`define R14 14 +`define R15 15 + diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/add3.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/add3.v new file mode 100644 index 00000000000..bd3189e5661 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/add3.v @@ -0,0 +1,50 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +`include "../sha256.vh" + +// +// Synthesis: Optimization: Area +// +`ifndef SIMULATION + +module add3 #( + parameter WIDTH = 32, + parameter [WIDTH-1:0] IV = 0 + )( + input CLK, + input [WIDTH-1:0] a, b, c, + input en, rst, + output reg [WIDTH-1:0] o = IV + ); + +endmodule + +`else + +module add3 #( + parameter WIDTH = 32, + parameter [WIDTH-1:0] IV = 0 + )( + input CLK, + input [WIDTH-1:0] a, b, c, + input en, rst, + output reg [WIDTH-1:0] o = IV + ); + + always @(posedge CLK) + if (rst) + o <= IV; + else if (en) + o <= a + b + c; + +endmodule + +`endif diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/add3_unreg.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/add3_unreg.v new file mode 100644 index 00000000000..e7bb8fecd0f --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/add3_unreg.v @@ -0,0 +1,40 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +`include "../sha256.vh" + +// +// Synthesis: Optimization: Area +// +`ifndef SIMULATION + +module add3_unreg #( + parameter WIDTH = 32 + )( + input [WIDTH-1:0] a, b, c, + output [WIDTH-1:0] o + ); + +endmodule + +`else + +module add3_unreg #( + parameter WIDTH = 32 + )( + input [WIDTH-1:0] a, b, c, + output [WIDTH-1:0] o + ); + + assign o = a + b + c; + +endmodule + +`endif diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/core_input_buf.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/core_input_buf.v new file mode 100644 index 00000000000..68581082f5e --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/core_input_buf.v @@ -0,0 +1,36 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + + +module core_input_buf( + input CLK, + + input [31:0] din, + input [3:0] wr_addr, + input wr_en, + + output reg [31:0] dout = 0, + input rd_en, + input [3:0] rd_addr + ); + + // Data block 512-bit (2x) + (* RAM_STYLE="DISTRIBUTED" *) + reg [31:0] input_buf [0:15]; + + always @(posedge CLK) begin + if (rd_en) + dout <= input_buf [rd_addr]; + if (wr_en) + input_buf [wr_addr] <= `SWAP(din); + end + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/core_output_buf_bram.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/core_output_buf_bram.v new file mode 100644 index 00000000000..84aa459088c --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/core_output_buf_bram.v @@ -0,0 +1,136 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + + +module core_output_buf_bram( + input CLK, + + input [31:0] din, + input wr_en, + input [3:0] wr_addr, + input wr_seq, + + // ============================================================== + // + // OUTPUT OPERATION + // + // 1. At some stage, 'core_out_ready' asserts. + // core_out_ctx_num, core_out_seq_num are set accordingly. + // 2. Wait for input rd_en, then transmit 16 x 16-bit + // + // ============================================================== + output reg [15:0] dout, + output reg core_out_ready = 0, core_out_start = 0, + output reg core_out_ctx_num, core_out_seq_num, + input rd_en + ); + + (* RAM_STYLE="BLOCK" *) + reg [31:0] mem [31:0]; + + reg full0 = 0, full1 = 0; + wire rst_full0, rst_full1; + reg seq0, seq1; + reg [15:0] X_INPUT_ERRORS = 0; + + + // ***************************************************** + // + // Input + // + // ***************************************************** + always @(posedge CLK) begin + if (wr_en) + mem [wr_addr] <= din; + + if (wr_en & wr_addr == 0) begin + full0 <= 1; + seq0 <= wr_seq; + end + if (rst_full0) + full0 <= 0; + + if (wr_en & wr_addr == 8) begin + full1 <= 1; + seq1 <= wr_seq; + end + if (rst_full1) + full1 <= 0; + +`ifdef SIMULATION + // Output has enough bandwith, there should be no errors + if (wr_en & wr_addr == 0 & full0 + | wr_en & wr_addr == 8 & full1) + X_INPUT_ERRORS <= X_INPUT_ERRORS + 1'b1; +`endif + end + + + // ***************************************************** + // + // Output + // + // ***************************************************** + reg [3:0] output_cnt = 0; // output are 16 words X 16 bit + + reg [31:0] mem_r; + + localparam STATE_OUTPUT_NONE = 0, + STATE_OUTPUT_READY = 1, + STATE_OUTPUT_START = 2, + STATE_OUTPUT_READ_MEM = 3; + + (* FSM_EXTRACT="true", FSM_ENCODING="one-hot" *) + reg [1:0] state_output = STATE_OUTPUT_NONE; + + always @(posedge CLK) begin + + case(state_output) + STATE_OUTPUT_NONE: if (full0 | full1) begin + core_out_ready <= 1; + core_out_ctx_num <= full0 ? 1'b0 : 1'b1; + core_out_seq_num <= full0 ? seq0 : seq1; + state_output <= STATE_OUTPUT_READY; + end + + STATE_OUTPUT_READY: if (rd_en) begin + state_output <= STATE_OUTPUT_START; + end + + STATE_OUTPUT_START: begin + core_out_ready <= 0; + state_output <= STATE_OUTPUT_READ_MEM; + end + + STATE_OUTPUT_READ_MEM: begin + core_out_start <= output_cnt == 0; + mem_r <= mem [{ core_out_ctx_num, output_cnt[3:1] }]; + + output_cnt <= output_cnt + 1'b1; + if (output_cnt == 15) + state_output <= STATE_OUTPUT_NONE; + end + endcase + end + + reg dout_en = 0; + + always @(posedge CLK) begin + dout_en <= state_output == STATE_OUTPUT_READ_MEM; + if (dout_en) + dout <= output_cnt[0] ? mem_r[31:16] : mem_r[15:0]; + end + + assign rst_full0 = ~core_out_ctx_num & state_output == STATE_OUTPUT_START; + assign rst_full1 = core_out_ctx_num & state_output == STATE_OUTPUT_START; + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/ff16.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/ff16.v new file mode 100644 index 00000000000..aafa5565e22 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/ff16.v @@ -0,0 +1,45 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +`include "../sha256.vh" + +`ifndef SIMULATION + +module ff16 #( + parameter N = 16 + )( + input CLK, + input en, rst, + input [N-1:0] i, + output reg [N-1:0] o = 0 + ); + +endmodule + +`else + +module ff16 #( + parameter N = 16 + )( + input CLK, + input en, rst, + input [N-1:0] i, + output reg [N-1:0] o = 0 + ); + + always @(posedge CLK) + if (rst) + o <= 0; + else if (en) + o <= i; + +endmodule + +`endif diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/ff32.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/ff32.v new file mode 100644 index 00000000000..d0477c700bd --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/ff32.v @@ -0,0 +1,45 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +`include "../sha256.vh" + +`ifndef SIMULATION + +module ff32 #( + parameter N = 32 + )( + input CLK, + input en, rst, + input [N-1:0] i, + output reg [N-1:0] o = 0 + ); + +endmodule + +`else + +module ff32 #( + parameter N = 32 + )( + input CLK, + input en, rst, + input [N-1:0] i, + output reg [N-1:0] o = 0 + ); + + always @(posedge CLK) + if (rst) + o <= 0; + else if (en) + o <= i; + +endmodule + +`endif diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256_Kt_bram.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256_Kt_bram.v new file mode 100644 index 00000000000..760c1efbcda --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256_Kt_bram.v @@ -0,0 +1,88 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +`define Kt_N_CYCLES 72 + +`define Kt(x) (K[32*(`Kt_N_CYCLES-(x))-1 -:32]) + + +module sha256_Kt_bram( + input CLK, + input en, + input [6:0] t, + output [31:0] Kt, + + // "dummy" 2nd write-only port + input wr_en, + input wr_addr + ); + + localparam [32*`Kt_N_CYCLES-1 :0] K = { + 32'h0, 32'h0, 32'h0, 32'h0, + 32'h0, 32'h0, 32'h0, + 32'h428a2f98, 32'h71374491, 32'hb5c0fbcf, 32'he9b5dba5, + 32'h3956c25b, 32'h59f111f1, 32'h923f82a4, 32'hab1c5ed5, + 32'hd807aa98, 32'h12835b01, 32'h243185be, 32'h550c7dc3, + 32'h72be5d74, 32'h80deb1fe, 32'h9bdc06a7, 32'hc19bf174, + 32'he49b69c1, 32'hefbe4786, 32'h0fc19dc6, 32'h240ca1cc, + 32'h2de92c6f, 32'h4a7484aa, 32'h5cb0a9dc, 32'h76f988da, + 32'h983e5152, 32'ha831c66d, 32'hb00327c8, 32'hbf597fc7, + 32'hc6e00bf3, 32'hd5a79147, 32'h06ca6351, 32'h14292967, + 32'h27b70a85, 32'h2e1b2138, 32'h4d2c6dfc, 32'h53380d13, + 32'h650a7354, 32'h766a0abb, 32'h81c2c92e, 32'h92722c85, + 32'ha2bfe8a1, 32'ha81a664b, 32'hc24b8b70, 32'hc76c51a3, + 32'hd192e819, 32'hd6990624, 32'hf40e3585, 32'h106aa070, + 32'h19a4c116, 32'h1e376c08, 32'h2748774c, 32'h34b0bcb5, + 32'h391c0cb3, 32'h4ed8aa4a, 32'h5b9cca4f, 32'h682e6ff3, + 32'h748f82ee, 32'h78a5636f, 32'h84c87814, 32'h8cc70208, + 32'h90befffa, 32'ha4506ceb, 32'hbef9a3f7, 32'hc67178f2, + 32'h0 + }; + + integer i; + + (* RAM_STYLE="block" *) + reg [31:0] mem [127:0]; + initial + for (i = 0; i < 72; i = i+1) + mem[i] = `Kt(i); + + reg [31:0] mem_r; + always @(posedge CLK) + if (en) + mem_r <= mem[t]; + + + reg en_r = 0, en_r2 = 0; + always @(posedge CLK) begin + en_r <= en; + en_r2 <= en_r; + end + + wire rst = en_r2 & ~en_r; + + // Prevent inference of BRAM output regs + ff32 ff_reg( + .CLK(CLK), .en(en_r), .rst(rst), + .i(mem_r), .o(Kt) + ); + + + + // + // Declaring "dummy" 2nd write-only port + // + (* KEEP="true" *) wire wr_en_keep = wr_en; + (* KEEP="true" *) wire wr_addr_keep = wr_addr; + always @(posedge CLK) + if (wr_en_keep) + mem[wr_addr_keep] <= 1'b0; + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256block.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256block.v new file mode 100644 index 00000000000..42feed364c4 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256block.v @@ -0,0 +1,200 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +`include "../sha256.vh" + +`define SHA256_R0(x) (`CYCLIC (x, 7) ^ `CYCLIC (x, 18) ^ (x >> 3)) +`define SHA256_R1(x) (`CYCLIC (x, 17) ^ `CYCLIC (x, 19) ^ (x >> 10)) + + +module sha256block( + input CLK, + + input external_input_en, // select external input + input ctx_save_en, // select save into memory from context + //input save_en, + input [31:0] in, + + // memory ops + input mem_wr_en, + input mem_rd_en0, mem_rd_en1, + input [6:0] wr_addr, rd_addr0, rd_addr1, + + //input R0_en, R1_rst, R1_en, W16_rst, W16_en, + input R0_en, R1_en, W16_rst, W16_en, Wt_2_en, + + // Kt unit + input Kt_en, + input [6:0] K_round_num, + + // Context unit + input S1_CH_I_rst, S1_CH_I_en, + input S0_en, MAJ_en, block2ctx_en, + input ctx_en, + + input output_en, + output [31:0] o + ); + + //reg [31:0] save_r = 0; + wire [31:0] mem_input; + + wire [31:0] mem0_out, mem1_out; + + w_mem w_mem( + .CLK(CLK), + //.in(save_r), + .in(mem_input), + .wr_en(mem_wr_en), .wr_addr(wr_addr), + + .rd_addr0(rd_addr0), .rd_addr1(rd_addr1), + .rd_en0(mem_rd_en0), .rd_en1(mem_rd_en1), + .out0(mem0_out), .out1(mem1_out) // right out from BRAM + ); + + // + // Prevent usage of BRAM output registers + // + reg mem_rd_en0_r = 0, mem_rd_en1_r = 0; + always @(posedge CLK) begin + mem_rd_en0_r <= mem_rd_en0; + mem_rd_en1_r <= mem_rd_en1; + end + + wire [31:0] mem0, mem1; + + ff32 ff_reg0( + .CLK(CLK), .en(mem_rd_en0_r), .rst(1'b0), + .i(mem0_out), .o(mem0) + ); + + ff32 ff_reg1( + .CLK(CLK), .en(mem_rd_en1_r), .rst(1'b0), + .i(mem1_out), .o(mem1) + ); + + + wire [31:0] Wtmp = + external_input_en ? in : + R0_en ? `SHA256_R0(mem1) + mem0 : + mem0; + + reg [31:0] W16 = 0; + always @(posedge CLK) + if (W16_rst) + W16 <= 0; + else if (W16_en) + W16 <= mem1; +/* + reg [31:0] R1 = 0; + always @(posedge CLK) + if (R1_rst) + R1 <= 0; + else if (R1_en) + R1 <= `SHA256_R1(Wt); +*/ + wire [31:0] R1; + + wire [31:0] Wt; + add3 Wt_inst (.CLK(CLK), .en(1'b1), .rst(1'b0), + .a(Wtmp), .b(W16), .c(R1), .o(Wt) ); + + reg [31:0] Wt_2; + always @(posedge CLK) + if (Wt_2_en) + Wt_2 <= Wt; + + assign R1 = R1_en ? `SHA256_R1(Wt_2) : 0; + + wire [31:0] ctx2block; + assign mem_input = ctx_save_en ? ctx2block : Wt_2;//Wt; + //always @(posedge CLK) + // if (save_en) + // save_r <= ctx_save_en ? ctx2block : Wt; + + + wire [31:0] Kt; + sha256_Kt_bram sha256_Kt( + .CLK(CLK), + .en(Kt_en), .t(K_round_num), .Kt(Kt), + .wr_en(1'b0), .wr_addr(1'b0) + ); + + + sha256ctx sha256ctx( + .CLK(CLK), + .S1_CH_I_rst(S1_CH_I_rst), .S1_CH_I_en(S1_CH_I_en), + .S0_en(S0_en), .MAJ_en(MAJ_en), .block2ctx_en(block2ctx_en), + .en(ctx_en),// .D2E_en(1'b0), + .block2ctx(mem1), .Wt(Wt), .Kt(Kt), + .output_en(output_en), .o(ctx2block) + ); + + assign o = ctx2block; + +endmodule + + +// Memory for W[t], IVs and saved contexts. +// 1 write channel, 2 read channels. +// Expecting 2 BRAM x 1 Kbyte. +// +// outputs: +// mem0 - W[t-7], values for post-block additions +// mem1 - W[t-15], IVs & saved contexts (via block2ctx) +// +// content +// 0..15 - current block +// 24..31 - IVs in reverse order (H..A) +// 32..63 - context save slots (0..3) for seq0 +// 96..127 - context save slots (0..3) for seq1 +// +module w_mem( + input CLK, + + input [31:0] in, + input wr_en, + input [6:0] wr_addr, + + input [6:0] rd_addr0, rd_addr1, + input rd_en0, rd_en1, + output [31:0] out0, out1 + ); + + localparam [255:0] SHA256_IV = `SHA256_IV; + + integer k; + + (* RAM_STYLE="BLOCK" *) + reg [31:0] mem0 [127:0], mem1 [127:0]; + initial + for (k=24; k <= 31; k=k+1) begin + mem0[k] = SHA256_IV[(31-k)*32 +:32]; + mem1[k] = SHA256_IV[(31-k)*32 +:32]; + end + + reg [31:0] mem0_r = 0, mem1_r = 0; + + always @(posedge CLK) begin + if (wr_en) begin + mem0 [wr_addr] <= in; + mem1 [wr_addr] <= in; + end + + if (rd_en0) + mem0_r <= mem0 [rd_addr0]; + if (rd_en1) + mem1_r <= mem1 [rd_addr1]; + end + + assign out0 = mem0_r; + assign out1 = mem1_r; + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256core.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256core.v new file mode 100644 index 00000000000..6f51b689fa9 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256core.v @@ -0,0 +1,335 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + +`ifdef SIMULATION +// +// - fully performs SHA-256 computation, incl. addition after each block +// - it's able for multiple blocks +// - 2 blocks are performed in 2*(64+8) = 144 cycles, given +// input buffer always has supply of data in time. +// +module sha256core #( + parameter ID = -1 + )( + input CLK, + // Synchronization of several cores + input start, // asserts on cycle 0 of each sequence + output reg ready = 1, // input buffer is ready for data + + input wr_en, + input [31:0] in, + input [3:0] wr_addr, + input [`BLK_OP_MSB:0] input_blk_op, // registered on set_input_ready + input input_seq, // registered on set_input_ready + input set_input_ready, // valid only when wr_en is asserted + + output [31:0] dout, + output dout_seq, + output reg dout_en = 0 + //output dout_en // Asserts 1 cycle before actual data + ); + + + // *************************************************************** + // + // STATE, ROUND COUNTERS + // + // *************************************************************** + reg [6:0] cnt = 72; // round count 0..71. (72 - idle) + + wire start_eqn = start & input_ready & (cnt == 71 | cnt == 72) + // Same sequence, same computation - wait until IVs are saved + & (`BLK_OP_IF_NEW_CTX(input_blk_op_r) + | input_seq_num_r != dout_seq + | after_cnt >= 6); + + always @(posedge CLK) + if (start_eqn) begin + // If new block has same sequence number - wait + cnt <= 0; + blk_op <= input_blk_op_r; + seq_num <= input_seq_num_r; + end + else if (cnt != 72) + cnt <= cnt + 1'b1; + + // it requires to finish operation after "main" counter is done + reg [3:0] after_cnt = 12; + always @(posedge CLK) + if (cnt == 69) begin + after_cnt <= 0; + after_blk_op <= blk_op; + after_seq_num <= seq_num; + end + else if (after_cnt < 12) + after_cnt <= after_cnt + 1'b1; + + reg ctx_en = 0; // clock enable for A..G + always @(posedge CLK) + if (input_ready) + ctx_en <= 1; + else if (cnt == 72 & after_cnt == 12) + ctx_en <= 0; + + + // *************************************************************** + // + // INPUT CONTROLS + // + // *************************************************************** + always @(posedge CLK) + if (wr_en) + ready <= 0; + else if (cnt == 8) + ready <= 1; + + reg input_ready = 0; // input buffer has required data + always @(posedge CLK) + if (wr_en & set_input_ready) + input_ready <= 1; + else if (start_eqn) + input_ready <= 0; + +`ifdef SIMULATION + reg z = 0; + reg [16:0] X_BLK_NUM = 0; + always @(posedge CLK) + if (wr_en & set_input_ready) begin + X_BLK_NUM <= X_BLK_NUM + 1'b1; + if (X_BLK_NUM == 9 | X_BLK_NUM == 10 | X_BLK_NUM == 11 | X_BLK_NUM == 12) + z <= 1; + if (ID==0 & input_seq==1) + z <= 1; + end +`endif + + // Options for block computation + reg [`BLK_OP_MSB:0] input_blk_op_r, blk_op, after_blk_op; + reg input_seq_num_r, seq_num, after_seq_num; + always @(posedge CLK) + if (wr_en & set_input_ready) begin + input_blk_op_r <= input_blk_op; + input_seq_num_r <= input_seq; + end + + assign dout_seq = after_seq_num; + + + // *************************************************************** + // + // INPUT - BUFFER & OTHER DATA + // + // allows to perform input independently from other operations. + // If input data is ready, computaion for the next block + // starts before it finishes the current block. + // + // *************************************************************** + + wire input_buf_rd_en = cnt >= 7 & cnt <= 22; + wire [3:0] input_buf_rd_addr = cnt - 7; + wire [31:0] input_buf_dout; + + core_input_buf core_input_buf( + .CLK(CLK), .din(in), .wr_en(wr_en), + .wr_addr(wr_addr), + .dout(input_buf_dout), .rd_en(input_buf_rd_en), + .rd_addr(input_buf_rd_addr) + ); + + + + // *************************************************************** + // + // BLOCK & CONTEXT OPERATION. + // + // *************************************************************** + + // Block controls - read from input buffer & memory + reg external_input_en = 0; + always @(posedge CLK) + external_input_en <= input_buf_rd_en; + + wire mem_rd_en1 = + // Read starts 1 cycle before mem0 to fill-in W[t-16] + cnt >= 21 & cnt <= 69 + // load context from mem1 via block2ctx + | cnt >= 0 & cnt <= 7; + + wire [3:0] rd_addr1_16_63 = cnt - 22 - 15; + wire [6:0] rd_addr1 = + // Load context from mem1 via block2ctx + cnt >= 0 & cnt <= 7 ? + ( `BLK_OP_IF_NEW_CTX(blk_op) ? { 4'b0011, cnt[2:0] } : + { seq_num, 1'b1, `BLK_OP_LOAD_CTX_NUM(blk_op), cnt[2:0] } + ) + : { 3'b000, rd_addr1_16_63 }; // Read W[t-15] + + + wire mem_rd_en0 = //cnt >= 22 & cnt <= 69 + cnt >= 21 & cnt <= 69 // opt. + | after_cnt >= 0 & after_cnt <= 7; // Load IVs for post-additions + + wire [3:0] rd_addr0_16_63 = cnt - 22 - 7; + wire [6:0] rd_addr0 = + // Load IVs for post-additions + after_cnt >= 0 & after_cnt <= 7 ? + ( `BLK_OP_IF_NEW_CTX(after_blk_op) ? { 4'b0011, after_cnt[2:0] } : + { after_seq_num, 1'b1, `BLK_OP_LOAD_CTX_NUM(after_blk_op), + after_cnt[2:0] } + ) + : { 3'b000, rd_addr0_16_63 }; // Read W[t-7] + + + // Block controls - write into memory + reg ctx_save_en = 0; + always @(posedge CLK) + ctx_save_en <= after_cnt >= 3 & after_cnt <= 10; + + wire mem_wr_en = + cnt >= 10 & cnt <= 66 // Write W[t] for t in 0..47 + //| after_cnt >= 4 & after_cnt <= 11; // write result + | ctx_save_en;// & ~BLK_OP_END_COMP_OUTPUT(after_blk_op); + + wire [3:0] mem_wr_addr_0_56 = cnt - 10; + wire [2:0] mem_wr_addr_result = after_cnt - 4; + + wire [6:0] mem_wr_addr = + ctx_save_en ? + // Save context into slot 0..N + { after_seq_num, 1'b1, `BLK_OP_SAVE_CTX_NUM(after_blk_op), + mem_wr_addr_result } + : { 3'b000, mem_wr_addr_0_56 }; + + + // Block controls - R0, R1, W[t-2], W[t-15] + //wire R0_en = cnt >= 23 & cnt <= 71; + reg R0_en = 0; + always @(posedge CLK) + R0_en <= cnt >= 22 & cnt <= 70; + + wire Wt_2_en = cnt >= 9 & cnt <= 70; + + //wire R1_rst = cnt == 71; + //wire R1_en = cnt >= 23 & cnt <= 70; + reg R1_en = 0; + always @(posedge CLK) + R1_en <= cnt >= 23 & cnt <= 70; + + wire W16_rst = cnt == 71; + wire W16_en = cnt >= 23 & cnt <= 70; + + // K unit controls + wire Kt_en = cnt >= 7 & cnt <= 70; + wire [6:0] K_round_num = cnt; + + + // Context controls + reg block2ctx_en = 0; + always @(posedge CLK) + block2ctx_en <= cnt >= 1 & cnt <= 8; + + wire MAJ_en = ~block2ctx_en; + + wire S0_en = ~block2ctx_en; + + wire S1_CH_I_rst = after_cnt == 3; + reg S1_CH_I_en = 0; + always @(posedge CLK) + S1_CH_I_en <= cnt >= 8 & cnt <= 71; + + reg output_en = 0; + always @(posedge CLK) + output_en <= after_cnt >= 2 & after_cnt <= 9; + + always @(posedge CLK) + dout_en <= after_cnt >= 2 & after_cnt <= 9 + & `BLK_OP_END_COMP_OUTPUT(after_blk_op); + + //assign dout_en = output_en; + + + wire [31:0] block_output; + sha256block sha256block( + .CLK(CLK), + .external_input_en(external_input_en), .ctx_save_en(ctx_save_en), + .in(input_buf_dout),// .save_en(1'b1), + + .mem_wr_en(mem_wr_en), .wr_addr(mem_wr_addr), + .mem_rd_en0(mem_rd_en0), .mem_rd_en1(mem_rd_en1), + .rd_addr0(rd_addr0), .rd_addr1(rd_addr1), + + .R0_en(R0_en), .R1_en(R1_en),// .R1_rst(R1_rst), + .W16_rst(W16_rst), .W16_en(W16_en), .Wt_2_en(Wt_2_en), + + .Kt_en(Kt_en), .K_round_num(K_round_num), + + .S1_CH_I_rst(S1_CH_I_rst), .S1_CH_I_en(S1_CH_I_en), + .S0_en(S0_en), .MAJ_en(MAJ_en), .block2ctx_en(block2ctx_en), + .ctx_en(ctx_en), .output_en(output_en), + .o(block_output) + ); + + assign dout = `SWAP(block_output); + +endmodule + +`else + +module sha256core #( + parameter ID = -1 + )( + input CLK, + // Synchronization of several cores + input start, // asserts on cycle 0 of each sequence + output reg ready = 1, // input buffer is ready for data + + input wr_en, + input [31:0] in, + input [3:0] wr_addr, + input [`BLK_OP_MSB:0] input_blk_op, // registered on set_input_ready + input input_seq, // registered on set_input_ready + input set_input_ready, // valid only when wr_en is asserted + + output [31:0] dout, + output dout_seq, + output reg dout_en = 0 + ); + +endmodule + +`endif + + +module sha256core_dummy( + input CLK, + // Synchronization of several cores + input start, // asserts on cycle 0 of each sequence + output ready, // input buffer is ready for data + + input wr_en, + input [31:0] in, + input [3:0] wr_addr, + input [`BLK_OP_MSB:0] input_blk_op, // registered on set_input_ready + input input_seq, // registered on set_input_ready + input set_input_ready, // valid only when wr_en is asserted + + output [31:0] dout, + output dout_seq, + output dout_en + ); + + (* KEEP="true" *) assign ready = 1'b1; + //(* KEEP="true" *) assign dout = 1'b0; + (* KEEP="true" *) assign dout_seq = 1'b0; + (* KEEP="true" *) assign dout_en = 1'b0; + +endmodule + diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256core_test.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256core_test.v new file mode 100644 index 00000000000..6dbfcea2de0 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256core_test.v @@ -0,0 +1,215 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + + +`include "../sha256.vh" + +module sha256core_test(); + + integer k; + + reg CLK = 0; // Each cycle is 20ns + + reg start = 0; + reg [6:0] round_cnt = 0; + always @(posedge CLK) begin + if (start) + start <= 0; + + if (round_cnt == 71) begin + round_cnt <= 0; + start <= 1; + end + else + round_cnt <= round_cnt + 1'b1; + end + + + reg wr_en = 0; + reg [31:0] i; + reg [3:0] wr_addr; + reg [`BLK_OP_MSB:0] blk_op = 0; + reg set_input_ready = 0; + + wire [15:0] core_dout; + reg rd_en = 0; + + sha256core sha256core( + .CLK(CLK), + + .start(start), .input_seq_num(), + .ready(ready), + + .wr_en(wr_en), .in(i), .wr_addr(wr_addr), + .input_blk_op(blk_op), + .input_seq(1'b0), .set_input_ready(set_input_ready), + + .dout(core_dout), .dout_en(core_dout_en), + ); + + + initial begin + #20; + // + // TEST 1. + // + // Sending 1st block from the 1st element from the test vector + // from sha256crypt reference implementation [1] as follows: + // + // { "$5$saltstring", "Hello world!", + // "$5$saltstring$5B8vYYiY.CVt1RlTTf8KbXBH3hsxY/GNooZaBBGWEc5" }, + // + // Sending 16 words X 32 bit. + // Actually that's concatenated "Hello world!", salt "saltstring" + // and one more "Hello world!" plus SHA512 padding and data length. + // Data size is 1 block. + // + wr_en <= 1; + //`BLK_OP_IF_CONTINUE_CTX(blk_op) <= 0; // unused + `BLK_OP_IF_NEW_CTX(blk_op) <= 1; // new context + //`BLK_OP_LOAD_CTX_NUM(blk_op) <= 0; // default 0 + `BLK_OP_SAVE_CTX_NUM(blk_op) <= 0; // save to slot 0 + `BLK_OP_END_COMP_OUTPUT(blk_op) <= 1; // output result + i <= 32'h6c6c6548; wr_addr <= 0; #20; + i <= 32'h6f77206f; wr_addr <= 1; #20; + i <= 32'h21646c72; wr_addr <= 2; #20; + i <= 32'h746c6173; wr_addr <= 3; #20; + i <= 32'h69727473; wr_addr <= 4; #20; + i <= 32'h6548676e; wr_addr <= 5; #20; + i <= 32'h206f6c6c; wr_addr <= 6; #20; + i <= 32'h6c726f77; wr_addr <= 7; #20; + i <= 32'h00802164; wr_addr <= 8; #20; + + for (k=9; k <= 14; k=k+1) begin + i <= 32'h0; wr_addr <= k; #20; + end + set_input_ready <= 1; + i <= 32'h10010000; wr_addr <= 15; #20; + set_input_ready <= 0; + wr_en <= 0; + #20; + //start <= 1; #20; + //start <= 0; + + // + // After the run, memory must contain: (no SWAP) + // (cells 32-39 of sha256block.w_mem.mem0) + // [39] 4b30312f + // [38] 1a4b690a + // ... + // [33] 6a322253 + // [32] bd37bfc1 + // + + while (~ready) #20; + + // + // TEST 2. + // + // Performing 2nd computation from the 1st element from the reference + // implementation. + // The content also begins with "Hello world!saltstring" + // Follows binary data derived from the previous computation: + // - 12 first bytes (=key_len) from the previous result ("alternate sum") + // - "Take the binary representation of the length of the key and for every + // 1 add the alternate sum, for every 0 the key." + // Data size is 2 blocks. + // + wr_en <= 1; + //`BLK_OP_IF_CONTINUE_CTX(blk_op) <= 0; + `BLK_OP_IF_NEW_CTX(blk_op) <= 1; // new context + //`BLK_OP_LOAD_CTX_NUM(blk_op) <= 0; + `BLK_OP_SAVE_CTX_NUM(blk_op) <= 1; // save into slot 1 + i <= 32'h6c6c6548; wr_addr <= 0; #20; + i <= 32'h6f77206f; wr_addr <= 1; #20; + i <= 32'h21646c72; wr_addr <= 2; #20; + i <= 32'h746c6173; wr_addr <= 3; #20; + i <= 32'h69727473; wr_addr <= 4; #20; + i <= 32'h304b676e; wr_addr <= 5; #20; + i <= 32'h4b1a2f31; wr_addr <= 6; #20; + i <= 32'he12f0a69; wr_addr <= 7; #20; + i <= 32'h65488c9a; wr_addr <= 8; #20; + i <= 32'h206f6c6c; wr_addr <= 9; #20; + i <= 32'h6c726f77; wr_addr <= 10; #20; + i <= 32'h65482164; wr_addr <= 11; #20; + i <= 32'h206f6c6c; wr_addr <= 12; #20; + i <= 32'h6c726f77; wr_addr <= 13; #20; + i <= 32'h304b2164; wr_addr <= 14; #20; + set_input_ready <= 1; + i <= 32'h4b1a2f31; wr_addr <= 15; #20; + set_input_ready <= 0; + wr_en <= 0; + // [7] 4d2bbb07 + // [0] b3c2ba3e + + while (~ready) #20; +/* + // Sending the 2nd block (final) + wr_en <= 1; + //`BLK_OP_IF_CONTINUE_CTX(blk_op) <= 1; // the next block, continue context + `BLK_OP_IF_NEW_CTX(blk_op) <= 0; + `BLK_OP_LOAD_CTX_NUM(blk_op) <= 1; // slot# with values from previous block + `BLK_OP_SAVE_CTX_NUM(blk_op) <= 3; // save into slot 3 + set_input_ready <= 1; + i <= 64'h06ad7ce39ea3893f; wr_addr <= 0; #20; + set_input_ready <= 0; + i <= 64'hedff998f3b647fb3; wr_addr <= 1; #20; + i <= 64'hd5cfed28ff76201b; wr_addr <= 2; #20; + i <= 64'h6e12f50c6dce61bc; wr_addr <= 3; #20; + i <= 64'he19f993d7cd8e59a; wr_addr <= 4; #20; + i <= 64'h0bf90ddc132c1287; wr_addr <= 5; #20; + i <= 64'h93d246618124ee15; wr_addr <= 6; #20; + i <= 64'h0000000000802cf9; wr_addr <= 7; #20; + for (k=8; k <= 14; k=k+1) begin + i <= 64'h0; wr_addr <= k; #20; + end + i <= 64'hd005000000000000; wr_addr <= 15; #20; + wr_en <= 0; + // memory: + // [7] d31227da_ebe0b43e + // [0] d8a1cff2_fbd26c81 + + while (~ready) #20; +*/ + end + + // ***************************************************** + // + // Collect output from the core (16 x 16) + // + // ***************************************************** +/* + reg [15:0] CORE_OUTPUT [15:0]; + + initial begin + #20; + while (~core_out_ready) #20; + rd_en <= 1; #20; + rd_en <= 0; + // Using: core_output_buf_bram + // core_rd_en to core_out_start delay: 2 cycles + // core_out_start to 1st data word delay: 1 cycle + while (~core_out_start) #20; + #20; + for (k=0; k < 16; k=k+1) begin + CORE_OUTPUT [k] <= core_dout; #20; + end + + end +*/ + + initial begin + #5; + while(1) begin + CLK <= ~CLK; #10; + end + end + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256ctx.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256ctx.v new file mode 100644 index 00000000000..99485858aa6 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256core/sha256ctx.v @@ -0,0 +1,125 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +`include "../sha256.vh" + +`define SHA256_CH(x, y, z) ((x & y) ^ (~x & z)) +`define SHA256_MAJ(x, y, z) ((x & y) ^ (x & z) ^ (y & z)) +`define SHA256_S0(x) (`CYCLIC (x, 2) ^ `CYCLIC (x, 13) ^ `CYCLIC (x, 22)) +`define SHA256_S1(x) (`CYCLIC (x, 6) ^ `CYCLIC (x, 11) ^ `CYCLIC (x, 25)) + + +// Notes. +// +// - At the same time 2 contexts are running, in 2 clock cycles +// each one performs one round. +// - Both contexts are independent one from another. +// +// - Performs SHA256 block (64 rounds) in 64 + 8 cycles +// - It performs operations other than 64 rounds, such as post-addition +// and output of computed result for save. To accomplish that, +// it has ability to set passby I->A and D->E via adders +// (other inputs of adders are set to 0 at that time). +// - For 8 cycles after 64 rounds, it performs addition with values +// from the previous block (input via Wt) and output of computed +// result for save. Also the result remains in registers and is +// used for subsequent block. +// +// Synthesis option: "Optimization Goal: Area" +// Map option: "LUT Combining: Auto" +// +//`ifdef SIMULATION + +module sha256ctx( + input CLK, + + input S1_CH_I_rst, S1_CH_I_en, + input S0_en, MAJ_en, block2ctx_en, + //input D2E_en, // enable D2->E pass-by + input en, + + input [31:0] block2ctx, // loading context from mem1 + input [31:0] Wt, Kt, + + input output_en, + output reg [31:0] o + //output [31:0] o + ); + + reg [31:0] B = 0, C = 0, D = 0, E = 0, F = 0, G = 0; + + wire [31:0] I; + //add3 I_inst ( .CLK(CLK), .en(1'b1), .rst(1'b0), + // .a(G), .b(Wt), .c(Kt), .o(I) ); + add3_unreg I_inst( .a(G), .b(Wt), .c(Kt), .o(I) ); + + reg [31:0] S1 = 0, CH = 0, I_r = 0; + always @(posedge CLK) + if (S1_CH_I_rst) begin + S1 <= 0; + CH <= 0; + I_r <= 0; + end + else if (S1_CH_I_en) begin + S1 <= `SHA256_S1(E_input); + CH <= `SHA256_CH(E_input, E, F); + I_r <= I; + end + + wire [31:0] T1; + add3_unreg T1_inst( .a(I_r), .b(S1), .c(CH), .o(T1) ); + + //wire [31:0] E_input = D + (D2E_en ? 0 : T1); // 1 LUT/bit + wire [31:0] E_input = D + T1; + + wire [31:0] S0 = ~S0_en ? 0 : `SHA256_S0(A); + + wire [31:0] MAJ = block2ctx_en ? block2ctx : + MAJ_en ? `SHA256_MAJ(A, B, C) : 0; + + wire [31:0] A; + add3 A_inst (.CLK(CLK), .en(1'b1), .rst(1'b0), + .a(T1), .b(S0), .c(MAJ), .o(A) ); + + always @(posedge CLK) if (en) begin + B <= A; + C <= B; + D <= C; + E <= E_input; + F <= E; + G <= F; + end + + //assign o = I; + always @(posedge CLK) + if (output_en) + o <= I; + + +endmodule +/* +`else + +module sha256ctx( + input CLK, + + input S1_CH_rst, S0_rst, MAJ_rst, + input D2E_en, + input block2ctx_en, T1_rst, + + input [31:0] block2ctx, + input [31:0] Wt, Kt, + output [31:0] o + ); + +endmodule + +`endif +*/ diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt.ucf b/src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt.ucf new file mode 100644 index 00000000000..ea65412cbf9 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt.ucf @@ -0,0 +1,586 @@ +# +# This software is Copyright (c) 2018 Denis Burykin +# [denis_burykin yahoo com], [denis-burykin2014 yandex ru] +# and it is hereby released to the general public under the following terms: +# Redistribution and use in source and binary forms, with or without +# modification, are permitted. +# + + +// =========================================================== +// Nodes (input to units) - left side +AREA_GROUP "node1" RANGE=SLICE_X22Y26:SLICE_X39Y29; +INST "pkt_comm/bcast_net/node[1].r*" AREA_GROUP="node1"; +INST "pkt_comm/units[0].unit_in_regs/stage[1].r*" AREA_GROUP="node1"; +INST "pkt_comm/units[1].unit_in_regs/stage[1].r*" AREA_GROUP="node1"; +INST "pkt_comm/units[2].unit_in_regs/stage[1].r*" AREA_GROUP="node1"; +INST "pkt_comm/units[3].unit_in_regs/stage[1].r*" AREA_GROUP="node1"; +INST "pkt_comm/units[4].unit_in_regs/stage[1].r*" AREA_GROUP="node1"; +INST "pkt_comm/units[5].unit_in_regs/stage[1].r*" AREA_GROUP="node1"; +INST "pkt_comm/units[6].unit_in_regs/stage[1].r*" AREA_GROUP="node1"; +INST "pkt_comm/units[7].unit_in_regs/stage[1].r*" AREA_GROUP="node1"; +INST "pkt_comm/units[8].unit_in_regs/stage[1].r*" AREA_GROUP="node1"; +INST "pkt_comm/units[9].unit_in_regs/stage[1].r*" AREA_GROUP="node1"; +INST "pkt_comm/units[10].unit_in_regs/stage[1].r*" AREA_GROUP="node1"; + +AREA_GROUP "node2" RANGE=SLICE_X18Y76:SLICE_X42Y85; +INST "pkt_comm/bcast_net/node[2].r*" AREA_GROUP="node2"; +INST "pkt_comm/units[0].unit_in_regs/stage[2].r*" AREA_GROUP="node2"; +INST "pkt_comm/units[1].unit_in_regs/stage[2].r*" AREA_GROUP="node2"; +INST "pkt_comm/units[2].unit_in_regs/stage[2].r*" AREA_GROUP="node2"; +INST "pkt_comm/units[3].unit_in_regs/stage[2].r*" AREA_GROUP="node2"; +INST "pkt_comm/units[4].unit_in_regs/stage[2].r*" AREA_GROUP="node2"; +INST "pkt_comm/units[5].unit_in_regs/stage[2].r*" AREA_GROUP="node2"; +INST "pkt_comm/units[6].unit_in_regs/stage[2].r*" AREA_GROUP="node2"; + +AREA_GROUP "node3" RANGE=SLICE_X20Y135:SLICE_X43Y139; +INST "pkt_comm/bcast_net/node[3].r*" AREA_GROUP="node3"; +INST "pkt_comm/units[0].unit_in_regs/stage[3].r*" AREA_GROUP="node3"; +INST "pkt_comm/units[1].unit_in_regs/stage[3].r*" AREA_GROUP="node3"; +INST "pkt_comm/units[2].unit_in_regs/stage[3].r*" AREA_GROUP="node3"; + + +// =========================================================== +// Nodes - right side +AREA_GROUP "node4" RANGE=SLICE_X89Y33:SLICE_X107Y38; +INST "pkt_comm/bcast_net/node[4].r*" AREA_GROUP="node4"; +INST "pkt_comm/units[11].unit_in_regs/stage[1].r*" AREA_GROUP="node4"; +INST "pkt_comm/units[12].unit_in_regs/stage[1].r*" AREA_GROUP="node4"; +INST "pkt_comm/units[13].unit_in_regs/stage[1].r*" AREA_GROUP="node4"; +INST "pkt_comm/units[14].unit_in_regs/stage[1].r*" AREA_GROUP="node4"; +INST "pkt_comm/units[15].unit_in_regs/stage[1].r*" AREA_GROUP="node4"; +INST "pkt_comm/units[16].unit_in_regs/stage[1].r*" AREA_GROUP="node4"; +INST "pkt_comm/units[17].unit_in_regs/stage[1].r*" AREA_GROUP="node4"; +INST "pkt_comm/units[18].unit_in_regs/stage[1].r*" AREA_GROUP="node4"; +INST "pkt_comm/units[19].unit_in_regs/stage[1].r*" AREA_GROUP="node4"; +INST "pkt_comm/units[20].unit_in_regs/stage[1].r*" AREA_GROUP="node4"; +INST "pkt_comm/units[21].unit_in_regs/stage[1].r*" AREA_GROUP="node4"; +INST "pkt_comm/units[23].unit_in_regs/stage[1].r*" AREA_GROUP="node4"; + +AREA_GROUP "node5" RANGE=SLICE_X83Y63:SLICE_X107Y92; +INST "pkt_comm/bcast_net/node[5].r*" AREA_GROUP="node5"; +INST "pkt_comm/units[11].unit_in_regs/stage[2].r*" AREA_GROUP="node5"; +INST "pkt_comm/units[12].unit_in_regs/stage[2].r*" AREA_GROUP="node5"; +INST "pkt_comm/units[13].unit_in_regs/stage[2].r*" AREA_GROUP="node5"; +INST "pkt_comm/units[14].unit_in_regs/stage[2].r*" AREA_GROUP="node5"; +INST "pkt_comm/units[15].unit_in_regs/stage[2].r*" AREA_GROUP="node5"; +INST "pkt_comm/units[16].unit_in_regs/stage[2].r*" AREA_GROUP="node5"; +INST "pkt_comm/units[17].unit_in_regs/stage[2].r*" AREA_GROUP="node5"; +INST "pkt_comm/units[18].unit_in_regs/stage[2].r*" AREA_GROUP="node5"; + +AREA_GROUP "node6" RANGE=SLICE_X80Y129:SLICE_X107Y147; +INST "pkt_comm/bcast_net/node[6].r*" AREA_GROUP="node6"; +INST "pkt_comm/units[11].unit_in_regs/stage[3].r*" AREA_GROUP="node6"; +INST "pkt_comm/units[12].unit_in_regs/stage[3].r*" AREA_GROUP="node6"; +INST "pkt_comm/units[13].unit_in_regs/stage[3].r*" AREA_GROUP="node6"; + + +// =========================================================== +// Output from units +// stage 1, left side +AREA_GROUP "unit_out_1l" RANGE=SLICE_X38Y17:SLICE_X43Y62; +INST "pkt_comm/units[7].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1l"; +INST "pkt_comm/units[6].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1l"; +INST "pkt_comm/units[5].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1l"; +INST "pkt_comm/units[4].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1l"; +INST "pkt_comm/units[3].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1l"; +INST "pkt_comm/units[2].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1l"; +INST "pkt_comm/units[1].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1l"; +INST "pkt_comm/units[0].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1l"; + +// stage 2, left side +AREA_GROUP "unit_out_2l" RANGE=SLICE_X38Y104:SLICE_X43Y131; +INST "pkt_comm/units[3].unit_out_regs/stage[2].r*" AREA_GROUP="unit_out_2l"; +INST "pkt_comm/units[2].unit_out_regs/stage[2].r*" AREA_GROUP="unit_out_2l"; +INST "pkt_comm/units[1].unit_out_regs/stage[2].r*" AREA_GROUP="unit_out_2l"; +INST "pkt_comm/units[0].unit_out_regs/stage[2].r*" AREA_GROUP="unit_out_2l"; + +// stage 1, right side +AREA_GROUP "unit_out_1r" RANGE=SLICE_X62Y50:SLICE_X107Y71; +INST "pkt_comm/units[19].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1r"; +INST "pkt_comm/units[18].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1r"; +INST "pkt_comm/units[17].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1r"; +INST "pkt_comm/units[16].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1r"; +INST "pkt_comm/units[15].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1r"; +INST "pkt_comm/units[14].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1r"; +INST "pkt_comm/units[13].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1r"; +INST "pkt_comm/units[12].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1r"; +INST "pkt_comm/units[11].unit_out_regs/stage[1].r*" AREA_GROUP="unit_out_1r"; + +// stage 2, right side +AREA_GROUP "unit_out_2r" RANGE=SLICE_X62Y106:SLICE_X107Y119; +INST "pkt_comm/units[14].unit_out_regs/stage[2].r*" AREA_GROUP="unit_out_2r"; +INST "pkt_comm/units[13].unit_out_regs/stage[2].r*" AREA_GROUP="unit_out_2r"; +INST "pkt_comm/units[12].unit_out_regs/stage[2].r*" AREA_GROUP="unit_out_2r"; +INST "pkt_comm/units[11].unit_out_regs/stage[2].r*" AREA_GROUP="unit_out_2r"; + + +// =========================================================== +// Units - left side +// Unit 0 +AREA_GROUP "u0_0" RANGE=SLICE_X0Y180:SLICE_X20Y187; # 21x8=672 +AREA_GROUP "u0_0" RANGE=RAMB8_X0Y90:RAMB8_X0Y93; +INST "pkt_comm/units[0].unit/cores[0].core" AREA_GROUP="u0_0"; + +AREA_GROUP "u0_1" RANGE=SLICE_X0Y172:SLICE_X20Y179; # 21x8=672 +AREA_GROUP "u0_1" RANGE=RAMB8_X0Y86:RAMB8_X0Y89; +INST "pkt_comm/units[0].unit/cores[1].core" AREA_GROUP="u0_1"; + +AREA_GROUP "u0_2" RANGE=SLICE_X0Y164:SLICE_X20Y171; # 21x8=672 +AREA_GROUP "u0_2" RANGE=RAMB8_X0Y82:RAMB8_X0Y85; +INST "pkt_comm/units[0].unit/cores[2].core" AREA_GROUP="u0_2"; + +AREA_GROUP "c0" RANGE=SLICE_X21Y176:SLICE_X33Y191,SLICE_X21Y168:SLICE_X39Y175; +AREA_GROUP "c0" RANGE=RAMB8_X1Y86:RAMB8_X1Y95; +INST "pkt_comm/units[0].unit/ctrl" AREA_GROUP="c0"; + +// Unit 1 +AREA_GROUP "u1_0" RANGE=SLICE_X0Y156:SLICE_X20Y163; +AREA_GROUP "u1_0" RANGE=RAMB8_X0Y78:RAMB8_X0Y81; +INST "pkt_comm/units[1].unit/cores[0].core" AREA_GROUP="u1_0"; + +AREA_GROUP "u1_1" RANGE=SLICE_X0Y148:SLICE_X20Y155; +AREA_GROUP "u1_1" RANGE=RAMB8_X0Y74:RAMB8_X0Y77; +INST "pkt_comm/units[1].unit/cores[1].core" AREA_GROUP="u1_1"; + +AREA_GROUP "u1_2" RANGE=SLICE_X43Y152:SLICE_X63Y159; # RAMB X2 +AREA_GROUP "u1_2" RANGE=RAMB8_X2Y76:RAMB8_X2Y79; +INST "pkt_comm/units[1].unit/cores[2].core" AREA_GROUP="u1_2"; + +AREA_GROUP "c1" RANGE=SLICE_X21Y160:SLICE_X39Y167,SLICE_X21Y151:SLICE_X42Y159; +AREA_GROUP "c1" RANGE=RAMB8_X1Y78:RAMB8_X1Y83; +INST "pkt_comm/units[1].unit/ctrl" AREA_GROUP="c1"; + +// Unit 2 +AREA_GROUP "u2_0" RANGE=SLICE_X0Y140:SLICE_X20Y147; +AREA_GROUP "u2_0" RANGE=RAMB8_X0Y70:RAMB8_X0Y73; +INST "pkt_comm/units[2].unit/cores[0].core" AREA_GROUP="u2_0"; + +AREA_GROUP "u2_1" RANGE=SLICE_X43Y144:SLICE_X63Y151; # RAMB X2 +AREA_GROUP "u2_1" RANGE=RAMB8_X2Y72:RAMB8_X2Y75; +INST "pkt_comm/units[2].unit/cores[1].core" AREA_GROUP="u2_1"; + +AREA_GROUP "u2_2" RANGE=SLICE_X43Y136:SLICE_X63Y143; # RAMB X2 +AREA_GROUP "u2_2" RANGE=RAMB8_X2Y68:RAMB8_X2Y71; +INST "pkt_comm/units[2].unit/cores[2].core" AREA_GROUP="u2_2"; + +AREA_GROUP "c2" RANGE=SLICE_X21Y137:SLICE_X42Y150; # 22x14=1232* (+1 down) +AREA_GROUP "c2" RANGE=RAMB8_X1Y70:RAMB8_X1Y75; +INST "pkt_comm/units[2].unit/ctrl" AREA_GROUP="c2"; + +// Unit 3 +AREA_GROUP "u3_0" RANGE=SLICE_X0Y132:SLICE_X20Y139; +AREA_GROUP "u3_0" RANGE=RAMB8_X0Y66:RAMB8_X0Y69; +INST "pkt_comm/units[3].unit/cores[0].core" AREA_GROUP="u3_0"; + +AREA_GROUP "u3_1" RANGE=SLICE_X0Y124:SLICE_X20Y131; +AREA_GROUP "u3_1" RANGE=RAMB8_X0Y62:RAMB8_X0Y65; +INST "pkt_comm/units[3].unit/cores[1].core" AREA_GROUP="u3_1"; + +AREA_GROUP "u3_2" RANGE=SLICE_X43Y128:SLICE_X63Y135; # RAMB X2 +AREA_GROUP "u3_2" RANGE=RAMB8_X2Y64:RAMB8_X2Y67; +INST "pkt_comm/units[3].unit/cores[2].core" AREA_GROUP="u3_2"; + +AREA_GROUP "c3" RANGE=SLICE_X21Y121:SLICE_X42Y135; # 22x15=1320* 22x14=1232 +AREA_GROUP "c3" RANGE=RAMB8_X1Y62:RAMB8_X1Y67; +INST "pkt_comm/units[3].unit/ctrl" AREA_GROUP="c3"; + +// Unit 4 +AREA_GROUP "u4_0" RANGE=SLICE_X0Y116:SLICE_X20Y123; +AREA_GROUP "u4_0" RANGE=RAMB8_X0Y58:RAMB8_X0Y61; +INST "pkt_comm/units[4].unit/cores[0].core" AREA_GROUP="u4_0"; + +AREA_GROUP "u4_1" RANGE=SLICE_X0Y108:SLICE_X20Y115; +AREA_GROUP "u4_1" RANGE=RAMB8_X0Y54:RAMB8_X0Y57; +INST "pkt_comm/units[4].unit/cores[1].core" AREA_GROUP="u4_1"; + +AREA_GROUP "u4_2" RANGE=SLICE_X43Y96:SLICE_X63Y103; # RAMB X2 +AREA_GROUP "u4_2" RANGE=RAMB8_X2Y48:RAMB8_X2Y51; +INST "pkt_comm/units[4].unit/cores[2].core" AREA_GROUP="u4_2"; + +AREA_GROUP "c4" RANGE=SLICE_X21Y106:SLICE_X42Y120; # 22x15=1320* +AREA_GROUP "c4" RANGE=RAMB8_X1Y54:RAMB8_X1Y59; +INST "pkt_comm/units[4].unit/ctrl" AREA_GROUP="c4"; + +// Unit 5 +AREA_GROUP "u5_0" RANGE=SLICE_X0Y100:SLICE_X20Y107; +AREA_GROUP "u5_0" RANGE=RAMB8_X0Y50:RAMB8_X0Y53; +INST "pkt_comm/units[5].unit/cores[0].core" AREA_GROUP="u5_0"; + +AREA_GROUP "u5_1" RANGE=SLICE_X0Y92:SLICE_X20Y99; +AREA_GROUP "u5_1" RANGE=RAMB8_X0Y46:RAMB8_X0Y49; +INST "pkt_comm/units[5].unit/cores[1].core" AREA_GROUP="u5_1"; + +AREA_GROUP "u5_2" RANGE=SLICE_X43Y88:SLICE_X63Y95; # RAMB X2 +AREA_GROUP "u5_2" RANGE=RAMB8_X2Y44:RAMB8_X2Y47; +INST "pkt_comm/units[5].unit/cores[2].core" AREA_GROUP="u5_2"; + +AREA_GROUP "c5" RANGE=SLICE_X21Y91:SLICE_X42Y105; # 22x15=1320* +AREA_GROUP "c5" RANGE=RAMB8_X1Y46:RAMB8_X1Y53; +INST "pkt_comm/units[5].unit/ctrl" AREA_GROUP="c5"; + +// Unit 6 +AREA_GROUP "u6_0" RANGE=SLICE_X0Y84:SLICE_X19Y91; +AREA_GROUP "u6_0" RANGE=RAMB8_X0Y42:RAMB8_X0Y45; +INST "pkt_comm/units[6].unit/cores[0].core" AREA_GROUP="u6_0"; + +AREA_GROUP "u6_1" RANGE=SLICE_X0Y76:SLICE_X19Y83; +AREA_GROUP "u6_1" RANGE=RAMB8_X0Y38:RAMB8_X0Y41; +INST "pkt_comm/units[6].unit/cores[1].core" AREA_GROUP="u6_1"; + +AREA_GROUP "u6_2" RANGE=SLICE_X43Y80:SLICE_X63Y87; # RAMB X2 +AREA_GROUP "u6_2" RANGE=RAMB8_X2Y40:RAMB8_X2Y43; +INST "pkt_comm/units[6].unit/cores[2].core" AREA_GROUP="u6_2"; + +AREA_GROUP "c6" RANGE=SLICE_X21Y75:SLICE_X42Y90; # 22x15=1320* +AREA_GROUP "c6" RANGE=RAMB8_X1Y38:RAMB8_X1Y45; +INST "pkt_comm/units[6].unit/ctrl" AREA_GROUP="c6"; + +// Unit 7 +AREA_GROUP "u7_0" RANGE=SLICE_X0Y68:SLICE_X20Y75; +AREA_GROUP "u7_0" RANGE=RAMB8_X0Y34:RAMB8_X0Y37; +INST "pkt_comm/units[7].unit/cores[0].core" AREA_GROUP="u7_0"; + +AREA_GROUP "u7_1" RANGE=SLICE_X0Y60:SLICE_X20Y67; +AREA_GROUP "u7_1" RANGE=RAMB8_X0Y30:RAMB8_X0Y33; +INST "pkt_comm/units[7].unit/cores[1].core" AREA_GROUP="u7_1"; + +AREA_GROUP "u7_2" RANGE=SLICE_X43Y72:SLICE_X63Y79; # RAMB X2 +AREA_GROUP "u7_2" RANGE=RAMB8_X2Y36:RAMB8_X2Y39; +INST "pkt_comm/units[7].unit/cores[2].core" AREA_GROUP="u7_2"; + +AREA_GROUP "c7" RANGE=SLICE_X21Y60:SLICE_X42Y74; # 22x15=1320* +AREA_GROUP "c7" RANGE=RAMB8_X1Y30:RAMB8_X1Y37; +INST "pkt_comm/units[7].unit/ctrl" AREA_GROUP="c7"; + +// Unit 8 +AREA_GROUP "u8_0" RANGE=SLICE_X0Y52:SLICE_X20Y59; +AREA_GROUP "u8_0" RANGE=RAMB8_X0Y26:RAMB8_X0Y29; +INST "pkt_comm/units[8].unit/cores[0].core" AREA_GROUP="u8_0"; + +AREA_GROUP "u8_1" RANGE=SLICE_X0Y44:SLICE_X20Y51; +AREA_GROUP "u8_1" RANGE=RAMB8_X0Y22:RAMB8_X0Y25; +INST "pkt_comm/units[8].unit/cores[1].core" AREA_GROUP="u8_1"; + +AREA_GROUP "u8_2" RANGE=SLICE_X43Y48:SLICE_X63Y55; # RAMB X2 +AREA_GROUP "u8_2" RANGE=RAMB8_X2Y24:RAMB8_X2Y27; +INST "pkt_comm/units[8].unit/cores[2].core" AREA_GROUP="u8_2"; + +AREA_GROUP "c8" RANGE=SLICE_X21Y45:SLICE_X42Y59; # 22x15=1320* +AREA_GROUP "c8" RANGE=RAMB8_X1Y24:RAMB8_X1Y29; +INST "pkt_comm/units[8].unit/ctrl" AREA_GROUP="c8"; + +// Unit 9 +AREA_GROUP "u9_0" RANGE=SLICE_X0Y36:SLICE_X19Y43; +AREA_GROUP "u9_0" RANGE=RAMB8_X0Y18:RAMB8_X0Y21; +INST "pkt_comm/units[9].unit/cores[0].core" AREA_GROUP="u9_0"; + +AREA_GROUP "u9_1" RANGE=SLICE_X0Y28:SLICE_X20Y35; +AREA_GROUP "u9_1" RANGE=RAMB8_X0Y14:RAMB8_X0Y17; +INST "pkt_comm/units[9].unit/cores[1].core" AREA_GROUP="u9_1"; + +AREA_GROUP "u9_2" RANGE=SLICE_X43Y40:SLICE_X63Y47; # RAMB X2 +AREA_GROUP "u9_2" RANGE=RAMB8_X2Y20:RAMB8_X2Y23; +INST "pkt_comm/units[9].unit/cores[2].core" AREA_GROUP="u9_2"; + +AREA_GROUP "c9" RANGE=SLICE_X21Y30:SLICE_X42Y44; # 22x15=1320* +AREA_GROUP "c9" RANGE=RAMB8_X1Y16:RAMB8_X1Y21; +INST "pkt_comm/units[9].unit/ctrl" AREA_GROUP="c9"; + +// Unit 10 +AREA_GROUP "u10_0" RANGE=SLICE_X0Y20:SLICE_X19Y27; +AREA_GROUP "u10_0" RANGE=RAMB8_X0Y10:RAMB8_X0Y13; +INST "pkt_comm/units[10].unit/cores[0].core" AREA_GROUP="u10_0"; + +AREA_GROUP "u10_1" RANGE=SLICE_X0Y12:SLICE_X20Y19; +AREA_GROUP "u10_1" RANGE=RAMB8_X0Y6:RAMB8_X0Y9; +INST "pkt_comm/units[10].unit/cores[1].core" AREA_GROUP="u10_1"; + +AREA_GROUP "u10_2" RANGE=SLICE_X0Y4:SLICE_X20Y11; +AREA_GROUP "u10_2" RANGE=RAMB8_X0Y2:RAMB8_X0Y5; +INST "pkt_comm/units[10].unit/cores[2].core" AREA_GROUP="u10_2"; + +AREA_GROUP "c10" RANGE=SLICE_X21Y2:SLICE_X33Y27,SLICE_X34Y16:SLICE_X37Y27; +AREA_GROUP "c10" RANGE=RAMB8_X1Y2:RAMB8_X1Y13; +INST "pkt_comm/units[10].unit/ctrl" AREA_GROUP="c10"; + + +// =========================================================== +// Units - right side +// Unit 11 +AREA_GROUP "u11_0" RANGE=SLICE_X107Y180:SLICE_X127Y187; +AREA_GROUP "u11_0" RANGE=RAMB8_X5Y90:RAMB8_X5Y93; +INST "pkt_comm/units[11].unit/cores[0].core" AREA_GROUP="u11_0"; + +AREA_GROUP "u11_1" RANGE=SLICE_X107Y172:SLICE_X127Y179; +AREA_GROUP "u11_1" RANGE=RAMB8_X5Y86:RAMB8_X5Y89; +INST "pkt_comm/units[11].unit/cores[1].core" AREA_GROUP="u11_1"; + +AREA_GROUP "u11_2" RANGE=SLICE_X107Y164:SLICE_X127Y171; +AREA_GROUP "u11_2" RANGE=RAMB8_X5Y82:RAMB8_X5Y85; +INST "pkt_comm/units[11].unit/cores[2].core" AREA_GROUP="u11_2"; + +AREA_GROUP "c11" RANGE=SLICE_X86Y165:SLICE_X106Y189; +AREA_GROUP "c11" RANGE=RAMB8_X4Y84:RAMB8_X4Y93; +INST "pkt_comm/units[11].unit/ctrl" AREA_GROUP="c11"; + +// Unit 12 +AREA_GROUP "u12_0" RANGE=SLICE_X64Y168:SLICE_X85Y175; +AREA_GROUP "u12_0" RANGE=RAMB8_X3Y84:RAMB8_X3Y87; # RAMB X3 +INST "pkt_comm/units[12].unit/cores[0].core" AREA_GROUP="u12_0"; + +AREA_GROUP "u12_1" RANGE=SLICE_X86Y157:SLICE_X105Y164; +AREA_GROUP "u12_1" RANGE=RAMB8_X4Y78:RAMB8_X4Y81; # RAMB X4 +INST "pkt_comm/units[12].unit/cores[1].core" AREA_GROUP="u12_1"; + +AREA_GROUP "u12_2" RANGE=SLICE_X64Y145:SLICE_X85Y152; +AREA_GROUP "u12_2" RANGE=RAMB8_X3Y72:RAMB8_X3Y75; # RAMB X3 +INST "pkt_comm/units[12].unit/cores[2].core" AREA_GROUP="u12_2"; + +AREA_GROUP "c12" RANGE=SLICE_X64Y153:SLICE_X85Y167; +AREA_GROUP "c12" RANGE=RAMB8_X3Y78:RAMB8_X3Y83; # RAMB X3 +INST "pkt_comm/units[12].unit/ctrl" AREA_GROUP="c12"; + +// Unit 13 +AREA_GROUP "u13_0" RANGE=SLICE_X107Y156:SLICE_X127Y163; +AREA_GROUP "u13_0" RANGE=RAMB8_X5Y78:RAMB8_X5Y81; +INST "pkt_comm/units[13].unit/cores[0].core" AREA_GROUP="u13_0"; + +AREA_GROUP "u13_1" RANGE=SLICE_X107Y148:SLICE_X127Y155; +AREA_GROUP "u13_1" RANGE=RAMB8_X5Y74:RAMB8_X5Y77; +INST "pkt_comm/units[13].unit/cores[1].core" AREA_GROUP="u13_1"; + +AREA_GROUP "u13_2" RANGE=SLICE_X107Y140:SLICE_X127Y147; +AREA_GROUP "u13_2" RANGE=RAMB8_X5Y70:RAMB8_X5Y73; +INST "pkt_comm/units[13].unit/cores[2].core" AREA_GROUP="u13_2"; + +AREA_GROUP "c13" RANGE=SLICE_X86Y141:SLICE_X106Y156; # 21x16=1344* +AREA_GROUP "c13" RANGE=RAMB8_X4Y70:RAMB8_X4Y77; # RAMB X4 +INST "pkt_comm/units[13].unit/ctrl" AREA_GROUP="c13"; + +// Unit 14 +AREA_GROUP "u14_0" RANGE=SLICE_X65Y137:SLICE_X85Y144; +AREA_GROUP "u14_0" RANGE=RAMB8_X3Y68:RAMB8_X3Y71; # RAMB X3 +INST "pkt_comm/units[14].unit/cores[0].core" AREA_GROUP="u14_0"; + +AREA_GROUP "u14_1" RANGE=SLICE_X86Y133:SLICE_X106Y140; +AREA_GROUP "u14_1" RANGE=RAMB8_X4Y66:RAMB8_X4Y69; # RAMB X4 +INST "pkt_comm/units[14].unit/cores[1].core" AREA_GROUP="u14_1"; + +AREA_GROUP "u14_2" RANGE=SLICE_X43Y120:SLICE_X63Y127; +AREA_GROUP "u14_2" RANGE=RAMB8_X2Y60:RAMB8_X2Y63; # RAMB X2 +INST "pkt_comm/units[14].unit/cores[2].core" AREA_GROUP="u14_2"; + +AREA_GROUP "c14" RANGE=SLICE_X64Y122:SLICE_X85Y136; # 22x15 +AREA_GROUP "c14" RANGE=RAMB8_X3Y62:RAMB8_X3Y67; # RAMB X3 +INST "pkt_comm/units[14].unit/ctrl" AREA_GROUP="c14"; + +// Unit 15 +AREA_GROUP "u15_0" RANGE=SLICE_X107Y132:SLICE_X127Y139; +AREA_GROUP "u15_0" RANGE=RAMB8_X5Y66:RAMB8_X5Y69; +INST "pkt_comm/units[15].unit/cores[0].core" AREA_GROUP="u15_0"; + +AREA_GROUP "u15_1" RANGE=SLICE_X108Y124:SLICE_X127Y131; +AREA_GROUP "u15_1" RANGE=RAMB8_X5Y62:RAMB8_X5Y65; +INST "pkt_comm/units[15].unit/cores[1].core" AREA_GROUP="u15_1"; + +AREA_GROUP "u15_2" RANGE=SLICE_X107Y116:SLICE_X127Y123; +AREA_GROUP "u15_2" RANGE=RAMB8_X5Y58:RAMB8_X5Y61; +INST "pkt_comm/units[15].unit/cores[2].core" AREA_GROUP="u15_2"; + +AREA_GROUP "c15" RANGE=SLICE_X86Y117:SLICE_X106Y132; # 21x16=1344* +AREA_GROUP "c15" RANGE=RAMB8_X4Y60:RAMB8_X4Y65; # RAMB X4 +INST "pkt_comm/units[15].unit/ctrl" AREA_GROUP="c15"; + +// Unit 16 +AREA_GROUP "u16_0" RANGE=SLICE_X43Y112:SLICE_X63Y119; +AREA_GROUP "u16_0" RANGE=RAMB8_X2Y56:RAMB8_X2Y59; # RAMB X2 +INST "pkt_comm/units[16].unit/cores[0].core" AREA_GROUP="u16_0"; + +AREA_GROUP "u16_1" RANGE=SLICE_X43Y104:SLICE_X63Y111; +AREA_GROUP "u16_1" RANGE=RAMB8_X2Y52:RAMB8_X2Y55; # RAMB X2 +INST "pkt_comm/units[16].unit/cores[1].core" AREA_GROUP="u16_1"; + +AREA_GROUP "u16_2" RANGE=SLICE_X64Y99:SLICE_X85Y106; +AREA_GROUP "u16_2" RANGE=RAMB8_X3Y50:RAMB8_X3Y53; # RAMB X3 +INST "pkt_comm/units[16].unit/cores[2].core" AREA_GROUP="u16_2"; + +AREA_GROUP "c16" RANGE=SLICE_X64Y107:SLICE_X85Y121; # 22x15 +AREA_GROUP "c16" RANGE=RAMB8_X3Y54:RAMB8_X3Y61; # RAMB X3 +INST "pkt_comm/units[16].unit/ctrl" AREA_GROUP="c16"; + +// Unit 17 +AREA_GROUP "u17_0" RANGE=SLICE_X107Y108:SLICE_X127Y115; +AREA_GROUP "u17_0" RANGE=RAMB8_X5Y54:RAMB8_X5Y57; +INST "pkt_comm/units[17].unit/cores[0].core" AREA_GROUP="u17_0"; + +AREA_GROUP "u17_1" RANGE=SLICE_X107Y100:SLICE_X127Y107; +AREA_GROUP "u17_1" RANGE=RAMB8_X5Y50:RAMB8_X5Y53; +INST "pkt_comm/units[17].unit/cores[1].core" AREA_GROUP="u17_1"; + +AREA_GROUP "u17_2" RANGE=SLICE_X107Y92:SLICE_X127Y99; +AREA_GROUP "u17_2" RANGE=RAMB8_X5Y46:RAMB8_X5Y49; +INST "pkt_comm/units[17].unit/cores[2].core" AREA_GROUP="u17_2"; + +AREA_GROUP "c17" RANGE=SLICE_X86Y101:SLICE_X106Y116; # 21x16=1344* +AREA_GROUP "c17" RANGE=RAMB8_X4Y52:RAMB8_X4Y57; # RAMB X4 +INST "pkt_comm/units[17].unit/ctrl" AREA_GROUP="c17"; + +// Unit 18 +AREA_GROUP "u18_0" RANGE=SLICE_X65Y91:SLICE_X85Y98; +AREA_GROUP "u18_0" RANGE=RAMB8_X3Y46:RAMB8_X3Y49; # RAMB X3 +INST "pkt_comm/units[18].unit/cores[0].core" AREA_GROUP="u18_0"; + +AREA_GROUP "u18_1" RANGE=SLICE_X65Y83:SLICE_X85Y90; +AREA_GROUP "u18_1" RANGE=RAMB8_X3Y42:RAMB8_X3Y45; # RAMB X3 +INST "pkt_comm/units[18].unit/cores[1].core" AREA_GROUP="u18_1"; + +AREA_GROUP "u18_2" RANGE=SLICE_X107Y84:SLICE_X127Y91; +AREA_GROUP "u18_2" RANGE=RAMB8_X5Y42:RAMB8_X5Y45; +INST "pkt_comm/units[18].unit/cores[2].core" AREA_GROUP="u18_2"; + +AREA_GROUP "c18" RANGE=SLICE_X86Y85:SLICE_X106Y100; # 21x16=1344* +AREA_GROUP "c18" RANGE=RAMB8_X4Y44:RAMB8_X4Y51; # RAMB X4 +INST "pkt_comm/units[18].unit/ctrl" AREA_GROUP="c18"; + +// Unit 19 +AREA_GROUP "u19_0" RANGE=SLICE_X65Y75:SLICE_X85Y82; +AREA_GROUP "u19_0" RANGE=RAMB8_X3Y38:RAMB8_X3Y41; # RAMB X3 +INST "pkt_comm/units[19].unit/cores[0].core" AREA_GROUP="u19_0"; + +AREA_GROUP "u19_1" RANGE=SLICE_X107Y76:SLICE_X127Y83; +AREA_GROUP "u19_1" RANGE=RAMB8_X5Y38:RAMB8_X5Y41; +INST "pkt_comm/units[19].unit/cores[1].core" AREA_GROUP="u19_1"; + +AREA_GROUP "u19_2" RANGE=SLICE_X107Y68:SLICE_X127Y75; +AREA_GROUP "u19_2" RANGE=RAMB8_X5Y34:RAMB8_X5Y37; +INST "pkt_comm/units[19].unit/cores[2].core" AREA_GROUP="u19_2"; + +AREA_GROUP "c19" RANGE=SLICE_X86Y69:SLICE_X106Y84; # 21x16=1344* +AREA_GROUP "c19" RANGE=RAMB8_X4Y34:RAMB8_X4Y41; # RAMB X4 +INST "pkt_comm/units[19].unit/ctrl" AREA_GROUP="c19"; + +// Unit 20 +AREA_GROUP "u20_0" RANGE=SLICE_X43Y64:SLICE_X63Y71; # RAMB X2 +AREA_GROUP "u20_0" RANGE=RAMB8_X2Y32:RAMB8_X2Y35; +INST "pkt_comm/units[20].unit/cores[0].core" AREA_GROUP="u20_0"; + +AREA_GROUP "u20_1" RANGE=SLICE_X43Y56:SLICE_X63Y63; # RAMB X2 +AREA_GROUP "u20_1" RANGE=RAMB8_X2Y28:RAMB8_X2Y31; +INST "pkt_comm/units[20].unit/cores[1].core" AREA_GROUP="u20_1"; + +AREA_GROUP "u20_2" RANGE=SLICE_X64Y52:SLICE_X85Y59; +AREA_GROUP "u20_2" RANGE=RAMB8_X3Y26:RAMB8_X3Y29; # RAMB X3 +INST "pkt_comm/units[20].unit/cores[2].core" AREA_GROUP="u20_2"; + +AREA_GROUP "c20" RANGE=SLICE_X64Y60:SLICE_X85Y74; # 22x15 +AREA_GROUP "c20" RANGE=RAMB8_X3Y30:RAMB8_X3Y37; # RAMB X3 +INST "pkt_comm/units[20].unit/ctrl" AREA_GROUP="c20"; + +// Unit 21 +AREA_GROUP "u21_0" RANGE=SLICE_X107Y60:SLICE_X127Y67; +AREA_GROUP "u21_0" RANGE=RAMB8_X5Y30:RAMB8_X5Y33; +INST "pkt_comm/units[21].unit/cores[0].core" AREA_GROUP="u21_0"; + +AREA_GROUP "u21_1" RANGE=SLICE_X107Y52:SLICE_X127Y59; +AREA_GROUP "u21_1" RANGE=RAMB8_X5Y26:RAMB8_X5Y29; +INST "pkt_comm/units[21].unit/cores[1].core" AREA_GROUP="u21_1"; + +AREA_GROUP "u21_2" RANGE=SLICE_X107Y44:SLICE_X127Y51; +AREA_GROUP "u21_2" RANGE=RAMB8_X5Y22:RAMB8_X5Y25; +INST "pkt_comm/units[21].unit/cores[2].core" AREA_GROUP="u21_2"; + +AREA_GROUP "c21" RANGE=SLICE_X86Y53:SLICE_X106Y68; # 21x16=1344* +AREA_GROUP "c21" RANGE=RAMB8_X4Y28:RAMB8_X4Y35; # RAMB X4 +INST "pkt_comm/units[21].unit/ctrl" AREA_GROUP="c21"; + +// Unit 22 +AREA_GROUP "u22_0" RANGE=SLICE_X43Y32:SLICE_X63Y39; # RAMB X2 +AREA_GROUP "u22_0" RANGE=RAMB8_X2Y16:RAMB8_X2Y19; +INST "pkt_comm/units[22].unit/cores[0].core" AREA_GROUP="u22_0"; + +AREA_GROUP "u22_1" RANGE=SLICE_X43Y24:SLICE_X63Y31; # RAMB X2 +AREA_GROUP "u22_1" RANGE=RAMB8_X2Y12:RAMB8_X2Y15; +INST "pkt_comm/units[22].unit/cores[1].core" AREA_GROUP="u22_1"; + +AREA_GROUP "u22_2" RANGE=SLICE_X44Y16:SLICE_X63Y23; # RAMB X2 +AREA_GROUP "u22_2" RANGE=RAMB8_X2Y8:RAMB8_X2Y11; +INST "pkt_comm/units[22].unit/cores[2].core" AREA_GROUP="u22_2"; + +AREA_GROUP "c22" RANGE=SLICE_X64Y21:SLICE_X85Y35; # 22x15 +AREA_GROUP "c22" RANGE=RAMB8_X3Y14:RAMB8_X3Y17; # RAMB X3 +INST "pkt_comm/units[22].unit/ctrl" AREA_GROUP="c22"; + +// Unit 23 +AREA_GROUP "u23_0" RANGE=SLICE_X65Y44:SLICE_X85Y51; +AREA_GROUP "u23_0" RANGE=RAMB8_X3Y22:RAMB8_X3Y25; # RAMB X3 +INST "pkt_comm/units[23].unit/cores[0].core" AREA_GROUP="u23_0"; + +AREA_GROUP "u23_1" RANGE=SLICE_X65Y36:SLICE_X85Y43; +AREA_GROUP "u23_1" RANGE=RAMB8_X3Y18:RAMB8_X3Y21; # RAMB X3 +INST "pkt_comm/units[23].unit/cores[1].core" AREA_GROUP="u23_1"; + +AREA_GROUP "u23_2" RANGE=SLICE_X107Y36:SLICE_X127Y43; +AREA_GROUP "u23_2" RANGE=RAMB8_X5Y18:RAMB8_X5Y21; +INST "pkt_comm/units[23].unit/cores[2].core" AREA_GROUP="u23_2"; + +AREA_GROUP "c23" RANGE=SLICE_X86Y37:SLICE_X106Y52; # 21x16=1344* +AREA_GROUP "c23" RANGE=RAMB8_X4Y20:RAMB8_X4Y27; # RAMB X4 +INST "pkt_comm/units[23].unit/ctrl" AREA_GROUP="c23"; + +// Unit 24 +AREA_GROUP "u24_0" RANGE=SLICE_X107Y28:SLICE_X127Y35; +AREA_GROUP "u24_0" RANGE=RAMB8_X5Y14:RAMB8_X5Y17; +INST "pkt_comm/units[24].unit/cores[0].core" AREA_GROUP="u24_0"; + +AREA_GROUP "u24_1" RANGE=SLICE_X107Y20:SLICE_X127Y27; +AREA_GROUP "u24_1" RANGE=RAMB8_X5Y10:RAMB8_X5Y13; +INST "pkt_comm/units[24].unit/cores[1].core" AREA_GROUP="u24_1"; + +AREA_GROUP "u24_2" RANGE=SLICE_X107Y12:SLICE_X127Y19; +AREA_GROUP "u24_2" RANGE=RAMB8_X5Y6:RAMB8_X5Y9; +INST "pkt_comm/units[24].unit/cores[2].core" AREA_GROUP="u24_2"; + +AREA_GROUP "c24" RANGE=SLICE_X86Y21:SLICE_X106Y36; # 21x16=1344* +AREA_GROUP "c24" RANGE=RAMB8_X4Y14:RAMB8_X4Y17; # RAMB X4 +INST "pkt_comm/units[24].unit/ctrl" AREA_GROUP="c24"; + + +// =========================================================== +// pkt_comm +AREA_GROUP "pkt_comm" RANGE=SLICE_X52Y0:SLICE_X81Y14,SLICE_X66Y15:SLICE_X97Y19; +AREA_GROUP "pkt_comm" RANGE=RAMB16_X3Y8:RAMB16_X3Y8; # 1 +AREA_GROUP "pkt_comm" RANGE=RAMB8_X3Y10:RAMB8_X3Y10; # 1 +INST "pkt_comm/inpkt_header*" AREA_GROUP="pkt_comm"; +INST "pkt_comm/word_gen*" AREA_GROUP="pkt_comm"; +INST "pkt_comm/cmp_config*" AREA_GROUP="pkt_comm"; +INST "pkt_comm/arbiter_tx*" AREA_GROUP="pkt_comm"; +INST "pkt_comm/arbiter_rx*" AREA_GROUP="pkt_comm"; +INST "pkt_comm/comparator*" AREA_GROUP="pkt_comm"; +INST "pkt_comm/outpkt*" AREA_GROUP="pkt_comm"; + +AREA_GROUP "io1" RANGE=SLICE_X98Y11:SLICE_X105Y19; +AREA_GROUP "io1" RANGE=RAMB16_X4Y6:RAMB16_X4Y8; +INST "input_fifo/fifo_input1*" AREA_GROUP="io1"; +INST "pkt_comm/word_list*" AREA_GROUP="io1"; + +AREA_GROUP "io0" RANGE=SLICE_X98Y0:SLICE_X127Y10; +AREA_GROUP "io0" RANGE=RAMB16_X4Y0:RAMB16_X5Y4; # 6 +AREA_GROUP "io0" RANGE=DSP48_X3Y0:DSP48_X3Y2; # 3 +INST "input_fifo/fifo_input0*" AREA_GROUP="io0"; +INST "hs_io_inst*" AREA_GROUP="io0"; +INST "vcr_inst*" AREA_GROUP="io0"; +INST "output_fifo*" AREA_GROUP="io0"; + + +// =========================================================== +// procb +NET "pkt_comm/units[*].unit/ctrl/engine/process_bytes/saved_addr_t*" TIG; +NET "pkt_comm/units[*].unit/ctrl/engine/process_bytes/saved_total_t*" TIG; +NET "pkt_comm/units[*].unit/ctrl/engine/process_bytes/saved_comp_active_t" TIG; +NET "pkt_comm/units[*].unit/ctrl/engine/process_bytes/saved_procb_active_t" TIG; +// cpu +NET "pkt_comm/units[*].unit/ctrl/cpu/uob_thread_num*" TIG; + +NET "pkt_comm/mode_cmp" TIG; + diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt.v new file mode 100644 index 00000000000..2c4d9d04b3f --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt.v @@ -0,0 +1,577 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + + +module sha256crypt #( + parameter VERSION = `PKT_COMM_VERSION, + parameter PKT_MAX_LEN = 16*65536, + parameter PKT_LEN_MSB = `MSB(PKT_MAX_LEN), + parameter WORD_MAX_LEN = `PLAINTEXT_LEN, + parameter CHAR_BITS = `CHAR_BITS, + parameter RANGES_MAX = `RANGES_MAX, + parameter RANGE_INFO_MSB = 1 + `MSB(WORD_MAX_LEN-1), + parameter DISABLE_CHECKSUM = 0 + )( + input PKT_COMM_CLK, + input CORE_CLK, + + // read from some internal FIFO (recieved via high-speed interface) + input [7:0] din, + output rd_en, + input empty, + + // write into some internal FIFO (to be send via high-speed interface) + output [15:0] dout, + output wr_en, + input full, + + // control input (VCR interface) + input [7:0] app_mode, + // status output (VCR interface) + output cores_idle, + output [7:0] app_status, + output [7:0] pkt_comm_status, + output [7:0] debug2, debug3 + ); + + + // ************************************************************ + // + // The design is divided into units. + // Configuration for each unit define unit-specific properties + // such as number of cores, node# the unit is connected to, etc. + // + // ************************************************************ + + localparam N_UNITS = 25; + localparam [64*N_UNITS-1 :0] UNITS_CONF = { + // unit_dummy| reserved| core_dummy| n_cores| in_r| out_r| node# + // warning: in_r must match the count of pass-by nodes + + // right half of fpga + 1'b0, 40'd0, 3'b000, 4'd3, 4'd0, 4'd0, 8'd0, // unit #24 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd1, 4'd0, 8'd4, // unit #23 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd0, 4'd0, 8'd0, // unit #22 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd1, 4'd0, 8'd4, // unit #21 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd1, 4'd0, 8'd4, // unit #20 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd1, 4'd1, 8'd4, // unit #19 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd2, 4'd1, 8'd5, // unit #18 n2 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd2, 4'd1, 8'd5, // unit #17 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd2, 4'd1, 8'd5, // unit #16 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd2, 4'd1, 8'd5, // unit #15 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd2, 4'd2, 8'd5, // unit #14 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd3, 4'd2, 8'd6, // unit #13 n3 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd3, 4'd2, 8'd6, // unit #12 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd3, 4'd2, 8'd6, // unit #11 + // left half of fpga + 1'b0, 40'd0, 3'b000, 4'd3, 4'd1, 4'd0, 8'd1, // unit #10 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd1, 4'd0, 8'd1, // unit #9 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd1, 4'd0, 8'd1, // unit #8 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd1, 4'd1, 8'd1, // unit #7 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd2, 4'd1, 8'd2, // unit #6 n2 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd2, 4'd1, 8'd2, // unit #5 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd2, 4'd1, 8'd2, // unit #4 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd2, 4'd2, 8'd2, // unit #3 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd3, 4'd2, 8'd3, // unit #2 n3 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd3, 4'd2, 8'd3, // unit #1 + 1'b0, 40'd0, 3'b000, 4'd3, 4'd3, 4'd2, 8'd3 // unit #0 +/* + 1'b1, 40'd0, 3'b111, 4'd3, 4'd0, 4'd1, 8'd0, // unit #24 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd1, 4'd1, 8'd4, // unit #23 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd0, 4'd1, 8'd0, // unit #22 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd1, 4'd1, 8'd4, // unit #21 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd1, 4'd1, 8'd4, // unit #20 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd1, 4'd1, 8'd4, // unit #19 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd2, 4'd1, 8'd5, // unit #18 n2 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd2, 4'd1, 8'd5, // unit #17 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd2, 4'd1, 8'd5, // unit #16 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd2, 4'd2, 8'd5, // unit #15 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd2, 4'd2, 8'd5, // unit #14 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd3, 4'd2, 8'd6, // unit #13 n3 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd3, 4'd2, 8'd6, // unit #12 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd3, 4'd2, 8'd6, // unit #11 + // left half of fpga + 1'b1, 40'd0, 3'b111, 4'd3, 4'd1, 4'd1, 8'd1, // unit #10 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd1, 4'd1, 8'd1, // unit #9 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd1, 4'd1, 8'd1, // unit #8 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd1, 4'd1, 8'd1, // unit #7 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd2, 4'd2, 8'd2, // unit #6 n2 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd2, 4'd2, 8'd2, // unit #5 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd2, 4'd2, 8'd2, // unit #4 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd2, 4'd2, 8'd2, // unit #3 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd3, 4'd2, 8'd3, // unit #2 n3 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd3, 4'd2, 8'd3, // unit #1 + 1'b1, 40'd0, 3'b111, 4'd3, 4'd3, 4'd2, 8'd3 // unit #0 +*/ + }; + + + // There's a network for broadcast signals to units. + // The network consists of nodes. The configuration for each node + // points to the upper level node. + localparam N_NODES = 7; + localparam [8*N_NODES-1 :0] NODES_CONF = { + 8'd5, // #6 + 8'd4, // #5: connected #6 + 8'd0, // #4: connected #5 + + 8'd2, // #3 + 8'd1, // #2: connected #3 + 8'd0, // #1: connected #2 + + 8'd255 // #0 is the entry to the network + }; + + + // ************************************************************ + // + // pkt_comm error codes: + // + // 0x01 - wrong input packet checksum + // 0x02 - bad input packet length + // 0x04 - bad input packet type + // 0x08 - unsupported pkt_comm version + // 0x10 - number of words in WORD_LIST/TEMPLATE_LIST exceeds 2**16-1 + // 0x20 - error in WORD_LIST/TEMPLATE_LIST packet + // 0x40 - error in WORD_GEN packet + // 0x80 - error in CMP_CONFIG packet + // + // ************************************************************ + assign pkt_comm_status = { + err_cmp_config, err_word_gen_conf, err_template, err_word_list_count, + err_pkt_version, err_inpkt_type, err_inpkt_len, err_inpkt_checksum + }; + + + // ************************************************************ + // + // app_status error codes: + // + // 0x01 - candidates received, comparator is unconfigured (arbiter_tx) + // 0x02, 0x04 - bad output from a computing unit (arbiter_rx) + // 0x08 - error in PKT_TYPE_CONFIG + // + // ************************************************************ + assign app_status[7:4] = 0; + + + (* KEEP="true" *) wire mode_cmp = ~app_mode[6]; // Use comparator + + reg error_r = 0; + // Application error or pkt_comm error - disable further processing + always @(posedge PKT_COMM_CLK) + if (|app_status | |pkt_comm_status) + error_r <= 1; + + delay #( .INIT(1), .NBITS(6) ) delay_cores_idle( + .CLK(PKT_COMM_CLK), .in(arbiter_tx_idle), .out(cores_idle) ); + + + // ************************************************** + // + // Application: read packets + // process data base on packet type + // + // ************************************************** + localparam PKT_TYPE_WORD_LIST = 1; + localparam PKT_TYPE_WORD_GEN = 2; + localparam PKT_TYPE_CMP_CONFIG = 3; + localparam PKT_TYPE_TEMPLATE_LIST = 4; + localparam PKT_TYPE_INIT = 5; + localparam PKT_TYPE_CONFIG = 6; + + localparam PKT_MAX_TYPE = 6; + + + wire [`MSB(PKT_MAX_TYPE):0] inpkt_type; + wire [15:0] inpkt_id; + + inpkt_header #( + .VERSION(VERSION), + .PKT_MAX_LEN(PKT_MAX_LEN), + .PKT_MAX_TYPE(PKT_MAX_TYPE), + .DISABLE_CHECKSUM(DISABLE_CHECKSUM) + ) inpkt_header( + .CLK(PKT_COMM_CLK), + .din(din), + .wr_en(rd_en), + .pkt_type(inpkt_type), .pkt_id(inpkt_id), .pkt_data(inpkt_data), + .pkt_end(inpkt_end), + .err_pkt_version(err_pkt_version), .err_pkt_type(err_inpkt_type), + .err_pkt_len(err_inpkt_len), .err_pkt_checksum(err_inpkt_checksum) + ); + + // input packet processing: read enable + assign rd_en = ~empty & ~error_r & (~inpkt_data + | word_gen_conf_en | word_list_wr_en | cmp_config_wr_en + | inpkt_init_rd_en | inpkt_config_rd_en + ); + + + // ************************************************** + // + // input packet type PKT_TYPE_CONFIG (0x06) + // + // ************************************************** + wire inpkt_config_rd_en = ~empty & ~error_r + & inpkt_type == PKT_TYPE_CONFIG & inpkt_data & ~inpkt_config_full; + + wire [N_UNITS-1:0] config_data1; // used to mask units in arbiter_tx + + inpkt_config #( .SUBTYPE1_WIDTH(N_UNITS) + ) inpkt_config( + .CLK(PKT_COMM_CLK), + .din(din), .wr_en(inpkt_config_rd_en), .pkt_end(inpkt_end), + .full(inpkt_config_full), + .dout1(config_data1), .err(app_status[3]) + ); + + + // ************************************************** + // + // input packet type PKT_TYPE_INIT (0x05) + // + // ************************************************** + wire inpkt_init_rd_en = ~empty & ~error_r + & inpkt_type == PKT_TYPE_INIT & inpkt_data & ~inpkt_init_full; + + wire [7:0] init_data; + + inpkt_type_init_1b inpkt_init( + .CLK(PKT_COMM_CLK), + .din(din), .wr_en(inpkt_init_rd_en), .full(inpkt_init_full), + .dout(init_data), .rd_en(init_rd_en), .empty(init_empty) + ); + + + // ************************************************** + // + // input packet types PKT_TYPE_WORD_LIST (0x01), + // PKT_TYPE_TEMPLATE_LIST (0x04) + // + // ************************************************** + wire word_list_wr_en = ~empty & ~error_r + & (inpkt_type == PKT_TYPE_WORD_LIST + | inpkt_type == PKT_TYPE_TEMPLATE_LIST) + & inpkt_data & ~word_list_full; + + + wire [7:0] word_list_dout; + wire [`MSB(WORD_MAX_LEN-1):0] word_rd_addr; + wire [`MSB(WORD_MAX_LEN):0] word_len; + wire [RANGES_MAX * (RANGE_INFO_MSB+1) - 1 :0] range_info; + wire [15:0] word_id; + + // template_list_b: stores input words in 8-bit wide memory + // Variable word length: not padded with zeroes, length is output. + template_list_b_varlen #( + .WORD_MAX_LEN(WORD_MAX_LEN), .RANGES_MAX(RANGES_MAX) + ) word_list( + .CLK(PKT_COMM_CLK), .din(din), + .wr_en(word_list_wr_en), .full(word_list_full), .inpkt_end(inpkt_end), + .is_template_list(inpkt_type == PKT_TYPE_TEMPLATE_LIST), + + .dout(word_list_dout), .rd_addr(word_rd_addr), + .set_empty(word_list_set_empty), .empty(word_list_empty), + .range_info(range_info), .word_id(word_id), .word_len(word_len), + .word_list_end(word_list_end), .totally_empty(word_list_totally_empty), + + .err_template(err_template), .err_word_list_count(err_word_list_count) + ); + + + // ************************************************** + // + // input packet type PKT_TYPE_WORD_GEN (0x02) + // + // ************************************************** + wire word_gen_conf_en = ~empty & ~error_r + & inpkt_type == PKT_TYPE_WORD_GEN & inpkt_data & ~word_gen_conf_full; + + wire [7:0] word_gen_dout; + wire [`MSB(WORD_MAX_LEN-1):0] word_gen_rd_addr; + wire [`MSB(WORD_MAX_LEN):0] word_len_out; + wire [15:0] pkt_id, word_id_out; + wire [31:0] gen_id; + + word_gen_b_varlen #( + .RANGES_MAX(RANGES_MAX), .WORD_MAX_LEN(WORD_MAX_LEN) + ) word_gen( + .CLK(PKT_COMM_CLK), .din(din), + .inpkt_id(inpkt_id), .conf_wr_en(word_gen_conf_en), + .conf_full(word_gen_conf_full), + + .word_in(word_list_dout), .word_rd_addr(word_rd_addr), + .word_set_empty(word_list_set_empty), .word_empty(word_list_empty), + .range_info(range_info), .word_id(word_id), .word_len(word_len), + .word_list_end(word_list_end), + + .dout(word_gen_dout), .rd_addr(word_gen_rd_addr), + .set_empty(word_gen_set_empty), .empty(word_gen_empty), + .pkt_id(pkt_id), .word_id_out(word_id_out), + .word_len_out(word_len_out), .gen_id(gen_id), .gen_end(gen_end), + .totally_empty(word_gen_totally_empty), + + .err_word_gen_conf(err_word_gen_conf) + ); + + + // OK. Got words with ID's. + // + //wire [7:0] word_gen_dout; <-- in memory accessed with word_gen_rd_addr + //wire [15:0] pkt_id, word_id_out; + //wire [31:0] gen_id; + //wire gen_end; + + //assign debug2 = 8'hd2; + //assign debug3 = 8'hd3; + + // ************************************************************* + + + // ************************************************** + // + // input packet type CMP_CONFIG (0x03) + // + // ************************************************** + wire cmp_config_wr_en = ~empty & ~error_r + & inpkt_type == PKT_TYPE_CMP_CONFIG & inpkt_data & ~cmp_config_full; + + wire [`HASH_COUNT_MSB:0] hash_count; + wire [`HASH_NUM_MSB+2:0] cmp_wr_addr; + wire [7:0] cmp_din; + + wire [4:0] cmp_config_addr; + wire [7:0] cmp_config_data; + + sha256crypt_cmp_config cmp_config( + .CLK(PKT_COMM_CLK), .mode_cmp(mode_cmp), + .din(din), .wr_en(cmp_config_wr_en), + .full(cmp_config_full), .error(err_cmp_config), + + .hash_count(hash_count), .cmp_wr_addr(cmp_wr_addr), + .cmp_wr_en(cmp_wr_en), .cmp_din(cmp_din), + + .new_cmp_config(new_cmp_config), + .cmp_config_applied(cmp_config_applied), + .addr(cmp_config_addr), .dout(cmp_config_data) + ); + + + // ************************************************** + // + // Arbiter, transmit part + // - Gather up necessary data, create data packets for computing units; + // - Transmit data to units ready for computing; + // - Operate mostly at PKT_COMM frequency, send at CORE frequency. + // - Account number of candidates transmitted, handle changes + // in comparator configuration etc. + // + // ************************************************** + wire [7:0] unit_in; + wire [N_UNITS-1:0] unit_in_wr_en, unit_in_afull, unit_in_ready; + + wire [31:0] num_processed_tx; + wire [15:0] pkt_id_tx; + + arbiter_tx #( + .N_UNITS(N_UNITS), .WORD_MAX_LEN(WORD_MAX_LEN) + ) arbiter_tx( + .CLK(PKT_COMM_CLK), .CORE_CLK(CORE_CLK), .mode_cmp(mode_cmp), + .pkt_id(pkt_id), .word_id(word_id_out), .gen_id(gen_id), + .gen_end(gen_end), .word_len(word_len_out), + + .din(word_gen_dout), .word_gen_rd_addr(word_gen_rd_addr), + .word_set_empty(word_gen_set_empty), .word_empty(word_gen_empty), + .src_totally_empty(word_list_totally_empty & word_gen_totally_empty), + + .new_cmp_config(new_cmp_config), + .cmp_config_applied(cmp_config_applied), + .cmp_config_addr(cmp_config_addr), .cmp_config_data(cmp_config_data), + + .init_din(init_data), .init_rd_en(init_rd_en), + .init_empty(init_empty), + .unit_tx_mask(config_data1[N_UNITS-1:0]), + + .unit_in(unit_in), .unit_in_ctrl(unit_in_ctrl), .bcast_en(bcast_en), + .unit_in_wr_en(unit_in_wr_en), + .unit_in_afull(unit_in_afull), .unit_in_ready(unit_in_ready), + + .num_processed_tx(num_processed_tx), .pkt_id_tx(pkt_id_tx), + .pkt_tx_done(pkt_tx_done), .pkt_rx_done(pkt_rx_done), + .recv_item(recv_item), + + .idle(arbiter_tx_idle), .err(app_status[0]) + ); + + + + // ************************************************** + // + // Network for broadcast signals + // + // ************************************************** + localparam BCAST_WIDTH = 9; + wire [N_NODES*BCAST_WIDTH-1 :0] bcast; + + bcast_net #( .BCAST_WIDTH(BCAST_WIDTH), + .N_NODES(N_NODES), .NODES_CONF(NODES_CONF) + ) bcast_net( + .CLK(CORE_CLK), .en(bcast_en), + .in({ unit_in, unit_in_ctrl }), .out(bcast) + ); + + + // ************************************************** + // + // Units + // + // ************************************************** + localparam UNIT_OUTPUT_WIDTH = 2; + wire [UNIT_OUTPUT_WIDTH * N_UNITS -1 :0] unit_dout; + wire [N_UNITS-1:0] unit_rd_en, unit_empty; + + genvar i; + generate + for (i=0; i < N_UNITS; i=i+1) begin:units + + // input registers in both directions + wire unit_in_wr_en_u, unit_in_afull_u, unit_in_ready_u; + regs2d #( .IN_WIDTH(1), .OUT_WIDTH(2), .STAGES(UNIT_CONF[12 +:4]) + ) unit_in_regs( .CLK(CORE_CLK), + .enter_in(unit_in_wr_en[i]), + .enter_out({ unit_in_afull[i], unit_in_ready[i] }), + .exit_in(unit_in_wr_en_u), + .exit_out({ unit_in_afull_u, unit_in_ready_u }) + ); + + // output registers in both directions + wire [UNIT_OUTPUT_WIDTH-1 :0] dout_u; + wire rd_en_u, empty_u; + regs2d #( .IN_WIDTH(1), .OUT_WIDTH(UNIT_OUTPUT_WIDTH+1), + .STAGES(UNIT_CONF[8 +:4]) + ) unit_out_regs( .CLK(PKT_COMM_CLK), + .enter_in(unit_rd_en[i]), + .enter_out({ unit_empty[i], + unit_dout[UNIT_OUTPUT_WIDTH*i +:UNIT_OUTPUT_WIDTH] }), + .exit_in(rd_en_u), + .exit_out({ empty_u, dout_u }) + ); + + localparam [63:0] UNIT_CONF = UNITS_CONF [64*i +:64]; + localparam NODE_NUM = UNIT_CONF [0 +:8]; + localparam N_CORES = UNIT_CONF [16 +:4]; + + (* KEEP_HIERARCHY="true" *) + sha256unit #( .UNIT_CONF(UNIT_CONF), .N_CORES(N_CORES) + ) unit( + .CLK(CORE_CLK), + .unit_in(bcast[NODE_NUM*BCAST_WIDTH+1 +:BCAST_WIDTH-1]), + .unit_in_ctrl(bcast[NODE_NUM*BCAST_WIDTH]), + //.unit_in_wr_en(unit_in_wr_en[i]), + //.unit_in_afull(unit_in_afull[i]), .unit_in_ready(unit_in_ready[i]), + .unit_in_wr_en(unit_in_wr_en_u), + .unit_in_afull(unit_in_afull_u), .unit_in_ready(unit_in_ready_u), + + .PKT_COMM_CLK(PKT_COMM_CLK), + //.dout(unit_dout[UNIT_OUTPUT_WIDTH*i +:UNIT_OUTPUT_WIDTH]), + //.rd_en(unit_rd_en[i]), .empty(unit_empty[i]) + .dout(dout_u), .rd_en(rd_en_u), .empty(empty_u) + ); + + end + endgenerate + + + // ************************************************** + // + // Arbiter, receive part + // + // ************************************************** + wire [31:0] cmp_data; + wire [`HASH_NUM_MSB:0] cmp_hash_num; + + wire [`OUTPKT_TYPE_MSB:0] outpkt_type; + wire [15:0] arbiter_pkt_id; + wire [31:0] arbiter_num_processed; + wire [`HASH_NUM_MSB:0] hash_num; + wire [15:0] arbiter_dout; + wire [`MSB(4 +`RESULT_LEN/2 -1):0] arbiter_rd_addr; + + arbiter_rx #( + .N_UNITS(N_UNITS), .UNIT_OUTPUT_WIDTH(UNIT_OUTPUT_WIDTH), + .PKT_NUM_WORDS(4 +`RESULT_LEN/2) + ) arbiter_rx( + .CLK(PKT_COMM_CLK), .mode_cmp(mode_cmp), + .unit_dout(unit_dout), + .unit_rd_en(unit_rd_en), .unit_empty(unit_empty), + // Iteraction with arbiter_tx + .num_processed_tx(num_processed_tx), .pkt_id_tx(pkt_id_tx), + .pkt_tx_done(pkt_tx_done), .pkt_rx_done(pkt_rx_done), + .recv_item(recv_item), + // Comparator + .cmp_data(cmp_data), .cmp_start(cmp_start), + .cmp_found(cmp_found), .cmp_finished(cmp_finished), + .cmp_hash_num(cmp_hash_num), + // Output + .dout(arbiter_dout), .rd_addr(arbiter_rd_addr), + .outpkt_type(outpkt_type), .pkt_id(arbiter_pkt_id), + .num_processed(arbiter_num_processed), .hash_num(hash_num), + .empty(arbiter_empty), .rd_en(arbiter_rd_en), + .err(app_status[2:1]), .debug({debug3, debug2}) + ); + + + // ************************************************** + // + // Comparator + // if mode_cmp=1 (the default) then computed hashes + // appear in the comparator. + // + // ************************************************** + comparator comparator( + .CLK(PKT_COMM_CLK), + // cmp_config + .din(cmp_din), .wr_en(cmp_wr_en), + .wr_addr(cmp_wr_addr), .hash_count(hash_count), + // arbiter_rx + .cmp_data(cmp_data), .start(cmp_start), + .found(cmp_found), .finished(cmp_finished), .hash_num(cmp_hash_num) + ); + + + // ************************************************ + // + // Create application packets from output data + // + // ************************************************ + assign arbiter_rd_en = ~arbiter_empty & ~outpkt_full; + assign outpkt_wr_en = arbiter_rd_en; + + outpkt #( + .HASH_NUM_MSB(`HASH_NUM_MSB), .SIMULATION(DISABLE_CHECKSUM) + ) outpkt( + .CLK(PKT_COMM_CLK), + .din(arbiter_dout), .rd_addr(arbiter_rd_addr), + .source_not_empty(~arbiter_empty), + .wr_en(outpkt_wr_en), .full(outpkt_full), + + .pkt_type(outpkt_type), .pkt_id(arbiter_pkt_id), + .hash_num(hash_num), .num_processed(arbiter_num_processed), + + .dout(dout), .rd_en(wr_en), .empty(outpkt_empty), .pkt_end_out() + ); + + + // Write data into output FIFO + assign wr_en = ~outpkt_empty & ~full; + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt_cmp_config.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt_cmp_config.v new file mode 100644 index 00000000000..95aa6436a99 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt_cmp_config.v @@ -0,0 +1,191 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + + +module sha256crypt_cmp_config( + // + // CMP_CONFIG packet: + // + // * 18 bytes salt: 1 byte unused, 1 salt_len, 16 bytes salt itself + // (if actual salt_len is less than 16 then it's padded) + // * 4 bytes: "tunable cost 0" (iteration count) + // * 2 bytes: hash count for comparator (up to `NUM_HASHES) + // * 4*(hash count) bytes: comparator data (bits 0-31 of hash). + // * ends with 0xCC + // + input CLK, + // When asserted, it accepts packets without comparator data. + input mode_cmp, + + input [7:0] din, + input wr_en, + output reg full = 0, + output reg error = 0, + + // Iteraction with other subsystems. + output reg new_cmp_config = 0, // asserted on a new cmp_config packet. + + // do not finish processing, block processing next packets by pkt_comm + // until cmp_config_applied asserts (requires mode_cmp=1). + input cmp_config_applied, + + // Output into comparator + output reg [`HASH_COUNT_MSB:0] hash_count, + output reg [`HASH_NUM_MSB+2:0] cmp_wr_addr = {`HASH_NUM_MSB+3{1'b1}}, + output reg cmp_wr_en = 0, + output reg [7:0] cmp_din, + + // Output + input [4:0] addr, + output [7:0] dout + ); + + integer k; + + // + // CMP_CONFIG data, except for hashes, is stored in distributed RAM. + // DRAM is accessible asynchronously with addr,dout + // Content: + // 0..3 - iter_cnt + // 4..7 - salt_len + // 8..23 - salt + // + (* RAM_STYLE="DISTRIBUTED" *) + reg [7:0] data [0:31]; + initial + for (k=0; k <= 31; k=k+1) + data[k] = 0; + + assign dout = data [addr]; + wire [4:0] data_wr_addr; + + always @(posedge CLK) + if (data_wr_en) + data [data_wr_addr] <= din; + + + reg [4:0] salt_addr = 8; + reg [1:0] iter_cnt = 0; + + + localparam STATE_NONE = 0, + STATE_SALT_LEN = 1, + STATE_SALT = 2, + STATE_ITER_COUNT = 3, + STATE_HASH_COUNT0 = 4, + STATE_HASH_COUNT1 = 5, + STATE_CMP_DATA = 6, + STATE_WAIT_CMP_CONFIG_APPLIED = 7, + STATE_MAGIC = 8; + + (* FSM_EXTRACT="true" *) + reg [3:0] state = STATE_NONE; + + always @(posedge CLK) begin + if (error) begin + end + + else if (state == STATE_WAIT_CMP_CONFIG_APPLIED) begin + if (cmp_config_applied) begin + new_cmp_config <= 0; + full <= 0; + state <= STATE_SALT_LEN; + end + end + + else if (~wr_en) + cmp_wr_en <= 0; + + else if (wr_en) + case (state) + STATE_NONE: + if (din != 0) + error <= 1; + else begin + new_cmp_config <= 1; + full <= 1; + state <= STATE_WAIT_CMP_CONFIG_APPLIED; + end + + STATE_SALT_LEN: begin + if (din > 16 | din == 0) + error <= 1; + else + state <= STATE_SALT; + salt_addr <= 8; + end + + STATE_SALT: begin + salt_addr <= salt_addr + 1'b1; + if (salt_addr == 23) + state <= STATE_ITER_COUNT; + end + + STATE_ITER_COUNT: begin + // TODO: raise error on rounds=0 + iter_cnt <= iter_cnt + 1'b1; + if (iter_cnt == 3) + state <= STATE_HASH_COUNT0; + end + + STATE_HASH_COUNT0: begin + hash_count[7:0] <= din; + if (~mode_cmp & din != 0) + error <= 1; + else + state <= STATE_HASH_COUNT1; + end + + STATE_HASH_COUNT1: begin + hash_count[`HASH_COUNT_MSB:8] <= din[`HASH_COUNT_MSB-8:0]; + cmp_wr_addr <= {`HASH_NUM_MSB+3{1'b1}}; + + if (~mode_cmp & din != 0) + error <= 1; + else if (mode_cmp) + state <= STATE_CMP_DATA; + else + state <= STATE_MAGIC; + + /* + if (hash_count[7:0] == 0 & din == 0) + state <= STATE_MAGIC; + else + state <= STATE_CMP_DATA; + */ + end + + STATE_CMP_DATA: begin + cmp_wr_en <= 1; + cmp_din <= din; + cmp_wr_addr <= cmp_wr_addr + 1'b1; + if (cmp_wr_addr + 2'b10 == { hash_count, 2'b00 } ) + state <= STATE_MAGIC; + end + + STATE_MAGIC: begin + cmp_wr_en <= 0; + if (din == 8'hCC) + state <= STATE_NONE; + else + error <= 1; + end + endcase + end + + assign data_wr_en = wr_en & (state == STATE_SALT_LEN + | state == STATE_SALT | state == STATE_ITER_COUNT); + + assign data_wr_addr = + state == STATE_SALT_LEN ? 5'd4 : + state == STATE_SALT ? salt_addr : + iter_cnt; + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt_test.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt_test.v new file mode 100644 index 00000000000..c2102ef6349 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256crypt_test.v @@ -0,0 +1,185 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + + +module sha256crypt_test(); + + reg READ_ALL_FROM_OUTPUT_FIFO = 0; + + genvar i; + integer k, k1, k2; + reg [7:0] char; + + reg [7:0] app_mode = 0; + + initial begin + + // ***************************************************************** + // + // Send data packets exactly as they arrive from USB controller. + // + // Output packets appear in output_fifo.fifo_output0.ram + // exactly as before they leave FPGA. + // On errors it sets pkt_comm_status and app_status available + // via low-speed interface. + // + // It has no internal check for the count of rounds. + // + // ***************************************************************** + #500; + + + // ***************************************************************** + // + // Test #1. + // + // Hash formatted as in reference implementation: + // { "$5$rounds=10$0//3456789//edef", "key_len=11.", + // "$5$rounds=10$0//3456789//edef$PSqu85Ls/ajCpozZe" + // "xq3yEZhffR0avwyFklOQhdAgD5" }, + // + // Data packet for computing unit (sha512unit_test.v): + // send_data_packet(10,16,11,"0//3456789//edef","key_len=11."); + // + // Hash (MSB 1st): 73ec5c1c ... 978171eb + // + // ***************************************************************** + + // Usage: send_config_packet(subtype,data_len,data); + // exclude units 0,6,7,12 + //send_config_packet(1,2,32'b_0000_0000_0001_0000_1100_0001); + + // Usage: cmp_config_create(cnt,salt_len,"salt"); + cmp_config_create(10,16,"0//3456789//edef"); + cmp_config_add_hash(32'h978171eb); + send_cmp_config(); + + send_empty_word_gen(1); + + word_list_add("mypwd123"); + word_list_add("mypwd1234"); + word_list_add("mypwd12345"); + word_list_add("pass_len_is15.."); + + //for (k=0; k < 180; k=k+1) + //for (k=0; k < 60; k=k+1) + word_list_add("0123456789abc"); + //word_list_add("abc"); + + word_list_add("key_len=11z"); + word_list_add("key_len=11."); + word_list_add("key_len=12."); + // 8 candidates total + send_word_list(); + + end + + + + // *************************************************************** + // + // + // + // *************************************************************** + reg CORE_CLK = 0, PKT_COMM_CLK = 0, IFCLK = 0; + + reg [7:0] din; + reg wr_en = 0; + +`include "../pkt_comm/pkt_comm_test_helper.vh" + + + // *************************************************************** + // + // Simulating input via USB controller, FPGA's Input fifo + // + // *************************************************************** + wire [15:0] app_dout; + wire [7:0] app_status, pkt_comm_status, debug2, debug3; + wire [7:0] hs_input_dout; + + fifo_sync_small #( .A_WIDTH(16), .D_WIDTH(8) + ) fifo_input1( + .CLK(PKT_COMM_CLK), + .din(din), + .wr_en(wr_en), + .full(), + + .dout(hs_input_dout), + .rd_en(hs_input_rd_en), + .empty(hs_input_empty) + ); + + sha256crypt #(.DISABLE_CHECKSUM(1)) pkt_comm( + //pkt_comm_v2 pkt_comm( + .PKT_COMM_CLK(PKT_COMM_CLK), + .CORE_CLK(CORE_CLK), + // High-Speed FPGA input + .din(hs_input_dout), + .rd_en(hs_input_rd_en), + .empty(hs_input_empty), + // High-Speed FPGA output + .dout(app_dout), + .wr_en(app_wr_en), + .full(app_full), + // Application control (via VCR I/O). Set with fpga_set_app_mode() + .app_mode(app_mode), + // Application status. Available at fpga->wr.io_state.app_status + .cores_idle(cores_idle), + .app_status(app_status), .pkt_comm_status(pkt_comm_status), + .debug2(debug2), .debug3(debug3) + ); + + + // ******************************************************** + // + // Output buffer (via High-Speed interface) + // + // ******************************************************** + output_fifo output_fifo( + .wr_clk(PKT_COMM_CLK), + .din(app_dout), + .wr_en(app_wr_en), + .full(app_full), + + .rd_clk(IFCLK), + .dout(), // to Cypress IO, + .rd_en(READ_ALL_FROM_OUTPUT_FIFO), // to Cypress IO, + .empty(), // to Cypress IO + .mode_limit(1'b1), + .reg_output_limit(READ_ALL_FROM_OUTPUT_FIFO), + .output_limit(), + .output_limit_not_done() + ); + + + // This does not reflect actual timing + initial begin + #3; + while (1) begin + CORE_CLK <= ~CORE_CLK; #6; + end + end + + initial begin + #5; + while (1) begin + PKT_COMM_CLK <= ~PKT_COMM_CLK; #10; + end + end + + initial begin + #35; + while (1) begin + IFCLK <= ~IFCLK; #70; + end + end + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/core_input.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/core_input.v new file mode 100644 index 00000000000..42caec5371c --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/core_input.v @@ -0,0 +1,70 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + +// +// Extracted from realign4: +// everything dependent on N_CORES +// +module core_input #( + parameter N_CORES = 3, + parameter N_CORES_MSB = `MSB(N_CORES-1), + parameter N_THREADS = 2 * N_CORES, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, + + // from realign + input realign_wr_en_r, realign_valid_eqn, realign_valid, + + input [N_THREADS_MSB :0] thread_num, + input [`BLK_OP_MSB:0] blk_op, + + output reg [N_CORES-1:0] core_wr_en = 0, + output reg [3:0] core_wr_addr = 0, + output reg [`BLK_OP_MSB:0] core_blk_op, + output reg core_seq, + output reg set_input_ready = 0 + ); + + genvar i; + + reg [N_THREADS_MSB :0] thread_num1; + reg [`BLK_OP_MSB:0] blk_op1; + always @(posedge CLK) begin + thread_num1 <= thread_num; + blk_op1 <= blk_op; + end + + wire [N_CORES_MSB :0] core_num; + assign { core_num, seq_num } = thread_num1; + + generate + for (i=0; i < N_CORES; i=i+1) begin:cores_wr_en + always @(posedge CLK) + core_wr_en[i] <= i == core_num & realign_valid_eqn; + end + endgenerate + + + always @(posedge CLK) if (realign_wr_en_r) begin + core_seq <= seq_num; + core_blk_op <= blk_op1; + end + + + always @(posedge CLK) if (realign_valid) begin + core_wr_addr <= core_wr_addr + 1'b1; + + set_input_ready <= core_wr_addr == 14; + end + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/create_blk.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/create_blk.v new file mode 100644 index 00000000000..5ddac6e80b7 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/create_blk.v @@ -0,0 +1,304 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + +// +// Task: given procb records and other data, +// create datasets for memory read and further processing. +// +// That was divided into 2 parts: +// - Part I (process_bytes) form datasets for memory reads +// without respect to blocks; +// - Part II (this one) operates with respect to blocks, +// cuts datasets and saves state after the end of a block. +// It's also responsible for padding and addition of total. +// +module create_blk #( + parameter N_THREADS = 6, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, + + input wr_en, + input [2:0] in_len, + input [`MEM_ADDR_MSB+2 :0] in_addr, + input [`PROCB_CNT_MSB :0] in_bytes_left_prev, + input in_fin, in_stop, in_padded0x80, + input [`PROCB_TOTAL_MSB :0] in_total, + input [N_THREADS_MSB :0] in_thread_num, + input [`BLK_OP_MSB:0] in_blk_op, + input blk_start, new_comp, + // the last portion of bytes in the current procb record. + // At the same time 'in_len' can be 0. + input bytes_end, + + output reg full = 0, // busy with padding + output reg blk_end = 0, // asserts for 1 cycle at the end of the block + + output reg save_wr_en = 1, // initialize procb_saved_state on startup + output reg [N_THREADS_MSB :0] save_thread_num = 0, + output [`PROCB_SAVE_WIDTH-1 :0] save_data, + + output reg mem_rd_en = 0, + output reg [N_THREADS_MSB :0] thread_num, + output reg [`MEM_ADDR_MSB :0] mem_rd_addr, + output reg [2:0] len = 4, + output reg [1:0] off = 0, + output reg add0x80pad = 0, add0pad = 0, add_total = 0, + output reg [`PROCB_TOTAL_MSB :0] total = 0, + output reg [`BLK_OP_MSB:0] blk_op = 0, + + output reg err = 0 + ); + + // + // State for save + // + reg [`MEM_ADDR_MSB+2 :0] save_addr = 0; + reg [`PROCB_CNT_MSB :0] save_bytes_left = 0; + reg save_fin = 0, save_stop = 0, save_padded0x80 = 0; + reg comp_active = 0, procb_active = 0; + + assign save_data = { save_addr, save_bytes_left, total, + save_fin, save_stop, save_padded0x80, comp_active, procb_active }; + + + // + // Current block state + // + reg [6:0] blk_left = 64, blk_left2 = 60; + + + localparam STATE_INIT = 0, + STATE_PROCB = 2, + STATE_PAD_0x80 = 3, + STATE_PAD0 = 4, + STATE_TOTAL1 = 5, + STATE_TOTAL2 = 6; + + (* FSM_EXTRACT="true" *)//, FSM_ENCODING="one-hot" *) + reg [2:0] state = STATE_INIT; + + wire wr_en_effective = wr_en & ~full & ~blk_end; + + wire [2:0] len_effective = in_len >= blk_left ? blk_left : in_len; + + always @(posedge CLK) begin + if (blk_end) + blk_end <= 0; + + save_wr_en <= save_eqn; + + if (blk_start) begin + save_padded0x80 <= 1'b0; + thread_num <= in_thread_num; + blk_op <= in_blk_op; + end + + case(state) + STATE_INIT: begin + save_thread_num <= save_thread_num == N_THREADS-1 + ? {N_THREADS_MSB+1{1'b0}} : save_thread_num + 1'b1; + if (save_thread_num == N_THREADS-1) begin + //save_wr_en <= 0; + state <= STATE_PROCB; + end + end + + STATE_PROCB: begin + + if (wr_en_effective) begin + mem_rd_addr <= in_addr[`MEM_ADDR_MSB+2 :2]; + off <= in_addr[1:0]; + len <= len_effective; + end + mem_rd_en <= wr_en_effective & in_len > 0 & blk_left > 0; + + if (blk_start) + save_thread_num <= in_thread_num; + + if (blk_start & ~new_comp & in_len == 0) begin + if (in_padded0x80) + add0x80pad <= 0; + else + add0x80pad <= 1; + + add0pad <= 1; + off <= 0; + len <= 4; + blk_left2 <= 60; + full <= 1; + state <= STATE_PAD0; + end + + // block ends + else if (wr_en_effective & in_len >= blk_left) begin + //save_wr_en <= 1; + blk_end <= 1; + blk_left <= 64; + blk_left2 <= blk_left - in_len; + add0x80pad <= 0; + add0pad <= 0; + + // bytes end exactly at the end of the block + if (bytes_end & in_len == blk_left) begin + if (in_fin) begin + comp_active <= 1; procb_active <= 1; + end + else if (in_stop) begin // stop computation + `BLK_OP_END_COMP_OUTPUT(blk_op) <= 1; + comp_active <= 0; procb_active <= 0; + end + else begin // computation continues at the next block + comp_active <= 1; procb_active <= 0; + end + end + + // more bytes remain for processing (for the next block) + else begin + comp_active <= 1; procb_active <= 1; + end + end + + // block doesn't end + else if (wr_en_effective) begin + + blk_left <= blk_left - in_len; + blk_left2 <= blk_left - in_len; + add0x80pad <= 0; + add0pad <= 0; + + // stop_ctx is set, bytes don't end + // exactly at the end of the block + if (bytes_end & in_stop) + err <= 1; + if (bytes_end & in_fin) begin + full <= 1; + state <= STATE_PAD_0x80; + end + end + + else begin + add0x80pad <= 0; + add0pad <= 0; + end + + add_total <= 0; + end + + // pad with 0x80 and optionally 0's; align to 8 bytes + STATE_PAD_0x80: begin + mem_rd_en <= 0; + add0x80pad <= 1; + add0pad <= 1; + save_padded0x80 <= 1; + off <= 0; + + //save_bytes_left <= 0; + + if (blk_left2[1:0] != 0) begin + len <= blk_left2[1:0]; + blk_left2 <= { blk_left2[6:2], 2'b00 }; + end + else begin // at 8-byte boundary + len <= 4; + blk_left2 <= blk_left2 - 3'd4; + end + + comp_active <= 1; + procb_active <= 1; + if (blk_left2 <= 4) begin // block is finished + //save_wr_en <= 1; + full <= 0; + blk_end <= 1; + blk_left <= 64; + state <= STATE_PROCB; + end + else if (blk_left2 >= 9 & blk_left2 <= 12) + state <= STATE_TOTAL1; + else + state <= STATE_PAD0; + end + + STATE_PAD0: begin + add0x80pad <= 0; + add0pad <= 1; + len <= 4; + + //save_bytes_left <= 0; + + blk_left2 <= blk_left2 - 3'd4; + + comp_active <= 1; + procb_active <= 1; + if (blk_left2 <= 4) begin + // block is finished (padded with 0x80 and 0-15 zero bytes) + //save_wr_en <= 1; + full <= 0; + blk_end <= 1; + blk_left <= 64; + state <= STATE_PROCB; + end + else if (blk_left2 >= 9 & blk_left2 <= 12) + state <= STATE_TOTAL1; + end + + STATE_TOTAL1: begin + add0x80pad <= 0; + len <= 4; + state <= STATE_TOTAL2; + end + + STATE_TOTAL2: begin + add0pad <= 0; + add0x80pad <= 0; + add_total <= 1; + + `BLK_OP_END_COMP_OUTPUT(blk_op) <= 1; + comp_active <= 0; // Computation is finished + + procb_active <= 0; + //save_wr_en <= 1; // Block is finished + full <= 0; + blk_end <= 1; + blk_left <= 64; + state <= STATE_PROCB; + end + endcase + end + + always @(posedge CLK) + if (wr_en_effective) + total <= ( + (blk_start & new_comp) ? {`PROCB_TOTAL_MSB+1{1'b0}} : + blk_start ? in_total : + total + ) + len_effective; + + assign save_eqn = (1'b0 + | state == STATE_INIT + | state == STATE_PROCB & wr_en_effective & in_len >= blk_left + | state == STATE_PAD_0x80 & blk_left2 <= 4 + | state == STATE_PAD0 & blk_left2 <= 4 + | state == STATE_TOTAL2 + ); + + always @(posedge CLK) if (save_eqn) begin + save_addr <= in_addr + blk_left[2:0]; + save_bytes_left <= (state == STATE_PAD_0x80 + | state == STATE_PAD0 | state == STATE_TOTAL2) + ? {`PROCB_CNT_MSB+1{1'b0}} : in_bytes_left_prev - blk_left[2:0]; + save_fin <= in_fin; + save_stop <= in_stop; + //save_thread_num <= in_thread_num; + end + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/engine.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/engine.v new file mode 100644 index 00000000000..6059db18a7f --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/engine.v @@ -0,0 +1,262 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + + +module engine #( + parameter N_CORES = 3, + parameter N_CORES_MSB = `MSB(N_CORES-1), + parameter N_THREADS = 2 * N_CORES, + parameter N_THREADS_MSB = `MSB(2*N_CORES-1) + )( + input CLK, + + // *** CPU Interface *** + // procb_buf + input [N_THREADS_MSB:0] procb_wr_thread_num, + input procb_wr_en, + input [`PROCB_D_WIDTH-1 :0] procb_wr_data, + output [`PROCB_A_WIDTH-1 :0] procb_wr_cnt, + input comp_data1_wr_en, + input [`COMP_DATA1_MSB :0] comp_wr_data1, + // thread_state + input [N_THREADS_MSB :0] ts_wr_num1, ts_rd_num1, ts_num4, + input [`THREAD_STATE_MSB :0] ts_wr1, ts_wr4, + input ts_wr_en1, ts_wr_en4, + output [`THREAD_STATE_MSB :0] ts_rd1, ts_rd4, + // memory + input comp_data2_wr_en, + input [`COMP_DATA2_MSB :0] comp_wr_data2, + input [31:0] ext_din, + input [`MEM_TOTAL_MSB :0] ext_wr_addr, + input ext_wr_en, + output ext_full, + input mem_rd_cpu_request, + input [`MEM_TOTAL_MSB :0] mem_rd_addr_cpu, + output [31:0] mem_dout, + output mem_rd_cpu_valid, + + // *** Cores *** + // (are kept separate because of Placement & Routing issues) + output [N_CORES-1:0] core_wr_en, core_start, + input [N_CORES-1:0] core_ready, core_dout_en, core_dout_seq, + output [31:0] core_din, + output [3:0] core_wr_addr, + output [`BLK_OP_MSB:0] core_blk_op, + output core_seq, core_set_input_ready, + input [32*N_CORES-1 :0] core_dout, + + output [4:0] err + ); + + + // ********************************************************** + // + // ENGINE's CONTROLS + // + // ********************************************************** + //wire [N_THREADS_MSB:0] thread_num, core_mem_thread_num; + + engine_ctrl #( .N_CORES(N_CORES) + ) engine_ctrl( + .CLK(CLK), + .core_start(core_start)// .mem_thread_num(core_mem_thread_num), + + //.thread_num(thread_num), + //.cpu_start(cpu_start), .procb_start(procb_start) + ); + + + // ********************************************************** + // + // THREAD STATE (TS) + // + // Each thread is in some defined state. There're multiple + // channels to read/modify state of threads. + // + // ********************************************************** + wire [N_THREADS_MSB :0] ts_wr_num2, ts_rd_num2, ts_num3; + wire [`THREAD_STATE_MSB :0] ts_wr2, ts_wr3, ts_rd2, ts_rd3; + + thread_state #( .N_THREADS(N_THREADS) + ) thread_state( + .CLK(CLK), + .wr_num1(ts_wr_num1), .wr_en1(ts_wr_en1), // channel 1 - CPU + .wr_state1(ts_wr1), .rd_num1(ts_rd_num1), .rd_state1(ts_rd1), + .wr_num2(ts_wr_num2), .wr_en2(ts_wr_en2), // channel 2 - procb + .wr_state2(ts_wr2), .rd_num2(ts_rd_num2), .rd_state2(ts_rd2), + .wr_num3(ts_num3), .wr_en3(ts_wr_en3), // 3 - memory + .wr_state3(ts_wr3), .rd_num3(ts_num3), .rd_state3(ts_rd3), + .wr_num4(ts_num4), .wr_en4(ts_wr_en4), // 4 - unit_input + .wr_state4(ts_wr4), .rd_num4(ts_num4), .rd_state4(ts_rd4), + .err(err[0]) + ); + + + // ********************************************************** + // + // "MAIN" MEMORY (128 bytes / thread) + // + // ********************************************************** + wire [`MEM_TOTAL_MSB :0] mem_rd_addr_procb; + + memory #( .N_CORES(N_CORES) + ) memory( + .CLK(CLK), + // comp. data set #2 + .comp_data2_thread_num(procb_wr_thread_num), + .comp_data2_wr_en(comp_data2_wr_en), .comp_wr_data2(comp_wr_data2), + // Write + .core_din(core_dout), .core_dout_en(core_dout_en), + .core_dout_seq(core_dout_seq), + .ext_din(ext_din), .ext_wr_addr(ext_wr_addr), .ext_wr_en(ext_wr_en), + .ext_full(ext_full), + // Thread State + .ts_num(ts_num3), .ts_wr_en(ts_wr_en3), .ts_wr(ts_wr3), + // Read + .rd_en_procb(mem_rd_en_procb), .rd_cpu_request(mem_rd_cpu_request), + .rd_addr_procb(mem_rd_addr_procb), .rd_addr_cpu(mem_rd_addr_cpu), + .dout(mem_dout), .rd_cpu_valid(mem_rd_cpu_valid), + .err(err[1]) + ); + + + // ********************************************************** + // + // realign & core_input + // + // ********************************************************** + wire [2:0] len; + wire [1:0] off; + wire [`PROCB_TOTAL_MSB :0] total; + wire [N_THREADS_MSB :0] core_thread_num; + wire [`BLK_OP_MSB:0] blk_op; + + reg [2:0] len_r = 4; + reg [1:0] off_r = 0; + reg add0x80pad_r = 0, add0pad_r = 0, add_total_r = 0; + reg [`PROCB_TOTAL_MSB :0] total_r = 0; + reg [N_THREADS_MSB :0] core_thread_num_r; + reg [`BLK_OP_MSB:0] blk_op_r; + + always @(posedge CLK) begin + len_r <= len; off_r <= off; + add0x80pad_r <= add0x80pad; add0pad_r <= add0pad; + add_total_r <= add_total; core_thread_num_r <= core_thread_num; + blk_op_r <= blk_op; + if (add_total) + total_r <= total; + end + + + reg realign_wr_en = 0; + always @(posedge CLK) + realign_wr_en <= mem_rd_en_procb; + + realign4_pad realign4_pad( + .CLK(CLK), + .wr_en(realign_wr_en), + .din(mem_dout), + + .len(len_r), .off(off_r), + .add0x80pad(add0x80pad_r), .add0pad(add0pad_r), + .add_total(add_total_r), .in_total(total_r), + + .valid_eqn(realign_valid_eqn), .valid(realign_valid), + .wr_en_r(realign_wr_en_r), + .err(err[2]), .out(core_din) + ); + + core_input #( .N_CORES(N_CORES) + ) core_input( + .CLK(CLK), + .realign_wr_en_r(realign_wr_en_r), + .realign_valid_eqn(realign_valid_eqn), .realign_valid(realign_valid), + + .thread_num(core_thread_num_r), .blk_op(blk_op_r), + + .core_wr_en(core_wr_en), .core_wr_addr(core_wr_addr), + .core_blk_op(core_blk_op), + .core_seq(core_seq), .set_input_ready(core_set_input_ready) + ); + + + // ********************************************************** + // + // procb_buf + // + // A write into the buffer resembles the call to process_bytes() + // software function. + // So-called "procb records" are written. + // + // ********************************************************** + wire [N_THREADS_MSB :0] procb_rd_thread_num; + //wire [`PROCB_D_WIDTH-1 :0] procb_wr_data, procb_dout; + wire [`PROCB_D_WIDTH-1 :0] procb_dout; + //wire [`PROCB_A_WIDTH-1 :0] procb_wr_cnt; + + procb_buf #( .N_THREADS(N_THREADS) + ) procb_buf( + .CLK(CLK), + .wr_thread_num(procb_wr_thread_num), .wr_en(procb_wr_en), + .din(procb_wr_data), .wr_cnt(procb_wr_cnt), + // read by process_bytes + .rd_thread_num(procb_rd_thread_num), + .rd_en(procb_rd_en), .rd_rst(procb_rd_rst), + // read-ahead + .lookup_en(procb_lookup_en), .lookup_empty(procb_lookup_empty), + .aempty(procb_aempty), .dout(procb_dout), + .err(err[3]) + ); + + + // ********************************************************** + // + // process_bytes. + // - operates controls for realign4, core_input. + // That allows to create 16x32-bit data blocks out of + // procb records and send them to cores. Padding & total are + // added where required. + // + // ********************************************************** + process_bytes #( .N_CORES(N_CORES) + ) process_bytes( + .CLK(CLK), + // thread_state (ts) - using channel 2 + .ts_wr_num(ts_wr_num2), .ts_wr_en(ts_wr_en2), + .ts_wr(ts_wr2), .ts_rd_num(ts_rd_num2), .ts_rd(ts_rd2), + + // comp_buf + .comp_data1_thread_num(procb_wr_thread_num), + .comp_data1_wr_en(comp_data1_wr_en), .comp_wr_data1(comp_wr_data1), + + // procb_buf + .procb_rd_thread_num(procb_rd_thread_num), + .procb_rd_en(procb_rd_en), .procb_rd_rst(procb_rd_rst), + //.procb_aempty(procb_aempty), + .procb_dout(procb_dout), + .procb_lookup_en(procb_lookup_en), + .procb_lookup_empty(procb_lookup_empty), + + // Memory read, supplementary data for realign4_pad, core_input + .mem_rd_addr(mem_rd_addr_procb), .mem_rd_en(mem_rd_en_procb), + .len(len), .off(off), + .add0x80pad(add0x80pad), .add0pad(add0pad), + .add_total(add_total), .total(total), + .core_thread_num(core_thread_num), .blk_op(blk_op), + + // Connections from cores + .ready(core_ready), + .err(err[4]) + ); + + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/engine_ctrl.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/engine_ctrl.v new file mode 100644 index 00000000000..85997b4a31f --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/engine_ctrl.v @@ -0,0 +1,44 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + + +module engine_ctrl #( + parameter N_CORES = 3, + parameter N_CORES_MSB = `MSB(N_CORES-1), + parameter N_THREADS = 2 * N_CORES, + parameter N_THREADS_MSB = `MSB(2*N_CORES-1), + parameter COMP_INTERVAL = 144 / N_THREADS + )( + input CLK, + output reg [N_CORES-1:0] core_start = 0 + ); + + reg [7:0] cnt = 0; + always @(posedge CLK) + cnt <= cnt == 143 ? 8'b0 : cnt + 1'b1; + + + genvar i; + generate + for (i=0; i < N_CORES; i=i+1) begin:for_start + + always @(posedge CLK) begin + if (core_start[i]) + core_start[i] <= 0; + if (cnt == i * COMP_INTERVAL + || cnt == 72 + i * COMP_INTERVAL) + core_start[i] <= 1; + end + + end + endgenerate + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/memory.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/memory.v new file mode 100644 index 00000000000..0a10a2ddef3 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/memory.v @@ -0,0 +1,224 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + + +module memory #( + parameter N_CORES = 3, + parameter N_THREADS = 2 * N_CORES, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, + + // *** Computation data set #2 *** + input [N_THREADS_MSB :0] comp_data2_thread_num, + input comp_data2_wr_en, + input [`COMP_DATA2_MSB :0] comp_wr_data2, + + // Write + input [32*N_CORES-1 :0] core_din, + input [N_CORES-1 :0] core_dout_en, + input [N_CORES-1 :0] core_dout_seq, + + input [31:0] ext_din, + input [`MEM_TOTAL_MSB :0] ext_wr_addr, + input ext_wr_en, + output reg ext_full = 0, + + // Thread State + output [N_THREADS_MSB :0] ts_num, + //output reg ts_wr_en = 0, + output ts_wr_en, + output [`THREAD_STATE_MSB :0] ts_wr, + + // Read + input rd_en_procb, rd_cpu_request, + input [`MEM_TOTAL_MSB :0] rd_addr_procb, rd_addr_cpu, + output reg [31:0] dout, + output reg rd_cpu_valid = 0, + + output reg err = 0 + ); + + + // ================================================================= + // + reg [31:0] mem [0: 2**(`MEM_TOTAL_MSB+1)-1]; + initial begin +`ifdef SIMULATION + // For simulation with engine_test.v, memory for thread #0 + // contains key and salt from the 1st element from + // the reference implementation. + mem[0] = 32'h746c6173; // salt + mem[1] = 32'h69727473; // stri + mem[2] = 32'h0000676e; // ng + mem[3] = 32'h6c6c6548; // Hell + mem[4] = 32'h6f77206f; // o wo + mem[5] = 32'h21646c72; // rld! +`endif + end + + + // ================================================================= + // *** Computation data (set #2) *** + // + (* RAM_STYLE="DISTRIBUTED" *) + reg [`COMP_DATA2_MSB :0] comp_data2 [0: N_THREADS-1]; + always @(posedge CLK) + if (comp_data2_wr_en) + comp_data2 [comp_data2_thread_num] <= comp_wr_data2; + + wire [`MEM_ADDR_MSB :0] comp_save_addr; + wire [3:0] comp_save_len; + assign { comp_save_addr, comp_save_len } + = comp_data2 [ {core_num_r, seq_num_r} ]; + + + // ================================================================= + // *** Input core selection *** + // + wire [`MSB(N_CORES-1):0] core_num; + encoder4 #( .N_CORES(N_CORES) + ) encoder( .in(core_dout_en), .out(core_num) ); + + reg [2:0] cnt = 0; + reg [`MSB(N_CORES-1):0] core_num_r; + reg seq_num_r; + + localparam STATE_NONE = 0, + STATE_WR = 1; + + (* FSM_EXTRACT="true" *) + reg [1:0] state = STATE_NONE; + + always @(posedge CLK) begin + case(state) + STATE_NONE: if (|core_dout_en) begin + core_num_r <= core_num; + seq_num_r <= core_dout_seq [core_num]; + state <= STATE_WR; + end + + // Actual data is 1 cycle behind 'core_dout_en' + STATE_WR: begin + cnt <= cnt - 1'b1; + if (cnt == 1) + state <= STATE_NONE; + end + endcase + end + + // Update thread_state + assign ts_num = {core_num_r, seq_num_r}; + assign ts_wr = `THREAD_STATE_WR_RDY; + //always @(posedge CLK) + // ts_wr_en <= cnt == 1; + assign ts_wr_en = cnt == 1; + + // FULL flag for external input + always @(posedge CLK) + ext_full <= |core_dout_en; + + + // ================================================================= + // *** Write *** + // + reg [31:0] input_r; + reg [`MEM_TOTAL_MSB :0] ext_wr_addr_r; + reg wr_en = 0, ext_wr_en_r = 0; + + if (N_CORES == 3) begin + + // Optimization for N_CORES=3 (saves 15 LUT) + wire [32 + 32*N_CORES-1 :0] input_mux = {ext_din, core_din}; + (* KEEP="true" *) wire [1:0] input_mux_addr = ext_wr_en + ? 2'b11 : core_num_r; + wire input_r_wr_en = ext_wr_en | state == STATE_WR + & ({1'b0, cnt - 1'b1}) < comp_save_len; + + always @(posedge CLK) + if (input_r_wr_en) begin + input_r <= input_mux [32*input_mux_addr +:32]; + wr_en <= 1; + end + else + wr_en <= 0; + + end else begin // N_CORES != 3 + + always @(posedge CLK) + if (ext_wr_en) begin + wr_en <= 1; + input_r <= ext_din; + end + else if ( ({1'b0, cnt - 1'b1}) < comp_save_len + & state == STATE_WR) begin + wr_en <= 1; + input_r <= core_din [32*core_num_r +:32]; + end + else + wr_en <= 0; + + end // N_CORES + + + always @(posedge CLK) begin + ext_wr_en_r <= ext_wr_en; + if (ext_wr_en) + ext_wr_addr_r <= ext_wr_addr; + end + + wire [`MEM_ADDR_MSB :0] wr_addr_local = comp_save_addr + cnt; + wire [`MEM_TOTAL_MSB :0] wr_addr + = {core_num_r, seq_num_r, wr_addr_local}; + + always @(posedge CLK) + if (wr_en) + mem [ext_wr_en_r ? ext_wr_addr_r : wr_addr] <= input_r; + + + // ================================================================= + // *** Read *** + // + wire rd_en = rd_en_procb | (rd_cpu_request & ~rd_cpu_valid); + + wire [`MEM_TOTAL_MSB :0] rd_addr = + rd_en_procb ? rd_addr_procb : rd_addr_cpu; + + always @(posedge CLK) + if (rd_en) + dout <= mem [rd_addr]; + + always @(posedge CLK) begin + if (rd_cpu_valid) + rd_cpu_valid <= 0; + else if (rd_cpu_request & ~rd_en_procb) + rd_cpu_valid <= 1; + end + +endmodule + + +module encoder4 #( + parameter N_CORES = 4 + )( + input [N_CORES-1 :0] in, + output [1:0] out + ); + + assign out = + in[0] ? 2'b00 : + //in[1] & N_CORES > 1 ? 2'b01 : // generates out-of-bound warnings + in[N_CORES > 1 ? 1 :0] & N_CORES > 1 ? 2'b01 : + in[N_CORES > 2 ? 2 :0] & N_CORES > 2 ? 2'b10 : + in[N_CORES > 3 ? 3 :0] & N_CORES > 3 ? 2'b11 : 2'b00; + +endmodule + diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/next_thread_num.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/next_thread_num.v new file mode 100644 index 00000000000..480c24165d0 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/next_thread_num.v @@ -0,0 +1,32 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +module next_thread_num #( + parameter N_CORES = 3, + parameter N_CORES_MSB = `MSB(N_CORES-1), + parameter N_THREADS = 2 * N_CORES, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input [`MSB(N_THREADS-1) :0] in, + output [`MSB(N_THREADS-1) :0] out + ); + + wire [N_CORES_MSB :0] core_num; + assign { core_num, seq_num } = in; + + wire [N_CORES_MSB :0] core_num_next = + core_num == N_CORES-1 ? {N_CORES_MSB+1{1'b0}} + : core_num + 1'b1; + + wire seq_num_next = core_num == N_CORES-1 ? ~seq_num : seq_num; + + assign out = { core_num_next, seq_num_next }; + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/procb_buf.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/procb_buf.v new file mode 100644 index 00000000000..8a6482ffa51 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/procb_buf.v @@ -0,0 +1,149 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + + +// +// process_bytes (procb) records (several elements per thread) +// +// The task for an engine is to accumulate a sequence of +// procb elements for each thread +// so formation of SHA data blocks goes w/o interruption. +// +// Read-ahead buffer. +// +module procb_buf #( + parameter N_THREADS = 6, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, + + input [N_THREADS_MSB :0] wr_thread_num, + input wr_en, + input [`PROCB_D_WIDTH-1 :0] din, + // Number of procb records currently in the buffer + output reg [`PROCB_A_WIDTH-1 :0] wr_cnt = 0, + output reg err = 0, + + input [N_THREADS_MSB :0] rd_thread_num, + input rd_en, rd_rst, lookup_en, + output aempty, lookup_empty, + output [`PROCB_D_WIDTH-1 :0] dout + ); + + (* RAM_STYLE="DISTRIBUTED" *) + reg [`PROCB_D_WIDTH-1 :0] mem [0: `PROCB_N_RECORDS*N_THREADS-1]; + + (* RAM_STYLE="DISTRIBUTED" *) + reg [`PROCB_A_WIDTH-1 :0] wr_addr_mem [0 :N_THREADS-1], + rd_addr_mem [0 :N_THREADS-1]; + + reg [`PROCB_A_WIDTH-1 :0] wr_addr_rd = 0, rd_addr = 0; + + + // ***************************************************************** + // + // Read procb records + // + // - 1st Word Fall-Through + // - Data appears on output on the next cycle after changing rd_thread_num. + // - After read is complete, read pointer resets. Reader is expected + // to set thread_status or take other measures to evade + // more reads from itself. + // + // - Read-ahead operation. Read-ahead pointer resets to actually + // read values after rd_thread changes. + // + // ***************************************************************** + + assign dout = mem [{ rd_thread_num, lookup_addr[`PROCB_A_WIDTH-2 :0] }]; + + reg [N_THREADS_MSB :0] rd_thread_prev = 0; + always @(posedge CLK) + rd_thread_prev <= rd_thread_num; + + reg [`PROCB_A_WIDTH-1 :0] lookup_addr = 0; + + always @(posedge CLK) begin + wr_addr_rd <= wr_addr_mem [rd_thread_num]; + + rd_addr <= rd_en ? rd_addr + 1'b1 : rd_addr_mem [rd_thread_num]; + + if (rd_en) + rd_addr_mem [rd_thread_num] + <= (aempty | empty | rd_rst) ? {`PROCB_A_WIDTH{1'b0}} : rd_addr + 1'b1; + + // lookup (read-ahead) + if (rd_thread_prev != rd_thread_num) + lookup_addr <= rd_addr_mem [rd_thread_num]; + + // lookup addr resets after read thread change + // or on write + if (wr_en & wr_thread_num == rd_thread_num) begin + lookup_addr <= 0; + end + + if (lookup_en) + lookup_addr <= lookup_addr + 1'b1; + + end + + assign empty = wr_addr_rd == rd_addr; + + assign aempty = wr_addr_rd == rd_addr + 1'b1; // opt! + + //assign lookup_aempty = wr_addr_rd == lookup_addr + 1'b1; + + assign lookup_empty = wr_addr_rd == lookup_addr | wr_addr_rd == 0; + + + // ***************************************************************** + // + // Write procb records - new approach + // (more CPU friendly interface) + // + // 1. Writer is expected to read wr_cnt (count of procb records + // currently in the buffer), write until finish/stop record + // or until `PROCB_N_RECORDS. + // 2. Reader resets wr_cnt on startup and after read is complete. + // + // ***************************************************************** + reg [N_THREADS_MSB :0] wr_rst_thread_num; + reg wr_rst_en = 0; + + wire wr_rst_enqueue = rd_en & (aempty | rd_rst); + + always @(posedge CLK) begin + if (wr_rst_enqueue) begin + wr_rst_en <= 1; // enqueued reset of wr_cnt + wr_rst_thread_num <= rd_thread_num; + end + + wr_cnt <= wr_addr_mem [wr_thread_num]; + + if (wr_en | wr_rst_en) begin + if (~wr_en & ~wr_rst_enqueue) + wr_rst_en <= 0; + + wr_addr_mem [wr_en ? wr_thread_num : wr_rst_thread_num] + <= wr_en ? wr_cnt + 1'b1 : {`PROCB_A_WIDTH{1'b0}}; + end + + if (wr_en & wr_rst_en & wr_rst_enqueue) + err <= 1; + + if (wr_en) begin + mem [{ wr_thread_num, wr_cnt[`PROCB_A_WIDTH-2 :0] }] <= din; + wr_cnt <= wr_cnt + 1'b1; + end + end + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/procb_saved_state.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/procb_saved_state.v new file mode 100644 index 00000000000..45cabb1dc0d --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/procb_saved_state.v @@ -0,0 +1,46 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + +// +// Keep state for each thread in between blocks. +// - bytes_total of unfinished computation; +// - data for unfinished process_bytes record (including padding) +// +module procb_saved_state #( + parameter N_THREADS = 6, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, + + input [N_THREADS_MSB :0] wr_thread_num, + input wr_en, + input [`PROCB_SAVE_WIDTH-1 :0] din, + + input [N_THREADS_MSB :0] rd_thread_num, + //input rd_en, + //output reg [`PROCB_SAVE_WIDTH-1 :0] dout = 0 + output [`PROCB_SAVE_WIDTH-1 :0] dout + ); + + + (* RAM_STYLE="DISTRIBUTED" *) + reg [`PROCB_SAVE_WIDTH-1 :0] mem [0: N_THREADS-1]; + + always @(posedge CLK) + if (wr_en) + mem [wr_thread_num] <= din; + + //always @(posedge CLK) + // if (rd_en) + // dout <= mem [rd_thread_num]; + assign dout = mem [rd_thread_num]; + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/process_bytes.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/process_bytes.v new file mode 100644 index 00000000000..5335985972c --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/process_bytes.v @@ -0,0 +1,497 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + +// +// The task is: +// +// - perform "process_bytes" ("procb") actions for each thread; +// - form blocks, send to cores; +// - after 1 block is sent, it switches to the next core/context, +// keeps internal state. +// +module process_bytes #( + parameter N_CORES = 3, + parameter N_CORES_MSB = `MSB(N_CORES-1), + parameter N_THREADS = 2 * N_CORES, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, + + // thread_state (ts) + output [N_THREADS_MSB :0] ts_wr_num, ts_rd_num, // Thread # + output reg ts_wr_en = 1, + output reg [`THREAD_STATE_MSB :0] ts_wr = `THREAD_STATE_NONE, + input [`THREAD_STATE_MSB :0] ts_rd, + + // *** Computation data set #1 *** + input [N_THREADS_MSB :0] comp_data1_thread_num, + input comp_data1_wr_en, + input [`COMP_DATA1_MSB :0] comp_wr_data1, + + // *** process_bytes records *** + output [N_THREADS_MSB :0] procb_rd_thread_num, + output procb_rd_en, procb_rd_rst, procb_lookup_en, + //input procb_aempty, procb_lookup_aempty, + input procb_lookup_empty, + input [`PROCB_D_WIDTH-1 :0] procb_dout, + + // *** Input to cores *** + // Memory connection. + output [`MEM_TOTAL_MSB :0] mem_rd_addr, // in 8-byte words + output mem_rd_en, + // Realign connection + output [2:0] len, + output [1:0] off, + output add0x80pad, add0pad, add_total, + output [`PROCB_TOTAL_MSB :0] total, + // "core_input" + output [N_THREADS_MSB :0] core_thread_num, + output [`BLK_OP_MSB:0] blk_op, + + // Ready flags from cores + input [N_CORES-1:0] ready, + + // stop_ctx_end_blk | bad_saved_procb + //output reg [1:0] err = 0 + output err + ); + + genvar i; + integer k; + + + reg [N_THREADS_MSB :0] thread_num = 0; + wire [N_THREADS_MSB :0] thread_num_next; + next_thread_num #( .N_CORES(N_CORES) + ) next_thread_num( .in(thread_num), .out(thread_num_next) ); + + always @(posedge CLK) + if (set_next_thread_num) + thread_num <= thread_num_next; + + assign procb_rd_thread_num = thread_num; + + // Thread Status + assign ts_rd_num = thread_num; + assign ts_wr_num = thread_num; + + + // ================================================================= + // *** ready flags from cores *** + // + // Using procb_rd_thread_num to get status of the + // next core,context in advance + // + reg core_ready_r = 0; // Next core/context is ready for input + always @(posedge CLK) + core_ready_r <= ready [ thread_num[N_THREADS_MSB:1] ]; + + + // ================================================================= + // *** Computation data (set #1) *** + // + (* RAM_STYLE="DISTRIBUTED" *) + reg [`COMP_DATA1_MSB :0] comp_data1 [0: N_THREADS-1]; + always @(posedge CLK) + if (comp_data1_wr_en) + comp_data1 [comp_data1_thread_num] <= comp_wr_data1; + + wire [1:0] comp_load_ctx_num, comp_save_ctx_num; + assign { comp_if_new_ctx, comp_load_ctx_num, comp_save_ctx_num } + = comp_data1 [thread_num]; + + + // ================================================================= + // *** Current computation data *** + // + // - It forms data for memory read, realign and core_input + // almost every cycle; keeps previous dataset for the case + // if the current dataset doesn't go on. + // + reg [`BLK_OP_MSB:0] cur_blk_op = 0; + + // *** Current process_bytes (procb) data *** + // + // Data for the current process_bytes. We include padding and + // total length in process_bytes (if flag finish_ctx is set). + // These are saved in saved_procb_state when block is finished + // and current thread changes. + // + reg [`MEM_ADDR_MSB+2 :0] cur_addr; + reg [2:0] cur_len = 4; + reg [`PROCB_CNT_MSB :0] cur_bytes_left, prev_bytes_left; + reg finish_ctx = 0; + // Stop context w/o padding and total. The developer must ensure + // there's exactly full block (total % 128 == 0). The context + // remains in the core and can be loaded later to continue computation. + reg stop_ctx = 0; + reg bytes_end = 0; // End portion of bytes for the current procb record + // Start of a new block - asserts on the 1st write + reg blk_start = 0; + + + // ================================================================= + // *** saved process_bytes (procb) data *** + // + // When a block is done, unfinished procb record is saved here. + // It still counts if bytes are over and padding/total remain. + // + wire [`PROCB_SAVE_WIDTH-1 :0] save_data; + wire [N_THREADS_MSB:0] save_thread_num; + + wire [`MEM_ADDR_MSB+2 :0] saved_addr; + wire [`PROCB_CNT_MSB :0] saved_bytes_left; + wire [`PROCB_TOTAL_MSB :0] saved_total; + wire saved_finish_ctx, saved_stop_ctx, saved_padded0x80, + saved_comp_active, saved_procb_active; + // + // Some outputs from procb_saved_state are not + // required on the next cycle (KEEP,TIG) + // + (* KEEP="true" *) wire [`MEM_ADDR_MSB+2 :0] saved_addr_t = saved_addr; + (* KEEP="true" *) wire [`PROCB_TOTAL_MSB :0] saved_total_t = saved_total; + (* KEEP="true" *) wire saved_finish_ctx_t = saved_finish_ctx; + (* KEEP="true" *) wire saved_stop_ctx_t = saved_stop_ctx; + (* KEEP="true" *) wire saved_padded0x80_t = saved_padded0x80; + (* KEEP="true" *) wire saved_comp_active_t = saved_comp_active; + (* KEEP="true" *) wire saved_procb_active_t = saved_procb_active; + + procb_saved_state #( .N_THREADS(N_THREADS) + ) procb_saved_state( + .CLK(CLK), + .wr_thread_num(save_thread_num), .wr_en(save_wr_en), + .din(save_data), + .rd_thread_num(thread_num), + .dout({ saved_addr, saved_bytes_left, saved_total, + saved_finish_ctx, saved_stop_ctx, saved_padded0x80, + saved_comp_active, saved_procb_active }) + ); + + + // ================================================================= + // *** Create data blocks out of procb data *** + // + reg blk_wr_en = 0; + + create_blk #( .N_THREADS(N_THREADS) + ) create_blk( + .CLK(CLK), + .wr_en(blk_wr_en), .full(blk_full), + .in_len(cur_len), + .in_addr(cur_addr), .in_bytes_left_prev(prev_bytes_left), + .in_fin(finish_ctx), .in_stop(stop_ctx), + .in_padded0x80(saved_padded0x80_t), .in_total(saved_total_t), + .blk_start(blk_start), .new_comp(~saved_comp_active_t), + .bytes_end(bytes_end), + .in_thread_num(thread_num), .in_blk_op(cur_blk_op), + // save state when block is done + .blk_end(blk_end), .save_thread_num(save_thread_num), + .save_data(save_data), .save_wr_en(save_wr_en), + // output for memory read, realign, core_input + .mem_rd_en(mem_rd_en), .mem_rd_addr(mem_rd_addr[`MEM_ADDR_MSB:0]), + .len(len), .off(off), .total(total), + .add0x80pad(add0x80pad), .add0pad(add0pad), .add_total(add_total), + .thread_num(core_thread_num), .blk_op(blk_op), + .err(err) + ); + + assign mem_rd_addr[`MEM_TOTAL_MSB:`MEM_ADDR_MSB+1] = core_thread_num; + + + // ================================================================= + // *** Load data from procb_saved_state *** + // + // Pre-loaded data remain on the following registers: + //reg [`MEM_ADDR_MSB+2 :0] loaded_addr; + reg [`PROCB_CNT_MSB :0] loaded_bytes_left; + reg [2:0] loaded_bytes_limit = 4; + + // join align_limit and bytes_limit + wire [2:0] align_limit = 3'd4 - saved_addr[1:0]; + wire align_limit_effective = align_limit < saved_bytes_left; + + wire [2:0] bytes_limit = align_limit_effective ? align_limit : + saved_bytes_left < 4 ? saved_bytes_left[1:0] : 3'd4; + + always @(posedge CLK) if (en_load_saved_state) begin + loaded_bytes_left <= saved_bytes_left - bytes_limit; + loaded_bytes_limit <= bytes_limit; + end + + + // ================================================================= + // Load data for the next internal state + // + // Data can be loaded from: + // - from saved_procb_state (loaded_*) + // - from procb_buf + // + // each process_bytes (procb) element consists of 4 items: + // starting address; count of bytes; 2 flags. + // + wire load_from_saved; + + wire [`MEM_ADDR_MSB :0] procb_addr; + wire [`PROCB_CNT_MSB :0] procb_bytes_left; + assign { procb_addr, procb_bytes_left, + procb_finish_ctx, procb_stop_ctx } = procb_dout; + + + task do_load_state; + begin + cur_addr <= load_from_saved + ? saved_addr_t//loaded_addr + : { procb_addr, 2'b00 }; + cur_bytes_left <= load_from_saved + //? (loaded_bytes_left - loaded_bytes_limit) + ? loaded_bytes_left + : procb_bytes_left < 4 + ? {`PROCB_CNT_MSB+1{1'b0}} : procb_bytes_left - 3'd4; + cur_len <= load_from_saved + ? loaded_bytes_limit + : procb_bytes_left < 4 + ? procb_bytes_left[1:0] : 3'd4; + + bytes_end <= load_from_saved + //? (loaded_bytes_left - loaded_bytes_limit) == 0 + ? loaded_bytes_left == 0 + : procb_bytes_left <= 4; + + // prev_bytes_left is meaningful only at the end of the block + prev_bytes_left <= procb_bytes_left; + + finish_ctx <= load_from_saved + ? saved_finish_ctx_t//loaded_finish_ctx + : procb_finish_ctx; + stop_ctx <= load_from_saved + ? saved_stop_ctx_t//loaded_stop_ctx + : procb_stop_ctx; + + blk_wr_en <= 1; + end + endtask + + + task do_update_state; + begin + cur_addr <= cur_addr + cur_len; + cur_len <= cur_bytes_left <= 4 ? cur_bytes_left[2:0] : 3'd4; + cur_bytes_left <= cur_bytes_left <= 4 + ? {`PROCB_CNT_MSB+1{1'b0}} : cur_bytes_left - 3'd4; + bytes_end <= cur_bytes_left <= 4; + prev_bytes_left <= cur_bytes_left; + + blk_wr_en <= 1; + end + endtask + + + // ================================================================= + localparam STATE_INIT = 0, + STATE_INIT2 = 1, + STATE_NEXT_THREAD1 = 2, + STATE_NEXT_THREAD2 = 3, + STATE_NEXT_THREAD3 = 4, + STATE_PROCESS_BYTES = 5, + STATE_CHECK_BLK_END = 6, + STATE_PROCB_WAIT = 7; + + (* FSM_EXTRACT="true", FSM_ENCODING="one-hot" *) + reg [3:0] state = STATE_INIT; + + reg init_going = 1; + reg [N_THREADS-1 :0] init_cnt = 0; + + reg [7:0] procb_empty_wait = 0; + reg procb_loaded = 0; + + assign en_load_saved_state = state == STATE_NEXT_THREAD1; + +`ifdef SIMULATION + reg [23:0] X_THREAD_SWITCH_OK = 0; + reg [23:0] X_THREAD_NOT_RDY = 0; + reg [31:0] X_CYCLES = 0; + reg [31:0] X_CYCLES_WAIT = 0; +`endif + + always @(posedge CLK) begin +`ifdef SIMULATION + X_CYCLES <= X_CYCLES + 1'b1; +`endif + init_cnt <= { init_cnt[N_THREADS-2 :0], init_going }; + + if (ts_wr_en & ~init_going) + ts_wr_en <= 0; + + if (blk_start) + blk_start <= 0; + + procb_empty_wait[7:0] + <= { procb_empty_wait[6:0], state == STATE_PROCB_WAIT }; + + case(state) + // Initialize: procb_buf, procb_saved_state, ts + STATE_INIT: if (init_cnt[N_THREADS-1]) + state <= STATE_INIT2; + + STATE_INIT2: begin + init_going <= 0; + ts_wr_en <= 0; + state <= STATE_NEXT_THREAD1; + end + + STATE_NEXT_THREAD1: begin // next cycle after thread switch + state <= STATE_NEXT_THREAD2; + end + +/* +`ifdef SIMULATION + X_CYCLES_WAIT <= X_CYCLES_WAIT + 1'b1; +`endif + +`ifdef SIMULATION + X_THREAD_SWITCH_OK <= X_THREAD_SWITCH_OK + 1'b1; +`endif + +`ifdef SIMULATION + X_THREAD_NOT_RDY <= X_THREAD_NOT_RDY + 1'b1; +`endif +*/ + + STATE_NEXT_THREAD2: begin + if (ts_rd == `THREAD_STATE_NONE) + state <= STATE_NEXT_THREAD1; + + else if (~core_ready_r) begin // wait until core's ready + end + //else if ( ~(saved_comp_active_t & saved_procb_active_t) + // & (ts_rd == `THREAD_STATE_NONE) ) begin + //| ts_rd == `THREAD_STATE_BUSY) ) begin + // state <= STATE_NEXT_THREAD1; + //end + else if ( ~(saved_comp_active_t & saved_procb_active_t) + & ts_rd != `THREAD_STATE_RD_RDY) begin // wait for core/CPU + end + + else begin + // load saved state or next procb record + // if saved state is inactive - procb records can't be empty + do_load_state; + procb_loaded <= ~(saved_comp_active_t & saved_procb_active_t); + blk_start <= 1; + + `BLK_OP_LOAD_CTX_NUM(cur_blk_op) <= comp_load_ctx_num; + `BLK_OP_SAVE_CTX_NUM(cur_blk_op) <= comp_save_ctx_num; + + if (saved_comp_active_t) + `BLK_OP_IF_NEW_CTX(cur_blk_op) <= 0; + else // New computation + `BLK_OP_IF_NEW_CTX(cur_blk_op) <= comp_if_new_ctx; + + state <= STATE_PROCESS_BYTES; + end + end + + STATE_PROCESS_BYTES: begin + if (blk_end) begin // data from the previous cycle didn't go + procb_loaded <= 0; + blk_wr_en <= 0; + //set_next_core_ctx_num <= 1; + state <= STATE_NEXT_THREAD1; + end + else if (blk_full) begin // create_blk is busy with padding + procb_loaded <= 0; + blk_wr_en <= 0; + end + else if (bytes_end) begin + if (~finish_ctx & ~stop_ctx) begin + if (~procb_lookup_empty) begin + do_load_state; + procb_loaded <= 1; + end + else begin + // It has to load procb record, procb records empty. + procb_loaded <= 0; + blk_wr_en <= 0; + state <= STATE_CHECK_BLK_END; + ts_wr_en <= 1; + ts_wr <= `THREAD_STATE_WR_RDY; + end + end + else begin // bytes_end, finish/stop + // blk_{end|full} must assert on the next cycle + procb_loaded <= 0; + blk_wr_en <= 0; + ts_wr_en <= 1; + ts_wr <= `THREAD_STATE_BUSY; + end + end + else begin // bytes, block didn't end + do_update_state; + procb_loaded <= 0; + end + end + + STATE_CHECK_BLK_END: begin + if (blk_end) begin + // no fin/stop here + //if (finish_ctx | stop_ctx) + state <= STATE_NEXT_THREAD1; + end + else + // data is stuck in realign8 - all threads suspend + state <= STATE_PROCB_WAIT; + end + + STATE_PROCB_WAIT: if (procb_empty_wait[7] & ~procb_lookup_empty + & ts_rd == `THREAD_STATE_RD_RDY) begin + state <= STATE_PROCESS_BYTES; + end + endcase + end + + + assign load_from_saved = + state == STATE_NEXT_THREAD2 + & saved_comp_active_t & saved_procb_active_t; + + + assign set_next_thread_num = (1'b0 + | state == STATE_INIT + | state == STATE_NEXT_THREAD2 & ts_rd == `THREAD_STATE_NONE + | blk_end + ); + + // Read-ahead procb records + wire load_next_procb_record = (1'b0 + | state == STATE_PROCESS_BYTES & ~procb_lookup_empty + & bytes_end & ~(finish_ctx | stop_ctx) + | state == STATE_NEXT_THREAD2 & core_ready_r + & ~(saved_comp_active_t & saved_procb_active_t) + & (ts_rd == `THREAD_STATE_RD_RDY) + ); + + assign procb_lookup_en = + | load_next_procb_record + ; + + // Read procb record 1 cycle after lookup, if data went for processing + assign procb_rd_en = (1'b0 + | state == STATE_INIT + | procb_loaded & ~blk_end + ); + + assign procb_rd_rst = state == STATE_INIT; + + +endmodule + + diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/realign4_pad.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/realign4_pad.v new file mode 100644 index 00000000000..8200a845bc5 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/realign4_pad.v @@ -0,0 +1,232 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + +// +// Task: +// +// - With the help from an upper level wrapper, send a number +// of bytes from 32-bit memory in 32-bit words. Starting address +// may not be aligned to 4 bytes. +// - Add padding and total length when required +// - Allow input ~1 word/cycle +// +// Limitations: +// - only the 1st word in the block may be unaligned. +// (typically becuse of resumed process_bytes). +// - it doesn't handle correctly len=0 (just don't send) +// + +module realign4_pad ( + input CLK, + + input wr_en, + input [2:0] len, // 1..4 + input [1:0] off, // can be used only on the 1st word + input [31:0] din, + + // Following controls don't require wr_en + input add0x80pad, // ignore 'in'; set in0 to 0x80; used with add0pad + input add0pad, // add 8x 0x0 + input add_total, + input [`PROCB_TOTAL_MSB:0] in_total, + + output valid_eqn, + output reg valid = 0, // r1_len == 4 + output reg wr_en_r = 0, + output [31:0] out, // always transmit + + output reg err = 0 + ); + + genvar i; + + wire [31:0] total = + `SWAP({ {28-`PROCB_TOTAL_MSB{1'b0}}, in_total, 3'b0 }); + + // 'in' register. + //reg wr_en_r = 0; + reg [7:0] in0 = 8'h80, in1 = 0, in2 = 0, in3 = 0; + + always @(posedge CLK) begin + wr_en_r <= wr_en | add0pad | add_total; + + if (add0x80pad) + in0 <= 8'h80; + else if (add0pad | add_total) // in0 + in0 <= 0; + else if (wr_en) + in0 <= din[7:0]; + + if (add0pad) begin // in1..3 + in1 <= 0; in2 <= 0; in3 <= 0; + end + else if (add_total) begin + in1 <= total[15:8]; in2 <= total[23:16]; in3 <= total[31:24]; + end + else if (wr_en) begin + in1 <= din[15:8]; in2 <= din[23:16]; in3 <= din[31:24]; + end + end + + + reg [2:0] in_len = 0; + reg [1:0] in_off = 0; + reg off_eq0 = 1; + always @(posedge CLK) begin + in_len <= len; + in_off <= off; + off_eq0 <= off == 0; + end + + + // ================================================================= + // 'r1', 'r2' registers + // + reg [7:0] r10 = 0, r11 = 0, r12 = 0, r13 = 0; + reg [7:0] r20, r21, r22; + + assign out = { r13, r12, r11, r10 }; + + reg [2:0] r1_len = 0; // 0..4 + //reg r1_len_eq0_or8 = 1; + reg [1:0] r2_len = 0; // 0..3 + //reg r2_len_eq0 = 1; + + wire [2:0] r1_plus_in_len = r1_len + in_len; + wire [2:0] r2_plus_in_len = r2_len + in_len; + + always @(posedge CLK) begin + if (wr_en_r & in_len == 0) + err <= 1; + + if (r2_len != 0) begin + if (~wr_en_r) begin + r2_len <= 0; + r1_len <= r2_len; + end + else if (wr_en_r & ~off_eq0) + // The previous block was not aligned to 4-byte + err <= 1; + + // wr_en; r2 written + else if (wr_en_r & r2_plus_in_len[2]) begin//(r2_len + in_len > 4)) begin + r2_len <= r2_plus_in_len[1:0];//r2_len + in_len - 4; + //r2_len_eq0 <= r2_plus_in_len[2:0] == 0; + r1_len <= 4; + //r1_len_eq0_or8 <= 1; + end + + else begin // wr_en; r2 not written + r2_len <= 0; + //r2_len_eq0 <= 1; + r1_len <= r2_plus_in_len;//r2_len + in_len; + //r1_len_eq0_or8 <= r2_plus_in_len[3];//r2_len + in_len == 8; + end + end + + else begin // r2_len == 0 + if (wr_en_r) begin + if (~off_eq0) begin + if (in_len[2]) // off > 0, in_len >= 4 + err <= 1; + r2_len <= in_len[1:0]; + //r2_len_eq0 <= 0; + // Starting new data block; ensure the previous block + // was aligned to 32-bit + //if (~r1_len_eq0_or8) + if (~(r1_len == 0 | r1_len == 4)) + err <= 1; + r1_len <= 0; + //r1_len_eq0_or8 <= 1; + end + else if (r1_len == 0 | r1_len == 4) begin + r1_len <= in_len; + //r1_len_eq0_or8 <= in_len == 0 | in_len == 8; + end + else begin // r2_len=0, r1_len!=0 & r1_len!=8 + r2_len <= r1_plus_in_len[2] ? r1_plus_in_len[1:0] : 2'b0; + //r2_len_eq0 <= r1_plus_in_len <= 8; + + r1_len <= r1_plus_in_len[2] ? 3'd4 : r1_plus_in_len[1:0]; + //r1_len_eq0_or8 <= r1_plus_in_len[3]; + end + end + else if (~wr_en_r & valid) begin + r1_len <= 0; + //r1_len_eq0_or8 <= 1; + end + + end + + end + + + assign valid_eqn = r2_len != 0 ? (//~r2_len_eq0 ? ( + ~wr_en_r ? 1'b0 : + //wr_en_r & r2_plus_in_len[2] ? 1'b1 : + r2_plus_in_len[2] + ) : ( + wr_en_r & ~off_eq0 ? 1'b0 : + //wr_en_r & r1_len_eq0_or8 ? (in_len == 0 | in_len == 8) : + wr_en_r & (r1_len == 0 | r1_len == 4) ? in_len[2] : + wr_en_r ? r1_plus_in_len[2] : + 1'b0 + ); + + always @(posedge CLK) + valid <= valid_eqn; + + + wire [1:0] wr_off = + ~off_eq0 ? 3'd4 - in_off : + (r1_len == 0 | r1_len == 4) ? r2_len : + r1_len[1:0]; + + + always @(posedge CLK) begin + if (r2_len != 0) + r10 <= r20; + else if (wr_en_r & (r1_len == 0 | r1_len == 4)) + r10 <= in0; + + if (r2_len > 1) + r11 <= r21; + else if (wr_en_r & (r1_len <= 1 | r1_len == 4)) + r11 <= wr_off == 0 ? in1 : in0; + + if (r2_len > 2) + r12 <= r22; + else if (wr_en_r & (r1_len <= 2 | r1_len == 4)) + r12 <= + wr_off == 0 ? in2 : + wr_off == 1 ? in1 : + in0; + + if (wr_en_r) + r13 <= + wr_off == 0 ? in3 : + wr_off == 1 ? in2 : + wr_off == 2 ? in1 : + in0; + end + + + always @(posedge CLK) if (wr_en_r) begin + r20 <= + wr_off == 1 ? in3 : + wr_off == 2 ? in2 : + in1; + r21 <= wr_off == 2 ? in3 : in2; + r22 <= in3; + end + +endmodule + diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/sha256engine_test.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/sha256engine_test.v new file mode 100644 index 00000000000..9c81eeb9835 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/sha256engine_test.v @@ -0,0 +1,189 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + + +`include "../sha256.vh" + +module sha256engine_test(); + + integer k; + + reg CLK = 0; // Each cycle is 20ns + + localparam N_CORES = 3; + localparam N_THREADS_MSB = 2; + + // procb + reg [N_THREADS_MSB:0] procb_wr_thread_num = 0; + reg procb_wr_en = 0; + reg [`PROCB_D_WIDTH-1 :0] procb_wr_data = 0; + reg comp_data1_wr_en = 0; + reg [`COMP_DATA1_MSB :0] comp_wr_data1 = 0; + // thread_state + reg [N_THREADS_MSB :0] ts_wr_num1 = 0, ts_rd_num1 = 0; + reg [`THREAD_STATE_MSB :0] ts_wr1 = 0; + reg ts_wr_en1 = 0; + // memory + reg comp_data2_wr_en = 0; + reg [`COMP_DATA2_MSB :0] comp_wr_data2 = 0; + + wire [`PROCB_A_WIDTH-1 :0] procb_wr_cnt; + wire [`THREAD_STATE_MSB :0] ts_rd1; + + + initial begin + #1000; + // + // Doing the 1st block from the reference implementation: + // "Hello world!" | "saltstring" | "Hello world!" + // Using thread #0. + // + comp_data1_wr_en <= 1; comp_data2_wr_en <= 1; + comp_wr_data1 <= 5'b10000; // new context, load/save slot #0 + comp_wr_data2 <= { 5'd24, 4'd8 }; // save_addr=24, save_len=8 + #20; + comp_data1_wr_en <= 0; comp_data2_wr_en <= 0; + + procb_wr_en <= 1; + // Expecting MEM_ADDR_MSB=4, PROCB_CNT_MSB=5 + procb_wr_data <= { 5'd3, 6'd12, 2'b00 }; #20; + procb_wr_data <= { 5'd0, 6'd10, 2'b00 }; #20; + procb_wr_data <= { 5'd3, 6'd12, 2'b10 }; #20; + procb_wr_en <= 0; + + ts_wr_num1 <= 0; ts_wr1 <= `THREAD_STATE_RD_RDY; ts_wr_en1 <= 1; #20; + ts_wr_en1 <= 0; + #80; + while (ts_rd1 != `THREAD_STATE_WR_RDY) #20; + + // + // Result appears in rows 24-31. + // + // Performing the 2nd computation (3 blocks): + // "Hello world!" | "saltstring" | result(first 12 bytes) + // | "Hello world!" | "Hello world!" + // | result(32 bytes) | result(32 bytes) + // + // The outcome would be + // "unsigned char alt_result[32]", "Create intermediate result" + // in reference implementation + // + comp_data1_wr_en <= 1; comp_data2_wr_en <= 1; + comp_wr_data1 <= 5'b10000; // new context, load/save slot #0 + comp_wr_data2 <= { 5'd8, 4'd8 }; // save_addr=8, save_len=8 + #20; + comp_data1_wr_en <= 0; comp_data2_wr_en <= 0; + + procb_wr_en <= 1; + procb_wr_data <= { 5'd3, 6'd12, 2'b00 }; #20; + procb_wr_data <= { 5'd0, 6'd10, 2'b00 }; #20; + procb_wr_data <= { 5'd24, 6'd12, 2'b00 }; #20; + procb_wr_data <= { 5'd3, 6'd12, 2'b00 }; #20; + procb_wr_en <= 0; + // procb_buf has 4 elements/thread. CPU would check 'procb_wr_cnt'. + + ts_wr_num1 <= 0; ts_wr1 <= `THREAD_STATE_RD_RDY; ts_wr_en1 <= 1; #20; + ts_wr_en1 <= 0; + #80; + while (ts_rd1 != `THREAD_STATE_WR_RDY) #20; + + // Ready for the next 4 procb elements. + procb_wr_en <= 1; + procb_wr_data <= { 5'd3, 6'd12, 2'b00 }; #20; + procb_wr_data <= { 5'd24, 6'd32, 2'b00 }; #20; + procb_wr_data <= { 5'd24, 6'd32, 2'b10 }; #20; // finish_ctx flag + procb_wr_en <= 0; + + ts_wr_num1 <= 0; ts_wr1 <= `THREAD_STATE_RD_RDY; ts_wr_en1 <= 1; #20; + ts_wr_en1 <= 0; + #80; + while (ts_rd1 != `THREAD_STATE_WR_RDY) #20; + + // Result appears in rows 8-15: + // [8] f5697bf1 + // ... + // [15] d5e5a8b4 + #20; + end + + + + genvar i; + // ********************************************************** + // + // SHA256 CORES + // + // ********************************************************** + wire [N_CORES-1:0] core_wr_en, core_start; + wire [31:0] core_din; + wire [3:0] core_wr_addr; + wire [`BLK_OP_MSB:0] core_blk_op; + + wire core_seq, core_set_input_ready; + wire [N_CORES-1:0] core_ready, core_dout_en, core_dout_seq; + wire [32*N_CORES-1 :0] core_dout; + + generate + for (i=0; i < N_CORES; i=i+1) begin:cores + + sha256core core( + .CLK(CLK), + + .start(core_start[i]), .ready(core_ready[i]), + + .wr_en(core_wr_en[i]), .in(core_din), .wr_addr(core_wr_addr), + .input_blk_op(core_blk_op), + .input_seq(core_seq), .set_input_ready(core_set_input_ready), + + .dout(core_dout[32*i +:32]), .dout_en(core_dout_en[i]), + .dout_seq(core_dout_seq[i]) + ); + + end + endgenerate + + + // ********************************************************** + // + // ENGINE + // + // ********************************************************** + + engine engine( + .CLK(CLK), + // procb_buf + .procb_wr_thread_num(procb_wr_thread_num), .procb_wr_en(procb_wr_en), + .procb_wr_data(procb_wr_data), .procb_wr_cnt(procb_wr_cnt), + .comp_data1_wr_en(comp_data1_wr_en), .comp_wr_data1(comp_wr_data1), + // thread_state + .ts_wr_num1(ts_wr_num1), .ts_rd_num1(ts_rd_num1), + .ts_wr1(ts_wr1), .ts_wr_en1(ts_wr_en1), .ts_rd1(ts_rd1), + // memory + .comp_data2_wr_en(comp_data2_wr_en), .comp_wr_data2(comp_wr_data2), + // cores + .core_wr_en(core_wr_en), .core_start(core_start), + .core_ready(core_ready), + .core_din(core_din), .core_wr_addr(core_wr_addr), + .core_blk_op(core_blk_op), .core_seq(core_seq), + .core_set_input_ready(core_set_input_ready), + .core_dout(core_dout), .core_dout_en(core_dout_en), + .core_dout_seq(core_dout_seq) + ); + + + + initial begin + #5; + while(1) begin + CLK <= ~CLK; #10; + end + end + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/thread_state.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/thread_state.v new file mode 100644 index 00000000000..27fdc398724 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256engine/thread_state.v @@ -0,0 +1,197 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "../sha256.vh" + +// +// +module thread_state #( + parameter N_THREADS = 6, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, + + input [N_THREADS_MSB :0] wr_num1, rd_num1, + input wr_en1, + input [`THREAD_STATE_MSB :0] wr_state1, + //output reg [`THREAD_STATE_MSB :0] rd_state1 = 0, + output [`THREAD_STATE_MSB :0] rd_state1, // #1 - asynchronous read + + input [N_THREADS_MSB :0] wr_num2, rd_num2, + input wr_en2, + input [`THREAD_STATE_MSB :0] wr_state2, + output reg [`THREAD_STATE_MSB :0] rd_state2 = 0, + + input [N_THREADS_MSB :0] wr_num3, rd_num3, + input wr_en3, + input [`THREAD_STATE_MSB :0] wr_state3, + output reg [`THREAD_STATE_MSB :0] rd_state3 = 0, + + input [N_THREADS_MSB :0] wr_num4, rd_num4, + input wr_en4, + input [`THREAD_STATE_MSB :0] wr_state4, + output reg [`THREAD_STATE_MSB :0] rd_state4 = 0, + + output reg err = 0 + ); + + // + // Note. + // With more than 3 read channels, it doesn't infer memory but FFs. + // Split the memory into 2 parts. + // + (* RAM_STYLE="DISTRIBUTED" *) + reg [`THREAD_STATE_MSB :0] mem [0:N_THREADS-1], mem2 [0:N_THREADS-1]; + //mem3 [0:N_THREADS-1], mem4 [0:N_THREADS-1]; + + reg [N_THREADS_MSB :0] wr_num1_r = 0, wr_num2_r = 0, + wr_num3_r = 0, wr_num4_r = 0; + + reg [`THREAD_STATE_MSB :0] wr_state1_r = 0, + wr_state2_r = 0, wr_state3_r = 0, wr_state4_r = 0; + + reg wr_en1_r = 0, wr_en2_r = 0, wr_en3_r = 0, wr_en4_r = 0; + + //reg init_done = 0; + + always @(posedge CLK) begin + if (wr_en1 & wr_en1_r & (wr_en2_r & wr_en2 | wr_en3_r & wr_en3) + | wr_en2 & wr_en2_r & (wr_en1_r & wr_en1 | wr_en3_r & wr_en3) + | wr_en3 & wr_en3_r & (wr_en1_r & wr_en1 | wr_en2_r & wr_en2) + ) + // TODO: wr_en4 + err <= 1; + + if (wr_en1) begin + wr_en1_r <= 1; + wr_state1_r <= wr_state1; + wr_num1_r <= wr_num1; + end + + if (wr_en2) begin + wr_en2_r <= 1; + wr_state2_r <= wr_state2; + wr_num2_r <= wr_num2; + end + + if (wr_en3) begin + wr_en3_r <= 1; + wr_state3_r <= wr_state3; + wr_num3_r <= wr_num3; + end + + if (wr_en4) begin + wr_en4_r <= 1; + wr_state4_r <= wr_state4; + wr_num4_r <= wr_num4; + end + + if (wr_en1_r & ~wr_en1) + wr_en1_r <= 0; + if (~wr_en1_r & wr_en2_r & ~wr_en2) + wr_en2_r <= 0; + if (~wr_en1_r & ~wr_en2_r & wr_en3_r & ~wr_en3) + wr_en3_r <= 0; + if (~wr_en1_r & ~wr_en2_r & ~wr_en3_r & wr_en4_r & ~wr_en4) + wr_en4_r <= 0; + /* + if (~init_done) begin + thread_num3_r <= thread_num3_r + 1'b1; + if (thread_num3_r == N_THREADS - 1) + init_done <= 1; + end + */ + // 1 write channel + /* + // Infers FFs + if (wr_en1_r | wr_en2_r | wr_en3_r | wr_en4_r)// | ~init_done) + mem [ + wr_en1_r ? wr_num1_r : + wr_en2_r ? wr_num2_r : + wr_en3_r ? wr_num3_r : wr_num4_r + ] <= + wr_en1_r ? wr_state1_r : + wr_en2_r ? wr_state2_r : + wr_en3_r ? wr_state3_r : wr_state4_r; + */ + + // Infers RAM64M (36 LUT) + if (wr_en1_r | wr_en2_r | wr_en3_r | wr_en4_r) begin + mem [ + wr_en1_r ? wr_num1_r : + wr_en2_r ? wr_num2_r : + wr_en3_r ? wr_num3_r : wr_num4_r + ] <= + wr_en1_r ? wr_state1_r : + wr_en2_r ? wr_state2_r : + wr_en3_r ? wr_state3_r : wr_state4_r; + + mem2 [ + wr_en1_r ? wr_num1_r : + wr_en2_r ? wr_num2_r : + wr_en3_r ? wr_num3_r : wr_num4_r + ] <= + wr_en1_r ? wr_state1_r : + wr_en2_r ? wr_state2_r : + wr_en3_r ? wr_state3_r : wr_state4_r; + end + + // 4 read channels (1 of them is async) + //rd_state1 <= mem [rd_num1]; + rd_state2 <= mem [rd_num2]; + rd_state3 <= mem2 [rd_num3]; + rd_state4 <= mem2 [rd_num4]; + end + + assign rd_state1 = mem [rd_num1]; + + +/* +`ifdef SIMULATION + integer k; + + wire [N_THREADS-1:0] state_wr_rdy, state_rd_rdy; + wire [`MSB(N_THREADS-1):0] wr_rdy_cnt; + + genvar i; + generate + for (i=0; i < N_THREADS; i=i+1) begin: state_gen + assign state_wr_rdy[i] = mem[i] == `THREAD_STATE_WR_RDY; + assign state_rd_rdy[i] = mem[i] == `THREAD_STATE_RD_RDY; + end + endgenerate + + assign wr_rdy_cnt = + state_wr_rdy[0] + state_wr_rdy[1] + state_wr_rdy[2] + state_wr_rdy[3] + + state_wr_rdy[4] + state_wr_rdy[5] + state_wr_rdy[6] + state_wr_rdy[7] + + state_wr_rdy[8] + state_wr_rdy[9] + state_wr_rdy[10] + state_wr_rdy[11] + + state_wr_rdy[12] + state_wr_rdy[13] + state_wr_rdy[14] + state_wr_rdy[15]; + + reg [31:0] X_CYCLES_TOTAL = 0; + reg [31:0] X_CYCLES_WR_RDY = 0; + reg [31:0] X_CYCLES_RD_RDY = 0; + + reg [23:0] X_WR_RDY_CNT [0: N_THREADS-1]; + initial + for (k=0; k < N_THREADS; k=k+1) + X_WR_RDY_CNT[k] = 0; + + always @(posedge CLK) begin + X_CYCLES_TOTAL <= X_CYCLES_TOTAL + 1'b1; + if (|state_wr_rdy) + X_CYCLES_WR_RDY <= X_CYCLES_WR_RDY + 1'b1; + if (|state_rd_rdy) + X_CYCLES_RD_RDY <= X_CYCLES_RD_RDY + 1'b1; + + X_WR_RDY_CNT[wr_rdy_cnt] <= X_WR_RDY_CNT[wr_rdy_cnt] + 1'b1; + end +`endif +*/ + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256unit.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256unit.v new file mode 100644 index 00000000000..5e4e152c507 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256unit.v @@ -0,0 +1,146 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "sha256.vh" + + +module sha256unit #( + parameter [63:0] UNIT_CONF = 0, + parameter N_CORES = 3, + parameter N_CORES_MSB = `MSB(N_CORES-1), + parameter N_THREADS = 2 * N_CORES, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, + // Unit Input + input [`UNIT_INPUT_WIDTH-1 :0] unit_in, + input unit_in_ctrl, unit_in_wr_en, + output unit_in_afull, unit_in_ready, + + // Unit Output + input PKT_COMM_CLK, + output [`UNIT_OUTPUT_WIDTH-1 :0] dout, + input rd_en, + output empty + ); + + localparam UNIT_IS_DUMMY = UNIT_CONF[63]; + + genvar i; + + + // ********************************************************** + // + // SHA256 CORES + // + // ********************************************************** + wire [N_CORES-1:0] core_wr_en, core_start; + wire [31:0] core_din; + wire [3:0] core_wr_addr; + wire [`BLK_OP_MSB:0] core_blk_op; + wire core_seq, core_set_input_ready; + wire [N_CORES-1:0] core_ready, core_dout_en, core_dout_seq; + wire [32*N_CORES-1 :0] core_dout; + + generate + for (i=0; i < N_CORES; i=i+1) begin:cores + + localparam [0:0] CORE_IS_DUMMY = UNIT_CONF[20 + i]; + + if (~CORE_IS_DUMMY) begin + + (* KEEP_HIERARCHY="true" *) + //`ifdef SIMULATION + // sha256core #( .ID(i) ) core( + //`else + sha256core core( + //`endif + .CLK(CLK), + .start(core_start[i]), .ready(core_ready[i]), + .wr_en(core_wr_en[i]), .in(core_din), .wr_addr(core_wr_addr), + .input_blk_op(core_blk_op), + .input_seq(core_seq), .set_input_ready(core_set_input_ready), + .dout(core_dout[32*i +:32]), .dout_en(core_dout_en[i]), + .dout_seq(core_dout_seq[i]) + ); + + end else begin // CORE_IS_DUMMY + + (* KEEP_HIERARCHY="true" *) + sha256core_dummy core( + .CLK(CLK), + .start(core_start[i]), .ready(core_ready[i]), + .wr_en(core_wr_en[i]), .in(core_din), .wr_addr(core_wr_addr), + .input_blk_op(core_blk_op), + .input_seq(core_seq), .set_input_ready(core_set_input_ready), + .dout(core_dout[32*i +:32]), .dout_en(core_dout_en[i]), + .dout_seq(core_dout_seq[i]) + ); + + end + + end + endgenerate + + + // ********************************************************** + // + // UNIT CONTROLS + // + // ********************************************************** + + if (~UNIT_IS_DUMMY) begin + + (* KEEP_HIERARCHY="true" *) + unit_ctrl #( .N_CORES(N_CORES) + ) ctrl( + .CLK(CLK), .PKT_COMM_CLK(PKT_COMM_CLK), + // Unit Input + .unit_in(unit_in), .unit_in_ctrl(unit_in_ctrl), + .unit_in_wr_en(unit_in_wr_en), + .unit_in_afull(unit_in_afull), .unit_in_ready(unit_in_ready), + // Unit Output + .dout(dout), .rd_en(rd_en), .empty(empty), + // Cores + .core_wr_en(core_wr_en), .core_start(core_start), + .core_ready(core_ready), + .core_din(core_din), .core_wr_addr(core_wr_addr), + .core_blk_op(core_blk_op), .core_seq(core_seq), + .core_set_input_ready(core_set_input_ready), + .core_dout(core_dout), .core_dout_en(core_dout_en), + .core_dout_seq(core_dout_seq), + .err() // 5:0 + ); + + end else begin // UNIT_IS_DUMMY + + (* KEEP_HIERARCHY="true" *) + unit_ctrl_dummy #( .N_CORES(N_CORES) + ) ctrl( + .CLK(CLK), .PKT_COMM_CLK(PKT_COMM_CLK), + // Unit Input + .unit_in(unit_in), .unit_in_ctrl(unit_in_ctrl), + .unit_in_wr_en(unit_in_wr_en), + .unit_in_afull(unit_in_afull), .unit_in_ready(unit_in_ready), + // Unit Output + .dout(dout), .rd_en(rd_en), .empty(empty), + // Cores + .core_wr_en(core_wr_en), .core_start(core_start), + .core_ready(core_ready), + .core_din(core_din), .core_wr_addr(core_wr_addr), + .core_blk_op(core_blk_op), .core_seq(core_seq), + .core_set_input_ready(core_set_input_ready), + .core_dout(core_dout), .core_dout_en(core_dout_en), + .core_dout_seq(core_dout_seq), + .err() // 5:0 + ); + + end + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/sha256unit_test.v b/src/ztex/fpga-sha256crypt/sha256crypt/sha256unit_test.v new file mode 100644 index 00000000000..04a1ed796a3 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/sha256unit_test.v @@ -0,0 +1,280 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "sha256.vh" + + +module sha256unit_test(); + + reg READ_ALL_FROM_UOB = 1; + + localparam N_CORES = 3; + + integer i; + + initial begin + // ***************************************************************** + // + // Send an internal data packet exactly as from pkt_comm.arbiter_tx + // to the unit. + // + // Usage: send_data_packet(cnt,salt_len,key_len,"salt","key"); + // + // Data is written to the beginning of the first idle thread's + // memory, then program starts. + // + // Result from 1 thread appears in the UOB, the rest remains + // in unit's main memory. + // The unit has no internal check for the count of rounds. + // + // ***************************************************************** + #1000; + // + // SMALL ROUND COUNT + // + + // { "$5$rounds=3$saltstring", "Hello world!", + // "$5$rounds=3$saltstring$xMhNpyTgkOg7GDuj2Z5DDLiNiI9DgAITfm86Y82iqxB" }, + // + // Hash (MSB 1st): + // df76a4ac 7d2ee53c ... 433ccf79 bfb0ff66 + //send_data_packet(3,10,12,"saltstring","Hello world!"); + + // { "$5$rounds=10$=", "salt_len1", + // "$5$rounds=10$=$6xbUmUoT3ar.pSyHy3wyYp1.PFjzlnvdhokMQn14449" }, + // b186dc0d ... 4f854882 + send_data_packet(10,1,9,"=","salt_len1"); + + // { "$5$rounds=10$.", "abc", + // "$5$rounds=10$.$RqqFgOjl6uw9cciogvv9qYLzWJu5JgBivoh1TDMJTj3" }, + // 5bdfdfdd ... d288f647 + send_data_packet(10,1,3,".","abc"); + + // { "$5$rounds=7$012/4567/9ab/def", "abc", + // "$5$rounds=7$012/4567/9ab/def$PuWZaW9xjN7hQqLxTwMi.LSDm9xztq00tGdz8khP/wC" }, + // ef010a94 ... f56fb896 + send_data_packet(7,16,3,"012/4567/9ab/def","abc"); + + // { "$5$rounds=10$012.456789.bedef", "test #3: salt_len=16, key_len=32", + // "$5$rounds=10$012.456789.bedef$XMH8OphJozuO.eUybsWi33AKE9Gigj6JwNLyjp6MYY8" }, + // a9246f76 ... faf4dd29 + send_data_packet(10,16,32,"012.456789.bedef","test #3: salt_len=16, key_len=32"); + + // { "$5$rounds=10$0//3456789//edef", "key_len=11.", + // "$5$rounds=10$0//3456789//edef$PSqu85Ls/ajCpozZexq3yEZhffR0avwyFklOQhdAgD5" }, + // 73ec5c1c ... 978171eb + send_data_packet(10,16,11,"0//3456789//edef","key_len=11."); + + // { "$5$rounds=10$0.2.456789.bede", "key_len8", + // "$5$rounds=10$0.2.456789.bede$Oa3.7QX2HSXd/8uxwAEGULC2/GdKxiaUhYkCeeXtSo4" }, + // 6d1eaa09 ... f7933700 + send_data_packet(10,15,8,"0.2.456789.bede","key_len8"); + + #20; + + // + // DEFAULT ROUND COUNT + // +/* + // { "$5$saltstring", "Hello world!", + // "$5$saltstring$5B8vYYiY.CVt1RlTTf8KbXBH3hsxY/GNooZaBBGWEc5"}, + // 7a104d5d ... 7f80e9ec + send_data_packet(5000,10,12,"saltstring","Hello world!"); + + // { "$5$rounds=5019$0.2345.789.bede", "salt15,key=13", + // "$5$rounds=5019$0.2345.789.bede$MkvvIivtYEIOJcDzMEvma3ParB1/s9Ht02poIWA1RK7"}, + // 959d9451 ... fc24bbef + send_data_packet(5019,15,13,"0.2345.789.bede","salt15,key=13"); + + // { "$5$=", "salt1,key11", + // "$5$=$Qh125aRhMbwg8Phe/jIjQwos/v9I.vR/e7R1rjiYfBC"}, + // e36bf7d2 ... aad8d910 + send_data_packet(5000,1,11,"=","salt1,key11"); + + // { "$5$rounds=4970$0.234.6789.bc/ef", "12345678", + // "$5$rounds=4970$0.234.6789.bc/ef$7NDazjArUHJs988r5ovAyd5tIkJybwD9JOibJfzgWuD"}, + // fea2d5e6 ... dce0cb98 + send_data_packet(4970,16,8,"0.234.6789.bc/ef","12345678"); + + // { "$5$rounds=4972$0/2345.789//edef", "abc", + // "$5$rounds=4972$0/2345.789//edef$DDPKQRM7xJkpe4pdf13My8qCJPeFmXn6nNiwYk.R.wB"}, + // df0024e6 ... a77d8759 + send_data_packet(4972,16,3,"0/2345.789//edef","abc"); + + // { "$5$012/45.7/9ab/def", "test #3: salt_len=16, key_len=32", + // "$5$012/45.7/9ab/def$wz2Bni8S/YVASQHPTNWPiUd17QwYow5qLbmSUvgZhd1"}, + // 3a6de029 ... 6d01ab34 + send_data_packet(5000,16,32,"012/45.7/9ab/def","test #3: salt_len=16, key_len=32"); +*/ + + + // ***************************************************************** + // + // Send internal initialization packet. + // Restrictions: + // - must wait ~16 cycles after startup (wouldn't happen + // on a real device) + // - units must be idle (typically init packet is sent after GSR) + // + // Arguments: + // 0 - default program (entry pt.0) + // + // ***************************************************************** + #1000; + + //send_int_init_packet(1); + + end + + + // *************************************************************** + integer k, k1, salt_real_len, key_real_len; + + reg CLK = 0; // Each cycle is 20ns + + reg [`UNIT_INPUT_WIDTH-1 :0] in; + reg ctrl = 0, wr_en = 0; + + + sha256unit #( .N_CORES(N_CORES) ) sha256unit( + .CLK(CLK), + .unit_in(in), .unit_in_ctrl(ctrl), + .unit_in_wr_en(wr_en), .unit_in_afull(afull), + .unit_in_ready(ready), + + .PKT_COMM_CLK(CLK), + .dout(), .rd_en(READ_ALL_FROM_UOB), .empty() + ); + + + // *************************************************************** + task check_afull; + begin + while (afull) begin + wr_en <=0; #20; + end + wr_en <= 1; + end + endtask + + + // ************************************************************* + // + // Unit accepts packets. + // - packet header (1 input word). It isn't written into memory. + // - cnt (number of rounds) - 32 bit + // - salt_len - 32 bit + // - salt data - 16 bytes (2x64 bits), regardless of salt_len + // - IDs - 64 bit + // - key_len - 32 bit + // - unused - 32 bit + // - key data (rounded up to 32 bits), variable size + // + // Packet is written to the beginning of thread's memory. + // If packet length is not divisible by 4 bytes, excess + // bytes get trashed. + // + // ************************************************************* + task send_data_packet; + input [31:0] cnt; + input [7:0] salt_len, key_len; + input [0:127] salt; + input [0:511] key; // 64 bytes max. + begin + while (~ready) #20; + check_afull(); + + // word #0: packet type (0 - data packet) + ctrl <= 1; in <= 0; #20; + ctrl <= 0; + + check_afull(); + for (k=0; k < 4; k=k+1) begin + in <= cnt[k*8 +:8]; #20; + end + + check_afull(); + in <= salt_len; #20; in <= 8'h00; #(3*20);//#(7*20); + + check_afull(); + salt_real_len = 0; + for (k=0; k < 16; k=k+1) begin + check_afull(); + if (salt[k*8 +:8] != 0) begin + in <= salt[k*8 +:8]; + salt_real_len = salt_real_len+1; + #20; + end + end + + for (k=salt_real_len; k < 16; k=k+1) begin + check_afull(); + in <= 8'h00; + #20; + end + + check_afull(); + for (k=0; k < 8; k=k+1) begin + in <= 8'h0f; #20; // IDs (64-bit) + end + + check_afull(); + in <= key_len; #20; in <= 8'h00; #(7*20); + + key_real_len = 0; + for (k=0; k < 64; k=k+1) begin + check_afull(); + if (key[k*8 +:8] != 0) begin + in <= key[k*8 +:8]; + key_real_len = key_real_len+1; + #20; + end + end + + for (k=key_real_len; k < 64; k=k+1) begin + check_afull(); + in <= 8'h00; + #20; + end + + ctrl <= 1; #20; + ctrl <= 0; wr_en <= 0; #20; + #(4*20); + end + endtask + + + // ************************************************************* + // + // Initialization packet. + // Contains only header (1 word). + // 3 lowest bits are 3'b001, bits 7-4 contain init data. + // + // ************************************************************* + task send_int_init_packet; + input [7:0] din; + begin + ctrl <= 1; wr_en <= 1; + in <= { din[4:0], 3'b001 }; #20; + #20; + ctrl <= 0; wr_en <= 0; + end + endtask + + + // *************************************************************** + + initial begin + #5; + while(1) begin + CLK <= ~CLK; #10; + end + end + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/unit_ctrl.v b/src/ztex/fpga-sha256crypt/sha256crypt/unit_ctrl.v new file mode 100644 index 00000000000..f9da1354b54 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/unit_ctrl.v @@ -0,0 +1,256 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "sha256.vh" + +`ifdef SIMULATION +// +// Unit Controls +// +// Everything in the unit except for cores is placed here +// because of Placement & Routing issues. +// +module unit_ctrl #( + parameter N_CORES = 3, + parameter N_THREADS = 2 * N_CORES, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, PKT_COMM_CLK, + // Unit Input + input [`UNIT_INPUT_WIDTH-1 :0] unit_in, + input unit_in_ctrl, unit_in_wr_en, + output unit_in_afull, unit_in_ready, + // Unit Output + output [`UNIT_OUTPUT_WIDTH-1 :0] dout, + input rd_en, + output empty, + // *** Cores *** + // (are kept separate because of Placement & Routing issues) + output [N_CORES-1:0] core_wr_en, core_start, + input [N_CORES-1:0] core_ready, core_dout_en, core_dout_seq, + output [31:0] core_din, + output [3:0] core_wr_addr, + output [`BLK_OP_MSB:0] core_blk_op, + output core_seq, core_set_input_ready, + input [32*N_CORES-1 :0] core_dout, + + output [5:0] err + ); + + + // ********************************************************** + // + // ENGINE + // + // ********************************************************** + // engine - procb + wire [N_THREADS_MSB:0] comp_procb_wr_thread_num; + wire [`PROCB_D_WIDTH-1 :0] procb_wr_data; + wire [`PROCB_A_WIDTH-1 :0] procb_wr_cnt; + wire [`COMP_DATA1_MSB :0] comp_wr_data1; + // engine - thread_state + wire [N_THREADS_MSB :0] ts_wr_num1, ts_rd_num1, ts_num4; + wire [`THREAD_STATE_MSB :0] ts_wr1, ts_wr4; + wire ts_wr_en1, ts_wr_en4; + wire [`THREAD_STATE_MSB :0] ts_rd1, ts_rd4; + // engine - memory + wire [`COMP_DATA2_MSB :0] comp_wr_data2; + wire [31:0] ext_din; + wire [`MEM_TOTAL_MSB :0] ext_wr_addr; + wire [`MEM_TOTAL_MSB :0] mem_rd_addr_cpu; + wire [31:0] mem_dout; + + + engine #( .N_CORES(N_CORES) ) engine( + .CLK(CLK), + // procb_buf + .procb_wr_thread_num(comp_procb_wr_thread_num), + .procb_wr_en(procb_wr_en), + .procb_wr_data(procb_wr_data), .procb_wr_cnt(procb_wr_cnt), + .comp_data1_wr_en(comp_wr_en), .comp_wr_data1(comp_wr_data1), + // thread_state + .ts_wr_num1(ts_wr_num1), .ts_rd_num1(ts_rd_num1), .ts_num4(ts_num4), + .ts_wr1(ts_wr1), .ts_wr_en1(ts_wr_en1), .ts_rd1(ts_rd1), + .ts_wr4(ts_wr4), .ts_wr_en4(ts_wr_en4), .ts_rd4(ts_rd4), + // memory + .comp_data2_wr_en(comp_wr_en), .comp_wr_data2(comp_wr_data2), + .ext_din(ext_din), .ext_wr_addr(ext_wr_addr), .ext_wr_en(ext_wr_en), + .ext_full(ext_full), + .mem_rd_cpu_request(mem_rd_cpu_request), + .mem_rd_addr_cpu(mem_rd_addr_cpu), + .mem_dout(mem_dout), .mem_rd_cpu_valid(mem_rd_cpu_valid), + // cores (kept separately because of P & R issues) + .core_wr_en(core_wr_en), .core_start(core_start), + .core_ready(core_ready), + .core_din(core_din), .core_wr_addr(core_wr_addr), + .core_blk_op(core_blk_op), .core_seq(core_seq), + .core_set_input_ready(core_set_input_ready), + .core_dout(core_dout), .core_dout_en(core_dout_en), + .core_dout_seq(core_dout_seq), + .err(err[4:0]) + ); + + + // ********************************************************** + // + // UNIT INPUT + // + // - operates independently from the CPU + // - finds idle thread (THREAD_STATE_NONE) + // - accepts data packet, writes into the beginning of the + // thread's memory, sets THREAD_STATE_WR_RDY + // + // ********************************************************** + wire [`ENTRY_PT_MSB:0] entry_pt_curr; + + unit_input #( .N_CORES(N_CORES) + ) unit_input( + .CLK(CLK), + .in(unit_in), .ctrl(unit_in_ctrl), .wr_en(unit_in_wr_en), + .afull(unit_in_afull), .ready(unit_in_ready), + + .out(ext_din), .mem_addr(ext_wr_addr), + .rd_en(ext_wr_en), .empty(unit_input_empty), + + .ts_num(ts_num4), .ts_wr_en(ts_wr_en4), + .ts_wr(ts_wr4), .ts_rd(ts_rd4), + + .entry_pt_curr(entry_pt_curr) + ); + + assign ext_wr_en = ~unit_input_empty & ~ext_full; + + + // ********************************************************** + // + // UNIT OUTPUT BUFFER + // + // ********************************************************** + wire [15:0] uob_data; + wire [`UOB_ADDR_MSB :0] uob_wr_addr; + + uob16pq unit_output_buf( + .clk_wr(CLK), + .din(uob_data), .wr_en(uob_wr_en), .wr_addr(uob_wr_addr), + .full(uob_full), .ready(uob_ready), + .set_input_complete(uob_set_input_complete), + + .clk_rd(PKT_COMM_CLK), + .dout(dout), .rd_en(rd_en), .empty(empty) + ); + + + // ********************************************************** + // + // CPU + // + // ********************************************************** + + cpu #( .WIDTH(16), .N_CORES(N_CORES) ) cpu( + .CLK(CLK), + .entry_pt_curr(entry_pt_curr), + // thread_state (ts) - using channel 1 + .ts_wr_num(ts_wr_num1), .ts_rd_num(ts_rd_num1), .ts_wr_en(ts_wr_en1), + .ts_wr(ts_wr1), .ts_rd(ts_rd1), + // comp_buf & procb_buf + .comp_wr_en(comp_wr_en), .procb_wr_en(procb_wr_en), + .procb_wr_cnt(procb_wr_cnt), + .comp_procb_wr_thread_num(comp_procb_wr_thread_num), + .comp_dout({ comp_wr_data1, comp_wr_data2 }), + .procb_dout(procb_wr_data), + // memory read + .mem_rd_request(mem_rd_cpu_request), .mem_rd_addr(mem_rd_addr_cpu), + .mem_rd_valid(mem_rd_cpu_valid), .mem_din(mem_dout), + // unit_output_buf + .uob_dout(uob_data), .uob_wr_en(uob_wr_en), + .uob_wr_addr(uob_wr_addr), .uob_ready(uob_ready), .uob_full(uob_full), + .uob_set_input_complete(uob_set_input_complete), + .err(err[5]) + ); + + +endmodule + +`else + +module unit_ctrl #( + parameter N_CORES = 3, + parameter N_THREADS = 2 * N_CORES, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, PKT_COMM_CLK, + // Unit Input + input [`UNIT_INPUT_WIDTH-1 :0] unit_in, + input unit_in_ctrl, unit_in_wr_en, + output unit_in_afull, unit_in_ready, + // Unit Output + output [`UNIT_OUTPUT_WIDTH-1 :0] dout, + input rd_en, + output empty, + // *** Cores *** + // (are kept separate because of Placement & Routing issues) + output [N_CORES-1:0] core_wr_en, core_start, + input [N_CORES-1:0] core_ready, core_dout_en, core_dout_seq, + output [31:0] core_din, + output [3:0] core_wr_addr, + output [`BLK_OP_MSB:0] core_blk_op, + output core_seq, core_set_input_ready, + input [32*N_CORES-1 :0] core_dout, + + output [5:0] err + ); + +endmodule + +`endif + + +module unit_ctrl_dummy #( + parameter N_CORES = 3, + parameter N_THREADS = 2 * N_CORES, + parameter N_THREADS_MSB = `MSB(N_THREADS-1) + )( + input CLK, PKT_COMM_CLK, + // Unit Input + input [`UNIT_INPUT_WIDTH-1 :0] unit_in, + input unit_in_ctrl, unit_in_wr_en, + output unit_in_afull, unit_in_ready, + // Unit Output + output [`UNIT_OUTPUT_WIDTH-1 :0] dout, + input rd_en, + output empty, + // *** Cores *** + // (are kept separate because of Placement & Routing issues) + output [N_CORES-1:0] core_wr_en, core_start, + input [N_CORES-1:0] core_ready, core_dout_en, core_dout_seq, + output [31:0] core_din, + output [3:0] core_wr_addr, + output [`BLK_OP_MSB:0] core_blk_op, + output core_seq, core_set_input_ready, + input [32*N_CORES-1 :0] core_dout, + + output [5:0] err + ); + + (* KEEP="true" *) assign unit_in_afull = 0; + (* KEEP="true" *) assign unit_in_ready = 0; + (* KEEP="true" *) assign dout = 0; + (* KEEP="true" *) assign empty = 1; + (* KEEP="true" *) assign core_wr_en = 0; + (* KEEP="true" *) assign core_dout_en = 0; + (* KEEP="true" *) assign core_dout_seq = 0; + (* KEEP="true" *) assign core_din = 0; + (* KEEP="true" *) assign core_wr_addr = 0; + (* KEEP="true" *) assign core_blk_op = 0; + (* KEEP="true" *) assign core_seq = 0; + (* KEEP="true" *) assign core_set_input_ready = 0; + (* KEEP="true" *) assign err = 0; + +endmodule + diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/unit_input.v b/src/ztex/fpga-sha256crypt/sha256crypt/unit_input.v new file mode 100644 index 00000000000..6380c47c093 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/unit_input.v @@ -0,0 +1,191 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "sha256.vh" + +// Unit input is designed to minimize unit space, +// at possible expense in arbiter +// Input is over UNIT_INPUT_WIDTH -bit bus into main memory. +// +// Input is divided into packets. +// Each packet consists of: +// - Packet type (1 input word). +// - Data. Data is stored at the beginning of thread's memory. +// Data size must be divisible by 4 bytes. +// - The start and the end word of the packet is determined +// by 'ctrl' signal. +// + +module unit_input #( + parameter N_CORES = 3, + parameter N_THREADS = 2 * N_CORES, + parameter N_THREADS_MSB = `MSB(N_THREADS-1), + parameter INPUT_WIDTH = `UNIT_INPUT_WIDTH, + parameter RATIO = 32 / INPUT_WIDTH, + parameter RATIO_MSB = `MSB(RATIO), + parameter AFULL_SIZE = 13 + )( + input CLK, + + input [INPUT_WIDTH-1:0] in, + input wr_en, ctrl, + output reg afull = 0, ready = 1, + + output reg [31:0] out, + output [`MEM_TOTAL_MSB :0] mem_addr, + input rd_en, + output reg empty = 1, + + // thread_state (ts) + output [N_THREADS_MSB :0] ts_num, // Thread # + output reg ts_wr_en = 0, + output [`THREAD_STATE_MSB :0] ts_wr, + input [`THREAD_STATE_MSB :0] ts_rd, + + output reg [`ENTRY_PT_MSB:0] entry_pt_curr = 0 + ); + + assign ts_wr = `THREAD_STATE_WR_RDY; + + + (* RAM_STYLE="DISTRIBUTED" *) + reg [INPUT_WIDTH-1:0] input_buf [31:0]; + reg [4:0] input_addr = 0, output_addr = 0; + reg [RATIO_MSB-1:0] output_cnt = 0; + + reg [N_THREADS_MSB :0] thread_num = 0; + assign ts_num = thread_num; + reg [`MEM_ADDR_MSB :0] thread_mem_addr = 0; + assign mem_addr = { thread_num, thread_mem_addr }; + + wire [`MSB(N_THREADS-1) :0] thread_num_next; + next_thread_num #( .N_CORES(N_CORES) + ) next_thread_num( .in(thread_num), .out(thread_num_next) ); + + wire [4:0] size = input_addr - output_addr; + + + localparam STATE_IN_NONE = 0, + STATE_IN_GOING = 1, + STATE_IN_WAIT_WRITE_MEM = 2, + STATE_IN_SEARCH1 = 3, + STATE_IN_SEARCH2 = 4, + STATE_IN_SEARCH3 = 5, + STATE_IN_WAIT_PKT_END = 6; + + (* FSM_EXTRACT="true", FSM_ENCODING="auto" *) + reg [2:0] state_in = STATE_IN_NONE; + + always @(posedge CLK) begin + if (ts_wr_en) + ts_wr_en <= 0; + + case(state_in) + // Wait for the start of input packet. + STATE_IN_NONE: begin + afull <= 0; + if (wr_en & ctrl & in[2:0] == 0) + state_in <= STATE_IN_GOING; + else if (wr_en & ctrl & in[2:0] == 1) begin + entry_pt_curr <= in [`ENTRY_PT_MSB+3 :3]; + state_in <= STATE_IN_WAIT_PKT_END; + end + end + + STATE_IN_WAIT_PKT_END: if (wr_en & ctrl) + state_in <= STATE_IN_NONE; + + STATE_IN_GOING: begin + ready <= 0; + + if (wr_en) begin + input_buf [input_addr] <= in; + input_addr <= input_addr + 1'b1; + end + + afull <= size >= 32 - AFULL_SIZE; + + if (wr_en & ctrl) + state_in <= STATE_IN_WAIT_WRITE_MEM; + end + + STATE_IN_WAIT_WRITE_MEM: begin + if (empty & output_addr == input_addr) begin + ts_wr_en <= 1; + state_in <= STATE_IN_SEARCH1; + end + end + + STATE_IN_SEARCH1: begin // Search for idle thread + thread_num <= thread_num_next; + state_in <= STATE_IN_SEARCH2; + end + + STATE_IN_SEARCH2: + state_in <= STATE_IN_SEARCH3; + + STATE_IN_SEARCH3: begin + if (ts_rd == `THREAD_STATE_NONE) begin + ready <= 1; + state_in <= STATE_IN_NONE; + end + else + state_in <= STATE_IN_SEARCH1; + end + endcase + end + + + localparam STATE_OUT_NONE = 0, + STATE_OUT_NEXT_WORD = 1; + + (* FSM_EXTRACT="true", FSM_ENCODING="auto" *) + reg [1:0] state_out = STATE_OUT_NONE; + + always @(posedge CLK) + case(state_out) + STATE_OUT_NONE: if (state_in == STATE_IN_GOING) begin + thread_mem_addr <= 0; + output_cnt <= 0; + state_out <= STATE_OUT_NEXT_WORD; + end + + STATE_OUT_NEXT_WORD: begin + if (empty & output_addr != input_addr) begin + output_addr <= output_addr + 1'b1; + output_cnt <= output_cnt + 1'b1; + + out [output_cnt*INPUT_WIDTH +:INPUT_WIDTH] + <= input_buf [output_addr]; + + if (output_cnt == RATIO - 1) + empty <= 0; + end + if (~empty & rd_en) begin + thread_mem_addr <= thread_mem_addr + 1'b1; + empty <= 1; + end + if (empty & output_addr == input_addr + & state_in == STATE_IN_WAIT_WRITE_MEM) + state_out <= STATE_OUT_NONE; + end + endcase + +/* +`ifdef SIMULATION + reg [9:0] X_BYTES_RECEIVED = 0; + always @(posedge CLK) + if (state_in == STATE_IN_NONE) + X_BYTES_RECEIVED <= 0; + else if (wr_en) + X_BYTES_RECEIVED <= X_BYTES_RECEIVED + 1'b1; +`endif +*/ + +endmodule diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/uob16.v b/src/ztex/fpga-sha256crypt/sha256crypt/uob16.v new file mode 100644 index 00000000000..5ef679e4670 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/uob16.v @@ -0,0 +1,150 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "sha256.vh" + +// +// Unit's Output Buffer (UOB) +// +// +// Input (into the buffer) operation. +// +// 1. Multi-threaded environment. At any given time UOB may +// contain data for 1 given thread. +// 2. Using 16-bit output from the CPU. +// 3. CPU memorizes which thread it writes. +// +// +// Output (from the buffer) operation. +// +// 1. After 'rd_en' assertion, it starts output its content, +// 'rd_en' no longer controls the data flow. +// 2. Output are header (1 word) and (OUT_N_WORDS * OUT_WIDTH) bits. +// +module uob16 #( + parameter N_THREADS = 6, + parameter N_THREADS_MSB = `MSB(N_THREADS-1), + parameter OUT_WIDTH = 2, + parameter OUT_N_WORDS = 128 + 32, + parameter RATIO = 16 / OUT_WIDTH + )( + input clk_wr, + + input [15:0] din, + input wr_en, set_input_complete, + input [`UOB_ADDR_MSB :0] wr_addr, + output reg ready = 1, // buffer is empty, ready for write + output reg full = 0, // buffer can't accept data + // Briefly: + // ready=1: any thread can start write + // full=0: thread that started can continue writing + + input clk_rd, + output reg [`UNIT_OUTPUT_WIDTH-1 :0] dout = 0, + input rd_en, + output reg empty = 1 + ); + + + // *********************************** + // + // Input + // + // *********************************** + always @(posedge clk_wr) begin + if (wr_en) + ready <= 0; + + if (set_input_complete) + full <= 1; + else if (read_complete_sync) begin + full <= 0; + ready <= 1; + end + end + + sync_pulse sync_input_complete( .wr_clk(clk_wr), + .sig(set_input_complete), .busy(), + .rd_clk(clk_rd), .out(input_complete_sync) ); + + + // ****************************************************** + // + // Memory (BRAM) + // 32 words X 16 bits from the point of view from the CPU + // Output is 2-bit wide + // + // ****************************************************** + reg [`MSB(OUT_N_WORDS-1) :0] output_addr = 0; + wire [`UNIT_OUTPUT_WIDTH-1 :0] doutb; + + asymm_bram_min_rd #( + .minWIDTH(2), .RATIO(8), .maxDEPTH(2**(`UOB_ADDR_MSB+1)) + ) mem( + .wr_clk(clk_wr), .wr_en(wr_en), + .wr_addr(wr_addr), .din(din), + // 2-cycle write + //.wr_clk(clk_wr), .wr_en(wr_en_r | wr_en_r2), + //.wr_addr(wr_addr_r), .din(din_r), + + .rd_clk(clk_rd), .rd_en(enb), + .rd_addr(output_addr), .dout(doutb) + ); + + + // *********************************** + // + // Output + // + // *********************************** + + localparam STATE_NONE = 0, + STATE_RD_READY = 1, + STATE_RD = 2, + STATE_RD_END = 3; + + (* FSM_EXTRACT="true" *) + reg [2:0] state_rd = STATE_NONE; + + always @(posedge clk_rd) + case (state_rd) + STATE_NONE: if (input_complete_sync) begin + empty <= 0; + state_rd <= STATE_RD_READY; + end + + STATE_RD_READY: if (rd_en) begin + dout <= 2'b11; + output_addr <= output_addr + 1'b1; + empty <= 1; + state_rd <= STATE_RD; + end + + STATE_RD: begin + dout <= doutb; + output_addr <= output_addr + 1'b1; + if (output_addr == OUT_N_WORDS) + state_rd <= STATE_RD_END; + end + + STATE_RD_END: begin + dout <= 0; + output_addr <= 0; + state_rd <= STATE_NONE; + end + endcase + + assign enb = state_rd != STATE_NONE; + + sync_pulse sync_read_complete( .wr_clk(clk_rd), + .sig(state_rd == STATE_RD_END), .busy(), + .rd_clk(clk_wr), .out(read_complete_sync) ); + +endmodule + diff --git a/src/ztex/fpga-sha256crypt/sha256crypt/uob16pq.v b/src/ztex/fpga-sha256crypt/sha256crypt/uob16pq.v new file mode 100644 index 00000000000..a7f8dfa1a1e --- /dev/null +++ b/src/ztex/fpga-sha256crypt/sha256crypt/uob16pq.v @@ -0,0 +1,173 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`include "sha256.vh" + +// +// Unit's Output Buffer (UOB) with Packet Queue +// +// +// Input (into the buffer) operation. +// +// 1. Multi-threaded environment. At any given time UOB may +// accept data for 1 given thread. +// 2. Using 16-bit output from the CPU. +// 3. CPU memorizes which thread it writes. +// 4. After 'set_input_complete' asserts, the packet goes into output +// queue, making UOB available for write immediately. +// +// Output (from the buffer) operation. +// +// 1. After 'rd_en' assertion, it starts output its content, +// 'rd_en' no longer controls the data flow. +// 2. Output are header (1 word) and (OUT_N_WORDS * OUT_WIDTH) bits. +// +module uob16pq #( + parameter N_THREADS = 6, + parameter N_THREADS_MSB = `MSB(N_THREADS-1), + parameter IN_WIDTH = 16, + parameter PKT_LEN = 20, // in input words + parameter PKT_QUEUE_MSB = 3, // 16 packets + parameter OUT_WIDTH = `UNIT_OUTPUT_WIDTH, + parameter RATIO = IN_WIDTH / OUT_WIDTH, + parameter OUT_N_WORDS = PKT_LEN * RATIO //128 + 32 + )( + input clk_wr, + + input [IN_WIDTH-1:0] din, + input wr_en, set_input_complete, + input [`UOB_ADDR_MSB :0] wr_addr, + output reg ready = 1, // buffer is empty, ready for write + output reg full = 0, // buffer can't accept data + // Briefly: + // ready=1: any thread can start write + // full=0: thread that started can continue writing + + input clk_rd, + output reg [OUT_WIDTH-1 :0] dout = 0, + input rd_en, + output reg empty = 1 + ); + + + // *********************************** + // + // Input + // + // *********************************** + + always @(posedge clk_wr) begin + if (wr_en) + ready <= 0; + + if (set_input_complete) + full <= 1; + else if (read_complete_sync) begin + full <= 0; + ready <= 1; + end + end + + // sync'd after packet is enqueued + sync_pulse sync_input_complete( .wr_clk(clk_wr), + .sig(set_input_complete), .busy(), + .rd_clk(clk_rd), .out(input_complete_sync) ); + + reg [PKT_QUEUE_MSB:0] base_addr_wr = 0; // sync'd with clk_rd + reg [PKT_QUEUE_MSB:0] base_addr_rd = 0; + + + // ****************************************************** + // + // Memory (BRAM) + // + // ****************************************************** + reg [`MSB(OUT_N_WORDS-1) :0] output_addr = 0; + wire [`UNIT_OUTPUT_WIDTH-1 :0] doutb; + + asymm_bram_min_rd #( + .minWIDTH(OUT_WIDTH), .RATIO(RATIO), + .maxDEPTH( 2**(PKT_QUEUE_MSB+1 + `UOB_ADDR_MSB+1) ) + ) mem( + .wr_clk(clk_wr), .wr_en(wr_en), + .wr_addr({base_addr_wr, wr_addr}), .din(din), + + .rd_clk(clk_rd), .rd_en(enb), + .rd_addr({base_addr_rd, output_addr}), .dout(doutb) + ); + + + // *********************************** + // + // Output + // + // *********************************** + + localparam STATE_NONE = 0, + STATE_RD_READY = 1, + STATE_RD = 2, + STATE_RD_END = 3; + + (* FSM_EXTRACT="true" *) + reg [2:0] state_rd = STATE_NONE; + + wire queue_empty = base_addr_wr == base_addr_rd; + wire queue_full = base_addr_wr + 1'b1 == base_addr_rd; + reg enqueued = 0; + + always @(posedge clk_rd) begin + if (input_complete_sync) begin + base_addr_wr <= base_addr_wr + 1'b1; + enqueued <= 1; + end + + if (state_rd == STATE_RD_END) begin + base_addr_rd <= base_addr_rd + 1'b1; + end + + if (enqueued & ~queue_full) + enqueued <= 0; + + // Read from UOB. 'empty' deasserts after 'rd_en'. + case (state_rd) + STATE_NONE: if (~queue_empty) begin + empty <= 0; + state_rd <= STATE_RD_READY; + end + + STATE_RD_READY: if (rd_en) begin + dout <= {OUT_WIDTH{1'b1}}; + output_addr <= output_addr + 1'b1; + empty <= 1; + state_rd <= STATE_RD; + end + + STATE_RD: begin + dout <= doutb; + output_addr <= output_addr + 1'b1; + if (output_addr == OUT_N_WORDS) + state_rd <= STATE_RD_END; + end + + STATE_RD_END: begin + dout <= 0; + output_addr <= 0; + state_rd <= STATE_NONE; + end + endcase + end + + assign enb = state_rd != STATE_NONE; + + sync_pulse sync_read_complete( .wr_clk(clk_rd), + .sig(enqueued & ~queue_full), .busy(), + .rd_clk(clk_wr), .out(read_complete_sync) ); + +endmodule + diff --git a/src/ztex/fpga-sha256crypt/util/asymm_bram.v b/src/ztex/fpga-sha256crypt/util/asymm_bram.v new file mode 100644 index 00000000000..9d7a3c1ff5f --- /dev/null +++ b/src/ztex/fpga-sha256crypt/util/asymm_bram.v @@ -0,0 +1,124 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +/* +INFO:Xst:3229 - The RAM description will not be implemented on the device block RAM because actual implementation does not support asymetric block RAM larger than one block. + ----------------------------------------------------------------------- + | ram_type | Distributed | | + ----------------------------------------------------------------------- + | Port A | + | aspect ratio | 1024-word x 32-bit | | + | clkA | connected to signal | rise | + | weA | connected to signal | high | + | addrA | connected to signal | | + | diA | connected to signal | | + ----------------------------------------------------------------------- + | Port B | + | aspect ratio | 512-word x 64-bit | | + | addrB | connected to signal | | + | doB | connected to internal node | | + ----------------------------------------------------------------------- +*/ + +// +// Asymmetric BRAM, 1 write port, 1 read port +// Write port has smaller data width +// +module asymm_bram_min_wr #( + parameter minWIDTH = 8, + parameter RATIO = 4, + parameter maxDEPTH = 512, + parameter INIT = 0 + )( + input wr_clk, + input [minWIDTH-1:0] din, + input wr_en, + input [`MSB(maxDEPTH*RATIO-1) :0] wr_addr, + + input rd_clk, + output reg [minWIDTH*RATIO-1:0] dout = INIT, + input rd_en, + input [`MSB(maxDEPTH-1) :0] rd_addr + ); + + localparam log2RATIO = `MSB(RATIO); + + (* RAM_STYLE="BLOCK" *) + reg [minWIDTH-1:0] mem [0:RATIO*maxDEPTH-1]; + + genvar i; + + // Describe the port with the smaller data width exactly as you are used to + // for symmetric block RAMs + always @(posedge wr_clk) + if (wr_en) + mem[wr_addr] <= din; + + // A generate-for is used to describe the port with the larger data width in a + // generic and compact way + generate for (i = 0; i < RATIO; i = i+1) + begin: portB + localparam [log2RATIO-1:0] lsbaddr = i; + always @(posedge rd_clk) + if (rd_en) + dout[(i+1)*minWIDTH-1:i*minWIDTH] <= mem[{rd_addr, lsbaddr}]; + end + endgenerate + +endmodule + + +// +// Asymmetric BRAM, 1 write port, 1 read port +// Read port has smaller data width +// +module asymm_bram_min_rd #( + parameter minWIDTH = 8, + parameter RATIO = 4, + parameter maxDEPTH = 512, + parameter INIT = 0 + )( + input wr_clk, + input [minWIDTH*RATIO-1:0] din, + input wr_en, + input [`MSB(maxDEPTH-1) :0] wr_addr, + + input rd_clk, + output reg [minWIDTH-1:0] dout = INIT, + input rd_en, + input [`MSB(maxDEPTH*RATIO-1) :0] rd_addr + ); + + localparam log2RATIO = `MSB(RATIO); + + (* RAM_STYLE="BLOCK" *) + reg [minWIDTH-1:0] mem [0:RATIO*maxDEPTH-1]; + + genvar i; + + // Describe the port with the smaller data width exactly as you are used to + // for symmetric block RAMs + always @(posedge rd_clk) + if (rd_en) + dout <= mem[rd_addr]; + + // A generate-for is used to describe the port with the larger data width in a + // generic and compact way + generate for (i = 0; i < RATIO; i = i+1) + begin: portB + localparam [log2RATIO-1:0] lsbaddr = i; + always @(posedge wr_clk) + if (wr_en) + mem[{wr_addr, lsbaddr}] <= din[(i+1)*minWIDTH-1:i*minWIDTH]; + end + endgenerate + +endmodule + diff --git a/src/ztex/fpga-sha256crypt/util/delay.v b/src/ztex/fpga-sha256crypt/util/delay.v new file mode 100644 index 00000000000..4a288bf808a --- /dev/null +++ b/src/ztex/fpga-sha256crypt/util/delay.v @@ -0,0 +1,42 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// +// After 'in' is asserted for about 2**NBITS cycles, +// 'out' gets asserted. +// Deassertion of 'in' resets the counter and +// deasserts 'out' in 1 cycle. +// +module delay #( + parameter [0:0] INIT = 0, + parameter NBITS = 4, + parameter CMP_NUM_MSBITS = 4 + )( + input CLK, + input in, + output reg out = INIT + ); + + localparam CMP_NUM_BITS = NBITS > CMP_NUM_MSBITS ? CMP_NUM_MSBITS : NBITS; + + reg [NBITS-1:0] counter = {NBITS{INIT}}; + + always @(posedge CLK) + if (~in) begin + counter <= 0; + out <= 0; + end + else if (&counter[NBITS-1 -:CMP_NUM_BITS]) + out <= 1; + else + counter <= counter + 1'b1; + +endmodule + diff --git a/src/ztex/fpga-sha256crypt/util/fifo_sync.v b/src/ztex/fpga-sha256crypt/util/fifo_sync.v new file mode 100644 index 00000000000..6c62dc8a8c4 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/util/fifo_sync.v @@ -0,0 +1,227 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// +// Synchronous FIFO (DRAM) +// 1st Word Fall-Through +// Area Optimized +// +module fifo_sync_small #( + parameter D_WIDTH = -1, + parameter A_WIDTH = 5 + )( + input CLK, + input [D_WIDTH-1:0] din, + input wr_en, + output full, + + output [D_WIDTH-1:0] dout, + input rd_en, + output empty + ); + + (* RAM_STYLE="DISTRIBUTED" *) + reg [D_WIDTH-1:0] ram [2**A_WIDTH-1:0]; + reg [A_WIDTH-1:0] inptr = 0, outptr = 0; + + assign empty = inptr == outptr; + assign full = inptr + 1'b1 == outptr; + assign dout = ram[outptr]; + + always @(posedge CLK) begin + if (~full & wr_en) begin + ram[inptr] <= din; + inptr <= inptr + 1'b1; + end + if (~empty & rd_en) + outptr <= outptr + 1'b1; + end + +endmodule + +/* +module fifo_sync_fast #( + parameter D_WIDTH = -1, + parameter A_WIDTH = 5 + )( + input CLK, + input [D_WIDTH-1:0] din, + input wr_en, + output reg full = 0, + + output [D_WIDTH-1:0] dout, + input rd_en, + output reg empty = 1 + ); + + (* RAM_STYLE="DISTRIBUTED" *) + reg [D_WIDTH-1:0] ram [2**A_WIDTH-1:0]; + reg [A_WIDTH-1:0] inptr = 0, outptr = 0; + + assign dout = ram[outptr]; + + wire do_write = ~full & wr_en; + wire do_read = ~empty & rd_en; + + always @(posedge CLK) begin + if (do_write) begin + ram[inptr] <= din; + inptr <= inptr + 1'b1; + end + + if (do_read) + outptr <= outptr + 1'b1; + + full <= ~do_read & (inptr + 1'b1 == outptr + || inptr + 2'b10 == outptr & do_write); + + empty <= ~do_write & (inptr == outptr + || inptr == outptr + 1'b1 & do_read); + end + +endmodule + + +module fifo_sync_fast_af_ae #( + parameter D_WIDTH = -1, + parameter A_WIDTH = 5 + )( + input CLK, + input [D_WIDTH-1:0] din, + input wr_en, + output reg full = 0, + output reg almost_full = 0, + + output [D_WIDTH-1:0] dout, + input rd_en, + output reg empty = 1, + output reg almost_empty = 1 + ); + + (* RAM_STYLE="DISTRIBUTED" *) + reg [D_WIDTH-1:0] ram [2**A_WIDTH-1:0]; + reg [A_WIDTH-1:0] inptr = 0, outptr = 0; + + assign dout = ram[outptr]; + + wire do_write = ~full & wr_en; + wire do_read = ~empty & rd_en; + + always @(posedge CLK) begin + if (do_write) begin + ram[inptr] <= din; + inptr <= inptr + 1'b1; + end + + if (do_read) + outptr <= outptr + 1'b1; + + full <= ~do_read & (inptr + 1'b1 == outptr + || inptr + 2'b10 == outptr & do_write); + + almost_full <= full + || ~do_read & (inptr + 2'b10 == outptr + || inptr + 2'b11 == outptr & do_write); + + empty <= ~do_write & (inptr == outptr + || inptr == outptr + 1'b1 & do_read); + + almost_empty <= empty + || ~do_write & (inptr == outptr + 1'b1 + || inptr == outptr + 2'b10 & do_read); + end + +endmodule +*/ +/* +// +// Like fifo_sync_fast, output is equpped with extra register +// +module fifo_sync_very_fast #( + parameter D_WIDTH = -1, + parameter A_WIDTH = 5 + )( + input CLK, + input [D_WIDTH-1:0] din, + input wr_en, + output full, + + output reg [D_WIDTH-1:0] dout, + input rd_en, + output reg empty = 1 + ); + + wire [D_WIDTH-1:0] fifo_dout; + + fifo_sync_fast #( .A_WIDTH(A_WIDTH), .D_WIDTH(D_WIDTH) + ) fifo_sync_fast( + .CLK(CLK), + .din(din), + .wr_en(wr_en), .full(full), + + .dout(fifo_dout), + .rd_en(fifo_rd_en), .empty(fifo_empty) + ); + + assign fifo_rd_en = empty & ~fifo_empty + || ~empty & ~fifo_empty & rd_en; + + always @(posedge CLK) + if (fifo_rd_en) begin + dout <= fifo_dout; + empty <= 0; + end + else if (rd_en) + empty <= 1; + +endmodule + + +module fifo_sync_very_fast_af #( + parameter D_WIDTH = -1, + parameter A_WIDTH = 5 + )( + input CLK, + input [D_WIDTH-1:0] din, + input wr_en, + output full, almost_full, + + output reg [D_WIDTH-1:0] dout, + input rd_en, + output reg empty = 1 + ); + + wire [D_WIDTH-1:0] fifo_dout; + + fifo_sync_fast_af_ae #( .A_WIDTH(A_WIDTH), .D_WIDTH(D_WIDTH) + ) fifo_sync_fast( + .CLK(CLK), + .din(din), + .wr_en(wr_en), + .full(full), .almost_full(almost_full), + + .dout(fifo_dout), + .rd_en(fifo_rd_en), + .empty(fifo_empty), .almost_empty(fifo_almost_empty) + ); + + assign fifo_rd_en = empty & ~fifo_empty + || ~empty & ~fifo_empty & rd_en; + + always @(posedge CLK) + if (fifo_rd_en) begin + dout <= fifo_dout; + empty <= 0; + end + else if (rd_en) + empty <= 1; + +endmodule +*/ diff --git a/src/ztex/fpga-sha256crypt/util/log2.vh b/src/ztex/fpga-sha256crypt/util/log2.vh new file mode 100644 index 00000000000..a63760c478c --- /dev/null +++ b/src/ztex/fpga-sha256crypt/util/log2.vh @@ -0,0 +1,46 @@ +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ +`ifndef _LOG2_VH_ +`define _LOG2_VH_ + +`define MSB(x) ( \ + //x >= *65536 ?: \ + x >= 256 *65536 ? 24 : \ + x >= 128 *65536 ? 23 : \ + x >= 64 *65536 ? 22 : \ + x >= 32 *65536 ? 21 : \ + x >= 16 *65536 ? 20 : \ + x >= 8 *65536 ? 19 : \ + x >= 4 *65536 ? 18 : \ + x >= 2 *65536 ? 17 : \ + x >= 65536 ? 16 : \ + x >= 32768 ? 15 : \ + x >= 16384 ? 14 : \ + x >= 8192 ? 13 : \ + x >= 4096 ? 12 : \ + x >= 2048 ? 11 : \ + x >= 1024 ? 10 : \ + x >= 512 ? 9 : \ + x >= 256 ? 8 : \ + x >= 128 ? 7 : \ + x >= 64 ? 6 : \ + x >= 32 ? 5 : \ + x >= 16 ? 4 : \ + x >= 8 ? 3 : \ + x >= 4 ? 2 : \ + x >= 2 ? 1 : \ + x >= 1 ? 0 : \ + x == 0 ? 0 : \ + -1 ) + + +`define MAX(a,b) {(a) > (b) ? (a) : (b)} +`define MIN(a,b) {(a) < (b) ? (a) : (b)} + +`endif diff --git a/src/ztex/fpga-sha256crypt/util/regs2d.v b/src/ztex/fpga-sha256crypt/util/regs2d.v new file mode 100644 index 00000000000..5eed0bd090a --- /dev/null +++ b/src/ztex/fpga-sha256crypt/util/regs2d.v @@ -0,0 +1,61 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + + +module regs2d #( // 2-direction + parameter IN_WIDTH = -1, + parameter OUT_WIDTH = -1, + parameter STAGES = 0 // 0 stages - no registers + )( + input CLK, + //input en, + input [IN_WIDTH-1:0] enter_in, + output [OUT_WIDTH-1:0] enter_out, + output [IN_WIDTH-1:0] exit_in, + input [OUT_WIDTH-1:0] exit_out + ); + + + wire [IN_WIDTH-1:0] stage_in [STAGES:0]; + assign stage_in[0] = enter_in; + assign exit_in = stage_in [STAGES]; + + //wire [STAGES-1:0] stage_en; + //assign stage_en[0] = en; + + wire [OUT_WIDTH-1:0] stage_out [STAGES:0]; + assign enter_out = stage_out[0]; + assign stage_out [STAGES] = exit_out; + + + genvar k; + generate + // Stages are numbered 1..STAGES + for (k=1; k <= STAGES; k=k+1) begin:stage + + (* SHREG_EXTRACT="no" *) + //reg [1 + OUT_WIDTH + IN_WIDTH-1 :0] r = 0; + reg [OUT_WIDTH + IN_WIDTH-1 :0] r = 0; + + always @(posedge CLK) begin + //r[OUT_WIDTH + IN_WIDTH] <= stage_en[k-1]; + //if (stage_en[k-1]) begin + r[IN_WIDTH-1:0] <= stage_in[k-1]; + r[OUT_WIDTH + IN_WIDTH-1 :IN_WIDTH] <= stage_out[k]; + //end + end + + assign stage_in[k] = r[IN_WIDTH-1:0]; + //assign stage_en[k] = r[OUT_WIDTH + IN_WIDTH]; + assign stage_out[k-1] = r[OUT_WIDTH + IN_WIDTH-1 :IN_WIDTH]; + end + endgenerate + +endmodule diff --git a/src/ztex/fpga-sha256crypt/util/sync.v b/src/ztex/fpga-sha256crypt/util/sync.v new file mode 100644 index 00000000000..59f3cd5d257 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/util/sync.v @@ -0,0 +1,159 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + + +// 2-stage FF synchronizer +module sync_sig #( + parameter INIT = 0, + // if input signal is 1-2 clk cycles + // and CLK1 is set, result would be 1 cycle long + // * if input is longer than 2 cycles, it would produce extra result + // * if less than 1 cycle, there might be no result (consider usage of sync_short_sig) + parameter CLK1 = 0 + )( + input sig, + input clk, + //input en, + output out + ); + + (* SHREG_EXTRACT="NO" *) + reg [1:0] ff = {2{INIT[0]}}; + assign out = ff[1]; + + if (CLK1) begin + + always @(posedge clk) + if (ff[1] ^ INIT[0]) + ff[1:0] <= {2{INIT[0]}}; + else + ff[1:0] <= { ff[0], sig }; + + end else begin // ! CLK1 + + always @(posedge clk) + ff[1:0] <= { ff[0], sig }; + + end + +endmodule + +/* +// For synchronizing short-duration signals (less than clk cycle), +// 2-stage FF synchronizer is prepended with async register +module sync_short_sig #( + parameter INIT = 0, + parameter CLK1 = 0 + )( + input sig, + input clk, + output out + ); + + // There's no such registers in Spartan 6 architecture, + // with a warning tools produce an equvalent item from 3 parts + reg async_r = INIT[0]; + + always @(posedge clk or posedge sig) + if (sig) + async_r <= ~INIT[0]; + else + if (out) + async_r <= INIT[0]; + + sync_sig #(.INIT(INIT), .CLK1(CLK1)) sync(.sig(async_r), .clk(clk), .out(out)); + +endmodule +*/ + +// Any frequency relation between wr_clk and rd_clk +// 'out' duration is 1 clock cycle (repeats after 'busy' deasserts) +module sync_pulse ( + input wr_clk, + input sig, + output busy, + + input rd_clk, + // 'out' must be OK in terms of metastability + output out + ); + + reg flag_wr = 0; + always @(posedge wr_clk) flag_wr <= flag_wr ^ (sig & ~busy); + + (* SHREG_EXTRACT="NO" *) + reg [2:0] sync_rd = 3'b000; + always @(posedge rd_clk) sync_rd <= {sync_rd[1:0], flag_wr}; + + (* SHREG_EXTRACT="NO" *) + reg [1:0] sync_wr = 2'b00; + always @(posedge wr_clk) sync_wr <= {sync_wr[0], sync_rd[2]}; + + assign busy = flag_wr ^ sync_wr[1]; + assign out = sync_rd[2] ^ sync_rd[1]; + +endmodule + +/* +// Any frequency relation between wr_clk and rd_clk +module sync_ack( + input wr_clk, + input sig, + output busy, // asserts on the next cycle + + input rd_clk, + output out, + input done + ); + + reg flag_wr = 0; + always @(posedge wr_clk) flag_wr <= flag_wr ^ (sig & ~busy); + + (* SHREG_EXTRACT="NO" *) + reg [2:0] sync_rd = 3'b0; + always @(posedge rd_clk) + if (~out | done) + sync_rd <= {sync_rd[1:0], flag_wr}; + + (* SHREG_EXTRACT="NO" *) + reg [1:0] sync_wr = 2'b0; + always @(posedge wr_clk) + if (out | done | done_r) + sync_wr <= {sync_wr[0], sync_rd[2]}; + + assign out = sync_rd[2] ^ sync_rd[1]; + assign busy = flag_wr ^ sync_wr[1]; + + reg done_r = 0; + always @(posedge rd_clk) + if (out & done) + done_r <= 1; + else if (done_r) + done_r <= 0; + +endmodule +*/ +/* +// sig is active for no more than 1 cycle +module pulse1( + input CLK, + input sig, + output out + ); + + reg done = 0; + always @(posedge CLK) + done <= sig; + + assign out = sig & ~done; + +endmodule +*/ + diff --git a/src/ztex/fpga-sha256crypt/xpartition-mppr.pxml b/src/ztex/fpga-sha256crypt/xpartition-mppr.pxml new file mode 100644 index 00000000000..c2cfba56d9f --- /dev/null +++ b/src/ztex/fpga-sha256crypt/xpartition-mppr.pxml @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ztex/fpga-sha256crypt/xpartition.pxml b/src/ztex/fpga-sha256crypt/xpartition.pxml new file mode 100644 index 00000000000..6d2163949e4 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/xpartition.pxml @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic/async2sync.v b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/async2sync.v new file mode 100644 index 00000000000..c57947d40ff --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/async2sync.v @@ -0,0 +1,48 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +//********************************************************** +// +// Provides active 'clk_en' for 1 'clk' cycle per 1 'async' pulse +// +//********************************************************** + +module async2sync( + input async, + input clk, + output reg clk_en = 0 + ); + + reg async_r; + always @(posedge clk or posedge async) + if (async) + async_r <= 1'b1; + else if (done || !init_done) + async_r <= 0; + + reg done = 0; + reg init_done = 0; + + always @(posedge clk) begin + if (!async && !init_done) + init_done <= 1; + + if (async_r && init_done) + if (!clk_en && !done) begin + clk_en <= 1; + done <= 1; + end + else + clk_en <= 0; + else + done <= 0; + end + +endmodule diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic/chip_select.v b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/chip_select.v new file mode 100644 index 00000000000..eb9e3f942e1 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/chip_select.v @@ -0,0 +1,58 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// ********************************************** +// +// Proper handling of Chip Select (CS) input +// on a multi-FPGA board. +// +// On CS assertion: +// * cycle 1. CS input gets registered (CS) +// * cycle 2. Some outputs go T-state (out_z) +// * cycle 3. Some outputs go T-state (out_z_wait1) +// +// ********************************************** + +module chip_select( + // Asynchronous CS input + input CS_IN, + input CLK, + // Synchronous output + output CS, + //output out_z, + output out_z_wait1 + ); + + (* IOB="true" *) reg cs_in_r = 0; + always @(posedge CLK) + cs_in_r <= CS_IN; + assign CS = cs_in_r; + + //(* IOB="true" *) reg cs_out_inv_r = 0; + (* IOB="true" *) reg cs_out_inv_wait1_r = 0; + reg deselect_delay = 0; + + always @(posedge CLK) + if (~cs_in_r) begin + //cs_out_inv_r <= 1; + deselect_delay <= 1; + if (deselect_delay) + cs_out_inv_wait1_r <= 1; + end + else begin + //cs_out_inv_r <= 0; + deselect_delay <= 0; + cs_out_inv_wait1_r <= 0; + end + + //assign out_z = cs_out_inv_r; + assign out_z_wait1 = cs_out_inv_wait1_r; + +endmodule diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic/clocks.ucf b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/clocks.ucf new file mode 100644 index 00000000000..0e23bff2dfe --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/clocks.ucf @@ -0,0 +1,51 @@ +# +# This software is Copyright (c) 2016-2018 Denis Burykin +# [denis_burykin yahoo com], [denis-burykin2014 yandex ru] +# and it is hereby released to the general public under the following terms: +# Redistribution and use in source and binary forms, with or without +# modification, are permitted. +# +# **************************** +# +# cmt2 - driven by IFCLK_IN +# cmt_special.v +# +# **************************** +# +INST "clocks/cmt2/DCM_0" LOC=DCM_X0Y4; +#INST "clocks/cmt2/DCM_CLKGEN_0" LOC=DCM_X0Y5; +#INST "clocks/cmt2/PLL_0" LOC=PLL_ADV_X0Y2; + +NET "IFCLK" TNM_NET = "IFCLK"; +TIMESPEC "TS_IFCLK" = PERIOD "IFCLK" 20.5 ns HIGH 50%; + +# CLK2X for PKT_COMM_CLK +NET "clocks/cmt2/dcm0_clk2x" TNM_NET = "PKT_COMM_CLK"; +TIMESPEC "TS_PKT_COMM_CLK" = PERIOD "PKT_COMM_CLK" 10.2 ns HIGH 50%; + +# CLK2 +#NET "clocks/cmt2/dcm0_clk90" TNM_NET = "cmt2_dcm0_clk90"; +#TIMESPEC "TS_cmt2_dcm0_clk90" = PERIOD "cmt2_dcm0_clk90" 20.833 ns HIGH 50%; +# PLL_CLK +#NET "clocks/cmt2/dcm0_clkdv" TNM_NET = "PKT_COMM_CLK"; +#TIMESPEC "TS_PKT_COMM_CLK" = PERIOD "PKT_COMM_CLK" 41.666 ns HIGH 50%; + +# **************************** +# +# Programmable clock #0 +# cmt_prog.v +# +# **************************** +# +INST "clocks/cmt3/DCM_CLKGEN_0" LOC=DCM_X0Y7; +INST "clocks/cmt3/PLL_0" LOC=PLL_ADV_X0Y3; + +NET "clocks/cmt3/pll0_clkout0" TNM_NET = "CORE_CLK"; +#TIMESPEC "TS_CORE_CLK" = PERIOD "CORE_CLK" 5.263 ns HIGH 50%; # 190 +#TIMESPEC "TS_CORE_CLK" = PERIOD "CORE_CLK" 5.405 ns HIGH 50%; # 185 +#TIMESPEC "TS_CORE_CLK" = PERIOD "CORE_CLK" 5.555 ns HIGH 50%; # 180 +#TIMESPEC "TS_CORE_CLK" = PERIOD "CORE_CLK" 5.714 ns HIGH 50%; # 175 +TIMESPEC "TS_CORE_CLK" = PERIOD "CORE_CLK" 5.882 ns HIGH 50%; # 170 +#TIMESPEC "TS_CORE_CLK" = PERIOD "CORE_CLK" 6.250 ns HIGH 50%; # 160 + + diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic/clocks.v b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/clocks.v new file mode 100644 index 00000000000..ef2bceab98c --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/clocks.v @@ -0,0 +1,149 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// ********************************************************************** +// +// Input clocks: +// * IFCLK_IN 48 MHz. +// * FXCLK_IN 48 MHz. +// +// Output: +// * IFCLK - equal to IFCLK_IN, some phase backshift +// * other clocks +// +// ********************************************************************** + + +module clocks #( + // Using CLK2X + //parameter PKT_COMM_FREQ = 135, // adjust UCF + parameter CORE_FREQ = 135 // cmt3 - programmable (adjust UCF) + )( + input IFCLK_IN, + input FXCLK_IN, + + // Programmable clock + input [3:0] progen, + input progdata, progclk, + input pll_reset, + output progdone_inv, + + output IFCLK, + output PKT_COMM_CLK, + input core_clk_glbl_en, + output CORE_CLK + ); + + + // ******************************************************************************** + // + // Attention developer! + // + // * On ZTEX 1.15y board, clocks coming from USB device controller do bypass a CPLD. + // That's unknown why. To get Slave FIFO working, that requires clock phase backshift + // (DCM can do) or equal measure. That might be the placement of input registers deep + // into FPGA fabric or usage of IDELAY components. + // + // * If several DCMs and/or PLLs are used and their placement is not manually defined, + // tools (ISE 14.5) place them randomly without a respect to dedicated lines. + // That results in a usage of general routing for clocks, that in turn can + // result in an unroutable condition if it's full of wires. + // + // * When tools notice derived clocks, they mess up with timing at Place and Route stage. + // + // ******************************************************************************** + + + + // **************************************************************************** + // + // Spartan-6 Clocking Resources (Xilinx UG382) is anything but straightforward. + // + // **************************************************************************** + + // Tasks: + // - generate a number of clocks for various parts of application + // - don't use general routing for clocks + // - define frequencies in MHz, not in magic units + // - don't define derived clocks, 1 constraint should apply only to 1 clock. + + + // IFCLK_IN and FXCLK_IN are located near each other. + // There's some I/O clocking region there. + // Limited number of dedicated routes from that region to CMTs are available. + // + // Each input clock can go to up to 2 CMTs, one of them must be + // in the top half of fpga and other one must be in the bottom half. + // + // CMTs are numbered 0 to 5 from bottom to top. + + // Delay line waits 4 cycles after GSR deasserted + reg [3:0] delay_line = 0; + always @(posedge IFCLK) + delay_line[3:0] <= { delay_line[2:0], 1'b1 }; + wire CE = &delay_line[3:0]; + + + cmt2 #( + .PLL_FREQ(),//PKT_COMM_FREQ), + .PHASE_SHIFT(-15) + ) cmt2( + .I(IFCLK_IN), + .CLK0(IFCLK), + .CLK2X(PKT_COMM_CLK), + .PLL_CLK()//PKT_COMM_CLK) + ); + + + // Route FXCLK via BUFG to feed 2+ CMT's + BUFG FXCLK_BUFG_inst( + .I(FXCLK_IN), + .O(FXCLK) + ); +/* + // Programmable clock #1: + cmt_prog #( .F(CMP_FREQ) + ) cmt1( + .I(FXCLK), + .progen(progen[1]), .progdata(progdata), .progclk(progclk), + .pll_reset(pll_reset), + .CE(CE), + .progdone_inv(progdone_inv1), + .O(CMP_CLK) + ); +*/ + + // Programmable clock #0: + cmt_prog #( .F(CORE_FREQ) + ) cmt3( + .I(FXCLK), + .progen(progen[0]), .progdata(progdata), .progclk(progclk), + .pll_reset(pll_reset), + .CE(CE & core_clk_glbl_en), + .progdone_inv(progdone_inv0), + .O(CORE_CLK) + ); + + assign progdone_inv = progdone_inv0;// | progdone_inv1; + +/* + // Not-Programmable clock + cmt_prog #( .F(PKT_COMM_FREQ) + ) cmt5( + .I(FXCLK), + .progen(1'b0), .progdata(1'b0), .progclk(1'b0), + .pll_reset(pll_reset), + .CE(CE), + .progdone_inv(), + .O(PKT_COMM_CLK) + ); +*/ + +endmodule diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic/cmt2.v b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/cmt2.v new file mode 100644 index 00000000000..168706a1dc4 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/cmt2.v @@ -0,0 +1,220 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +// ******************************************* +// +// Clock Management Tile #2 +// +// ******************************************* + +module cmt2 #( + parameter PHASE_SHIFT = 0, + parameter FREQ_IN = 48, + //parameter BUFIO2_DIVIDE = 1, + parameter CLK2_DIVIDE = 8, + parameter CLK2_FREQ = 210, + parameter PLL_FREQ = 0 + )( + input I, + output CLK0, + //output CLK2, + output CLK2X, + output PLL_CLK + ); + + assign PLL_CLK = 1'b0; + + + // ****************************************************** + // + // Available frequencies + // (*) - default value + // + // BUFIO2_DIVIDE = 1: + // + // CLK1_DIVIDE = 8: step 6 MHz, max. 192 MHz + // (*)CLK1_DIVIDE = 6: step 8 MHz, max. 256 MHz + // CLK1_DIVIDE = 4: step 12 MHz, max. 384 MHz + // + // (*)CLK2_DIVIDE = 8: step 6 MHz, max. ~260 MHz + // CLK2_DIVIDE = 6: step 8 MHz, max. ~320 MHz + // + // BUFIO2_DIVIDE = 2: + // + // (*)CLK1_DIVIDE = 6: step 4 MHz, max. 128 MHz + // CLK1_DIVIDE = 4: step 6 MHz, max. 192 MHz + // CLK1_DIVIDE = 3: step 8 MHz, max. 256 MHz + // CLK1_DIVIDE = 2: step 12 MHz, max. 384 MHz + // + // CLK2_DIVIDE = 16: step 1.5 MHz, max. ~380 MHz + // CLK2_DIVIDE = 12: step 2 MHz, max. >400 MHz + // (*)CLK2_DIVIDE = 8: step 3 MHz, max. >400 MHz + // CLK2_DIVIDE = 6: step 4 MHz, max. >400 MHz + // CLK2_DIVIDE = 4: step 6 MHz, max. >400 MHz + // + // ****************************************************** + + localparam BUFIO2_DIVIDE = 1; + localparam FREQ_IN_DIVIDED = FREQ_IN / BUFIO2_DIVIDE; + + localparam CLK2_MULTIPLY = CLK2_FREQ / (FREQ_IN_DIVIDED / CLK2_DIVIDE); + + localparam DCM0_DIVIDE = 2; + + /* + // + // Some problems with manual usage of BUFIO2. + // + BUFIO2 #( + .DIVIDE(BUFIO2_DIVIDE), // DIVCLK divider (1-8) + .DIVIDE_BYPASS(BUFIO2_DIVIDE == 1 ? "TRUE" : "FALSE"), // Bypass the divider circuitry (TRUE/FALSE) + .I_INVERT("FALSE"), // Invert clock (TRUE/FALSE) + .USE_DOUBLER("FALSE") // Use doubler circuitry (TRUE/FALSE) + ) + BUFIO2_inst ( + .DIVCLK(),//DIVCLK), // 1-bit output: Divided clock output + .IOCLK( CLK_IN ), // 1-bit output: I/O output clock + .SERDESSTROBE(),//SERDESSTROBE), // 1-bit output: Output SERDES strobe (connect to ISERDES2/OSERDES2) + .I( I ) // 1-bit input: Clock input (connect to IBUFG) + ); + */ + + + // ********************************************************************** + + + (* BUFFER_TYPE="NONE" *) wire dcm0_clk90, dcm0_clkdv; + (* KEEP="true" *) wire dcm0_clk2x; + + DCM_SP #(.CLKDV_DIVIDE ( DCM0_DIVIDE ), + .CLKFX_DIVIDE (), + .CLKFX_MULTIPLY (), + .CLKIN_DIVIDE_BY_2 ("FALSE"), + .CLKIN_PERIOD (), + .CLKOUT_PHASE_SHIFT ("FIXED"), + .CLK_FEEDBACK ("1X"), + .DESKEW_ADJUST ("SYSTEM_SYNCHRONOUS"),//("SOURCE_SYNCHRONOUS"), + .PHASE_SHIFT ( PHASE_SHIFT ), // -12: phase backshift 1 ns + .STARTUP_WAIT ("FALSE") + ) DCM_0 ( + // Input clock + .CLKIN ( I ), + .CLKFB (dcm0_clkfb), + // Output clocks + .CLK0 (dcm0_clk0), + .CLK90 (dcm0_clk90), + .CLK180 (),//dcm0_clk180), + .CLK270 (), + .CLK2X (dcm0_clk2x), + .CLK2X180 (), + .CLKFX (), + .CLKFX180 (), + .CLKDV (dcm0_clkdv), + // Ports for dynamic phase shift + .PSCLK(1'b0), .PSEN(1'b0), .PSINCDEC(1'b0), .PSDONE(), + .LOCKED(), .STATUS(), .RST(1'b0), .DSSEN(1'b0) + ); + + assign dcm0_clkfb = dcm0_clk0; // Adds BUFIO2FB + assign CLK0 = dcm0_clk0; + + assign CLK2X = dcm0_clk2x; + +/* + // ***************************************************** + // + // Usage of PLL: + // + // * Unless LOCated properly (in UCF), placer would probably place it in wrong place + // and that would result in routing problems + // * in UCF, uncomment dcm0_clkdv + // + if (PLL_FREQ) begin + + localparam PLL_DIVIDE = 4; // with FREQ_IN=48, DCM0_DIVIDE=2: step 6 MHz, max. ~270 MHz + + localparam PLL_MULT = PLL_FREQ / (FREQ_IN / DCM0_DIVIDE / PLL_DIVIDE); + + + // *********** Some black magic to avoid the error **************** + // + // Mapping design into LUTs... + // ERROR:LIT:664 - PLL_ADV symbol "clocks/cmt2/PLL_0/PLL_ADV" (output + // signal=clocks/cmt2/PLL_0/CLKOUT3) has pin CLKOUT2 driving a BUFPLL. Only + // CLKOUT0 and CLKOUT1 pins can drive a BUFPLL. Please modify your design to + // avoid this unroutable situation. + // Errors found during logical drc. + (* BUFFER_TYPE="NONE" *) wire [4:0] dummy; + (* KEEP="true" *) wire dummy1 = ^dummy; + + PLL_BASE #( + .BANDWIDTH("OPTIMIZED"), + .CLKFBOUT_MULT( PLL_MULT ), + .CLKOUT0_DIVIDE( PLL_DIVIDE ), + .CLKOUT0_DUTY_CYCLE(0.5), + .CLKIN_PERIOD(0.0), + .CLK_FEEDBACK("CLKFBOUT"), + .COMPENSATION("DCM2PLL"),//SYSTEM_SYNCHRONOUS"), + .DIVCLK_DIVIDE(1), + .REF_JITTER(0.10), + .RESET_ON_LOSS_OF_LOCK("FALSE") + ) PLL_0 ( + .CLKFBOUT(pll0_clkfb), + .CLKOUT0(pll0_clkout0), + .CLKOUT1(dummy[0]), + .CLKOUT2(dummy[1]), + .CLKOUT3(dummy[2]), + .CLKOUT4(dummy[3]), + .CLKOUT5(dummy[4]), + .LOCKED(), + .CLKFBIN(pll0_clkfb), + .CLKIN( dcm0_clkdv ), + .RST(1'b0) + ); + + BUFG BUFG_0( + .I(pll0_clkout0), + .O(PLL_CLK) + ); + + end else begin // PLL_FREQ + + assign PLL_CLK = 1'b0; + + end +*/ + // ***************************************************** + +/* + DCM_CLKGEN #( + .CLKFXDV_DIVIDE(2), // CLKFXDV divide value (2, 4, 8, 16, 32) + .CLKFX_DIVIDE( CLK2_DIVIDE ), // Divide value - D - (1-256) + .CLKFX_MD_MAX(0.0), // Specify maximum M/D ratio for timing anlysis + .CLKFX_MULTIPLY( CLK2_MULTIPLY ), // Multiply value - M - (2-256) + .CLKIN_PERIOD(), // Input clock period specified in nS + .SPREAD_SPECTRUM("NONE"), // Spread Spectrum mode "NONE", "CENTER_LOW_SPREAD", "CENTER_HIGH_SPREAD", + // "VIDEO_LINK_M0", "VIDEO_LINK_M1" or "VIDEO_LINK_M2" + .STARTUP_WAIT("FALSE") // Delay config DONE until DCM_CLKGEN LOCKED (TRUE/FALSE) + ) DCM_CLKGEN_0 ( + .CLKFX( CLK2 ), // 1-bit output: Generated clock output + .CLKFX180(),// dcm1_clkfx180 ), // 1-bit output: Generated clock output 180 degree out of phase from CLKFX. + .CLKFXDV(),// dcm1_clkfxdv ), // 1-bit output: Divided clock output + .LOCKED(), // 1-bit output: Locked output + .PROGDONE(), // 1-bit output: Active high output to indicate the successful re-programming + .STATUS(), // 2-bit output: DCM_CLKGEN status + .CLKIN( dcm0_clk90 ), // 1-bit input: Input clock + .FREEZEDCM(1'b0), // 1-bit input: Prevents frequency adjustments to input clock + .PROGCLK(1'b0), // 1-bit input: Clock input for M/D reconfiguration + .PROGDATA(1'b0), // 1-bit input: Serial data input for M/D reconfiguration + .PROGEN(1'b0), // 1-bit input: Active high program enable + .RST(1'b0) // 1-bit input: Reset input pin + ); +*/ +endmodule diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic/cmt_prog.v b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/cmt_prog.v new file mode 100644 index 00000000000..e16adceaf21 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/cmt_prog.v @@ -0,0 +1,129 @@ +`timescale 1ns / 1ps + +// +// * Programmable clock for internal parts of application +// * Wide range of possible frequencies 135..355 MHz +// * Programmable with step ~0.5-1 Mhz until ~300 Mhz +// * Everything calculated for FREQ_IN=48 +// +module cmt_prog #( + parameter FREQ_IN = 48, + parameter F = 225, // 1. Set startup frequency + // 2. Adjust timing constraint in UCF file! + parameter M = + F >=275 ? 38 : F >=270 ? 32 : F >=265 ? 34 : F >=260 ? 35 : + F >=255 ? 21 : F >=250 ? 37 : F >=245 ? 25 : F >=240 ? 30 : + F >=235 ? 34 : F >=230 ? 31 : F >=225 ? 20 : F >=220 ? 21 : + F >=215 ? 29 : F >=210 ? 38 : F >=205 ? 33 : F >=200 ? 27 : + F >=195 ? 25 : F >=190 ? 35 : F >=185 ? 31 : F >=180 ? 29 : + F >=175 ? 38 : F >=170 ? 33 : F >=165 ? 38 : F >=160 ? 30 : + F >=155 ? 25 : F >=150 ? 39 : F >=145 ? 31 : F >=140 ? 35 : + 36, // default:135 MHz + parameter D = + F >=275 ? 42 : F >=270 ? 36 : F >=265 ? 39 : F >=260 ? 41 : + F >=255 ? 25 : F >=250 ? 45 : F >=245 ? 31 : F >=240 ? 38 : + F >=235 ? 44 : F >=230 ? 41 : F >=225 ? 27 : F >=220 ? 29 : + F >=215 ? 41 : F >=210 ? 55 : F >=205 ? 49 : F >=200 ? 41 : + F >=195 ? 39 : F >=190 ? 56 : F >=185 ? 51 : F >=180 ? 49 : + F >=175 ? 66 : F >=170 ? 59 : F >=165 ? 70 : F >=160 ? 57 : + F >=155 ? 49 : F >=150 ? 79 : F >=145 ? 65 : F >=140 ? 76 : + 81, // default:135 MHz + parameter PLL_CLKIN_PERIOD = 1000.0 / ((FREQ_IN+0.0) * (M+0.0) / (D+0.0)) + )( + input I, + input progen, progdata, progclk, + input pll_reset, + input CE, + output progdone_inv, + output O + ); + + localparam DCM_CLKIN_PERIOD = 1000.0 / (FREQ_IN+0.0); + + wire [2:1] dcm_status; + + DCM_CLKGEN #( + .CLKFXDV_DIVIDE(2), // CLKFXDV divide value (2, 4, 8, 16, 32) + .CLKFX_DIVIDE( D ), // Divide value - D - (1-256) + .CLKFX_MD_MAX(0.0), // Specify maximum M/D ratio for timing anlysis + .CLKFX_MULTIPLY( M ), // Multiply value - M - (2-256) + .CLKIN_PERIOD(DCM_CLKIN_PERIOD), // Input clock period specified in nS + .SPREAD_SPECTRUM("NONE"), // Spread Spectrum mode "NONE", "CENTER_LOW_SPREAD", "CENTER_HIGH_SPREAD", + // "VIDEO_LINK_M0", "VIDEO_LINK_M1" or "VIDEO_LINK_M2" + .STARTUP_WAIT("FALSE") // Delay config DONE until DCM_CLKGEN LOCKED (TRUE/FALSE) + ) DCM_CLKGEN_0 ( + .CLKFX( dcm0_clkfx ), // 1-bit output: Generated clock output + .CLKFX180(), // 1-bit output: Generated clock output 180 degree out of phase from CLKFX. + .CLKFXDV(), // 1-bit output: Divided clock output + .LOCKED( dcm_locked ), // 1-bit output: Locked output + .PROGDONE( progdone ), // 1-bit output: Active high output to indicate the successful re-programming + .STATUS( dcm_status ), // 2-bit output: DCM_CLKGEN status + .CLKIN( I ), // 1-bit input: Input clock + .FREEZEDCM(1'b0), // 1-bit input: Prevents frequency adjustments to input clock + .PROGCLK( progclk ), // 1-bit input: Clock input for M/D reconfiguration + .PROGDATA( progdata ), // 1-bit input: Serial data input for M/D reconfiguration + .PROGEN( progen ), // 1-bit input: Active high program enable + .RST(~dcm_locked & dcm_status[2]) // 1-bit input: Reset input pin + ); + + reg unprog = 1; // unprogrammed (after reset) + always @(posedge progclk) + if (progen) + unprog <= 0; + assign progdone_inv = ~(progdone | unprog); + + + // After clock is generated with CLKGEN + // and arrives into PLL the frequency is multiplied. + // PLL allows input frequency no less than 19 MHz, + // after multiplied internally it should be in range 400 - 1,080 MHz + // + // Fixed M=19, D=3 allows input to PLL 21..56 MHz, produces 133..355 MHz. + localparam PLL_MULTIPLY = 19; + localparam PLL_DIVIDE = 3; + + + // *********** Some black magic to avoid the error **************** + // + // Mapping design into LUTs... + // ERROR:LIT:664 - PLL_ADV symbol "clocks/cmt2/PLL_0/PLL_ADV" (output + // signal=clocks/cmt2/PLL_0/CLKOUT3) has pin CLKOUT2 driving a BUFPLL. Only + // CLKOUT0 and CLKOUT1 pins can drive a BUFPLL. Please modify your design to + // avoid this unroutable situation. + // Errors found during logical drc. + (* BUFFER_TYPE="NONE" *) wire [4:0] dummy; + (* KEEP="true" *) wire dummy1 = ^dummy; + + PLL_BASE #( + .BANDWIDTH("OPTIMIZED"), + .CLKFBOUT_MULT( PLL_MULTIPLY ), + .CLKOUT0_DIVIDE( PLL_DIVIDE ), + .CLKOUT0_DUTY_CYCLE(0.5), + .CLKIN_PERIOD( PLL_CLKIN_PERIOD ), + .CLK_FEEDBACK("CLKFBOUT"), + .COMPENSATION("DCM2PLL"), + .DIVCLK_DIVIDE(1), + .REF_JITTER(0.10), + .RESET_ON_LOSS_OF_LOCK("FALSE") + ) PLL_0 ( + .CLKFBOUT( pll0_clkfb ), + .CLKOUT0( pll0_clkout0 ), + .CLKOUT1(dummy[0]), + .CLKOUT2(dummy[1]), + .CLKOUT3(dummy[2]), + .CLKOUT4(dummy[3]), + .CLKOUT5(dummy[4]), + .LOCKED( pll_locked ), + .CLKFBIN( pll0_clkfb ), + .CLKIN( dcm0_clkfx ), + .RST(pll_reset | ~dcm_locked) + ); + + BUFGCE BUFGCE_inst ( + .O(O), // 1-bit output: Clock buffer output + .CE(pll_locked & CE), // 1-bit input: Clock buffer select + .I(pll0_clkout0) // 1-bit input: Clock buffer input (S=0) + ); + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic/hs_io_v2.v b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/hs_io_v2.v new file mode 100644 index 00000000000..f4d4f9314be --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/hs_io_v2.v @@ -0,0 +1,332 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +//***************************************************************************** +// +// High-Speed communtcation to USB device controller's Slave FIFO +// +// For Slave FIFO's signaling and timing diagram, see CY7C68013-56PVC-Datasheet +// +// Version 1 comment: +// +// It is implemented on a state machine with outputs dependent on both input +// and internal state. That's slow and is unable to operate at 48 MHz IFCLK. +// +// Version 2 improvements: +// +// 1. Removed asynchronous circuitry. That allows to operate at 48 MHz, +// removes synchronization to CPU issues. +// 2. I/O registers placed most close to pins - into ILOGIC/OLOGIC components. +// That removes the nesessity to manually allocate areas in UCF file. +// IFCLK appears to arrive too late, added some phase backshift. +// 3. One cycle delay when switching control outputs into Z-state on CS deassertion +// so controls for Slave FIFO (active low) always in a defined state. +// +//***************************************************************************** + +module hs_io_v2 #( + parameter USB_ENDPOINT_IN = 2, // from the point of view from the host + parameter USB_ENDPOINT_OUT = 6 + )( + input IFCLK, + // Low CS puts all outputs into Z-state, + // exactly as examples/intraffic is doing + input CS, + input out_z_wait1, + + // enable read/write + // Deasserted EN doesn't perform read/write, + // keeps signals for Slave FIFO in proper state. + input EN, + + // Attention: attempt to send data to FPGA not aligned to + // 2-byte word would result in a junk in upper byte + inout [15:0] FIFO_DATA, + output FIFOADR0, + output FIFOADR1, + // Following signals are active low. + output SLOE, // Slave output enable + output SLRD, + output SLWR, + output PKTEND, + // FLAGA/B/C are fixed (independent from FIFOADR) + input FLAGA, // PROG_FULL + input FLAGB, // FULL + input FLAGC, // EMPTY + + // write into some internal FIFO + output [15:0] dout, + output wr_en, + input almost_full, + + // read from some internal FIFO + input [15:0] din, + output rd_en, + input empty, + + // status information + output [7:0] io_timeout, // in ~1us intervals @30MHz IFCLK + output reg io_fsm_error = 0, // CS or EN deasserted while active I/O + output reg sfifo_not_empty = 0, + output reg io_err_write = 0 + ); + + reg rw_direction = 0; // 1: FPGA writes + + always @(posedge IFCLK) + if (CS & EN) + sfifo_not_empty <= FLAGC_R; + + // Timeout + localparam TIMEOUT_MSB = 12; + reg [TIMEOUT_MSB:0] timeout = {TIMEOUT_MSB+1{1'b1}}; + assign io_timeout = timeout[TIMEOUT_MSB : TIMEOUT_MSB-7]; + + + // FIFOADR (Address for USB endpoint buffer) + // - at 48 MHz, sometimes takes 2 cycles to propagate + localparam USB_EP_OUT_B = (USB_ENDPOINT_OUT-2) >> 1; + localparam USB_EP_IN_B = (USB_ENDPOINT_IN-2) >> 1; + assign {FIFOADR1, FIFOADR0} = + out_z_wait1 ? 2'bz : + rw_direction ? USB_EP_IN_B[1:0] : + USB_EP_OUT_B[1:0]; + + + // ************************* + // + // High-Speed Input + // + // ************************* + + // FPGA's Input register (data-out from hs_io) + (* IOB="true" *) reg [15:0] input_r; + assign dout = input_r; + always @(posedge IFCLK) + input_r <= FIFO_DATA; + + (* IOB="true" *) reg FLAGC_R = 0; + always @(posedge IFCLK) + FLAGC_R <= FLAGC; + + (* IOB="true" *) reg SLOE_R = 1; + assign SLOE = out_z_wait1 ? 1'bz : SLOE_R; + + (* IOB="true" *) reg SLRD_R = 1; + assign SLRD = out_z_wait1 ? 1'bz : SLRD_R; + + // input_r_ok indicates there was read last cycle (SLRD was active) + reg input_r_ok = 0; + always @(posedge IFCLK) + input_r_ok <= ~SLRD_R; + assign wr_en = input_r_ok & FLAGC_R; + + + // ************************* + // + // High-Speed Output + // + // ************************* + + // FLAGA(active low) is configured to be active when 0 bytes in buffer + (* IOB="true" *) reg FLAGA_R = 1; + always @(posedge IFCLK) + FLAGA_R <= FLAGA; + + (* IOB="true" *) reg FLAGB_R = 0; + always @(posedge IFCLK) + FLAGB_R <= FLAGB; + + (* IOB="true" *) reg SLWR_R = 1; + assign SLWR = out_z_wait1 ? 1'bz : SLWR_R; + + // FPGA's output register. + // valid data must be present on output 9.2 ns before write + (* IOB="true" *) reg [15:0] output_r = 0; + // Tristate-enable FF inside OLOGIC component + (* IOB="true" *) reg out_z = 1; + assign FIFO_DATA = out_z ? 16'bz : output_r; + always @(posedge IFCLK) + out_z <= ~(CS & EN & rw_direction); + + // Flag indicates valid data in output register. + // Could be better if output FIFO had almost_empty flag. + reg output_r_valid = 0; + assign rd_en = (~SLWR_R | io_state == IO_STATE_WR_SETUP1 & ~output_r_valid); + + (* IOB="true" *) reg PKTEND_R = 1; + assign PKTEND = out_z_wait1 ? 1'bz : PKTEND_R; + + + // It works as follows: + // 1. reads as long as possible; + // 2. writes up to USB_PKT_SIZE. + localparam USB_PKT_SIZE = 256; // in 16-bit words + reg [8:0] word_counter = 0; + + // Finally deal with PKTEND issue. + // - when output FIFO is in mode_limit, there's no problem: + // FIFO already has all the data, so it outputs every cycle + // until EMPTY. + // - when mode_limit is off, the data might arrive from FPGA's output FIFO + // in small pieces such as 2-8 bytes or so, with intervals like 2-4 cycles. + // That might result in partial reads by the host and overall performance degradation. + // + localparam PKTEND_WR_TIMEOUT = 5; + reg [2:0] wr_timeout = 0; + + + //localparam IO_STATE_RESET = 1; + localparam IO_STATE_READ_SETUP0 = 2; + localparam IO_STATE_READ_SETUP1 = 3; + localparam IO_STATE_READ_SETUP2 = 4; + localparam IO_STATE_READ = 6; + localparam IO_STATE_WR_SETUP0 = 7; + localparam IO_STATE_WR_SETUP1 = 8; + localparam IO_STATE_WR_SETUP2 = 9; + localparam IO_STATE_WR = 11; + localparam IO_STATE_DISABLED = 13; + localparam IO_STATE_WR_WAIT = 14; + localparam IO_STATE_PKT_COMMIT = 15; + + (* FSM_EXTRACT="YES" *) + reg [4:0] io_state = IO_STATE_DISABLED; + + always @(posedge IFCLK) + begin + if ( ! (&timeout[TIMEOUT_MSB : TIMEOUT_MSB-7]) + & io_state != IO_STATE_READ & io_state != IO_STATE_WR) + timeout <= timeout + 1'b1; + + // Disabled: EN is off, outputs in proper state + if (io_state == IO_STATE_DISABLED) begin + if (CS & EN) + io_state <= IO_STATE_READ_SETUP0; + end + + else if (~CS | ~EN) begin + // Expecting EZ-USB to disable hs_io before selecting other fpga + if (!io_timeout | (~CS & EN)) + io_fsm_error <= 1; + + SLOE_R <= 1; + SLRD_R <= 1; + SLWR_R <= 1; + output_r_valid <= 0; + PKTEND_R <= 1; + rw_direction <= 0; + io_state <= IO_STATE_DISABLED; + end + + else // CS & EN + (* FULL_CASE, PARALLEL_CASE *) case (io_state) + + IO_STATE_READ_SETUP0: begin + if (almost_full | ~FLAGC_R) + io_state <= IO_STATE_WR_SETUP0; + else begin + io_state <= IO_STATE_READ_SETUP1; + end + end + + IO_STATE_READ_SETUP1: begin + io_state <= IO_STATE_READ_SETUP2; + end + + IO_STATE_READ_SETUP2: begin + // must assert 18.7 ns before read + SLOE_R <= 0; + SLRD_R <= 0; + io_state <= IO_STATE_READ; + end + + IO_STATE_READ: begin + if (!almost_full & FLAGC_R) begin + timeout <= 0; + end + else begin + SLOE_R <= 1; + SLRD_R <= 1; + io_state <= IO_STATE_WR_SETUP0; + end + end + + IO_STATE_WR_SETUP0: begin + if ((empty & ~output_r_valid) | FLAGA_R) + io_state <= IO_STATE_READ_SETUP0; + // go on transmit + else begin + rw_direction <= 1; + word_counter <= 0; + io_state <= IO_STATE_WR_SETUP1; + end + end + + IO_STATE_WR_SETUP1: begin + if (~output_r_valid) begin + output_r <= din; + output_r_valid <= 1; + end + io_state <= IO_STATE_WR_SETUP2; + end + + IO_STATE_WR_SETUP2: begin + // must assert 18.1 ns before write + SLWR_R <= 0; + io_state <= IO_STATE_WR; + end + + IO_STATE_WR: begin + output_r <= din; + timeout <= 0; + wr_timeout <= 0; + word_counter <= word_counter + 1'b1; + if (empty) + output_r_valid <= 0; + + if (word_counter == USB_PKT_SIZE - 1) begin + SLWR_R <= 1; + rw_direction <= 0; + io_state <= IO_STATE_READ_SETUP0; + end + else if (empty) begin + SLWR_R <= 1; + io_state <= IO_STATE_WR_WAIT; + end + + if (~FLAGB_R) + io_err_write <= 1; + end + + IO_STATE_WR_WAIT: begin + wr_timeout <= wr_timeout + 1'b1; + + if (wr_timeout == PKTEND_WR_TIMEOUT) begin + PKTEND_R <= 0; + io_state <= IO_STATE_PKT_COMMIT; + end + else if (!empty) + io_state <= IO_STATE_WR_SETUP1; + end + + IO_STATE_PKT_COMMIT: begin + PKTEND_R <= 1; + rw_direction <= 0; + io_state <= IO_STATE_READ_SETUP0; + end + + endcase + // CS & EN + + end // IFCLK + + +endmodule + diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic/input_fifo.v b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/input_fifo.v new file mode 100644 index 00000000000..5e45cd5221d --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/input_fifo.v @@ -0,0 +1,75 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + + +module input_fifo( + input wr_clk, + input [15:0] din, + input wr_en, + output full, + output almost_full, + output prog_full, + + input rd_clk, + input rd_en, + output [7:0] dout, + //output almost_empty, + output empty + ); + + // fifo_16_sync_8kb + // FIFO Generator v9.3 + // * Common Clock - Block RAM + // * 1st word Fall-Through + // * write: width 16, depth 4096 (8 Kbytes) + // * Almost Full Flag + // * Single Programmable Full Threshold Constant: + // must assert when it has 7.5 kb free or more + // * Reset: off + wire [15:0] din_stage2; + + fifo_16_sync_8k fifo_input0( + .clk(wr_clk), + .din(din), + .wr_en(wr_en), + .full(full), + .almost_full(almost_full), + .prog_full(prog_full), + + //.rd_clk(wr_clk), + .dout(din_stage2), + .rd_en(tx_stage2), + .empty(empty_stage2) + ); + + assign tx_stage2 = ~empty_stage2 & ~full_stage2; + + + // FIFO Generator v9.3 + // * Independent Clocks - Block RAM + // * 1st word Fall-Through + // * Write width: 16 depth: 1024, Read width: 8 + // * Almost Empty Flag + // * Reset: off + //fifo_16in_8out_2k fifo_input1( + fifo_16in_8out_4k fifo_input1( + .wr_clk(wr_clk), + .din(din_stage2), + .wr_en(tx_stage2), + .full(full_stage2), + + .rd_clk(rd_clk), + .dout(dout), + .rd_en(rd_en), + //.almost_empty(almost_empty), + .empty(empty) + ); + +endmodule diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic/output_fifo.v b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/output_fifo.v new file mode 100644 index 00000000000..8aa24f0311e --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/output_fifo.v @@ -0,0 +1,82 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +//********************************************************** +// +// Output FIFO (high-speed output). +// +//********************************************************** + +module output_fifo ( + input wr_clk, + input [15:0] din, + input wr_en, + output full, + + input rd_clk, + output [15:0] dout, + input rd_en, + output empty, + input mode_limit, + input reg_output_limit, + output [15:0] output_limit, + output output_limit_not_done + ); + + // + // output_limit_fifo (one is able to limit output) is unable for asynchronous operation. + // Because of that, a small asynchronous FIFO is prepend. + // + + // fifo_16x64: + // IP Coregen -> FIFO Generator + // Independent Clocks - Distributed RAM + // First Word Fall Through + // width 16, depth 64 + // Reset: off + // + wire [15:0] data_stage2; + fifo_16x64 fifo_output1( + .wr_clk(wr_clk), + .din(din), + .wr_en(wr_en), + .full(full), + + .rd_clk(rd_clk), + .dout(data_stage2), + .rd_en(rd_en_stage2), + .empty(empty_stage2) + ); + assign rd_en_stage2 = ~empty_stage2 & ~full_stage2; + assign wr_en_stage2 = rd_en_stage2; + + + output_limit_fifo #( + .ADDR_MSB(`MSB(`OUTPUT_FIFO_SIZE) - 2) + //.ADDR_MSB(13) // 32 Kbytes + ) fifo_output0( + .rst(1'b0), + .CLK(rd_clk), + + .din(data_stage2), + .wr_en(wr_en_stage2), + .full(full_stage2), + + .dout(dout), + .rd_en(rd_en), + .empty(empty), + + .mode_limit(mode_limit), + .reg_output_limit(reg_output_limit), + .output_limit(output_limit), + .output_limit_not_done(output_limit_not_done) + ); + +endmodule diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic/output_limit_fifo.v b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/output_limit_fifo.v new file mode 100644 index 00000000000..2123ae33fb0 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/output_limit_fifo.v @@ -0,0 +1,132 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + * + * Output Limit FIFO (high-speed output). + * + * Features: + * + * - Configurable width and depth + * - 1st word Fall-Through + * - Does not output on its own (reports EMPTY) when mode_limit == 1. + * + * - When reg_output_limit asserted: + * -- Reports amount ready for output (output_limit) in WIDTH-bit words + * -- Starts output of that amount, asserts output_limit_not_done + * -- Deasserts output_limit_not_done when finished + * + * - Does not require extra components from IP Coregen + * - The design is unable for asynchronous operation + * - Size equals to RAM size minus 1 word. + * + */ + +module output_limit_fifo #( + // ADDR_MSB==11 : 8 Kbytes + parameter ADDR_MSB = 11, + parameter WIDTH = 16 + )( + input rst, + input CLK, + + input [WIDTH-1:0] din, + input wr_en, + output full, + + output [WIDTH-1:0] dout, + input rd_en, + output empty, + + input mode_limit, // turn on output limit + input reg_output_limit, + output [15:0] output_limit, + output reg output_limit_not_done + ); + + reg [ADDR_MSB:0] addra = 0; + reg [ADDR_MSB:0] output_limit_addr = 0; + reg [ADDR_MSB:0] output_limit_r = 0; + reg [ADDR_MSB:0] addrb = 0; + + // 1st Word Fall-Through + reg wft = 0; + assign empty = rst || ~wft; + + assign output_limit = { {15-ADDR_MSB{1'b0}}, output_limit_r }; + + assign full = rst || (addra + 1'b1 == addrb); + wire ena = wr_en && !full; + + always @(posedge CLK) begin + if (rst) begin + addra <= 0; + output_limit_addr <= 0; + output_limit_r <= 0; + end + else begin + if (ena) begin + addra <= addra + 1'b1; + end + + if (!mode_limit || reg_output_limit) begin + output_limit_addr <= addra; + output_limit_r <= addra - output_limit_addr; + end + end // ~rst + end + + wire ram_empty_or_limit = (output_limit_addr == addrb); + + wire enb = (!ram_empty_or_limit && (empty || rd_en)); + reg enb_r = 0; + + wire [15:0] ram_out; + reg [15:0] dout_r; + assign dout = dout_r; + + always @(posedge CLK) begin + if (rst) begin + addrb <= 0; + wft <= 0; + enb_r <= 0; + end + else begin + if (empty || rd_en) + enb_r <= enb; + + if (enb) begin + addrb <= addrb + 1'b1; + end + + if (enb_r) begin + if (!wft || rd_en) begin + wft <= 1; + dout_r <= ram_out; + end + end // enb_r + else if (rd_en) + wft <= 0; + end // ~rst + + output_limit_not_done <= ~ram_empty_or_limit; + end + + + (* RAM_STYLE = "BLOCK" *) + reg [WIDTH-1:0] ram [2**(ADDR_MSB+1)-1:0]; + reg [WIDTH-1:0] ram_out_r; + assign ram_out = ram_out_r; + + always @(posedge CLK) begin + if (ena) + ram[addra] <= din; + if (enb) + ram_out_r <= ram[addrb]; + end + +endmodule diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic/startup_spartan6.v b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/startup_spartan6.v new file mode 100644 index 00000000000..b840de1f9bd --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/startup_spartan6.v @@ -0,0 +1,26 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +module startup_spartan6 ( + input rst + ); + + STARTUP_SPARTAN6 STARTUP_SPARTAN6_inst ( + .CFGCLK(),//CFGCLK), // 1-bit output: Configuration logic main clock output. + .CFGMCLK(),//CFGMCLK), // 1-bit output: Configuration internal oscillator clock output. + .EOS(),//EOS), // 1-bit output: Active high output signal indicates the End Of Configuration. + .CLK(1'b0), // 1-bit input: User startup-clock input + .GSR(rst), // 1-bit input: Global Set/Reset input (GSR cannot be used for the port name) + .GTS(1'b0), // 1-bit input: Global 3-state input (GTS cannot be used for the port name) + .KEYCLEARB(1'b0) // 1-bit input: Clear AES Decrypter Key input from Battery-Backed RAM (BBRAM) + ); + + +endmodule diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic/vcr.v b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/vcr.v new file mode 100644 index 00000000000..97e4fbbd0a1 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/vcr.v @@ -0,0 +1,194 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + */ + +//*********************************************************** +// +// Vendor Command / Vendor Request feature +// Commands or requests are sent to EZ-USB via USB EP0 +// and handled by EZ-USB processor. +// +//*********************************************************** + +//*********************************************************** +// +// New feature: cmd 0x00 disables the interface, allows +// usage of raw I/O port PC[7:0]. A pulse on clk_vcr_addr returns from raw mode. +// +// There's up to 256 VCR addresses (subsystems) for read or(and) write. +// Sequential multi-byte read or/and write is possible. +// For some actions, there's no need to read or write, just select address. +// +// EZ-USB uses 11 lines to FPGA. Typical exchange is as follows: +// 1. set direction towards FPGA (vcr_dir=0). Assert CPU I/O controls accordingly. +// 2. assert address on [7:0] vcr_inout. +// 3. assert vcr_set_addr, then deassert vcr_set_addr. This selects address. +// Optionally write: +// 4. setup data byte on [7:0] vcr_inout. +// 5. assert vcr_set_data, then deassert vcr_set_data. This performs write of the byte from step 4. +// 6. go to step 4 if nesessary. +// Optionally read: +// 7. set direction for input from FPGA (vcr_dir=1). Assert CPU I/O controls accordingly. +// 8. read data byte from [7:0] vcr_inout. +// 9. assert vcr_set_data, then deassert vcr_set_data. This let next data byte appear on [7:0] vcr_inout. +// 10. go to step 7 if necessary. +// +//*********************************************************** + +module vcr( + input CS, + + input [7:0] vcr_in, // Vendor Command/Request (VCR) address/data + output [7:0] vcr_out, + input clk_vcr_addr, // on posedge, set (internal to FPGA) VCR IO address + input clk_vcr_data, // on posedge, perform write or synchronous read + + input IFCLK, + + input [2:0] FPGA_ID, + input [7:0] hs_io_timeout, + input hs_input_prog_full, + //input output_err_overflow, + input sfifo_not_empty, + input io_fsm_error, io_err_write, + input [15:0] output_limit, + input output_limit_not_done, + input progdone_inv, + input [7:0] app_status, + input [7:0] pkt_comm_status, debug2, debug3, + //input [255:0] debug, + + // + // Defaults for various controls; see also VCR_RESET + // + output reg inout_raw = 0, // use PC[7:0] in raw mode + output reg hs_en = 0, // enable high-speed i/o + output reg output_mode_limit = 1, // output_limit + output reg reg_output_limit = 0, // with respect to IFCLK + output reg [7:0] app_mode = 0 // default mode: 0 + ); + + wire ENABLE = CS; + + // VCR address definitions + localparam VCR_SET_HS_IO_ENABLE = 8'h80; + localparam VCR_SET_HS_IO_DISABLE = 8'h81; + localparam VCR_SET_APP_MODE = 8'h82; + localparam VCR_GET_IO_STATUS = 8'h84; + // registers output limit (in output_limit_fifo words); starts + // output of that many via high-speed interface + localparam VCR_REG_OUTPUT_LIMIT = 8'h85; + localparam VCR_SET_OUTPUT_LIMIT_ENABLE = 8'h86; + localparam VCR_SET_OUTPUT_LIMIT_DISABLE = 8'h87; + localparam VCR_ECHO_REQUEST = 8'h88; + localparam VCR_GET_FPGA_ID = 8'h8A; + localparam VCR_RESET = 8'h8B; + localparam VCR_GET_ID_DATA = 8'hA1; + //localparam VCR_ = 8'h; + + async2sync sync_addr_inst( .async(clk_vcr_addr), .clk(IFCLK), .clk_en(clk_addr_en) ); + async2sync sync_data_inst( .async(clk_vcr_data), .clk(IFCLK), .clk_en(clk_data_en) ); + + reg [7:0] vcr_addr; + reg [5:0] vcr_state = 0; + + ///////////////////////////////////////////////////////// + // + // declarations for Command / Request specific stuff + // + ///////////////////////////////////////////////////////// + localparam [15:0] BITSTREAM_TYPE = `BITSTREAM_TYPE; + + reg [7:0] echo_content [3:0]; + reg RESET_R = 0; + + // declarations for Command / Request specific stuff end + + + ///////////////////////////////////////////////////////// + // + // Input + // + ///////////////////////////////////////////////////////// + + always @(posedge IFCLK) begin + if (ENABLE && clk_addr_en) begin + vcr_addr <= vcr_in; + vcr_state <= 0; + + if (inout_raw) + inout_raw <= 0; + else if (vcr_in == 8'h00) + inout_raw <= 1; + else if (vcr_in == VCR_SET_HS_IO_ENABLE) + hs_en <= 1; + else if (vcr_in == VCR_SET_HS_IO_DISABLE) + hs_en <= 0; + else if (vcr_in == VCR_SET_OUTPUT_LIMIT_ENABLE) + output_mode_limit <= 1; + else if (vcr_in == VCR_SET_OUTPUT_LIMIT_DISABLE) + output_mode_limit <= 0; + else if (vcr_in == VCR_RESET) + RESET_R <= 1; + else if (vcr_in == VCR_REG_OUTPUT_LIMIT) + reg_output_limit <= 1; + + end // clk_addr_en + + else if (ENABLE && clk_data_en) begin + vcr_state <= vcr_state + 1'b1; + + if (vcr_addr == VCR_ECHO_REQUEST) + echo_content[ vcr_state[1:0] ] <= vcr_in; + else if (vcr_addr == VCR_SET_APP_MODE) + app_mode <= vcr_in; + end // clk_data_en + + else begin // !ENABLE + if (reg_output_limit) + reg_output_limit <= 0; + + end + end + + + + ///////////////////////////////////////////////////////// + // + // Output + // + ///////////////////////////////////////////////////////// + + assign vcr_out = + (vcr_addr == VCR_REG_OUTPUT_LIMIT && vcr_state == 0) ? output_limit[7:0] : + (vcr_addr == VCR_REG_OUTPUT_LIMIT && vcr_state == 1) ? output_limit[15:8] : + + (vcr_addr == VCR_GET_IO_STATUS && vcr_state == 0) ? { + progdone_inv, 1'b0, io_err_write, io_fsm_error, + sfifo_not_empty, 1'b0, output_limit_not_done, hs_input_prog_full + } : + (vcr_addr == VCR_GET_IO_STATUS && vcr_state == 1) ? hs_io_timeout : + (vcr_addr == VCR_GET_IO_STATUS && vcr_state == 2) ? app_status : + (vcr_addr == VCR_GET_IO_STATUS && vcr_state == 3) ? pkt_comm_status : + (vcr_addr == VCR_GET_IO_STATUS && vcr_state == 4) ? debug2 : + (vcr_addr == VCR_GET_IO_STATUS && vcr_state == 5) ? debug3 : + + (vcr_addr == VCR_ECHO_REQUEST) ? echo_content[ vcr_state[1:0] ] ^ 8'h5A : + + (vcr_addr == VCR_GET_ID_DATA && vcr_state == 0) ? BITSTREAM_TYPE[7:0] : + (vcr_addr == VCR_GET_ID_DATA && vcr_state == 1) ? BITSTREAM_TYPE[15:8] : + + (vcr_addr == VCR_GET_FPGA_ID) ? { {5{1'b0}}, FPGA_ID } : + //(vcr_addr == && vcr_state == ) ? : + 8'b0; + + + startup_spartan6 startup_spartan6(.rst(RESET_R)); + +endmodule diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic/ztex_inouttraffic.ucf b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/ztex_inouttraffic.ucf new file mode 100644 index 00000000000..9a72609dd57 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/ztex_inouttraffic.ucf @@ -0,0 +1,65 @@ +# +# This software is Copyright (c) 2016 Denis Burykin +# [denis_burykin yahoo com], [denis-burykin2014 yandex ru] +# and it is hereby released to the general public under the following terms: +# Redistribution and use in source and binary forms, with or without +# modification, are permitted. +# +# TIMESPEC's moved to clocks.ucf +NET "IFCLK_IN" LOC = "K20" |IOSTANDARD = LVCMOS33 ; +NET "FXCLK_IN" LOC = "L22" | IOSTANDARD = LVCMOS33 ; + +NET "CS_IN" LOC = "AB11" |IOSTANDARD = LVCMOS33 ; + +NET "PA0" LOC = "AA22" |IOSTANDARD = LVCMOS33 ; +NET "PA1" LOC = "W17" |IOSTANDARD = LVCMOS33 ; +NET "PA7" LOC = "AB17" |IOSTANDARD = LVCMOS33 ; + +NET "SLOE" LOC = "U15" |IOSTANDARD = LVCMOS33 |DRIVE = 12 |SLEW = FAST ; # PA2 +NET "SLRD" LOC = "N22" |IOSTANDARD = LVCMOS33 |DRIVE = 12 |SLEW = FAST ; +NET "SLWR" LOC = "M22" |IOSTANDARD = LVCMOS33 |DRIVE = 12 |SLEW = FAST ; +NET "PKTEND" LOC = "AB5" |IOSTANDARD = LVCMOS33 |DRIVE = 12 |SLEW = FAST ; # PA6 +NET "FIFOADR0" LOC = "AB21" |IOSTANDARD = LVCMOS33 |DRIVE = 12 ; # PA4 +NET "FIFOADR1" LOC = "Y18" |IOSTANDARD = LVCMOS33 |DRIVE = 12 ; # PA5 +NET "FLAGA" LOC = "F20" |IOSTANDARD = LVCMOS33 ; +NET "FLAGB" LOC = "F19" |IOSTANDARD = LVCMOS33 ; +NET "FLAGC" LOC = "F18" |IOSTANDARD = LVCMOS33 ; + +NET "FIFO_DATA<0>" LOC = "Y17" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<1>" LOC = "V13" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<2>" LOC = "W13" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<3>" LOC = "AA8" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<4>" LOC = "AB8" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<5>" LOC = "W6" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<6>" LOC = "Y6" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<7>" LOC = "Y9" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<8>" LOC = "V21" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<9>" LOC = "V22" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<10>" LOC = "U20" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<11>" LOC = "U22" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<12>" LOC = "R20" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<13>" LOC = "R22" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<14>" LOC = "P18" |IOSTANDARD = LVCMOS33 ; +NET "FIFO_DATA<15>" LOC = "P19" |IOSTANDARD = LVCMOS33 ; + + +NET "PC<0>" LOC="G20" |IOSTANDARD = LVCMOS33 |DRIVE = 12; +NET "PC<1>" LOC="T20" |IOSTANDARD = LVCMOS33 |DRIVE = 12; +NET "PC<2>" LOC="Y5" |IOSTANDARD = LVCMOS33 |DRIVE = 12; +NET "PC<3>" LOC="AB9" |IOSTANDARD = LVCMOS33 |DRIVE = 12; +NET "PC<4>" LOC="G19" |IOSTANDARD = LVCMOS33 |DRIVE = 12; +NET "PC<5>" LOC="H20" |IOSTANDARD = LVCMOS33 |DRIVE = 12; +NET "PC<6>" LOC="H19" |IOSTANDARD = LVCMOS33 |DRIVE = 12; +NET "PC<7>" LOC="H18" |IOSTANDARD = LVCMOS33 |DRIVE = 12; + +NET "INT4" LOC = "C18" |IOSTANDARD = LVCMOS33 |DRIVE = 12; +NET "INT5" LOC = "V17" |IOSTANDARD = LVCMOS33 |DRIVE = 12; +# NET "SCL" LOC = "F22" | IOSTANDARD = LVCMOS33 ; +# NET "SDA" LOC = "E22" | IOSTANDARD = LVCMOS33 ; +NET "FPGA_ID<0>" LOC="T12" |IOSTANDARD = LVCMOS33 ; +NET "FPGA_ID<1>" LOC="R13" |IOSTANDARD = LVCMOS33 ; +NET "FPGA_ID<2>" LOC="T14" |IOSTANDARD = LVCMOS33 ; + +NET "FPGA_ID*" TIG; + + diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic/ztex_inouttraffic.v b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/ztex_inouttraffic.v new file mode 100644 index 00000000000..6feea213ff7 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic/ztex_inouttraffic.v @@ -0,0 +1,219 @@ +`timescale 1ns / 1ps +/* + * This software is Copyright (c) 2016-2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + * Used ISE version: 14.5 + * + * sha256crypt-ztex for John The Ripper password cracker - + * bitstream for ZTEX 1.15y USB-FPGA module (4x Spartan-6 LX150) + * + */ + +module ztex_inouttraffic( + input CS_IN, + input [2:0] FPGA_ID, + + // Both IFCLK_IN and FXCLK_IN are at 48 MHz. + input IFCLK_IN, + input FXCLK_IN, + + // Vendor Command/Request I/O + inout [7:0] PC, // Vendor Command/Request (VCR) address/data + input PA0, + input PA1, + input PA7, + + // High-Speed I/O Interface + inout [15:0] FIFO_DATA, + output FIFOADR0, + output FIFOADR1, + output SLOE, + output SLRD, + output SLWR, + output PKTEND, + input FLAGA, + input FLAGB, // FULL + input FLAGC, // EMPTY + + output INT4, + output INT5 + ); + + genvar i; + + + // PC_RAW is available when VCR interface is off with cmd 0x00 + wire [7:0] PC_RAW = CS & vcr_inout_raw ? PC : 8'b0; + + reg error_r = 0; // Global error. Stop operation until GSR. + + clocks clocks( + // Input clocks go to Clock Management Tile via dedicated routing + .IFCLK_IN(IFCLK_IN), + .FXCLK_IN(FXCLK_IN), + // Up to 4 Programmable clocks + .progen(PC_RAW[5:2]), .progdata(PC_RAW[1]), .progclk(PC_RAW[0]), + .pll_reset(error_r), // Stop application clocks on error + .progdone_inv(progdone_inv), + // Produced clocks + .IFCLK(IFCLK), // for operating I/O pins + .PKT_COMM_CLK(PKT_COMM_CLK), // for I/O packet processing + .core_clk_glbl_en(1'b1),//~cores_idle), + .CORE_CLK(CORE_CLK) // for operating computing units + ); + + chip_select chip_select( + .CS_IN(CS_IN), .CLK(IFCLK), .CS(CS), .out_z_wait1(out_z_wait1) + ); + + wire [255:0] debug; + wire [7:0] debug2, debug3; + + + // ******************************************************** + // + // Input buffer (via High Speed interface) + // + // ******************************************************** + wire [15:0] hs_input_din; + wire [7:0] hs_input_dout; + + input_fifo input_fifo( + .wr_clk(IFCLK), + .din( {hs_input_din[7:0],hs_input_din[15:8]} ), // to Cypress IO + .wr_en(hs_input_wr_en), // to Cypress IO + .full(), // to Cypress IO + .almost_full(hs_input_almost_full), // to Cypress IO + .prog_full(hs_input_prog_full), + + .rd_clk(PKT_COMM_CLK), + .dout(hs_input_dout), + .rd_en(hs_input_rd_en), + .empty(hs_input_empty) + ); + + + // ******************************************************** + // + // Some example application + // 16-bit input, 16-bit output + // + // ******************************************************** + wire [15:0] app_dout; + wire [7:0] app_mode; + wire [7:0] app_status, pkt_comm_status; + + sha256crypt pkt_comm( + .PKT_COMM_CLK(PKT_COMM_CLK), + .CORE_CLK(CORE_CLK), + // High-Speed FPGA input + .din(hs_input_dout), + .rd_en(hs_input_rd_en), + .empty(hs_input_empty), + // High-Speed FPGA output + .dout(app_dout), + .wr_en(app_wr_en), + .full(app_full), + // Application control (via VCR I/O). Set with fpga_set_app_mode() + .app_mode(app_mode), + // Application status. Available at fpga->wr.io_state.app_status + .cores_idle(cores_idle), + .app_status(app_status), .pkt_comm_status(pkt_comm_status), + .debug2(debug2), .debug3(debug3) + ); + + always @(posedge IFCLK) + error_r <= |pkt_comm_status | |app_status; + + + // ******************************************************** + // + // Output buffer (via High-Speed interface) + // + // ******************************************************** + wire [15:0] output_limit; + wire [15:0] output_dout; // output via High-Speed Interface + + output_fifo output_fifo( + .wr_clk(PKT_COMM_CLK), + .din(app_dout), + .wr_en(app_wr_en), + .full(app_full), + + .rd_clk(IFCLK), + .dout(output_dout), // to Cypress IO, + .rd_en(output_rd_en), // to Cypress IO, + .empty(output_empty), // to Cypress IO + .mode_limit(output_mode_limit), + .reg_output_limit(reg_output_limit), + .output_limit(output_limit), + .output_limit_not_done(output_limit_not_done) + ); + + + // ******************************************************** + // + // High-Speed I/O Interface (Slave FIFO) + // + // ******************************************************** + wire [7:0] hs_io_timeout; + + hs_io_v2 #( + .USB_ENDPOINT_IN(2), + .USB_ENDPOINT_OUT(6) + ) hs_io_inst( + .IFCLK(IFCLK), .CS(CS), .out_z_wait1(out_z_wait1), .EN(hs_en), + .FIFO_DATA(FIFO_DATA), .FIFOADR0(FIFOADR0), .FIFOADR1(FIFOADR1), + .SLOE(SLOE), .SLRD(SLRD), .SLWR(SLWR), .PKTEND(PKTEND), + .FLAGA(FLAGA), .FLAGB(FLAGB), .FLAGC(FLAGC), + // data output from Cypress IO, received by FPGA + .dout(hs_input_din), .wr_en(hs_input_wr_en), + .almost_full(hs_input_almost_full), + // to Cypress IO, out of FPGA + .din(output_dout), .rd_en(output_rd_en), .empty(output_empty), + .io_timeout(hs_io_timeout), .sfifo_not_empty(sfifo_not_empty), + .io_fsm_error(io_fsm_error), .io_err_write(io_err_write) + ); + + + // ******************************************************** + // + // Vendor Command/Request (VCR) I/O interface + // + // ******************************************************** + wire [7:0] vcr_out; + assign PC = CS && PA7 ? vcr_out : 8'bz; + + vcr vcr_inst( + .CS(CS), .vcr_in(PC), .vcr_out(vcr_out), + .clk_vcr_addr(PA0), .clk_vcr_data(PA1), + // i/o goes with respect to IFCLK + .IFCLK(IFCLK), + // various inputs to be read by CPU + .FPGA_ID(FPGA_ID), + .hs_io_timeout(hs_io_timeout), .hs_input_prog_full(hs_input_prog_full), + .sfifo_not_empty(sfifo_not_empty), .io_fsm_error(io_fsm_error), .io_err_write(io_err_write), + .output_limit(output_limit), .output_limit_not_done(output_limit_not_done), + .app_status(app_status), + .pkt_comm_status(pkt_comm_status), .debug2(debug2), .debug3(debug3), + //.debug(debug), + .progdone_inv(progdone_inv), // Programmable clock + // various control wires + .inout_raw(vcr_inout_raw), + .hs_en(hs_en), + .output_mode_limit(output_mode_limit), + .reg_output_limit(reg_output_limit), + .app_mode(app_mode) + ); + + + // External interrupts for USB controller - put into defined state + assign INT4 = 1'b0; + assign INT5 = 1'b1; + +endmodule + diff --git a/src/ztex/fpga-sha256crypt/ztex_inouttraffic_summary.html b/src/ztex/fpga-sha256crypt/ztex_inouttraffic_summary.html new file mode 100644 index 00000000000..7efb7f69d31 --- /dev/null +++ b/src/ztex/fpga-sha256crypt/ztex_inouttraffic_summary.html @@ -0,0 +1,557 @@ +Xilinx Design Summary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ztex_inouttraffic Project Status (08/18/2018 - 10:47:51)
    Project File:fpga-sha256crypt.xiseParser Errors: No Errors
    Module Name:ztex_inouttrafficImplementation State:Programming File Generated
    Target Device:xc6slx150-3csg484
    • Errors:
    +No Errors
    Product Version:ISE 14.7
    • Warnings:
    3199 Warnings (3199 new)
    Design Goal:Balanced
    • Routing Results:
    +All Signals Completely Routed
    Design Strategy:sha256crypt
    • Timing Constraints:
    +X +1 Failing Constraint
    Environment: + +System Settings +
    • Final Timing Score:
    1792  (Timing Report)
    + + + + 
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Device Utilization Summary [-]
    Slice Logic UtilizationUsedAvailableUtilizationNote(s)
    Number of Slice Registers72,023184,30439% 
        Number used as Flip Flops66,798   
        Number used as Latches0   
        Number used as Latch-thrus0   
        Number used as AND/OR logics5,225   
    Number of Slice LUTs62,88892,15268% 
        Number used as logic49,33192,15253% 
            Number using O6 output only27,323   
            Number using O5 output only1,154   
            Number using O5 and O620,854   
            Number used as ROM0   
        Number used as Memory4,41521,68020% 
            Number used as Dual Port RAM3,999   
                Number using O6 output only1,238   
                Number using O5 output only53   
                Number using O5 and O62,708   
            Number used as Single Port RAM165   
                Number using O6 output only129   
                Number using O5 output only10   
                Number using O5 and O626   
            Number used as Shift Register251   
                Number using O6 output only126   
                Number using O5 output only0   
                Number using O5 and O6125   
        Number used exclusively as route-thrus9,142   
            Number with same-slice register load9,034   
            Number with same-slice carry load108   
            Number with other load0   
    Number of occupied Slices20,43923,03888% 
    Number of MUXCYs used17,93246,07638% 
    Number of LUT Flip Flop pairs used67,233   
        Number with an unused Flip Flop13,36567,23319% 
        Number with an unused LUT4,34567,2336% 
        Number of fully used LUT-FF pairs49,52367,23373% 
        Number of unique control sets3,080   
        Number of slice register sites lost
            to control set restrictions
    7,824184,3044% 
    Number of bonded IOBs4433813% 
        Number of LOCed IOBs4444100% 
        IOB Flip Flops62   
    Number of RAMB16BWERs92683% 
    Number of RAMB8BWERs32653660% 
    Number of BUFIO2/BUFIO2_2CLKs1323% 
        Number used as BUFIO2s1   
        Number used as BUFIO2_2CLKs0   
    Number of BUFIO2FB/BUFIO2FB_2CLKs1323% 
        Number used as BUFIO2FBs1   
        Number used as BUFIO2FB_2CLKs0   
    Number of BUFG/BUFGMUXs41625% 
        Number used as BUFGs3   
        Number used as BUFGMUX1   
    Number of DCM/DCM_CLKGENs21216% 
        Number used as DCMs1   
        Number used as DCM_CLKGENs1   
    Number of ILOGIC2/ISERDES2s205863% 
        Number used as ILOGIC2s20   
        Number used as ISERDES2s0   
    Number of IODELAY2/IODRP2/IODRP2_MCBs05860% 
    Number of OLOGIC2/OSERDES2s225863% 
        Number used as OLOGIC2s22   
        Number used as OSERDES2s0   
    Number of BSCANs040% 
    Number of BUFHs03840% 
    Number of BUFPLLs080% 
    Number of BUFPLL_MCBs040% 
    Number of DSP48A1s01800% 
    Number of ICAPs010% 
    Number of MCBs040% 
    Number of PCILOGICSEs020% 
    Number of PLL_ADVs1616% 
        Number of LOCed PLL_ADVs11100% 
    Number of PMVs010% 
    Number of STARTUPs11100% 
    Number of SUSPEND_SYNCs010% 
    Average Fanout of Non-Clock Nets2.90   
    + + + + 
    + + + + + + + + + + + + + + + + + +
    Performance Summary [-]
    Final Timing Score:1792 (Setup: 1792, Hold: 0, Component Switching Limit: 0)Pinout Data:Pinout Report
    Routing Results: +All Signals Completely RoutedClock Data:Clock Report
    Timing Constraints: +X +1 Failing Constraint  
    + + + + 
    + + + + + + + + + + +
    Detailed Reports [-]
    Report NameStatusGeneratedErrorsWarningsInfos
    Synthesis ReportCurrentбс 18. рту 09:45:27 20180170 Warnings (170 new)42 Infos (42 new)
    Translation ReportCurrentбс 18. рту 09:47:11 2018000
    Map ReportCurrentбс 18. рту 10:14:14 201801202 Warnings (1202 new)545 Infos (545 new)
    Place and Route ReportCurrentбс 18. рту 10:31:21 20180914 Warnings (914 new)2 Infos (2 new)
    Power Report     
    Post-PAR Static Timing ReportCurrentбс 18. рту 10:47:43 201801 Warning (1 new)3 Infos (3 new)
    Bitgen ReportCurrentбс 18. рту 10:39:54 20180912 Warnings (912 new)1 Info (1 new)

    + + + + +
    Secondary Reports [-]
    Report NameStatusGenerated
    ISIM Simulator LogOut of Dateбс 18. рту 07:29:45 2018
    WebTalk Log FileCurrentбс 18. рту 10:40:02 2018
    + + +

    Date Generated: 08/18/2018 - 10:47:51
    + \ No newline at end of file diff --git a/src/ztex_sha256crypt.c b/src/ztex_sha256crypt.c new file mode 100644 index 00000000000..5250ebcded2 --- /dev/null +++ b/src/ztex_sha256crypt.c @@ -0,0 +1,434 @@ +/* + * This software is Copyright (c) 2018 Denis Burykin + * [denis_burykin yahoo com], [denis-burykin2014 yandex ru] + * and it is hereby released to the general public under the following terms: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + * This file is part of John the Ripper password cracker, + * Copyright (c) 1996-2001,2008,2010-2013,2015 by Solar Designer + * + * This file is part of John the Ripper password cracker, + * Copyright (c) 2012 magnum / JimF + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + * There's ABSOLUTELY NO WARRANTY, express or implied. + * + */ +#include +#include + +#include "arch.h" +#include "common.h" +#include "formats.h" +#include "memory.h" +#include "config.h" +#include "options.h" + +#include "ztex/device_bitstream.h" +#include "ztex/device_format.h" +#include "ztex/task.h" +#include "ztex/pkt_comm/cmp_config.h" + + +#define FORMAT_LABEL "sha256crypt-ztex" +#define ALGORITHM_NAME "sha256crypt ZTEX" + +#define FORMAT_NAME "crypt(3) $5$" +#define FORMAT_TAG "$5$" +#define FORMAT_TAG_LEN (sizeof(FORMAT_TAG)-1) + +#define BENCHMARK_COMMENT " (rounds=5000)" +#define BENCHMARK_LENGTH -1 + +#define CIPHERTEXT_LENGTH 43 + +// Data structures differ from ones from CPU implementation: +// - Only partial hash in the database (BINARY_SIZE=4) +// - The hardware allows candidate length no more than 32 +// +#define PLAINTEXT_LENGTH 32 +#define BINARY_SIZE 4 +#define BINARY_ALIGN 4 +#define SALT_SIZE sizeof(sha256crypt_salt_t) +#define SALT_ALIGN 4 + +#define ROUNDS_PREFIX "rounds=" +#define ROUNDS_DEFAULT 5000 +#define ROUNDS_MIN 1 +#define ROUNDS_MAX 999999999 + +#define SALT_LENGTH 16 + +// unable to use sha256crypt_common.h +//#include "sha256crypt_common.h" + + +static struct device_bitstream bitstream = { + // bitstream ID (check is performed by querying operating bitstream) + 0x256c, + "$JOHN/ztex/ztex115y_sha256crypt.bit", + // parameters for high-speed packet communication (pkt_comm) + { 2, 7422, 4094 }, + // computing performance estimation (in candidates per interval) + // (keys * mask_num_cand)/crypt_all_interval per jtr_device. + 1, // set by init() base on john.conf setting + 2048, // 2K keys/fpga for self-test + 1536 * 1024, // Would be 48 MB of USB traffic on 32-byte keys + 512, // Max. number of entries in onboard comparator. + 150, // Min. number of keys for effective device utilization + 1, { 135 }, // Programmable clocks + "sha256crypt", // label for configuration file + NULL, 0 // Initialization data +}; + + +static struct fmt_tests tests[] = { + // from CPU/GPU implementations + {"$5$LKO/Ute40T3FNF95$U0prpBQd4PloSGU0pnpM4z9wKn4vZ1.jsrzQfPqxph9", + "U*U*U*U*"}, + {"$5$LKO/Ute40T3FNF95$fdgfoJEBoMajNxCv3Ru9LyQ0xZgv0OBMQoq80LQ/Qd.", + "U*U***U"}, + {"$5$LKO/Ute40T3FNF95$8Ry82xGnnPI/6HtFYnvPBTYgOL23sdMXn8C29aO.x/A", + "U*U***U*"}, + {"$5$XSLWLBSQUCNOWXOB$i7Ho5wUAIjsH2e2zA.WarqYLWir5nmZbUEcjK//Or7.", + "hgnirgayjnhvi"}, + {"$5$VDCTRFOIDQXRQVHR$uolqT0wEwU.pvI9jq5xU457JQpiwTTKX3PB/9RS4/h4", + "o"}, + {"$5$EKt.VLXiPjwyv.xe$52wdOp9ixFXMsHDI1JcCw8KJ83IakDP6J7MIEV2OUk0", + "1234567"}, + + // salt_len < 16 + {"$5$rounds=5019$0.2345.789.bede$MkvvIivtYEIOJcDzMEvma3ParB" + "1/s9Ht02poIWA1RK7", "salt15,key=13"}, + {"$5$rounds=5023$bQEwn2FVUb6ATd$qVlYFRnSpOg64SPaVY/1CBTrbCY" + "5Kv6Y.Km/Um7jg61", "test #2: salt_len=14,key_len=31"}, + {"$5$TGf3jSp.tVaZB$WD6RH0Gzk5pb5Vt1Zq8e0hUWoRu3aq5iDPMl9kXdZRA", + "s13_k6"}, + {"$5$rounds=4995$gjBVWL7tGHdK$Iwj/2BP.b1rrg6/B.fC4HIDhmhLZB" + "uw8SrCeAXoSpH5", "salt11_key12"}, + {"$5$rounds=5022$bQ7rLwn$aUIOwEgSRRrpGlLV5Jt5DtRNzSmyv54dMn" + "uCCaD7CtC", "salt7key9"}, + {"$5$GH0itE$i1kIs5UMcM.Qomz3.2L2INxGYlaKRBDArZ6TNmh9ed7", + "salt=6key=12"}, + {"$5$HfD3B$bVW9AObAFBZZ7KopQxRwaTs.X2/aVrYt55mW6f6EXl7", + "s5k4"}, + {"$5$=$Qh125aRhMbwg8Phe/jIjQwos/v9I.vR/e7R1rjiYfBC", + "salt1,key11"}, + + // from the reference implementation + {"$5$saltstring$5B8vYYiY.CVt1RlTTf8KbXBH3hsxY/GNooZaBBGWEc5", + "Hello world!"}, + + // slows down --test + //{"$5$rounds=66000$FghyT5KLjHQW4sCG$80SFA7YemhfPH0OlnLa5fDjd" + // "T4XXOrW/l3i7O9h5XF4", "testing CPU's SUBB instruction"}, + //{"$5$rounds=1024000$fg80uTCVDKPeTbnB$N8bF/pNbfCoI1ImDdG8rKV" + // "OBvrbHzXtElv0QivEyvi4", "heavier_thing"}, + // times out in 5s (increase the default) + //{"$5$rounds=4096000$AFhfg9h8z.GEwvcB$tNR5A1CALj4bsC41VTisok" + // "zcn9Cc26Tr.oi2dJ.ZLl2", "device_format.c:TASK_TIMEOUT"}, + + {"$5$rounds=4972$0/2345.789//edef$DDPKQRM7xJkpe4pdf13My8qCJ" + "PeFmXn6nNiwYk.R.wB", "abc"}, + {"$5$rounds=4970$0.234.6789.bc/ef$7NDazjArUHJs988r5ovAyd5tI" + "kJybwD9JOibJfzgWuD", "12345678"}, + {"$5$012/45.7/9ab/def$wz2Bni8S/YVASQHPTNWPiUd17QwYow5qLbmSUvgZhd1", + "test #3: salt_len=16, key_len=32"}, + {"$5$RFGhdnBMk0PYdQAN$GMIdTVp3gVpcOP2G4F7d74Vp3RbjSv7Z1aWA7kBkYiC", + "salt_len=16,key_len=23."}, + {"$5$R.BGHLcxaqOIU1Fd$v56KjRPkbT6HoXm4G.YVYXGBH.D7alOUbsS2ybx8or2", + "8-bit-chars\195\195\195"}, + {NULL} +}; + + +typedef struct { + unsigned int len; + unsigned int rounds; + unsigned char salt[16]; +} sha256crypt_salt_t; + + +static int valid(char * ciphertext, struct fmt_main * self) { + char *pos, *start; + + if (strncmp(ciphertext, FORMAT_TAG, FORMAT_TAG_LEN)) + return 0; + + ciphertext += FORMAT_TAG_LEN; + + if (!strncmp(ciphertext, ROUNDS_PREFIX, + sizeof(ROUNDS_PREFIX) - 1)) { + const char *num = ciphertext + sizeof(ROUNDS_PREFIX) - 1; + char *endp; + if (!strtoul(num, &endp, 10)) + return 0; + if (*endp == '$') + ciphertext = endp + 1; + } + for (pos = ciphertext; *pos && *pos != '$'; pos++); + if (!*pos || pos < ciphertext) return 0; + + start = ++pos; + while (atoi64[ARCH_INDEX(*pos)] != 0x7F) pos++; + if (*pos || pos - start != CIPHERTEXT_LENGTH) return 0; + return 1; +} + + +/* ------- To binary functions ------- */ +#define TO_BINARY(b1, b2, b3) \ + value = (uint32_t)atoi64[ARCH_INDEX(pos[0])] | \ + ((uint32_t)atoi64[ARCH_INDEX(pos[1])] << 6) | \ + ((uint32_t)atoi64[ARCH_INDEX(pos[2])] << 12) | \ + ((uint32_t)atoi64[ARCH_INDEX(pos[3])] << 18); \ + pos += 4; \ + out[b1] = value >> 16; \ + out[b2] = value >> 8; \ + out[b3] = value; + +static void * get_binary(char * ciphertext) { + static uint32_t outbuf[BINARY_SIZE/4]; + uint32_t value; + char *pos = strrchr(ciphertext, '$') + 1; + unsigned char *out = (unsigned char*)outbuf; + int i=0; + + do { + TO_BINARY(i, (i+10)%30, (i+20)%30); + i = (i+21)%30; + } while (i != 0); + value = (uint32_t)atoi64[ARCH_INDEX(pos[0])] | + ((uint32_t)atoi64[ARCH_INDEX(pos[1])] << 6) | + ((uint32_t)atoi64[ARCH_INDEX(pos[2])] << 12); + out[31] = value >> 8; + out[30] = value; + return (void *)out; +} + + +static void *get_salt(char *ciphertext) +{ + static sha256crypt_salt_t out; + int len; + + memset(&out, 0, sizeof(out)); + out.rounds = ROUNDS_DEFAULT; + ciphertext += FORMAT_TAG_LEN; + if (!strncmp(ciphertext, ROUNDS_PREFIX, + sizeof(ROUNDS_PREFIX) - 1)) { + const char *num = ciphertext + sizeof(ROUNDS_PREFIX) - 1; + char *endp; + unsigned long int srounds = strtoul(num, &endp, 10); + if (*endp == '$') + { + ciphertext = endp + 1; + srounds = srounds < ROUNDS_MIN ? + ROUNDS_MIN : srounds; + out.rounds = srounds > ROUNDS_MAX ? + ROUNDS_MAX : srounds; + } + } + + for (len = 0; ciphertext[len] != '$'; len++); + + if (len > SALT_LENGTH) + len = SALT_LENGTH; + + memcpy(out.salt, ciphertext, len); + out.len = len; + return &out; +} + + +static unsigned int iteration_count(void *salt) +{ + sha256crypt_salt_t *sha256crypt_salt; + + sha256crypt_salt = salt; + return sha256crypt_salt->rounds; +} + + +static int target_rounds; + +static void init(struct fmt_main *fmt_main) +{ +//printf("verbosity (init):%d\n", options.verbosity); + // It uses performance estimation (bitstream.candidates_per_crypt) + // to calculate keys_per_crypt. Performance depends on count of rounds. + // Count is not available in init() and can change at runtime. + // In crypt_all(), count is available but keys_per_crypt can't change. + // + // It gets TargetRounds from john.conf and adjust + // bitstream.candidates_per_crypt. + + // Starting from TARGET_ROUNDS_1KPC, it sets keys_per_crypt + // equal to bitstream.min_keys + // + const int TARGET_ROUNDS_1KPC = 512*1024; + + target_rounds = cfg_get_int("ZTEX:", bitstream.label, + "TargetRounds"); + if (target_rounds <= 0) + target_rounds = 5000; + + if (target_rounds < 1000) + fprintf(stderr, "Warning: invalid TargetRounds=%d in john.conf." + " Valid values are 1000-999999999\n", target_rounds); + + if (target_rounds < 1000) + target_rounds = 1000; + + if (target_rounds >= TARGET_ROUNDS_1KPC) + bitstream.candidates_per_crypt = bitstream.min_keys; + else + bitstream.candidates_per_crypt = bitstream.min_keys + * (2 * TARGET_ROUNDS_1KPC / target_rounds); + + //fprintf(stderr, "bitstream.candidates_per_crypt=%d\n", + // bitstream.candidates_per_crypt); + + device_format_init(fmt_main, &bitstream, options.acc_devices);//, + //options.verbosity); +} + + +/* + * There's an existing CPU implementation. It stores salt in the database. + * 1) Salt data structure db_salt->salt is specific to algorithm + * 2) db_salt->salt depends on host system (e.g. different on 32 and 64-bit) + * 3) This salt internally has tunable costs and is used to + * populate db_salt->cost[FMT_TUNABLE_COSTS]. + * + * Salt is sent to devices in some uniform way in CMP_CONFIG packet: + * - first it goes binary salt in network byte order + * - then it sends 4-byte tunable cost(s) if any + * - then it sends 2 bytes - number of hashes + * - then partial hashes ("binaries") sorted in ascending order. + * (It accepts up to 512 32-bit hashes, order doesn't matter). + */ + + +extern volatile int bench_running; + +static int crypt_all(int *pcount, struct db_salt *salt) +{ + static int warning_target_rounds = 0; + int curr_rounds = salt->cost[0]; + + int result; + sha256crypt_salt_t *sha256crypt_salt = salt->salt; + unsigned char salt_buf[18]; // salt to send to device + + if (!warning_target_rounds && !bench_running + && (curr_rounds >= target_rounds * 4 + || curr_rounds <= target_rounds / 4) + ) { + fprintf(stderr, "Warning: TargetRounds=%d, processing" + " hash with rounds=%d, expecting suboptimal performance or" + " timeout, consider to adjust TargetRounds in john.conf\n", + target_rounds, curr_rounds); + warning_target_rounds = 1; + } + + // 1 byte unused, 1 byte salt_len, 16 bytes salt in network byte order + salt_buf[0] = 0; + salt_buf[1] = sha256crypt_salt->len; + memcpy(salt_buf + 2, sha256crypt_salt->salt, 16); + + cmp_config_new(salt, salt_buf, 18); + + result = device_format_crypt_all(pcount, salt); + return result; +} + + +extern struct task_list *task_list; + +static int cmp_exact(char *source, int index) +{ + struct task_result *result = task_result_by_index(task_list, index); +/* + fprintf(stderr,"cmp_exact index %d, key '%s'\n",index,result->key); + int i; + for (i=0; i < 32; i++) + fprintf(stderr,"%02x ", result->binary[i]); + fprintf(stderr,"\n"); + for (i=0; i < 32; i++) + fprintf(stderr,"%02x ", (((char *)get_binary(source)) + i)[0] & 0xFF); + fprintf(stderr,"\n"); +*/ + return !memcmp(result->binary, get_binary(source), 32); +} + + +struct fmt_main fmt_ztex_sha256crypt = { + { + FORMAT_LABEL, + FORMAT_NAME, + ALGORITHM_NAME, + BENCHMARK_COMMENT, + BENCHMARK_LENGTH, + 0, + PLAINTEXT_LENGTH, + BINARY_SIZE, + BINARY_ALIGN, + SALT_SIZE, + SALT_ALIGN, + 1, // set by device_format_reset() + 1, + FMT_CASE | FMT_8_BIT | FMT_MASK, + { + "iteration count", + }, + { + FORMAT_TAG + }, + tests + }, { + init, + device_format_done, + device_format_reset, + fmt_default_prepare, + valid, + fmt_default_split, + get_binary, + get_salt, + { + iteration_count, + }, + fmt_default_source, + { + fmt_default_binary_hash_0, + fmt_default_binary_hash_1, + fmt_default_binary_hash_2, + fmt_default_binary_hash_3, + fmt_default_binary_hash_4, + fmt_default_binary_hash_5, + fmt_default_binary_hash_6 + }, + fmt_default_salt_hash, + NULL, + device_format_set_salt, + device_format_set_key, + device_format_get_key, + fmt_default_clear_keys, + crypt_all, + { + device_format_get_hash_0, + device_format_get_hash_1, + device_format_get_hash_2, + device_format_get_hash_3, + device_format_get_hash_4, + device_format_get_hash_5, + device_format_get_hash_6 + }, + device_format_cmp_all, + device_format_cmp_one, + cmp_exact + } +};

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 z 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