• Duration:4 minutes and 48 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

That kind brother, the information of the ck9561 musical?
:'( I have been looking for it for 3 days but I can't find the pin connection method:Q
齐金 MCU
Breakthrough! In the 50-nanometer silicon wafer space - Interview with the Peking University "Basic Research on New Devices and New Processes in System-on-Chip" Project Team
Source: Science and Technology Daily Reporter: Xiang Jie Intern: Zhang Hanxue Chief: Zhang Xing Time: Afternoon of June 21, 2006 Location: School of Information Science and Technology, Peking Universi
settleinsh PCB Design
MSP430 Information
[i=s] This post was last edited by Xiaocheng Dashi on 2014-8-7 13:48 [/i] See the attachment
小城大事 51mcu
Help, the relationship between the task control block and the task pointer of u-cos!
When I read the introduction of task control block, task control block linked list and task stack, the concepts were blurred. I would like to ask the experts to explain it in detail. What is the relat
562416191 Real-time operating system RTOS
24c02 Read and Write
I read eight bytes in succession. The first time was correct, the second time was wrong, the third time was correct, and so on repeatedly. What is the reason? Please give me some advice.
aishangsiemens 51mcu
wince6(s3c6410) usb camera(uvc) driver help, can outsource
Using the webcam.dll from the Internet, it can be recognized in the system (cam2:) but cannot be displayed. There are camtest2 and camtest3 on the Internet that are app interfaces for watching videos,
richpowerHK 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号