Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP

HP.com home

PCI Pamette Components


HP Labs

» Research
» Advanced Studies
» Internet & Computing Platforms
» Printing & Imaging
» Solutions & Services
» News and events
» Technical reports
» About HP Labs
» Careers @ HP Labs
» People
» Worldwide sites
» Downloads
Content starts here



PCI Pamette is a generic PCI card based on reconfigurable logic.

The hardware is built around SRAM based FPGAs from Xilinx Corporation. These components can be infinitely reprogrammed in circuit. Programming time is measured in tens of milliseconds. The reconfigurable nature of the board makes it useful for an extremely broad class of applications.

PCI Interface

The board uses a XC4010E-2 to interface directly to a PCI bus. This FPGA is programmed with a proprietry HP PCI interface. The board is primarily intended to be used as a 5V 33MHz 32-bit PCI target and initiator. However 5V 33MHz 64-bit PCI is supported and the board has been operated successfully as both a 32-bit and a 64-bit target and initiator.

Since the PCI interface is fully reconfigurable it is even possible to passively spy and record other traffic that passes on the bus. The board can also generate traffic and measure performance.

The User Matrix

Behind the interface device is a 2x2 matrix of PQ208 footprints which, in the basic version, are populated with XC4010E-3 devices. Versions populated with XC4020E and XC4028EX are also available as are boards with the user area unpopulated. The user matrix can be programmed from the host system via the interface device. Devices in the user matrix can be programmed individually or in parallel with other user matrix devices. The matrix connects to some SRAM, DRAM modules and IEEE P1386 daughter board connectors (CMC/PMC).


Two independent SRAM banks are provided, each is 64k x 16-bits. These offer small fast scratchpad memory using 12ns SRAMs.

DRAM Modules

DRAM modules provide large amounts of local storage which can be read/written at in excess of 100 MB/s to provide bulk storage independent of the host memory system.

The board has 4 angled 72-pin SIMM connectors. The data conections are shared, there are two address inputs each going to two SIMMs, this allows the SIMMs to be operated in an interleaved manner. All the logic controlling the SIMMs is in FPGAs so it should be possible to use any kind of 5V 72-pin SIMM. The data connection supports memories up to 36 bit wide. There are 12 address lines supporting up to x 16M modules. To meet the dimension limits of a single PCI slot the DRAM modules used should be 1 inch or less in depth. Deeper modules may be used provided the next slot is empty or contains a short PCI card.

IEEE P1386 Common Mezzanine Card (CMC)

The board provides a daughter card facility conformant with the IEEE P1386 Common Mezzanine Card standard. Short single width mezzanine cards are supported. Jn1 through Jn4 are present.

With appropriate FPGA programming the mezzanine card may use PCI protocols (IEEE P1386.1) 32 or 64 bit wide with 64 extra uncommitted I/Os, or a custom protocol may be developed using only the P1386 layer. Thus the mezzanine card allows electrical adaptation for external connections through the development of simple low-cost adapter cards using a custom protocol as well as the direct connection of standard commercially available PMC cards.



The PCI Pamette software kit includes the latest PCI Pamette firmware in the form of a Xilinx RBT file as well as applications to update the on board firmware EPROM. See the PCI Pamette FAQ for details of the update procedure.



Support software for PCI Pamette consists of drivers, runtime support and CAD software.


PCI Pamette drivers allows the board to be mapped to a user application's address space and provide support for pinning and translation of memory and fielding of interrupts. Supported systems include Tru64 UNIX on Alpha and Windows NT on x86.

Drivers maybe downloaded as part of the PCI Pamette software kits from our download page. Both the Unix and the Windows NT kits contain the sources of the drivers.


The PamRT C language runtime library allows user written applications to control the board and communicate with user developed circuits that have been downloaded into the board. It supports download and readback of user circuits, setting clocks and other functions.

PamRT is distributed from our download page in source form and as precompiled libraries for the supported platforms.


PamDC is a C++ library that can be used to produce Xilinx XNF format netlists suitable for compilation by Xilinx' back-end place and route tools. PamDC is distributed from our download page as a pre-compiled library for linking against programs compiled with DEC CXX on Tru64 UNIX, or Microsoft Visual C++ V4.0 on x86. Documentation is also found on our download page as Postscript or PDF, or here, in PDF format.

Note: PCI Pamette does not require the use of PamDC. PCI Pamette may be programmed with any commercial system that can be targeted to Xilinx 4000E family FPGA. Conversely PamDC is not limited solely to use with PCI Pamette; it can produce XNF for most Xilinx 4000 or 3000 series devices.


PCI Pamette Software Summary Matrix

  Platforms Distributed as Language Required?
Drivers Tru64 UNIX (Alpha)

Windows NT (x86 and Alpha)

C Required
PamRT Tru64 UNIX (Alpha)

Windows NT (x86 and Alpha)

C Required
PamDC  C++ for Tru64 UNIX 

Microsoft Visual C++ V4.0

C++ Optional

Support for other platforms

Key runtime software (Drivers and PamRT) is distributed in source form and ports to other platforms are possible.

Printable version
Privacy statement Using this site means you accept its terms Feedback to HP Labs
© 2005 Hewlett-Packard Development Company, L.P.