Memory Traffic Generator

Generate traffic towards memory controller

  • Library:
  • SoC Blockset / Memory

  • Memory Traffic Generator block

Description

When connected to a memory controller, the Memory Traffic Generator block generates read or write requests to the memory, acting as a master. Use this block to model the impact that a master’s memory accesses has on your algorithm without explicitly simulating the behavior of that master. You can also use the Memory Traffic Generator block to characterize performance of your memory subsystem under varying levels of memory access contention.

Note

To model memory contention, the Memory Traffic Generator block gains memory access, competes in arbitration, and releases access. The Memory Traffic Generator block does not actively read or write from memory.

Ports

Input

expand all

This message port receives control messages from a connected Memory Controller block that the requested burst transaction completed. Connect the burstDone output signal from the Memory Controller block to this port. For more information on messages, see Messages.

Data Types: BurstRequest2BusObj

Output

expand all

This message port sends a message requesting burst access from the memory controller. Connect this port to the burstReq input port of the Memory Controller block. For more information on messages, see Messages.

Data Types: BurstRequest2BusObj

Parameters

expand all

Choose between a write or read request type for the block to generate. Specify Writer or Reader, respectively.

Generate recurring traffic patterns by setting this value to an integer greater than one.

Specify the size of each burst transaction in bytes. This parameter, along with the width of the datapath (as configured in the configuration parameters), controls the burst length.

For example, if burst size is 256 bytes, and the Memory Channel block is configured with Data width (bits) set to 64 (8 bytes), then Burst length is calculated as 256/8 = 32.

Specify simulation time between burst requests, in seconds.

Dependencies

To enable this parameter, clear the Allow simulation only parameters parameter.

Tip

If you cleared Allow simulation only parameters and this parameter is not visible – click Apply at the bottom of the Block Parameters dialog box.

Select this parameter to enable configuration of simulation-only parameters.

Specify simulation time, in seconds, for sending the initial burst request. This value must be a positive real scalar.

Dependencies

To enable this parameter, select Allow simulation only parameters parameter.

Specify the range of simulation time between burst requests with a vector of the form [min max].

  • min is the minimum time, in seconds, between recurring requests.

  • max is the maximum time, in seconds, between recurring requests.

min and max must be nonnegative, and max must be greater than min.

To specify a deterministic rate, set the minimum and maximum time between requests to the same value. If you want reproducible randomization, specify a seed in the configuration parameters, on the Hardware Implementation pane. For more information on setting the seed value, see Task and memory simulation.

Dependencies

To enable this parameter, select the Allow simulation only parameters parameter.

Select this parameter to wait for a burst-done signal from the previous burst before generating the next burst request. Clear this parameter to generate burst requests regardless of other master traffic. To get a known data rate, clear this parameter.

Select this parameter to view diagnostic messages when the Traffic Generator block drops a packet. Clearing this parameter enhances simulation performance.

Extended Capabilities

Fixed-Point Conversion
Design and simulate fixed-point systems using Fixed-Point Designer™.

Introduced in R2019a