From 5ed8ce5ef91487ec0a0349511d14373e36500aae Mon Sep 17 00:00:00 2001 From: David Mapstone <david@mapstone.me> Date: Tue, 21 Mar 2023 16:08:45 +0000 Subject: [PATCH] SOC1-153: Added Read Address Calculator to Packet Deconstructor --- accelerator-wrapper | 2 +- wrapper/src/wrapper_sha256_hashing_stream.sv | 36 ++++++++++++++------ 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/accelerator-wrapper b/accelerator-wrapper index 5863835..944f600 160000 --- a/accelerator-wrapper +++ b/accelerator-wrapper @@ -1 +1 @@ -Subproject commit 586383534848fe84a20b915c32bf40843190bbcd +Subproject commit 944f600c8a96c82117af672c0344aac637cf5716 diff --git a/wrapper/src/wrapper_sha256_hashing_stream.sv b/wrapper/src/wrapper_sha256_hashing_stream.sv index 9850de2..f49e8c8 100644 --- a/wrapper/src/wrapper_sha256_hashing_stream.sv +++ b/wrapper/src/wrapper_sha256_hashing_stream.sv @@ -64,6 +64,11 @@ module wrapper_sha256_hashing_stream #( output logic out_data_req ); + localparam INADDRWIDTH = ADDRWIDTH - 1; + localparam OUTADDRWIDTH = ADDRWIDTH - 1; + + localparam OUTPACKETBYTEWIDTH = $clog2(OUTPACKETWIDTH/8); // Number of Bytes in Packet + localparam OUTPACKETSPACEWIDTH = OUTADDRWIDTH-OUTPACKETBYTEWIDTH; // Number of Bits to represent all Packets in Address Space // ---------------------------------------- // Internal wires declarations @@ -97,16 +102,23 @@ module wrapper_sha256_hashing_stream #( // Internal Wiring // Input Packet Wires - logic [511:0] in_packet; + logic [INPACKETWIDTH-1:0] in_packet; logic in_packet_last; logic in_packet_valid; logic in_packet_ready; // Output Packet Wires - logic [255:0] out_packet; - logic out_packet_last; - logic out_packet_valid; - logic out_packet_ready; + logic [OUTPACKETWIDTH-1:0] out_packet; + logic out_packet_last; + logic [OUTPACKETSPACEWIDTH-1:0] out_packet_remain; + logic out_packet_valid; + logic out_packet_ready; + + // Block Packets Remaining Tie-off (only ever one packet per block) + assign out_packet_remain = {OUTPACKETSPACEWIDTH{1'b0}}; + + // Relative Read Address for Start of Current Block + logic [OUTADDRWIDTH-1:0] block_read_addr; // Configuration Tie Off logic [63:0] cfg_size; @@ -264,13 +276,17 @@ module wrapper_sha256_hashing_stream #( .hrdatas (hrdata1), // Valid/Ready Interface - .packet_data (out_packet), - .packet_data_last (out_packet_last), - .packet_data_valid (out_packet_valid), - .packet_data_ready (out_packet_ready), + .packet_data (out_packet), + .packet_data_last (out_packet_last), + .packet_data_remain (out_packet_remain), + .packet_data_valid (out_packet_valid), + .packet_data_ready (out_packet_ready), // Input Data Request - .data_req (out_data_req) + .data_req (out_data_req), + + // Read Address Interface + .block_read_addr (block_read_addr) ); //------------------------ -- GitLab