Entity: tb_axi_stream
- File: tb_axi_stream.vhd
Diagram
Description
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
Copyright (c) 2014-2021, Lars Asplund lars.anders.asplund@gmail.com
Generics
| Generic name | Type | Value | Description |
|---|---|---|---|
| runner_cfg | string | ||
| g_id_length | natural | 8 | |
| g_dest_length | natural | 8 | |
| g_user_length | natural | 8 | |
| g_stall_percentage_master | natural range 0 to 100 | 0 | |
| g_stall_percentage_slave | natural range 0 to 100 | 0 |
Signals
| Name | Type | Description |
|---|---|---|
| aclk | std_logic | |
| areset_n | std_logic | |
| tvalid | std_logic | |
| tready | std_logic | |
| tdata | std_logic_vector(data_length(slave_axi_stream)-1 downto 0) | |
| tlast | std_logic | |
| tkeep | std_logic_vector(data_length(slave_axi_stream)/8-1 downto 0) | |
| tstrb | std_logic_vector(data_length(slave_axi_stream)/8-1 downto 0) | |
| tid | std_logic_vector(id_length(slave_axi_stream)-1 downto 0) | |
| tdest | std_logic_vector(dest_length(slave_axi_stream)-1 downto 0) | |
| tuser | std_logic_vector(user_length(slave_axi_stream)-1 downto 0) | |
| not_valid | std_logic | |
| not_valid_data | std_logic | |
| not_valid_keep | std_logic | |
| not_valid_strb | std_logic | |
| not_valid_id | std_logic | |
| not_valid_dest | std_logic | |
| not_valid_user | std_logic | |
| axis_stall_stats | axis_stall_stats_t |
Constants
| Name | Type | Value | Description |
|---|---|---|---|
| min_stall_cycles | natural | 5 | |
| max_stall_cycles | natural | 15 | |
| master_stall_config | stall_config_t | new_stall_config(stall_probability => real(g_stall_percentage_master)/100.0, min_stall_cycles => min_stall_cycles, max_stall_cycles => max_stall_cycles) |
|
| slave_stall_config | stall_config_t | new_stall_config(stall_probability => real(g_stall_percentage_slave)/100.0 , min_stall_cycles => min_stall_cycles, max_stall_cycles => max_stall_cycles) |
|
| master_axi_stream | axi_stream_master_t | new_axi_stream_master( data_length => 8, id_length => g_id_length, dest_length => g_dest_length, user_length => g_user_length, stall_config => master_stall_config, logger => get_logger("master"), actor => new_actor("master"), monitor => default_axi_stream_monitor, protocol_checker => default_axi_stream_protocol_checker ) |
|
| master_stream | stream_master_t | as_stream(master_axi_stream) | |
| master_sync | sync_handle_t | as_sync(master_axi_stream) | |
| slave_axi_stream | axi_stream_slave_t | new_axi_stream_slave( data_length => 8, id_length => g_id_length, dest_length => g_dest_length, user_length => g_user_length, stall_config => slave_stall_config, logger => get_logger("slave"), actor => new_actor("slave"), monitor => default_axi_stream_monitor, protocol_checker => default_axi_stream_protocol_checker ) |
|
| slave_stream | stream_slave_t | as_stream(slave_axi_stream) | |
| slave_sync | sync_handle_t | as_sync(slave_axi_stream) | |
| monitor | axi_stream_monitor_t | new_axi_stream_monitor( data_length => 8, id_length => g_id_length, dest_length => g_dest_length, user_length => g_user_length, logger => get_logger("monitor"), actor => new_actor("monitor"), protocol_checker => default_axi_stream_protocol_checker ) |
|
| protocol_checker | axi_stream_protocol_checker_t | new_axi_stream_protocol_checker( data_length => 8, id_length => g_id_length, dest_length => g_dest_length, user_length => g_user_length, logger => get_logger("protocol_checker"), max_waits => 8 ) |
|
| n_monitors | natural | 3 |
Types
| Name | Type | Description |
|---|---|---|
| axis_stall_stats_fields_t | --------------------------------------------------------------------------- signals used for the statistics for stall evaluation | |
| axis_stall_stats_t |
Processes
- main: ( )
- statistics: ( aclk )
Instantiations
- axi_stream_master_inst: work.axi_stream_master
- axi_stream_slave_inst: work.axi_stream_slave
- axi_stream_monitor_inst: work.axi_stream_monitor
- axi_stream_protocol_checker_inst: work.axi_stream_protocol_checker