집적회로 Spring 2007 Prof. Sang Sik AHN Signal Processing LAB.

Slides:



Advertisements
Similar presentations
Nios Multi Processor Ethernet Embedded Platform Final Presentation
Advertisements

Cortex-M3 Implementation Overview. Chapter 6 in the reference book.
Session Objectives#3 COULD explain the role memory plays in computer processing SHOULD describe the purpose of a CPU and its individual components MUST.
TO COMPUTERS WITH BASIC CONCEPTS Lecturer: Mohamed-Nur Hussein Abdullahi Hame WEEK 1 M. Sc in CSE (Daffodil International University)
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
The ARM7TDMI Hardware Architecture
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
© ABB Group Jun-15 Evaluation of Real-Time Operating Systems for Xilinx MicroBlaze CPU Anders Rönnholm.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Chapter 9_3 Following Instructions: Principles of Computer Operation.
Data Manipulation Computer System consists of the following parts:
Real-Time Systems Design JTAG – testing and programming.
Configurable System-on-Chip: Xilinx EDK
Spring 07, Jan 25 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 VLSI System DFT Vishwani D. Agrawal James J. Danaher.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
1 Fast Communication for Multi – Core SOPC Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab.
February 4, 2002 John Wawrzynek
1 Chapter 14 Embedded Processing Cores. 2 Overview RISC: Reduced Instruction Set Computer RISC-based processor: PowerPC, ARM and MIPS The embedded processor.
GCSE Computing - The CPU
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.
Chapter 17 Microprocessor Fundamentals William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper.
Hardware/Software Partitioning Witawas Srisa-an Embedded Systems Design and Implementation.
Computers Are Your Future Eleventh Edition Chapter 2: Inside the System Unit Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
General FPGA Architecture Field Programmable Gate Array.
Programmable Logic- How do they do that? 1/16/2015 Warren Miller Class 5: Software Tools and More 1.
 Chasis / System cabinet  A plastic enclosure that contains most of the components of a computer (usually excluding the display, keyboard and mouse)
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Ross Brennan On the Introduction of Reconfigurable Hardware into Computer Architecture Education Ross Brennan
Chapter 4 The System Unit: Processing and Memory Prepared by : Mrs. Sara salih.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
Translate the following message:
Computers Are Your Future Eleventh Edition Chapter 2: Inside the System Unit Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
J. Christiansen, CERN - EP/MIC
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
The Guts. CPU CPU Socket The CPU is generally a 2 inch ceramic square with a silicon chip located inside. The chip usually about the size of a thumbnail.
Computer Organization - 1. INPUT PROCESS OUTPUT List different input devices Compare the use of voice recognition as opposed to the entry of data via.
Part A Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
25 April 2000 SEESCOASEESCOA STWW - Programma Evaluation of on-chip debugging techniques Deliverable D5.1 Michiel Ronsse.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
1 Hardware/Software Co-Design Final Project Emulation on Distributed Simulation Co-Verification System 陳少傑 教授 R 黃鼎鈞 R 尤建智 R 林語亭.
Academic PowerPoint Computer System – Architecture.
What is a Microprocessor ? A microprocessor consists of an ALU to perform arithmetic and logic manipulations, registers, and a control unit Its has some.
THE MICROPROCESSOR A microprocessor is a single chip of silicon that performs all of the essential functions of a computer central processor unit (CPU)
A-Level Computing#BristolMet Session Objectives#3 MUST identify components of a CPU SHOULD describe the purpose of a CPU and its individual components.
Survey of Reconfigurable Logic Technologies
Chapter 11 System-Level Verification Issues. The Importance of Verification Verifying at the system level is the last opportunity to find errors before.
Embedded Systems Design with Qsys and Altera Monitor Program
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
FPGA Field Programmable Gate Arrays Shiraz University of shiraz spring 2012.
Information Technology INT1001 Lecture 2 1. Computers Are Your Future Tenth Edition Chapter 6: Inside the System Unit Copyright © 2009 Pearson Education,
THE COMPUTER MOTHERBOARD AND ITS COMPONENTS Compiled By: Jishnu Pradeep.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Embedded Systems. What is Embedded Systems?  Embedded reflects the facts that they are an integral.
집적회로설계 1 Spring 2007 Prof. Sang Sik AHN Signal Processing LAB.
Computer Hardware What is a CPU.
GCSE Computing - The CPU
Programmable Logic Devices
Programmable Hardware: Hardware or Software?
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Introduction to Programmable Logic
Electronics for Physicists
Microcomputer Architecture
Number Representations and Basic Processor Architecture
Electronics for Physicists
GCSE Computing - The CPU
Presentation transcript:

집적회로 Spring 2007 Prof. Sang Sik AHN Signal Processing LAB

CHAPTER 13 Embedded Processor Based Design Flow

INTRODUCTION Consider Electronic systems that include one or more FPGAs, general-purpose microprocessor (μP), central processing unit (CPU), microprocessor unit (MPU) on the printed circuit board (PCB)

Two Scenarios at the Circuit Board Level

Two Scenarios at the FPGA Level Small amount of memory used by the CPU to be included locally in the FPGA

The system architects have to decide which functions will be implemented in software Which functions will be implemented in hardware The design environment must support the concept of co-verification to ensure that everything works as it should

HARD VERSUS SOFT CORES Hard cores Predefined (hardwired) block Each of the main FPGA vendors has opted for a particular processor For example, Altera offer embedded ARM processors, Quick Logic have opted for MIPS-based solutions, Xilinx sports PowerPC cores.

HARD CORES Locate it in a strip to the side of the main FPGA fabric All of the components are typically formed on the same silicon chip They could also be formed on two chips and packaged as a Multichip module (MCM)

HARD CORES FPGA fabric is identical for devices with and without the embedded microprocessor core FPGA vendor can bundle a whole load of additional functions in the strip to complement the microprocessor core, such as memory and special peripherals One or more microprocessor cores directly into the main FPGA fabric

HARD CORES One, two, and even four core implementations are currently available at the time of this writing Any memory used by the core is formed from embedded RAM blocks Any peripheral functions are formed from groups of general-purpose programmable logic blocks

HARD CORES

SOFT CORES Opposed to embedding a microprocessor physically into the fabric of the chip, configure a group of programmable logic blocks to act as a microprocessor More precisely categorized as either Soft Core or Firm Core Soft Core : RTL netlist that will be synthesized with the other logic Firm Core : core is presented in the form of a placed and routed block of LUTs/CLBs

SOFT CORES Soft cores are slower and simpler than their hard-core counterparts If you need it you can instantiate as many cores as you require u ntil you run out of resources For example, Altera offers the Nios Xilinx sports the Micro-Blaze true 32-bit machine / 1,000 logic cells Xilinx : Small 8-bit soft core – PicoBlaze using only 150 logic cells

HARD VERSUS SOFT CORES Integrated development environment (IDE) treat PowerPC hard core and the Micro-Blaze soft core identically Both processors being based on the same Core- Connect processor bus and sharing common soft peripheral IP cores

Partitioning a design into its hardware and software components One of the main partitioning criteria: How fast you wish the various functions to perform their tasks Picosecond and nanosecond logic: implemented in hardware Microsecond logic: implemented either in hardware or software Millisecond logic: Implement interfaces Choose the most cost-effective way

Hardware versus Software Views The hardware folks Visualize their portion of the design as blocks of RTL representing such things as registers, logical functions, and the wires connecting them together Debugging in terms of an editor showing their RTL source code, a logic simulator, and a graphical waveform

Hardware versus Software Views Software guys think in terms of C/C++ source code, registers in the CPU, and the contents of various memory locations Debugging a program, single-step through the code Run the program and then pause to see what’s going on

IMPROVING VISIBILITY IN THE DESIGN An embedded CPU core has its own dedicated JTAG boundary scan chain The co-verification environment u se the scan chain to monitor the activity on the buses and control signals connecting the CPU The CPU’s internal registers can also be accessed via the JTAG port Allowing an external debugger to take control

A FEW CO-VERIFICATION ALTERNATIVES RTL (VHDL or Verilog) Model of CPU All of the activity takes place in the logic simulator Disadvantage of this approach is that simulation speed is too slow Another disadvantage is that you have no visibility at the source code level. All you’ll be able to do is to observe logic values changing on wires and inside registers

C/C++ model of CPU The compiled version of this CPU model would be linked into the simulation via the PLI - The advantages of such a model are that it will run much faster than its RTL counterpart; that it can be delivered in compiled form, thereby preserving any secret IP; and that such a model is usually provided for free. - One disadvantage of this approach is that the C/C++ model may not provide a 100 percent cycle-accurate representation of the CPU, which has the potential to cause problems if you aren’t careful.

The advantage of this approach is that y ou know the physical model (chip) is going to functionally match your hard core as closely as possible Disadvantages are That hardware modelers are very expensive You have no visibility into what the software is doing at the source code level All you’ll be able to do is to observe logic values changing on wires and inside registers. Physical chip in hardware modeler

Role of the software portion of a design 1. the software may be acting as a state machine used to control some interface or initializing certain aspects of the hardware and then sit back and watch the hardware do all of the work  In these cases C/C++ or physical model is probably sufficient 2. Hardware portions of the design may exist mainly to act as interface with the outside world, but the CPU may perform huge amounts of complex processing on this data  In this case, sophisticated source-level debugging capabilities like ISS is required.

ISS (Instruction Set Simulator)