0
1
00:00:01,210 --> 00:00:07,330
How long does it take for the outputs of a combinational circuit to reflect the input changes? To answer 
1

2
00:00:07,330 --> 00:00:08,000
this question, 
2

3
00:00:08,140 --> 00:00:12,400
I will introduce you to the propagation delay in combinational circuits.
3

4
00:00:13,790 --> 00:00:20,510
Real logic gates do not react instantaneously to the inputs, and therefore any changes on the inputs 
4

5
00:00:20,660 --> 00:00:25,190
of a logic gate need some time to have an impact on the gate output.
5

6
00:00:27,530 --> 00:00:32,330
This time is called the gate propagation delay and may change from one gate to the other. 
6

7
00:00:32,870 --> 00:00:37,490
Also, propagation delay may be varying for different changes on the gate inputs. 
7

8
00:00:38,240 --> 00:00:45,230
However, in this course, we only consider a single propagation delay for each gate which can be considered
8

9
00:00:45,350 --> 00:00:48,470
as the average of all gate’s propagation delays.
9

10
00:00:49,910 --> 00:00:54,350
Let’s consider this NAND gate. We use t_p to show its propagation delay. 
10

11
00:00:54,860 --> 00:01:00,050
Now, assume a is zero, b is 1 then the output c would be 1. 
11

12
00:01:00,620 --> 00:01:07,550
Now let’s consider a transition from 0 to 1 on the a input and the b input remains intact. 
12

13
00:01:09,330 --> 00:01:14,930
Then, based on the NAND gate functionality, the c output should change from 1 to 0. 
13

14
00:01:15,060 --> 00:01:17,610
However, it happens after a delay. 
14

15
00:01:18,620 --> 00:01:24,710
During this delay, the gate output is not valid and shouldn’t be used for any further computation or
15

16
00:01:24,710 --> 00:01:25,700
decision making.
16

17
00:01:26,760 --> 00:01:33,450
Now, if we have a state change from 1 to 0 on the b input, we can see its impact on the output
17

18
00:01:33,570 --> 00:01:39,120
after the gate propagation delay. Again during this delay, the output is not valid. 
18

19
00:01:42,760 --> 00:01:48,610
The propagation delay is also defined for a combinational logic circuit. There are usually several 
19

20
00:01:48,610 --> 00:01:52,960
propagation paths from inputs to outputs in a combinational circuit.
20

21
00:01:53,530 --> 00:01:56,230
Each path has its own propagating delay. 
21

22
00:01:56,830 --> 00:02:03,040
The path with the maximum delay is called the critical path, and its delay is considered as the circuit 
22

23
00:02:03,040 --> 00:02:03,400
delay.
23

24
00:02:04,650 --> 00:02:06,200
Let’s consider this logic circuit. 
24

25
00:02:06,570 --> 00:02:11,260
It consists of four inputs, two outputs and two types of operators.
25

26
00:02:11,580 --> 00:02:17,900
Let’s assume the delay of the add operator is 2ns, and that of the multiplier is 3ns.  
26

27
00:02:21,280 --> 00:02:29,410
Path P1 includes two operators g1 and g2. It starts from the a input and ends at the f output. 
27

28
00:02:30,250 --> 00:02:34,810
Therefore, its associated delay is 2+2=4ns.
28

29
00:02:36,100 --> 00:02:41,110
The delay of the path from the b input to the f output is also 4ns.
29

30
00:02:43,020 --> 00:02:50,160
The next path starts at input c and passes through the g2 operator, and its delay is 2 ns. The
30

31
00:02:50,160 --> 00:02:57,060
delay of the third path is 3ns as it starts at a and passes through the g4 operator.
31

32
00:02:58,020 --> 00:03:05,250
The final paths start at c or d inputs pass through g3 and g4 operators. Therefore their 
32

33
00:03:05,250 --> 00:03:05,970
propagation
33

34
00:03:05,970 --> 00:03:07,980
delays are 5nsec.
34

35
00:03:08,280 --> 00:03:12,920
The P4 path is the critical path as it causes the longest delay. 
35

36
00:03:13,110 --> 00:03:16,470
So its delay is considered as the circuit propagation delay.
36

37
00:03:18,660 --> 00:03:24,360
To summerise, I should say that it takes time for the outputs of a combinational circuit to reflect 
37

38
00:03:24,450 --> 00:03:30,840
the input state changes. This time is called propagation delay, which is defined by the critical path
38

39
00:03:30,840 --> 00:03:31,540
in the circuit.
39

40
00:03:31,800 --> 00:03:36,250
This delay also determines the performance of the design and its response time. 
40

41
00:03:36,810 --> 00:03:42,300
One of our main goal in HLS is reducing this delay and decreasing the design response time.
41

42
00:03:43,890 --> 00:03:50,870
The impact of design strategy on the circuit propagation delay is our next topic. In the next step, 
42

43
00:03:51,060 --> 00:03:57,090
using n example I will show how the sequential execution of several hardware modules can increase
43

44
00:03:57,090 --> 00:04:00,660
the propagation delay and reduce the design performance.
44

45
00:04:02,640 --> 00:04:08,910
These are our takeaway messages. Outputs of a logic circuit are not generally valid as soon as changes 
45

46
00:04:08,910 --> 00:04:15,900
on inputs happen. Outputs will be valid and used after the circuit propagation delay elapses. 
46

47
00:04:18,130 --> 00:04:23,770
Now the first quiz for this lecture. Let’s assume the following circuit in which all gates have the 
47

48
00:04:23,770 --> 00:04:30,850
same propagation delay denoted by t_d. Find the output signal diagram for these input values.
48

49
00:04:34,110 --> 00:04:39,870
In the second quiz, Let’s assume the full-adder circuit in which all gates have the same propagation 
49

50
00:04:39,870 --> 00:04:43,800
delay denoted by t_d. Find the propagation delay of this circuit.
