StReAm: Object-Oriented Programming of Stream Architectures using PAM-Blox [appeared at Field-Programmable Logic (FPL) Conference, Villach, Austria, Sept. 2000] by Oskar Mencer, Heiko Hubert, Martin Morf, Michael J. Flynn Simplifying the programming models is paramount to the success of reconfigurable computing. We apply the principles of object-oriented programming to the design of stream architectures for reconfigurable computing. The resulting tool, \textbf{StReAm}, is a domain specific compiler on top of the object-oriented module generation environment PAM-Blox. Combining module generation with a high-level programming tool in C++ gives the programmer the convenience to explore the flexibility of FPGAs on the arithmetic level and write the algorithms in the same language and environment. Stream architectures consist of the pipelined dataflow graph mapped directly to hardware. Data streams through the implementation of the dataflow graph with only minimal control logic overhead. The main advantage of stream architectures is a clock-frequency equal to the data-rate leading to very low power consumption. StReAm takes C++ expressions and converts them to a pipelined, scheduled stream architecture, including FIFO buffers for intermediate storage. The state of PAM-Blox hardware objects includes size and scheduling attributes of the object. The StReAm abstraction of PAM-Blox can handle combinational, fully pipelined, and sequential (iterative) arithmetic units. We show a set of benchmarks from signal processing, encryption, image processing and 3D graphics in order to demonstrate the advantages of object-oriented programming of FPGAs.