|
Course
Highlights
This is a five-day training class that provides system architects, DSP designers, and FPGA designers a hands-on course covering how to develop digital signal processing algorithm from the design (algorithmic) stage to the verification stage in hardware in an integrated design environment using Simulink and Xilinx System Generator.
Prerequisites
Participants are expected to have some exposure to signal processing techniques prior to taking this course. In addition, you are to have the knowledge of Xilinx FPGA fundamentals. Knowledge in MATLAB AND SIMULINK is not a must.
Although the course includes some very basic revision of some DSP algorithms, it is expected that you understand the basics of digital signal processing theory for functions such has:
- FIR (Finite Impulse Response)
- Oscillators and Mixers
- FFT (Fast Fourier Transform) algorithm and equalizer
Why this training pays huge dividends
After completing this training, you will be able to:
- Use Simulink to perform system-level DSP design
- Approach the complexities of high-performance DSP design
- Implement a design from algorithm concept to hardware verification using Xilinx automatic translation (System Generator) and implementation (ISE) tools
Course Outline
Understanding of Basic MATLAB and SIMULINK for DSP Applications
Matlab Fundamentals
Objective: This section introduces Matlab environment and features as foundation of developing digital signal processing applications.
- What is Matlab?
- Creating vectors and matrices
- Manipulating vectors and matrices
- Plotting 2-D graphs
- M-files: Script and Function
- Creating and using structures
Modeling Algebraic System
Objective: Use Simulink to model and simulate algebraic systems.
- Define the system and identify components
- Model the system with equations
- Start Simulink
- Build a block diagram for the model
- Define model parameters
- Define model I/O
- Simulate the system
- Create signal viewers
- Modify solver settings
- Validate the simulation results
Modeling Logical Systems
Objective: Use Simulink to model and simulate logical systems
- Define system and identify components
- Model the system with equations
- Build a block diagram for the model
- Set configuration parameters
- Introduce zero crossing
- Variable-step versus fixed-step solvers
- Modify signal viewer parameters
- Simulate the model and analyze the results
- Define maximum step size
- Model the system with Embedded MATLAB
- Simulate and compare results
Modeling Continuous System
Objective: Use Simulink to model and simulate continuous systems.
- Define system
- Identify system components
- Define continuous states
- Model the system with equations
- Build a block diagram
- Choose a continuous solver
- Simulate system
- Analyze system response
Modeling Discrete Systems
Objective: Use Simulink to model and simulate discrete systems.
- Define system
- Identify system components
- Define discrete states
- Model system with equations
- Build block diagram of model using Simulink
- Define system parameters
- Select a discrete solver
- Simulate the model and analyze the response
- Linear discrete Systems
- Multirate discrete systems
Understanding Advanced Modeling Concepts for SIMULINK
Modeling Systems with Subsystems
Objective: Use subsystems to combine smaller systems into larger systems and to model signal driven systems.
- Define subsystems
- Create subsystems
- Combine subsystems into models
- Simulate the system
- Define model callbacks
- Block sorted order
Creating Custom Blocks and Libraries
Objective: Use masks and libraries to create and distribute custom blocks.
- Masking blocks
- Creating new libraries
- Creating configurable subsystems
- Adding libraries to the Library Browser
Integrating Code with Simulink
Objective: Learn about methods of integrating M-code and C code into Simulink
- Basic S-function concepts
- Writing M-file S-functions
- Level-1 versus Level-2 M-file S-functions
- Converting a MATLAB function to an M-file S-function
- Calling an external C routine using the Legacy Code Tool
- Writing an S-function using the S-Function Builder
- Calling an external C routine using the S-Function Builder
Understanding DSP for FPGA Design and Implementation Techniques
DSP Design using System Generator
Objective: Explore the System Generator tool and to gain the expertise you need to develop advanced, low-cost DSP designs. This intermediate course in implementing DSP functions focuses on learning how to use System Generator for DSP, design implementation tools, and hardware-in-the-loop verification. Through hands-on exercises, you will implement a design from algorithm concept to hardware verification by using Xilinx FPGA capabilities.
- Introduction to System Generator
- Simulink Basics
- Lab 1: Using Simulink
- Basic Xilinx Design Capture
- Lab 2: Getting Started with Xilinx System Generator
- Signal Routing
- Lab 3: Signal Routing
- Implementing System Control
- Lab 4: Implementing System Control
- Multi-Rate Systems
- Lab 5: Designing a MAC-based FIR Using the DSP48 Slice
- Filter Design
- Lab 6: Designing a FIR Filter Using the FIR Compiler Block
- Interfacing to System Hardware
- Lab 7: Designing interface to System Hardware
Lab Descriptions
Lab 1: Using Simulink – Learn how to use Simulink toolbox blocks and design a system. Understand the effect sampling rate.
Lab 2: Getting Started with Xilinx System Generator – Illustrates a DSP48-based (ML505 board) design. Perform hardware co-simulation verification targeting an ML505 board.
Lab 3: Signal Routing – Design padding and unpadding logic by using signal routing blocks.
Lab 4: Implementing System Control – Design an address generator circuit by using blocks and Mcode.
Lab 5: Designing a MAC-based FIR – Using a bottom-up approach, design a MAC-based bandpass FIR filter and verify through hardware co-simulation by using an ML505 board.
Lab 6: Designing a FIR Filter Using the FIR Compiler Block or DAFIR Block – Design a bandpass FIR filter by using the FIR Compiler block to demonstrate increased
|