Entity: tb_avalon_master
- File: tb_avalon_master.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 Author Slawomir Siluk slaweksiluk@gazeta.pl
Generics
| Generic name | Type | Value | Description |
|---|---|---|---|
| runner_cfg | string | ||
| encoded_tb_cfg | string |
Signals
| Name | Type | Description |
|---|---|---|
| clk | std_logic | |
| address | std_logic_vector(tb_cfg.addr_width-1 downto 0) | |
| writedata | std_logic_vector(tb_cfg.data_width-1 downto 0) | |
| readdata | std_logic_vector(tb_cfg.data_width-1 downto 0) | |
| byteenable | std_logic_vector(tb_cfg.data_width/8 -1 downto 0) | |
| burstcount | std_logic_vector(tb_cfg.burst_width -1 downto 0) | |
| write | std_logic | |
| read | std_logic | |
| readdatavalid | std_logic | |
| waitrequest | std_logic |
Constants
| Name | Type | Value | Description |
|---|---|---|---|
| tb_cfg | tb_cfg_t | decode(encoded_tb_cfg) | |
| master_logger | logger_t | get_logger("master") | |
| tb_logger | logger_t | get_logger("tb") | |
| master_actor | actor_t | new_actor("Avalon-MM Master") | |
| bus_handle | bus_master_t | new_bus(data_length => tb_cfg.data_width, address_length => tb_cfg.addr_width, logger => master_logger, actor => master_actor) |
|
| memory | memory_t | new_memory | |
| buf | buffer_t | allocate(memory, tb_cfg.transfers * byteenable'length) |
|
| avalon_slave | avalon_slave_t | new_avalon_slave( memory => memory, readdatavalid_high_probability => tb_cfg.readdatavalid_prob, waitrequest_high_probability => tb_cfg.waitrequest_prob, name => "Avalon-MM Slave" ) |
Types
| Name | Type | Description |
|---|---|---|
| tb_cfg_t |
Functions
- gen_rndburst ( variable rnd : inout RandomPType;
variable rndburst : inout positive;
variable transfers : inout natural ) return ()
Processes
- main_stim: ( )
Instantiations
- dut: work.avalon_master
- slave: work.avalon_slave