Skip to content

Commit a92873c

Browse files
committed
WIP: Added getters for stall_config.
1 parent efda9a5 commit a92873c

2 files changed

Lines changed: 35 additions & 0 deletions

File tree

vunit/vhdl/verification_components/src/axi_stream_pkg.vhd

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,11 +246,21 @@ package axi_stream_pkg is
246246
master : axi_stream_master_t;
247247
stall_config : stall_config_t
248248
);
249+
procedure get_stall_config(
250+
signal net : inout network_t;
251+
master : axi_stream_master_t;
252+
stall_config : out stall_config_t
253+
);
249254
procedure set_stall_config(
250255
signal net : inout network_t;
251256
slave : axi_stream_slave_t;
252257
stall_config : stall_config_t
253258
);
259+
procedure get_stall_config(
260+
signal net : inout network_t;
261+
slave : axi_stream_slave_t;
262+
stall_config : out stall_config_t
263+
);
254264

255265
procedure set_inactive_axi_stream_policy(
256266
signal net : inout network_t;
@@ -956,6 +966,15 @@ package body axi_stream_pkg is
956966
send(net, master.p_actor, msg);
957967
end;
958968

969+
procedure get_stall_config(
970+
signal net : inout network_t;
971+
master : axi_stream_master_t;
972+
stall_config : out stall_config_t
973+
) is
974+
begin
975+
stall_config := null_stall_config;
976+
end;
977+
959978
procedure set_stall_config(
960979
signal net : inout network_t;
961980
slave : axi_stream_slave_t;
@@ -968,6 +987,15 @@ package body axi_stream_pkg is
968987
send(net, slave.p_actor, msg);
969988
end;
970989

990+
procedure get_stall_config(
991+
signal net : inout network_t;
992+
slave : axi_stream_slave_t;
993+
stall_config : out stall_config_t
994+
) is
995+
begin
996+
stall_config := null_stall_config;
997+
end;
998+
971999
procedure push_axi_stream_transaction(msg : msg_t; axi_stream_transaction : axi_stream_transaction_t) is
9721000
begin
9731001
push_std_ulogic_vector(msg, axi_stream_transaction.tdata);

vunit/vhdl/verification_components/test/tb_axi_stream.vhd

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ begin
128128
variable mock_logger : logger_t;
129129
variable rnd : RandomPtype;
130130
variable stall_config : stall_config_t;
131+
variable stall_config_read_back : stall_config_t;
131132
variable stall_probability_percent : natural;
132133
variable previous_inactive_policy : inactive_bus_policy_t := 'X';
133134
variable loop_count : natural := 0;
@@ -686,11 +687,17 @@ begin
686687
wait until rising_edge(aclk);
687688
stall_probability_percent := 30;
688689
stall_config := new_stall_config(real(stall_probability_percent) / 100.0, min_stall_cycles, max_stall_cycles);
690+
689691
if running_test_case = "test random stall on master" then
690692
set_stall_config(net, master_axi_stream, stall_config);
693+
get_stall_config(net, master_axi_stream, stall_config_read_back);
691694
else
692695
set_stall_config(net, slave_axi_stream, stall_config);
696+
get_stall_config(net, slave_axi_stream, stall_config_read_back);
693697
end if;
698+
check_equal(stall_config_read_back.stall_probability, stall_config.stall_probability);
699+
check_equal(stall_config_read_back.min_stall_cycles, stall_config.min_stall_cycles);
700+
check_equal(stall_config_read_back.max_stall_cycles, stall_config.max_stall_cycles);
694701
for i in 0 to 100 loop
695702
pop_stream(net, slave_stream, reference);
696703
push(reference_queue, reference);

0 commit comments

Comments
 (0)