Reconfiguration optimization for nonvolatile memories based field programmable gate arrays

Date
2018
Journal Title
Journal ISSN
Volume Title
Publisher
University of Delaware
Abstract
Field Programmable Gate Arrays (FPGAs) are programmable logic blocks based circuit devices, which can be configured to different logic functions due to various demands. Compared with application-specific integrated circuits (ASICs), FPGAs are able to deliver much lower non-recurring engineering costs and much shorter time-to-market of product. As time goes by, the popularity of FPGAs increases due to the super flexibility of configurable soft logic. The recent trends toward wide appliance of the coarse-grained architectural approach that combines FPGAs with microprocessors cores and uses FPGAs as accelerators or co-processors, make FPGAs even more indispensable. ☐ Traditionally the manufacturing of FPGAs is based on static random-access memory (SRAMs) technology. As the transistor feature size goes down to the deep-nano scale (less than 20nm), the drawbacks of SRAM are exposed explicitly such as high leakage power and limited scalability. SRAMs are also unreliable since the logic information would be lost if the power supply is off. ☐ Non-volatile memories (NVMs) outperform traditional SRAMs regarding low power consumption, high capacity, near-zero power-on delay, and high error-resistance. Researchers have demonstrated the possibilities of implementing FPGA building blocks with various types of NVMs. However, using NVMs also brings several new design challenges to FPGAs: the slow and energy-hungry write operations of NVM may degrade FPGA (re) configuration speed and power efficiency, while the limited write endurance of NVM constrains the number of times that the FPGA can be (re)configured, leading to quite short device lifetime. Unfortunately, none of these NVM features is taken into consideration in current FPGA synthesis flows, which are optimized solely for SRAM-FPGAs. To qualify NVM-FPGA deployment, FPGA synthesis flow should be optimized and tuned to take NVM characteristics into consideration. ☐ In this dissertation, to tackle the two aforementioned major NVM limitations, an NVM friendly FPGA synthesis flow is elaborately developed. Particularly, logic synthesis, placement, and routing stage are enhanced and optimized for being compatible with NVMFPGA. In logic synthesis, the flip-flops (FFs), which can be built with NVM devices, are the essential elements for finite state machine (FSM) construction. To efficiently use flip-flops and reduce dynamic power caused by bit flips, an NVM-friendly state encoding framework is proposed. Placement aims at configuring configurable logic blocks (CLBs) and consists of co-placement and logic placement. First, an age-aware co-placement is taken to choose the design area for memory blocks and logic blocks. Then, the logic placement with different placement algorithms is executed to balance CLB reconfiguration cost and traditional constraints such as timing. In routing, the reconfiguration costs of NVM-based switch boxes (SBs) which are used for global routing and connection can be optimized. A routing path reuse technique is proposed to reduce SB reconfiguration costs efficiently through a path reuse maximization scheme together with a reuse-aware routing algorithm. ☐ The studies in this dissertation have the potentials in promoting the popularity and practicality of NVM-FPGAs. The proposed research studies have the potentials in offering energy-efficient, reliable, and long-lasting FPGAs for future generation of self-adaptive systems.
Description
Keywords
Citation