0
1
00:00:00,530 --> 00:00:05,840
To get ready to control the 7-segment displays on the Basys3 board using HLS, we should 
1

2
00:00:05,840 --> 00:00:07,400
know their configuration on this board. 
2

3
00:00:07,550 --> 00:00:10,610
So, let’s get ourselves familiar with this configuration.
3

4
00:00:11,940 --> 00:00:17,700
According to this figure, there are four 7-segments available on this board that is connected to the FPGA 
4

5
00:00:17,700 --> 00:00:24,330
through 12 pins supporting control and data signals. Each 7-segment has a dedicated control pin 
5

6
00:00:24,660 --> 00:00:27,060
that determines its ON and OFF state.
6

7
00:00:27,300 --> 00:00:33,090
Therefore, there are four control signals for 7-segments. To turn on a 7-segment, 
7

8
00:00:33,090 --> 00:00:39,150
the circuit driver in the FPGA should write a low voltage level or 0 value to the corresponding FPGA 
8

9
00:00:39,160 --> 00:00:39,440
pin.
9

10
00:00:39,930 --> 00:00:43,500
There are eight data signals shared among four 7-segments. 
10

11
00:00:44,010 --> 00:00:47,100
Therefore, 7-segments activated at the same time,
11

12
00:00:47,100 --> 00:00:53,580
show the same data. In order to show a four-digit number on the 7-segments, the time-multiplexing technique
12

13
00:00:53,580 --> 00:00:55,410
should be applied to the data signals. 
13

14
00:00:56,010 --> 00:01:01,290
This multiplexing requires a sequential circuit design which is not the subject of this section. 
14

15
00:01:02,900 --> 00:01:08,300
I will describe complex sequential circuits to control 7-segments in the Sequential Circuits course, 
15

16
00:01:08,510 --> 00:01:14,060
which is the second course of this series on Digital System Design with High-Level Synthesis for FPGA.
16

17
00:01:15,430 --> 00:01:21,760
As this section only focuses on combinational circuit design, we only control one 7-segment at 
17

18
00:01:21,760 --> 00:01:22,140
a time.
18

19
00:01:23,070 --> 00:01:30,150
This figure shows the 7-segment connections along with their corresponding FPGA I/O pins. Four transistors 
19

20
00:01:30,150 --> 00:01:35,250
implement the control signal section. Therefore, to turn on the connected 7-segment to each
20

21
00:01:35,250 --> 00:01:40,000
control signal, the logic value 0 should be applied to the corresponding FPGA I/O pin. 
21

22
00:01:40,560 --> 00:01:44,300
Also, the 8 data signals are shared among 7-segments. 
22

23
00:01:44,820 --> 00:01:50,610
The names of FPGA I/O pins are the key information that we will use later along this course. 
23

24
00:01:50,970 --> 00:01:54,960
After getting ourselves familiar with the 7-segments in Basys3 board, 
24

25
00:01:54,990 --> 00:02:00,720
the question is: How to control a 7-segment in HLS using a C-function? In the next lecture, 
25

26
00:02:00,900 --> 00:02:04,440
I will explain how to write a C code to control a single 7segment.
26

27
00:02:04,440 --> 00:02:11,010
To control a seven-segment two groups of signals should be provided by a design in the FPGA: control and data signals. 	Data signals 
27

28
00:02:11,010 --> 00:02:13,200
are shared among multiple 7-segments.
28

29
00:02:13,900 --> 00:02:20,220
We should know the names of the FPGA pins connected to the 7-segment display for constraint definition in our design.
29

30
00:02:21,160 --> 00:02:22,120
Now, the quiz question.
30

31
00:02:23,230 --> 00:02:29,890
Find control signal values and the data code to write the number 5 on the left-hand side 7-segment 
31

32
00:02:30,040 --> 00:02:31,390
and turn off the others.
