Speaker: Yu-Ju Cho 卓余儒 Advisor: Prof. Andy Wu 吳安宇教授

Slides:



Advertisements
Similar presentations
MUHAMMAD AHMED HUSSAIN
Advertisements

Nios Multi Processor Ethernet Embedded Platform Final Presentation
Cortex-M3 Implementation Overview. Chapter 6 in the reference book.
Presenter : Shao-Chieh Hou VLSI Design, Automation and Test, VLSI-DAT 2007.
MC68HC11 System Overview. System block diagram (A8 version)
Maciej Gołaszewski Tutor: Tadeusz Sondej, PhD Design and implementation of softcore dual processor system on single chip FPGA Design and implementation.
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Asynchronous Pipelined Ring Interconnection for SoC Final Presentation One semester project, Spring 2005 Supervisor: Nitzan Miron Students: Ziv Zeev Shwaitser.
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.
VirtexIIPRO FPGA Device Functional Testing In Space environment. Performed by: Mati Musry, Yahav Bar Yosef Instuctor: Inna Rivkin Semester: Winter/Spring.
Configurable System-on-Chip: Xilinx EDK
Coordinate Based Tracking System
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
1 ECE 263 Embedded System Design Lessons 2, 3 68HC12 Hardware Overview, Subsystems, and memory System.
Implementation of DSP Algorithm on SoC. Characterization presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompany engineer : Emilia Burlak.
ASPPRATECH.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
NS Training Hardware. Memory Interface Support for SDRAM, asynchronous SRAM, ROM, asynchronous flash and Micron synchronous flash Support for 8,
General Purpose FIFO on Virtex-6 FPGA ML605 board midterm presentation
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Part 1 Using the ARM board And start working with C Tutorial 5 and 6
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.
Computer Organization CSC 405 Bus Structure. System Bus Functions and Features A bus is a common pathway across which data can travel within a computer.
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,
COE4OI5 Engineering Design Chapter 2: UP2/UP3 board.
Meier208/MAPLD DMA Controller for a Credit-Card Size Satellite Onboard Computer Michael Meier, Tanya Vladimirova*, Tim Plant and Alex da Silva Curiel.
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
A Simple Tour of the MSP430. Light LEDs in C LEDs can be connected in two standard ways. Active high circuit, the LED illuminates if the pin is driven.
LPC2148 Programming Using BLUEBOARD
SOC Consortium Course Material ASIC Logic National Taiwan University Adopted from National Chiao-Tung University IP Core Design.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
The integrated Development of Embedded linux and SOC IP
SOC Consortium Course Material ASIC Logic Speaker: Lung-Hao Chang 張龍豪 Advisor: Prof. Andy Wu 吳安宇教授 May 21, 2003 National Taiwan University Adopted from.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
On Chip Bus National Taiwan University
SOC Consortium Course Material Memory Controller National Taiwan University Adopted from National Taiwan University SoC Design Laboratory.
ECS642U Embedded Systems Digital I/O William Marsh.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
S&IP Consortium Course Material Standard I/O and Core Peripherals Speaker: Tian-Sheuan Chang July, 2004.
Part A Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
CascadedBCDCntr&Display Aim : Capture, simulate and implement a 2-digit, loadable BCD up/down counter, with chip enable I/P (CE) and chip enable O/P (CEO).
SOC Consortium Course Material Core Peripherals National Taiwan University Adopted from National Chiao-Tung University IP Core Design.
Computer Organization & Assembly Language © by DR. M. Amer.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE Presenter: Shu-yen Lin Advisor: Prof. An-Yeu Wu 2005/6/6.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
NTU ARM Lab. Lab. 5 Memory Controller 指導教授 : 吳安宇 教授 學生 : 李源華 R 鍾慶諺 R 陳宗裕 P
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
SOC Consortium Course Material Standard IO National Taiwan University Adopted from National Taiwan University SoC Design Laboratory.
This material exempt per Department of Commerce license exception TSU Architecture Wizard and PACE Lab 2 Introduction.
Teaching Digital Logic courses with Altera Technology
بسم الله الرحمن الرحيم MEMORY AND I/O.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Introduction to the FPGA and Labs
Lab 1: Using NIOS II processor for code execution on FPGA
Introduction to Programmable Logic
FPGA IRRADIATION and TESTING PLANS (Update)
ENG3050 Embedded Reconfigurable Computing Systems
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
AT91 Memory Interface This training module describes the External Bus Interface (EBI), which generatesthe signals that control the access to the external.
FPro Bus Protocol and MMIO Slot Specification
Speaker: Tian-Sheuan Chang July, 2004
ChipScope Pro Software
ChipScope Pro Software
Speaker: Yu-Ju Cho 卓余儒 Advisor: Prof. An-Yeu Wu 吳安宇教授
Computer System Laboratory
Lab 9 ASIC Logic 第八組 R 陳方玉 R 陳建宏 R 柯鴻洋
JTAG, Multi-ICE and Angel
Speaker: Yu-Ju Cho 卓余儒 Advisor: Prof. An-Yeu Wu 吳安宇教授
Presentation transcript:

Speaker: Yu-Ju Cho 卓余儒 Advisor: Prof. Andy Wu 吳安宇教授 ASIC Logic Speaker: Yu-Ju Cho 卓余儒 Advisor: Prof. Andy Wu 吳安宇教授 National Taiwan University 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 HW/SW co-verification using LM and CM

Outline Introduction ARM System Overview ARM Integrator System Memory Map 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 co-verification. 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 ARM Integrator System Memory Map 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.

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.

IRQ registers

IRQ register Bit assignment

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.

Outline Introduction ARM System Overview ARM Integrator System Memory Map Prototyping with Logic Module Lab – ASIC Logic

Overview of System Memory Map

Core Module Memory Map Core Module Control Register CM_CTRL 4-pole DIP switch (S1) on motherboard S1[1]=ON: code starts execution from boot ROM S1[1]=OFF: code starts execution from flash Bits Name Access Function 31:6 Reserved   5 BIGEND R/W 0=little-endian 1=big-endian 4 3 RESET W Reset core module 2 REMAP 0=access Boot ROM 1=access SSRAM 1 nMBDET R 0=mounted on MB 1=stand alone LED 0=LED OFF 1=LED ON

Core Module Memory Map (cont.) The nMBDET signal is permanently grounded by the motherboard so that it is pulled LOW on the core module when it is fitted. The REMAP bit only has effect if the core module is attached to a motherboard (nMBDET = 0).

Core Module Memory Map (cont.) 8MB 8MB 256MB 256KB

Core Module Alias Address

Integrator Memory Map for Core Modules REMAP = 0: Default following reset. Accesses to addresses 0x00000000 to 0x0003FFFF S1[1] = ON: the access is to boot ROM S1[1] = OFF: the access is to flash REMAP = 1: Accesses to address 0x00000000 to 0x0003FFFF REMAP: ROM is slow & narrow to RAM, so use this register to change memory map after initialization

Integrator Memory Map for Logic Modules S1[1] = ON: the EBI resources are mapped into the bottom 256MB of the system memory map. S1[1] = OFF: the flash is mapped repeatedly into bottom 256MB of the system memory map.

System Memory Map (1/3)

System Memory Map (2/3)

System Memory Map (3/3)

Outline Introduction ARM System Overview ARM Integrator System Memory Map Prototyping with Logic Module ARM Integrator AP & ARM LM FPGA tools Example 0 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 High-performance 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 switch 4-way switch

Links CONFIG link JTAG, Trace, and logic analyzer connectors 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.

Integrator Memory Map

FPGA GUI Synthesis Tool FPGA tools FPGA 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!

Example0 Path = .\lab7\Codes\SW\example0\SSRAM.c Move data between SSRAM of core module and ZBT SSRAM of logic module This program does the following tasks: 1. Backup the data in the SSRAM of core module at locations 0x00030000 to 0x00038000 range to the ZBT SSRAM of logic module at locations 0xC2000000 to 0xC2008000 2. Write values to the SSRAM at locations 0x00030000 to 0x00038000 3. Verify the values in the SSRAM at locations 0x00030000 to 0x00038000 4. Restore the backup data back to their original locations

Example 1 Path = .\lab7\Codes\HW\example1\Verilog 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.

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

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

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 FPGA synthesis tool to generate bitstream 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

Work Flow Summary

Outline Introduction ARM System Overview ARM Integrator System Memory Map Prototyping with Logic Module Lab – ASIC Logic

Lab 7: ASIC Logic Goal Principles Guidance Requirements and Exercises HW/SW Co-verification using Rapid Prototyping Principles Basics and work flow for prototyping with ARM Integrator Target platform: AMBA AHB sub-system 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 6.1 or Altera Quartus II 2.2 Requirements and Exercises RGB-to-YUV and YUV-to-RGB conversions, see next slides 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 and YUV Conversion (1/4) RGB-to-YUV conversion (hardware) and then YUV-to-RGB conversion (software). RGB2YUV YUV2RGB R = Y + 1.403V G = Y – 0.344U – 0.714V B = Y + 1.770U Y = 0.299R + 0.587G + 0.114B U = –0.169R – 0.332G + 0.500B V = 0.500R – 0.419G – 0.0813B Y = ( 306R + 601G + 117B) >> 10 U = (–173R – 339G + 512B) >> 10 V = ( 512R – 429G – 83B ) >> 10 R = Y + 1437V G = Y – 352U – 731V B = Y + 1812U

Exercise: RGB and YUV Conversion (2/4) Files Description Software files .\Lab7\Codes\SW\exercise Input.bmp: test bitmap file rw_support.s: assembly functions for access data in logic module yuv2rgb.c: the main C code Perform YUV to RGB conversion Read 8 YUV data from and write 8 RGB data to logic module when IRQ0 is asserted Hardware files .\Lab7\Codes\HW\exercise AHBAHBTop.v : must be modified to connect the interrupt signal from MYIP AHBDecoder.v, AHBMuxS2M.v, AHBZBTRAM.v, AHB2APB.v, AHBAPBSys.v, APBIntCon.v, APBRegs.v AHBAHBTop.csf and AHBAHBTop.ucf: define the pin assignment MYIP.v: RGB to YUV converter Perform RGB to YUV conversion Assert IRQ0 when 8 RGB data have been converted into 8 YUV data to inform ARM processor to read the 8 YUV data

Exercise: RGB and YUV Conversion (3/4) Memory Allocation in LM 0xCC000068 0xCC000064 Output buffer Polling Interrupt Input buffer 0xCC0000E4 0xCC0000C8  0xCC00001C 0xCC000000

Exercise: RGB and YUV Conversion (4/4) Based on the template system Implement the RGB-to-YUV and YUV-to-RGB conversions with pure software, compare the performance of the template system with that of pure software implementation. Design a system that performs RGB-to-YUV conversion with software and YUV-to-RGB conversion with hardware. The synchronization scheme used in the system is polling.

Reference http://twins.ee.nctu.edu.tw/courses/ip_core_02/index.html LM-XCV2000E.pdf DUI0126B_CM7TDMI_UG.pdf DUI0098B_AP_UG.pdf progcards.pdf