CPE 626 Advanced VLSI Design Lecture 2 Aleksandar Milenkovic

Slides:



Advertisements
Similar presentations
The CPU The Central Presentation Unit What is the CPU?
Advertisements

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.
The Microprocessor and its Architecture
Microprocessor.  The CPU of Microcomputer is called microprocessor.  It is a CPU on a single chip (microchip).  It is called brain or heart of the.
The CPU. Parts of the CPU Control Unit Arithmetic & Logic Unit Registers.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
Lab Assignment 2: MIPS single-cycle implementation
CS-447– Computer Architecture Lecture 12 Multiple Cycle Datapath
Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher.
VHDL Development for ELEC7770 VLSI Project Chris Erickson Graduate Student Department of Electrical and Computer Engineering Auburn University, Auburn,
Stored Program Concept: The Hardware View
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.
Reconfigurable Computing in the Undergraduate Curriculum Jason D. Bakos Dept. of Computer Science and Engineering University of South Carolina.
Dale & Lewis Chapter 5 Computing components. Let’s design a computer Generic CPU with registers −Program counter (PC) – 5 bits (size of addresses) −Instruction.
The Processor Andreas Klappenecker CPSC321 Computer Architecture.
The Computer Processor
Princess Sumaya Univ. Computer Engineering Dept. Chapter 4: IT Students.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 4:
CPU Fetch/Execute Cycle
SAP1 (Simple-As-Possible) Computer
DOP - A CPU CORE FOR TEACHING BASICS OF COMPUTER ARCHITECTURE Miloš Bečvář, Alois Pluháček and Jiří Daněček Department of Computer Science and Engineering.
Introduction to Computer Architecture and System
Computer Systems Organization CS 1428 Foundations of Computer Science.
Chapter 1 An Introduction to Processor Design 부산대학교 컴퓨터공학과.
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.
CPE 626 Advanced VLSI Design Aleksandar Milenkovic Assistant.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Course project: A simple CPU Zong Wen
The variety Of Processors And Computational Engines CS – 355 Chapter- 4 `
Chapter 8: The Very Simple Computer
Model Computer CPU Arithmetic Logic Unit Control Unit Memory Unit
Princess Sumaya Univ. Computer Engineering Dept. Chapter 5:
CPE 626 Advanced VLSI Design Lecture 6: VHDL Synthesis Aleksandar Milenkovic
Computer Organization CSC 405 (VSC) Very Simple Computer.
September 26, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 2: Implementation of a Simplified Computer Jeremy R. Johnson Wednesday,
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.
Dale & Lewis Chapter 5 Computing components
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Computer Organization and Assembly Languages Yung-Yu Chuang 2005/09/29
CS61C L20 Datapath © UC Regents 1 Microprocessor James Tan Adapted from D. Patterson’s CS61C Copyright 2000.
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.
Jeremy R. Johnson William M. Mongan
MIPS Processor.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
May 22, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 14: A Simple Implementation of MIPS * Jeremy R. Johnson Mon. May 17, 2000.
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
ECE 4110–5110 Digital System Design
CPE/EE 422/522 Advanced Logic Design
Teaching Computing to GCSE
T Computer Architecture, Autumn 2005
Figure 8.1 Architecture of a Simple Computer System.
Morgan Kaufmann Publishers The Processor
Systems Architecture I (CS ) Lecture 2: A Simplified Computer
The Little Man Computer
Systems Architecture I
GCSE OCR 1 The CPU Computer Science J276 Unit 1
ARM ORGANISATION.
Lecture 6 CdM-8 CPU overview
A Level Computer Science Topic 5: Computer Architecture and Assembly
A Top-Level View Of Computer Function And Interconnection
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
COMPUTER ARCHITECTURE
Presentation transcript:

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

Advanced VLSI Design  A. Milenkovic2 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. Milenkovic3 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. Milenkovic4 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. Milenkovic5 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. Milenkovic6 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. Milenkovic7 PIC18 Greetings LaCASA IP Library

Advanced VLSI Design  A. Milenkovic8 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. Milenkovic9 MU0 – A Simple Processor Instruction format Instruction set

Advanced VLSI Design  A. Milenkovic10 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. Milenkovic11 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. Milenkovic12 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. Milenkovic13 MU0 control logic

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

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

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

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

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

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

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

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

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