Embedded Solutions
Page 10 of 46
Address Map Spartan3
Register Name
Offset
Description
PMC_XM_BASE
0x0000 // Base control register
PMC_XM_USER_SWITCH
0x0004 // User switch/Xilinx rev. read port
PMC_XM_STATUS
0x0008 // Interrupt status/clear port
XM_CHAN0_CNTRL
0x0010 // Channel 0 Control register offset
XM_CHAN0_STATUS
0x0014 // Channel 0 Status read/latch clear port offset
XM_CHAN0_WR_DMA_PNTR
0x0018 // Channel 0 Write DMA physical address register
XM_CHAN0_RD_DMA_PNTR
0x001C // Channel 0 Read DMA physical address register
XM_CHAN0_FIFO
0x0020 // Channel 0 FIFO offset for single word access
XM_CHAN0_TX_AMT_LVL
0x0024 // Channel 0 TX almost empty level register offset
XM_CHAN0_RX_AFL_LVL
0x0028 // Channel 0 RX almost full level register offset
XM_CHAN0_TX_FIFO_COUNT
0x002C // Channel 0 TX FIFO count read port offset
XM_CHAN0_RX_FIFO_COUNT
0x0030 // Channel 0 RX FIFO count read port offset
XM_CHAN1_CNTRL
0x0040 // Channel 1 Control register offset
XM_CHAN1_STATUS
0x0044 // Channel 1 Status read/latch clear port offset
XM_CHAN1_WR_DMA_PNTR
0x0048 // Channel 1 Write DMA physical address register
XM_CHAN1_RD_DMA_PNTR
0x004C // Channel 1 Read DMA physical address register
XM_CHAN1_FIFO
0x0050 // Channel 1 FIFO offset for single word access
XM_CHAN1_TX_AMT_LVL
0x0054 // Channel 1 TX almost empty level register offset
XM_CHAN1_RX_AFL_LVL
0x0058 // Channel 1 RX almost full level register offset
XM_CHAN1_TX_FIFO_COUNT
0x005C // Channel 1 TX FIFO count read port offset
XM_CHAN1_RX_FIFO_COUNT
0x0060 // Channel 1 RX FIFO count read port offset
FIGURE 2
PMC-XM SPARTAN3 XILINX ADDRESS MAP
The address map provided is for the local decoding performed within the PMC-XM
Spartan3 Xilinx. The addresses are all offsets from a base address. The base address
and interrupt level are provided by the host in which the PMC-XM is installed.
The host system will search the PCI bus to find the assets installed during power-on
initialization. The VendorId = 0x10EE and the CardId = 0x0024 for the PMC-XM.
Interrupts are requested by the configuration space. PCIView and other third party
utilities can be useful to see how your system is configured. Dynamic Engineering
recommends using the Dynamic Engineering Drivers to take care of initialization and
device registration.