From 94090f2f8e251bfe960e5b1b530a5c7a55921c4d Mon Sep 17 00:00:00 2001 From: Phil Date: Fri, 12 Jun 2026 13:55:46 +0300 Subject: [PATCH] tests: update wrappers --- axi/tb/axi_dma_wrapper/tb_axi_dma_wrapper.sv | 130 +++++++++++++++---- 1 file changed, 105 insertions(+), 25 deletions(-) diff --git a/axi/tb/axi_dma_wrapper/tb_axi_dma_wrapper.sv b/axi/tb/axi_dma_wrapper/tb_axi_dma_wrapper.sv index c3fc57d..2fa6a58 100644 --- a/axi/tb/axi_dma_wrapper/tb_axi_dma_wrapper.sv +++ b/axi/tb/axi_dma_wrapper/tb_axi_dma_wrapper.sv @@ -183,6 +183,107 @@ module tb_axi_dma_wrapper #( .aresetn (rstn) ); + axi_dma_read_desc_if #( + .ADDR_W (AXI_ADDR_WIDTH), + .LEN_W (LEN_WIDTH), + .TAG_W (TAG_WIDTH), + .ID_W (AXIS_ID_WIDTH), + .DEST_W (AXIS_DEST_WIDTH), + .USER_W (AXIS_USER_WIDTH) + ) s_axis_read_desc_if ( + .aclk (clk), + .aresetn (rstn) + ); + + axi_dma_read_desc_status_if #( + .TAG_W (TAG_WIDTH) + ) m_axis_read_desc_status_if ( + .aclk (clk), + .aresetn (rstn) + ); + + axi_dma_write_desc_if #( + .ADDR_W (AXI_ADDR_WIDTH), + .LEN_W (LEN_WIDTH), + .TAG_W (TAG_WIDTH) + ) s_axis_write_desc_if ( + .aclk (clk), + .aresetn (rstn) + ); + + axi_dma_write_desc_status_if #( + .LEN_W (LEN_WIDTH), + .TAG_W (TAG_WIDTH), + .ID_W (AXIS_ID_WIDTH), + .DEST_W (AXIS_DEST_WIDTH), + .USER_W (AXIS_USER_WIDTH) + ) m_axis_write_desc_status_if ( + .aclk (clk), + .aresetn (rstn) + ); + + // cocotb flat read descriptor -> interface + axi_dma_read_desc_flat_to_if #( + .ADDR_W (AXI_ADDR_WIDTH), + .LEN_W (LEN_WIDTH), + .TAG_W (TAG_WIDTH), + .ID_W (AXIS_ID_WIDTH), + .DEST_W (AXIS_DEST_WIDTH), + .USER_W (AXIS_USER_WIDTH) + ) u_s_axis_read_desc_flat_to_if ( + .s_axis_read_desc_addr (s_axis_read_desc_addr), + .s_axis_read_desc_len (s_axis_read_desc_len), + .s_axis_read_desc_tag (s_axis_read_desc_tag), + .s_axis_read_desc_id (s_axis_read_desc_id), + .s_axis_read_desc_dest (s_axis_read_desc_dest), + .s_axis_read_desc_user (s_axis_read_desc_user), + .s_axis_read_desc_valid (s_axis_read_desc_valid), + .s_axis_read_desc_ready (s_axis_read_desc_ready), + .m_axis_read_desc (s_axis_read_desc_if) + ); + + // wrapper read descriptor status interface -> cocotb flat status + axi_dma_read_desc_status_if_to_flat #( + .TAG_W (TAG_WIDTH) + ) u_m_axis_read_desc_status_if_to_flat ( + .s_axis_read_desc_status (m_axis_read_desc_status_if), + .m_axis_read_desc_status_tag (m_axis_read_desc_status_tag), + .m_axis_read_desc_status_error (m_axis_read_desc_status_error), + .m_axis_read_desc_status_valid (m_axis_read_desc_status_valid) + ); + + // cocotb flat write descriptor -> interface + axi_dma_write_desc_flat_to_if #( + .ADDR_W (AXI_ADDR_WIDTH), + .LEN_W (LEN_WIDTH), + .TAG_W (TAG_WIDTH) + ) u_s_axis_write_desc_flat_to_if ( + .s_axis_write_desc_addr (s_axis_write_desc_addr), + .s_axis_write_desc_len (s_axis_write_desc_len), + .s_axis_write_desc_tag (s_axis_write_desc_tag), + .s_axis_write_desc_valid (s_axis_write_desc_valid), + .s_axis_write_desc_ready (s_axis_write_desc_ready), + .m_axis_write_desc (s_axis_write_desc_if) + ); + + // wrapper write descriptor status interface -> cocotb flat status + axi_dma_write_desc_status_if_to_flat #( + .LEN_W (LEN_WIDTH), + .TAG_W (TAG_WIDTH), + .ID_W (AXIS_ID_WIDTH), + .DEST_W (AXIS_DEST_WIDTH), + .USER_W (AXIS_USER_WIDTH) + ) u_m_axis_write_desc_status_if_to_flat ( + .s_axis_write_desc_status (m_axis_write_desc_status_if), + .m_axis_write_desc_status_len (m_axis_write_desc_status_len), + .m_axis_write_desc_status_tag (m_axis_write_desc_status_tag), + .m_axis_write_desc_status_id (m_axis_write_desc_status_id), + .m_axis_write_desc_status_dest (m_axis_write_desc_status_dest), + .m_axis_write_desc_status_user (m_axis_write_desc_status_user), + .m_axis_write_desc_status_error (m_axis_write_desc_status_error), + .m_axis_write_desc_status_valid (m_axis_write_desc_status_valid) + ); + // cocotb flat write stream -> interface axis_flat_to_if #( .DATA_W (AXIS_DATA_WIDTH), @@ -307,34 +408,13 @@ module tb_axi_dma_wrapper #( .clk (clk), .rst (rst), - .s_axis_read_desc_addr (s_axis_read_desc_addr), - .s_axis_read_desc_len (s_axis_read_desc_len), - .s_axis_read_desc_tag (s_axis_read_desc_tag), - .s_axis_read_desc_id (s_axis_read_desc_id), - .s_axis_read_desc_dest (s_axis_read_desc_dest), - .s_axis_read_desc_user (s_axis_read_desc_user), - .s_axis_read_desc_valid (s_axis_read_desc_valid), - .s_axis_read_desc_ready (s_axis_read_desc_ready), - - .m_axis_read_desc_status_tag (m_axis_read_desc_status_tag), - .m_axis_read_desc_status_error (m_axis_read_desc_status_error), - .m_axis_read_desc_status_valid (m_axis_read_desc_status_valid), + .s_axis_read_desc (s_axis_read_desc_if), + .m_axis_read_desc_status (m_axis_read_desc_status_if), .m_axis_read_data (m_axis_read_data_if), - .s_axis_write_desc_addr (s_axis_write_desc_addr), - .s_axis_write_desc_len (s_axis_write_desc_len), - .s_axis_write_desc_tag (s_axis_write_desc_tag), - .s_axis_write_desc_valid (s_axis_write_desc_valid), - .s_axis_write_desc_ready (s_axis_write_desc_ready), - - .m_axis_write_desc_status_len (m_axis_write_desc_status_len), - .m_axis_write_desc_status_tag (m_axis_write_desc_status_tag), - .m_axis_write_desc_status_id (m_axis_write_desc_status_id), - .m_axis_write_desc_status_dest (m_axis_write_desc_status_dest), - .m_axis_write_desc_status_user (m_axis_write_desc_status_user), - .m_axis_write_desc_status_error (m_axis_write_desc_status_error), - .m_axis_write_desc_status_valid (m_axis_write_desc_status_valid), + .s_axis_write_desc (s_axis_write_desc_if), + .m_axis_write_desc_status (m_axis_write_desc_status_if), .s_axis_write_data (s_axis_write_data_if), .m_axi (m_axi_if),