Mô tả

This course is an elementary introduction to high-level synthesis (HLS) design flow. The goals of the course are describing, debugging and implementing combinational logic circuits on FPGAs using only C/C++ language without any help from HDLs (e.g., VHDL or Verilog). The HLS is recently used by several industry leaders (such as Nvidia and Google) to design their hardware and software platforms. The HLS design flow is the future of hardware design, which quickly becomes a must-have skill for every hardware or software engineer who is keen on utilising FPGAs for their exceptional performance and low power consumption.

It uses the Xilinx HLS software and hardware platforms to demonstrate real examples and applications. This course is the first to build the HLS design flow and skills along with the digital logic circuit concepts from scratch. Throughout the course, you will follow several examples describing HLS concepts and techniques. The course contains numerous quizzes and exercises for you to practice and master the proposed methods and approaches.

This course is the first of a series of courses on HLS in designing hardware modules and accelerating algorithms on a target FPGA. Whereas this course focuses on combinational circuits. The other courses in the series will explain how to use HLS in designing sequential logic circuits, algorithm acceleration, and hybrid CPU+ FPGA heterogeneous systems.


Bạn sẽ học được gì

Designing combinational logic circuits with C/C++ language using the HLS approach

Understanding the basic concepts of High-Level Synthesis (HLS)

Using HLS concepts for designing combinational logic circuits

HLS design flow for FPGAs

Working with Xilinx Vitis-HLS and Vivado suite Toolsets

How to generate RTL hardware IPs using Vitis-HLS

Writing C-testbench in HLS

Implementing two exciting projects with HLS

Yêu cầu

  • Understanding the basic concepts of C/C++ coding
  • Understanding the basic concepts of logic operators (e.g., AND, OR, XOR, SHIFT )
  • BASYS3 evaluation board
  • Xilinx Vitis-HLS and Vivado (download Vivado ML Edition, or Vivado Design Suite - HLx Editions for Windows or Linux)

Nội dung khoá học

14 sections

Prologue

2 lectures
Introduction
05:08
Course Structure
05:11

FPGA Concepts

10 lectures
Introduction
02:06
Features and Applications
02:14
Design Approach
04:20
FPGA Platform vs CPU Platform
05:46
FPGA Basic
03:54
LUT
03:29
Flip-Flop And Other Elements
04:40
Basys3 FPGA Development Board
05:05
Why HLS?
04:17
Hardware and Software Analogy
05:05

Hardware/Software Setup

5 lectures
Introduction
02:10
Vivado-HLx
04:49
Vivado and Vivado-HLS
03:55
Install Vivado-HLx
03:41
Test Installation
06:39

Basic Output

12 lectures
Introduction
03:20
Output Configuration
02:43
Controller Concept
02:25
HLS Design Overview
02:53
HLS Design Flow
05:45
HLS C/C++ Design
04:04
HLS Ports
03:36
HLS LAB
08:53
Vivado
04:34
Vivado LAB
07:24
Basis3 Board
04:19
Exercises
00:44

Basic Input/Output

7 lectures
Introduction
02:36
Configuration
01:44
Controller Concept
01:59
HLS Ports
04:32
HLS LAB
04:17
Vivado LAB
06:10
Exercise
00:43

Combinational Circuit

13 lectures
Introduction
02:53
Definition
02:58
Logic Gates
03:32
Propagation Delay
04:53
Binary Adder Delay
03:46
Combinational Circuit in HLS
04:32
Combinational Circuit in Vivado-HLS
04:54
Combinational Circuit in Vivado
06:19
Functions
06:10
Dataflow
05:33
Traffic Light
06:30
Traffic Light-Vivado-HLx
10:14
Exercises
00:41

C/C++ Testbench

6 lectures
Introduction
02:09
Definition
03:25
Simulation Flow
03:29
HLS Testbench Coding
04:00
Vivado HLS
08:10
Exercises
00:15

Data Type

11 lectures
Introduction
03:16
Native Datatypes
03:13
Synthesis
06:54
Bit Precision: Declaration
04:30
Bit Precision: Initializing
03:59
Bit Precision: Assignment
05:08
Bit Precision: Print
02:36
Bit Precision: Bitlevel
03:49
Bit Precision: Bitwise Logical Operators
03:23
Bit Precision: Shift/Rotate
02:21
Exercises
00:29

Conditional Statements

9 lectures
Introduction
02:16
Definition
02:28
Multiplexer
02:13
Multiplexer: General Case
03:55
HLS
03:49
Encoder/Decoder
04:46
Leading One
02:58
LAB
15:42
Exercises
00:26

Seven Segments

11 lectures
Introduction
03:35
Definition
02:32
7-Segment Codes
01:31
Basys3
02:42
One Digit
02:53
BCD Code
02:25
BCD TO 7-segment: Div/Mod
05:34
BCD TO 7-Segment: Double Dabble
04:50
Two Digits
03:39
LAB
14:23
Exercises
00:26

Combinational Loops

10 lectures
Introduction
02:47
Definition
05:20
Loop Unroll
02:49
Loop Unroll Conditions
03:22
Parity Bit: Definition
03:52
Parity Bit: Design
02:15
Parity Bit: Design Optimisation
02:36
Parity Bit: HLS
03:45
Parity Bit: Vivado-HLS
05:15
Exercises
00:16

Integer Arithmetic

8 lectures
Introduction
02:49
Definition
04:42
Overloading
04:16
Timing Constraint
06:15
DSP Resources
04:22
Resource Constraint
10:39
Division/Modulus
08:21
Exercises
00:39

Projects: Home_Alarm_System

3 lectures
Definition
03:37
Code Structure
05:01
Vivado-HLx
11:17

Project: Simple Calculator

3 lectures
Definition
02:16
Code Structure
05:16
Vivado-HLx
13:24

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.