CAD for VLSI Design - I Lecture 38. V. Kamakoti and Shankar Balachandran

Similar documents
ECE 545 Lecture 1. FPGA Devices & FPGA Tools

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 9 Field Programmable Gate Arrays (FPGAs)

L12: Reconfigurable Logic Architectures

L11/12: Reconfigurable Logic Architectures

FPGA Design. Part I - Hardware Components. Thomas Lenzi

Field Programmable Gate Arrays (FPGAs)

EECS150 - Digital Design Lecture 18 - Circuit Timing (2) In General...

Why FPGAs? FPGA Overview. Why FPGAs?

CDA 4253 FPGA System Design FPGA Architectures. Hao Zheng Dept of Comp Sci & Eng U of South Florida

CSE140L: Components and Design Techniques for Digital Systems Lab. CPU design and PLDs. Tajana Simunic Rosing. Source: Vahid, Katz

Examples of FPLD Families: Actel ACT, Xilinx LCA, Altera MAX 5000 & 7000

XC4000E and XC4000X Series. Field Programmable Gate Arrays. Low-Voltage Versions Available. XC4000E and XC4000X Series. Features

Lecture 6: Simple and Complex Programmable Logic Devices. EE 3610 Digital Systems

EN2911X: Reconfigurable Computing Topic 01: Programmable Logic. Prof. Sherief Reda School of Engineering, Brown University Fall 2014

FPGA Design with VHDL

A Fast Constant Coefficient Multiplier for the XC6200

RELATED WORK Integrated circuits and programmable devices

Cyclone II EPC35. M4K = memory IOE = Input Output Elements PLL = Phase Locked Loop

March 13, :36 vra80334_appe Sheet number 1 Page number 893 black. appendix. Commercial Devices

PROGRAMMABLE ASIC LOGIC CELLS

DEDICATED TO EMBEDDED SOLUTIONS

Chapter. Synchronous Sequential Circuits

Modeling Latches and Flip-flops

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements

Reconfigurable Architectures. Greg Stitt ECE Department University of Florida

2. Logic Elements and Logic Array Blocks in the Cyclone III Device Family

(CSC-3501) Lecture 7 (07 Feb 2008) Seung-Jong Park (Jay) CSC S.J. Park. Announcement

CS/ECE 250: Computer Architecture. Basics of Logic Design: ALU, Storage, Tristate. Benjamin Lee

Introduction Actel Logic Modules Xilinx LCA Altera FLEX, Altera MAX Power Dissipation

L14: Quiz Information and Final Project Kickoff. L14: Spring 2004 Introductory Digital Systems Laboratory

problem maximum score 1 28pts 2 10pts 3 10pts 4 15pts 5 14pts 6 12pts 7 11pts total 100pts

Level and edge-sensitive behaviour

Modeling Latches and Flip-flops

EE178 Lecture Module 4. Eric Crabill SJSU / Xilinx Fall 2005

Outline Synchronous Systems Introduction Field Programmable Gate Arrays (FPGAs) Introduction Review of combinational logic

MUX AND FLIPFLOPS/LATCHES

High Performance Carry Chains for FPGAs

Design and Implementation of High Speed 256-Bit Modified Square Root Carry Select Adder

EE292: Fundamentals of ECE

Lucent ORCA OR2C15A-2S208 FPGA Circuit Analysis

Lecture 2: Basic FPGA Fabric. James C. Hoe Department of ECE Carnegie Mellon University

Chapter Contents. Appendix A: Digital Logic. Some Definitions

ECE 545 Digital System Design with VHDL Lecture 2. Digital Logic Refresher Part B Sequential Logic Building Blocks

EMT 125 Digital Electronic Principles I CHAPTER 6 : FLIP-FLOP

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

Sequential Logic Circuits

An Application Specific Reconfigurable Architecture Diagnosis Fault in the LUT of Cluster Based FPGA

Configurable Logic Blocks (CLBs)

Sequential Logic. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 1

University of Victoria. Department of Electrical and Computer Engineering. CENG 290 Digital Design I Lab Manual

Unit 11. Latches and Flip-Flops

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

Combinational vs Sequential

CHAPTER1: Digital Logic Circuits

Implementation of Low Power and Area Efficient Carry Select Adder

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

ECE 545 Digital System Design with VHDL Lecture 1. Digital Logic Refresher Part B Sequential Logic Building Blocks

Logic Devices for Interfacing, The 8085 MPU Lecture 4

An Application Specific Reconfigurable Architecture Diagnosis Fault in the LUT of Cluster Based FPGA

Virtex-6 FPGA Configurable Logic Block

IE1204 Digital Design. F11: Programmable Logic, VHDL for Sequential Circuits. Masoumeh (Azin) Ebrahimi

Chapter 1: Switching Algebra Chapter 2: Logical Levels, Timing & Delays. Introduction to latches Chapter 9: Binary Arithmetic

D Latch (Transparent Latch)

Spartan-6 FPGA Configurable Logic Block

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board

CHAPTER 11 LATCHES AND FLIP-FLOPS

A clock is a free-running signal with a cycle time. A clock may be either high or low, and alternates between the two states.

Chapter 5: Synchronous Sequential Logic

Register Files and Memories

CS 261 Fall Mike Lam, Professor. Sequential Circuits

COSC 243. Sequential Logic. COSC 243 (Computer Architecture) Lecture 5 - Sequential Logic 1

FPGA Implementation of Sequential Logic

OF AN ADVANCED LUT METHODOLOGY BASED FIR FILTER DESIGN PROCESS

VID_OVERLAY. Digital Video Overlay Module Rev Key Design Features. Block Diagram. Applications. Pin-out Description

ECE 545 Digital System Design with VHDL Lecture 1B. Digital Logic Refresher Part B Sequential Logic Building Blocks

Where Are We Now? e.g., ADD $S0 $S1 $S2?? Computed by digital circuit. CSCI 402: Computer Architectures. Some basics of Logic Design (Appendix B)

Evaluation of Advanced Techniques for Structural FPGA Self-Test

Logic Design II (17.342) Spring Lecture Outline

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Using the Quartus II Chip Editor

Optimizing area of local routing network by reconfiguring look up tables (LUTs)

Clock-Aware FPGA Placement Contest

YEDITEPE UNIVERSITY DEPARTMENT OF COMPUTER ENGINEERING. EXPERIMENT VIII: FLIP-FLOPS, COUNTERS 2014 Fall

Logic Design II (17.342) Spring Lecture Outline

ECE 250 / CPS 250 Computer Architecture. Basics of Logic Design ALU and Storage Elements

COMP2611: Computer Organization. Introduction to Digital Logic

Computer Architecture and Organization

CHAPTER 4: Logic Circuits

CSE115: Digital Design Lecture 23: Latches & Flip-Flops

ISSN:

Sequential Circuit Design: Part 1

Flip-flop and Registers

EE178 Spring 2018 Lecture Module 5. Eric Crabill

Microprocessor Design

Product Obsolete/Under Obsolescence

Why do we need to debounce the clock input on counter or state machine design? What happens if we don t?

Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques

Clocks. Sequential Logic. A clock is a free-running signal with a cycle time.

Principles of Computer Architecture. Appendix A: Digital Logic

Combinational / Sequential Logic

Transcription:

1 CAD for VLSI Design - I Lecture 38 V. Kamakoti and Shankar Balachandran

2 Overview Commercial FPGAs Architecture LookUp Table based Architectures Routing Architectures FPGA CAD flow revisited

3 Xilinx Spartan Devices I/O Connectivity Memory Resources I O B I O B DLL R A M R A M...... CLB CLB R A M CLB IOB... IOB... CLB DLL R A M DLL IOB IOB DLL I O B I O B Logic & Routing System Clock Management Digital Delay Lock Loops (DLLs)

4 Xilinx Spartan Logic & Routing Look Up Table (LUT) versatility CLB primary building block Flexible for logic or distributed RAM implementation Fast arithmetic operations Specialized Carry Logic for arithmetic operations Fast DSP functions Configurable for simple to complex logic Allow up to 6 input functions in one logic level Configurable Logic Block (CLB) R

CLB Structure COUT COUT G4 G3 G2 G1 F5IN BY SR Look-Up Table O Carry & Control Logic YB Y S D CK EC R Q G4 G3 G2 G1 F5IN BY SR Look-Up Table O Carry & Control Logic YB Y S D CK EC R Q F4 F3 F2 F1 Look-Up Table O Carry & Control Logic XB X S D CK EC R Q F4 F3 F2 F1 Look-Up Table O Carry & Control Logic XB X S D CK EC R Q CIN CLK CE SLICE CIN CLK CE SLICE Each slice has 2 LUT-FF pairs with associated carry logic Two 3-state buffers (BUFT) associated with each CLB, accessible by all CLB outputs 5

6 CLB Slice Structure Each slice contains two sets of the following: Four-input LUT Any 4-input logic function Or 16-bit x 1 sync RAM Or 16-bit shift register Carry & Control Fast arithmetic logic Multiplier logic Multiplexer logic Storage element Latch or flip-flop Set and reset True or inverted inputs Sync. or async. control

Detailed View 7

8 Four-Input LUT Implements combinatorial logic Any 4-input logic function Cascaded for wide-input functions Truth Table Inputs(ABCD) Output(Z) 0000 0 0001 0 0010 0 0011 1.. 1110 1 1111 0 4-input logic function LUT = A B C D Z

9 LUT as a Universal Gate An n-lut as a direct implementation of a function truth-table. Each latch location holds the value of the function corresponding to one input combination. Example: 2-lut INPUTS AND OR 00 0 0 01 0 1 10 0 1 11 1 1 Example: 4-lut INPUTS 0000 F(0,0,0,0) 0001 F(0,0,0,1) 0010 F(0,0,1,0) 0011 F(0,0,1,1) 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 store in 1st latch store in 2nd latch

10 Boolean Functions With 2 Inputs A B False?? AB A True 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 Implements any function of 2 inputs. How many of these are there? How many functions of n inputs?

11 Dedicated Expansion Multiplexers MUXF5 combines 2 LUTs to create 4x1 multiplexer Or any 5-input function (LUT5) Or selected functions up to 9 inputs MUXF6 combines 2 slices to form 8x1 multiplexer Or any 6-input function (LUT6) Or selected functions up to 19 inputs Dedicated muxes are faster and more space efficient CLB Slice LUT LUT Slice LUT LUT MUXF5 MUXF5 MUXF6

More than 4 inputs 12

Dedicated Arithmetic 13

14 Distributed RAM CLB LUT configurable as Distributed RAM A LUT equals 16x1 RAM Implements Single and Dual-Ports Cascade LUTs to increase RAM size Synchronous write Synchronous/Asynchronous read Accompanying flip-flops used for synchronous read LUT LUT LUT = RAM32X1S D WE WCLK A0 A1 A2 A3 A4 or = O RAM16X1S D WE WCLK A0 A1 A2 A3 RAM16X2S D0 D1 WE WCLK A0 A1 A2 A3 or O0 O1 O RAM16X1D D WE WCLK A0 SPO A1 A2 A3 DPRA0 DPO DPRA1 DPRA2 DPRA3

15 Spartan Routing Architecture LONG HEX SINGLE LONG HEX SINGLE General SWITCH Routing Matrix MATRIX (GRM) CARRY CARRY INTERNAL BUSSES TRISTATE BUSSES LONG HEX SINGLE Internal 3-state busses Long lines and Global lines Buffered Hex lines Single-length lines LONG HEX SINGLE SLICE Local Feedback SLICE Direct connections CLB CARRY CARRY Local routing Dedicated routing Direct connections Internal 3-state bus General Routing Matrix (GRM) Global routing Single line, Long line, Hex Primary Clock Buffer lines, Secondary lines line

16 Local Routing Local Routing Interconnect among LUTs, FFs, GRM CLB feedback path for connections to LUTs in same CLB Direct path between horizontally adjacent CLBs

General Purpose Routing LONG HEX SINGLE LONG HEX SINGLE SWITCH MATRIX INTERNAL BUSSES CARRY CARRY TRISTATE BUSSES LONG HEX SINGLE Internal 3-state Bus Long lines and Global lines Buffered Hex lines Single-length lines DIRECT CONNECTION LONG HEX SINGLE SLICE Local Feedback SLICE Direct connections CLB CARRY CARRY 24 single-length lines Route GRM signals to adjacent GRMs in 4 directions 96 buffered hex lines Route GRM signals to another GRMs six blocks away in each of the four directions 12 buffered Long lines Routing across top and bottom, left and right 17

18 FPGA Architecture and CAD Synthesis Technology Mapping Placement/Floorplanning Routing Generate Programming Data Programming the Device

Lookup Table Based Technology Mapping 19 A k input lookup table is a digital memory that can implement any boolean function of k input variables. 2 It can implement 2 functions. Library based technology mapping techniques are not efficient. New approaches are needed. k

Why Do FPGA Based Computing Need to understand How costly (big) is a solution How compare to alternatives Cost and benefit of flexbility Complete implementation of our application For each architectural alternatives In same implementation technology with multiple area-time points Start sorting out custom vs. configurable spatial configurable vs. temporal 20

21 Questions and Answers Thank You