김용정 부장 senior applications engineer - matlab€¢ modeling and simulation ... qpsk...
TRANSCRIPT
![Page 1: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/1.jpg)
1 © 2013 The MathWorks, Inc.
Algorithm to Implementation
김용정 부장 Senior Applications Engineer
![Page 2: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/2.jpg)
2
Agenda
Overview
Signal Processing Systems Design with MATLAB
• Modeling and Simulation
• DSP/Communication/Phased Array System Toolbox
Conversion to Fixed Point Conversion
• Fixed Point Design
Automatic Code Generation
• MATLAB/Simulink to C/HDL
Summary and Wrap-up
![Page 3: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/3.jpg)
3
Algorithm development and visualization difficult with generic
programming languages
Need access to ready-to-use libraries of signal processing and
communications algorithms and design tools
Need more options for faster simulations of complex systems
Need efficient and easier access to real-world data
Need easier options for test-bench creation and verification
Challenges in
Signal Processing System Design
![Page 4: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/4.jpg)
4 © 2013 The MathWorks, Inc.
Signal Processing System Design
with MATLAB
![Page 5: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/5.jpg)
5
From Algorithm Exploration to
System Design
System Model
Encoding
Algorithm
Filtering
Algorithm
Multirate
Algorithm
Do I get the right numerical
results?
Does it meet design
specifications?
Is this the right algorithm
compared to other choices?
Filtering…
Spectral analysis…
Resampling…
Algorithm
Do the algorithms maintain behavior in the
integrated system?
Does the system meet performance
requirements under realistic conditions?
How can I minimize cost on hardware?
Behavioral trade-offs
Implementation trade-offs
![Page 6: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/6.jpg)
6
System Toolboxes
Signal Processing
Blockset
DSP
System Toolbox
Communications
Toolbox
Communications
System Toolbox
Filter Design
Toolbox
Communications
Blockset
Video and Image
Processing
Blockset
Computer Vision
System Toolbox New Features
Phased Array
System Toolbox New Product
![Page 7: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/7.jpg)
7
System Toolboxes
Rich set of algorithms for design in MATLAB or Simulink
Stream and batch signal processing
Fixed-point and floating point support
C code generation from MATLAB or Simulink
Growing HDL code generation support
Object-based design flow for design reuse
![Page 8: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/8.jpg)
8
For Analysis and Algorithms: Signal Processing Toolbox
• Time and frequency domain signal analysis and visualization
• Waveforms, linear prediction, time-series, and spectral estimation
• Industry-standard analog and digital FIR and IIR filter design
For Systems: DSP System Toolbox
• Streaming and multi-rate algorithms for real-time DSP systems
• Fixed-point, C/HDL code generation, and hardware connectivity
• Multi-rate and adaptive filter design; signal and spectrum scopes
Basic Tools for Signal Processing Design
![Page 9: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/9.jpg)
9
Modeling real-time signal processing systems
Streaming algorithms in DSP System Toolbox provide
Implicit data buffering, state management and indexing
Simulation speed-up by reducing overhead
MATLAB Memory
Stream
Source
Stream
Processing
![Page 10: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/10.jpg)
10
DSP System Toolbox Over 300 algorithms for
– Advanced filter design
– FFTs
– Multirate DSP
– Linear algebra routines
Algorithm libraries in MATLAB Algorithm libraries in Simulink
![Page 11: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/11.jpg)
11
Model Dynamic Systems in MATLAB:
System Toolboxes and System objects Represent dynamic systems
• Multiple tasks: validation, initialize, output, reset, terminate
Separate Declaration from Execution
• Declaration: State initializations, Parameter validation
• Execution: Output computation (step), reset and eventual termination
![Page 12: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/12.jpg)
12
Communications System Toolbox
Algorithm libraries in MATLAB Algorithm libraries in Simulink
Over 100 algorithms for
– Modulation, Interleaving, Channels, Source Coding
– Error Coding and Correction
– MIMO, Equalizers, Synchronization
– Sources and Sinks, SDR hardware
![Page 13: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/13.jpg)
13
LTE Downlink processing
Advanced
channel coding
MIMO OFDM
![Page 14: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/14.jpg)
14
Demo: 4G Building blocks
QPSK Modulation
Turbo Code (Soft Decision)
OFDM
MIMO (Space Time Block Codes)
Multiple Input Multiple Output
h1,2
h1,1
h4,4
h2,1 X Y
>> Demo selector: Communications -> 4G Comms system
![Page 15: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/15.jpg)
15
LTE Downlink – Putting It All Together
![Page 16: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/16.jpg)
16
Simulink Library Support for HDL
Core Simulink Blocks – Basic and Array Arithmetic, Look-Up Tables,
Signal Routing (Muxes, Delays, Selectors),
Logic & Bit Operations, FIFOs, CORDIC,
Single- and Dual-port RAMs
Signal Processing Blocks – NCOs, DDCs, FFTs, Counters,
Digital Filters (FIR, IIR, Multi-rate, Adaptive), Rate Changes (Up & Down Sample)
Communications Blocks – Pseudo-random Sequence Generators,
Modulators / Demodulators, Interleavers / Deinterleavers, Viterbi Decoder
Stateflow – Mealy and Moore Finite State Machines
![Page 17: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/17.jpg)
17
FPGA-in-the-Loop (FIL) Prototyping
Supported Xilinx boards ML605
ML505
ML506
ML507
XUP Atlys
XUP-V5
SP605
SP601
ML401
ML402
ML403
Part of HDL Verifier
Easy to setup using FIL Wizard
Fast simulation
– HDL runs on FPGA
– Gigabit Ethernet data transfer
![Page 18: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/18.jpg)
18 © 2013 The MathWorks, Inc.
Phased Array System Design
with MATLAB
![Page 19: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/19.jpg)
19
Measurement
and Tracking
Medium Target Source
array Result
Receiver array
and processing
Communications
Imaging
Applications of Phased Array Systems
![Page 20: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/20.jpg)
20
Phased Array Analysis and Visualization
Array gain
Array response
Delay between elements
Steering vector
Element response
![Page 21: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/21.jpg)
21
Demo: Uniform Linear Array (ULA)
½ wavelength
spacing
![Page 22: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/22.jpg)
22
Conformal Arrays
Specify arbitrary arrays
– Position for each element (x,y,z)
– Normal vector to specify the orientation for
each element (azimuth, elevation)
>> Demo selector: PhAST -> Array Patterns
![Page 23: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/23.jpg)
23
Phased Array Systems:
Block Diagram View
Waveform
Generator Transmitter
Transmit
Array
Signal
Processing Receiver
Receive
Array
Environment,
Targets, and
Interference
![Page 24: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/24.jpg)
24
Phased Array System Toolbox
Phased array design and analysis • Linear, rectangular, conformal geometries
• Shading, tapering
• Element position and orientation
• Gain, delay, steering vector
Temporal processing • Time varying gain, pulse compression
• Coherent, non-coherent integration
• Signal detection and ROC curves
• CFAR processing, range/Doppler estimation
Waveform design and analysis • Pulsed CW
• LFM and stepped FM
• Staggered PRF
• Ambiguity function
• Matched filter
Spatial processing • Digital beamforming: narrowband & broadband,
Conventional, MVDR, LCMV, Frost, time delay,
time delay LCMV, subband phase shift
• DOA processing: Monopulse, MVDR,
beamscan, ESPRIT, Root-MUSIC
Signal modeling framework • Monostatic and multistatic scenarios
• Point target and Swerling target models
• Narrowband and broadband modeling
• Platform motion
Space-time adaptive processing • Displaced phase center array (DPCA)
• Adaptive DPCA
• Sample matrix inversion (SMI)
• Angle-Doppler response
![Page 25: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/25.jpg)
25
Summary:
Modeling and Simulation
System Toolboxes provide system design and modeling
techniques in MATLAB
– Pre-defined algorithms enable faster design iterations
– Streaming simulation techniques enable modeling of real-time
signal processing systems
– Object-oriented implementation of algorithms speed up
some system simulations
– Support for fixed-point and C code generation enable
design flow continuity in MATLAB
![Page 26: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/26.jpg)
26
Agenda
Overview
Signal Processing Systems Design with MATLAB
• Modeling and Simulation
• DSP/Communication/Phased Array System Toolbox
Conversion to Fixed Point Conversion
• Fixed Point Design
Automatic Code Generation
• MATLAB/Simulink to C/HDL
Summary and Wrap-up
![Page 27: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/27.jpg)
27 © 2013 The MathWorks, Inc.
Fixed Point Design
![Page 28: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/28.jpg)
28
Fixed Point Design: Motivation
Consideration Fixed Point Floating Point
RAM and ROM consumption Small Large
Execution time Faster Slower
Hardware power consumption Low High
Development time Long Short
Implementation complexity More complex. Control of word
length, rounding mode, saturation...
Less
Error Prone Harder to develop. More prone to
programming errors
Easier to develop
![Page 29: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/29.jpg)
29
Fixed Point Design: Pitfalls
Arithmetic Pitfalls
– Introduces quantization errors
– Word length and Fraction Length must be specified
For every variable
– Degradation must be analyzed
Integer + sign fractional
L
L-N N
Quantization overflow
![Page 30: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/30.jpg)
30
Fixed Point Design: Pitfalls
Fixed Point C Pitfalls
– No native fixed-point math libraries
– No built-in overflow / underflow checks
– No tools to determine optimal integer and fractional bits
– No visualization of floating and fixed-point representations
Integer + sign fractional
L
L-N N
Quantization overflow
![Page 31: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/31.jpg)
31
Fixed-Point Toolbox:
MATLAB Fixed-Point Object
A*B, A+B, pow2(A,3)
Fi Object
Value
NumericType
Fimath
RoundMode: round
OverflowMode: saturate
ProductMode: FullPrecision
MaxProductWordLength: 128
SumMode: FullPrecision
MaxSumWordLength: 128
CastBeforeSum: true
Signed: true
WordLength: 16
FractionLength: 13
1. Controls output type of operations
2. Allows natural operator syntax
![Page 32: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/32.jpg)
32
Summary:
Fixed-Point C Code Generation
Perform fixed-point system design and prototyping
activities directly in MATLAB
Maintain floating and fixed-point designs in a unified
environment
– Run simulations in double precision or fixed-point as needed
– Validate fixed-point effects during system design phase
Generate fixed-point C code directly
– Automatically generated C code is correct by construction
– Reduce verification effort and cost
![Page 33: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/33.jpg)
33
Agenda
Overview
Signal Processing Systems Design with MATLAB
• Modeling and Simulation
• DSP/Communication/Phased Array System Toolbox
Conversion to Fixed Point Conversion
• Fixed Point Design
Automatic Code Generation
• MATLAB/Simulink to C/HDL
Summary and Wrap-up
![Page 34: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/34.jpg)
34 © 2013 The MathWorks, Inc.
Automatic Code Generation
![Page 35: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/35.jpg)
35
Why translate MATLAB to C?
Integrate MATLAB algorithms w/ existing C environment
using source code or static libraries
Prototype MATLAB algorithms on desktops as
standalone executables
Accelerate user-written MATLAB algorithms
Implement C/C++ code on processors or hand-off to
software engineers
![Page 36: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/36.jpg)
36
Challenges with Manual Translation from MATLAB to C/C++
Separate functional and implementation specification – Leads to multiple implementations that are inconsistent
– Hard to modify requirements during development
– Difficult to keep reference MATLAB code and C code in-sync
Manual coding errors
Time consuming and expensive
iterate
verify / accelerate
Algorithm Design
in MATLAB
Re-code in
C/C++
![Page 37: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/37.jpg)
37
Algorithm Design and
Code Generation in
MATLAB
With MATLAB Coder, design engineers can
• Maintain one design in MATLAB
• Design faster and get to C/C++ quickly
• Test more systematically and frequently
• Spend more time improving algorithms in MATLAB
Automatic Translation of MATLAB to C
verify /accelerate
iterate
![Page 38: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/38.jpg)
38
Implementation Constraints
Polymorphism
Memory allocation
Processing matrices & arrays
Fixed-point data types 7 Lines of MATLAB
107 Lines of C
![Page 39: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/39.jpg)
39
Fixed Point Design in MATLAB
Run MATLAB code with
floating point data types
Simulation results
for all variables
Analyze simulation
min/max
Collect histograms for
signals
![Page 40: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/40.jpg)
40
Choosing the Right Deployment Solution MATLAB Coder and MATLAB Compiler
Output Portable and readable
C source code
Executable or software
component/library
MATLAB support Subset of language
Some toolboxes
Full language
Most toolboxes
Graphics
Runtime requirement None MATLAB Compiler
Runtime (MCR)
License model Royalty-free Royalty-free
MATLAB Compiler MATLAB Coder
![Page 41: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/41.jpg)
41
Algorithm to HDL Workflows
1. Simulink to HDL (with MATLAB and Stateflow)
2. MATLAB to HDL
3. Hybrid workflow 2 1
3
VHDL &
Verilog VHDL & Verilog
![Page 42: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/42.jpg)
42
MATLAB to HDL workflow
Automated Floating to
Fixed-Point conversion
Generate optimized
HDL code
Integrated verification
and implementation
Easily connect to Simulink
and Xilinx System Generator
![Page 43: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/43.jpg)
43
Fixed-Point Analysis
Corner Detection
Convert floating point to optimized fixed-point models
– Automatic tracking of signal range for both
Simulink blocks and MATLAB function block
– Mathematically calculate signal range
– Word / Fraction length scaling
![Page 44: 김용정 부장 Senior Applications Engineer - MATLAB€¢ Modeling and Simulation ... QPSK Modulation ... Challenges with Manual Translation from MATLAB to C/C++](https://reader033.vdocuments.mx/reader033/viewer/2022051800/5ac175467f8b9ad73f8cee00/html5/thumbnails/44.jpg)
44
Summary
Pre-defined algorithms enable faster design iterations
Object-oriented implementation of algorithms with
simulation speed-up
Automatic fixed-point code generation with effort and
cost reduction
Reduce verification time with HDL/FPGA Co-simulation