1
00:00:01,300 --> 00:00:06,890
How financial is applied arithmetic operators on arbitrary precision data types in this lecture.

2
00:00:07,120 --> 00:00:11,800
I will explain how the US uses the operator overloading to perform this task.

3
00:00:13,230 --> 00:00:16,980
Operator overloading is a concept in software programming.

4
00:00:18,060 --> 00:00:25,020
The operator overloading adds a new implementation to an existing operator based on its argument types,

5
00:00:25,200 --> 00:00:31,830
the goal of that is using the same standard notation to apply coming operators on newly defined data

6
00:00:31,830 --> 00:00:32,340
types.

7
00:00:33,650 --> 00:00:40,070
Archila supports operator overloading for arbitrary precision data types, for example, dishcloth shows

8
00:00:40,070 --> 00:00:45,100
a declaration of three variables of 32 bit arbitrary precision integer data tree.

9
00:00:45,620 --> 00:00:50,060
Then we can use the assignment operator to set a value to each variable.

10
00:00:50,920 --> 00:00:56,620
In addition to normal multiplication, operator can be used to multiply two numbers of this type.

11
00:00:57,670 --> 00:01:03,280
Etchells also allows the overloaded operator except operands of different data types, for example,

12
00:01:03,310 --> 00:01:07,510
and arbitrary precision variable can be multiplied by an integer variable.

13
00:01:09,630 --> 00:01:15,750
The operator overloading helps us to change the variables that are easily and explore the designer space

14
00:01:15,750 --> 00:01:17,850
for more optimum hardware implementation.

15
00:01:20,240 --> 00:01:24,180
As an example, let's consider this function called Erith 32.

16
00:01:24,800 --> 00:01:33,080
It performs three basic operations on four of type in it and generates three results of type in each

17
00:01:33,080 --> 00:01:37,490
variable in this function requires 32 bit to represent a number.

18
00:01:38,410 --> 00:01:44,590
Now, let's assume a design in which all values can be represented by 20 bits, then we can change the

19
00:01:44,590 --> 00:01:45,250
variables.

20
00:01:45,250 --> 00:01:52,390
Data tie in our code from Mint to AP underscore in twenty, which is a 20 bit integer arbitrary precision

21
00:01:52,390 --> 00:01:56,200
data is still we can use the same code inside the function.

22
00:01:56,560 --> 00:01:58,720
Let's call the function Ariff 20.

23
00:02:00,230 --> 00:02:07,940
After synthesizing these two functions, these are parts of reports generated by Livaditis, as can

24
00:02:07,940 --> 00:02:13,970
be seen, the function with 20 data type is faster and consumes fewer of the resources.

25
00:02:15,010 --> 00:02:22,060
The propagation delay of the Artha is about eight point forty seven nanoseconds, whereas the one 420

26
00:02:22,240 --> 00:02:26,260
is five point eighty five, which is thirteen point nine percent faster.

27
00:02:26,680 --> 00:02:32,680
Comparing the hardware resource utilizations that are 30 to implementation requires to the Espy's and

28
00:02:32,680 --> 00:02:39,850
99 lookup tables within Earth 20 implementation needs to despise and 66 lookup tables, which saves

29
00:02:39,850 --> 00:02:43,090
about thirty three point three percent of the hardware resources.

30
00:02:44,710 --> 00:02:50,800
As you can see in the previous example, only by changing data types and keeping all the codes intact,

31
00:02:51,190 --> 00:02:53,820
we could improve the performance and resource utilization.

32
00:02:54,130 --> 00:03:00,430
Therefore, it is highly recommended to use a project to header fine, such as types that etch.

33
00:03:01,330 --> 00:03:06,400
This allows for the easy migration from standard sea types to arbitrary precision types.

34
00:03:06,520 --> 00:03:12,310
This coding Estyn also helps in refining the arbitrary precision types to find the optimal size for

35
00:03:12,310 --> 00:03:13,120
our designs.

36
00:03:16,190 --> 00:03:21,170
How can you describe an authentic expression in Etchells to be synthesized into a combination, also

37
00:03:22,400 --> 00:03:28,400
describing an arithmetic expression to be synthesized into a conventional circuit would be our primary

38
00:03:28,400 --> 00:03:29,750
concern in the next election.

39
00:03:31,950 --> 00:03:33,690
These are our takeaway messages.

40
00:03:35,500 --> 00:03:39,730
Archila supports operator overloading for arbitrary production data types.

41
00:03:41,070 --> 00:03:46,800
It is highly recommended to use a project wide header fine that includes a list of used data types in

42
00:03:46,800 --> 00:03:52,710
the code to facilitate the migration from standard sea types to arbitrary precision types on Weiser's.

43
00:03:55,430 --> 00:04:02,000
Now, the question compared the synthesis reports of the following Etchells code, considering two different

44
00:04:02,000 --> 00:04:06,290
data types and 23 integer arbitrary precision.
