Hybrid LUT/Multiplexer FPGA Logic Architectures

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

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

DESIGN AND IMPLEMENTATION OF HYBRID LUT/MULTIPLEXER FPGA LOGIC ARCHITECTURES

Review paper on hybrid LUT/MUX combinational architecture

Resource-Efficient SRAM-based Ternary Content Addressable Memory

INTRODUCTION TO FPGA ARCHITECTURE

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

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

Synthesizable FPGA Fabrics Targetable by the VTR CAD Tool

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

FPGA: What? Why? Marco D. Santambrogio

Digital Integrated Circuits

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

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Design Methodologies and Tools. Full-Custom Design

Design Methodologies. Full-Custom Design

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

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

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

ECE 331 Digital System Design

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA

DRAF: A Low-Power DRAM-based Reconfigurable Acceleration Fabric

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

FYSE420 DIGITAL ELECTRONICS. Lecture 7

Introduction to Programmable Logic Devices (Class 7.2 2/28/2013)

CS310 Embedded Computer Systems. Maeng

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 09 MULTIPLEXERS

A Hierarchical Description Language and Packing Algorithm for Heterogenous FPGAs. Jason Luu

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

! Program logic functions, interconnect using SRAM. ! Advantages: ! Re-programmable; ! dynamically reconfigurable; ! uses standard processes.

5. ReAl Systems on Silicon

A 3-D CPU-FPGA-DRAM Hybrid Architecture for Low-Power Computation

Lecture (05) Boolean Algebra and Logic Gates

Very Large Scale Integration (VLSI)

FPGA architecture and design technology

Altera FLEX 8000 Block Diagram

Field Programmable Gate Array (FPGA)

Laboratory Exercise 1

discrete logic do not

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

Fault Grading FPGA Interconnect Test Configurations

EITF35: Introduction to Structured VLSI Design

DRAF: A Low-Power DRAM-based Reconfigurable Acceleration Fabric

FPGAs & Multi-FPGA Systems. FPGA Abstract Model. Logic cells imbedded in a general routing structure. Logic cells usually contain:

PLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs

IMPLEMENTATION DESIGN FLOW

EECS150, Fall 2004, Midterm 1, Prof. Culler. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function.

Saving Power by Mapping Finite-State Machines into Embedded Memory Blocks in FPGAs

Improving Reconfiguration Speed for Dynamic Circuit Specialization using Placement Constraints

Introduction to VHDL Design on Quartus II and DE2 Board

A Lemple -Ziv based Configuration Management Architecture for Reconfigurable Computing

How Much Logic Should Go in an FPGA Logic Block?

Logic Optimization Techniques for Multiplexers

DESIGN STRATEGIES & TOOLS UTILIZED

Review. EECS Components and Design Techniques for Digital Systems. Lec 03 Field Programmable Gate Arrays

Lecture (1) Introduction to FPGA. 1. The History of Programmable Logic

FPGA Programming Technology

Lecture 41: Introduction to Reconfigurable Computing

Chapter 5: ASICs Vs. PLDs

Introduction to reconfigurable systems

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Fault Diagnosis Schemes for Low-Energy BlockCipher Midori Benchmarked on FPGA

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

EN2911X: Reconfigurable Computing Topic 01: Programmable Logic

4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013)

Programmable Logic. Any other approaches?

An Introduction to Programmable Logic

Advanced FPGA Design Methodologies with Xilinx Vivado

Field Programmable Gate Array (FPGA) Devices

FPGA Based Digital Design Using Verilog HDL

Section 6. Memory Components Chapter 5.7, 5.8 Physical Implementations Chapter 7 Programmable Processors Chapter 8

Implementing Logic in FPGA Memory Arrays: Heterogeneous Memory Architectures

Mapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline

Workspace for '4-FPGA' Page 1 (row 1, column 1)

An FPGA Architecture Supporting Dynamically-Controlled Power Gating

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE

COE 561 Digital System Design & Synthesis Introduction

FPGA Power Management and Modeling Techniques

Boolean Matching for Complex PLBs in LUT-based FPGAs with Application to Architecture Evaluation. Jason Cong and Yean-Yow Hwang

Laboratory Exercise 3

Low Power Design Techniques

Field Programmable Gate Arrays (FPGAs)

A CAD Framework for MALIBU: An FPGA with Time-multiplexed Coarse-Grained Elements. David Grant

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

Exploring Logic Block Granularity for Regular Fabrics

The Xilinx XC6200 chip, the software tools and the board development tools

Readings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information.

LSN 6 Programmable Logic Devices

Reducing Power in an FPGA via Computer-Aided Design

CMPE 415 Programmable Logic Devices FPGA Technology I

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

ECEN 449 Microprocessor System Design. FPGAs and Reconfigurable Computing

A Time-Multiplexed FPGA

Power Optimization in FPGA Designs

8. Migrating Stratix II Device Resources to HardCopy II Devices

PRODUCT-TERM BASED SYNTHESIZABLE EMBEDDED PROGRAMMABLE LOGIC CORES. Andy Chee Wai Yan B.A.Sc, University of British Columbia, 2002

A Routing Approach to Reduce Glitches in Low Power FPGAs

Transcription:

Hybrid LUT/Multiplexer FPGA Logic Architectures Abstract: Hybrid configurable logic block architectures for field-programmable gate arrays that contain a mixture of lookup tables and hardened multiplexers are evaluated toward the goal of higher logic density and area reduction. Technology mapping optimizations that target the proposed architectures are also implemented within ABC. Both accounting for complex logic block and routing area while maintaining mapping depth. For fracturable architectures, the proposed architecture of this paper analysis the logic size, area and power consumption using Xilinx 14.2. Enhancement of the project: Existing System: A K-input LUT is generic and very flexible able to implement any K-input Boolean function. The use of LUTs simplifies technology mapping as the problem is reduced to a graph covering problem. However, an exponential area price is paid as larger LUTs are considered. The value of K between 4 and 6 is typically seen in industry and academia, and this range has been demonstrated to offer a good area/performance compromise [4], [5]. Recently, a number of other works have explored alternative FPGA LE architectures for performance improvement [6] [10] to close the large gap between FPGAs and application-specific integrated circuits (ASICs) [11]. In this paper, we propose incorporating (some) hardened multiplexers (MUXs) in the FPGA logic blocks as a means of increasing silicon area efficiency and logic density. The MUX-based logic blocks for the FPGAs have seen success in early commercial architectures, such as the Actel ACT-1/2/3 architectures, and efficient mapping to these structures has been studied [12] in the early 1990s. However, their use in commercial chips has waned, perhaps partly due to the ease with which logic functions can be mapped into LUTs, simplifying the entire computer aided design (CAD) flow. Nevertheless, it is widely understood that the LUTs are inefficient at implementing MUXs, and that MUXs are frequently used in logic circuits. To underscore the inefficiency of LUTs implementing MUXs, consider that a six input

LUT (6-LUT) is essentially a 64-to-1 MUX (to select 1 of 64 truth-table rows) and 64-SRAM configuration cells, yet it can only realize a 4-to-1 MUX (4 data + 2 select = 6 inputs). Disadvantages: Area coverage is high Proposed System: MUX4: 4-to-1 Multiplexer Logic Element The MUX4 LE shown in Fig. 1 consists of a 4-to-1 MUX with optional inversion on its inputs that allow the realization of any {2, 3}-input function, some {4, 5}-input functions, and one 6- input function a 4-to-1 MUX itself with optional inversion on the data inputs. A 4-to-1 MUX matches the input pin count of a 6-LUT, allowing for fair comparisons with respect to the connectivity and intracluster routing. Naturally, any two-input Boolean function can be easily implemented in the MUX4: the two function inputs can be tied to the select lines and the truth table values (logic-0 or logic-1) can be routed to the data inputs accordingly. Or alternately, a Shannon decomposition can be performed about one of the two variables the variable can then feed a select input. The Shannon cofactors will contain at most one variable and can, therefore, be fed to the data inputs (the optional inversion may be needed).

Fig. 1. MUX4 LE depicting optional data input inversions. Logic Elements, Fracturability, and MUX4-Based Variants Two families of architectures were created: 1) without fracturable LEs and 2) with fracturable LEs. In this paper, the fracturable LEs refer to an architectural element on which one or more logic functions can be optionally mapped. Nonfracturable LEs refer to an architectural element on which only one logic function is mapped. In the nonfracturable architectures, the MUX4 element shown in Fig. 1 is used together with nonfracturable 6-LUTs. This element shares the same number of inputs as a 6-LUT lending for fair comparison with respect to the input connectivity. Hybrid Complex Logic Block A variety of different architectures were considered the first being a nonfracturable architecture. In the nonfracturable architecture, the CLB has 40 inputs and ten basic LEs (BLEs), with each BLE having six inputs and one output following empirical data in prior work. Fig. 2

shows this nonfracturable CLB architecture with BLEs that contain an optional register. We vary the ratio of MUX4s to LUTs within the ten element CLB from 1:9 to 5:5 MUX4s:6-LUTs. The MUX4 element is proposed to work in conjunction with 6-LUTs, creating a hybrid CLB with a mixture of 6-LUTs and MUX4s (or MUX4 variants). Fig. 2 shows the organization of our CLB and internal BLEs. Fig. 2. Hybrid CLB with a 50% depopulated intra-clb crossbar depicting BLE internals for a nonfracturable (one optional register and one output) architecture.

Fig. 3. Hybrid CLB with a 50% depopulated intra-clb crossbar depicting BLE internals for a fracturable (two optional registers and two outputs) architecture. For fracturable architectures, the CLB has 80 inputs and ten BLEs, with each BLE having eight inputs and two outputs emulating an Altera Stratix Adaptive-LUT. The same sweep of MUX4 to LUT ratios was also performed. Fig. 3 shows the fracturable architecture with eight inputs to each BLE that contains two optional registers. Advantages: Reduce the area coverage improving logic-density Software implementation: Modelsim Xilinx ISE