0
1
00:00:01,270 --> 00:00:06,680
Having a big picture of the HLS design flow can help us to design a logic circuit with confidence.  
1

2
00:00:07,030 --> 00:00:10,430
So, here I'm going to explain the HLS design flow briefly.
2

3
00:00:10,900 --> 00:00:13,690
More details will be described along the course.
3

4
00:00:16,650 --> 00:00:22,260
The complete HLS design flow consists of three steps: Step 1- Describing the design and performing 
4

5
00:00:22,260 --> 00:00:28,260
the high-level synthesis using Vivado-HLS toolset. Step 2- Running the logic synthesis and
5

6
00:00:28,260 --> 00:00:35,760
applying the I/O pin physical constraints using Vivado toolset. Step 3- Configuring the board and verifying 
6

7
00:00:35,760 --> 00:00:39,450
the output results. In the vivado-HLS step, 
7

8
00:00:39,690 --> 00:00:46,380
we can do the following tasks that some of them are optional: Coding Functionality in C/C++,  Inserting
8

9
00:00:46,380 --> 00:00:54,870
port Interface directives,  Inserting optimization directives, 
C-Simulation,  Debugging,  Co-Simulation, 
9

10
00:00:55,020 --> 00:00:56,360
and IP generation.
10

11
00:00:57,000 --> 00:01:03,960
In this lecture, we only perform the three tasks in red which are Coding functionality in C/C++, Inserting 
11

12
00:01:03,960 --> 00:01:10,170
port interfaces and IP generation. The logic synthesis generally consists of these tasks:
12

13
00:01:11,100 --> 00:01:19,500
Integrating the generated HLS IP into Vivado design space, Adding Constraints,  Synthesis,  Implementation, 
13

14
00:01:19,680 --> 00:01:21,390
and Bitstream Generation.
14

15
00:01:21,780 --> 00:01:24,810
In the last step, we configure the board with the generated bitstream.  
15

16
00:01:24,810 --> 00:01:32,790
This step generally consists of three tasks: Program the board, Provide the inputs, Investigate
16

17
00:01:32,790 --> 00:01:37,050
the outputs. As our design is simple and doesn't need any input, 
17

18
00:01:37,170 --> 00:01:38,370
we only check the outputs.
18

19
00:01:42,390 --> 00:01:46,230
The next lecture gives more details about the design-flow in Vivado-HLS. 
19

20
00:01:47,170 --> 00:01:52,530
I will explain that the design-flow has six steps, some of which are optional. 
20

21
00:01:54,860 --> 00:02:00,260
The takeaway message from this video is that an HSL design flow consists of three steps:
21

22
00:02:00,740 --> 00:02:08,000
The first step in using the Xilinx Vivado-HLS to describe the design in C and synthesis that
22

23
00:02:08,000 --> 00:02:09,980
into the corresponding HDL code and IP.
23

24
00:02:09,980 --> 00:02:17,840
The second step is integrating the generated IP and the required constraint files into Vivado toolset 
24

25
00:02:18,620 --> 00:02:20,690
and performing the logic synthesis.
25

26
00:02:21,260 --> 00:02:25,970
The last step is generating the bitstream and program the board and examine the design.
26

27
00:02:28,050 --> 00:02:32,700
Now the quiz question. Which two tasks can be performed in Vivado-HLS:
27

28
00:02:34,030 --> 00:02:35,200
1- Bitstream generation
28

29
00:02:36,420 --> 00:02:43,290
2- Adding physical constraints 3- Co-simulation 4- Debugging 5- Logic Synthesis 
