amba_pv::amba_pv_addressing Class Reference
Inherited by
amba_pv::amba_pv_extension.
Detailed Description
Provides support for AMBA 3 buses addressing options.
The addressing options provided by AMBA 3 buses include:
- burst length, from 1 to 16 data transfers per burst
- burst transfer size of [8-1024] (in bits)
- wrapping, incrementing, and non-incrementing burst types.
This class is used as a base class for the AMBA-PV extension class (amba_pv_extension).
- See also:
- amba_pv_extension
|
Public Member Functions |
| | amba_pv_addressing () |
| | Default constructor.
|
| void | set_length (unsigned int) |
| | Sets the number of data transfers that occur within this burst.
|
| unsigned int | get_length () const |
| | Returns the number of data transfers that occur within this burst.
|
| bool | is_valid_length () const |
| | Returns true if the burst length is valid.
|
| void | set_size (unsigned int) |
| | Sets the maximum number of data bytes to transfer in each beat, or data transfer, within a burst.
|
| unsigned int | get_size () const |
| | Returns the maximum number of data bytes to transfer in each beat, or data transfer, within a burst.
|
| bool | is_valid_size () const |
| | Returns true if the burst size is valid.
|
| void | set_burst (amba_pv_burst_t) |
| | Specifies the burst type.
|
| amba_pv_burst_t | get_burst () const |
| | Returns the burst type.
|
| sc_dt::uint64 | address (const sc_dt::uint64 &, unsigned int) const |
| | Computes the next address of a transfer in this burst.
|
Constructor & Destructor Documentation
| amba_pv::amba_pv_addressing::amba_pv_addressing | ( | | ) | [inline] |
Default constructor.
By default:
- the burst length is initialized to 1
- the burst size is initialized to 4
- the burst type is initialized to
AMBA_PV_INCR.
- See also:
- amba_pv_burst_t
Member Function Documentation
| void amba_pv::amba_pv_addressing::set_length | ( | unsigned int | length | ) | [inline] |
Sets the number of data transfers that occur within this burst.
Each burst can be between 1 and 16 transfers long.
- Parameters:
| length | number of data transfers as in [1-16]. |
- See also:
- get_length()
| unsigned int amba_pv::amba_pv_addressing::get_length | ( | | ) | const [inline] |
Returns the number of data transfers that occur within this burst.
- See also:
- set_length()
| bool amba_pv::amba_pv_addressing::is_valid_length | ( | | ) | const [inline] |
Returns true if the burst length is valid.
| void amba_pv::amba_pv_addressing::set_size | ( | unsigned int | size | ) | [inline] |
Sets the maximum number of data bytes to transfer in each beat, or data transfer, within a burst.
- Parameters:
| size | bytes in each transfer as one of [1, 2, 4, 8, 16, 32, 64, 128]. |
- See also:
- get_size()
| unsigned int amba_pv::amba_pv_addressing::get_size | ( | | ) | const [inline] |
Returns the maximum number of data bytes to transfer in each beat, or data transfer, within a burst.
- See also:
- set_size()
| bool amba_pv::amba_pv_addressing::is_valid_size | ( | | ) | const [inline] |
Returns true if the burst size is valid.
| void amba_pv::amba_pv_addressing::set_burst | ( | amba_pv_burst_t | burst | ) | [inline] |
Specifies the burst type.
- Parameters:
- See also:
- get_burst()
| sc_dt::uint64 amba_pv::amba_pv_addressing::address | ( | const sc_dt::uint64 & | addr, |
| | unsigned int | n | |
| ) | | | const [inline] |
Computes the next address of a transfer in this burst.
- Parameters:
| addr | burst start address. |
| n | burst beat number as in [0 .. (get_length() - 1)]. |