diff --git a/accelerator-wrapper b/accelerator-wrapper index 34fab012317556651f1de4debf369a8f3db6330b..586383534848fe84a20b915c32bf40843190bbcd 160000 --- a/accelerator-wrapper +++ b/accelerator-wrapper @@ -1 +1 @@ -Subproject commit 34fab012317556651f1de4debf369a8f3db6330b +Subproject commit 586383534848fe84a20b915c32bf40843190bbcd diff --git a/wrapper/src/wrapper_sha256_hashing_stream.sv b/wrapper/src/wrapper_sha256_hashing_stream.sv index 05135e778cd5195b028811e67fbe480474c01cb7..9850de299276d0c5c4459138f7dbd0ceeeece136 100644 --- a/wrapper/src/wrapper_sha256_hashing_stream.sv +++ b/wrapper/src/wrapper_sha256_hashing_stream.sv @@ -55,7 +55,13 @@ module wrapper_sha256_hashing_stream #( output logic HREADYOUTS, output logic HRESPS, - output logic [31:0] HRDATAS + output logic [31:0] HRDATAS, + + // Input Data Request Signal to DMAC + output logic in_data_req, + + // Output Data Request Signal to DMAC + output logic out_data_req ); // ---------------------------------------- @@ -96,9 +102,6 @@ module wrapper_sha256_hashing_stream #( logic in_packet_valid; logic in_packet_ready; - // Input Data Request - logic in_data_req; - // Output Packet Wires logic [255:0] out_packet; logic out_packet_last; @@ -237,22 +240,19 @@ module wrapper_sha256_hashing_stream #( .data_req (in_data_req) ); - - //---------------------------- // Output Port //---------------------------- - // Interface block to convert AHB transfers to Register transfers to engine input/output channels - // engine Input/Output Channels - wrapper_ahb_vr_interface #( - ADDRWIDTH - ) u_wrapper_ahb_interface ( + wrapper_ahb_packet_deconstructor #( + ADDRWIDTH-1, + OUTPACKETWIDTH + ) u_wrapper_data_output_port ( .hclk (HCLK), .hresetn (HRESETn), // Input slave port: 32 bit data bus interface .hsels (hsel1), - .haddrs (HADDRS), + .haddrs (HADDRS[ADDRWIDTH-2:0]), .htranss (HTRANSS), .hsizes (HSIZES), .hwrites (HWRITES), @@ -263,76 +263,15 @@ module wrapper_sha256_hashing_stream #( .hresps (hresp1), .hrdatas (hrdata1), - // Register interface - Accelerator Engine Input - .input_addr (input_addr), - .input_read_en (input_read_en), - .input_write_en (input_write_en), - .input_byte_strobe (input_byte_strobe), - .input_wdata (input_wdata), - .input_rdata (input_rdata), - .input_wready (input_wready), - .input_rready (input_rready), - - // Register interface - Accelerator Engine Output - .output_addr (output_addr), - .output_read_en (output_read_en), - .output_write_en (output_write_en), - .output_byte_strobe (output_byte_strobe), - .output_wdata (output_wdata), - .output_rdata (output_rdata), - .output_wready (output_wready), - .output_rready (output_rready) - ); - - wrapper_packet_deconstruct #( - (ADDRWIDTH - 1), // Only half address map allocated to this device - 256 // Ouptut Packet WIdth - ) u_wrapper_packet_deconstruct ( - .hclk (HCLK), - .hresetn (HRESETn), - - // Register interface - .addr (output_addr), - .read_en (output_read_en), - .write_en (output_write_en), - .byte_strobe (output_byte_strobe), - .wdata (output_wdata), - .rdata (output_rdata), - .wready (output_wready), - .rready (output_rready), - // 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_ready (out_packet_ready), - // wrapper_packet_construct #( - // (ADDRWIDTH - 1), // Only half address map allocated to this device - // 512 // Packet Width - // ) u_wrapper_packet_construct ( - // .hclk (HCLK), - // .hresetn (HRESETn), - - // // Register interface - // .addr (input_addr), - // .read_en (input_read_en), - // .write_en (input_write_en), - // .byte_strobe (input_byte_strobe), - // .wdata (input_wdata), - // .rdata (input_rdata), - // .wready (input_wready), - // .rready (input_rready), - - // // Valid/Ready Interface - // .packet_data (in_packet), - // .packet_data_last (in_packet_last), - // .packet_data_valid (in_packet_valid), - // .packet_data_ready (in_packet_ready), - - // .engine_ready() - // ); + // Input Data Request + .data_req (out_data_req) + ); //------------------------ // Accelerator Engine diff --git a/wrapper/verif/tb_wrapper_sha256_hashing_stream.sv b/wrapper/verif/tb_wrapper_sha256_hashing_stream.sv index dae3183c7127c64ed04f7423b639d464c7ea69bf..67579c7a6bb43ad57487c79dad7e6ae4995a8654 100644 --- a/wrapper/verif/tb_wrapper_sha256_hashing_stream.sv +++ b/wrapper/verif/tb_wrapper_sha256_hashing_stream.sv @@ -231,8 +231,10 @@ cmsdk_ahb_fileread_master32 #(InputFileName, .HREADYOUTS (hreadyout0), .HRESPS (hresp0), - .HRDATAS (hrdata0) + .HRDATAS (hrdata0), + // Input Data Request to DMAC + .in_data_req () );