CPE 626 Advanced VLSI Design Aleksandar Milenkovic Assistant.

Slides:



Advertisements
Similar presentations
VHDL Design of Multifunctional RISC Processor on FPGA
Advertisements

Digital System Design Subject Name : Digital System Design Course Code : IT-314.
Microprocessors and Interfacing
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
1-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL
Computer Architecture Abhinav Agarwal Veeramani V.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
Lab Assignment 2: MIPS single-cycle implementation
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher.
Combinational Logic Design Sections 3-1, 3-2 Mano/Kime.
The processor and main memory chapter 4, Exploring the Digital Domain The Development and Basic Organization of Computers.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
From Transistors To Computers. Gajski and Kuhn’s Y Chart Physical/Geometry Structural Behavioral Processor Hardware Modules ALUs, Registers Gates, FFs.
Dale & Lewis Chapter 5 Computing components. Let’s design a computer Generic CPU with registers −Program counter (PC) – 5 bits (size of addresses) −Instruction.
Chapter 7 – Registers and Register Transfers Part 1 – Registers, Microoperations and Implementations Logic and Computer Design Fundamentals.
Hiep Hong CS 147 Spring Intel Core 2 Duo. CPU Chronology 2.
The Computer Processor
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
Design methodology.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
CCSE251 Introduction to Computer Organization
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
CAD Techniques for IP-Based and System-On-Chip Designs Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
Principles Of Digital Design Chapter 1 Introduction Design Representation Levels of Abstraction Design Tasks and Design Processes CAD Tools.
Introduction to Computer Architecture and System
CPU Computer Hardware Organization (How does the computer look from inside?) Register file ALU PC System bus Memory bus Main memory Bus interface I/O bridge.
CAD for Physical Design of VLSI Circuits
Computer Systems Organization CS 1428 Foundations of Computer Science.
ECEn 191 – New Student Seminar - Session 9: Microprocessors, Digital Design Microprocessors and Digital Design ECEn 191 New Student Seminar.
Chapter 1 An Introduction to Processor Design 부산대학교 컴퓨터공학과.
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
Stack Stack Pointer A stack is a means of storing data that works on a ‘Last in first out’ (LIFO) basis. It reverses the order that data arrives and is.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Modern VLSI Design 3e: Chapters 3 & 8Partly from 2002 Prentice Hall PTR week6-1 Lectures 16 Transfer Characteristics (Delay and Power) Feb. 10, 2003.
Model Computer CPU Arithmetic Logic Unit Control Unit Memory Unit
General Concepts of Computer Organization Overview of Microcomputer.
Computer Architecture And Organization UNIT-II General System Architecture.
CPE 626 Advanced VLSI Design Lecture 2 Aleksandar Milenkovic
Computer Organization CSC 405 (VSC) Very Simple Computer.
COMPILERS CLASS 22/7,23/7. Introduction Compiler: A Compiler is a program that can read a program in one language (Source) and translate it into an equivalent.
Computer Systems Organization
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Dale & Lewis Chapter 5 Computing components
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
Designing a CPU –Reading a programs instruction from memory –Decoding the instruction –Executing the instruction –Transferring Data to/From memory / IO.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
New-School Machine Structures Parallel Requests Assigned to computer e.g., Search “Katz” Parallel Threads Assigned to core e.g., Lookup, Ads Parallel Instructions.
Microprocessor Design Process
Lec 4-2 Five operations of the machine cycle Fetch- fetch the next program instruction from memory. (PC+1); instruction to IR Decode- decode the instruction.
STUDY OF PIC MICROCONTROLLERS.. Design Flow C CODE Hex File Assembly Code Compiler Assembler Chip Programming.
PROGRAMMABLE LOGIC CONTROLLERS SINGLE CHIP COMPUTER
Microprocessor and Microcontroller Fundamentals
ECE354 Embedded Systems Introduction C Andras Moritz.
Introduction to Microprocessors
CPE/EE 422/522 Advanced Logic Design
T Computer Architecture, Autumn 2005
Figure 8.1 Architecture of a Simple Computer System.
Morgan Kaufmann Publishers The Processor
The Little Man Computer
HIGH LEVEL SYNTHESIS.
Overview Part 1 - Registers, Microoperations and Implementations
GCSE OCR 1 The CPU Computer Science J276 Unit 1
Lecture 6 CdM-8 CPU overview
Objectives Describe common CPU components and their function: ALU Arithmetic Logic Unit), CU (Control Unit), Cache Explain the function of the CPU as.
Computer Architecture
Presentation transcript:

CPE 626 Advanced VLSI Design Aleksandar Milenkovic Assistant Professor Electrical and Computer Engineering Dept. University of Alabama in Huntsville

Advanced VLSI Design  A. Milenkovic2 Computer Engineering Methodology Evaluate Existing Systems for Bottlenecks Simulate New Designs and Organizations Implement Next Generation System Technology Trends Benchmarks Workloads Implementation Complexity Applications Market

Advanced VLSI Design  A. Milenkovic3 Technology Directions: SIA Roadmap

Advanced VLSI Design  A. Milenkovic4 Intel: First 30+ Years Intel 4004 November 15, bit ALU, 108 KHz, 2,300 transistors, 10-micron technology 3 x 4 mm 146 mm sq Intel Pentium 4 August 27, bit architecture, 1.4 GHz (now 3.08), 42M transistors (now 55+M), 0.18-micron technology (now 0.09)

Advanced VLSI Design  A. Milenkovic5 Future Applications Desktop: 90% of cycles will be spent on media applications video encode/decode, polygon & image-based graphics audio processing, compression, music, speech recognition/synthesis modulation/demodulation at audio and video rates Scientific desktops: high-performance FPs and graphics Commercial servers: support for databases and transaction processing, enhancement for reliability, support for scalability Embedded computing: special support for graphics or video, power limitations

Advanced VLSI Design  A. Milenkovic6 Gajski and Kuhn’s Y Chart Physical/Geometry Structural Behavioral Processor Hardware Modules ALUs, Registers Gates, FFs Transistors Systems Algorithms Register Transfer Logic Transfer Functions Architectural Algorithmic Functional Block Logic Circuit Rectangles Cell, Module Plans Floor Plans Clusters Physical Partitions Domains Functional – operations performed by the system Structural – how the system is composed Geometry – how the system is laid out in physical space

Advanced VLSI Design  A. Milenkovic7 The Need for IP Cores Benefits of HDL-based design Portability Technology independence Design cycle reduction Automatic synthesis and Logic optimization … But, the gap between available chip complexity and design productivity continues to increase Design productivity 21% / year Chip Complexity 58% / year  Use IP cores LaCASA IP Library

Advanced VLSI Design  A. Milenkovic8 New Generation of Designers … Emphasis on hierarchical IP core design Design systems, not components! Understand hardware/software co-design Understand and explore design tradeoffs between complexity, performance, and power consumption  Design a soft processor/micro-controller core LaCASA IP Library

Advanced VLSI Design  A. Milenkovic9 UAH Library of Soft Cores Microchip’s PIC18 micro-controller Microchip’s PIC16 micro-controller Intel’s 8051 ARM Integer CPU core FP10 Floating-point Unit (ARM) Advanced Encryption Standard (AES) Video Processing System on a Chip LaCASA IP Library

Advanced VLSI Design  A. Milenkovic10 Design Flow for CPU Cores Reference Manual Instruction Set Analysis Dpth&Cntr Design VHDL Model Verification ASM Test Programs MPLAB IDE iHex2Rom Synthesis& Implementation C Programs C Compiler LaCASA IP Library

Advanced VLSI Design  A. Milenkovic11 Soft IP Engineering Cycle Encompasses all relevant steps Put together knowledge in digital design, HDLs, computer architecture, programming languages State-of-the-art devices Work in teams Specification Design Modeling Simulation & Verification FPGA Implementation Measurements (Compl.&Perf.&Power) Design Improvements LaCASA IP Library

Advanced VLSI Design  A. Milenkovic12 PIC18 Greetings LaCASA IP Library

Advanced VLSI Design  A. Milenkovic13 Designing a simple CPU in 60 minutes LaCASA step-by-step tutorial Design, verify, implement, and prototype a rudimentary processor MU0 Modeling using VHDL Simulation using ModelSim Implement using Xilinx ISE and a SpartanII device

Advanced VLSI Design  A. Milenkovic14 MU0 – A Simple Processor Instruction format Instruction set

Advanced VLSI Design  A. Milenkovic15 MU0 Datapath Example Program Counter – PC Accumulator - ACC Arithmetic-Logic Unit – ALU Instruction Register Instruction Decode and Control Logic Follow the principle that the memory will be limiting factor in design: each instruction takes exactly the number of clock cycles defined by the number of memory accesses it must take.

Advanced VLSI Design  A. Milenkovic16 MU0 Datapath Design Assume that each instruction starts when it has arrived in the IR Step 1: EX (execute) LDA S: ACC <- Mem[S] STO S: Mem[S] <- ACC ADD S: ACC <- ACC + Mem[S] SUB S: ACC <- ACC - Mem[S] JMP S: PC <- S JGE S: if (ACC >= 0) PC <- S JNE S: if (ACC != 0) PC <- S Step 2: IF (fetch the next instruction) Either PC or the address in the IR is issued to fetch the next instruction address is incremented in the ALU and value saved into the PC Initialization Reset input to start executing instructions from a known address; here it is 000hex provide zero at the ALU output and then load it into the PC register

Advanced VLSI Design  A. Milenkovic17 MU0 RTL Organization Control Logic Asel Bsel ACCce (ACC change enable) PCce (PC change enable) IRce (IR change enable) ACCoe (ACC output enable) ALUfs (ALU function select) MEMrq (memory request) RnW (read/write) Ex/ft (execute/fetch)

Advanced VLSI Design  A. Milenkovic18 MU0 control logic

Advanced VLSI Design  A. Milenkovic19 LDA S (0000) B Ex/ft = 1 Ex/ft = 0 B+1

Advanced VLSI Design  A. Milenkovic20 STO S (0001) x Ex/ft = 1 Ex/ft = 0 B+1

Advanced VLSI Design  A. Milenkovic21 ADD S (0010) A+B Ex/ft = 1 Ex/ft = 0 B+1

Advanced VLSI Design  A. Milenkovic22 SUB S (0011) A-B Ex/ft = 1 Ex/ft = 0 B+1

Advanced VLSI Design  A. Milenkovic23 JMP S (0100) B+1 Ex/ft = 0

Advanced VLSI Design  A. Milenkovic24 JGE S (0101) B+1 Ex/ft = 0, ACC15 = 0 B+1 Ex/ft = 0, ACC15 = 1

Advanced VLSI Design  A. Milenkovic25 JNE S (0110) B+1 Ex/ft = 0, ACCz = 0 B+1 Ex/ft = 0, ACCz = 1

Advanced VLSI Design  A. Milenkovic26 STP (001) x Ex/ft = 0

Advanced VLSI Design  A. Milenkovic27 Reset 0 Ex/ft = 0