1
00:00:00,980 --> 00:00:07,550
Now, our challenge is how to describe the to be generator in place to get the balance three implementation.

2
00:00:09,120 --> 00:00:16,140
By looking at the party generated expression, which is the X or of all bits, we'll find out that describing

3
00:00:16,140 --> 00:00:23,400
such an expression requires a parametric, repetitive statement before Rouper statements see as a simple

4
00:00:23,400 --> 00:00:25,330
way to implement such a structures.

5
00:00:26,440 --> 00:00:32,620
Loops in the C C++ functions are controlled by default, well, loops are called the synthesis process

6
00:00:32,620 --> 00:00:38,350
creates a logic for one iteration of the Loop and RTL Design executes this logic.

7
00:00:38,530 --> 00:00:44,700
For each iteration, a loop is executed for the number of iterations as specified by the induction variable.

8
00:00:44,950 --> 00:00:50,470
The number of iterations might also be impacted by the logic inside the loop body, for example, break

9
00:00:50,470 --> 00:00:53,890
conditions or modifications to the loop exit variable.

10
00:00:57,960 --> 00:01:03,730
This Holub statement runs own sequentially, using only one hardware instance of.

11
00:01:05,780 --> 00:01:11,890
This hardware structure requires to transfer data from one generation to the next, which needs a memory,

12
00:01:12,290 --> 00:01:15,440
therefore, the result circuit won't become a national.

13
00:01:19,020 --> 00:01:26,010
As I mentioned before, by default, loops are kept rolled in behind us, therefore the generated hardware

14
00:01:26,010 --> 00:01:32,850
is not a combination of the technique to tackle this issue is to unroll the loop manually or automatically.

15
00:01:33,840 --> 00:01:36,380
This code manually controls the previous loop.

16
00:01:37,230 --> 00:01:43,050
Here we have a statement for each loop iteration done optimized hardware structure is the lander of

17
00:01:43,050 --> 00:01:43,920
X or gaits.

18
00:01:44,100 --> 00:01:50,190
However, most Etchells tools optimized that automatically and generate the binary balance three structure

19
00:01:50,340 --> 00:01:51,810
explained in the previous lecture.

20
00:01:53,810 --> 00:01:59,690
This coat is our previous actualised description for the parity we generate by adding the honorable

21
00:01:59,690 --> 00:02:03,770
pragma to the Falchuk, we rather cellist's unrolled the code automatically.

22
00:02:04,520 --> 00:02:11,180
Fully unrolling the loop creates a copy of Luke Buddy in the article for each loop iteration so that

23
00:02:11,300 --> 00:02:13,520
the entire loop can be run concurrently.

24
00:02:14,070 --> 00:02:17,030
Unrolling allows all iterations to occur in parallel.

25
00:02:17,810 --> 00:02:22,160
Therefore, this code is synthesized into an optimized combination of circuit.

26
00:02:24,060 --> 00:02:31,650
By default, we find ourselves synthesisers a circuit for higher performance, however, adding optimization

27
00:02:32,220 --> 00:02:34,530
can change the sentence as optimization target.

28
00:02:37,760 --> 00:02:43,640
Few of these programs are explained in this course, and most of them that result in sequential circuits

29
00:02:43,790 --> 00:02:49,550
will be explained in a separate course called digital system design, with high level sentences in FPGA

30
00:02:49,670 --> 00:02:50,870
sequential circuits.

31
00:02:53,460 --> 00:02:58,920
Now that we understand the structure of the power to be generator, it is instructive if you develop

32
00:02:58,920 --> 00:03:02,400
our design involved and examine the generated hardware.

33
00:03:03,600 --> 00:03:06,030
This task would be the main concern of the next.

34
00:03:07,910 --> 00:03:13,580
This is our takeaway message and our old for loop representing the parity bit generator can be synthesized

35
00:03:13,580 --> 00:03:14,570
into a combination of.

36
00:03:17,210 --> 00:03:18,290
Now, the police question.

37
00:03:19,240 --> 00:03:29,110
If you assume the bits of data in the generator is 1024, that is W equal 1024, then what is the number

38
00:03:29,110 --> 00:03:31,660
of levels or depth of the final balance?

39
00:03:31,660 --> 00:03:36,040
Three Harmonix or Gaits make the final hardware design.
