Linux PL330 Mainline Driver Usage John Linn 10/17/2014 Based on Linux kernel 3.14

Size: px
Start display at page:

Download "Linux PL330 Mainline Driver Usage John Linn 10/17/2014 Based on Linux kernel 3.14"

Transcription

1 Linux PL330 Mainline Driver Usage John Linn 10/17/2014 Based on Linux kernel 314

2 About the PL330 Hardware The Zynq Technical Reference Manual (TRM) provides a good description of the device There are some known restrictions when using the device which are documented in section 95 of the Zynq TRM It is a complex device which uses microcode to perform the DMA transactions ARM does not license the microcode assembler to end customers There is no debug/trace capability for the microcode Memory to memory transfers which are shorter can likely be done with the CPU easier if the CPU is available See the references at the end for a complete list of documents

3 PL330 Linux Device Drivers Xilinx Linux Device Driver There was a device driver in the Xilinx kernel tree (not mainline) which provided some simple prebuilt transactions and did not plug into the Linux DMA Engine It was removed from the Xilinx tree in the past year Mainline (kernelorg) Linux Device Driver This driver is the subject of this presentation, it was written by Samsung It plugs into the Linux DMA Engine framework such that an application that is used AXI DMA can work with it easily There is a test in the kernel that can be enabled It provides basic functionality and could be useful to customers with some limitations There are several threads on the Xilinx Embedded Linux forum where others have done the work described in this document (and further)

4 Mainline PL330 Device Driver Details The driver generates microcode for memory to memory, memory to peripheral, and peripheral to memory on the fly The microcode for the peripheral transfers expect the peripherals to use peripheral handshaking with the CPU It will not work without that handshaking as it locks up waiting for it The driver uses a burst length of 1 for peripheral transfers which is not efficient The driver assumes a FIFO as a peripheral as keyhole addressing is used in the microcode (no address increments) The driver microcode for memory to memory does address incrementing

5 Linux Kernel Configuration This kernel configuration builds the PL330 driver and the test into the kernel They also work as kernel modules There should be messages about the PL330 during kernel boot showing the driver (not the test) is up and running

6 In Kernel Test In the kernel drivers directory, drivers/dma, there is a test source file, dmatestc, that can be built in the kernel It does memory copies for a basic test, but is useful for a sanity check Starting the test from user space (assuming built into the kernel) echo 1 > /sys/module/dmatest/parameters/run There are other parameters that can be changed easily timeout, channel, iterations, verbose The test runs on all 8 channels by default The test prints out the results so it s obvious to the user The interrupts are shown in /proc/interrupts Note that the 1 st DMA interrupt (45) is for abort and will not be changing normally Note this test cannot be in the kernel when using the test described later, pl330testc, in this document

7 Patching the PL330 Device Driver The driver is located in drivers/dma directory of the Linux kernel A patch file, pl330cpatch, is provided with a PL330 test kernel module Patch the driver to not do peripheral handshaking in the microcode used for peripheral transfers A two line change in _bursts() Change the microcode which is generated Change the _ldst_devtomem() and _ldst_memtodev() function calls to be _ldst_memtomem() Patch the driver to allow the burst length to be specified by the user A one line change in pl330_prep_slave_sg() It is fixed at a burst length of 1 Change the following line: from: desc->rqcfgbrst_len = 1; to: desc->rqcfgbrst_len = pch->burst_len;

8 Test System Hardware Details An AXI FIFO was connected to the GP0 master port of the PS to allow the PL330 to read and write to the FIFO The FIFO does not support peripheral handshaking and there is no Xilinx IP that does This system does have limitations as the FIFO is only 16 Kbytes Long transfers (> 16KB) cannot verify the data read from the FIFO matches data written to the FIFO Two channels of the PL330 are used in the software system to simulate a typical customer application The transmit channel writes into the FIFO The receive channel reads from the FIFO

9 Test System Software Details A kernel driver, pl330testc, was implemented to use the PL330 kernel driver thru the Linux DMA Engine framework This driver is intended for testing and prototyping It is also intended to allow customers to determine if the PL330 is a solution for their project Long transfers are only enabled in the test system to allow some performance data to be observed The software supports the following functionality which can be controlled via module parameters: DMA transfer length full duplex operation (transmit and receive simultaneously) burst length There a number of restrictions in how the software works due to the limitations of the hardware system (documented in the code)

10 PL330 Device Tree Bindings The following device tree snippet is from the Petalinux generated device tree for the PS from the test system ps7_dma_s: { #dma-cells = <1>; #dma-channels = <8>; #dma-requests = <4>; arm,primecell-periphid = <0x >; clock-names = "apb_pclk"; clocks = <&clkc 27>; compatible = "arm,primecell", "arm,pl330"; interrupt-names = "abort", "dma0", "dma1", "dma2", "dma3", "dma4", "dma5", "dma6", "dma7"; interrupt-parent = <&ps7_scugic_0>; interrupts = <0 13 4>, <0 14 4>, <0 15 4>, <0 16 4>, <0 17 4>, <0 40 4>, <0 41 4>, <0 42 4>, <0 43 4>; reg = <0xf x1000>; } ;

11 ILA AXI Capture (Read) The following screen capture shows the receive transfer performing reads with a burst length of 1 The following screen capture shows the receive transfer performing reads with a burst length of 16 (with the driver patched)

12 ILA AXI Capture (Write) The following screen capture shows the transmit transfer performing writes with a burst length of 1 The following screen capture shows the receive transfer performing writes with a burst length of 16 (with the driver patched)

13 Conclusions The PL330 Linux device driver in the mainline kernel (and the Xilinx kernel tree) is functional The driver and generated microcode are not optimized for high performance Small changes such as the burst length can increase the performance Larger changes are more complex and not recommended by Xilinx Execution times are displayed for DMA transfers by the pl330testc driver These times were not intended for completeness with respect to benchmarking These times can show larger variances that have not been investigated

14 References Zynq TRM, Chapter 9 ARM TRM for DMA-330 ARM AN239 - Example programs for the CoreLink DMA Controller DMA-330 ARM AN228 Implementing DMA on ARM SMP Systems er_guides/ug585-zynq-7000-trmpdf CoreLink DMA Controller DMA-330 Technical Reference Manual ARM AppNote 239: Example programs omarmdocdai0228a/indexhtml

HEAD HardwarE Accelerated Deduplication

HEAD HardwarE Accelerated Deduplication HEAD HardwarE Accelerated Deduplication Final Report CS710 Computing Acceleration with FPGA December 9, 2016 Insu Jang Seikwon Kim Seonyoung Lee Executive Summary A-Z development of deduplication SW version

More information

SDSoC: Session 1

SDSoC: Session 1 SDSoC: Session 1 ADAM@ADIUVOENGINEERING.COM What is SDSoC SDSoC is a system optimising compiler which allows us to optimise Zynq PS / PL Zynq MPSoC PS / PL MicroBlaze What does this mean? Following the

More information

Mailbox Interrupt debug 11/11/2016

Mailbox Interrupt debug 11/11/2016 Mailbox Interrupt debug 11/11/2016 In this demo I will be using Vivado 2016.2 to create the HW on the ZC702 board and will simulate an interrupt using the mailbox in the PL to drive an interrupt from the

More information

Copyright 2014 Xilinx

Copyright 2014 Xilinx IP Integrator and Embedded System Design Flow Zynq Vivado 2014.2 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able

More information

Performance Optimization for an ARM Cortex-A53 System Using Software Workloads and Cycle Accurate Models. Jason Andrews

Performance Optimization for an ARM Cortex-A53 System Using Software Workloads and Cycle Accurate Models. Jason Andrews Performance Optimization for an ARM Cortex-A53 System Using Software Workloads and Cycle Accurate Models Jason Andrews Agenda System Performance Analysis IP Configuration System Creation Methodology: Create,

More information

Copyright 2016 Xilinx

Copyright 2016 Xilinx Zynq Architecture Zynq Vivado 2015.4 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Identify the basic building

More information

Operating Systems Comprehensive Exam. Spring Student ID # 3/20/2013

Operating Systems Comprehensive Exam. Spring Student ID # 3/20/2013 Operating Systems Comprehensive Exam Spring 2013 Student ID # 3/20/2013 You must complete all of Section I You must complete two of the problems in Section II If you need more space to answer a question,

More information

MATLAB/Simulink 기반의프로그래머블 SoC 설계및검증

MATLAB/Simulink 기반의프로그래머블 SoC 설계및검증 MATLAB/Simulink 기반의프로그래머블 SoC 설계및검증 이웅재부장 Application Engineering Group 2014 The MathWorks, Inc. 1 Agenda Introduction ZYNQ Design Process Model-Based Design Workflow Prototyping and Verification Processor

More information

ARM Cortex-A9 ARM v7-a. A programmer s perspective Part1

ARM Cortex-A9 ARM v7-a. A programmer s perspective Part1 ARM Cortex-A9 ARM v7-a A programmer s perspective Part1 ARM: Advanced RISC Machine First appeared in 1985 as Acorn RISC Machine from Acorn Computers in Manchester England Limited success outcompeted by

More information

Exploring OpenCL Memory Throughput on the Zynq

Exploring OpenCL Memory Throughput on the Zynq Exploring OpenCL Memory Throughput on the Zynq Technical Report no. 2016:04, ISSN 1652-926X Chalmers University of Technology Bo Joel Svensson bo.joel.svensson@gmail.com Abstract The Zynq platform combines

More information

WP3: GPS and Time-Tagging Case Western Reserve University (Cleveland, USA)

WP3: GPS and Time-Tagging Case Western Reserve University (Cleveland, USA) WP3: GPS and Time-Tagging Case Western Reserve University (Cleveland, USA) Corbin Covault, Robert Halliday Robert Sobin, Andrew Ferguson SDE Electronics CDR Orsay, February 2015 WP3: GPS and Time-Tagging

More information

Near Memory Key/Value Lookup Acceleration MemSys 2017

Near Memory Key/Value Lookup Acceleration MemSys 2017 Near Key/Value Lookup Acceleration MemSys 2017 October 3, 2017 Scott Lloyd, Maya Gokhale Center for Applied Scientific Computing This work was performed under the auspices of the U.S. Department of Energy

More information

Benchmarking the Performance of the Virtex-4 10/100/1000 TEMAC System Author: Kris Chaplin

Benchmarking the Performance of the Virtex-4 10/100/1000 TEMAC System Author: Kris Chaplin Application Note: Embedded Processing XAPP1023 (v1.0) October 3, 2007 Benchmarking the Performance of the Virtex-4 10/100/1000 TEMAC System Author: Kris Chaplin Abstract This application note provides

More information

LogiCORE IP AXI DataMover v3.00a

LogiCORE IP AXI DataMover v3.00a LogiCORE IP AXI DataMover v3.00a Product Guide Table of Contents SECTION I: SUMMARY IP Facts Chapter 1: Overview Operating System Requirements..................................................... 7 Feature

More information

ChipScope Inserter flow. To see the Chipscope added from XPS flow, please skip to page 21. For ChipScope within Planahead, please skip to page 23.

ChipScope Inserter flow. To see the Chipscope added from XPS flow, please skip to page 21. For ChipScope within Planahead, please skip to page 23. In this demo, we will be using the Chipscope using three different flows to debug the programmable logic on Zynq. The Chipscope inserter will be set up to trigger on a bus transaction. This bus transaction

More information

10/02/2015 PetaLinux Linux Image Network Connection

10/02/2015 PetaLinux Linux Image Network Connection Contents 1 History... 3 2 Introduction... 3 3 Vivado Project... 4 3.1 Open Vivado... 4 3.2 New Project... 5 3.3 Project Settings... 13 3.4 Create Processor System... 14 3.4.1 New Block Diagram... 14 3.5

More information

Midterm Exam. Solutions

Midterm Exam. Solutions Midterm Exam Solutions Problem 1 List at least 3 advantages of implementing selected portions of a design in hardware, and at least 3 advantages of implementing the remaining portions of the design in

More information

PCIe driver development for Exynos SoC

PCIe driver development for Exynos SoC PCIe driver development for Exynos SoC Korea Linux Forum 2013 Jingoo Han Samsung Electronics Introduction S/W engineer at Samsung Electronics since 2005 Linux kernel development for Samsung Exynos ARM

More information

Design AXI Master IP using Vivado HLS tool

Design AXI Master IP using Vivado HLS tool W H I T E P A P E R Venkatesh W VLSI Design Engineer and Srikanth Reddy Sr.VLSI Design Engineer Design AXI Master IP using Vivado HLS tool Abstract Vivado HLS (High-Level Synthesis) tool converts C, C++

More information

Trees need care a solution to Device Tree validation problem

Trees need care a solution to Device Tree validation problem Trees need care a solution to Device Tree validation problem April 30, 2014 Embedded Linux Conference San Jose, CA Tomasz Figa Linux Kernel Developer Samsung R&D Institute Poland Overview 1. Device Tree

More information

Avnet Zynq Mini Module Plus Embedded Design

Avnet Zynq Mini Module Plus Embedded Design Avnet Zynq Mini Module Plus Embedded Design Version 1.0 May 2014 1 Introduction This document describes a Zynq standalone OS embedded design implemented and tested on the Avnet Zynq Mini Module Plus. 2

More information

Simplify System Complexity

Simplify System Complexity 1 2 Simplify System Complexity With the new high-performance CompactRIO controller Arun Veeramani Senior Program Manager National Instruments NI CompactRIO The Worlds Only Software Designed Controller

More information

1-1 SDK with Zynq EPP

1-1 SDK with Zynq EPP -1 1SDK with Zynq EPP -2 Objectives Generating the processing subsystem with EDK SDK Project Management and Software Flow SDK with Zynq EPP - 1-2 Copyright 2012 Xilinx 2 Generating the processing subsystem

More information

Zynq Architecture, PS (ARM) and PL

Zynq Architecture, PS (ARM) and PL , PS (ARM) and PL Joint ICTP-IAEA School on Hybrid Reconfigurable Devices for Scientific Instrumentation Trieste, 1-5 June 2015 Fernando Rincón Fernando.rincon@uclm.es 1 Contents Zynq All Programmable

More information

Simplify System Complexity

Simplify System Complexity Simplify System Complexity With the new high-performance CompactRIO controller Fanie Coetzer Field Sales Engineer Northern South Africa 2 3 New control system CompactPCI MMI/Sequencing/Logging FieldPoint

More information

Zynq-7000 All Programmable SoC: Embedded Design Tutorial. A Hands-On Guide to Effective Embedded System Design

Zynq-7000 All Programmable SoC: Embedded Design Tutorial. A Hands-On Guide to Effective Embedded System Design Zynq-7000 All Programmable SoC: Embedded Design Tutorial A Hands-On Guide to Effective Embedded System Design Revision History The following table shows the revision history for this document. Date Version

More information

Mobile Operating Systems Lesson 01 Operating System

Mobile Operating Systems Lesson 01 Operating System Mobile Operating Systems Lesson 01 Operating System Oxford University Press 2007. All rights reserved. 1 Operating system (OS) The master control program Manages all software and hardware resources Controls,

More information

How Linux RT_PREEMPT Works

How Linux RT_PREEMPT Works How Linux RT_PREEMPT Works A common observation about real time systems is that the cost of the increased determinism of real time is decreased throughput and increased average latency. This presentation

More information

GigaX API for Zynq SoC

GigaX API for Zynq SoC BUM002 v1.0 USER MANUAL A software API for Zynq PS that Enables High-speed GigaE-PL Data Transfer & Frames Management BERTEN DSP S.L. www.bertendsp.com gigax@bertendsp.com +34 942 18 10 11 Table of Contents

More information

Optimizing ARM SoC s with Carbon Performance Analysis Kits. ARM Technical Symposia, Fall 2014 Andy Ladd

Optimizing ARM SoC s with Carbon Performance Analysis Kits. ARM Technical Symposia, Fall 2014 Andy Ladd Optimizing ARM SoC s with Carbon Performance Analysis Kits ARM Technical Symposia, Fall 2014 Andy Ladd Evolving System Requirements Processor Advances big.little Multicore Unicore DSP Cortex -R7 Block

More information

LogiCORE IP AXI Video Direct Memory Access (axi_vdma) (v3.01.a)

LogiCORE IP AXI Video Direct Memory Access (axi_vdma) (v3.01.a) DS799 June 22, 2011 LogiCORE IP AXI Video Direct Memory Access (axi_vdma) (v3.01.a) Introduction The AXI Video Direct Memory Access (AXI VDMA) core is a soft Xilinx IP core for use with the Xilinx Embedded

More information

Parallel Simulation Accelerates Embedded Software Development, Debug and Test

Parallel Simulation Accelerates Embedded Software Development, Debug and Test Parallel Simulation Accelerates Embedded Software Development, Debug and Test Larry Lapides Imperas Software Ltd. larryl@imperas.com Page 1 Modern SoCs Have Many Concurrent Processing Elements SMP cores

More information

Introduction to SoC+FPGA

Introduction to SoC+FPGA Introduction to SoC+FPGA Marek Vašut October 23, 2017 Marek Vasut Software engineer at DENX S.E. since 2011 Versatile Linux kernel hacker Custodian at U-Boot bootloader Yocto (oe-core)

More information

Estimating Accelerator Performance and Events

Estimating Accelerator Performance and Events Lab Workbook Estimating Accelerator Performance and Events Tracing Estimating Accelerator Performance and Events Tracing Introduction This lab guides you through the steps involved in estimating the expected

More information

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2017-2018 Interconnects: AXI Protocol ΗΥ220 - Γιώργος Καλοκαιρινός & Βασίλης Παπαευσταθίου 1 AXI AMBA AXI protocol is targeted at high-performance,

More information

ARM support in the Linux kernel

ARM support in the Linux kernel FOSDEM 2013 ARM support in the Linux kernel Thomas Petazzoni Bootlin thomas.petazzoni@bootlin.com - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com

More information

FPGA memory performance

FPGA memory performance FPGA memory performance Sensor to Image GmbH Lechtorstrasse 20 D 86956 Schongau Website: www.sensor-to-image.de Email: email@sensor-to-image.de Sensor to Image GmbH Company Founded 1989 and privately owned

More information

10/02/2015 PetaLinux Image with Custom Application

10/02/2015 PetaLinux Image with Custom Application Contents 1 History... 3 2 Introduction... 3 3 Vivado Project... 4 3.1 Open Vivado... 4 3.2 New Project... 5 3.3 Project Settings... 13 3.4 Create Processor System... 14 3.4.1 New Block Diagram... 14 3.5

More information

8: Scheduling. Scheduling. Mark Handley

8: Scheduling. Scheduling. Mark Handley 8: Scheduling Mark Handley Scheduling On a multiprocessing system, more than one process may be available to run. The task of deciding which process to run next is called scheduling, and is performed by

More information

PCI to SH-3 AN Hitachi SH3 to PCI bus

PCI to SH-3 AN Hitachi SH3 to PCI bus PCI to SH-3 AN Hitachi SH3 to PCI bus Version 1.0 Application Note FEATURES GENERAL DESCRIPTION Complete Application Note for designing a PCI adapter or embedded system based on the Hitachi SH-3 including:

More information

A Linux-based Dynamic Partial Reconfiguration System Applied on Xilinx Zynq

A Linux-based Dynamic Partial Reconfiguration System Applied on Xilinx Zynq A Linux-based Dynamic Partial Reconfiguration System Applied on Xilinx Zynq 1 Beihang University Beijing,100191, China E-mail: ldm520@buaaeducn Guoqing Pan Beijing Aerospace Measurement & Control Technology

More information

Device Tree Overview

Device Tree Overview Device Tree Overview Device Tree History Device Tree (DT) was created by Open Firmware to allow an operating system at runtime to run on various hardware without hard coding any information. Open Firmware

More information

Energy and Performance Exploration of Accelerator Coherency Port Using Xilinx ZYNQ

Energy and Performance Exploration of Accelerator Coherency Port Using Xilinx ZYNQ Energy and Performance Exploration of Accelerator Coherency Port Using Xilinx ZYNQ Mohammadsadegh Sadri *, Christian Weis, Norbert Wehn, and Luca Benini * * Department of Electrical, Electronic and Information

More information

CPCI-HPDI32ALT High-speed 64 Bit Parallel Digital I/O PCI Board 100 to 400 Mbytes/s Cable I/O with PCI-DMA engine

CPCI-HPDI32ALT High-speed 64 Bit Parallel Digital I/O PCI Board 100 to 400 Mbytes/s Cable I/O with PCI-DMA engine CPCI-HPDI32ALT High-speed 64 Bit Parallel Digital I/O PCI Board 100 to 400 Mbytes/s Cable I/O with PCI-DMA engine Features Include: 200 Mbytes per second (max) input transfer rate via the front panel connector

More information

What's "vspi"? What's included?

What's vspi? What's included? What's "vspi"? vspi is a Verilog implementation of an SPI slave. Think of it as a very fast serial port. It can reliably transfer data at 27.9 mbps on an Atlys FPGA devkit (a Spartan-6 with a 100 MHz system

More information

ARM support in the Linux kernel

ARM support in the Linux kernel Kernel Recipes 2013 ARM support in the Linux kernel Thomas Petazzoni Bootlin thomas.petazzoni@bootlin.com - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com

More information

3. Controtlto specify the mode of transfer such as read or write 4. A control to start the DMA transfer

3. Controtlto specify the mode of transfer such as read or write 4. A control to start the DMA transfer DMA Controller The DMA controller needs the usual circuits of an interface to communicate the CPU and 10 device. In addition, it needs an address register, a word count register, and a set of address lines.

More information

QUESTION BANK UNIT I

QUESTION BANK UNIT I QUESTION BANK Subject Name: Operating Systems UNIT I 1) Differentiate between tightly coupled systems and loosely coupled systems. 2) Define OS 3) What are the differences between Batch OS and Multiprogramming?

More information

Parallella Linux - quickstart guide. Antmicro Ltd

Parallella Linux - quickstart guide. Antmicro Ltd Parallella Linux - quickstart guide Antmicro Ltd June 13, 2016 Contents 1 Introduction 1 1.1 Xilinx tools.......................................... 1 1.2 Version information.....................................

More information

Designing with ALTERA SoC Hardware

Designing with ALTERA SoC Hardware Designing with ALTERA SoC Hardware Course Description This course provides all theoretical and practical know-how to design ALTERA SoC devices under Quartus II software. The course combines 60% theory

More information

Product Technical Brief S3C2413 Rev 2.2, Apr. 2006

Product Technical Brief S3C2413 Rev 2.2, Apr. 2006 Product Technical Brief Rev 2.2, Apr. 2006 Overview SAMSUNG's is a Derivative product of S3C2410A. is designed to provide hand-held devices and general applications with cost-effective, low-power, and

More information

Xilinx Answer Xilinx PCI Express Windows DMA Drivers and Software Guide

Xilinx Answer Xilinx PCI Express Windows DMA Drivers and Software Guide Xilinx Answer 65444 Xilinx PCI Express Windows DMA Drivers and Software Guide Important Note: This downloadable PDF of an Answer Record is provided to enhance its usability and readability. It is important

More information

Xilinx Answer QDMA Performance Report

Xilinx Answer QDMA Performance Report Xilinx Answer 71453 QDMA Performance Report Important Note: This downloadable PDF of an Answer Record is provided to enhance its usability and readability. It is important to note that Answer Records are

More information

Tips for Making Video IP Daniel E. Michek. Copyright 2015 Xilinx.

Tips for Making Video IP Daniel E. Michek. Copyright 2015 Xilinx. Tips for Making Video IP Daniel E Michek Challenges for creating video IP Design Test Many interfaces, protocols, image sizes Asynchronous clock domains for multiple inputs Hard to visualize video when

More information

Latency on preemptible Real-Time Linux

Latency on preemptible Real-Time Linux Appendix 1 Latency on preemptible Real-Time Linux on DCP-SH7780 Contents 1.1 Getting Started.......................................... 1 1.2 Rtrtc Driver........................................... 2 1.3

More information

Use ZCU102 TRD to Accelerate Development of ZYNQ UltraScale+ MPSoC

Use ZCU102 TRD to Accelerate Development of ZYNQ UltraScale+ MPSoC Use ZCU102 TRD to Accelerate Development of ZYNQ UltraScale+ MPSoC Topics Hardware advantages of ZYNQ UltraScale+ MPSoC Software stacks of MPSoC Target reference design introduction Details about one Design

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT I

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT I DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Year and Semester : II / IV Subject Code : CS6401 Subject Name : Operating System Degree and Branch : B.E CSE UNIT I 1. Define system process 2. What is an

More information

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006 Product Technical Brief S3C2412 Rev 2.2, Apr. 2006 Overview SAMSUNG's S3C2412 is a Derivative product of S3C2410A. S3C2412 is designed to provide hand-held devices and general applications with cost-effective,

More information

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010 SEMICON Solutions Bus Structure Created by: Duong Dang Date: 20 th Oct,2010 Introduction Buses are the simplest and most widely used interconnection networks A number of modules is connected via a single

More information

Realtime BoF Session RealTime Testing Best Practice of RealTime WG YungJoon Jung

Realtime BoF Session RealTime Testing Best Practice of RealTime WG YungJoon Jung Realtime BoF Session RealTime Testing Best Practice of RealTime WG YungJoon Jung April 15th, 2008 CE Linux Forum 1 Contents Introduction Current RealTime Testing Methods Plan April 15th, 2008 CE Linux

More information

Frequently asked questions from the previous class survey

Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University L14.1 Frequently asked questions from the previous class survey Turnstiles: Queue for threads blocked

More information

Introduction to Zynq

Introduction to Zynq Introduction to Zynq Lab 2 PS Config Part 1 Hello World October 2012 Version 02 Copyright 2012 Avnet Inc. All rights reserved Table of Contents Table of Contents... 2 Lab 2 Objectives... 3 Experiment 1:

More information

LogiCORE IP AXI DMA (v4.00.a)

LogiCORE IP AXI DMA (v4.00.a) DS781 June 22, 2011 Introduction The AXI Direct Memory Access (AXI DMA) core is a soft Xilinx IP core for use with the Xilinx Embedded Development Kit (EDK). The AXI DMA engine provides high-bandwidth

More information

Introduction to Embedded System Design using Zynq

Introduction to Embedded System Design using Zynq Introduction to Embedded System Design using Zynq Zynq Vivado 2015.2 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able

More information

Lab Exercise 4 System on chip Implementation of a system on chip system on the Zynq

Lab Exercise 4 System on chip Implementation of a system on chip system on the Zynq Lab Exercise 4 System on chip Implementation of a system on chip system on the Zynq INF3430/INF4431 Autumn 2016 Version 1.2/06.09.2016 This lab exercise consists of 4 parts, where part 4 is compulsory

More information

First hour Zynq architecture

First hour Zynq architecture Introduction to the Zynq SOC INF3430/INF4431 Tønnes Nygaard tonnesfn@ifi.uio.no First hour Zynq architecture Computational platforms Design flow System overview PS APU IOP MIO EMIO Datapath PS/PL interconnect

More information

Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003

Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003 Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003 S3C2440X is a derivative product of Samsung s S3C24XXX family of microprocessors for mobile communication market. The S3C2440X s main enhancement

More information

Buses. Maurizio Palesi. Maurizio Palesi 1

Buses. Maurizio Palesi. Maurizio Palesi 1 Buses Maurizio Palesi Maurizio Palesi 1 Introduction Buses are the simplest and most widely used interconnection networks A number of modules is connected via a single shared channel Microcontroller Microcontroller

More information

COPious-PXIe. Single Board Computer with HPC FMC IO Site DESCRIPTION APPLICATIONS SOFTWARE V0.2 01/17/17

COPious-PXIe. Single Board Computer with HPC FMC IO Site DESCRIPTION APPLICATIONS SOFTWARE V0.2 01/17/17 V0.2 01/17/17 Single Board Computer with HPC FMC IO Site FEATURES Combines an Zynq Z7045 SoC with FMC IO module in a compact, stand alone design Powerful, dual, floating-point ARM A9 CPU performance 8HP

More information

USB3DevIP Data Recorder by FAT32 Design Rev Mar-15

USB3DevIP Data Recorder by FAT32 Design Rev Mar-15 1 Introduction USB3DevIP Data Recorder by FAT32 Design Rev1.1 13-Mar-15 Figure 1 FAT32 Data Recorder Hardware on CycloneVE board The demo system implements USB3 Device IP to be USB3 Mass storage device

More information

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13 I/O Handling ECE 650 Systems Programming & Engineering Duke University, Spring 2018 Based on Operating Systems Concepts, Silberschatz Chapter 13 Input/Output (I/O) Typical application flow consists of

More information

Ch 4. Standard Single Purpose Processors: Peripherals

Ch 4. Standard Single Purpose Processors: Peripherals EE414 Embedded Systems Ch 4. Standard Single Purpose Processors: Peripherals Part 2/5: Parallel Interface Byung Kook Kim School of Electrical Engineering Korea Advanced Institute of Science and Technology

More information

Designing a Multi-Processor based system with FPGAs

Designing a Multi-Processor based system with FPGAs Designing a Multi-Processor based system with FPGAs BRINGING BRINGING YOU YOU THE THE NEXT NEXT LEVEL LEVEL IN IN EMBEDDED EMBEDDED DEVELOPMENT DEVELOPMENT Frank de Bont Trainer / Consultant Cereslaan

More information

Devicetree BOF. ELC 2017 Portland, Oregon. Frank Rowand, Sony February 21, _1630

Devicetree BOF. ELC 2017 Portland, Oregon. Frank Rowand, Sony February 21, _1630 Devicetree BOF ELC 2017 Portland, Oregon Frank Rowand, Sony February 21, 2017 170221_1630 Agenda - questions, comments, issues, concerns from the crowd - Plumbers 2017 - Plumbers 2016 - Devicetree Specification

More information

MYC-C7Z010/20 CPU Module

MYC-C7Z010/20 CPU Module MYC-C7Z010/20 CPU Module - 667MHz Xilinx XC7Z010/20 Dual-core ARM Cortex-A9 Processor with Xilinx 7-series FPGA logic - 1GB DDR3 SDRAM (2 x 512MB, 32-bit), 4GB emmc, 32MB QSPI Flash - On-board Gigabit

More information

LogiCORE IP AXI DMA (v3.00a)

LogiCORE IP AXI DMA (v3.00a) DS781 March 1, 2011 Introduction The AXI Direct Memory Access (AXI DMA) core is a soft Xilinx IP core for use with the Xilinx Embedded Development Kit (EDK). The AXI DMA engine provides high-bandwidth

More information

Operating System Review Part

Operating System Review Part Operating System Review Part CMSC 602 Operating Systems Ju Wang, 2003 Fall Virginia Commonwealth University Review Outline Definition Memory Management Objective Paging Scheme Virtual Memory System and

More information

Components for Integrating Device Controllers for Fast Orbit Feedback

Components for Integrating Device Controllers for Fast Orbit Feedback Components for Integrating Device Controllers for Fast Orbit Feedback Jukka Pietarinen EPICS Collaboration Meeting Knoxville October 2007 Topics PMC-SFP Module for Diamond Fast Orbit Feedback Future plans

More information

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester Operating System: Chap13 I/O Systems National Tsing-Hua University 2016, Fall Semester Outline Overview I/O Hardware I/O Methods Kernel I/O Subsystem Performance Application Interface Operating System

More information

EFM32 Series 0: DMA (ARM PrimeCell µdma PL230)

EFM32 Series 0: DMA (ARM PrimeCell µdma PL230) EFM32 Series 0: DMA (ARM PrimeCell µdma PL230) EFM32 - DMA DMA has read/write access to most of the EFM32 memory map Flash writes can not be done in memory map, but through sequenced writes to peripheral

More information

DMA Controller (PL330) PrimeCell. Technical Reference Manual. Revision: r0p0. Copyright 2007 ARM Limited. All rights reserved.

DMA Controller (PL330) PrimeCell. Technical Reference Manual. Revision: r0p0. Copyright 2007 ARM Limited. All rights reserved. PrimeCell DMA Controller (PL330) Revision: r0p0 Technical Reference Manual Copyright 2007 ARM Limited. All rights reserved. ARM DDI 0424A PrimeCell DMA Controller (PL330) Technical Reference Manual Copyright

More information

Universal Serial Bus Host Interface on an FPGA

Universal Serial Bus Host Interface on an FPGA Universal Serial Bus Host Interface on an FPGA Application Note For many years, designers have yearned for a general-purpose, high-performance serial communication protocol. The RS-232 and its derivatives

More information

Zynq-7000 All Programmable SoC Product Overview

Zynq-7000 All Programmable SoC Product Overview Zynq-7000 All Programmable SoC Product Overview The SW, HW and IO Programmable Platform August 2012 Copyright 2012 2009 Xilinx Introducing the Zynq -7000 All Programmable SoC Breakthrough Processing Platform

More information

Multimedia SoC System Solutions

Multimedia SoC System Solutions Multimedia SoC System Solutions Presented By Yashu Gosain & Forrest Picket: System Software & SoC Solutions Marketing Girish Malipeddi: IP Subsystems Marketing Agenda Zynq Ultrascale+ MPSoC and Multimedia

More information

Device Trees A Database Approach to Describing Hardware. Doug Abbott. Produced by EE Times

Device Trees A Database Approach to Describing Hardware. Doug Abbott. Produced by EE Times Device Trees A Database Approach to Describing Hardware Doug Abbott #eelive Produced by EE Times Problem How to describe hardware to OS? Build description into drivers CONFIG_ variables Create a Board

More information

Description: Write VHDL code for full_adder.vhd with inputs from switches and outputs to LEDs.

Description: Write VHDL code for full_adder.vhd with inputs from switches and outputs to LEDs. LAB Assignment #1 for ECE 443 Assigned: Mon., Aug. 24, 2016 Due: Wed., Sept. 26, 2016 Description: Write VHDL code for full_adder.vhd with inputs from switches and outputs to LEDs. This assignment is intentionally

More information

R. Assiro. WP1- Documentation Booting Petalinux from QSPI on UUB

R. Assiro. WP1- Documentation Booting Petalinux from QSPI on UUB WP1- Documentation Booting Petalinux from QSPI on UUB Create Boot image for Zynq 7020 on UUB architecture The Zynq boot process begins with running code inside the Boot ROM. The boot ROM manages the early

More information

ARM64 + FPGA and more: Linux on the Xilinx ZynqMP

ARM64 + FPGA and more: Linux on the Xilinx ZynqMP ARM64 + FPGA and more: Linux on the Xilinx ZynqMP Opportunities and challenges from a powerful and complex chip Luca Ceresoli, AIM Sportline luca@lucaceresoli.net http://lucaceresoli.net FOSDEM 2018 About

More information

«Real Time Embedded systems» Multi Masters Systems

«Real Time Embedded systems» Multi Masters Systems «Real Time Embedded systems» Multi Masters Systems rene.beuchat@epfl.ch LAP/ISIM/IC/EPFL Chargé de cours rene.beuchat@hesge.ch LSN/hepia Prof. HES 1 Multi Master on Chip On a System On Chip, Master can

More information

An 80-core GRVI Phalanx Overlay on PYNQ-Z1:

An 80-core GRVI Phalanx Overlay on PYNQ-Z1: An 80-core GRVI Phalanx Overlay on PYNQ-Z1: Pynq as a High Productivity Platform For FPGA Design and Exploration Jan Gray jan@fpga.org http://fpga.org/grvi-phalanx FCCM 2017 05/03/2017 Pynq Workshop My

More information

Optimised OpenCL Workgroup Synthesis for Hybrid ARM-FPGA Devices

Optimised OpenCL Workgroup Synthesis for Hybrid ARM-FPGA Devices Optimised OpenCL Workgroup Synthesis for Hybrid ARM-FPGA Devices Mohammad Hosseinabady and Jose Luis Nunez-Yanez Department of Electrical and Electronic Engineering University of Bristol, UK. Email: {m.hosseinabady,

More information

Engineer-to-Engineer Note

Engineer-to-Engineer Note Engineer-to-Engineer Note EE-399 Technical notes on using Analog Devices DSPs, processors and development tools Visit our Web resources http://www.analog.com/ee-notes and http://www.analog.com/processors

More information

FPGA Manager. State of the Union. Moritz Fischer, National Instruments

FPGA Manager. State of the Union. Moritz Fischer, National Instruments FPGA Manager State of the Union Moritz Fischer, National Instruments $whoami Embedded Software Engineer at National Instruments Other stuff I do: U-Boot, OE, Linux Kernel Co-Maintainer of FPGA Manager

More information

A Flexible SystemC Simulator for Multiprocessor Systemson-Chip

A Flexible SystemC Simulator for Multiprocessor Systemson-Chip A Flexible SystemC Simulator for Multiprocessor Systemson-Chip Luca Benini Davide Bertozzi Francesco Menichelli Mauro Olivieri DEIS - Università di Bologna DEIS - Università di Bologna DIE - Università

More information

SAMA5D2 Quad SPI (QSPI) Performance. Introduction. SMART ARM-based Microprocessor APPLICATION NOTE

SAMA5D2 Quad SPI (QSPI) Performance. Introduction. SMART ARM-based Microprocessor APPLICATION NOTE SMART ARM-based Microprocessor SAMA5D2 Quad SPI (QSPI) Performance APPLICATION NOTE Introduction The Atmel SMART SAMA5D2 Series is a high-performance, powerefficient embedded MPU based on the ARM Cortex

More information

LogiCORE IP AXI Video Direct Memory Access (axi_vdma) (v3.00.a)

LogiCORE IP AXI Video Direct Memory Access (axi_vdma) (v3.00.a) DS799 March 1, 2011 LogiCORE IP AXI Video Direct Memory Access (axi_vdma) (v3.00.a) Introduction The AXI Video Direct Memory Access (AXI VDMA) core is a soft Xilinx IP core for use with the Xilinx Embedded

More information

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013 Chapter 13: I/O Systems Overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations

More information

Linux Network Tuning Guide for AMD EPYC Processor Based Servers

Linux Network Tuning Guide for AMD EPYC Processor Based Servers Linux Network Tuning Guide for AMD EPYC Processor Application Note Publication # 56224 Revision: 1.00 Issue Date: November 2017 Advanced Micro Devices 2017 Advanced Micro Devices, Inc. All rights reserved.

More information

RAMP-White / FAST-MP

RAMP-White / FAST-MP RAMP-White / FAST-MP Hari Angepat and Derek Chiou Electrical and Computer Engineering University of Texas at Austin Supported in part by DOE, NSF, SRC,Bluespec, Intel, Xilinx, IBM, and Freescale RAMP-White

More information

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil P Khatri (Lab exercise created and tested by Ramu Endluri, He Zhou, Andrew Douglass

More information