Very Large Scale Integration (VLSI)

Similar documents
Estimation of Wirelength

Introduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

Very Large Scale Integration (VLSI)

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

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

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

Memory and Programmable Logic

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

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective

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

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN

FYSE420 DIGITAL ELECTRONICS. Lecture 7

EE219A Spring 2008 Special Topics in Circuits and Signal Processing. Lecture 9. FPGA Architecture. Ranier Yap, Mohamed Ali.

Review: Chip Design Styles

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

Unit 6 1.Random Access Memory (RAM) Chapter 3 Combinational Logic Design 2.Programmable Logic

Memory and Programmable Logic

ECE 331 Digital System Design

FPGA Programming Technology

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

INTRODUCTION TO FPGA ARCHITECTURE

Place and Route for FPGAs

LSN 6 Programmable Logic Devices

Topics. Midterm Finish Chapter 7

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

Presentation 4: Programmable Combinational Devices

Digital Integrated Circuits

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

CMPE 415 Programmable Logic Devices FPGA Technology I

Spiral 2-8. Cell Layout

FPGA Implementations

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

ELCT 912: Advanced Embedded Systems

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

L14 - Placement and Routing

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

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

Midterm Examination. Problems Points Total 40. yes

Term Paper for EE 680 Computer Aided Design of Digital Systems I Timber Wolf Algorithm for Placement. Imran M. Rizvi John Antony K.

CENG 4480 L09 Memory 3

CS310 Embedded Computer Systems. Maeng

Field Programmable Gate Array (FPGA)

CHAPTER 12 ARRAY SUBSYSTEMS [ ] MANJARI S. KULKARNI

Design Methodologies

CAD Algorithms. Placement and Floorplanning

FPGA: What? Why? Marco D. Santambrogio

An Introduction to FPGA Placement. Yonghong Xu Supervisor: Dr. Khalid

Chapter 6 Selected Design Topics

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

+1 (479)

Programmable Logic Devices FPGA Architectures II CMPE 415. Overview This set of notes introduces many of the features available in the FPGAs of today.

Lecture 20: CAMs, ROMs, PLAs

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

Programmable Logic Devices

Read-only memory Implementing logic with ROM Programmable logic devices Implementing logic with PLDs Static hazards

Programmable Logic. Any other approaches?

Embedded Controller Design. CompE 270 Digital Systems - 5. Objective. Application Specific Chips. User Programmable Logic. Copyright 1998 Ken Arnold 1

Digital Systems Design with PLDs and FPGAs Kuruvilla Varghese Department of Electronic Systems Engineering Indian Institute of Science Bangalore

Programmable Logic Devices

Design Methodologies. Full-Custom Design

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

Hardware Design with VHDL PLDs I ECE 443. FPGAs can be configured at least once, many are reprogrammable.

What is Xilinx Design Language?

Lecture 14: CAMs, ROMs, and PLAs

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

Design Methodologies and Tools. Full-Custom Design

Unit 4: Formal Verification

discrete logic do not

Computer Structure. Unit 2: Memory and programmable devices

COE 561 Digital System Design & Synthesis Introduction

EITF35: Introduction to Structured VLSI Design

FPGA architecture and design technology

COMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I)

I 4 I 3 I 2 I 1 I 0 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 T-125. ROM Truth Table (Partial) 1997 by Prentice-Hall, Inc.

EECS150 - Digital Design Lecture 16 Memory 1

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

Placement Algorithm for FPGA Circuits

MEMORY AND PROGRAMMABLE LOGIC

ece5745-pla-notes.txt

FPGA for Dummies. Introduc)on to Programmable Logic

PROGRAMMABLE LOGIC DEVICES

Programmable Logic Devices (PLDs)

Fault Grading FPGA Interconnect Test Configurations

Design Methodologies. Digital Integrated Circuits A Design Perspective. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

The QR code here provides a shortcut to go to the course webpage.

Basic Idea. The routing problem is typically solved using a twostep

Programmable Logic Devices Introduction CMPE 415. Programmable Logic Devices

Graph Models for Global Routing: Grid Graph

EECS150 - Digital Design Lecture 16 - Memory

Principles of Digital Techniques PDT (17320) Assignment No State advantages of digital system over analog system.

CAD Flow for FPGAs Introduction

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

Memory and Programmable Logic

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

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

Semiconductor Memories: RAMs and ROMs

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE4220. PROGRAMMABLE LOGIC DEVICES (PLDs)

Transcription:

Very Large Scale Integration (VLSI) Lecture 6 Dr. Ahmed H. Madian Ah_madian@hotmail.com Dr. Ahmed H. Madian-VLSI 1 Contents FPGA Technology Programmable logic Cell (PLC) Mux-based cells Look up table PLA Programmable interconnection Antifuse SRAM EPROM Placement and Routing Min-Cut Simulated Annealing Dr. Ahmed H. Madian-VLSI 2 1

Field Programmable Gate Array (FPGA) Programming technology Programmable logic cells Programmable interconnect Anti fuse (One time programmable, ex. Actel) Static RAM (volatile, ex. Xilinx) EPROM or EEPROM (non-volatile, ex. Altera) Programmable I/O s Dr. Ahmed H. Madian-VLSI 3 Programmable Logic Cells The logic cells could be programmed to realize a logic function the main blocks are: Multiplexer based (ACTEL) Look-up tables (XILINX) AND-OR array (ALTERA) Dr. Ahmed H. Madian-VLSI 4 2

Programmable Logic Cells Multiplexer Based logic cells The logic function could be written using shanon s expansion theorem: F( A, B, C,..) A. FA 1 A. FA Dr. Ahmed H. Madian-VLSI 5 Programmable Logic Cells Realize the following logic function using Multiplexer Based logic cells F A. B C. B D Dr. Ahmed H. Madian-VLSI 6 3

Programmable Logic Cells Multiplexer Based logic cells F A. B C. B D.( B B) where B B 1 F B.( A D) B.( C D) F B=1 = A+D = A(1) + A(D) F B= = C+D = C(1) + C(D) Dr. Ahmed H. Madian-VLSI 7 Programmable Logic Cells Multiplexer Based logic cells Combinational module (C-module) Sequential module (S-module) (C-module) (S-module) Dr. Ahmed H. Madian-VLSI 8 4

Programmable Logic Cells Layout of the 4x1 Mux using TG technology. Not always compact layout, but you can make a nice Boolean Unit like in table below. I I 1 I 2 I 3 A B 1 2 3 O I 3 1 1 I 2 1 1 I 1 1 1 I Out(o) Zero AND OR XOR Dr. Ahmed H. Madian-VLSI 9 Look-Up tables (LUT) LUT mainly depends on RAM blocks We could realize any logic function from truth table using RAM This is done by mapping the inputs to the address bus The output is mapped to the data bus Dr. Ahmed H. Madian-VLSI 1 5

LUT Simplified XC4 CLB Dr. Ahmed H. Madian-VLSI 11 FPGA (SLICE) Slices (grouped into CLBs = Configurable Logic Blocs) Contain combinatorial logic and register resources For example each Spartan 3 CLB contains four slices: Slices are grouped in pairs Left-hand SLICEM (Memory) LUTs can be configured as memory or SRL16 Right-hand SLICEL (Logic) LUT Switch Matrix Slice can be used as logic only. Dr. Ahmed H. Madian-VLSI 12 6

Programmable Logic Arrays (And-OR-Plane) (PLA) It usually constructed directly from minimized Sum-Of-Product logic equations: the rows represent the minterms of the equations, the input columns form the minterms and the output columns form the sums. Note that with multiple output columns, minterm sharing between the outputs happens naturally For each Fi, OR together all rows for which output is 1 (actually use NOR then invert). Address decoder implemented as AND (= NOR) Dr. Ahmed H. Madian-VLSI 13 PLA Folding PLAs can be sparse, i.e., only a few of the possible connections in either plane may be made. (AND plane can only have 5%!) If we allow input and outputs to come from both above and below then we may be able to fold two columns into one if the rows they use don t overlap. This may require rearranging the rows to minimize overlap and hence maximize folding possibilities. Dr. Ahmed H. Madian-VLSI 14 7

Multiple Input Encoding On the previous slide, it was noted that the AND plane can have at most 5% of its connections programmed. To improve the utilization of the input columns, consider encoding the 4 columns used to transmit the two input literals and their complements with some more useful functions of the two literals. For example: Dr. Ahmed H. Madian-VLSI 15 PLA How to expand the PLA size? Problems: n times the number of inputs and outputs requires n 2 as much chip area -- too costly logic gets slower as number of inputs to AND array increases Solution use multiple PALs with small number of inputs Dr. Ahmed H. Madian-VLSI 16 8

Complex Programmable Logic Device (CPLD) How do we get more gates? We could put several PALs on one chip and put an interconnection matrix between them. Dr. Ahmed H. Madian-VLSI 17 Contents FPGA Technology Programmable logic Cell (PLC) Mux-based cells Look up table PLA Programmable interconnection Antifuse SRAM EPROM Placement and Routing Min-Cut Simulated Annealing Dr. Ahmed H. Madian-VLSI 18 9

Anti fuse One time programmable The channel routing uses dedicated rectangular areas of fixed size within the chip called wiring channels Within the horizontal or vertical channels wires run horizontally or vertically, respectively, within tracks Actel divides the fixed interconnect wires within each channel into various lengths or wire segments The designer then programs the interconnections by blowing antifuses and making connections between wire segments Dr. Ahmed H. Madian-VLSI 19 RC Delay in Antifuse Connections Elmore Delay (a) A four-antifuse connection. L is an output, L1 and L3 are horizontal tracks, L2 is a long vertical track (LVT), and L4 is an input (b) An RC-tree model. Each antifuse is modeled by a resistance and each interconnect segment is modeled by a capacitance. Interconnect delay grows quadratically (xn 2 ) as we increase the interconnect length and the number of antifuses, n Dr. Ahmed H. Madian-VLSI 2 1

SRAM Cell Static Ram reprogrammed according to your bit file, it holds the state until new design is downloaded 1 means the switch is on means switch is off SRAM is reprogrammable, volatile. Dr. Ahmed H. Madian-VLSI 21 Interconnect delay in FPGA The vertical lines and horizontal lines run between CLBs. The general-purpose interconnect joins switch boxes (also known as magic boxes or switching matrices). The long lines run across the entire chip. It is possible to form internal buses using long lines and the three-state buffers that are next to each CLB. The direct connections (not used on the XC4) bypass the switch matrices and directly connect adjacent CLBs. The Programmable Interconnection Points ( PIP s) are programmable pass transistors that connect the CLB inputs and outputs to the routing network. The bi-directional ( BIDI ) interconnect buffers restore the logic level and logic strength on long interconnect paths. Dr. Ahmed H. Madian-VLSI 22 11

EPROM, EEPROM and Flash Reprogrammable nonvolatile memory. These memories use a second layer of polysilicon to form a floating gate between the primary gate and the channel The floating gate is a good conductor, but it is not attached to anything. Applying a high voltage for the upper gate causes electrons to jump through the thin oxide onto floating gate through the processes called avalanche injection. Injecting electrons includes a negative voltage on the floating gate, which increasing threshold voltage of the transistor to the point that it is always OFF. Gate Polysilicon Floating gate source n+ Drain n+ Dr. Ahmed H. Madian-VLSI 23 Contents FPGA Technology Programmable logic Cell (PLC) Mux-based cells Look up table PLA Programmable interconnection Antifuse SRAM EPROM Placement and Routing Min-Cut Simulated Annealing Dr. Ahmed H. Madian-VLSI 24 12

Placement The process of arranging the circuit components on a layout surface. Inputs: A set of fixed modules, a netlist. Goal: Find the best position for each module on the chip according to appropriate cost functions. Considerations: routability/channel density, wirelength, cut size, performance, thermal issues, I/O pads. Dr. Ahmed H. Madian-VLSI 25 Estimation of Wirelength Semi-perimeter method: Half the perimeter of the bounding rectangle that encloses all the pins of the net to be connected. Most widely used approximation! Complete graph: wire length = (2/n) (i,j) distance (i,j) where I and j are nodes to be connected and n number of edges. Minimum chain: Start from one vertex and connect to the closest one, and then to the next closest, etc. Source-to-sink connection: Connect one pin to all other pins of the net. Not accurate for uncongested chips. Steiner-tree approximation: Computationally expensive. Minimum spanning tree Dr. Ahmed H. Madian-VLSI 26 13

Example for wirelength estimation methods Dr. Ahmed H. Madian-VLSI 27 Major Placement Techniques Partitioning-Based Placement (min-cut) Simulated Annealing Placement Quadratic Placement Hybrid and Hierarchical Placement Dr. Ahmed H. Madian-VLSI 28 14

Min-Cut Placement Breuer: A class of min-cut placement algorithms," DAC-77. Quadrature: suitable for circuits with high density in the center. Bisection: good for standard-cell placement. Slice/Bisection: good for cells with high interconnection on the periphery. Dr. Ahmed H. Madian-VLSI 29 Algorithm for MIN-CUT Placement Algorithm: Min Cut Placement(N; n;c) /* N: the layout surface */ /* n: # of cells to be placed */ /* n: # of cells in a slot */ /* C: the connectivity matrix */ begin if (n n) then PlaceCells(N; n;c); else (N1;N2) CutSurface(N); (n1;c1), (n2;c2) Partition(n;C); Check for Min Cut Placement(N1; n1;c1); Check for Min Cut Placement(N2; n2;c2); end Dr. Ahmed H. Madian-VLSI 3 15

Placement Example Partition the shown circuit using MIN- CUT Quadrature method Dr. Ahmed H. Madian-VLSI 31 solution Dr. Ahmed H. Madian-VLSI 32 16

Min-Cut Placement with Terminal Propagation Drawback of the original min-cut placement: Does not consider the positions of terminal pins that enter a region. What happens if we swap (1, 3, 6, 9) and (2, 4, 5, 7) in the previous example? Dr. Ahmed H. Madian-VLSI 33 Min-Cut Placement with Terminal Propagation Dr. Ahmed H. Madian-VLSI 34 17

MIN- CUT placement Pros: Open Cost Function(partitioning cost) Minimize net cut, edge cut etc. It is Move Based, Suitable to Timing Driven Placement Cons: Lots of indifferent moves May not work well with some cost functions Multi partitioning Dr. Ahmed H. Madian-VLSI 35 Simulated Annealing Sechen and Sangiovanni-Vincentelli, The TimberWolf placement and routing package," IEEE J. Solid-State Circuits, Feb. 1985; Stage 1 Modules are moved between different rows as well as within the same row. Modules overlaps are allowed. When the temperature is reached below a certain value, stage 2 begins. Stage 2 Remove overlaps. Annealing process continues, but only interchanges adjacent modules within the same row. Dr. Ahmed H. Madian-VLSI 36 18

Example Solution Space: All possible arrangements of the modules into rows, possibly with overlaps. Neighborhood Structure: 3 types of moves M1: Displace a module to a new location. M2: Interchange two modules. M3: Change the orientation of a module. Dr. Ahmed H. Madian-VLSI 37 Assignment 3 Assignment 3 will be available this week on the website Dr. Ahmed H. Madian-VLSI 38 19