• Duration:4 minutes and 19 seconds
  • Date:2020/12/25
  • Uploader:抛砖引玉
Introduction
keywords: FPGA MATLAB
This video series will show you how to deploy signal processing algorithms to your FPGA design. Using the pulse detection algorithm as an example, this tutorial series begins with the basics required for successful FPGA design and then moves on to adapting the algorithm so that it can be deployed automatically.

HDL Coder™ generates synthesizable VHDL® or Verilog® RTL from MATLAB® functions, Simulink® models, and Stateflow® diagrams, targeting FPGA or ASIC hardware.

HDL Coder™ generates synthesizable VHDL® or Verilog® RTL from MATLAB® functions, Simulink® models, and Stateflow® diagrams, targeting FPGA or ASIC hardware. 
This tutorial uses a simple signal processing algorithm to demonstrate the typical steps that customers follow to adapt their high-level algorithms to hardware architectural details so that they can be efficiently implemented in hardware and verified at each step.
This video covers:
- Key considerations for hardware design: streaming data and fixed resources -
Advantages of MATLAB and Simulink and how to leverage them for hardware design
- Overview of the workflow, including verification of each step -
Overview of HDL Coder self-study tutorials -
MATLAB Introduction to the Golden Reference Algorithm
- Adapting Frame-Based Algorithms to Streaming Algorithms

To effectively apply the algorithm to FPGA or ASIC hardware, it needs to be adapted to handle streaming data and optimized for the amount of fixed resources required. Simulink® helps visualize hardware architecture and data flow. If your original algorithm was developed in MATLAB®, you can reuse much of your work when you modify the algorithm for hardware implementation using Simulink.

This video covers:
- Sharing workspace variables between MATLAB and Simulink
- Leveraging hardware design experience to tune algorithms for efficient implementation
- Logging signals as test points for debugging
- Visualizing data types and how they propagate through the design
- In-flow Reuse MATLAB code in MATLAB function blocks
- Use MATLAB testbench to simulate and verify the output of Simulink hardware implementations


Generating effective FPGA designs often requires balancing data throughput, latency, and hardware resources. Depending on the nature and goals of the design, there are various ways to adapt the algorithm to an efficient hardware implementation. This part of the tutorial shows some methods.

This video covers:
-Setting model parameters for HDL code generation
-How the sample rate of the Simulink® model translates to the clock rate of the FPGA hardware
-Inserting pipeline registers on the data path using various optimization techniques
-Using data valid control signals to monitor Enter sample data
—validate the optimized architecture using the MATLAB® testbench

Efficient hardware implementation requires quantizing your data type to fixed point. Signal processing algorithms can be challenging to convert while maintaining the required accuracy, especially if you are writing RTL by hand. Model-based design methods allow you to easily explore and visualize different options and automate much of the process. This part of the tutorial shows the basic concepts and the general methods that can be used.

This video covers:
-Converting the default 64-bit double data type to a fixed-point
representation -Fixed-point data type definitions in the MATLAB® and Simulink® environments
-Propagating data types to maintain precision during mathematical calculations
-Consistency and accuracy Perform model checking to ensure predictable implementation results
—use golden references to compare and validate fixed-point model designs

Traditionally, FPGA programming begins with providing register transfer level (RTL) VHDL® or Verilog® code to the FPGA synthesis tool. In this part of the tutorial, we show how to automatically generate RTL from a proven high-level architectural model, analyze the estimated time and resource usage, and then run synthesis automatically.

This video covers:
- Running code checks for HDL code generation preparation and potential hardware inefficiencies
- Automatically or manually resolving reported issues
- Setting up third-party tools to synthesize generated VHDL or Verilog
- Using the HDL Workflow Advisor to generate the stages of RTL code , Tasks and Setup
- Resource usage and optimization reports that provide fast high-level feedback before synthesis
- Analyze timing and critical paths for FPGA synthesis


Unfold ↓

You Might Like

Recommended Posts

wince time problem
Change the BSP of 2410, specifically: In the file Platform\SMDK2410\kernel\hal\oemioctl.c, change case IOCTL_HAL_INIT_RTC: // The kernel has detected a cold-boot. if(nInBufSize >= sizeof(SYSTEMTIME))
20131333 Embedded System
I met the inventor of 4558 yesterday.
There are many stories behind it, so I will sort them out and publish them to you. First of all, I have to investigate how many people have used 4558?
凯哥 Analog electronics
The collected test questions from various provinces are quite good
[i=s] This post was last edited by paulhyde on 2014-9-15 09:25 [/i] I have collected the test questions from various provinces with great difficulty. They are quite good.
sinotyk Electronics Design Contest
[TI Learning] From Getting Started to Familiar with LM3S6911 (Newly Added Chinese Materials)
Study notes about lm3s6911The board I used was left over from a previous "ARM-based RFID reader" project. At the time, I knew very little about ARM, cortex-M3, and TI, and I had only heard of the name
baixichi Microcontroller MCU
How to display the output value (bus) as a waveform during quartus ii simulation
Output is the value of the sine wave in ROMHow to set the output to output in waveform (sine wave)[[i]This post was last edited by wzyuliyang on 2011-11-23 21:37[/i]]
wzyuliyang FPGA/CPLD
Please give me some advice
Is the data structure course important for those who want to develop embedded software in the future?
xibeifengse Embedded System

Recommended Content

可能感兴趣器件

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号