1
00:00:01,900 --> 00:00:09,130
How can we design an uptown four digit counter with lower than initial value in this lecture will design

2
00:00:09,130 --> 00:00:09,430
such a.

3
00:00:11,780 --> 00:00:15,980
Ardizzone counter has four outputs representing four digits.

4
00:00:17,040 --> 00:00:20,910
It counts from zero to nine thousand nine hundred and ninety nine.

5
00:00:21,390 --> 00:00:30,450
It has two inputs to determine the Counting Direxion account, and it also accept an integer value between

6
00:00:30,450 --> 00:00:34,620
zero to nine thousand nine hundred and ninety nine to initialize the count.

7
00:00:35,980 --> 00:00:42,730
To perform the initialization, we need a one bit input signal called load the counter counts in both

8
00:00:42,730 --> 00:00:43,480
directions.

9
00:00:47,000 --> 00:00:52,850
In this lecture, we described this four digit counter in Atlas, however, to make it operational.

10
00:00:52,880 --> 00:00:56,750
We need a few other IPIS to be integrated into every Wilander project.

11
00:00:57,470 --> 00:01:01,460
We need a certain segment driver that was designed in previous lectures.

12
00:01:02,690 --> 00:01:08,780
We will uSwitch, the bouncer and pulse generator IPIS to connect the up, count down count and load

13
00:01:08,780 --> 00:01:11,260
inputs to push buttons on the basis through both.

14
00:01:12,120 --> 00:01:17,760
When you press the push button, the pulse generator, it generates a single cycle pulse to drive the

15
00:01:17,760 --> 00:01:19,410
corresponding counter input.

16
00:01:20,870 --> 00:01:23,540
Let's design the counter inviter such as?

17
00:01:25,670 --> 00:01:31,160
Create a new white essentialist project with the name of four unrestored digit underscore countered

18
00:01:31,160 --> 00:01:31,970
that she wanted such.

19
00:01:51,010 --> 00:01:54,400
Then create new design and test bench files, as usual.

20
00:01:58,310 --> 00:02:01,850
Open the design, Heather Fine, and include the AP underscore in that.

21
00:02:05,660 --> 00:02:11,360
Openly design source for it, include the design header for it, then define the design top function

22
00:02:11,360 --> 00:02:19,370
with eight arguments for inputs and four hours as only 14 bits represent a number between zero to nine

23
00:02:19,370 --> 00:02:25,180
thousand nine hundred and ninety nine, the counter value variable has fourteen bits.

24
00:02:26,860 --> 00:02:34,000
And the port interfaces also make the design pipeline we need to register to save the counter value.

25
00:02:34,180 --> 00:02:38,550
Also, we need a temporary variable corresponding to the defined register.

26
00:02:39,420 --> 00:02:45,930
Now we can check the load signal, if it is one, we can initialize the counter, then we check the

27
00:02:45,930 --> 00:02:52,320
account signal and if it's one Winkelmann the count to come down here, we should check that down on

28
00:02:52,320 --> 00:02:52,680
the score.

29
00:02:52,680 --> 00:02:58,890
Countering after performing the count main tasks, we should extract the four decimal digits.

30
00:03:02,860 --> 00:03:09,430
Finally, we should modify the counter register, please note that as a design is simple, we don't

31
00:03:09,430 --> 00:03:11,610
need to implement any stage.

32
00:03:18,390 --> 00:03:23,910
Now, open the test bench for include design Heather Fine and another design top function prototype

33
00:03:24,630 --> 00:03:29,850
opened the test by Sourcefire, include the test bench Heather and I assume Feis right.

34
00:03:29,850 --> 00:03:32,070
The main function and defined is not swayable.

35
00:03:32,790 --> 00:03:35,970
Define a set of variables, represent the design arguments.

36
00:03:36,240 --> 00:03:42,300
Now call the design with zeroes onload uptown and downtown signals.

37
00:03:42,840 --> 00:03:48,630
We can generate a set of single cycle pulses on the upcoming put in a nested look while calling the

38
00:03:48,630 --> 00:03:49,110
design.

39
00:03:57,370 --> 00:03:59,290
Now let's perform the simulation.

40
00:04:00,900 --> 00:04:03,870
The output confirms the correctness of their description.

41
00:04:10,820 --> 00:04:12,740
Let's perform the high level syntheses.

42
00:04:15,720 --> 00:04:21,030
Often the analysis perspective noticed that the design is pipelined with the initiation interval of

43
00:04:21,030 --> 00:04:24,180
one, although it's latency is about 17 cycles.

44
00:04:25,320 --> 00:04:30,450
As initiation in turmoil is one, the design can accept inputs on every clock cycle.

45
00:04:36,880 --> 00:04:43,500
After performing the RTL Sea Coast simulation, we can analyze the design waveforms in Rebadow waveform

46
00:04:43,500 --> 00:04:43,840
formatted.

47
00:04:54,700 --> 00:04:59,710
As can be seen, a single cycle on the up count, input increments, the count.

48
00:05:08,320 --> 00:05:11,890
Now we can export the IP to be used in every one of the projects.

49
00:05:19,850 --> 00:05:25,130
Corradini will be one of the project with the name of four underscored Daejeon, underscore counter

50
00:05:25,150 --> 00:05:29,330
that SHIRADO choose the Basis three report as a target FPGA platform.

51
00:05:46,400 --> 00:05:47,720
Create a new blog design.

52
00:05:59,630 --> 00:06:06,830
At five trips to devote vital repository, as shown here, you can find for IPIS in the resources folder

53
00:06:06,830 --> 00:06:07,730
attached to this lecture.

54
00:06:28,440 --> 00:06:31,130
The four digit counter IP into the design area.

55
00:06:38,650 --> 00:06:42,850
Then at the certain segment, Roger Ipis and connect them to the counter IP.

56
00:07:55,990 --> 00:08:03,000
Then the bouncer and pulse generator office and connect them to load up, count and down counting place,

57
00:08:04,090 --> 00:08:06,670
you can change the external port names if you wish.

58
00:10:00,710 --> 00:10:05,930
Now, download the Constantine file attached to this lecture and add that to the blogger project.

59
00:11:09,280 --> 00:11:11,910
Now, synthesizer designed and programmed aboard.

60
00:11:50,430 --> 00:11:55,860
As this video is the last lecture in the section that explains the designing techniques to work with

61
00:11:55,860 --> 00:12:02,130
seven segments, the next lecture will give you a few exercises to practice and master what you've learned

62
00:12:02,130 --> 00:12:03,210
throughout this section.

63
00:12:05,170 --> 00:12:11,350
This is our takeaway message applying the pipeline optimization to a circuit can improve its performance,

64
00:12:11,350 --> 00:12:12,940
even if it's latencies hard.

65
00:12:15,450 --> 00:12:20,940
Now, the police question, what would happen if we remove the pragma natural gas pipeline from the

66
00:12:20,940 --> 00:12:21,240
Cote?
