avnet speedway design workshoprdsl.csit-sun.pub.ro/docs/davinci_co_processing...avnet speedway...

22
Avnet SpeedWay Workshops 1 Accelerating Your Success™ V10_1_2_0 Avnet Speedway Design Workshop Creating FPGA-based Co-Processors for DSPs Using Model Based Design Techniques

Upload: others

Post on 07-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Workshops

1

Accelerating Your Success™

V10_1_2_0

Avnet SpeedwayDesign Workshop™

Creating FPGA-based Co-Processors for DSPs Using Model Based Design Techniques

Page 2: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Workshops

2

Avnet SpeedWay Design Workshop™2

Objectives

• Provide in-depth development experience with Xilinx FPGA co-processors for TI DaVinci DSP

• Demonstrate MathWorks Model-Based Design workflow for video applications

• Demonstrate Avnet Spartan-3A DSP FPGA DaVinci Development Kit for hardware/software co-design

Page 3: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Workshops

3

Avnet SpeedWay Design Workshop™3

Agenda - Day 1

Lecture 1Understanding Model-Based Design for Video and Image Processing

Lab 1Building a Simulink Model for Motion Estimation and Video Analytics

Lecture 2System Prototyping with the Avnet Spartan-3A DSP FPGA DaVinci Development Kit

Lab 2Implementing a Video Stabilization System in the DM6437

Need to simplify

Page 4: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Workshops

4

Avnet SpeedWay Design Workshop™4

Agenda - Day 2

Lecture 3Xilinx FPGA Meets TI DSP

Lab 3Algorithm Partitioning Between the DSP and FPGA

Lecture 4FPGA Co-Processor Architectures and Verification

Lab 4Verifying FPGA Co-Processor Functions Using Hardware Co-Simulation

Lecture 5Creating a Stand-alone Video System

Lab 5Integrating the DSP and FPGA Co-processor

Need to simplify

Page 5: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Workshops

5

Avnet SpeedWay Workshops

5

Avnet SpeedWay Design Workshop™55

Three Views Of The World

• Algorithm developers– Think in terms of high level languages such as C– Are not HDL conversant – Don’t want to have to write device drivers for hardware– Need a way of integrating the FPGA into their familiar tool flow

• Hardware engineers– Think in terms of HDL – Need a way of stimulating and verifying their design– Need to create software interfaces to their devices

• System engineers– Analyze system resources and data rates at a system level and

experiment with partitioning

Problem

Page 6: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Design Workshop™6

Common Challenges

• Algorithm exploration with real-world constraints• Moving the algorithm to hardware• Algorithm partitioning across DSPs and FPGAs• Effective simulation before hardware implementation• Modifying algorithm after implementing design• Verification of the design

6

Page 7: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Workshops

7

Avnet SpeedWay Design Workshop™7

Develop Executable Spec in Simulink

Partition Between DSP and FPGA Co-Processor

Model-Based Design Flow

Design Exploration for Targeting Hardware

Verify Hardware in HW Co-simulation

Implement Stand-Alone Video System

Solution

Page 8: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Design Workshop™8

Example Application – Video Stabilization

Page 9: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Workshops

9

Avnet SpeedWay Design Workshop™9

Generate Ve

rify

Generate Ve

rify

Tools Overview

Code Composer Studio

XilinxXilinxXilinx

MathWorksMathWorksMathWorks

TITITI

.

C & ASM

ISE

Hardware Hardware CoCo--simulationsimulation

Software Software CoCo--simulationsimulation

AvnetAvnetAvnet

Avnet Spartan3A-DSP DaVinci Development Kit

DaVinci DM6437 Spartan®-3A DSP 3SD1800A

HDLTITI

XilinxXilinxXilinx

AvnetAvnetAvnet

MATLAB® Embedded MATLAB ToolboxesToolboxes

Simulink® Embedded MATLAB & C BlocksetsBlocksets

RealReal--Time WorkshopTime WorkshopEmbedded Coder,Embedded Coder,

IDE Link CC, Target TC6IDE Link CC, Target TC6

MathWorksMathWorksMathWorks

Page 10: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Accelerating Your Success™

V10_1_2_0

Avnet SpeedwayDesign Workshop™

Lecture 1: Understanding Model-Based Design for Video and Image Processing

Page 11: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Workshops

11

Avnet SpeedWay Design Workshop™11

Develop Executable Spec in Simulink

Partition Between DSP and FPGA Co-Processor

Model-Based Design Flow

Design Exploration for Targeting Hardware

Verify Hardware in HW Co-simulation

Implement Stand-Alone Video System

This is where we are in the model-based design flow.

Page 12: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Workshops

12

Avnet SpeedWay Design Workshop™12

Headquarters:Natick, Massachusetts USA

Privately held

More than 1,000,000 usersin 175+ countries

Worldwide training and consulting

Distributors in 25 countries

The MathWorks at a Glance

•Here is some real quick introductory information about TMW for those less familiar with the company

•Our corporate headquarters are located in Natick, Massachusetts •In the US, we have add’l field personnel in Detroit serving our Automotive customers and in California, Washington, and Texas serving customers in aerospace and defense.

•The MathWorks also has offices throughout Europe, and in Korea.

•Elsewhere in the world we are represented by distributors that sell and support our products in their regions – marked in grey

(New Offices in China, India, Japan)

Page 13: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Workshops

13

Avnet SpeedWay Design Workshop™13

Product Timeline

Simulink ®Block-diagram modeling and

simulation

Real-time HW/SW system

Toolboxes:signal processing, control design, etc.

DSP/Commsmodeling and

simulation

Physical-domainmodeling and

simulation

Automatic code

generation

Test and measurement

tools

State-machine & event-based

logic

Financial modeling and analysis tools

MATLAB®Computation, visualization, programming

1985 1990 1995 2000

Distributed MATLAB

Computing

Computational biology tools

The MathWorks founded in 19842005

The MathWorks was founded in 1984. As shown on this timeline, MATLAB, our first core product, was introduced in 1985, providing a technical computing environment with numeric computation, visualization, and a high-level programming language. Our second core product, Simulink, was introduced in 1990 to provide a block-diagram environment for modeling and simulating dynamic systems.On top of MATLAB, we have delivered:

-broadly applicable capabilities for signal processing, control design, optimization, image processing, and other applications, through packages called “toolboxes”-More specialized toolboxes, for example to analyze and model financial data-Tools that connect MATLAB to data acquisition systems and databases, for test & measurement and analysis applications,<click to build>On top of Simulink, The MathWorks has added a broad set of capabilities for model-based design, including:-automatic code generation, for both prototyping and, more recently, production real-time applications-modeling of signal processing and communications systems-modeling state-machine and logic-based systems-modeling physical-domain systems such as mechanical and electrical power systems-and turnkey hardware/software systems for real-time prototyping and testing

Page 14: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Workshops

14

Avnet SpeedWay Design Workshop™14

Key Industries

• Aerospace and Defense• Automotive• Biotech and Pharmaceutical• Chemical/Petrochemical• Communications• Education• Electronics• Financial Services• Industrial Automation and

Machinery• Power and Energy• Semiconductor

Page 15: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Workshops

15

Avnet SpeedWay Design Workshop™15

Design ImplementationRequirements and Specifications

Test and Verification

Model-Based Design

Develop Executable Specification

- Behavioral Simulation- Reference Design

Automatic Code Generation

- Minimizes Coding Errors- Bit-true / Cycle Accurate

Verify with HW/SW Co-simulation

- HW accelerated Co-simulation- Software-in-the-loop

Design Exploration for Targeting Hardware

- Fixed-Point Modeling & Simulation- Architecture Partitioning & Modeling

Model ElaborationContinuous Verification

Page 16: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Workshops

16

Avnet SpeedWay Design Workshop™16

Using Simulink for Model-Based Design

Analyze design trade-offs

Multidomain modeling

Rapidly prototype ideas

Implicit timing and concurrency

Incorporate legacy codeMATLAB, C, HDL

Automatically generate hardware

and software

Simulation Engine, Stream Processing

Page 17: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Workshops

17

Avnet SpeedWay Design Workshop™17

Application Specific Blocksets

• Signal Processing Blockset• Video and Image Processing Blockset• Communications Blockset

Better title?

Page 18: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Design Workshop™18

Demo: Introduction to Simulink

Use Simulink Blocks to build your algorithm and

model your system

View signals from block to block to determine the

effectiveness of your model

Construct your model through an intuitive

block diagram

Page 19: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Design Workshop™19

Demo: Background Estimation

Extract a video frame to use as a background

Segment the two individuals from the rest of

the scene

Page 20: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Design Workshop™20

Demo: Optical Flow

Compare algorithms to segment cars from the road

Draw bounding boxes and count the number of cars

in the frame

Page 21: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Design Workshop™21

Demo: Registration

Account for camera movement through template matching

Calculate template movement to overlay images and

construct a panoramic picture

Page 22: Avnet Speedway Design Workshoprdsl.csit-sun.pub.ro/docs/DaVinci_co_processing...Avnet SpeedWay Design Workshop™ 3 Agenda - Day 1 Lecture 1 Understanding Model-Based Design for Video

Avnet SpeedWay Design Workshop™22

Demo: Video Mosaicking

Track camera movement using corner detection

Calculate geometric transformation and apply to each frame