From d4e6d2b54157a15f33d3ab82d4a7e49857094270 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Stro=CC=88mbergson?= Date: Fri, 17 Jul 2015 06:10:46 +0200 Subject: Since state is digest having separate addresses for writing state is superflous. Captain slow. --- src/rtl/sha256.v | 41 ++++++++--------------------------------- src/tb/tb_sha256.v | 16 ++++++++-------- 2 files changed, 16 insertions(+), 41 deletions(-) diff --git a/src/rtl/sha256.v b/src/rtl/sha256.v index 5e733bd..7afa3f8 100644 --- a/src/rtl/sha256.v +++ b/src/rtl/sha256.v @@ -533,28 +533,28 @@ module sha256( block15_we = 1; end - ADDR_STATE0: + ADDR_DIGEST0: state0_we = 1; - ADDR_STATE1: + ADDR_DIGEST1: state1_we = 1; - ADDR_STATE2: + ADDR_DIGEST2: state2_we = 1; - ADDR_STATE3: + ADDR_DIGEST3: state3_we = 1; - ADDR_STATE4: + ADDR_DIGEST4: state4_we = 1; - ADDR_STATE5: + ADDR_DIGEST5: state5_we = 1; - ADDR_STATE6: + ADDR_DIGEST6: state6_we = 1; - ADDR_STATE7: + ADDR_DIGEST7: state7_we = 1; default: @@ -713,31 +713,6 @@ module sha256( tmp_read_data = digest_reg[31 : 0]; end - - ADDR_STATE0: - tmp_read_data = digest_reg[255 : 224]; - - ADDR_STATE1: - tmp_read_data = digest_reg[223 : 192]; - - ADDR_STATE2: - tmp_read_data = digest_reg[191 : 160]; - - ADDR_STATE3: - tmp_read_data = digest_reg[159 : 128]; - - ADDR_STATE4: - tmp_read_data = digest_reg[127 : 96]; - - ADDR_STATE5: - tmp_read_data = digest_reg[95 : 64]; - - ADDR_STATE6: - tmp_read_data = digest_reg[63 : 32]; - - ADDR_STATE7: - tmp_read_data = digest_reg[31 : 0]; - default: begin tmp_error = 1; diff --git a/src/tb/tb_sha256.v b/src/tb/tb_sha256.v index b6916cd..47b0308 100644 --- a/src/tb/tb_sha256.v +++ b/src/tb/tb_sha256.v @@ -545,14 +545,14 @@ module tb_sha256(); $display("*** TC%01d - Restore state test started.", tc_ctr); // Write state. - write_word(ADDR_STATE0, state[255 : 224]); - write_word(ADDR_STATE1, state[223 : 192]); - write_word(ADDR_STATE2, state[191 : 160]); - write_word(ADDR_STATE3, state[159 : 128]); - write_word(ADDR_STATE4, state[127 : 096]); - write_word(ADDR_STATE5, state[095 : 0064]); - write_word(ADDR_STATE6, state[063 : 0032]); - write_word(ADDR_STATE7, state[031 : 000]); + write_word(ADDR_DIGEST0, state[255 : 224]); + write_word(ADDR_DIGEST1, state[223 : 192]); + write_word(ADDR_DIGEST2, state[191 : 160]); + write_word(ADDR_DIGEST3, state[159 : 128]); + write_word(ADDR_DIGEST4, state[127 : 096]); + write_word(ADDR_DIGEST5, state[095 : 0064]); + write_word(ADDR_DIGEST6, state[063 : 0032]); + write_word(ADDR_DIGEST7, state[031 : 000]); // Process block. write_block(block); -- cgit v1.2.3