PAM-Blox: High Performance FPGA Design for Adaptive Computing [appeared at IEEE Symposium on FPGAs for Custom Computing Machines, Napa Valley, 1998] by Oskar Mencer, Martin Morf, Michael J. Flynn abstract. PAM-Blox is an object-oriented circuit generation environment on top of the PCI Pamette design environment, PamDC. High-performance FPGA design for adaptive computing is simplified by using a hierarchy of optimized hardware objects described in C++. PAM-Blox consist of two major layers of abstraction. First, PamBlox are parameterizable simple elements such as counters and adders. Automatic placement of carry chains and flexible shapes are supported. PaModules are more complex elements possibly instantiating PamBlox. PaModules have fixed shapes and are usually optimized for a specific data-width. Examples for PaModules are multipliers, Coordinate Rotations (CORDICs), and special arithmetic units for encryption. The key difference of our approach to most other design tools for FPGAs is that the designer has total control over placement at each level of the design hierarchy, which is the key to high-performance FPGA design. Second, the object interface was chosen carefully to encourage code-reuse and simplify code-sharing between designers. PAM-Blox is intended to be part of an open library that allows design sharing between members of the adaptive computing community.