Skip to content

Commit 81d9f64

Browse files
Added unexpected message type policy - rule 10
1 parent b5ecdc8 commit 81d9f64

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

vunit/vhdl/verification_components/src/axi_master.vhd

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ use work.log_levels_pkg.all;
2727
use work.logger_pkg.all;
2828
use work.queue_pkg.all;
2929
use work.sync_pkg.all;
30+
use work.vc_pkg.all;
3031

3132
entity axi_master is
3233
generic (
@@ -92,7 +93,9 @@ begin
9293
end if;
9394
handle_wait_until_idle(net, msg_type, request_msg);
9495
else
95-
unexpected_msg_type(msg_type);
96+
if axi_master_handle.p_unexpected_msg_type_policy = fail then
97+
unexpected_msg_type(msg_type);
98+
end if;
9699
end if;
97100
end process;
98101

vunit/vhdl/verification_components/src/axi_master_pkg.vhd

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@ use ieee.numeric_std.all;
1212

1313
use work.axi_pkg.all;
1414
use work.bus_master_pkg.all;
15-
use work.com_pkg.send;
15+
use work.com_pkg.all;
1616
use work.com_types_pkg.all;
1717
use work.logger_pkg.all;
1818
use work.id_pkg.all;
1919
use work.queue_pkg.all;
20+
use work.vc_pkg.all;
2021

2122
package axi_master_pkg is
2223

@@ -29,6 +30,7 @@ package axi_master_pkg is
2930
p_drive_invalid_val : std_logic;
3031
p_write_high_probability : real range 0.0 to 1.0;
3132
p_read_high_probability : real range 0.0 to 1.0;
33+
p_unexpected_msg_type_policy : unexpected_msg_type_policy_t;
3234
end record;
3335

3436
impure function new_axi_master(
@@ -38,6 +40,7 @@ package axi_master_pkg is
3840
byte_length : natural := 8;
3941
logger : logger_t := bus_logger;
4042
actor : actor_t := null_actor;
43+
unexpected_msg_type_policy : unexpected_msg_type_policy_t := fail;
4144
drive_invalid : boolean := true;
4245
drive_invalid_val : std_logic := 'X';
4346
write_high_probability : real := 1.0;
@@ -152,6 +155,7 @@ package body axi_master_pkg is
152155
byte_length : natural := 8;
153156
logger : logger_t := bus_logger;
154157
actor : actor_t := null_actor;
158+
unexpected_msg_type_policy : unexpected_msg_type_policy_t := fail;
155159
drive_invalid : boolean := true;
156160
drive_invalid_val : std_logic := 'X';
157161
write_high_probability : real := 1.0;
@@ -186,7 +190,9 @@ package body axi_master_pkg is
186190
p_drive_invalid => drive_invalid,
187191
p_drive_invalid_val => drive_invalid_val,
188192
p_write_high_probability => write_high_probability,
189-
p_read_high_probability => read_high_probability);
193+
p_read_high_probability => read_high_probability,
194+
p_unexpected_msg_type_policy => unexpected_msg_type_policy
195+
);
190196
end;
191197

192198
procedure write_axi(signal net : inout network_t;

0 commit comments

Comments
 (0)