@@ -30,7 +30,7 @@ package apb_slave_pkg is
3030 constant apb_slave_logger : logger_t := get_logger(" vunit_lib:apb_slave_pkg" );
3131 impure function new_apb_slave(
3232 memory : memory_t;
33- logger : logger_t := bus_logger ;
33+ logger : logger_t := null_logger ;
3434 actor : actor_t := null_actor;
3535 drive_invalid : boolean := true ;
3636 drive_invalid_val : std_logic := 'X' ;
@@ -45,17 +45,29 @@ package body apb_slave_pkg is
4545
4646 impure function new_apb_slave(
4747 memory : memory_t;
48- logger : logger_t := bus_logger ;
48+ logger : logger_t := null_logger ;
4949 actor : actor_t := null_actor;
5050 drive_invalid : boolean := true ;
5151 drive_invalid_val : std_logic := 'X' ;
5252 ready_high_probability : real := 1.0 )
5353 return apb_slave_t is
54+ variable actor_tmp : actor_t := null_actor;
55+ variable logger_tmp : logger_t := null_logger;
5456 begin
57+ if actor = null_actor then
58+ actor_tmp := new_actor;
59+ else
60+ actor_tmp := actor;
61+ end if ;
62+ if logger = null_logger then
63+ logger_tmp := bus_logger;
64+ else
65+ logger_tmp := logger;
66+ end if ;
5567 return (
5668 p_memory => to_vc_interface(memory, logger),
57- p_logger => logger ,
58- p_actor => new_actor ,
69+ p_logger => logger_tmp ,
70+ p_actor => actor_tmp ,
5971 p_drive_invalid => drive_invalid,
6072 p_drive_invalid_val => drive_invalid_val,
6173 p_ready_high_probability => ready_high_probability
0 commit comments