0
1
00:00:01,860 --> 00:00:07,680
In this lecture, I will take an n-bit binary adder to represent the process of the propagation delay 
1

2
00:00:07,680 --> 00:00:08,280
calculation.
2

3
00:00:10,050 --> 00:00:18,000
This circuit is a full-adder design that receives two data bits, an input carry bit, and then after a delay generates
3

4
00:00:18,000 --> 00:00:19,470
the sum and the output carry bits.
4

5
00:00:19,470 --> 00:00:20,250
carry bits.
5

6
00:00:21,640 --> 00:00:28,240
There is a total of 9 paths from inputs to outputs. And If we assume that the delay of an XOR gate
6

7
00:00:28,420 --> 00:00:34,750
is 2ns and other gates require 1ns to generate their outputs, 
then delays
7

8
00:00:34,750 --> 00:00:42,550
of the paths from a or b to the s output are 4ns. Tthe delay of the cin input to the s output 
8

9
00:00:42,550 --> 00:00:43,630
is 2ns.
9

10
00:00:44,020 --> 00:00:47,370
The delays of other paths are also 2ns. 
10

11
00:00:47,890 --> 00:00:54,310
So, the longest path in the circuit requires 4ns to propagate the changes on the inputs to 
11

12
00:00:54,310 --> 00:01:00,280
the outputs, which means, the output of this full adder should generally be used 4ns after 
12

13
00:01:00,280 --> 00:01:01,600
changes on its inputs.
13

14
00:01:04,220 --> 00:01:10,330
An N-bit binary adder can be designed by simply connecting N full-adders sequentially such that 
14

15
00:01:10,460 --> 00:01:16,940
the output carry bit of a full-adder feeds the next full-adder input carry. This design usually called 
15

16
00:01:16,940 --> 00:01:24,560
the ripple carry adder. This adder utilises the least amount of hardware of all binary adders, but it is the slowest.
16

17
00:01:26,990 --> 00:01:31,820
Each full-adder in the ripple carry adder structure has three paths for data propagation. 
17

18
00:01:33,080 --> 00:01:42,410
From a & b inputs to the s output, from carry input to the s output, and from carry input to the carry 
18

19
00:01:42,410 --> 00:01:42,920
output.
19

20
00:01:46,210 --> 00:01:53,140
Let’s trace the data along these paths. Let’s assume that the input numbers are available at 0ns.
20

21
00:01:53,500 --> 00:02:00,280
Then after 2ns, the impact of the first bit full adder carry bit appears on s0 and c0. 
21

22
00:02:00,280 --> 00:02:08,930
Then after 4ns, the input data changes the values on s0 to sn-1 outputs.
22

23
00:02:09,190 --> 00:02:14,980
However, only the s0 and s1 values are valid, and others will be changed later.
23

24
00:02:16,350 --> 00:02:24,270
At 6ns, S2 and C2 are valid and finally after 2n ns the last sum and carry
24

25
00:02:24,270 --> 00:02:25,290
bits are valid.
25

26
00:02:26,850 --> 00:02:34,290
Two paths determine the last sum and carry bits, and both have 2N ns delay. Therefore, the
26

27
00:02:34,290 --> 00:02:37,860
propagation delay of the whole design is 2N ns.
27

28
00:02:40,020 --> 00:02:45,000
After understanding the logic design structures and their propagation delay concept. 
28

29
00:02:45,950 --> 00:02:49,910
Their HLS-based design techniques and approaches would be our next topic.
29

30
00:02:49,940 --> 00:02:56,150
Also, it is obvious that it is not easy for us to calculate the propagation delay for all circuits,
30

31
00:02:56,360 --> 00:03:00,980
especially if they are described in a high-level language such as C/C++. 
31

32
00:03:01,280 --> 00:03:07,640
Now the question is: How can we use the Vivado-HLS tool to estimate this delay? In the next 
32

33
00:03:07,640 --> 00:03:08,100
lecture, 
33

34
00:03:08,270 --> 00:03:14,330
I explain how to use Vivado-HLS to describe a logic circuit and estimate its propagation delay.
34

35
00:03:16,370 --> 00:03:22,310
This is our takeaway message. Serially connected modules in hardware increase the corresponding propagation 
35

36
00:03:22,310 --> 00:03:22,670
delay.
36

37
00:03:23,960 --> 00:03:29,120
Now the quiz for this lecture. I have slightly changed the structure of the full-adder and the gates 
37

38
00:03:29,120 --> 00:03:30,980
propagation delays in this quiz. 
38

39
00:03:31,520 --> 00:03:36,370
Now, what is the propagation delay of the n-bit adder utilises this full-adder?
