High-Level and Model-Based Design Targeting FPGAs and SoCs Sander - - PowerPoint PPT Presentation

high level and model based design
SMART_READER_LITE
LIVE PREVIEW

High-Level and Model-Based Design Targeting FPGAs and SoCs Sander - - PowerPoint PPT Presentation

CO-DEVELOPMENT MANUFACTURING INNOVATION & SUPPORT High-Level and Model-Based Design Targeting FPGAs and SoCs Sander Ter Burg, FPGA System Engineer 3T B.V. What we do: Electronic and Embedded Systems Co-Development and Re-design


slide-1
SLIDE 1

CO-DEVELOPMENT MANUFACTURING INNOVATION & SUPPORT

Sander Ter Burg, FPGA System Engineer

High-Level and Model-Based Design

Targeting FPGAs and SoCs

slide-2
SLIDE 2

3T B.V.

 What we do: ■ Electronic and Embedded Systems ■ Co-Development and Re-design ■ Manufacturing (together with production partners) ■ Consulting & Support  Where we are: ■ Enschede + Eindhoven  More info: ■ www.3T.nl ■ info@3T.nl

30 May 2017 www.3t.eu 2

slide-3
SLIDE 3

Summary

 High-Level Design and Synthesis  Model-Based Design  Model-Based Design Examples ■ SCARA Robot Braking Controller ■ Radar Tracking Module

30 May 2017 www.3t.eu 3

slide-4
SLIDE 4

Traditional HDL Design example

 All code written in HDL  No CPUs on-board  HDL to Low Level Logic

HDL = Hardware Description Language

30 May 2017 www.3t.eu 4

FPGA Design HDL HDL HDL HDL

slide-5
SLIDE 5

High(er)-Level Design example

Higher Level Design Blocks  High-Level Model to HDL  C/C++ code running on a CPU HLS examples  C/C++ to HDL + synthesis  MATLAB to HDL + synthesis  … to HDL + synthesis

30 May 2017 www.3t.eu 5

PSoC Logic (FPGA) HDL HDL High-Level Model µC (Arm) C/C++

slide-6
SLIDE 6

High Level Design Tools

For FPGA devices:  Vivado HLS (Xilinx)  HLS Compiler (Intel)  HDL Coder (MathWorks)  and more… For SoC devices:  SDSoC (Xilinx)  SDK for OpenCL (Intel)  Embedded Coder (MathWorks)  and more…

30 May 2017 www.3t.eu 6

slide-7
SLIDE 7

High Level Design Pros …

 Well suited for complex mathematical problems  Fast Functional Iterations  Freedom of implementation (CPU and/or Logic)  Simulation time reduction (in software)  Early resource estimation  HDL Co-Simulation in software environment  Software Engineers can now write Hardware

30 May 2017 www.3t.eu 7

slide-8
SLIDE 8

High Level Design Cons …

 Hardware mind-set still needed  Code restructuring needed  Generated HDL is not very readable  Less suitable for (peripheral) interface controllers  But… tools keep getting better

30 May 2017 www.3t.eu 8

slide-9
SLIDE 9

Model-Based Design

 A form of High-Level Designing  Mathematical and visual design method  To design: ■ Complex controllers ■ Signal processing ■ Communication systems  Applications fields examples: ■ Industrial ■ Aerospace ■ Automotive

30 May 2017 www.3t.eu 9

slide-10
SLIDE 10

Real vs. Virtual World

30 May 2017 www.3t.eu 10

Controller Model Plant Model Application Model Plant Application Controller Virtual World Real World

slide-11
SLIDE 11

Model-Based Design

 Multidisciplinary Design Approach  Design with Virtual Models (without hardware)  Simulation in the Virtual environment  Models are always a complexity / effort trade-off  Controller Model as good as your Plant/Appl. Model

30 May 2017 www.3t.eu 11

slide-12
SLIDE 12

Model-Based Design Examples

 SCARA Robot Braking Controller  Radar Tracking Module

30 May 2017 www.3t.eu 12

slide-13
SLIDE 13

SCARA Robot Braking Application

 Move intermediate semiconductor products  Controlled emergency braking  Braking Requirements: ■ Follow robot trajectory while braking ■ Deviation from trajectory < 1mm ■ Rest is under NDA…  Customer provided Mechanical Models (in MATLAB Simulink) ■ SCARA Motor Model ■ Controller Model

30 May 2017 www.3t.eu 13

slide-14
SLIDE 14

Simulink Model of Plant and Controller

30 May 2017 www.3t.eu 14

Braking Controller (Simulink) Torque SCARA Motor Model (Simulink) Angle Angular Velocity

slide-15
SLIDE 15

Simulink Braking Controller Model

30 May 2017 www.3t.eu 15

Braking Controller Model Torque Angle Angular Velocity Hardware Model FPGA Model E2M DAC ADC M2E

slide-16
SLIDE 16

Simulink FPGA Model

30 May 2017 www.3t.eu 16

FPGA Model Control / Status / Communication Logic Regulator Model Calculate Angle + Direction ADC Control Braking Controller DAC Control Comm. Motor Feedback Motor Controller

slide-17
SLIDE 17

Simulink Braking Regulator (Model to HDL)

30 May 2017 www.3t.eu 17

Variable Time Step Floating Point Model Fixed Time Step Fixed Point HDL Code Fixed Time Step Fixed Point Model Fixed Time Step Floating Point Model

slide-18
SLIDE 18

Braking Regulator HDL Co-Simulation

30 May 2017 www.3t.eu 18

Braking Controller (Simulink) SCARA Motor Model (Simulink) Torque Angle Angular Velocity Regulator Model HDL Simulation (ModelSim)

slide-19
SLIDE 19

Design and Verification Summary

 From “High Level Model” to “Generated HDL”

■ Various Model Translations

 Generated HDL for Regulator Model (HDL Coder)

■ Angle/Direction Calculation + Braking Controller

 Hardcoded Design Blocks (non HDL Coder)

■ ADC / DAC Control + Control / Status / Communication Blocks

 Design Verification:

■ Co-Simulation + Hardware-in-the-Loop

 Design Fine-tuning:

■ Timing Closure, Resource Sharing, ■ Xilinx IP Instantiation for FFT

30 May 2017 www.3t.eu 19

slide-20
SLIDE 20

Radar Tracking Module example

 For Traffic Data processing  Customer provided a High-Level Model (MATLAB) including: ■ Radar Module ■ Signal Processing ■ Tracking Algorithm  System-on-Module Hardware Target ■ Enclustra Mars ZX3

30 May 2017 www.3t.eu 20

slide-21
SLIDE 21

SoC implementation setup

 eCos RTOS on CPU1

■ For real-time Control and Communication

■ Only available RTOS for this SoM

 Tracking Algorithms on CPU2

■ Generated C/C++ from Matlab Model ■ Running bare-metal on CPU2

 Image Processing in FPGA LOGIC

■ 2D Traffic Data Matrices Operations

30 May 2017 www.3t.eu 21

FPGA LOGIC Dual ARM Core CPU 1 Control CPU 2 Tracking Ethernet Data Acquisition Image Processing

  • Ext. Buffers
slide-22
SLIDE 22

Radar Tracking Model

30 May 2017 www.3t.eu 22

Radar Tracking Model (MATLAB) Image Processing Model Dec. FFT 1 FFT 2 Tracking Algoritme Radar Model 2D Traffic Data Intermediate Result Files

slide-23
SLIDE 23

Image Processing Module Simulation

 Intermediate Model Results used in HDL TestBench  HDL TestBench Results verified in the Model

30 May 2017 www.3t.eu 23

Image Processing Block (Decimate / FFT1 / FFT2) File In File Out HDL TestBench

slide-24
SLIDE 24

Hardware-in-the-Loop Verification

30 May 2017 www.3t.eu 24

FPGA LOGIC Dual ARM Core CPU 2 Tracking CPU 1 Control Ethernet Data Acquisition Data Control External Buffers Decimate FFT 1 FFT 2

slide-25
SLIDE 25

Tooling

30 May 2017 www.3t.eu 25

 Mathworks Tools: ■ MATLAB: Complete Radar Tracking Model ■ Embedded coder: Tracking Algorithms Implementation ■ Instrument Control toolbox: Hardware-in-the-Loop Verification ■ Signal processing toolbox: Digital Filter Design  Xilinx Vivado: ■ Xilinx IP: FFTs for Image Processing ■ Xilinx IP: Gbit Ethernet for UDP communication ■ Custom IP: Decimate for Image Processing  Xilinx to MATLAB: Xilinx FFT C-model converted to MATLAB file

slide-26
SLIDE 26

Summary and More Info:

 High-Level Design and Synthesis  Model-Based Design  SCARA Robot Braking Controller  Radar Tracking Module  Email : Sander@3T.nl  Web : www.3T.nl  Stand: 7A108 Next Up:  Herman Kuster  Topic Embedded Systems  Hardware platform for industrial ultrasound steel plate Inspection

30 May 2017 www.3t.eu 26

slide-27
SLIDE 27

3T B.V. Institutenweg 1 Esp 401 7521 PH Enschede 5633 AJ Eindhoven The Netherlands The Netherlands

  • T. +31 53 4 33 66 33
  • F. +31 53 4 33 68 69
  • E. info@3t.nl
  • W. www.3t.eu