0
1
00:00:00,880 --> 00:00:05,290
In the previous lecture, we generated the RTL-IP of our LED controller.
1

2
00:00:06,100 --> 00:00:11,280
Now how can we integrate that in a Vivado project to generate the final FPGA bitstream?
2

3
00:00:12,290 --> 00:00:14,600
In this lecture, I will address this question.
3

4
00:00:16,590 --> 00:00:19,050
Firstly, run the Xilinx Vivado Suite.
4

5
00:00:20,010 --> 00:00:25,270
Then create a new project with the name of “basic_input_output-vivado”
5

6
00:00:25,860 --> 00:00:29,670
Finally, select the Basys3 board as the target FPGA platform.
6

7
00:00:36,680 --> 00:00:43,580
Create a new block design in the Flow Navigator by clicking on “Create Block Design” under the IP Integrator 
7

8
00:00:43,580 --> 00:00:44,030
heading.
8

9
00:00:47,630 --> 00:00:55,100
Right-click in the diagram and select “IP settings…”. A separate settings dialog opens, select the Repository 
9

10
00:00:55,100 --> 00:01:02,990
under IP in the left-hand side options. Start to add the generated basic-input-output RTL-IP by clicking
10

11
00:01:02,990 --> 00:01:06,640
on the plus button. Then select the corresponding vivado-HLS folder 
11

12
00:01:06,950 --> 00:01:13,040
Vivado will search the folder and add the IP to its repository and make that available for design 
12

13
00:01:13,040 --> 00:01:13,610
integration.
13

14
00:01:13,850 --> 00:01:16,370
Now, right-click in the diagram and select 
14

15
00:01:16,370 --> 00:01:18,920
Add IP. A searchable IP Catalog opens. 
15

16
00:01:19,160 --> 00:01:23,990
Find the basic_input_output IP and add to the diagram.
16

17
00:01:26,440 --> 00:01:32,650
Select the input port and make that external. You can change its name from inputs_0 to 
17

18
00:01:32,650 --> 00:01:39,970
SW. For this purpose, while the input port is selected, go to the name filed in External Port Properties.
18

19
00:01:40,540 --> 00:01:44,350
Do a similar thing to the output port and change its name to LED.
19

20
00:01:52,770 --> 00:01:58,920
Now we should connect the design ports inside the FPGA to the FPGA pins. Adding a few constraints to
20

21
00:01:58,920 --> 00:02:01,620
the design, will do that. For this purpose, 
21

22
00:02:01,800 --> 00:02:08,010
go to the source view and create a new constraint file by pressing the right-click on the Constraints 
22

23
00:02:08,010 --> 00:02:10,200
folder and selecting the “Add Sources…”
23

24
00:02:11,470 --> 00:02:18,040
In the Add Source Dialog, make sure that the “Add or create constraints” option is selected. Then press Next.
24

25
00:02:19,040 --> 00:02:24,410
Click on the Create File and choose a file name such as “basic_input_output” and 
25

26
00:02:24,410 --> 00:02:31,170
press the OK and Finish buttons. Open the constraint xdc file by double-clicking on the file name.
26

27
00:02:31,790 --> 00:02:36,880
Copy and paste the list of commented constraints provided by the Basys3 board vendor. 
27

28
00:02:37,130 --> 00:02:42,140
We should uncomment eight switches and eight LEDs. As the design port 
28

29
00:02:42,140 --> 00:02:45,170
names are the same as names used in the constraint 
29

30
00:02:45,170 --> 00:02:47,990
file,  we don’t need to do any other changes. 
30

31
00:03:02,790 --> 00:03:08,850
We are almost ready to generate the bitstream. However, before that, we should do two other tasks. 
31

32
00:03:11,170 --> 00:03:16,780
Firstly, go to the design view and right-click on design_1 and select the “Generate
32

33
00:03:16,780 --> 00:03:18,100
Output Products…” option. 
33

34
00:03:26,970 --> 00:03:32,550
Then right-click again on the design_1 and select the “Create HDL Wrapper” option.
34

35
00:03:33,270 --> 00:03:36,840
Now click on the Generate Bitstream option in the Flow Navigator View.
35

36
00:03:51,010 --> 00:03:56,530
After the bitstream is generated, we can program the Basys3 board. For this purpose, connect the board to 
36

37
00:03:56,530 --> 00:04:02,770
your computer and turn that on.  Open the hardware manager by clicking on the corresponding icon under
37

38
00:04:02,770 --> 00:04:05,170
the PROGRAM AND DEBUG in the flow navigator view.
38

39
00:04:05,260 --> 00:04:07,120
Then open the target, 
39

40
00:04:07,640 --> 00:04:09,670
the Viviado should detect the board automatically 
40

41
00:04:10,330 --> 00:04:13,900
if not check your connections and make sure that the board is ON.
41

42
00:04:22,960 --> 00:04:26,450
Then click on the Program device link and examine the board. 
42

43
00:05:21,370 --> 00:05:26,740
This lecture is the last in this section that explained the design concepts and techniques. So the 
43

44
00:05:26,740 --> 00:05:32,090
next lecture will give you a couple of hardware designs to be implemented by HLS design flow.
44

45
00:05:34,790 --> 00:05:40,310
This is our takeaway message. To program the target FPGA through JTAG connection, 	Connect the board
45

46
00:05:40,310 --> 00:05:46,050
to the computer, Then turn on the board, Finally, use the vivado design suite to program the board.
46

47
00:05:47,980 --> 00:05:49,150
Now the quiz for this lecture,
47

48
00:05:50,340 --> 00:05:56,170
Integrate the RTL-IP generated in the last lecture quiz question into a Vivado project and generate 
48

49
00:05:56,200 --> 00:05:59,880
the FPGA bitstream. Then program the board and examine the outputs. 
