About the Software and Firmware PCI CD/CDa Configurable DMA Interface User’s Guide
4 EDT, Inc. May 2007
•The PCI FPGA communicates with the host computer over the PCI Bus. It implements the DMA
engine, which transfers data between the board and the host computer, and loads its firmware on
powerup from flash ROM located on the main board.
•The UI FPGA transfers data between the user device and the PCI FPGA; in some instances, it
also sends the data to the mezzanine board. The UI FPGA or mezzanine board may also process
the data in some manner, depending on the application.
• In addition, some mezzanine boards also have an FPGA which must be loaded with the correct
firmware.
FPGA configuration files define the firmware required for the PCI FPGA and the UI FPGA. The PCI
FPGA firmware files are in the
flash subdirectory of the EDT top-level distribution directory. UI FPGA
firmware files are in the
bitfiles subdirectory of the EDT top-level distribution directory. mezzanine
board configuration files, if any, are in the mezzanine board-specific subdirectory.
Each FPGA must be loaded with the firmware specific to the chosen interface, and the firmware in one
FPGA must be compatible with the firmware in the other. By default, the correct FPGA configuration
file for the PCI FPGA is loaded at the factory. However, you’ll need to load the required FPGA
configuration file for the UI FPGA yourself.
The firmware files specific to your PCI CD/CDa are listed at the beginning of this section. Instructions
for loading them are provided in Configuring the PCI CD/CDa.
The PCD Device Driver
The PCD device driver is the software running on the host that allows the host operating system to
communicate with the PCI CD/CDa. The driver is loaded into the kernel upon installation, and
thereafter runs as a kernel module. The driver name and subdirectory is specific to each supported
operating system; the installation script handles those details for you, automatically installing the
correct device driver in the correct operating system-specific manner.
Software Initialization Files
Software initialization files (having the extension .cfg) are editable text files that run like scripts to
configure EDT boards so that they are ready to perform DMA. The commands in a software
initialization file are defined in a C application named
initpcd. When you invoke initpcd, you specify
which software initialization file to use with the
-f flag.
A typical software initialization file loads an FPGA configuration file into the UI FPGA and sets up
various registers to prepare the board for DMA transfers. Some software initialization files may also
load an FPGA configuration file into an FPGA residing on the mezzanine board.
A variety of software initialization files are included with the EDT software, at least one of which is
customized for each main board or main board / mezzanine board combination — that is, each FPGA
configuration file has a matching software initialization file. Software initialization files are located in
the
pcd_config subdirectory of the EDT top-level distribution directory. The software initialization files
specific to your PCI CD/CDa are listed at the beginning of this section. Instructions for their use are
provided in Configuring the PCI CD/CDa.
Commands defined in
initpcd and typically found in software initialization files allow for specific
FPGA configuration files to be loaded (for example,
bitfile:), write specified hexadecimal values to
specified registers (for example,
command_reg:), enable or disable byte-swapping or short-swapping
to accommodate different operating systems’ requirements for bit ordering (for example,
byteswap:),
or invoke arbitrary commands (for example,
run_command:). If the mezzanine board you’re using has
Komentáře k této Příručce