Software Drivers
Main Page | Data Structures | File List | Data Fields | Globals

mpmc v3_01_a

The Xilinx XMpmc driver supports the following functionality in the Xilinx Multi-Port Memory Controller (MPMC), a soft IP core designed for Xilinx FPGAs:

The device driver is not necessary for the MPMC device unless one of the three functionalities is enabled in the MPMC device.

This header file contains the interfaces for the MPMC device driver.

ECC is a mode that detects and corrects single memory errors and detects the double memory errors. The XMpmc device driver provides the following abilities for ECC:

The XMpmc device driver provides the following abilities for Performance Monitoring:

The XMpmc device driver provides the following abilities for Static Phy:

The XMpmc device driver provides the following abilities for Debug Registers:

The following Debug registers are available when the Processor is Virtex4/Virtex5.

The following Debug registers are available only when the Processor is Virtex5.

Initialization and Configuration

The device driver enables higher layer software (for example, an application) to communicate with the MPMC device.

XMpmc_CfgInitialize() API is used to initialize the XMpmc device instance. The user needs to first call the XMpmc_LookupConfig() API which returns the Configuration structure pointer which is passed as a parameter to the XMpmc_CfgInitialize() API.

Interrupts

The MPMC device has one physical interrupt which must be connected to the interrupt controller in the system. The driver does not provide any interrupt handler for handling the interrupt. The users of this driver must connect their own interrupt handler with the interrupt system.

Asserts

Asserts are used within all Xilinx drivers to enforce constraints on argument values. Asserts can be turned off on a system-wide basis by defining, at compile time, the NDEBUG identifier. By default, asserts are turned on and it is recommended that users leave asserts on during development.

Threads

This driver is not thread safe. Any needs for threads or thread mutual exclusion must be satisfied by the layer above this driver.

Hardware Parameters Needed

To use this driver with the MPMC device one of the following functionalities must be enabled:

The interrupt capability for the device must be enabled in the hardware if interrupts are to be used with the driver. The interrupt functions of the device driver will assert when called if interrupt support is not present in the hardware.

The ability to force errors is a test mode and it must be enabled in the hardware if the control register is to be used to force ECC errors.

 MODIFICATION HISTORY:

 Ver   Who  Date     Changes
 ----- ---- -------- -----------------------------------------------
 1.00a mta  02/24/07 First release
 2.00a mta  10/24/07 Added support for Performance Monitoring and Static PHY
 3.00a sdm  12/16/08 Added support for Debug Registers
 3.01a sdm  07/14/09 Updated the driver Tcl to use the new parameters
                     C_MPMC_SW_BASEADDR and C_MPMC_SW_HIGHADDR when
                     C_ALL_PIMS_SHARE_ADDRESSES=0