Package: bus_master_pkg
- File: bus_master_pkg.vhd
Constants
Name | Type | Value | Description |
---|---|---|---|
bus_logger | logger_t | get_logger("vunit_lib:bus_master_pkg") | Default logger object for bus master instances |
bus_write_msg | msg_type_t | new_msg_type("write bus") | Message type definitions, used by VC-instances |
bus_read_msg | msg_type_t | new_msg_type("read bus") | |
bus_burst_write_msg | msg_type_t | new_msg_type("burst write bus") | |
bus_burst_read_msg | msg_type_t | new_msg_type("burst read bus") |
Types
Name | Type | Description |
---|---|---|
bus_master_t |
Functions
- get_logger (bus_handle : bus_master_t) return logger_t
Description
Return the logger used by the bus master
- write_bus (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant address : std_logic_vector;
constant data : std_logic_vector;
constant byte_enable : std_logic_vector := "") return ()
Description
Blocking: Write the bus
- write_bus (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant address : natural;
constant data : std_logic_vector;
constant byte_enable : std_logic_vector := "") return ()
- burst_write_bus (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant address : std_logic_vector;
constant burst_length : positive;
constant data : queue_t) return ()
Description
Procedures for burst bus write: Caller is responsible for allocation and
deallocation of data queue. Procedure cunsumes burst_length data words
from data queue. If data queue has less data words, all data
words are consumed and pop from empty queue error is raised.
- burst_write_bus (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant address : natural;
constant burst_length : positive;
constant data : queue_t) return ()
- read_bus (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant address : std_logic_vector;
variable reference : inout bus_reference_t) return ()
Description
Non blocking: Read the bus returning a reference to the future reply
- read_bus (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant address : natural;
variable reference : inout bus_reference_t) return ()
- burst_read_bus (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant address : std_logic_vector;
constant burst_length : positive;
variable reference : inout bus_reference_t) return ()
- burst_read_bus (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant address : natural;
constant burst_length : positive;
variable reference : inout bus_reference_t) return ()
- await_read_bus_reply (signal net : inout network_t;
variable reference : inout bus_reference_t;
variable data : inout std_logic_vector) return ()
Description
Blocking: Await read bus reply data
- await_burst_read_bus_reply (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant data : queue_t;
variable reference : inout bus_reference_t) return ()
Description
Procedure for burst read reply: Caller is responsible for allocation and
deallocation of data queue. Procedure pushes burst_length data words
into data queue.
- check_bus (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant address : std_logic_vector;
constant expected : std_logic_vector;
constant msg : string := "") return ()
Description
Blocking: Read bus and check result against expected data
- check_bus (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant address : natural;
constant expected : std_logic_vector;
constant msg : string := "") return ()
- read_bus (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant address : std_logic_vector;
variable data : inout std_logic_vector) return ()
Description
Blocking: read bus with immediate reply
- read_bus (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant address : natural;
variable data : inout std_logic_vector) return ()
- burst_read_bus (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant address : std_logic_vector;
constant burst_length : positive;
constant data : queue_t) return ()
Description
Procedure for burst bus read: Caller is responsible for allocation and
deallocation of data queue. Procedure pushes burst_length data words
into data queue.
- burst_read_bus (signal net : inout network_t;
constant bus_handle : bus_master_t;
constant address : natural;
constant burst_length : positive;
constant data : queue_t) return ()
- wait_until_read_equals ( signal net : inout network_t;
bus_handle : bus_master_t;
addr : std_logic_vector;
value : std_logic_vector;
timeout : delay_length := delay_length'high;
msg : string := "") return ()
Description
Blocking: Wait until a read from address equals the value using
std_match If timeout is reached error with msg
- wait_until_read_bit_equals ( signal net : inout network_t;
bus_handle : bus_master_t;
addr : std_logic_vector;
idx : natural;
value : std_logic;
timeout : delay_length := delay_length'high;
msg : string := "") return ()
Description
Blocking: Wait until a read from address has the bit with this
index set to value If timeout is reached error with msg
- wait_until_idle (signal net : inout network_t;
bus_handle : bus_master_t) return ()
Description
Wait until all operations scheduled before this command has finished