High-Level and Model-Based Design Targeting FPGAs and SoCs Sander - - PowerPoint PPT Presentation
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
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
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
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
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++
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
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
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
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
Real vs. Virtual World
30 May 2017 www.3t.eu 10
Controller Model Plant Model Application Model Plant Application Controller Virtual World Real World
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
Model-Based Design Examples
SCARA Robot Braking Controller Radar Tracking Module
30 May 2017 www.3t.eu 12
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
Simulink Model of Plant and Controller
30 May 2017 www.3t.eu 14
Braking Controller (Simulink) Torque SCARA Motor Model (Simulink) Angle Angular Velocity
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
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
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
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)
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
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
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
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
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
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
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
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
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