FPGA Music Project. Matthew R. Guthaus. Department of Computer Engineering, University of California Santa Cruz http://vlsida.soe.ucsc.



Similar documents
7a. System-on-chip design and prototyping platforms

9/14/ :38

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Open Flow Controller and Switch Datasheet

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Discovering Computers Living in a Digital World

CFD Implementation with In-Socket FPGA Accelerators

ALL-AIO-2321P ZERO CLIENT

EagleVision Mobile DVR Security system With GPS Tracking & Data analysis m

How To Use Softxpand (A Thin Client) On A Pc Or Laptop Or Mac Or Macbook Or Ipad (For A Powerbook)

Chapter 4 System Unit Components. Discovering Computers Your Interactive Guide to the Digital World

Reconfigurable System-on-Chip Design

Digital Systems Design! Lecture 1 - Introduction!!

Introduction to Digital System Design

Networking Remote-Controlled Moving Image Monitoring System

Lecture 2: Computer Hardware and Ports.

Hardware and Software

What is a System on a Chip?

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

Model-based system-on-chip design on Altera and Xilinx platforms

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Networking Virtualization Using FPGAs

Architectures and Platforms

Specifications Keyboard System Sounds Maximum Polyphony: PCM Memory: Program: Combination:

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

Obj: Sec 1.0, to describe the relationship between hardware and software HW: Read p.2 9. Do Now: Name 3 parts of the computer.

Using Mobile Processors for Cost Effective Live Video Streaming to the Internet

Implementing a Digital Answering Machine with a High-Speed 8-Bit Microcontroller

System Installation. 3-1 Socket 370 Celeron/Pentium-III Processor. Installing S370 CPU. Removing CPU. Configuring System Bus

Video-Rate Stereo Vision on a Reconfigurable Hardware. Ahmad Darabiha Department of Electrical and Computer Engineering University of Toronto

How do I Check if My Computer is Compatible with Windows 7

ARM Cortex -A8 SBC with MIPI CSI Camera and Spartan -6 FPGA SBC1654

Multimedia Systems Hardware & Software THETOPPERSWAY.COM

Ping Pong Game with Touch-screen. March 2012

ELEC 5260/6260/6266 Embedded Computing Systems

FPGA Design From Scratch It all started more than 40 years ago

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links. Filippo Costa on behalf of the ALICE DAQ group

Product Development Flow Including Model- Based Design and System-Level Functional Verification

FPGA Accelerator Virtualization in an OpenPOWER cloud. Fei Chen, Yonghua Lin IBM China Research Lab

MAJORS: Computer Engineering, Computer Science, Electrical Engineering

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

FPGAs for High-Performance DSP Applications

Sample Project List. Software Reverse Engineering

2014 Teradici Corporation.

1 PERSONAL COMPUTERS

A General Framework for Tracking Objects in a Multi-Camera Environment

A sustainable networking architecture ~ progress on the Ndiyo Project

Secure Cloud Storage and Computing Using Reconfigurable Hardware

BDTI Solution Certification TM : Benchmarking H.264 Video Decoder Hardware/Software Solutions

High-Level Synthesis for FPGA Designs

Computer and Set of Robots

ALL-ZC-2140P-DVI PCoIP Zero Client Overview

IMPLEMENTATION OF FPGA CARD IN CONTENT FILTERING SOLUTIONS FOR SECURING COMPUTER NETWORKS. Received May 2010; accepted July 2010

How To Design An Image Processing System On A Chip

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Microsoft Office 2010 system requirements

Chapter 5: System Software: Operating Systems and Utility Programs

MP3 Player CSEE 4840 SPRING 2010 PROJECT DESIGN.

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

FPGA-based MapReduce Framework for Machine Learning

Secured Embedded Many-Core Accelerator for Big Data Processing

Getting Started with RemoteFX in Windows Embedded Compact 7

Lecture N -1- PHYS Microcontrollers

Embedded System Hardware - Processing (Part II)

Final Project: Enhanced Music Synthesizer and Display Introduction

International Journal of Scientific & Engineering Research, Volume 4, Issue 6, June ISSN

CMPE 80U Ubiquitous and Mobile Computing

NIOS II Based Embedded Web Server Development for Networking Applications

Extending the Power of FPGAs. Salil Raje, Xilinx

Kirchhoff Institute for Physics Heidelberg

GETTING STARTED WITH STUDIO ONE ARTIST

EMBEDDED SYSTEM BASICS AND APPLICATION

Soft processors for microcontroller programming education

CSE467: Project Phase 1 - Building the Framebuffer, Z-buffer, and Display Interfaces

A Low Latency Library in FPGA Hardware for High Frequency Trading (HFT)

ARM Processors for Computer-On-Modules. Christian Eder Marketing Manager congatec AG

Ingar Fredriksen AVR Applications Manager. Tromsø August 12, 2005

Horst Görtz Institute for IT-Security

2. TEACHING ENVIRONMENT AND MOTIVATION

How To Write Security Enhanced Linux On Embedded Systems (Es) On A Microsoft Linux (Amd64) (Amd32) (A Microsoft Microsoft 2.3.2) (For Microsoft) (Or

Nios II-Based Intellectual Property Camera Design

Easy H.264 video streaming with Freescale's i.mx27 and Linux

W a d i a D i g i t a l

VTR-1000 Evaluation and Product Development Platform. User Guide SOC Technologies Inc.

TEST CHAPTERS 1 & 2 OPERATING SYSTEMS

3F6 - Software Engineering and Design. Handout 10 Distributed Systems I With Markup. Steve Young

Whitepaper. NVIDIA Miracast Wireless Display Architecture

Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models

Welcome to the tutorial for the MPLAB Starter Kit for dspic DSCs

Computer Systems Structure Input/Output

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

Be sure to connect the USB cable from TonePort into your computer s USB port, and then proceed with the following steps

A Framework for Automatic Generation of Configuration Files for a Custom Hardware/Software RTOS

Price/performance Modern Memory Hierarchy

Epiphan Frame Grabber User Guide

Data Center and Cloud Computing Market Landscape and Challenges

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Transcription:

Department of Computer Engineering, University of California Santa Cruz http://vlsida.soe.ucsc.edu

Biographic Info 2006 PhD, University of Michigan in Electrical Engineering 2003-2005 Statistical Physical Synthesis (EinsStat+PDS) at IBM TJ Watson 2000-2001 ASIC Consultant for National Semiconductor Research in VLSI Physical Design Thermal-Aware Design Variation Tolerant Circuits http://vlsida.soe.ucsc.edu/ http://users.soe.ucsc.edu/~mrg 2

Hardware: The good and the bad Why is hardware bad? Bugs are disastrous! Lots of time spent on verification. No upgrading, just replacing. It is expensive to make a (first) chip ($10k for old technology, $>1MM for new technology) Why is hardware good? Fast (Several gigahertz, no software overhead) Parallel (Compute many pixels in parallel on a GPU) Low power (for example, video playback on PC verses ipod) Cheap (if you make a lot of them) Processors Programmable through Instruction Set Architecture Can upgrade software, but not hardware. Expensive ($50 Core 2 Duo vs $0.50 Actel FPGA) Inefficient for power 3

Configurable Logic Block FF memory Small Truth Table FPGA (Field Programmable Gate Array) Many, many CLBs Configurable wires Extra efficient memories (Block RAM) Reconfigurable Logic 4

Example FPGAs Xilinx Virtex-4 FPGA up to 200,000 Logic Cells Actel ProASIC FPGA 15 k - 3 M Logic Gates 5

Acceleration In-Socket FPGAs Hardware on demand Replace 1 CPU in multi-cpu system Uses Medical imaging Video/audio processing Financial (e.g. Hedge Funds) Security (Encryption/Decryption) Peripheral FPGAs Accelerate certain functions Could change the codec! Plugs into any USB port Uses Video encoding Others? XtremeData XD2000i In-Socket Accelerator http://www.xtremedatainc.com/ Elgato turbo.264, USB stick H.264 encoder http://www.elgato.com 6

Simple GUI for audio (and video) processing http://puredata.info Pure Data (PD) 7

http://iem.kug.ac.at/pd/externals-howto/ PD Externals #include "m_pd.h" static t_class *helloworld_class; typedef struct _helloworld { t_object x_obj; } t_helloworld; void helloworld_bang(t_helloworld *x) { post("hello world!!"); } void *helloworld_new(void) { t_helloworld *x = (t_helloworld *)pd_new (helloworld_class); return (void *)x; } void helloworld_setup(void) { helloworld_class = class_new(gensym ("helloworld"), (t_newmethod)helloworld_new, 0, sizeof(t_helloworld), CLASS_DEFAULT, 0); class_addbang(helloworld_class, helloworld_bang); } 8

Graphics Environment for Multimedia (GEM) http://sourceforge.net/projects/pd-gem/ External for PD for graphics 9

Interfaces Laser harp Not velocity sensitive Monome Not velosity sensitive Restrictive digital interface Touch screen? iphone over network is out 10

CMPE 100 Basic System Board (BASYS) Xilinx Spartan 3E FPGA 100k or 250k gates Free software to program it (Xilinx Webpack ISE) Only $59! Probably not big or fast enough 11

Nexsys2 Xilinx Spartan-3E FPGA 500K or 1200K gate, but only 50Mhz VGA, external DAC $99 12

Virtex-5 Xilinx Virtex -5 XC5VLX110T Stereo AC97 codec Ethernet, VGA Heat sink $750 13

PD-FPGA Ideas Interface Device Create MIDI interface with FPGA-decoding and HW level converters Not too hard, in addition to acceleration below Create a new input device (e.g. touch screen) Virtual Mixer board & do digital mixing on FPGA Control pitch & volume & do synthesis on FPGA PD External enhancements High sampling rate audio output (24-bit @ >96k for recording) High quality reverb, delay, chorus, etc. Digital Equilizer/Mixer Real-time lossless compression for recording 14

Idea 1: MIDI sound module 15

Idea 2: Multitouch Synth Config Screen Instrument Screen OSC1 OSC2 OSC3 OSC4 Attack EQ Sustain Reverb Flange Distortion Pitch Volume Inst1 Inst2 Inst3 Inst4 Record? 16

What is involved Writing DSP algorithms in Verilog Oscilate, FFT, Mix, Reverb, etc. Interfacing to touch display To VGA From touching Trading off hardware for DSP verses general CPU Virtex-5 has embedded PowerPC cores Writing graphics routines is non-trivial Embedded Linux OS? 17

More Info Spartan 3E Synth http://www.fpga.synth.net/ Opencores http://www.opencores.org/ FPGA Boards http://www.digilentinc.com/ 18

Budget $1000 I can get FPGA boards for free Xilinx or Altera Speed, size, etc. I have an old MIDI controller Kawai K1 Touch screen 17 USB is ~$300 USB 15 5-wire proprietary is $81 Digital-Analog Converters 24-bit for CD quality 19