Lattice Semiconductor
Introduction
The Multi-Channel Direct Memory Access (MCDMA) Controller is designed to improve microprocessor system per-
formance by allowing external devices to transfer information directly from the system memory and vice versa.
Memory-to-memory transfer capability is also supported.
The MCDMA Controller core supports two modes of operation: 8237 and non-8237 modes. When the 8237 mode
is selected, the core is functionally compatible with the Intel 8237A DMA Controller device with a few variations.
These variations are listed in the Compatibility Differences with the 8237 Intel Device section of this document. The
8237 and non-8237 modes are detailed later in this document to provide a clearer description of each mode.
Differences Between 8237 Mode and Non-8237 Mode MCDMA
While the 8237 and non-8237 modes share some commonality, they also have differences. Table 1 shows the dif-
ferences between the two modes.
Table 1. Feature Differences Between the 8237 and Non-8237 Modes
Multiple independent channels
Parameterized address bus
Parameterized data bus
Parameterized word count register
Auto-initialization
Compressed timing
Cascade mode
DMA transfer configuration for each channel
Priority request mode
DMA request active state
Software reset
Compatibility Differences with the 8237 Intel Device
When the MCDMA core is configured for the 8237 mode, it differs from the Intel 8237A core in the following ways:
• The bi-directional ports are split into separate input and output ports.
• MCDMA does not support the cascade mode of operation.
• The latch that holds the upper byte of the address is internal and the address strobe signal ADSTB is not gener-
ated.
The slave's write cycle in the MCDMA core is synchronous.
Features
• Selectable 8237 mode
• Configurable up to 16 independent DMA channels for non-8237 mode
• Configurable data width of 8-, 16-, 32- or 64-bits for non-8237 mode
• Configurable address width of 16-, 24- or 32-bits for non-8237 mode
• Configurable Word Count register width for non-8237 mode
• Independent auto-initialization of all channels
• Memory-to-memory transfers on single, block, and demand transfer mode
• Memory block initialization
Feature
Multi-Channel DMA Controller User's Guide
8237 Mode
4
Fixed 16 bits
Fixed 8 bits
Fixed 16 bits
Supported
Supported
Not supported
Not supported
Rotating/fixed priority mode
High/low
Supported
2
Non-8237 Mode
1-16
16, 24 or 32 bits
8, 16, 32 or 64 bits
8, 16, 24 or 32 bits
Supported
Not supported
Not supported
Supported
Fixed priority mode
High
Not supported
Need help?
Do you have a question about the ispLever Core Multi-Channel DMA Controller and is the answer not in the manual?