Spiral 2-8. Cell Layout

Similar documents
Learning Outcomes. Spiral 3 1. Digital Design Targets ASICS & FPGAS REVIEW. Hardware/Software Interfacing

Spiral 3-1. Hardware/Software Interfacing

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

Design Methodologies. Full-Custom Design

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

FABRICATION TECHNOLOGIES

INTRODUCTION TO FPGA ARCHITECTURE

Design Methodologies

CS310 Embedded Computer Systems. Maeng

UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Lab #2: Layout and Simulation

Design Methodologies and Tools. Full-Custom Design

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

EE 330 Laboratory 3 Layout, DRC, and LVS Fall 2015

EE 330 Laboratory 3 Layout, DRC, and LVS

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?

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

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

CHAPTER 12 ARRAY SUBSYSTEMS [ ] MANJARI S. KULKARNI

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

ECE 459/559 Secure & Trustworthy Computer Hardware Design

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

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

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

Digital Integrated Circuits (83-313) Lecture 2: Technology and Standard Cell Layout

Very Large Scale Integration (VLSI)

Digital Design Methodology (Revisited) Design Methodology: Big Picture

3. Implementing Logic in CMOS

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

Digital Integrated Circuits

Digital Design Methodology

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

Chapter 5: ASICs Vs. PLDs

UNIT 4 INTEGRATED CIRCUIT DESIGN METHODOLOGY E5163

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

FPGA: What? Why? Marco D. Santambrogio

PINE TRAINING ACADEMY

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

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis

CMPEN 411 VLSI Digital Circuits Spring Lecture 22: Memery, ROM

COE 561 Digital System Design & Synthesis Introduction

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool

EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University

Design rule illustrations for the AMI C5N process can be found at:

Digital Integrated Circuits A Design Perspective. Jan M. Rabaey

Lay ay ut Design g R ules

Introduction to ICs and Transistor Fundamentals

Digital Integrated CircuitDesign

Memory and Programmable Logic

Field Programmable Gate Array (FPGA)

UNIVERSITY OF WATERLOO

CMOS INVERTER LAYOUT TUTORIAL

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

FPGA architecture and design technology

What is Xilinx Design Language?

FPGA Programming Technology

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

Experiment 3. Digital Circuit Prototyping Using FPGAs

ASIC Physical Design Top-Level Chip Layout

Lab 2. Standard Cell layout.

SP3Q.3. What makes it a good idea to put CRC computation and error-correcting code computation into custom hardware?

More Course Information

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

Virtuoso Layout Editor

CMOS Process Flow. Layout CAD Tools

Composite Layout CS/EE N-type from the top. N-type Transistor. Diffusion Mask. Polysilicon Mask

Physical Implementation

Circuits. L3: Fabrication and Layout -1 ( ) B. Mazhari Dept. of EE, IIT Kanpur. B. Mazhari, IITK. G-Number

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

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #1, Full Custom VLSI (inverter layout)

ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems

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

Introduction to Microprocessor

FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

Hardware Design with VHDL PLDs IV ECE 443

discrete logic do not

Digital Electronics 27. Digital System Design using PLDs

FPGA VHDL Design Flow AES128 Implementation

Topics. ! PLAs.! Memories: ! Datapaths.! Floor Planning ! ROM;! SRAM;! DRAM. Modern VLSI Design 2e: Chapter 6. Copyright 1994, 1998 Prentice Hall

ECEN 449 Microprocessor System Design. FPGAs and Reconfigurable Computing

Introduction to SRAM. Jasur Hanbaba

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

CMPE 413/ CMSC 711. Project Specification: 16 bit 2 s complement Adder and 8 bit 2 s complement multiplier. GND. Input bus. Latches I[8]-I[15]

UNIT IV CMOS TESTING

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

Motivation for Lecture. Market for Memories. Example: FFT Design. Sequential Circuits & D flip-flop. Latches and Registers.

SIDDHARTH INSTITUTE OF ENGINEERING AND TECHNOLOGY :: PUTTUR (AUTONOMOUS) Siddharth Nagar, Narayanavanam Road QUESTION BANK UNIT I

Lecture 2: MIPS Processor Example

EECE 285 VLSI Design. Cadence Tutorial EECE 285 VLSI. By: Kevin Dick Co-author: Jeff Kauppila Co-author: Dr. Arthur Witulski

A VARIETY OF ICS ARE POSSIBLE DESIGNING FPGAS & ASICS. APPLICATIONS MAY USE STANDARD ICs or FPGAs/ASICs FAB FOUNDRIES COST BILLIONS

ECE 545 Lecture 12. FPGA Resources. George Mason University

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

Introduction to Field Programmable Gate Arrays

RTL Coding General Concepts

CMOS VLSI Design. MIPS Processor Example. Outline

Memory. Outline. ECEN454 Digital Integrated Circuit Design. Memory Arrays. SRAM Architecture DRAM. Serial Access Memories ROM

Advanced FPGA Design Methodologies with Xilinx Vivado

Memory in Digital Systems

EE 434 ASIC & Digital Systems

Transcription:

2-8.1 Spiral 2-8 Cell Layout

2-8.2 Learning Outcomes I understand how a digital circuit is composed of layers of materials forming transistors and wires I understand how each layer is expressed as geometric patterns called masks I understand the difference between custom and standard cell ASIC flow I understand how FPGAs implement arbitrary logic designs by producing a bit stream which is the contents of Look-Up Tables and mux selects I understand the pros and cons of ASIC vs. FPGA design targets

LAYOUT 2-8.3

2-8.4 Digital Design Overview Circuit Design Layout Design Partitioning Verify the circuitry logic Floorplanning Compile a netlist Placement Routing A flowchart of digital From concept through testing and finally to a layout

2-8.5 Layout We need to describe the patterns of material to deposit and build on the silicon surface Source Input W Gate Input Drain Output n-type We will draw it from a top-down perspective L p-type

2-8.6 Layout Below is a notional layout of two inverters back to back Let's go through the steps for how we would lay this out Vdd A ~A Aorig Vdd Vdd A ~A Aorig A ~A Aorig GND GND GND

2-8.7 Layout Start with p-type substrate which is what we need for NMOS Add n-well area for the PMOS transistors N-Well P-Type A ~A Aorig Vdd Vdd A ~A Aorig GND GND

2-8.8 Layout Now we lay down the n- and p- diffusion areas for the source and drain of both NMOS and PMOS Notice the W/L relationship Right now the length seems longer than it really will be p+ diff n+ diff. A ~A Aorig W Vdd Vdd A ~A Aorig W GND GND

2-8.9 Layout Now we draw the polysilicon gates Poly A ~A Aorig Vdd Vdd A ~A Aorig GND GND

2-8.10 Layout Now we add the L1 metal (M1) wires which include the Vdd and GND rail as well as the input and output signals To make a connection from the M1 level to the surface of the chip we add contacts M1 Contact Vdd A ~A Aorig Vdd Vdd A ~A Aorig A ~A Aorig GND GND GND

2-8.11 M2 Mn How do we get Aorig out from between Vdd and Gnd? We need another level of metal, M2 Just like a freeway interchange M2 Vdd A ~A Aorig Vdd Vdd A ~A Aorig A ~A Aorig GND GND GND

2-8.12 CMOS Inverter Taps in (b) to connect n-well and p-substrate to V DD and ground respectively 12

2-8.13 NAND and NOR Gate Layout http://cmosedu.com/jbaker/courses/ee421l/f13/ students/adamsk5/lab6/nor_lay_sim.jpg http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-884-complex-digital-systems-spring-2005/6-884s05.jpg

2-8.14 CMOS Gates Inverter, NAND2, NOR2 Two sample layouts of CMOS inverter circuits (for p-type substrate) 14

http://i.ytimg.com/vi/f4earoqnnsu/maxresdefault.jpg 2-8.15 Chips Are 3D Sandwiches

2-8.16 Ensuring we can fabricate a working chip DESIGN RULES

2-8.17 Reminder: Layout Design Rules Lambda Rules: One lambda = one half of the minimum mask dimension, typically the length of a transistor channel Lambda Rules are based on the assumption that one can scale a design to the appropriate size before manufacturing Every spacing and sizing value is presented based on multiples of lambda The layout tool has a design rule checker (DRC) to verify those. In case of any violations the tool will point that out

2-8.18 CMOS NAND3 nmos and pmos transistors in series, and in parallel, respectively 18

2-8.19 CUSTOM OR STANDARD CELL ASIC (NOT FPGA) DESIGN FLOW

2-8.20 Digital Design Overview Circuit Design Layout Design Partitioning Verify the circuitry logic Floorplanning Compile a netlist Placement Routing A flowchart of digital From concept through testing and finally to a layout

After circuit design, we obtain a netlist which could be easily translated into a schematic. Now, let s start the layout design (a.k.a. physical design) Partitioning Layout Design Divide the chip into smaller blocks This is done based on some goals and constraints, e.g., to minimize the number of connections between the blocks, but in general it is done to separate different functional blocks and simplify their physical design process and also to make placement and routing easier For example, during partitioning you may decide to divide your design into two blocks, such that the total number of connections between the gates in different blocks is minimized 2-8.21

2-8.22 Floorplanning Create functional areas for your chip. For example, decide where to place FPU (Floating Point Unit), RAM, MPU (Microprocessor), ROM on the chip Place the input and output (I/O) cells of your chip Connect functional blocks with I/O pads or with each other Check whether long wires would slow your design Placement Nail down the exact positions of all logic gates within each block Place I/O drivers Layout Design (cont.) Similarly to other steps, placement is done based on goals and constraints, e.g., such that the total approximate wire length is minimized

2-8.23 Routing Route power nets and clock nets first. They are critical nets Route rest of the nets Layout Design (cont.) Routing is typically done in two steps of global routing and detailed routing. In global routing the resource (channels) for the wires are selected and in detailed routing, the wires are assigned to a specific routing track (metal layer) in the selected channels

2-8.24 Macro View of a Chip Place and route are very important aspects of design

2-8.25 Standard Cell Library Standard Cell Library Intellectual property provided by a vendor Has many pre-defined gates (cells) that are already laid out at various sizing levels for drive strength (to achieve desired delay) Design Flow You develop a design A synthesis software tool determines what cells are needed A place and route tool determines how to place them and route the input/output of each cell appropriately (i.e. using various metal layers) Example http://web.engr.oregonstate.edu/~traylor/ece474/reading/saed_ Cell_Lib_Rev1_4_20_1.pdf

FPGAS 2-8.26

2-8.27 Progression of Logic Density Small Scale Integrated (SSI) Circuits 1960 s and 1970 s A few gates on a chip Medium Scale Integrated (MSI) Circuits 1970 s Around a hundred gates per chip ( 283s and 85s) Very Large Scale Integrated (VLSI) Circuits 100 s of millions of gates

2-8.28 Digital Design Targets Two possible implementation targets Custom Chips (ASIC s = Application Specific Integrated Circuits): Physical gates are created on silicon to implement 1 particular design FPGA (Field Programmable Gate Array s): Programmable logic using programmable memories to implement logic functions along with other logic resources tiled on the chip. Can implement any design and then be changed to implement a new one In an ASIC design, a unique chip will be manufactured that implements our design at which point the HW design is fixed & cannot be changed (example: Pentium, etc.) FPGA s have logic resources on them that we can configure to implement our specific design. We can then reconfigure it to implement another design

2-8.29 ASICs

2-8.30 Basis of FPGA s Memories provide a universal way to implement a logic function 2 n x m memory can implement a function of n-variables and m outputs C in Y X A 0 A 1 A 2 8x2 Memory 0 1 2 0 0 0 1 0 1 If we use RWM (read/write memory) rather than ROM s we can change what function the memory implements 3 4 5 6 1 0 0 1 1 0 1 0 Memories are referred to as Look-up Tables (LUT s) 7 1 1 D 1 D 0 Cout S Full Adder Implementation

2-8.31 Configurable Logic Blocks (CLB s) Writable Look-Up Table D-FF s with bypass path Bypass mux selects the pure combinational output of the LUT or the registered/d-ff output Blue boxes indicate programmable bits that control the operation and function of the logic A 0 A 1 A 2 D CLK Q 0 1 2 3 4 5 6 7 CLB 8x2 Mem. 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 D 1 D 0 D CLK Q 1 0 1 0 Any 3-input / 2-output combinational function FF s if sequential logic needed

2-8.32 Routing & Switch Matrices Inputs and outputs of neighboring CLB s connect to a switch matrix (SM) Switch matrix is simply composed of muxes that allow us to route inputs and outputs to another CLB or further away CLB CLB CLB SM SM CLB CLB CLB SM SM CLB CLB CLB

2-8.33 Routing & Switch Matrices CLB To / from N SM A B C To / from W SM L A B... L A B... Switch Matrix (SM) L A B... L D E CLB CLB K J A B... L F To / from E SM I H G To / from S SM CLB

2-8.34 Place and Route ASIC: Find where each gate should be placed on the chip and how to route the wires that connect to it FPGA: Determine which LUT s should be used and how to route through switch matrices Affects timing and area wiring takes up space and longer wires leads to longer delays ASIC FPGA CLB CLB CLB SM SM CLB CLB CLB SM SM CLB CLB CLB

2-8.35 Exercise Find the configuration bits to build a 3-bit free-running (always enabled) counter Ci Q1 Q2 A 0 A 1 A 2 8x2 Mem. 0 1 2 CLB 0 0 0 1 0 1 Q0 0 0 A 0 A 1 A 2 CLB 8x2 Mem. 0 0 1 1 1 0 2 0 1 Ci A Q0 B CLB 0 0 Q0 To / from N SM C 3 1 0 3 1 0 1 D CLK Q 4 5 6 7 1 0 1 1 1 1 0 0 D 1 D 0 D CLK Q 1 0 1 0 Q2 Q1 1 4 5 6 7 0 1 0 1 1 0 1 0 D 1 D 0 D D CLK CLK Q Q 1 0 1 0 0 1 Ci Q0 0 X = XXX X = XXX B = 001 A B... Switch Matrix (SM) L A B... L A = 000 D = 011 E = 100 Q1 D Q2 E Ci Q1 CLB Q2 To / from E SM F

2-8.36 Implementation ASIC s Use the CAD tools to synthesize and route a netlist Synthesis = Takes logic description or logic schematic & converts to transistor level gates Place and Route = Figure out where each gate should go on the chip) Final netlist is sent to chip maker for production Fabrication is very expensive (> $1 million) so get your design right the first time. FPGA s Synthesis converts logic description to necessary LUT contents, etc. Place and route produces a configuration for the FPGA chip Can reconfigure FPGA as much as you like, so less important to get it right 1 st time

2-8.37 ASIC s vs. FPGA s ASIC s Faster Handles Larger Designs More Expensive Less Flexible (Cannot be reconfigured to perform a new hardware function) FPGA s Slower (extra logic to make it reconfigurable) Smaller Designs Less Expensive Extremely Flexible

2-8.38 Xilinx Spartan 3E Digilent Nexys-2 Board Has a Xilinx Spartan 3E FPGA (XC3S500e) 500K gate equivalent 9312 D-FF s on-board On-board I/O (4) 7-Segment Displays (8) LED s (4) Push Buttons (8) Switches

2-8.39 Latest FPGA's SoC design (Xilinx Kintex [KU115]) Quad-Core ARM cores DDR3 SDRAM Memory Interface ~800 I/O Pins Equiv. ~15M gate equivalent FPGA fabric ~1M D-FFs + 552K LUTs 1968 dedicated DSP "slices" 18x18 multiply + adder 34.6 Megabits of onboard Block RAMs