Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Systems Lecture # 10 MIPS Processor Example Material taken/adapted from.

Slides:



Advertisements
Similar presentations
Introduction to CMOS VLSI Design Lecture 2: MIPS Processor Example Credits: David Harris Harvey Mudd College (Material taken/adapted from Harris lecture.
Advertisements

Cambridge University Engineering Department VLSI Design Third Year Standard Project - SB1 Second Mini Lecture Web page: 12th.
6-1 Chapter 6 - Datapath and Control Department of Information Technology, Radford University ITEC 352 Computer Organization Principles of Computer Architecture.
Combinational Logic with Verilog Materials taken from: Digital Design and Computer Architecture by David and Sarah Harris & The Essentials of Computer.
1 Pertemuan 9 Verilog HDL Matakuliah: H0362/Very Large Scale Integrated Circuits Tahun: 2005 Versi: versi/01.
1 The Mudd ][: A 6502 Microprocessor Implementation E158 Introduction to CMOS VLSI Design May 7, 2008.
CMPT150, Ch 3, Tariq Nuruddin, Fall 06, SFU 1 Ch3. Combinatorial Logic Design Modern digital design involves a number of techniques and tools essential.
Lecture 1 Design Hierarchy Chapter 1. Digital System Design Flow 1.Register-Transfer Levl (RTL) – e.g. VHDL/Verilog 2.Gate Level Design 3.Circuit Level.
The Design Process Outline Goal Reading Design Domain Design Flow
Design and Implementation of VLSI Systems (EN0160) Sherief Reda Division of Engineering, Brown University Spring 2007.
The Multicycle Processor II CPSC 321 Andreas Klappenecker.
The Design Process CPSC 321 Computer Architecture Andreas Klappenecker.
S. Reda EN160 SP’07 8-bit MIPS Processor EN160 Class Project May 2007.
VHDL Synthesis in FPGA By Zhonghai Shi February 24, 1998 School of EECS, Ohio University.
ECE 232 L4 perform.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 4 Performance,
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
ELEN468 Lecture 11 ELEN468 Advanced Logic Design Lecture 1Introduction.
ELEN468 Lecture 11 ELEN468 Advanced Logic Design Lecture 1Introduction.
Salman Zaffar IqraUniversity, Spring 2012
University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
1 ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical Verification and.
GOOD MORNING.
Introduction to CMOS VLSI Design
Dept. of Communications and Tokyo Institute of Technology
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Design Lecture # 2 A Circuit Design Example.
CAD for Physical Design of VLSI Circuits
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Arithmetic Building Blocks
Modern VLSI Design 3e: Chapters 1-3 week12-1 Lecture 30 Scale and Yield Mar. 24, 2003.
6-1 Chapter 6 - Datapath and Control Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles of.
Teaching VLSI Design Considering Future Industrial Requirements Matthias Hanke
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
Lecture 2 1 ECE 412: Microcomputer Laboratory Lecture 2: Design Methodologies.
COE 405 Design and Modeling of Digital Systems
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
CSCI 211 Intro Computer Organization –Consists of gates for logic And Or Not –Processor –Memory –I/O interface.
VLSI Design Lecture 4-b: Layout Extraction Mohammad Arjomand CE Department Sharif Univ. of Tech.
ECE 3110: Introduction to Digital Systems Introduction (Contd.)
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
5-1 Chapter 5 - Datapath and Control Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring Computer Architecture.
Exercise TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Design Lecture # 11 High Desecration Language- Based Design.
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
ECE-C662 Lecture 2 Prawat Nagvajara
Lecture 2: MIPS Processor Example
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
Another Example: MIPS From the Harris/Weste book Based on the MIPS-like processor from the Hennessy/Patterson book.
1 EE/CPRE 465 VLSI Design Process. 2 Outline Design Partitioning Design process: MIPS Processor as an example –Architecture Design –Microarchitecture.
Tutorial 3 VLSI Design Methodology Boonchuay Supmonchai June 10th, 2006.
CMOS VLSI Design MIPS Processor Example
Integrated Microsystems Lab. EE372 VLSI SYSTEM DESIGNE. Yoon 1-1 Panorama of VLSI Design Fabrication (Chem, physics) Technology (EE) Systems (CS) Matel.
VLSI Floorplanning and Planar Graphs prepared and Instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University July 2015VLSI Floor Planning and Planar.
Microprocessor Design Process
Cell Design Standard Cells Datapath Cells General purpose logic
1 Lecture 1: Verilog HDL Introduction. 2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent.
Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
EEE2135 Digital Logic Design Chapter 1. Introduction
CMOS VLSI Design Chapter 1: Introduction
Combinatorial Logic Design Practices
Week 5, Verilog & Full Adder
T Computer Architecture, Autumn 2005
HIGH LEVEL SYNTHESIS.
Introduction to CMOS VLSI Design Lecture 2: MIPS Processor Example
COMS 361 Computer Organization
Digital Designs – What does it take
Chapter 6 (I) CMOS Layout of Complexe Gate
Presentation transcript:

Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Systems Lecture # 10 MIPS Processor Example Material taken/adapted from

Introduction to VLSI Design – Lec01. Outline MIPS Processor Example –Architecture –Microarchitecture –Logic Design –Circuit Design –Physical Design Fabrication, Packaging, Testing

Introduction to VLSI Design – Lec01. MIPS Architecture Example: subset of MIPS processor architecture –Drawn from Patterson & Hennessy MIPS is a 32-bit architecture with 32 registers –Consider 8-bit subset using 8-bit datapath –Only implement 8 registers ($0 - $7) –$0 hardwired to –8-bit program counter You’ll build something similar/smaller in the assignments –Illustrate the key concepts in VLSI design

Introduction to VLSI Design – Lec01. Instruction Set

Introduction to VLSI Design – Lec01. Instruction Encoding 32-bit instruction encoding –Requires four cycles to fetch on 8-bit datapath

Introduction to VLSI Design – Lec01. 6 Example_Fibonacci (C) f 0 = 1; f -1 = -1 f n = f n-1 + f n-2 f = 1, 1, 2, 3, 5, 8, 13, …

Introduction to VLSI Design – Lec01. Fibonacci (Assembly) 1 st statement: n = 8 How do we translate this to assembly?

Introduction to VLSI Design – Lec01. Fibonacci (Binary) 1 st statement: addi $3, $0, 8 How do we translate this to machine language? –Hint: use instruction encodings below

Introduction to VLSI Design – Lec01. Fibonacci (Binary) Machine language program

Introduction to VLSI Design – Lec01. Slide 10 MIPS Microarchitecture Multicycle  architecture from Patterson & Hennessy

Introduction to VLSI Design – Lec MIPS Microarchitecture Multicycle  architecture ( [Paterson04], [Harris07] )

Introduction to VLSI Design – Lec Multicycle Controller

Introduction to VLSI Design – Lec01. Slide 13 Logic Design Start at top level –Hierarchically decompose MIPS into units Top-level interface

Introduction to VLSI Design – Lec01. Slide 14 Block Diagram

Introduction to VLSI Design – Lec Block Diagram

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 16 Hierarchical Design

Introduction to VLSI Design – Lec01. Slide 17 HDLs Hardware Description Languages –Widely used in logic design –Verilog and VHDL Describe hardware using code –Document logic functions –Simulate logic before building –Synthesize code into gates and layout Requires a library of standard cells

Introduction to VLSI Design – Lec01. Slide 18 Verilog Example module fulladder(input a, b, c, output s, cout); sums1(a, b, c, s); carryc1(a, b, c, cout); endmodule module carry(input a, b, c, output cout) assign cout = (a&b) | (a&c) | (b&c); endmodule

Introduction to VLSI Design – Lec01. Slide 19 Circuit Design How should logic be implemented? –NANDs and NORs vs. ANDs and ORs? –Fan-in and fan-out? –How wide should transistors be? These choices affect speed, area, power Logic synthesis makes these choices for you –Good enough for many applications –Hand-crafted circuits are still better

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 20 Example: Carry Logic assign cout = (a&b) | (a&c) | (b&c); Transistors? Gate Delays?

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 21 Example: Carry Logic assign cout = (a&b) | (a&c) | (b&c); Transistors? Gate Delays?

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 22 Example: Carry Logic assign cout = (a&b) | (a&c) | (b&c); Transistors? Gate Delays?

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 23 Gate-level Netlist module carry(input a, b, c, output cout) wire x, y, z; and g1(x, a, b); and g2(y, a, c); and g3(z, b, c); or g4(cout, x, y, z); endmodule

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 24 Transistor-Level Netlist module carry(input a, b, c, output cout) wire i1, i2, i3, i4, cn; tranif1 n1(i1, 0, a); tranif1 n2(i1, 0, b); tranif1 n3(cn, i1, c); tranif1 n4(i2, 0, b); tranif1 n5(cn, i2, a); tranif0 p1(i3, 1, a); tranif0 p2(i3, 1, b); tranif0 p3(cn, i3, c); tranif0 p4(i4, 1, b); tranif0 p5(cn, i4, a); tranif1 n6(cout, 0, cn); tranif0 p6(cout, 1, cn); endmodule

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 25 SPICE Netlist.SUBCKT CARRY A B C COUT VDD GND MN1 I1 A GND GND NMOS W=1U L=0.18U AD=0.3P AS=0.5P MN2 I1 B GND GND NMOS W=1U L=0.18U AD=0.3P AS=0.5P MN3 CN C I1 GND NMOS W=1U L=0.18U AD=0.5P AS=0.5P MN4 I2 B GND GND NMOS W=1U L=0.18U AD=0.15P AS=0.5P MN5 CN A I2 GND NMOS W=1U L=0.18U AD=0.5P AS=0.15P MP1 I3 A VDD VDD PMOS W=2U L=0.18U AD=0.6P AS=1 P MP2 I3 B VDD VDD PMOS W=2U L=0.18U AD=0.6P AS=1P MP3 CN C I3 VDD PMOS W=2U L=0.18U AD=1P AS=1P MP4 I4 B VDD VDD PMOS W=2U L=0.18U AD=0.3P AS=1P MP5 CN A I4 VDD PMOS W=2U L=0.18U AD=1P AS=0.3P MN6 COUT CN GND GND NMOS W=2U L=0.18U AD=1P AS=1P MP6 COUT CN VDD VDD PMOS W=4U L=0.18U AD=2P AS=2P CI1 I1 GND 2FF CI3 I3 GND 3FF CA A GND 4FF CB B GND 4FF CC C GND 2FF CCN CN GND 4FF CCOUT COUT GND 2FF.ENDS

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 26 Physical Design Floorplan Standard cells –Place & route Datapaths –Slice planning Area estimation

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 27 MIPS Floorplan

Introduction to VLSI Design – Lec01. 2: MIPS Processor Example28 MIPS Floorplan

Introduction to VLSI Design – Lec01. 2: MIPS Processor Example29 MIPS Layout

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 30 MIPS Layout

Introduction to VLSI Design – Lec01. Slide 31 Standard Cells Uniform cell height Uniform well height M1 V DD and GND rails M2 Access to I/Os Well / substrate taps Exploits regularity

Introduction to VLSI Design – Lec01. Slide 32 Synthesized Controller Synthesize HDL into gate-level netlist Place & Route using standard cell library

Introduction to VLSI Design – Lec01. Slide 33 Pitch Matching Synthesized controller area is mostly wires –Design is smaller if wires run through/over cells –Smaller = faster, lower power as well! Design snap-together cells for datapaths and arrays –Plan wires into cells –Connect by abutment Exploits locality Takes lots of effort

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 34 MIPS Datapath 8-bit datapath built from 8 bitslices (regularity) Zipper at top drives control signals to datapath

Introduction to VLSI Design – Lec01. Slide 35 Slice Plans Slice plan for bitslice –Cell ordering, dimensions, wiring tracks –Arrange cells for wiring locality

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 36 MIPS ALU Arithmetic / Logic Unit is part of bitslice

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 37 Area Estimation Need area estimates to make floorplan –Compare to another block you already designed –Or estimate from transistor counts –Budget room for large wiring tracks –Your mileage may vary!

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 38 Design Verification Fabrication is slow & expensive –MOSIS 0.6  m: $1000, 3 months –State of art: $1M, 1 month Debugging chips is very hard –Limited visibility into operation Prove design is right before building! –Logic simulation –Ckt. simulation / formal verification –Layout vs. schematic comparison –Design & electrical rule checks Verification is > 50% of effort on most chips!

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 39 Fabrication & Packaging Tapeout final layout Fabrication –6, 8, 12” wafers –Optimized for throughput, not latency (10 weeks!) –Cut into individual dice Packaging –Bond gold wires from die I/O pads to package

Introduction to VLSI Design – Lec01. 2: MIPS Processor Example40 Fabrication & Packaging Tapeout final layout Fabrication –6, 8, 12” wafers –Optimized for throughput, not latency (10 weeks!) –Cut into individual dice Packaging –Bond gold wires from die I/O pads to package

Introduction to VLSI Design – Lec01. 2: MIPS Processor Example41 Testing Test that chip operates –Design errors –Manufacturing errors A single dust particle or wafer defect kills a die –Yields from 90% to < 10% –Depends on die size, maturity of process –Test each part before shipping to customer

Introduction to VLSI Design – Lec01. 2: MIPS Processor Example42 Custom vs. Synthesis  8-bit Implementations

Introduction to VLSI Design – Lec01. 2: MIPS Processor Example43 MIPS R3000 Processor 32-bit 2 nd generation commercial processor (1988) Led by John Hennessy (Stanford, MIPS Founder) KB Caches 1.2  m process 111K Transistors Up to MHz 66 mm 2 die 145 I/O Pins V DD = 5 V 4 Watts SGI Workstations

Introduction to VLSI Design – Lec01. 2: MIPS Processor ExampleSlide 44 Testing Test that chip operates –Design errors –Manufacturing errors A single dust particle or wafer defect kills a die –Yields from 90% to < 10% –Depends on die size, maturity of process –Test each part before shipping to customer