Do you need to develop your own Xilinx implementation and prefer to use a COTS solution for the board? PMC-XM-DIFF is part of a family of user defined, reprogrammable FPGA based designs from Dynamic Engineering. PMC-XM-DIFF is designed to support clients who need to control the FPGA and their application uses differential IO. The IO is defined with transceivers using an SO8 package with multiple common footprint devices allowing for RS-485 and LVDS. Each IO has a separate Direction line and a dedicated analog switch to allow for termination control.
Each IO are resistor isolated from the front and rear connectors to allow front or rear operation without creating bus stubs. Each of the differential pairs is properly matched and impedance controlled. All of the IO to the front or rear panels are also matched against each other for "no skew" other than that introduced by the system cabling and active devices. 34 differential pairs are available at the front panel and/or 32 at Pn4.
The transceivers are interconnected with the FPGA to allow user control over the IO. The user FPGA is supported on many levels to make the user design implementation as easy as possible. FLASH is supplied along with a JTAG programming method to implement auto loading applications or for a default initialization of the FPGA. The FPGA can also be loaded [or over-written] using software.
The base design includes the PMC/PCI interface with DMA. The Spartan VI FPGA implements the board level decoding to allow control over the loading of the User FPGA, DMA into and out of the board, memory to support DMA, and an arbitration unit to allow multiple DMA ports to be implemented. The User FPGA device is further supported by DDR [128Mx16], PLL, Digital Temperature Sensor.
The AMD Xilinx Spartan VI FPGA has the right combination of speed, space, memory, and features to implement many embedded projects. A summary of the XC6S capabilities:
8 DCM [Digital Clock Manager] used for clock control, synthesis, phase shifting.
4 PMCD : Phase Matched Clock Divider
Clock Buffers: multiple external and internal sources can be routed with low skew buffers
160 blocks of Block RAM : each 18 Kbits
64 Extreme DSP slices: each with 18x18 multiplier, adder, and accumlator
Additional 416 Kbits of distributed RAM
59,904 Logic Cells
To make integration easy an engineering kit is available. The engineering kit has a base "footprint", written in VHDL. A windows® driver is also part of the engineering kit. Frequently clients ask Dynamic Engineering to do the initial programming for their project and then deliver a custom engineering kit with the initial implementation, custom driver and manuals to them. In this state the client can do the maintenance or add features while taking advantage of Dynamic Engineering´s expertise and familiarity with PMC-XM-DIFF.
The VHDL defined design can have any type of interface that the user wants. In the BiSerial version of the design Dynamic Engineering has implemented Manchester, Miller, Telemetry, specialized command/control, UART, SDLC and other protocols. Any of the BiSerial designs can be ported to the PMC-XM-DIFF as part of a custom implementation for your requirements. Alternatively you can implement or port existing design work to the PMC-XM-DIFF. The channelized architecture isolates the IO control from the bus control making it easy to port design work in or out.
DMA can be used to move data from the system memory to local storage within the FPGA and vice-versa. The PCI bus is 32/33 universal voltage. The interconnection between the PCI FPGA and the user FPGA is also 32 bits and operates at 33 MHz. Two channels of TX and two channels of RX DMA are supported plus standard PCI target accesses. An arbiter within the PCI FPGA takes care of monitoring the local bus between the two FPGAs. The channels have status bits used to communicate that the channel is ready to be read or loaded for DMA. There are 8 address bits for 256 x32 of register memory decoded from the PCI space. In addition there are 10 "spare" lines which could be used for address expansion or other custom purposes.
Please note PMC-XM-DIFF can be used with a PMC carrier to adapt to PCI-104, PCI, PCIe, cPCI, VME and other situations. For your convenience; Dynamic Engineering has many PMC carriers.
PMC-XM-DIFF Block Diagram