1
00:00:00,940 --> 00:00:08,320
Exelis consensuses, basic arithmetic operators into the conventional circuit without any extra work

2
00:00:08,320 --> 00:00:15,460
from designers compared with designing the same circuit, an article that requires lots of efforts which

3
00:00:15,460 --> 00:00:16,640
makes that tedious.

4
00:00:17,040 --> 00:00:24,430
Now, the question motivated this lecture is how does a naturalist toolset synthesize arithmetic operations

5
00:00:24,550 --> 00:00:26,260
on native sea data types?

6
00:00:28,580 --> 00:00:36,590
The five common arithmetic operators on integer values available in Etchells are addition, subtraction,

7
00:00:36,890 --> 00:00:40,250
multiplication, division and modulus.

8
00:00:40,250 --> 00:00:48,260
Or reminder, these basic operators can be applied on all c C++ native data types, also on arbitrary

9
00:00:48,260 --> 00:00:50,840
precision data types available in this.

10
00:00:51,770 --> 00:00:56,150
Notice that C based native data types are all on eight boundaries.

11
00:00:56,330 --> 00:01:00,320
Therefore, Operator Accuracy's are constrained by these boundaries.

12
00:01:01,600 --> 00:01:08,650
All variables involved in an athletic operation can be of the same type, such as this example, or

13
00:01:08,650 --> 00:01:14,380
they can be declared using different data types, such as the second example that utilizes three data

14
00:01:14,380 --> 00:01:21,460
types, including in shorthand car specialist tools, implement these operations using automatic typecasting.

15
00:01:22,810 --> 00:01:26,920
Throughout this section, I will talk about the typecasting in Etchells.

16
00:01:28,250 --> 00:01:33,770
In this course, we expect that the combination of circuit implements and arithmetic operation on any

17
00:01:33,770 --> 00:01:34,310
data type.

18
00:01:35,210 --> 00:01:41,170
Therefore, let's have a quick look at the operations that can potentially be synthesized into combination

19
00:01:41,180 --> 00:01:41,810
all circuits.

20
00:01:42,950 --> 00:01:49,520
Generally, there are two types of arithmetic operators in regard to this combination of oil and pipeline.

21
00:01:52,270 --> 00:01:59,680
The pipeline implementation uses a set of memory cells called flipflops to split the corresponding operation

22
00:01:59,830 --> 00:02:02,920
with the long propagation delay into a few steps.

23
00:02:04,170 --> 00:02:09,040
This technique is one of the main methodologies to increase design throughput.

24
00:02:09,240 --> 00:02:14,990
I will explain the whole idea behind the pipeline circuits and their design methodologies in Escalus

25
00:02:15,120 --> 00:02:21,930
in a separate course called digital system design, with high level sentences in FPGA sequential circuits.

26
00:02:23,190 --> 00:02:29,320
There are two main constraints involved in choosing either the combination or pipelined implementation.

27
00:02:30,120 --> 00:02:32,230
The first constraint is the timing.

28
00:02:32,850 --> 00:02:37,500
There is a clock frequency constraint assigned to each design in revalidation.

29
00:02:38,400 --> 00:02:44,090
If the propagation delay of an addition, subtraction or multiplication is less than the clock period,

30
00:02:44,370 --> 00:02:48,350
then it will be synthesized into a combination or circuit by default.

31
00:02:48,870 --> 00:02:52,430
Otherwise it is synthesized into the pipelined implementation.

32
00:02:54,320 --> 00:03:00,350
Using a proper resource constraint is the second technique to choose between the combination of pipelined

33
00:03:00,350 --> 00:03:01,280
implementations.

34
00:03:02,090 --> 00:03:04,420
I will talk about this technique later in the session.

35
00:03:06,690 --> 00:03:13,200
Lookup tables and Espy's are the two main Hardwell resources available on the FPGA that can be used

36
00:03:13,200 --> 00:03:15,750
to implement integer arithmetic operations.

37
00:03:17,950 --> 00:03:23,710
As we already know, lookup tables are the basic resources inside an FPGA to implement a combination

38
00:03:23,710 --> 00:03:24,160
of logic.

39
00:03:24,160 --> 00:03:31,810
Cirque de Aspies are the most complex blocks available in Xilinx of PGD, the embedded DSP blocks in

40
00:03:31,810 --> 00:03:36,460
modern FPGA and high performance arithmetic computation to the FPGA.

41
00:03:36,490 --> 00:03:42,910
In order to compete with async designs, they contain a few highly efficient arithmetic hardware blocks

42
00:03:43,120 --> 00:03:46,420
that can be configured to implement a complex arithmetic expression.

43
00:03:48,430 --> 00:03:54,070
Before explaining how to use different types of resources to implement an athletic operation in Etchells,

44
00:03:54,340 --> 00:03:57,420
I should explain another key concept which is overloading.

45
00:03:58,030 --> 00:04:01,450
Therefore, the next lecture will explain this concept initialised.

46
00:04:04,250 --> 00:04:09,920
These are our takeaway messages that journalists will automatically synthesize arithmetic operations

47
00:04:09,920 --> 00:04:16,970
on the native sea data types combination, all circuits can implement an automatic expression, lookup

48
00:04:16,970 --> 00:04:20,450
tables or DSP can implement arithmetic operations.

49
00:04:23,040 --> 00:04:29,550
Now, the queen of this lecture, right, a simple HLC function that receives 264, 64 bit integer values

50
00:04:29,910 --> 00:04:31,680
and returns their multiplication.
