Avalon® Memory-Mapped Primary Templates

author-image

By

The templates provided contain Avalon Memory-Mapped (MM) Verilog modules bundled as an SOPC Builder-ready component. The component is capable of accessing memory and exposes a simple interface you can access with your own custom logic. The component is parameterizable, allowing you to trade off functionality for area and performance optimizations. You can use the components with any Intel® device family supported by SOPC Builder. The component is Verilog based, so you can add your own custom logic to create a self-contained component. Simply use the component editor available in SOPC Builder to create a new component based on the primary template Verilog file and your own source file(s). For ease of use, the component uses Tcl callbacks to allow you to make setting changes automatically in a GUI environment.

The system interconnect fabric supports bursting and non-bursting transfers, so various specialized components are provided. Select the component settings that are most appropriate for the memory types in your system to avoid generating excessive logic. Table 1 outlines which component to use, based on your system requirements.

Table 1. Component Types

Component Type Typical Usage
Burst Read Bursting SDR/DDR SDRAM, QDR SRAM, RLDRAM, PCIe*, PCI*, SRIO
Pipelined Read Non-bursting SDR/DDR SDRAM, SSRAM, SRAM, on-chip memory
Burst Write Bursting SDR/DDR SDRAM, QDR SRAM, RLDRAM, PCIe, PCI, SRIO
Simple Write Non-bursting SDR/DDR SDRAM, SSRAM, SRAM, on-chip memory

The component exposes control and data interfaces for you to connect to your custom logic (see Figure 1). Use the control interface to specify information such as memory addresses, transfer lengths, and handshaking signals. The data interface provides data to or from the primary internal buffer using a simple send and acknowledge protocol.

Figure 1. Read primary component.

Figure 2. Write primary component.

Both the read and write primaries share the same interface types and signals. The only exception is that the burst primaries require an additional burst count signal. This burst count signal notifies the system interconnect fabric and the memory how many sequential accesses will be made. Intel recommends that you configure the burst primary components to use a maximum burst length equal to the maximum burst length of the memory in your system. To learn more about recommended design practices, refer to the Embedded Design Handbook (PDF).

Using This Design Example

Download the Avalon-MM Primary Templates (.zip file).

Download the Avalon-MM Primary Templates README (.txt file).

The use of this design is governed by, and subject to, the terms and conditions of the Intel® Design Example License Agreement.

The .zip file contains all the necessary hardware files to reproduce the example, as well as an Avalon_MM_Primaries_Readme.pdf file. The Avalon_MM_Primaries_Readme.pdf file contains detailed information about using the templates in your own design.