Package: com_types_pkg
- File: com_types.vhd
Constants
Name | Type | Value | Description |
---|---|---|---|
null_actor | actor_t | (id => 0) | |
null_msg_type | msg_type_t | (p_code => -1) | |
p_msg_types | msg_types_t | ( p_name_ptrs => new_integer_vector_ptr) | |
no_message_id | message_id_t | 0 | |
null_msg | msg_t | ( id => no_message_id, msg_type => null_msg_type, status => null_message_error, sender => null_actor, receiver => null_actor, request_id => no_message_id, data => null_queue) |
|
network_event | std_logic | '1' | |
idle_network | std_logic | 'Z' | |
max_timeout | time | 1 hr | Default value for timeout parameters. ModelSim can't handle time'high |
com_logger | logger_t | get_logger("vunit_lib:com") | |
queue_pool | queue_pool_t | new_queue_pool |
Types
Name | Type | Description |
---|---|---|
com_status_t | (ok, timeout, null_message_error, unknown_actor_error, unknown_receiver_error, unknown_subscriber_error, unknown_publisher_error, deferred_receiver_error, already_a_subscriber_error, not_a_subscriber_error, full_inbox_error, reply_missing_request_id_error, unknown_request_id_error, deprecated_interface_error, insufficient_size_error, duplicate_actor_name_error) |
|
actor_t | All fields of the actor type are private | |
actor_vec_t | array (integer range <>) of actor_t | |
mailbox_id_t | (inbox, outbox) |
Mailboxes owned by an actor |
msg_type_t | A message type (of type msg_type_t) can be used identify the type of a message (of type msg_t) such that it can be parsed correctly. | |
msg_types_t | Storage for all registered message types | |
message_t | Deprecated message type | |
message_ptr_t | ||
msg_t | ||
msg_vec_t | array (natural range <>) of msg_t | |
msg_vec_ptr_t | ||
subscription_traffic_type_t | (published, outbound, inbound) |
A subscriber can subscribe on three different types of traffic: published - Messages published by publisher outbound - All non-anonymous outbound messages from publisher inbound - All inbound messages to publisher. Replies anonymous requests are excluded. |
subscription_t | ||
subscription_vec_t | array (natural range <>) of subscription_t | |
subscription_vec_ptr_t | ||
receipt_t | Deprecated | |
mailbox_state_t | Captures the state of a mailbox | |
actor_state_t | Captures the state of an actor | |
actor_state_vec_t | array (natural range <>) of actor_state_t | |
actor_state_vec_ptr_t | ||
messenger_state_t | Captures the state of the messenger |
Functions
- unexpected_msg_type (msg_type : msg_type_t;
logger : logger_t := com_logger) return ()
- push_msg_type (msg : msg_t;
msg_type : msg_type_t;
logger : logger_t := com_logger) return ()
- handle_message (variable msg_type : inout msg_type_t) return ()
- delete (msg : inout msg_t) return ()
Description
Delete message. Memory allocated by the message is deallocated.
- sender (msg : msg_t) return actor_t
Description
Return sending actor of message if defined, null_actor otherwise
- receiver (msg : msg_t) return actor_t
Description
Return sending actor of message if defined, null_actor otherwise
- message_type (msg : msg_t) return msg_type_t
Description
Return message type of message without consuming it as pop_msg_type would
- push (queue : queue_t;
variable value : inout msg_t) return ()
Description
Push message into a queue.
The message is set to null to avoid duplicate ownership
- push (msg : msg_t;
value : integer) return ()
Description
Subprograms for pushing/popping data to/from a message. Data is popped
from a message in the same order they were pushed (FIFO)
- push (msg : msg_t;
value : character) return ()
- push (msg : msg_t;
value : boolean) return ()
- push (msg : msg_t;
value : real) return ()
- push (msg : msg_t;
value : bit) return ()
- push (msg : msg_t;
value : std_ulogic) return ()
- push (msg : msg_t;
value : severity_level) return ()
- push (msg : msg_t;
value : file_open_status) return ()
- push (msg : msg_t;
value : file_open_kind) return ()
- push (msg : msg_t;
value : bit_vector) return ()
- push (msg : msg_t;
value : std_ulogic_vector) return ()
- push (msg : msg_t;
value : complex) return ()
- push (msg : msg_t;
value : complex_polar) return ()
- push (msg : msg_t;
value : ieee.numeric_bit.unsigned) return ()
- push (msg : msg_t;
value : ieee.numeric_bit.signed) return ()
- push (msg : msg_t;
value : ieee.numeric_std.unsigned) return ()
- push (msg : msg_t;
value : ieee.numeric_std.signed) return ()
- push (msg : msg_t;
value : string) return ()
- push (msg : msg_t;
value : time) return ()
- push (msg : msg_t;
variable value : inout integer_vector_ptr_t) return ()
Description
The value is set to null to avoid duplicate ownership
- push (msg : msg_t;
variable value : inout string_ptr_t) return ()
Description
The value is set to null to avoid duplicate ownership
- push (msg : msg_t;
variable value : inout queue_t) return ()
Description
The value is set to null to avoid duplicate ownership
- push (msg : msg_t;
value : boolean_vector) return ()
- push (msg : msg_t;
value : integer_vector) return ()
- push (msg : msg_t;
value : real_vector) return ()
- push (msg : msg_t;
value : time_vector) return ()
- push (msg : msg_t;
value : ufixed) return ()
- push (msg : msg_t;
value : sfixed) return ()
- push (msg : msg_t;
value : float) return ()
- push (msg : msg_t;
variable value : inout msg_t) return ()
- push_ref (constant msg : msg_t;
value : inout integer_array_t) return ()