SUBMITTED FOR PUBLICATION TO: IEEE TRANSACTIONS ON VLSI, DECEMBER 5, A Low-Power Field-Programmable Gate Array Routing Fabric.

Similar documents
Abbas El Gamal. Joint work with: Mingjie Lin, Yi-Chang Lu, Simon Wong Work partially supported by DARPA 3D-IC program. Stanford University

CELL-BASED design technology has dominated

Vdd Programmability to Reduce FPGA Interconnect Power

Synthesizable FPGA Fabrics Targetable by the VTR CAD Tool

How Much Logic Should Go in an FPGA Logic Block?

Designing Heterogeneous FPGAs with Multiple SBs *

Performance Benefits of Monolithically Stacked 3D-FPGA

160 M. Nadjarbashi, S.M. Fakhraie and A. Kaviani Figure 2. LUTB structure. each block-level track can be arbitrarily connected to each of 16 4-LUT inp

SPEED AND AREA TRADE-OFFS IN CLUSTER-BASED FPGA ARCHITECTURES

mrfpga: A Novel FPGA Architecture with Memristor-Based Reconfiguration

A Routing Approach to Reduce Glitches in Low Power FPGAs

Leakage Efficient Chip-Level Dual-Vdd Assignment with Time Slack Allocation for FPGA Power Reduction

Vdd Programmable and Variation Tolerant FPGA Circuits and Architectures

Device And Architecture Co-Optimization for FPGA Power Reduction

Static and Dynamic Memory Footprint Reduction for FPGA Routing Algorithms

Introduction Warp Processors Dynamic HW/SW Partitioning. Introduction Standard binary - Separating Function and Architecture

Basic Block. Inputs. K input. N outputs. I inputs MUX. Clock. Input Multiplexors

Interconnect Driver Design for Long Wires in Field-Programmable Gate Arrays1

FIELD programmable gate arrays (FPGAs) provide an attractive

Buffer Design and Assignment for Structured ASIC *

FPGA Power Reduction Using Configurable Dual-Vdd

Research Article FPGA Interconnect Topologies Exploration

Power Solutions for Leading-Edge FPGAs. Vaughn Betz & Paul Ekas

Timing-Driven Placement for FPGAs

Christophe HURIAUX. Embedded Reconfigurable Hardware Accelerators with Efficient Dynamic Reconfiguration

Detailed Router for 3D FPGA using Sequential and Simultaneous Approach

A Path Based Algorithm for Timing Driven. Logic Replication in FPGA

Implementing Logic in FPGA Memory Arrays: Heterogeneous Memory Architectures

Variation Aware Routing for Three-Dimensional FPGAs

FAST time-to-market, steadily decreasing cost, and

Low-Power Programmable FPGA Routing Circuitry

Statistical Analysis and Design of HARP Routing Pattern FPGAs

Three DIMENSIONAL-CHIPS

An LP-based Methodology for Improved Timing-Driven Placement

Reducing Power in an FPGA via Computer-Aided Design

Full Custom Layout Optimization Using Minimum distance rule, Jogs and Depletion sharing

Memory Footprint Reduction for FPGA Routing Algorithms

An Efficient Chip-level Time Slack Allocation Algorithm for Dual-Vdd FPGA Power Reduction

A Novel Net Weighting Algorithm for Timing-Driven Placement

Spiral 2-8. Cell Layout

IMPROVING LOGIC DENSITY THROUGH SYNTHESIS-INSPIRED ARCHITECTURE Jason H. Anderson

Heterogeneous Technology Mapping for FPGAs with Dual-Port Embedded Memory Arrays

Architecture Evaluation for

CS310 Embedded Computer Systems. Maeng

Power Consumption in 65 nm FPGAs

Fast Timing-driven Partitioning-based Placement for Island Style FPGAs

Optimizing Effective Interconnect Capacitance for FPGA Power Reduction

AS FIELD-PROGRAMMABLE GATE ARRAYS

FPGA Clock Network Architecture: Flexibility vs. Area and Power

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

A Review Paper on Reconfigurable Techniques to Improve Critical Parameters of SRAM

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

ECE 636. Reconfigurable Computing. Lecture 2. Field Programmable Gate Arrays I

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

Wire Type Assignment for FPGA Routing

Accelerating FPGA Routing Using Architecture-Adaptive A* Techniques

Fast FPGA Routing Approach Using Stochestic Architecture

Reduce Your System Power Consumption with Altera FPGAs Altera Corporation Public

An FPGA Architecture Supporting Dynamically-Controlled Power Gating

FYSE420 DIGITAL ELECTRONICS. Lecture 7

ON THE INTERACTION BETWEEN POWER-AWARE FPGA CAD ALGORITHMS

Design and Implementation of FPGA Logic Architectures using Hybrid LUT/Multiplexer

Performance Improvement and Size Reduction Scheme over Circuits by Using LUT/MUX Architecture

ARCHITECTURE AND CAD FOR DEEP-SUBMICRON FPGAs

INTRODUCTION TO FPGA ARCHITECTURE

TUTORIAL II ECE 555 / 755 Updated on September 11 th 2006 CADENCE LAYOUT AND PARASITIC EXTRACTION

On GPU Bus Power Reduction with 3D IC Technologies

INTERNATIONAL JOURNAL OF PROFESSIONAL ENGINEERING STUDIES Volume 9 /Issue 3 / OCT 2017

FPGA PLB Architecture Evaluation and Area Optimization Techniques using Boolean Satisfiability

Chapter 5: ASICs Vs. PLDs

Logic Block Clustering of Large Designs for Channel-Width Constrained FPGAs

High Capacity and High Performance 20nm FPGAs. Steve Young, Dinesh Gaitonde August Copyright 2014 Xilinx

Timing Optimization of FPGA Placements by Logic Replication

Physical Synthesis for FPGA Interconnect Power Reduction by Dual-Vdd Budgeting and Retiming

Synthesizable FPGA Fabrics Targetable by the Verilog-to-Routing (VTR) CAD Flow

Automated Extraction of Physical Hierarchies for Performance Improvement on Programmable Logic Devices

FPGA Power Management and Modeling Techniques

ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS)

Timing-driven Partitioning-based Placement for Island Style FPGAs

Placement Algorithm for FPGA Circuits

DYNAMIC CIRCUIT TECHNIQUE FOR LOW- POWER MICROPROCESSORS Kuruva Hanumantha Rao 1 (M.tech)

Place and Route for FPGAs

Very Large Scale Integration (VLSI)

Simultaneous Placement with Clustering and Duplication

CHAPTER 1 INTRODUCTION

Routing Path Reuse Maximization for Efficient NV-FPGA Reconfiguration

A 256-Radix Crossbar Switch Using Mux-Matrix-Mux Folded-Clos Topology

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

DYNAMICALLY SHIFTED SCRUBBING FOR FAST FPGA REPAIR. Leonardo P. Santos, Gabriel L. Nazar and Luigi Carro

Academic Clustering and Placement Tools for Modern Field-Programmable Gate Array Architectures

HARP: Hard-wired Routing Pattern FPGAs

DESIGN METHODS IN SUB-MICRON TECHNOLOGIES

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

POWER OPTIMIZATION USING BODY BIASING METHOD FOR DUAL VOLTAGE FPGA

Designing 3D Tree-based FPGA TSV Count Minimization. V. Pangracious, Z. Marrakchi, H. Mehrez UPMC Sorbonne University Paris VI, France

Stratix vs. Virtex-II Pro FPGA Performance Analysis

DESIGN AND IMPLEMENTATION OF HYBRID LUT/MULTIPLEXER FPGA LOGIC ARCHITECTURES

A Novel Design of High Speed and Area Efficient De-Multiplexer. using Pass Transistor Logic

Mesh. Mesh Channels. Straight-forward Switching Requirements. Switch Delay. Total Switches. Total Switches. Total Switches?

Using Sparse Crossbars within LUT Clusters

Transcription:

SUBMITTED FOR PUBLICATION TO: IEEE TRANSACTIONS ON VLSI, DECEMBER 5, 2007 1 A Low-Power Field-Programmable Gate Array Routing Fabric Mingjie Lin Abbas El Gamal Abstract This paper describes a new FPGA routing fabric and shows that an FPGA using this fabric can achieve 1.47 times reduction in the overall dynamic power consumption and 1.28 times improvement in average net delays with only 8% reduction in logic density over a baseline island-style FPGA implemented in the same 65nm CMOS technology. The improvements in power consumption and delay are achieved by reducing routed net loading in several ways: (i) Only Single and Double interconnect segments are used. This reduces routed net lengths and thus their delay and power consumption. (ii) Interconnect segment loading due to the programming overhead is lower than that in the baseline FPGA. (iii) The routing block of the new fabric provides extended switching capability beyond that of a conventional switch box, which helps improve routability. The new routing fabric is also well-suited to monolithically stacked 3D-IC implementation. It is shown that a 3D-FPGA using this fabric can achieve a 3.3 times improvement in logic density, a 2.31 times improvement in delay, and a 2.76 times improvement in dynamic power consumption over the same baseline 2D-FPGA. Such 3D-FPGA can be realized by stacking two configuration memory layers and a switch layer on top of a standard CMOS layer with a total of 12 metal layers interspersed between them. Index Terms FPGA, low-power, routing architecture/fabric, performance analysis. Historically, logic density and delay were the main performance metrics for the design of Field-Programmable Gate Arrays (FPGAs). Power consumption, although considered in Department of Electrical Engineering, Stanford University, Stanford, CA 94305-9510 This work was partially supported by DARPA and SPAWAR System Center (Grant number N66001-04-1-8916).

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 2 the design of the power distribution network and packaging, was not a serious factor in the architecture or circuit design decisions. However, as FPGA logic density and delay have improved with CMOS technology scaling, power consumption has become a major concern in the design of new generations of FPGAs [1][2]. This problem is especially acute because FPGAs are significantly less power efficient than cell-based ASICs. A recent study has shown that FPGAs are between 9 and 12 times less power efficient than cell-based ASICs [3][4][5][6][7]. Not only has this power inefficiency precluded the use of FPGAs in low power applications, it could undermine future improvements in their logic capacity and delay. The power consumed in an FPGA core 1 can be divided into static and dynamic components. Although static power represents a growing fraction of the total power consumed in an FPGA [7][8][9], it currently constitutes only 10% of the total power consumption [1][2]. Furthermore, known techniques for reducing static power via programmable supply voltage, multiple gate oxide thicknesses, multiple transistor threshold voltages, and power gating, have already been applied to FPGAs [1][2][10]. Dynamic power consumption, on the other hand, is the main contributor to the power inefficiency of FPGAs relative to cell-based ASICs. This is due to the high programming overhead of FPGAs, including the MUXes, buffers, and configuration memory used in the programmable routing fabric. Studies have estimated this overhead to occupy 50 80% of the silicon area, which results in significantly longer net lengths relative to cell-based implementations and hence higher capacitive loading and power consumption. A more significant factor than the increase in interconnect length is the additional loading presented by the programmable overhead itself, as discussed in Section IV-D. Because of the high interconnect loading, 60 80% of the total FPGA core dynamic power is consumed in the programmable routing fabric [8][11]. As such, the focus of this paper is on reducing this component of dynamic power consumption. 1 In this paper, we do not consider the power consumed in FPGA I/Os.

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 3 We describe a new programmable routing fabric 2 and show that an FPGA using this fabric, referred to henceforth as new 2D-FPGA, can achieve on average a 1.47 times lower dynamic power consumption and 1.28 times lower geometric average pin-to-pin to delay with only 8% increase in silicon area relative to a baseline island-style FPGA, referred to henceforth as baseline 2D-FPGA (see Section I and [13]). These improvements in power and delay are achieved by reducing interconnect loading as follows: 1. In an earlier study [13], we found that the utility of long segments diminishes with technology scaling (see Section I for details). As such, we use only Single and Double interconnect segments. This reduces routed net lengths and thus their delay and power consumption. 2. Longer interconnect segments are formed by directly connecting short segments without entering switch boxes. This greatly reduces loading due to switch points, which is the dominant part of interconnect loading (see Section I). 3. We reduce interconnect segment loading due to the programming overhead by reducing the LB output connectivity to the connection box (see Section B). 4. The routing block of the new fabric provides extended switching capability beyond that of a conventional switch box, which helps improve routability (see Section II). The architecture of the new routing fabric is also motivated by research on applications for monolithically stacked 3D-IC, whereby active devices are lithographically built in between metal layers [14][15]. In [13], the performance benefits of a monolithically stacked 3D-FPGA were studied. The paper considered a 3D-FPGA where the programming overhead is stacked on top of the logic blocks (LBs) (see Figure 1). In addition to achieving higher logic density, vertical stacking reduces interconnect length, hence reducing interconnect delay and power 2 This work has been partially presented in [12]. This paper provides a more complete discussion of the motivation for developing this fabric and performance comparison for both 2D and 3D-FPGA.

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 4 consumption. It was shown that such a 3D-FPGA can achieve 3.2 times higher logic density, 1.7 times lower critical path delay, and 1.7 times lower dynamic power consumption than a baseline 2D-FPGA fabricated in the same 65nm technology node. These improvements were achieved with no change in the logic or routing architecture of the baseline 2D-FPGA. We show that a 3D-FPGA using our new routing fabric, referred to henceforth as new 3D- FPGA, can achieve average improvement of 3.3 times in logic density, 2.19 times in critical path delay, 2.31 times in geometric average pin-to-pin delay, and 2.76 times in dynamic power consumption over the baseline 2D-FPGA. Memory Layer Switch Layer CMOS Layer Fig. 1. Monolithically stacked 3D-FPGA concept. The rest of the paper is organized as follows. In the following section, we describe the 2D-FPGA architecture used as a baseline for performance comparison and discuss the factors that motivated the development of the new routing fabric. In Section II, we describe the new routing fabric. In Section III, we describe the CAD flow used for mapping designs into the new FPGA. In Section IV, we quantify the performance improvements of the new 2D-FPGA over the baseline 2D-FPGA. In Section V, we quantify the performance improvements of a monolithically stacked implementation of the new FPGA over the baseline 2D-FPGA. I. Motivation for New Fabric We first describe the baseline 2D-FPGA architecture that we use in explaining the motivation for the new fabric design, and in the performance comparisons (see Figure 2).

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 5 We assume an island-style FPGA comprising a 2D array of logic blocks (LBs) interconnected via a programmable routing fabric [16]. A Virtex II style logic block comprising four slices, each consisting of two 4-input Lookup Tables (LUTs), two flip-flops (FFs), and programming overhead, is assumed. Note that the design of our logic block is a simplified version of the Virtex II logic block detailed in [16]. We also assume throughout the paper that the new (2D and 3D) FPGA uses the same logic block as the baseline 2D-FPGA. The routing fabric comprises horizontal and vertical segmented routing channels. The channel segmentation, which resembles that of the Virtex II FPGA [16], consists of sets of Single, Double, Length- 3, and Length-6 segments. Each segment consists of two unidirectional metal wires. The segments can be connected via connection boxes (CBs) only to the inputs and outputs of the first and last LBs it spans. Segments can be connected to each other via SBs (switch boxes). The design of the CB and SB follows [17] and the design of the switch point is MUX-based as described in [18] (see Figure 2 (a)). Table I lists the key architecture parameter values assumed in the performance comparisons. TABLE I Baseline 2D-FPGA parameter values. Tile Width Array Size LB Buffer # Input # Output SB Width & Connectivity (L) N N Size (b) Pins (K i ) Pins (K o ) Density (W,d) [17] of CB (F c ) [17] 4100λ 64 or 100 4 16 4 72, 3 36 Segment Type Single Double Length-3 Length-6 Number of Tracks 24 40 36 96 The main goal of the new routing fabric design is to reduce loading on the interconnect segments relative to the that of the baseline FPGA. This is achieved by taking advantage of CMOS technology scaling, reducing the loading due to the programming overhead, and improving routability. As mentioned earlier, the fabric is well-suited to monolithically stacked

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 6 LB LB SB LB CB LB LB Switch Box (a) LB LB LB Switch Point Single Double Length-3 Length-6 (b) Fig. 2. (a) Baseline 2D-FPGA architecture. (b) Interconnect segmentation. 3D-IC implementation, which significantly reduces interconnect length. In the following we discuss these considerations in some detail. Utility of long segments diminishes with CMOS scaling FPGA routing fabrics, such as the one used in the baseline FPGA described above, employ a mixture of short and long interconnect segments in order to reduce net delay. Using long interconnects, however, results in longer routed net lengths and increased silicon area and hence higher power consumption. A previous study [13] has argued that the delay advantage of long interconnect segments (Length 3 and 6) diminishes as CMOS technology scales beyond 100nm due to the increase in wire parasitics relative to transistor parasitics. To demonstrate this observation, we consider LB LB four ways to implement a signal net connecting the output of an LB to the input of another LB 6 tiles away using (i) six Singles, (ii) three Doubles, (iii) two Length-3s, and (iv) one

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 7 Length-6. Figure 3 plots the normalized net delays, 6T 1 /T 6, 3T 2 /T 6 and 2T 3 /T 6, for four technology nodes, where T i refers to the delay of a segment of length i tiles. The sizes of the buffers for interconnect segments Length-3 and Length-6 are optimized for each technology node as detailed in [13]. From the figure, we see that technology scaling reduces the utility of long interconnects. For example, 6T 1 /T 6 decreases from 4.03 in the 180nm technology to 2.23 in the 65nm technology. As long interconnects are expensive in area because they include several large buffers and provide less routing flexibility than shorter interconnects, their cost effectiveness decreases with technology scaling. This finding has motivated us to consider routing fabrics with only Single and Double interconnect segments 3. To quantify the improvement in net length of routed circuits using only Single and Double segments, we consider a baseline 2D-FPGA with only Single and Double interconnects, henceforth referred to as 2D-FPGA(1,2). To equalize the routability of the 2D-FPGA(1,2) to that of the baseline 2D-FPGA we used the methodology outlined in Section IV-B, which results in each channel having 48 Single and 48 Double interconnect segments. We placed and routed the 20 largest MCNC benchmark circuits [19] in both the baseline 2D-FPGA and the 2D-FPGA(1,2). Figure 4 compares the pin-to-pin net length distribution for the baseline 2D-FPGA and the 2D-FPGA(1,2), to the Manhattan distance for the ALU4 benchmark circuit [19]. These results are obtained using timing-driven placement for 2D-FPGA and separate routing based on this placement for 2D-FPGA and 2D-FPGA(1,2). Note that the net length distribution in the baseline 2D-FPGA(1,2) is much closer to that of the Manhattan distance. On average we found that the average net length in the 2D-FPGA(1,2) is around 16% shorter that that in the baseline 2D-FPGA. This reduction in net length can potentially reduce dynamic power consumption. Figure 5 compares 3 Longer segments can be readily added as needed to optimize delay. The important point here is that the average segment length is considerably longer in the baseline 2D-FPGA.

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 8 the improvement in the dynamic power consumed in the routing fabric of the 2D-FPGA(1,2) to that in baseline 2D-FPGA. Note that the power consumption improves for all technology nodes, and that the improvement grows as technology scales because the wire parasitics component of interconnect loading increases with technology scaling. The improvement in dynamic power, however, comes at the expense of increase in delay as shown in Figure 5. As we shall see, the new routing fabric is able to achieve a significantly higher improvement in power with a modest improvement to delay. Delay Ratio 5.0 4.0 3.0 2.0 1.0 0.0 4.03 2.88 3.31 2.41 2.81 2.1 2.23 1.76 1.27 1.2 1.15 1.1 180nm 130nm 90nm 65nm Technology Generations 2T3/T6 3T2/T6 6T1/T6 Fig. 3. Delay benefits of long interconnect relative to short interconnects of equivalent total length for four technology nodes. Reducing Loading due to Programming Overhead In addition to using only Single and Double interconnect segments, the design of the new fabric aims to reduce the interconnect capacitive loading due to the programming overhead. Figure 6 plots the fraction of capacitive loading due to the switch point, connection box pass transistor drains (side loading), and metal wire in Single and Double segments for four technology nodes. Note that even though the fraction of loading due to metal wire increases with technology scaling, the loading due to the switch point still dominates. As such, the

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 9 % % % 15 10 5 0 1 5 9 13 17 21 25 29 33 37 41 45 49 53 15 10 5 0 1 5 9 13 17 21 25 29 33 37 41 45 49 53 15 10 5 0 1 5 9 13 17 21 25 29 33 37 41 45 49 53 Fig. 4. Routed net length distributions for ALU4 benchmark circuit; (a) Manhattan distance, (b) baseline 2D-FPGA, (c) 2D-FPGA(1,2). 1.40 1.20 1.00 0.80 0.60 (a) (b) 180nm 130nm 90nm 65nm Dynamic Power Reduction Critical-path Delay Reduction (c) Avg. Net Delay Reduction Fig. 5. Average routing fabric power consumption and delay for 2D-FPGA(1,2) relative to baseline 2D- FPGA for four technology nodes.

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 10 design of the new fabric focuses on reducing this component of loading as discussed in the following section. Technology Generation 65nm 90nm 130nm 180nm Single Interconnects 62% 64% 69% 76% 18% 20% 17%19% 15%16% 12% 12% Double Interconnects 51% 56% 60% 70% 15% 14% Switch Point Side Loading Metal Wire 34% 30% 12% 28% 9%21% Fig. 6. Delay breakdown of Single and Double interconnect delays between switch points, side loading, and metal wires. Improving routability In addition to reducing power consumption directly by reducing routed net length and the loading due to the programming overhead, the new fabric reduces power indirectly by improving routability, which further reduces routed net length. This is achieved by providing the routing block with extended switching capability described in the following section. 3D Considerations Our routing fabric takes advantage of monolithic stacking to improve routability and reduce overall delay and power consumption. Because the programmable routing (switches and configuration memory) is stacked on top of the logic blocks and buffers and the LB inputs and outputs come up to the routing fabric, it is natural to integrate the functionalities of the interconnect and switch boxes associated with each LB into a single routing block. This allows for sharing of resources and further reduction in interconnect side loading

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 11 II. New Routing Fabric The top level architecture of the new routing fabric is depicted in Figure 7. It consists of an array of routing and logic blocks (referred to as RB and LB, respectively) with horizontal and vertical routing channel overlay. Each routing channel comprises Single and Double segments, each consisting of two unidirectional wires (see Figure 8) controlled by two tristate buffers. Segments can be connected directly to form longer interconnect segments, henceforth referred to as bypass interconnect, by appropriately setting the states of the tristate buffers without entering routing blocks. This helps reduce loading due to programming overhead. The segments can also be connected through routing blocks to make bends, fanout, or connect to logic blocks. Vertical Logic Routing Channel Block Block Horizontal Channel Fig. 7. Routing fabric. Array of logic and routing blocks with horizontal and vertical channel overlay. The routing block integrates the functions of the connection and switch boxes in a conventional FPGA (see Figure 9-(b)). As is the case for the conventional switch box, the routing block is parameterized by its width W, which is the number of input/output ports

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 12 Single Interconnect Double Interconnect Fig. 8. Single and double interconnects and their connections to the routing block. Top: symbolic representation from Figure 7; Bottom: Detailed schematic with only horizontal channels shown. on each side and switching width d, which is the number of possible connections for each port [17]. Each routing block MUX output drives an interconnect segment and/or an input line to a neighboring routing block. Additionally, each LB output is connected to n o different MUX inputs on each side (see Figure 10-(a)). A routing block input line entering at one side connects to inputs of d different MUXes on each of the two perpendicular sides, and can be programmably connected to n i LB inputs through pass transistor switches (see Figure 10- (b)). Thus each MUX in the routing block has at most 2d+1 inputs and 2d+1 control lines

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 13 (a) (b) (c) Switch Points Fig. 9. (a) Switching capability of a routing block. (b) Routing block with W = 3 and d = 3 (connections to LB inputs and outputs not shown). (c) Example signal bend.

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 14 (see Figure 11). Note that the MUX output can be set to a high-z state. The routing fabric is hierarchical. Instead of directly connecting LB inputs and outputs to interconnect segments as in the baseline architecture, the LB inputs and outputs connect first to local segments These segments can then be programmably connected to segments in neighboring routing blocks and/or to interconnect segments in a routing channels via programmable buffers and MUXes with buffered outputs. Figure 12-(a) shows how an output of an LB can be directly connected to the input of a neighboring LB without going through interconnect segments. Figure 12-(b) shows how a bypass interconnect is implemented. Note that by turning off the two pass transistor switches, a local connection between the output of one of the routing blocks can be directly connected to the input of the other. Turning off these pass transistors also reduces the loading on the bypass interconnect. Figures 12-(c) and (d), respectively, show how an LB input and output can be connected to a segment. Note that only buffers that are needed to establish the connection are turned on. This helps reduce the loading on the connection, thus reducing its delay and power consumption. In addition to the connection through switch points, the architecture of the routing block allows for extended switching width. As shown in Figure 14, a signal entering a routing block can loop back twice into it and exit to a perpendicular direction if it cannot do so directly. As we demonstrate later, such extended switching significantly improves routability. III. CAD Tools To map designs into the FPGAs that use the new routing fabric, we use the logic packing and placement modules of VPR [20] with no change. We modify the VPR router [21][20] to accommodate the differences between the routing architecture of our new fabric and the island-style fabric. Figure 15-(a) shows an example routing graph for a routing block with W = 3 and d = 3.

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 15 Routing Block Input (a) (b) Output Port Input Port Fig. 10. (a) Each LB output port connects to n o MUXes (n 0 = 3 shown). (b) A routing block input line connects to d MUXes on two sides of the routing block, and can also be connected to n i LB inputs (d = 3 and n i = 2 shown). Fig. 11. MUX schematic. i 0 i 1 i 2 i 3 i 4 i 5 i 6 Out

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 16 Output Port (a) (b) (c) (d) Switch Input Port Switch Input Port Output Port Fig. 12. (a) Connection from LB output to neighboring LB input. (b) Bypass interconnect. (c) Connection from a segment to an LB input. (d) Connection from an LB output to a segment.

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 17 Routing Block A A A A A A A B B B Interconnect (a) (b) (c) (d) (e) (f) (g) Fig. 13.. Each routing block input and output is represented by a node (so there are 2W nodes on each side). Solid edges correspond to direct connections while dashed edges correspond to extended connections. Figure 15-(b) shows how an extended connection from input node B B B B n 1 to output node n 2 is implemented using direct connections. The example corresponds to Figure 14.

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 18 n1 n2 (a) (b) Extended Switch Point Fig. 14. (a) Extended routing capability of routing block. (b) Example of an extended signal connection. The routing algorithm we use is described in Algorithm 1 based on the the Pathfinder negotiated congestion algorithm in [22]. Initially, nets are routed one at a time using the shortest path it can find without considering interconnect segment or logic block pin overuse. Each iteration of the router consists of sequential net rip-up and re-route according to the lowest cost path available. The cost of using a routing resource is a function of its current overuse and any overuse that occurred in prior routing iterations. By gradually increasing the cost of an oversubscribed routing resource, the algorithm forces nets with alternative

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 19 n1 n1 n2 n2 (a) (b) Fig. 15. (a) Routing graph for routing block with W = 3 and d = 3. (b) Extended connection between n 1 and n 2.

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 20 routes to avoid using that resource, leaving it to the net that most needs it. The main difference between this algorithm and VPR is that we keep track of visited nodes during the breadth-first-search to improve the run time. This is described in lines 11, 12, and 22. This modification is needed because the extended switching capability of the routing block explained earlier results in many local cycles in the routing graph. Algorithm 1 Congestion/Delay Routing Algorithm 1: A ij 1 for each signal net i and each sink j 2: while shared routing nodes exist do 3: for all nets i do 4: rip up routing tree RT i 5: initialize the queue PQ 6: for all sinks t ij do 7: enqueue each node n in RT i at costs A ij d n to PQ 8: while t ij is not found do 9: dequeue node m with the lowest cost from PQ 10: for all fanout node n of m do 11: if node n is unseen then 12: mark node n as seen 13: enqueue n to PQ with the cost of A ij d n + (1 A ij )d n p n 14: end if 15: end for 16: for all node n in the routed path t ij to s j do 17: update the cost of node n 18: add n to RT i 19: end for 20: end while 21: end for 22: mark all nodes in PQ as unseen 23: update A ij for net i 24: end for 25: end while IV. New 2D-FPGA versus Baseline 2D-FPGA In this section we compare a 2D-FPGA using the new routing fabric to the baseline 2D-FPGA in terms of routability, programming overhead, logic density, delay, and power

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 21 consumption. We assume a 65nm CMOS technology and the Berkeley Predictive Technology Model (BPTM) for devices and interconnect. A. Routability To compare the routability of the new fabric to that of the baseline 2D-FPGA we placed and routed the 20 largest MCNC benchmark circuits in both architectures. We varied the routing channel width and found the minimum track count T min for each design mapped to each architecture. In varying the channel width we maintained the same fractions of each interconnect type. For the baseline, we use a fraction of 0.32 for Single, 0.26 for Double, 0.16 for Length-3, and 0.21 for Length-6. For the new 2D-FPGA, we maintained a one-to-one ratio between singles and doubles. Table II compares (i) the minimum channel width T min for the baseline 2D-FPGA and the new 2D-FPGA, (ii) the geometric average of pin-to-pin net lengths, L, where the pin-to-pin net length is defined as the sum of segment lengths used in its routing, and (iii) the geometric average of the number of bends, S, used to route each pin-to-pin net segment. Note that on average, the new routing fabric requires 50% fewer tracks per channel than the baseline 2D-FPGA. This is due to the use of shorter segments and the additional switching capability of the routing block. These T min values correspond to a reduction in average routing block width of around 20% over the switch box width in the baseline 2D-FPGA. To investigate the usefulness of the extended switching capability of the routing block, we disabled this feature and rerouted the benchmark circuits. We found that the saving in minimum channel width reduces to 35%. The new routing fabric also reduces the average pin-to-pin net segment length by around 15%. Finally, note that the average number of bends, S, increases slightly in the new 2D-FPGA due to the use of shorter interconnect segments.

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 22 TABLE II Routability comparison between the new 2D-FPGA (NEW) and the baseline 2D-FPGA (BL). T min is the minimum track count, L is the geometric average of pin-to-pin net lengths, and S is the geometric average of the number of bends. B. Programming Overhead Circuit T min L S BL NEW BL NEW BL NEW alu4 55 21 13.59 11.24 3.73 3.95 apex2 59 29 12.43 10.37 3.18 3.21 apex4 57 33 10.67 9.23 2.80 2.76 bigkey 38 19 20.58 18.43 4.68 5.34 clma 79 43 20.50 17.21 4.79 5.11 des 40 13 18.19 15.47 3.30 3.83 diffeq 41 22 9.22 7.69 2.74 2.92 dsip 30 17 20.06 18.12 4.87 5.07 elliptic 78 35 16.95 13.24 3.86 4.21 ex1010 81 43 14.01 14.25 3.54 3.98 ex5p 74 36 10.46 9.28 2.89 3.03 frisc 83 41 14.61 12.27 3.63 3.91 misex3 62 33 11.77 9.03 3.22 3.27 pdc 109 47 18.70 16.98 3.87 4.15 s298 42 23 13.80 10.47 3.47 3.91 s38417 73 34 10.17 8.03 2.58 2.97 s38584 59 29 12.47 9.93 2.87 3.04 seq 71 34 12.21 10.27 3.17 3.56 spla 96 47 17.82 14.26 3.73 3.98 tseng 41 22 10.62 9.56 3.04 3.23 In this section, we compare the programming overhead between the baseline 2D-FPGA and the new 2D-FPGA using the new routing fabric. For the baseline 2D-FPGA, we assume the architecture parameter values given in Table I. For the new 2D-FPGA, we assume 48 Single and 48 Double interconnect segment tracks in each routing channel (so T = 96). The choice of equal number of Single and Double segments is somewhat arbitrary. The mix

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 23 of segments lengths can be further optimized, for example, using TORCH [23], a recently developed segmentation design tool. Each routing block input line connects to inputs of d = 3 MUXes in each perpendicular direction and can be programmably connected to n i = 2 LB inputs and n o = 2 LB outputs (see Figure 10-(b)) through pass transistor switches. This again yields W = 72 tracks per routing channel as in the baseline 2D-FPGA. Each input to a routing block in the new 2D-FPGA can connect to 2 Single and 1 Double segment in each perpendicular direction and each LB output can connect to 1 Single and 1 Double segment in each direction. As Table II shows, the T min values for the new 2D-FPGA corresponds to a reduction in average routing block width of around 20% over the switch box width in the baseline 2D-FPGA. Therefore, W = 72 for the new 2D-FPGA achieves equal or better routability than the assumed W = 72 for the baseline 2D-FPGA. Tables III list the programming overhead per tile for the baseline 2D-FPGA and the new 2D-FPGA. Note that the programming overhead of the routing block, which implements the functions of two connection boxes and a switch box, is lower than that of the switch box by itself. This is because in the new 2D-FPGA, the number of segments that an LB output can connect to is reduced from 36 (12 Single, 10 Double, 6 Length-3 and 8 Length-6) in the baseline 2D-FPGA to 8 (4 Single and 4 Double) in the new 2D-FPGA. Note, however, that the number of segments that an LB input can connect to is the same in both architectures (24 Single and 12 Double in the new 2D-FPGA and 12 Single, 10 Double, 6 Length-3 and 8 Length-6 in the baseline 2D-FPGA). The fact that an LB input can connect to many more short segments in the new 2D-FPGA appears to compensate for the reduction in the LB output connectivity. To further demonstrate this point, we reduced the output connectivity of the connection box in the baseline 2D-FPGA from 36 to 8 to equalize its connectivity to

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 24 TABLE III Comparison of programming overhead per tile for baseline 2D-FPGA and the new 3D-FPGA. S: Switches. T: Tri-state Buffers. I: Inverters. M: Memory Bits. Baseline 2D-FPGA Logic Block M: 1049 Interconnects T: 96 M: 96 2 Connection S: 1440 Boxes M: 1440 1 Switch Box S: 3456 T: 864 I: 1728 M: 2592 Total S: 4896 T: 960 I: 1728 M: 5177 New 3D-FPGA Logic Block M: 1049 Interconnects T: 288 M: 288 Routing Block S: 2880 T: 432 M: 3312 Total S: 2880 T: 720 M: 4649 that of the new 2D-FPGA. This resulted in a 6% increase in the minimum channel width required to successfully route the MCNC benchmark designs. We found that average power consumption increases by 8% and delay increases by 11% as a result of this decrease in routability. C. Logic Density Using the Cadence GSCLib3.0 technology-independent library and Virtuoso tool we estimate the layout area for the logic block and buffers in the same manner as in [13]. The routing block area is estimated using custom layout. For the baseline 2D-FPGA, we assume the architecture parameter values in Section I and the interconnect buffer sizes used in [13]. The 2D-FPGA(1,2) has the same architecture as the baseline except that it has 24 Single and 24 Double segments in each routing channel. For the new 2D-FPGA, we assume

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 25 the architecture parameter values in the previous subsection and buffer size 4 for Single interconnects, 6 for Double interconnects, 8 for buffers driving the routing block input, and 6 for shared MUX output buffer. The MUXes and the pass transistor switches that connect segments to routing blocks use size 4 transistors. The estimated size of a single tile in the new 2D-FPGA is 4260λ 4260λ compared to 3846λ 3846λ for the 2D-FPGA(1.2) and 4100λ 4100λ for the baseline 2D-FPGA [13]. The slight increase (8%) in the tile area of the new 2D-FPGA over the baseline 2D-FPGA is due to the use of larger pass-transistor switch sizes to improve interconnect performance. D. Interconnect Segment Capacitance and Delay To illustrate that the new fabric achieves lower interconnect segment loading and delay than the baseline 2D-FPGA(1,2), we consider the two scenarios in Figure?? and?? for implementing lengths 0 (local connection), 1, 2,...,6 point-to-point nets in the two fabrics. Scenario I in Figure?? corresponds to using only Single interconnects, and scenario II in Figure?? corresponds to using only Double interconnects. Each figure includes a circuit schematic and its RC model. For lengths 2 up to 6 nets, we include the results with no bend and with one bend. Note that bends increase the loading and delay only for the new fabric. Table IV lists the total capacitive loading C total and RC delay values for the new 2D- FPGA and the 2D-FPGA(1,2). Note that the improvement in C total for the new 2D-FPGA over the 2D-FPGA(1,2) ranges from 1.30 times for L = 6 to 1.99 times for L = 0, and the improvement in delay ranges from 1.11 times for L = 6 to 1.39 times for L = 0. These results show that the loading due to the programming overhead in the new fabric is indeed significantly lower than that in the baseline 2D-FPGA.

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 26 Fig. 16.. Logic Block (a) TABLE IV Comparison of capacitive loading and delay for point-to-point connections with direct connection and length 3 net in 2D-FPGA(1,2) and new 2D-FPGA. E. System Delay (b) C total ( 100 ff) RC (ns) net type Baseline New Baseline New Direct Connection 127.2 63.9 0.99 0.71 Length-3 Net 170.4 104.1 1.27 0.86 To compare the system delay of the new 2D-FPGA to that of the baseline 2D-FPGA, we use two metrics; the improvement in the geometric average of the pin-to-pin delays, and the improvement in critical path delay, which includes the LB delays along the path. By improvement here we mean the ratio of the delay in the baseline 2D-FPGA to that in the new

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 27 Logic Block (a) Fig. 17.. 2D-FPGA. We use two sets of benchmark designs, the 20 largest MCNC benchmark circuits and 7 designs synthesized by QUIP toolkit from Altera [24]. The circuits in the second set are around 4 times larger than the largest MCNC circuit. Results for both benchmark sets are plotted in Figures 24. Note that for the MCNC benchmarks, the improvements over the baseline 2D-FPGA range from 1.23 to 1.46 times for the geometric average pin-to-pin delay and from 1.09 to 1.32 times for the critical path delay. On average, pin-to-pin net delay improves by 1.32 times and critical path delay improves by 1.18 times over the baseline 2D- FPGA. The improvement for the QUIP benchmarks ranges from 1.08 to 1.32 times for the (b) geometric average pin-to-pin delay and from 1.09 to 1.27 times for the critical path delay. On average, pin-to-pin net delay improves by 1.21 times and critical path delay improves by 1.15 times over the baseline 2D-FPGA. The reason for the lower improvements in the large

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 28 (a) C in,buf C RB,2 C PASS Fig. 18.. C SP + C in,buf (c) (b) (d) R EP R 2 PASS C PASS 2 C C PASS CB,3 2 C EP 2 C EP 2 C MUX 2 R PASS C PASS C 2 CB,2 C out,buf R MUX C MUX 2 R PASS C SP C PASS 2 C PASS 2 C CB,1 R out,buf C RB,1 R out,buf C out,buf

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 29 C SP + C in,buf C PASS 2 C in,buf + C RB,2 C PASS Fig. 19.. 2 R PASS R PASS C PASS 2 C PASS + C EP 2 2 R EP C CB,2 (a) C BUF 2 (b) (c) (d) R BUF C BUF 2 C EP C C EP 2 L 2 R EP C SP R PASS C CB,2 + C PASS C MUX + C EP 2 2 2 R MUX C PASS 2 R out,buf C out,buf R out,buf C MUX 2 + C RB,1 C out,buf

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 30 designs can be attributed to the choice of segmentation. We believe that larger improvements can be achieved by optimizing the segmentation in the new fabric. 1.60 1.50 1.40 1.30 1.20 1.10 1.00 1.60 1.50 1.40 1.30 1.20 1.10 1.00 10l Average Net Delay Average Net Delay 10l-rd 15m 2l4m80s Critical-Path Delay alu4 apex2 apex4 bigkey clma des diffeq dsip elliptic ex1010 ex5p frisc misex3 pdc s298 s38417 s38584.1 seq spla tseng (a) 3l50s Critical-Path Delay 50ms 70s1423 (b) Fig. 20. Delay improvements of new 2D-FPGA over baseline 2D-FPGA for (a) MCNC benchmark circuits and (b) benchmark designs synthesized with QUIP toolkit from Altera. F. Dynamic Power Dynamic power consumption is divided into three components, the dynamic power consumed in the logic blocks P LB, the dynamic power consumed in the interconnects P int, and the dynamic power consumed in the clock networks P clk. Since in this study we assume that the new 2D-FPGA uses the same logic block as the baseline 2D-FPGA, the component of dynamic power consumed by the logic block in the new 2D-FPGA is the same as that in the baseline 2D-FPGA. 30m

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 31 We quantify the improvement in the total dynamic power consumption, ξ, between the baseline 2D-FPGA and the new 2D-FPGA both implemented in 65nm technology using the equation (see detailed derivation in [13]): ξ = 1 / ( φ LB + φ int + φ ) clk, (1) ξ int where φ LB, φ int, and φ clk are the fraction of dynamic power consumed in the logic blocks, the interconnect, and the clock network of the baseline 2D-FPGA, respectively (φ LB +φ int +φ clk = 1), and ξ int 1 is the ratio of the dynamic power consumed by the interconnects in the 2D- FPGA to that in the new 2D-FPGA for a particular benchmark circuit in MCNC suite. We choose φ LB = 0.15, φ int = 0.65, and φ clk = 0.2. These values are consistent with recent studies [8][11]. Because the dynamic power consumed in the interconnects is proportional to the total capacitance of all signal nets with fixed activity factor, we set ξ int equal to the ratio of the total signal net capacitance of the baseline 2D-FPGA to that in the new 2D-FPGA for each placed and routed benchmark circuit. We use the same procedure to estimate the dynamic power improvement factor for the clock network ξ clk. We assume the H-tree clock distribution network with distributed buffering [25], [26], [27]. We compute the dynamic power improvement ξ for each of the 20 MCNC benchmark circuits assuming a 64 64 LB array for both the baseline 2D-FPGA and the new 2D-FPGA implemented in 65nm technology. The results in Figure 21(a) show a 1.43 to 1.80 times improvement in total dynamic power with an average improvement of 1.52 times. The same procedure is repeated to compute the dynamic power improvement ξ for each of the 7 benchmark circuits synthesized with QUIP toolkit assuming a 100 100 LB array for both the baseline 2D-FPGA and the ξ clk new 2D-FPGA implemented in 65nm technology. The results in Figure 21(b) show a 1.26 to 1.51 times improvement in total dynamic power with an average improvement of 1.42 times. Again the reason for the reduction in improvement versus the MCNC designs is the choice

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 32 of segmentation. Dynamic Power Saving Dynamic Power Saving 2.00 1.50 1.00 2.00 1.50 1.00 10l 10l-rd 15m 2l4m80s (a) alu4 apex2 apex4 bigkey clma des diffeq dsip elliptic ex1010 ex5p frisc misex3 pdc s298 s38417 s38584.1 seq spla tseng 3l50s 50ms 70s1423 (b) Fig. 21. Dynamic power saving of new 2D-FPGA over baseline 2D-FPGA for (a) MCNC benchmark circuits and (b) QUIP toolkit benchmark designs. G. Performance Comparison Summary Table V summarizes the results of Subsections C, E, and F. While the 2D-FPGA(1,2) has better power consumption and logic density, it has worse delay than the baseline 2D- FPGA. The new 2D-FPGA achieves even better power consumption than the 2D-FPGA(1,2), while improving delay over the baseline 2D-FPGA with only a small decrease in logic density. V. New 3D-FPGA versus baseline 2D-FPGA In this section, we compare the performance of a monolithically stacked 3D-FPGA using the new fabric to the baseline 2D-FPGA. First, we discuss how the 3D-FPGA may be 30m

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 33 TABLE V Performance improvements. Logic Density Pin-to-Pin Delay Dynamic Power (Critical Path Delay) Baseline 1.00 1.00 (1.00) 1.00 Baseline (1,2) 0.88 0.91 (0.83) 1.18 New 1.08 1.32 (1.18) 1.52 implemented. A. 3D Implementation Feasibility The new 3D-FPGA can be realized by stacking three active layers on top of a standard CMOS layer with a total of 12 metal layers interspersed between them (see Figure 22). The stacked active layers consist of: (i) a first configuration memory layer to program the logic blocks and tri-state buffers, (ii) a switch layer comprised only of NMOS devices, and (iii) a second configuration memory layer for programming the switches in the switch layer. The use of two memory layers, instead of one as assumed in [13], provides better local vertical connectivity and relaxes the requirement on memory cell size. The 3D-FPGA is completely RB RB RB RB RB RB RB RB RB Memory Layer 2 Switch Layer Memory Layer 1 CMOS Layer LB LB LB LB LB LB LB LB LB Fig. 22. Active layers of a 3D-FPGA using proposed routing fabric. (RB: Routing block, LB: Logic block. tileable, so we focus on the implementation of a single tile consisting of a stack of one logic

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 34 block and interconnect tri-state buffers, one routing block, and their configuration memory. Figure 23-(b) shows how the metal layers are allocated between the active layers. The bottom layer is a standard CMOS layer with both NMOS and PMOS devices available and is used to implement the logic block and buffers. A minimum of four layers of metal are assumed for signal and power and ground connections. The second layer is the configuration memory layer for the logic block and buffers. Two layers of metal are assumed for this layer. The third layer is the switch layer, where the routing block and interconnect segments are implemented. We assume 4 layers of metal for this layer. The top layer is the configuration memory layer for the switch layer, which requires two layers of metal. Thus a minimum of 12 layers of metal are needed to implement this architecture. To estimate the tile area λ 2256 Switch Control LB I/O Tri state buffer to bypass interconnect LUT Control BUF Control 2256 λ Input Switch Routing MUX BUF 831 λ λ 2256 Memory Layer 2 Switch Layer Memory Layer 1 LB 2256 λ Tri state Buffer LB 1534 λ Fig. 23. (a) Tile size and (b) Layer and metal assignment in the new 3D-FPGA. (a) (b) of the new 3D-FPGA, we use the same methodology as in Section C. The estimated size of the logic block and buffer tile and the routing block in the new 3D-FPGA are both BUF 1534 λ

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 35 around 2256λ 2256λ (Figure 23-(a)). This is compared to a tile size of 4100λ 4100λ for the baseline 2D-FPGA [13] and corresponds to an improvement in logic density of around 3.3 times, slightly better than reported in the previous study [13]. The reason for using two configuration memory layers versus one in [13], is to relax the area requirement for the configuration memory cell and to provide greater and simpler vertical connectivity. B. Performance Comparison As in Section IV, we consider two metrics to compare the system delay performance of the new 3D-FPGA to that of the baseline 2D-FPGA: the improvement in the geometric average of the pin-to-pin delays, and the improvement in critical path delay, which includes the LB delays along the path. By improvement here we mean the ratio of the delay in the baseline FPGA to that in the new 3D-FPGA. Results for the largest 20 MCNC benchmark circuits are plotted in Figures 24. Note that the improvements over the baseline 2D-FPGA range from 2.22 times to 3.12 times for the geometric average pin-to-pin delay and from 1.73 times and 2.92 times for the critical path delay. On average, there is a 2.51 times delay improvement in pin-to-pin net delay and 2.42 times delay improvement in critical path delay over the baseline 2D-FPGA. The improvement for the QUIP benchmarks ranges from 1.65 to 2.25 times for the geometric average pin-to-pin delay and from 1.57 to 2.16 times for the critical path delay. On average, pin-to-pin net delay improves by 1.97 times and critical path delay improves by 1.86 times over the baseline 2D-FPGA. To obtain the power consumption improvement of new 3D-FPGA over the baseline 2D- FPGA, we used the same estimation method as detailed in Section F. Again, we computed the dynamic power improvement ξ for each of the 20 MCNC benchmark circuits assuming a 64 64 LB array for both the baseline 2D-FPGA and the new 3D-FPGA implemented

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 36 3.50 3.00 2.50 2.00 1.50 1.00 3.50 3.00 2.50 2.00 1.50 1.00 alu4 apex2 apex4 bigkey clma des diffeq dsip elliptic ex1010 ex5p frisc misex3 pdc s298 s38417 s38584.1 seq spla tseng alu4 apex2 apex4 bigkey clma des diffeq dsip elliptic ex1010 ex5p frisc misex3 pdc s298 s38417 s38584.1 seq spla tseng Fig. 24. Delay improvements of new 3D-FPGA over baseline 2D-FPGA for MCNC benchmark circuits. (a) Geometric average pin-to-pin delay. (b) critical path delay. in 65nm technology. Our results in Figure 25 show a 2.51 times to 3.16 times improvement in total dynamic power with an average improvement of 2.82 times. The same procedure is repeated to compute the dynamic power improvement ξ for each of the 7 benchmark circuits synthesized with QUIP toolkit assuming a 100 100 LB array for both the baseline 2D-FPGA and the new 3D-FPGA implemented in 65nm technology. The results in Figure 25(b) show a 2.23 to 2.91 times improvement in total dynamic power with an average improvement of 2.51 times. VI. Conclusion (a) (b) The power inefficiency of FPGAs relative to cell-based ASICs is a major impediment to their adoption in a broad range of applications and to the continued improvement in their logic density and performance. A major reason for this power inefficiency is the high dynamic power consumed by the programmable interconnect. In an effort to address this

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 37 Dynamic Power Saving 4.00 3.50 3.00 2.50 2.00 1.50 1.00 alu4 apex2 apex4 bigkey clma des diffeq dsip elliptic ex1010 ex5p frisc misex3 pdc s298 s38417 s38584.1 seq spla tseng Fig. 25. Dynamic power saving of new 3D-FPGA over baseline 2D-FPGA for MCNC benchmark circuits. major problem, we proposed a new FPGA routing fabric and showed that a FPGA that uses this new fabric can achieve 1.52 times reduction in the overall dynamic power consumption and 1.32 times improvement in average net delays with only 8% reduction in logic density over an island-style baseline 2D-FPGA implemented in the same 65nm CMOS technology. The improvements in delay and dynamic power consumption are achieved by: Using only Single and Double length segments. This is motivated by the fact that the utility of long segments decreases with technology scaling. Reducing the loading on the interconnect segments due to the programming overhead. Improving routability by using a logic block with extended switching capability relative to a conventional switch box with the same switching width. Several important issues remain to be addressed. The reported system performance results are for relatively small benchmark designs. It would be interesting to verify the validity of these results on large benchmark designs. We assumed an equal number of Single and Double interconnect segments tracks are used. It would be interesting to optimize segmentation further by changing track allocation and adding some longer segments, e.g., Length-3. This is especially important for comparing performance of large benchmark circuits. The new fabric is also well-suited to monolithically stacked 3D implementation. We showed that a 3D-FPGA using the new routing fabric can be implemented using a 4-layer

A LOW-POWER FIELD-PROGRAMMABLE GATE ARRAY ROUTING FABRIC 38 stack consisting of a CMOS layer, a switch transistor layer, and two memory layers with 12 metal layers between them. This new 3D-FPGA achieves a 3.3 times improvement in logic density, a 2.35 times improvement in delay, and a 2.82 times improvement in dynamic power consumption over the same baseline 2D-FPGA. Much work remains to verify the general validity of these performance improvements. However, the fact that the performance improvements presented here are indeed very large warrants continued investigation. References [1] Power consumption in 65nm FPGAs. White paper by Xilinx Inc., 2006. [2] Stratix III programmable power. White paper by Altera Inc., 2006. [3] I. Kuon and J. Rose, Measuring the gap between FPGAs and ASICs, in Proceedings of the 2006 ACM/SIGDA Tenth International Symposium on Field-Programmable Gate Arrays, pp. 21 30, 2006. [4] F. Li, Y. Lin, L. He, and J. Cong, Low-power FPGA using pre-defined dual-vdd/dual- Vt fabrics, in Proceedings of the 2004 ACM/SIGDA 12th international symposium on Field-programmable gate arrays, pp. 42 50, 2004. [5] Y. Lin, F. Li, and L. He, Circuits and architectures for field programmable gate array with configurable supply voltage, IEEE Trans. Very Large Scale Integr. Syst., vol. 13, no. 9, pp. 1035 1047, 2005. [6] J. H. Anderson and F. N. Najm, Low-power programmable routing circuitry for FP- GAs, in Proceedings of the IEEE International Conference on Computer-Aided Design, pp. 602 609, 2004. [7] F. Li, D. Chen, L. He, and J. Cong, Architecture analysis and automation: Architecture evaluation for power-efficient FPGAs, in Proceedings of the 2003 ACM/SIGDA tenth international symposium on Field-programmable gate arrays, 2003.