Designing a partially reconfigured system

Partial reconfiguration is the ability of certain FPGAs to reconfigure only selected protions of the device while other portions contiue to operate undisturbed. When used in conjunction with the runtime reconfiguration (RTR) implementation strategy, the performance of the system can be greatly enhanced. RRANN2 is a RTR artifical neural network that uses partial reconfiguration. Its operation is divided into a series of sequentially executed stages with each stage implemented as a separate circuit module. System operation consists of sequencing through these modules at runtime, one configuraiton at a time. By carefully organizing each circuit module in order to establish a large number of functional and physical commonalities, partial reconfiguration is used to leave common circuitry resident on the FPGAs during system reconfiguration. Transitioning between configurations can then be accomplished by updating only the differences between circuit modules. This significantly enhances overall performance by reducing the amount of time the RTR application spends configuring. RRANN2 exhibited a 53.5% reduction in reconfiguration time through the use of partial reconfiguration. This paper presents the methodology used to design the RRANN2 system.