ASIC Logic. Speaker: Juin-Nan Liu. Adopted from National Chiao-Tung University IP Core Design

Similar documents
Graduate Institute of Electronics Engineering, NTU. ASIC Logic. Speaker: Lung-Hao Chang 張龍豪 Advisor: Prof. Andy Wu 吳安宇教授.

Rapid Prototyping.

IP Core Design. Lab TA:Tzung-Shian Yang

5. On-chip Bus

Contents ASIC Logic Overview Background Information Rapid Prototyping with Logic Module Basic Platforms: AHB and

Core Peripherals. Speaker: Tzu-Wei Tseng. Adopted from National Chiao-Tung University IP Core Design. SOC Consortium Course Material

S2C K7 Prodigy Logic Module Series

ARM Processors for Embedded Applications

Fujitsu System Applications Support. Fujitsu Microelectronics America, Inc. 02/02

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info.

Designing Embedded Processors in FPGAs

Designing with ALTERA SoC Hardware

Copyright 2016 Xilinx

Test and Verification Solutions. ARM Based SOC Design and Verification

Graduate Institute of Electronics Engineering, NTU Advanced VLSI SOPC design flow

Lecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT

Design of Embedded Hardware and Firmware

Introduction to Embedded System Design using Zynq

Copyright 2014 Xilinx

Lab-2: Profiling m4v_dec on GR-XC3S National Chiao Tung University Chun-Jen Tsai 3/28/2011

ARM ARCHITECTURE. Contents at a glance:

Xilinx Vivado/SDK Tutorial

Memory Controller. Speaker: Tzu-Wei Tseng. Adopted from National Taiwan University SoC Design Laboratory. SOC Consortium Course Material

LEON4: Fourth Generation of the LEON Processor

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

Fujitsu SOC Fujitsu Microelectronics America, Inc.

Product Technical Brief S3C2413 Rev 2.2, Apr. 2006

New System Solutions for Laser Printer Applications by Oreste Emanuele Zagano STMicroelectronics

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006

HW/SW Co-design Lecture 4: Lab 2 Passive HW Accelerator Design

ESA Contract 18533/04/NL/JD

Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003

COMPLEX EMBEDDED SYSTEMS

CoreTile Express for Cortex-A5

Basic ARM Modules and Systems

Designing with ALTERA SoC

2001 Altera Corporation (1)

Versatile/PB926EJ-S FAQ v1.0

V8-uRISC 8-bit RISC Microprocessor AllianceCORE Facts Core Specifics VAutomation, Inc. Supported Devices/Resources Remaining I/O CLBs

SoC Platforms and CPU Cores

Typical applications where a CPLD may be the best design approach:

Excalibur Device Overview

Bluetooth Development Platform

RM3 - Cortex-M4 / Cortex-M4F implementation

Rad-Hard Microcontroller For Space Applications

Booting Excalibur Devices

Xynergy It really makes the difference!

Intellectual Property Macrocell for. SpaceWire Interface. Compliant with AMBA-APB Bus

CHAPTER 1 Introduction of the tnano Board CHAPTER 2 tnano Board Architecture CHAPTER 3 Using the tnano Board... 8

ARM Cortex-M4 Architecture and Instruction Set 1: Architecture Overview

iimplementation of AMBA AHB protocol for high capacity memory management using VHDL

Product Technical Brief S3C2416 May 2008

NIOS CPU Based Embedded Computer System on Programmable Chip

Melon S3 FPGA Development Board Product Datasheet

SoC Design Lecture 9: Platform Based Design. Shaahin Hessabi Department of Computer Engineering

Application Note. Implementing AHB Peripherals in Logic Tiles. Document number: ARM DAI 0119E Issued: January 2006 Copyright ARM Limited 2006

Introduction to VHDL Design on Quartus II and DE2 Board

Introduction to the Qsys System Integration Tool

Place Your Logo Here. K. Charles Janac

The industrial technology is rapidly moving towards ARM based solutions. Keeping this in mind, we are providing a Embedded ARM Training Suite.

Laboratory Exercise 4

An H.264/AVC Main Profile Video Decoder Accelerator in a Multimedia SOC Platform

AHB monitor. Monitor. AHB bridge. Expansion AHB ports M1, M2, and S. AHB bridge. AHB bridge. Configuration. Smart card reader SSP (PL022)

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

Figure 2.1 The Altera UP 3 board.

ML505 ML506 ML501. Description. Description. Description. Features. Features. Features

System-on-a-Programmable-Chip (SOPC) Development Board

Design of AMBA Based AHB2APB Bridge

EITF35 - Introduction to the Structured VLSI Design (Fall 2016) Interfacing Keyboard with FPGA Board. (FPGA Interfacing) Teacher: Dr.

SOC Design Lab. Adopted from National Chiao-Tung University IP Core Design

Developing a LEON3 template design for the Altera Cyclone-II DE2 board Master of Science Thesis in Integrated Electronic System Design

Emulation Baseboard. RealView. User Guide (Lead Free) HBI-0140 Rev D. Copyright ARM Limited. All rights reserved.

Virtual Array Architecture for efpga April 5, 2018

Midterm Exam. Solutions

The ARM Cortex-M0 Processor Architecture Part-1

SmartFusion2 SoC FPGA Demo: Code Shadowing from SPI Flash to SDR Memory User s Guide

Processor and Peripheral IP Cores for Microcontrollers in Embedded Space Applications

Midterm Exam. Solutions

DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE

Next Generation Multi-Purpose Microprocessor

Computer Architecture CS 355 Busses & I/O System

Zynq-7000 All Programmable SoC Product Overview

Universal Serial Bus Host Interface on an FPGA

Introduction to Zynq

Introduction to ARM LPC2148 Microcontroller

Goal: We want to build an autonomous vehicle (robot)

Bus AMBA. Advanced Microcontroller Bus Architecture (AMBA)

EBCP RoseRed. Bluetooth Development Platform User Guide. Copyright 2002 ARM Limited. All rights reserved. ARM DUI 0190A

STM32 MICROCONTROLLER

Module 1. Introduction. Version 2 EE IIT, Kharagpur 1

Ref: AMBA Specification Rev. 2.0

Massively Parallel Processor Breadboarding (MPPB)

Digital Systems Design. System on a Programmable Chip

Laboratory Exercise 5

CLK. Slot1 VIA ATX Mainboard. User s Manual 4

Microbee Technology FTM-3SE

Design of AHB Arbiter with Effective Arbitration Logic for DMA Controller in AMBA Bus

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

Celeron EPIC Computer with GUI and Dual Ethernet SBC4685

Transcription:

ASIC Logic Speaker: Juin-Nan Liu Adopted from National Chiao-Tung University IP Core Design

Goal of This Lab Prototyping Familiarize with ARM Logic Module (LM) Know how to program LM

Outline Introduction ARM System Overview Prototyping with Logic Module Lab ASIC Logic

Introduction Rapid Prototyping A fast way to verify your prototype design. Enables you to discover problems before tape out. Helps to provide a better understanding of the design s behavior. ARM Integrator and Logic Module can be used for Hardware Design Verification and HW/SW coverification. Hardware Design Verification: using LM stand alone. HW/SW co-verification: using LM, CM, Integrator together.

Outline Introduction ARM System Overview ARM Synchronization Scheme: Interrupt ARM Synchronization Scheme: Polling Prototyping with Logic Module Lab ASIC Logic

ARM System Overview A typical ARM system consists of an ARM core, a DSP chip for application-specific needs, some dedicated hardware accelerator IPs, storages, and some peripherals and controls. ARM920T DSP CHIP Motion Estimation Accelerator IP External Memory External Memory Controller AHB On chip memory controller and memory Direct Memory Access (DMA) AHB-to-APB Bridge GPIOs Interrupt Controller Remote KB/ Mouse Controller APB Real Time Counter Timers LCD Controller USB Controller

ARM System Synchronization Scheme: Interrupt A device asserts an interrupt signal to request the ARM core handle it. The ARM core can perform tasks while the device is in use. Needs Interrupt Controller. More hardware. IP0 IP1 IP2 IP3 IP0, IP1, IP2, and IP3 raised interrupt request (IRQ) at the same time. The IRQs are sent to the interrupt controller. Interrupt Controller ARM CORE clear IP0's IRQ Interrupt controller receives the IRQs and update the IRQ status indicating the IRQ sources. ARM core receives the IRQs, deteremines which IRQ should be handled according to programmed priorities. and then executes the corresponding interrupt service routine (ISR). IP 0 The ISR performs its operations and clears the IP0's interrupt.

ARM System Synchronization Scheme: Polling The ARM core keeps checking a register indicating if the device has done its task. The ARM core is busy polling the device while the device is in use. Less hardware. ARM CORE ARM core polls IP0's ready register after IP0 has been enabled. Polling IP0 Disable IP0 Once IP0 is done with its operation, ARM core will know from the changed value of the ready register. IP 0 ARM core will execute the corresponding operations and then disable IP0.

Outline Introduction ARM System Overview Prototyping with Logic Module ARM Integrator AP & ARM LM FPGA tools Example 1 Example 2 Exercise Lab ASIC Logic

AP Layout

What is LM Logic Module A platform for developing Advanced Microcontroller Bus Architecture (AMBA), Advanced System Bus (ASB), Advanced Highperformance Bus (AHB), and Advanced Peripheral Bus (APB) peripherals for use with ARM cores.

Using the LM It can be used in the following ways: As a standalone system With an CM, and a AP or SP motherboard As a CM with either AP or SP motherboard if a synthesized ARM core is programmed into the FPGA Stacked without a motherboard, if one module in the stack provides system controller functions of a motherboard

LM Architecture

Components of LM Altera or Xilinx FPGA Configuration PLD and flash memory for storing FPGA configurations 1MB ZBT SSRAM Clock generators and reset sources A 4-way flash image selection switch and an 8-way user definable switch 9 user-definable surface-mounted LEDs (8G1R) User-definable push button Prototyping grid System bus connectors to a motherboard or other modules

LM Layout 8-way swtich 4-way swtich

Links CONFIG link Enable configuration mode, which changes the JTAG signal routing and is used to download new PLD or FPGA configurations. JTAG, Trace, and logic analyzer connectors Other links, switches, and small ICs can be added to the prototyping grid if required.

FPGA tools Xilinx GUI Synthesis Tool

A Timing Information Example We strongly suggest you to perform place-and-route operation on a better PC, it s a very time-consuming work!

Example 1 Path =.\lab5\codes\hw\example1\ Count up on logic analyzer channel a Count down on logic analyzer channel b Reset by pushbutton LEDs scan from left to right. Switches [0:1] (brown:red) control the clock frequency (CTRLCLK1) and affect the LEDs scanning frequency.

Example 1 (cont.) CLK1 npbutt SW[1:0] Example1 1MHz Disable SSRAM and FLASH LED[7:0] LAA[15:0] LAB[15:0] LAACLK LABCLK CTRLCLK1[18:0] CTRLCLK2[18:0] Logic Analyser PWRDNCLK1, PWRDNCLK2, 0 1 SnCE, FnOE, FnWE 1 1 1 Set Frequency

On-board Clock Generators

Clock Signal Summary

Programming the LM Clock 1MHz: CTRLCLKx=19'b1100111110000000100 2MHz: CTRLCLKx=19'b1100011110000000100 5MHz: CTRLCLKx=19'b1100001110000000111 10MHz: CTRLCLKx=19'b1100000110000000111 Constraint:

Example 2 The example code operates as follows: 1. Determines DRAM size on the core module and sets up the system controller 2. Checks that the logic module is present in the AP expansion position 3. Reports module information 4. Sets the logic module clock frequencies 5. Tests SSRAM for word, halfword, and byte accesses. 6. Flashes the LEDs 7. Remains in a loop that displays the switch value on the LEDs

Two Platform AHB & ASB Two versions of example 2 are provided to support the following implementations: AHB motherboard and AHB peripherals ASB motherboard and AHB peripherals Which AMBA has been downloaded on board can be observed by the alphanumber display H: AHB S: ASB

AHB Platform AHB Core SDRAM Other Modules AHBAHBTop AHBDecoder AHBZBTRAM ZBTSRAM AHBMuxS2M AHBAPBSys APBRegs AHB APB AHB2APB MYIP APBIntcon Logical Module

Example2 Files Description Hardware files.\lab7\codes\hw\example2\verilog AHBAHBTop.v AHBDecoder.v AHBMuxS2M.v AHBZBTRAM.v AHB2APB.v AHBAPBSys.v APBIntCon.v APBRegs.v Software program files.\lab7\codes\sw\example2\ sw.mcp logic.c logic.h platform.h rw_support.s For Xilinx synthesis tool to generate lmxcv600e_72c_xcv2000e_via_reva_build0.bit For codewarrior to generate sw.axf

Software Description 5 files included in.\lab7\codes\sw\example2\ sw.mcp: project file logic.c: the main C code logic.h: constant definitions platform.h: constant definitions rw_support.s: assembly functions for SSRAM testing

Integrator Memory Map

Work Flow Summary Prepare HDL Design Synthesis Prepare Software Design Place&Route FPGA Bitstream Generation Downloading the Bitstream to LM's FPGA Make & Build AXD Image Generation Run the AXD image with MultiICE

Outline Introduction ARM System Overview Prototyping with Logic Module Lab ASIC Logic

Lab 5: ASIC Logic Goal HW/SW Co-verification using Rapid Prototyping Principles Basics and work flow for prototyping with ARM Integrator Target platform: AMBA AHB subsystem Guidance Overview of examples used in the Steps Steps Understand the files for the example designs and FPGA tool Steps for synthesis with Xilinx ISE 5.1i/5.2i Requirements and Exercises RGB-to-YUV converting hardware module. See next slide Discussion In example 1, explain the differences between the Flash version and the FPGA one. In example 1, explain how to move data from DRAM to registers in MYIP and how program access these registers. In example2, draw the interconnect among the functional units and explain the relationships of those interconnect and functional units in AHB sub-system Compare the differences of polling and interrupt mechanism

Exercise: RGB to YCrCb Converter Convert the rgb2ycrcb() into hardware module and implement it on the ARM development system. Evaluate the improvement. Hint: you may modify ahbahbtop.v, ahbdecoder.v, ahbmuxs2m.v, and ahbzbtram.v files in example2

Reference [1] http://twins.ee.nctu.edu.tw/courses/ip_core_02/index.html [1] LM-XCV2000E.pdf [2] DUI0098B_AP_UG.pdf [3] progcards.pdf