@@ -18,6 +18,7 @@ library vunit_lib;
1818context vunit_lib.vunit_context;
1919context vunit_lib.vc_context;
2020
21+ use work.pkg_c;
2122use work.pkg_c.all ;
2223
2324entity tb_c_axis_loop is
@@ -30,20 +31,23 @@ end entity;
3031architecture tb of tb_c_axis_loop is
3132 -- Simulation constants
3233
33- constant clk_period : time := 20 ns ;
34- constant data_width : natural := get_param(1 );
35- constant fifo_depth : natural := get_param(2 );
34+ constant clk_period : time := 20 ns ;
35+ constant stream_length : integer := get_param(0 );
36+ constant data_width : natural := get_param(1 );
37+ constant fifo_depth : natural := get_param(2 );
3638
3739 -- AXI4Stream Verification Components
3840
3941 constant m_axis : axi_stream_master_t := new_axi_stream_master(data_length => data_width);
4042 constant s_axis : axi_stream_slave_t := new_axi_stream_slave(data_length => data_width);
4143
44+ constant ibuffer: pkg_c.memory_t := pkg_c.new_memory(0 );
45+ constant obuffer: pkg_c.memory_t := pkg_c.new_memory(1 );
46+
4247 -- tb signals and variables
4348
4449 signal clk, rst, rstn : std_logic := '0' ;
4550 signal start, sent, saved : boolean := false ;
46- shared variable ibuffer, obuffer: buffet_t_prot;
4751
4852begin
4953
6266 test_runner_setup(runner, runner_cfg);
6367 while test_suite loop
6468 if run(" test" ) then
65- ibuffer.init(0 );
66- obuffer.init(1 );
6769 rst <= '1' ;
6870 wait for 15 * clk_period;
6971 rst <= '0' ;
8486
8587 for y in 0 to stream_length- 1 loop
8688 wait until rising_edge (clk);
87- push_axi_stream(net, m_axis, std_logic_vector (to_signed (ibuffer. get ( y), data_width)) , tlast => '0' );
89+ push_axi_stream(net, m_axis, std_logic_vector (to_signed (pkg_c.read_word(ibuffer, y), data_width)) , tlast => '0' );
8890 end loop ;
8991
9092 info(" m_I sent!" );
@@ -104,7 +106,7 @@ begin
104106
105107 for y in 0 to stream_length- 1 loop
106108 pop_axi_stream(net, s_axis, tdata => o, tlast => last);
107- obuffer.set(y, to_integer (signed (o)));
109+ pkg_c.write_word(obuffer, y, to_integer (signed (o)));
108110 end loop ;
109111
110112 info(" m_O read!" );
0 commit comments