SOC Consortium Course Material Core Peripherals National Taiwan University Adopted from National Chiao-Tung University IP Core Design.

Slides:



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

Cortex-M3 Implementation Overview. Chapter 6 in the reference book.
Introduction of Holtek HT-46 series MCU
Implementing interrupt driven IO. Why use interrupt driven IO? Positive points –Allows asynchronous operation of IO events –Good use of resources –Leads.
IO Controller Module Arbitrates IO from the CCP Physically separable from CCP –Can be used as independent data logger or used in future projects. Implemented.
Configurable System-on-Chip: Xilinx EDK
Technion Digital Lab Project Xilinx ML310 board based on VirtexII-PRO programmable device Students: Tsimerman Igor Firdman Leonid Firdman Leonid.
Coordinate Based Tracking System
Pyxis Aaron Martin April Lewis Steve Sherk. September 5, 2005 Pyxis16002 General-purpose 16-bit RISC microprocessor bit registers 24-bit address.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
Technion Digital Lab Project Xilinx ML310 board based on VirtexII-PRO programmable device Students: Tsimerman Igor Firdman Leonid Firdman Leonid.
ASPPRATECH.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
NS Training Hardware. System Controller Module.
INPUT-OUTPUT ORGANIZATION
Cortex-M3 Debugging System
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
Lecture 5. AT91 - Memory Map, Timers, and AIC -
© Copyright Xilinx 2004 All Rights Reserved 9 November, 2004 XUP Virtex-II Pro Development System.
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
Ross Brennan On the Introduction of Reconfigurable Hardware into Computer Architecture Education Ross Brennan
MAPLD 2005 Anthony Lai, Radiation Tolerant Computer Design.
COE4OI5 Engineering Design Chapter 2: UP2/UP3 board.
LPC2148 Programming Using BLUEBOARD
SOC Consortium Course Material ASIC Logic National Taiwan University Adopted from National Chiao-Tung University IP Core Design.
Organization of a computer: The motherboard and its components.
Exercise 2 The Motherboard
The integrated Development of Embedded linux and SOC IP
ELEC4601 Microprocessor systems Lab 3 Tutorial
MICROPROCESSOR INPUT/OUTPUT
Samsung ARM S3C4510B Product overview System manager
Core Peripherals Yu-Ming Chang 張育銘. Institute of Electronics, National Chiao Tung University Core Peripherals 1 Outline About ARM Hardware Development.
2006 Chapter-1 L3: "Embedded Systems - Architecture, Programming and Design", Raj Kamal, Publs.: McGraw-Hill, Inc. 1 Hardware Elements in the Embedded.
SOC Consortium Course Material ASIC Logic Speaker: Lung-Hao Chang 張龍豪 Advisor: Prof. Andy Wu 吳安宇教授 May 21, 2003 National Taiwan University Adopted from.
On Chip Bus National Taiwan University
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Course Introduction Purpose  This course provides an overview of the CPU architecture.
PetrickMAPLD05/P1461 Virtex-II Pro PowerPC SEE Characterization Test Methods and Results David Petrick 1, Wesley Powell 1, Ken LaBel 1, James Howard 2.
PetrickMAPLD05/BOFL1461 Virtex-II Pro PowerPC SEE Characterization Test Methods and Results Session L: Birds of a Feather David Petrick 1, Wesley Powell.
SOC Consortium Course Material Memory Controller National Taiwan University Adopted from National Taiwan University SoC Design Laboratory.
Copyright © 2007 Heathkit Company, Inc. All Rights Reserved PC Fundamentals Presentation 3 – The Motherboard.
1 Introduction CEG 4131 Computer Architecture III Miodrag Bolic.
S&IP Consortium Course Material Standard I/O and Core Peripherals Speaker: Tian-Sheuan Chang July, 2004.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
AT91 Interrupt Handling. 2 Stops the execution of main software Redirects the program flow, based on an event, to execute a different software subroutine.
SOC Consortium Course Material Standard IO National Taiwan University Adopted from National Taiwan University SoC Design Laboratory.
System Integration Module MTT Motoola SYSTEM INTEGRATION MODULE (SIM)
Implementation of Embedded OS Lab4 Cortex-M3 Programming.
Speaker: Yu-Ju Cho 卓余儒 Advisor: Prof. Andy Wu 吳安宇教授
Teaching Digital Logic courses with Altera Technology
بسم الله الرحمن الرحيم MEMORY AND I/O.
PCI 9052 소개 권 동혁. Contents 1.Introduction 2.Major features 3.PCI 9052RDK-LITE.
Aditya Dayal M. Tech, VLSI Design ITM University, Gwalior.
ARM7 TDMI INTRODUCTION.
Introduction to Exceptions 1 Introduction to Exceptions ARM Advanced RISC Machines.
MICROPROCESSOR INTEL 8086/8088 BY: SERA SYARMILA SAMEON.
System on a Programmable Chip (System on a Reprogrammable Chip)
Chap. 4 ARM Boot Loader Internals. 2 S3C2500 ARM940T Core module ARM9TDMI CoreIC.
ATLAS Pre-Production ROD Status SCT Version
Chapter 6 Input/Output Organization
Microcontrollers & GPIO
Timer and Interrupts.
UNIT – Microcontroller.
Interrupts In 8085 and 8086.
FPro Bus Protocol and MMIO Slot Specification
Speaker: Tian-Sheuan Chang July, 2004
Wireless Embedded Systems
Speaker: Yu-Ju Cho 卓余儒 Advisor: Prof. An-Yeu Wu 吳安宇教授
Computer System Laboratory
JTAG, Multi-ICE and Angel
Speaker: Yu-Ju Cho 卓余儒 Advisor: Prof. An-Yeu Wu 吳安宇教授
Presentation transcript:

SOC Consortium Course Material Core Peripherals National Taiwan University Adopted from National Chiao-Tung University IP Core Design

SOC Consortium Course Material 1 Goal of This Lab  Familiarize with ARM Hardware Development Environment –ARM Integrator/AP –Core Module –Logic Module  How to use Timer/Interrupt

SOC Consortium Course Material 2 Outline  ARM Integrator Core Module (CM) [1]  ARM Integrator Logic Module (LM) [2]  ARM Integrator ASIC Application Platform (AP) [3]  System Memory Map [1]  Lab3 – Core Peripheral

SOC Consortium Course Material 3 ARM Integrator Core Module/CM  CM provides ARM core personality.  CM could be used as a standalone development system without AP.  CM could be mounted onto AP as a system core.  CM could be integrated into a 3rd-party development or ASIC prototyping system.

SOC Consortium Course Material 4 Core module

SOC Consortium Course Material 5 ARM Integrator/CM Feature (CM9TDMI)  ARM9TDMI microprocessor core –ARM940T/ARM920T  Core module controller FPGA : –SDRAM controller –System bus bridge –Reset controller –Interrupt controller  Supports 16MB~256MB PC66/PC pin SDRAM  Supports 256/512 KB SSRAM  Multi-ICE, logic analyzer, and optional trace connectors.

SOC Consortium Course Material 6 FPGA functional diagram

SOC Consortium Course Material 7 ARM Integrator Core Module FPGA  SDRAM controller –Supports for DIMMs from 16MB to 256MB.  Reset controller –Initializes the core. –Process resets from different sources.  Status and configuration space –Provides processor information. –CM oscillator setup. –Interrupt control for the processor debug communications channel.  System bus bridge –Provides Interface between the memory bus on the CM and the system bus on the AP.

SOC Consortium Course Material 8 Connecting Multi-ICE with CM

SOC Consortium Course Material 9 Outline  ARM Integrator Core Module (CM) [1]  ARM Integrator Logic Module (LM) [2]  ARM Integrator ASIC Application Platform (AP) [3]  System Memory Map [1]  Lab3 – Core Peripheral

SOC Consortium Course Material 10 ARM Integrator/LM Logic Module  LM is designed as a platform for development AHB/ASB/APB peripherals for use with ARM cores.  LM could be used as a standalone system.  LM could be mounted with an Integrator/CM, and an Integrator/AP motherboard.  LM could be used as a CM with Integrator/AP if a synthesized ARM core, such as ARM9TDMI-S, is programmed into the FPGA.

SOC Consortium Course Material 11 Integrator/LM

SOC Consortium Course Material 12 ARM Integrator/LM Feature (XCV-2000E)  Altera or Xilinx FPGA  Configuration PLD and flash memory for storing FPGA configurations  1MB SSRAM  Clock generators and reset resources  Switches  LEDs  Prototyping grid  JTAG, Trace, and logic analyzer connectors  System bus connectors to a motherboard or other modules

SOC Consortium Course Material 13 LM Architecture

SOC Consortium Course Material 14 Using Multi-ICE with LM

SOC Consortium Course Material 15 Outline  ARM Integrator Core Module (CM) [1]  ARM Integrator Logic Module (LM) [2]  ARM Integrator ASIC Application Platform (AP) [3]  System Memory Map [1]  Lab3 – Core Peripheral

SOC Consortium Course Material 16 About ARM Integrator/AP  An ATX motherboard which can be used to support the development of applications and hardware with ARM processor.  Platform board provides the AMBA backbone and system infrastructure required.  Core Modules (CM) & Logic Modules (LM) could be attached to ASIC Platform.

SOC Consortium Course Material 17 ARM Integrator/AP Features  System controller FPGA. –System bus to CMs and LMs –System bus arbiter –Interrupt controller –Peripheral I/O controller –3 counter/timers –Reset controller –System status and control registers  Clock Generator  Two serial ports (RS232 DTE)  PCI bus interface supporting onboard expansion.  External Bus Interface (EBI) supporting external memory expansion.  256KB boot ROM  32MB flash memory.  512K SSRAM.

SOC Consortium Course Material 18 Integrator/AP Not to scale

SOC Consortium Course Material 19 ARM Integrator/AP Block Diagram

SOC Consortium Course Material 20 Assembled Integrator Development System Core module Logic module

SOC Consortium Course Material 21 Assembled Integrator/AP system

SOC Consortium Course Material 22 System Controller FPGA (1/2)  System Bus Interface –Supports transfers between system bus and the Advanced Peripheral Bus (APB). –Supports transfers between system bus and the PCI bus. –Supports transfers between system bus and the External Bus Interface (EBI).  System Bus Arbiter –Provides arbitration for a total of 6 bus masters. Up to 5 masters on CMs or LMs. PCI bus bridge. (the highest priority)  Interrupt Controller –Handles IRQs and FIQs for up to 4 ARM processors. –IRQs and FIQs originate from the peripheral controllers, PCI bus, and other devices on LMs.

SOC Consortium Course Material 23 System Controller FPGA (2/2)  Peripheral I/O Controllers –2 ARM PrimeCell UARTs –ARM PrimeCell Keyboard & Mouse Interface (KMI) –ARM PrimeCell Real Time Clock (RTC) –3 16-bit counter/timers –GPIO controller –Alphanumeric display and LED control, and switch reader  Reset Controller –Initializes the Integrator/AP when the system is reset  System Status & Control Register –Clock speeds –Software reset –Flash memory write protection

SOC Consortium Course Material 24 System Controller FPGA Diagram

SOC Consortium Course Material 25 Reset Controller  A reset controller is incorporated into the system controller FPGA.  The hardware reset sources are as follows: –Push-button PBRST and CompactPCI signal CP_PRST –ATX power OK signal nPW_OK and CompactPCI power fail signal CP_FAL –FPGADONE signal (routed through CPCI arbiter to become nRSTSRC5) –Logic modules using nEXPRST –Core modules (and Multi-ICE) using nSRST

SOC Consortium Course Material 26 Integrator/AP Reset Control

SOC Consortium Course Material 27 Interrupt Controller  The system controller FPGA contains four interrupt controllers.  The system controller incorporates a separate IRQ and FIQ controller for each core module.  Interrupts are masked enabled, acknowledged, or cleared via registers in the interrupt controller.  Main sources of interrupts: –System controller’s internal peripherals –LM’s devices –PCI subsystem –Software

SOC Consortium Course Material 28 Interrupt Controller Architecture

SOC Consortium Course Material 29 System Bus  The HDRA/HDRB and EXPA/EXPB connector pairs are used to connect the system bus between the AP and other modules –Core modules on the connectors HDRA and HDRB –Logic modules on the connectors EXPA and EXPB  There are three main system bus (A[31:0], C[31:0], and D[31:0]) and fourth bus B[31:0] –A[31:0]: This is the address bus –B[31:0]: Only connects HDRA to EXPA and reserved for future use –C[31:0]: Used to implement a system control bus –D[31:0]: This is the data bus

SOC Consortium Course Material 30 System Bus Architecture

SOC Consortium Course Material 31 Peripherals  The peripheral devices incorporated into the system controller FPGA –Counter/timers –Real-time clock –UARTs –Keyboard and mouse interface –GPIO

SOC Consortium Course Material 32 Counter/Timers  There are 3 counter/timers on an ARM Integrator AP.  Each counter/timer generates an IRQ when it reaches 0.  Each counter/timer has: –A 16-bit down counter with selectable prescale –A load register –A control register

SOC Consortium Course Material 33 Counter/Timers Registers (1/2)  These registers control the 3 counter/timers on the Integrator AP board.  Each timer has the following registers. –TIMERX_LOAD: a 16-bit R/W register which is the initial value in free running mode, or reloads each time the counter value reaches 0 in periodic mode. –TIMERX_VALUE: a 16-bit R register which contains the current value of the timer. –TIMERX_CTRL: an 8-bit R/W register that controls the associated counter/timer operations. –TIMERX_CLR: a write only location which clears the timer’s interrupt.

SOC Consortium Course Material 34 Counter/Timers Registers (2/2)  Counter Timer Registers AddressName TypeSizeFunction 0x TIMER0_LOAD R/W16Timer0 load register 0x TIMER0_VALUE R16Timer0 current value reg 0x TIMER0_CTRL R/W 8Timer0 control register 0x C TIMER0_CLR W 1Timer0 clear register  Timer Control Register BitsNameFunction 7ENABLETimer enable: 0=disable; 1=enable. 6MODETimer mode: 0=free running; 1=periodic 5:4unusedUnused, always 0 3:2PRESCALEPrescale divisor: 00=none; 01 = div by 16 10=div by 256; 11 = undefined 1:0UnusedUnused,always 0

SOC Consortium Course Material 35 The IRQ and FIQ Control Registers  Implemented in the system controller FPGA.  Provides interrupt handling for up to 4 processors.  There’s a 22-bit IRQ and FIQ controller for each processor.

SOC Consortium Course Material 36 IRQ Registers (1/2)  The registers control each processor’s interrupt handler on the Integrator AP board.  Each IRQ has following registers: –IRQX_STATUS: a 22-bit register representing the current masked IRQ status. –IRQX_RAWSTAT: a 22-bit register representing the raw IRQ status. –IRQX_ENABLESET: a 22-bit location used to set bits in the enable register. –IRQX_ENABLECLR: a 22-bit location used to clear bits in the enable register.

SOC Consortium Course Material 37 IRQ Registers (2/2)  IRQ Registers Address NameType Size Function 0x IRQ0_STATUSR22 IRQ0 status 0x IRQ0_RAWSTATR22 IRQ0 IRQ status 0x IRQ0_ENABLESETR/W22 IRQ0 enable set 0x CIRQ0_ENABLECLRW22 IRQ0 enable clear  IRQ Registers bit assignments BitNameFunction 0SOFTINTSoftware interrupt 5TIMERINT0Counter/Timer interrupt 6TIMERINT1Counter/Timer interrupt 7TIMERINT2Counter/Timer interrupt

SOC Consortium Course Material 38 Outline  ARM Integrator Core Module (CM) [1]  ARM Integrator Logic Module (LM) [2]  ARM Integrator ASIC Application Platform (AP) [3]  System Memory Map [1]  Lab3 – Core Peripheral

SOC Consortium Course Material 39 System Memory Map

SOC Consortium Course Material 40 Core Module Memory Map

SOC Consortium Course Material 41 Outline  ARM Integrator Core Module (CM) [1]  ARM Integrator Logic Module (LM) [2]  ARM Integrator ASIC Application Platform (AP) [3]  System Memory Map [1]  Lab3 – Core Peripheral

SOC Consortium Course Material 42 Lab 3: Core Peripherals  Goal –Understand available resource of ARM Integrator Integrator/AP Core Module (CM) Logic Module (LM) Memory-mapped device Timer/Interrupt  Principles –ARM ASIC Platform Resources –Semihosting –Interrupt handler –Architecture of Timer and Interrupter controller  Guidance –Introduction to Important functions used in interrupt handler  Steps –The same to that of code development  Requirements and Exercises –Modified the C program. We use Real-Time Clock instead of timer to show our IRQ0 values.  Discussion –How to use multi- timer/interrupt.

SOC Consortium Course Material 43 Timer/Interrupt example without uHAL  Several important functions are used in this example: –Install_Handler: This function install the IRQ handler at the branch vector table at 0x18. –myIRQHandler: This is the user’s IRQ handler. It performs the timer ISR in this example. –enableIRQ: The IRQ enable bit in the CPSR is set to enable IRQ. –LoadTimer, WriteTimerCtrl, ReadTimer, ClearTimer: Timer related functions.

SOC Consortium Course Material 44 References [1] [2] DUI0126B_CM7TDMI_UG.pdf [3] LM-XCV2000E.pdf [4] DUI0098B_AP_UG.pdf.