1
00:00:00,060 --> 00:00:01,860
Collided with simulation is successful.

2
00:00:01,920 --> 00:00:05,870
Now we go ahead to a fight, we click on export export hardware.

3
00:00:06,150 --> 00:00:09,620
So this will be a bit of bitstream, right?

4
00:00:09,630 --> 00:00:12,810
So this allows us to program our FPGA for men, right?

5
00:00:12,810 --> 00:00:18,960
Is it right to boot using the same location where we have Vivaro project that is project onto school

6
00:00:18,960 --> 00:00:20,910
43 and click Finish, right?

7
00:00:21,180 --> 00:00:26,790
So once our export is successful, we will start launching.

8
00:00:26,960 --> 00:00:29,100
I decided to go to digital console.

9
00:00:29,130 --> 00:00:33,440
Now you will see successfully created in hardware platform, right?

10
00:00:34,370 --> 00:00:37,710
Then we go to Toulouse and then we launch of deciding.

11
00:00:39,320 --> 00:00:45,490
So here we will choose projects and the school, 43, which is the directory, we have all the really

12
00:00:45,620 --> 00:00:46,090
big files.

13
00:00:46,290 --> 00:00:51,890
So we go to a browse button and then we locate why this project?

14
00:00:52,430 --> 00:00:55,390
And then here you have project and this got right.

15
00:00:55,400 --> 00:00:58,740
So this will be the workspace for this ideology.

16
00:00:58,790 --> 00:01:05,450
So this gives us an flexibility where you could find out all the hardware and software files in a scene

17
00:01:05,460 --> 00:01:07,340
that right now we go ahead.

18
00:01:07,340 --> 00:01:10,010
And first step is to invoke an hardware project, right?

19
00:01:10,040 --> 00:01:11,870
So we click on create that one project.

20
00:01:12,230 --> 00:01:15,490
We'll just be naming this as Amil GPI.

21
00:01:15,620 --> 00:01:21,350
Right click next, and then we will be browsing our hybrid platform.

22
00:01:21,530 --> 00:01:22,760
So this is located in an.

23
00:01:24,390 --> 00:01:30,090
Why this project project and this of 43 and here you'll find an excessive file, so you just need to

24
00:01:30,090 --> 00:01:33,900
invoke it and then you'll need to click on finish button.

25
00:01:33,960 --> 00:01:34,190
Right.

26
00:01:34,200 --> 00:01:39,870
So this will automatically give and the itis an idea about our hard work black faith.

27
00:01:41,350 --> 00:01:46,590
So once our hardware platform is ready, the first thing that we do is to remove this out of reach two

28
00:01:46,600 --> 00:01:51,970
to three, so that can be done by pressing control the AI that will initiate the process of building

29
00:01:51,970 --> 00:01:52,570
a project.

30
00:01:54,160 --> 00:01:58,570
So when the bill is finished, just select your phone project, right click on it.

31
00:01:58,990 --> 00:02:03,190
OK, click on New and then you start creating an application project.

32
00:02:03,200 --> 00:02:09,880
Great, so please select an application project, click next and choose the theme platform project.

33
00:02:10,090 --> 00:02:15,490
So this also give us an idea that we could add a multiple track phone project, and depending on which

34
00:02:15,490 --> 00:02:21,190
platform project we wish to run our application, we get the provision to choose the specific Black

35
00:02:21,190 --> 00:02:26,410
One project here when we have a multiple black phone project been added into our project, right?

36
00:02:27,410 --> 00:02:30,380
Here we will be choosing the theme Black Project, click next.

37
00:02:31,160 --> 00:02:33,290
We'll just be naming the Zs Mill.

38
00:02:34,380 --> 00:02:40,770
GPIO and disgraced up, remember that you cannot give a same name to your application project as well

39
00:02:40,770 --> 00:02:42,080
as the black project, right?

40
00:02:42,420 --> 00:02:46,230
So we usually named our platform project lettuce as you project.

41
00:02:46,530 --> 00:02:50,810
And then the application project, the Niemi provided project time to school dressed up.

42
00:02:51,060 --> 00:02:58,620
So this is the strategy that we often follow to name our application project and the platform project.

43
00:02:58,830 --> 00:03:06,810
So once this is your click next and we will be using stand alone on the S7 Cortex-A9 on this busy right.

44
00:03:06,810 --> 00:03:12,750
So once this is ready, we will be now using an halloway template.

45
00:03:12,960 --> 00:03:13,800
So this give us an.

46
00:03:14,910 --> 00:03:18,600
A list of any which could be used to interact with.

47
00:03:19,140 --> 00:03:20,070
You are right.

48
00:03:20,460 --> 00:03:25,010
So let me just go to a small step and here you have had the weight of cigarettes.

49
00:03:25,080 --> 00:03:29,870
This consists of our main application, which will be executed on an FPGA, right?

50
00:03:31,740 --> 00:03:35,520
So if you need to change the form, say the process is very simple, right?

51
00:03:35,550 --> 00:03:38,070
So just right click on this window, right?

52
00:03:38,080 --> 00:03:44,360
So this is our study, right click on it, choose a preference and then you see a direct link to a text

53
00:03:44,370 --> 00:03:45,630
ready to right click on it.

54
00:03:46,110 --> 00:03:51,790
And then you have color forms go in there and this automatically decodes to text one.

55
00:03:52,020 --> 00:03:57,480
So you just click on an edit button to decide that you want to just choose a 14 click.

56
00:03:57,480 --> 00:03:58,680
OK, apply, apply.

57
00:03:59,280 --> 00:04:01,440
So now we start building, right?

58
00:04:01,590 --> 00:04:04,710
So you'll be finding there are multiple files over here.

59
00:04:04,710 --> 00:04:10,130
Then we create a new while when we open up the new application project if you go to an image.

60
00:04:10,950 --> 00:04:14,760
OK, so this stop of board support package, so you just need to go in there.

61
00:04:15,000 --> 00:04:22,200
So if you just go to a board support package, right, so we have added an image direct, so you'll

62
00:04:22,200 --> 00:04:25,950
be finding the driver information over here.

63
00:04:26,110 --> 00:04:30,170
So if you go over here, you could find out that we get GPIO.

64
00:04:30,900 --> 00:04:36,140
So this is the recommended trailer for V7 GPIO page, right?

65
00:04:36,150 --> 00:04:44,940
So we are utilizing a GPO paper, so we just need to include this library to get an access to the function,

66
00:04:44,940 --> 00:04:48,120
which could be used to work with an GPI, right?

67
00:04:48,130 --> 00:04:53,280
So we go ahead and we include this driver file, right?

68
00:04:53,280 --> 00:04:54,270
So hashing to you.

69
00:04:55,080 --> 00:04:58,710
Then we add GP, I'll be s right.

70
00:04:58,720 --> 00:05:01,880
So this is the driver name which is mentioning that VSP file.

71
00:05:01,960 --> 00:05:07,080
So Xilinx follow a specific terminology that is the name that is mentioned.

72
00:05:07,080 --> 00:05:07,500
We're here.

73
00:05:07,500 --> 00:05:09,540
You just need to add the X-ray.

74
00:05:09,840 --> 00:05:11,730
So we go ahead and add to the X-ray.

75
00:05:11,730 --> 00:05:13,530
So you have x GPI.

76
00:05:13,630 --> 00:05:13,980
Yes.

77
00:05:14,710 --> 00:05:19,620
So this will be the driver file, which consists of all the functions which could be used to work with

78
00:05:19,620 --> 00:05:25,530
and GPI, when more important driver that we're required is the driver containing and hide hardware

79
00:05:25,530 --> 00:05:26,330
information, right?

80
00:05:26,380 --> 00:05:33,420
And this is X parameters daughter Rachel R2.8, you will be required in almost all the project.

81
00:05:33,540 --> 00:05:37,440
OK, wherever you require to get an access to any hardware information.

82
00:05:37,950 --> 00:05:45,060
So once this driver at first we explore the GPI driver, so just click on entry to explore the content

83
00:05:45,060 --> 00:05:46,440
of each episode driver.

84
00:05:46,710 --> 00:05:47,790
Now if you go in there.

85
00:05:49,270 --> 00:05:54,490
OK, so you have certain hand right now, we already know how we utilize the tribal right.

86
00:05:54,850 --> 00:05:58,510
So here we have a GPIO one fixed structure then.

87
00:06:00,540 --> 00:06:06,340
You have an instant structure, right, so we follow the same process as discussing the point of the

88
00:06:06,510 --> 00:06:09,370
so first we copy this config structure.

89
00:06:09,390 --> 00:06:13,050
We go ahead and we create the pointer of it.

90
00:06:13,050 --> 00:06:13,290
Great.

91
00:06:13,290 --> 00:06:16,950
So let me emphasize GPIO can correct.

92
00:06:16,960 --> 00:06:20,000
So this is the first thing that we require to initialize are predicated.

93
00:06:20,310 --> 00:06:22,890
The next thing that it requires is an instance structure.

94
00:06:22,890 --> 00:06:27,790
So we just copy the instance that chirpy studio here and let me just name just as GPI, right?

95
00:06:27,810 --> 00:06:30,300
So these are the two magnitude thing that they require.

96
00:06:30,550 --> 00:06:32,940
Next, we declare one function, right?

97
00:06:32,950 --> 00:06:34,590
So that hasn't written anything.

98
00:06:34,800 --> 00:06:37,530
And this could be used to initialize our GPI, right?

99
00:06:37,530 --> 00:06:45,030
So we just need this as Tupaea right, and will be adding all the space that could be used to initialize

100
00:06:45,030 --> 00:06:45,930
up everything, right?

101
00:06:46,230 --> 00:06:52,170
So if you go to the GPI driver, right, so you could find out to see if you initialize function, right?

102
00:06:54,400 --> 00:06:56,320
And you also have a look of confusion.

103
00:06:56,710 --> 00:06:58,690
So first, we'll just call look up conflict.

104
00:06:58,690 --> 00:07:04,270
So this help us to need the concrete structure, which will be utilizing it in see if she initialize

105
00:07:04,270 --> 00:07:05,650
to initialize our framework.

106
00:07:05,860 --> 00:07:12,040
So if you analyze the look of config, it just required a device to device IDs and hide that information.

107
00:07:12,040 --> 00:07:18,100
So that could be found out from an experimental coordinates right the GPIO config, OK, and this will

108
00:07:18,100 --> 00:07:19,900
be close to the lookup config.

109
00:07:20,380 --> 00:07:26,260
And here we need to parse the device I.D. So you just need to go to an X parameter file and look for

110
00:07:26,290 --> 00:07:27,330
GPI, right?

111
00:07:27,340 --> 00:07:30,400
So if you just search for a GPIO, you could find out.

112
00:07:30,550 --> 00:07:36,030
It takes us to the line number where we have all the data related to what GPL.

113
00:07:36,070 --> 00:07:41,770
So we just need to copy the device and we need to add this as an argument to our lookup config function.

114
00:07:42,040 --> 00:07:43,150
So this is the step one.

115
00:07:43,540 --> 00:07:49,610
So this will give us a conflict structure and that could be utilized along with an instance structuring

116
00:07:49,630 --> 00:07:52,210
of each address OK to initialize out Typekit.

117
00:07:52,210 --> 00:07:54,540
So we'll call the initialize.

118
00:07:54,550 --> 00:07:56,710
We go ahead, OK?

119
00:07:57,040 --> 00:08:01,150
And then first argument I did have is an instance structure.

120
00:08:01,420 --> 00:08:06,230
Then we have a config structure and in the set right, so we add an instance searcher.

121
00:08:06,250 --> 00:08:12,730
Again, remember that instance structure here it required a pointer, right?

122
00:08:12,730 --> 00:08:14,500
But we haven't declared it to be a point.

123
00:08:14,680 --> 00:08:17,060
So you just need to pass an address of that structure.

124
00:08:17,320 --> 00:08:22,900
So ampersand GPI, this is how we will be working with an instance structure in almost all the code

125
00:08:23,590 --> 00:08:29,500
and config structured servers declare is a pointer, so we just need to GPIO config, right?

126
00:08:29,800 --> 00:08:34,210
The last thing is a v, etc. So config structure itself consists of a visitor, so you just need to

127
00:08:34,210 --> 00:08:35,560
use GPA of conflict.

128
00:08:35,890 --> 00:08:40,810
OK, then we will be accessing the base interest rate.

129
00:08:40,810 --> 00:08:43,890
So this is how you get access to the etc..

130
00:08:43,900 --> 00:08:46,660
So once this is specified, OK, they do exist.

131
00:08:46,660 --> 00:08:48,160
Another way to get a visa address.

132
00:08:48,160 --> 00:08:53,290
If we go to an X parameter topic and to AGP, IOW could find out there will be set rates.

133
00:08:53,290 --> 00:08:57,800
So this we said this could also be utilized as a third argument to the June issue.

134
00:08:57,970 --> 00:08:58,180
Right.

135
00:08:58,510 --> 00:09:03,280
And if you follow the explosive June issue like this basically written, so if you just explore the

136
00:09:03,280 --> 00:09:04,780
functionality of it, right?

137
00:09:05,050 --> 00:09:10,270
So this in the asked, So did you write and ask that you do basically represent the state itself by

138
00:09:10,280 --> 00:09:11,050
initialization?

139
00:09:11,050 --> 00:09:17,520
So if this is existing sets, then our initialization is successful and initialization free, right?

140
00:09:17,560 --> 00:09:18,130
That is what.

141
00:09:19,770 --> 00:09:26,920
Internet radio exists, so sex is basically is a value of zero 10 zero I initialization is successful

142
00:09:26,940 --> 00:09:32,550
as our initialization is right to what we're going to do here is we declared one variable, but let

143
00:09:32,580 --> 00:09:34,680
it just name the said status right?

144
00:09:34,920 --> 00:09:39,070
And that will be storing the value that has been written by C of June-July.

145
00:09:39,090 --> 00:09:39,360
Correct?

146
00:09:39,360 --> 00:09:46,330
And then we verify whether its status is equal to existing success.

147
00:09:47,700 --> 00:09:49,350
That is the case we'll just use.

148
00:09:51,530 --> 00:09:52,300
Tell have.

149
00:09:53,430 --> 00:09:56,160
OK, and we mentioned GPIO in it.

150
00:09:57,560 --> 00:10:04,940
Success rate, again, we will be adding a new line, correct rail and would just mention the printer.

151
00:10:06,230 --> 00:10:06,580
OK.

152
00:10:06,710 --> 00:10:10,520
Do you elect three?

153
00:10:10,910 --> 00:10:11,210
Right?

154
00:10:11,450 --> 00:10:16,070
So this is how you perform an initialization of anybody set it right.

155
00:10:16,070 --> 00:10:18,370
So we just go to a driver there.

156
00:10:18,410 --> 00:10:19,120
We find out.

157
00:10:19,150 --> 00:10:21,560
Look at whether we have a presence of a local up.

158
00:10:21,930 --> 00:10:27,230
So if you look up, one fig is president and CEO of G Initializes Present of US, which ended the conflict

159
00:10:27,230 --> 00:10:30,080
structure by passing a device IED to a local conflict.

160
00:10:30,350 --> 00:10:35,690
And then we use the config structure along with an instance structure on a base edits to initialize

161
00:10:35,690 --> 00:10:37,670
alphabetically to once initialization.

162
00:10:38,450 --> 00:10:41,480
We go to a mean program now here you have an init platform.

163
00:10:41,680 --> 00:10:48,070
In that moment, being the platform provides the function, which allows us to work with N, C and D

164
00:10:48,080 --> 00:10:49,130
to write or C tokens.

165
00:10:49,130 --> 00:10:54,920
So it will be keeping that OK and then we will be calling this function in our main application.

166
00:10:55,110 --> 00:10:58,110
So this will flow from initialization of our GPI.

167
00:10:58,630 --> 00:11:03,290
Now we will be find out the EPA is that I dare to.

168
00:11:04,330 --> 00:11:11,250
Set the direction for output and to send a detective great, say if you go to again the GPIO tribe,

169
00:11:11,300 --> 00:11:16,490
right, so you have EPIs that could be used to interact with an entire bank.

170
00:11:16,530 --> 00:11:19,680
OK, but instead of an entire bank, we want to interact with the pin.

171
00:11:20,010 --> 00:11:23,200
We know that Ben seven is where we have our reality, right?

172
00:11:23,450 --> 00:11:27,820
So we also have a pin API to allow us to interact with our pins, right?

173
00:11:28,270 --> 00:11:31,240
So we have set the direction right to.

174
00:11:31,240 --> 00:11:36,520
This could be used to set up the direction if you explored the functionality by flipping by clicking

175
00:11:36,520 --> 00:11:37,000
F3.

176
00:11:37,420 --> 00:11:42,890
OK, so this set the direction of the specified BEN.

177
00:11:43,180 --> 00:11:46,090
It does require an instance pointer as our first argument.

178
00:11:46,360 --> 00:11:50,120
Then Ben is the pin number to which the data is to be read and write.

179
00:11:50,120 --> 00:11:54,190
So we want to write the data where we have it and that is on pin number seven.

180
00:11:54,490 --> 00:11:56,770
Wickets of second argument will be the pin number.

181
00:11:57,010 --> 00:12:02,860
And third will be a direction right to zero for input direction and one for and output direction.

182
00:12:03,040 --> 00:12:04,390
So we'll just be copying this.

183
00:12:04,870 --> 00:12:08,440
We go back to an, I mean application right now.

184
00:12:08,440 --> 00:12:09,610
We will be calling.

185
00:12:09,610 --> 00:12:12,650
This first argument is an instance structure.

186
00:12:12,730 --> 00:12:14,010
So its structure is.

187
00:12:14,620 --> 00:12:19,930
Again, if you can see almost all the EPA's will require a pointer to an instant structure.

188
00:12:19,930 --> 00:12:25,960
So whenever you specify an instance structure, you need to mandatorily added ampersand, right?

189
00:12:25,970 --> 00:12:28,570
Typekit Ampersand GPO pin number seven.

190
00:12:28,600 --> 00:12:33,580
OK, and then the redirection we want to set is an output rate, so that leads and output will just

191
00:12:33,580 --> 00:12:34,210
be writing one.

192
00:12:34,870 --> 00:12:39,480
Now let's write an application that will allow us to see a blinking effect on another year.

193
00:12:39,500 --> 00:12:42,070
So we want to continuously see a blinking effect.

194
00:12:42,070 --> 00:12:46,360
So we'll just be calling awhile one and then we want to write the reader.

195
00:12:46,370 --> 00:12:48,680
So first, let's write a one two analogy.

196
00:12:49,300 --> 00:12:52,480
So to do that, we do have a function, right?

197
00:12:52,750 --> 00:12:56,550
So we have a function to read the pin value and write up invalid, right?

198
00:12:56,560 --> 00:13:00,790
So here you could specify dates and structure again, up in number and the redirect.

199
00:13:00,790 --> 00:13:03,040
We want to write that we just copy this.

200
00:13:03,580 --> 00:13:05,830
We go back to our main application.

201
00:13:06,820 --> 00:13:07,180
OK.

202
00:13:07,420 --> 00:13:12,580
First is an instance structure, so I am placing UPI open number seven and the data that we want to

203
00:13:12,580 --> 00:13:13,500
write is right.

204
00:13:13,870 --> 00:13:15,400
Then we will be waiting for.

205
00:13:16,420 --> 00:13:17,530
A delay of one second.

206
00:13:17,590 --> 00:13:21,280
So two hour delay, we have a sleep, OK, so this provides the delay.

207
00:13:21,280 --> 00:13:27,160
In second, whatever argument that you specify will be the delay that has been provided by the sleep

208
00:13:27,160 --> 00:13:27,510
function.

209
00:13:27,520 --> 00:13:30,910
So here argument is one that this will provide the delay of one second.

210
00:13:30,980 --> 00:13:31,250
Right.

211
00:13:31,270 --> 00:13:34,240
Then we again call the siem rape and function.

212
00:13:34,570 --> 00:13:34,930
OK.

213
00:13:35,080 --> 00:13:41,920
But this time we will be writing is so it will be turned on for us one nanosecond and then we will be

214
00:13:41,920 --> 00:13:43,720
keeping it off for one nanosecond.

215
00:13:43,750 --> 00:13:46,310
Right this way, we will be getting a blinking effect.

216
00:13:46,330 --> 00:13:48,610
So again, we need to add a delay of one second.

217
00:13:48,880 --> 00:13:51,260
So this completes and Typekit race.

218
00:13:51,270 --> 00:13:51,580
So what?

219
00:13:52,180 --> 00:13:54,700
Why we referred this as a simple benefit, Alice.

220
00:13:54,850 --> 00:13:56,920
So we just need to perform an initialization.

221
00:13:57,250 --> 00:14:00,920
Second, the detailed addiction and we are ready to send the reader to a briefing.

222
00:14:00,940 --> 00:14:04,800
But when we considered an intermediate and a complex benefit, it's a day.

223
00:14:04,840 --> 00:14:12,400
We also need to set up the differing frequency ranges, different clock ranges and then the wider range,

224
00:14:12,400 --> 00:14:16,240
the mood up on operation and then only be able to write a redirect.

225
00:14:16,240 --> 00:14:23,140
So usually when we consider a very, very large complex, so you'll need to do three to four configuration

226
00:14:23,140 --> 00:14:24,520
before you actually saying that.

227
00:14:24,790 --> 00:14:30,190
But when we consider a simple paper, do you just need to set up the dedication and you are ready to

228
00:14:30,430 --> 00:14:30,700
write?

229
00:14:31,600 --> 00:14:35,050
So this is how you work with an API, right?

230
00:14:35,060 --> 00:14:37,030
So here we performed an initialization.

231
00:14:37,270 --> 00:14:40,570
We are also verifying whether initialization is successful or not.

232
00:14:40,840 --> 00:14:41,110
Right?

233
00:14:41,320 --> 00:14:47,560
Then we set up the direction and we finally are writing a detailed so we are writing one for one second

234
00:14:47,800 --> 00:14:49,520
and then zero for one second.

235
00:14:49,570 --> 00:14:49,810
Right.

236
00:14:50,020 --> 00:14:53,260
So let's just go ahead and first build up project, right?

237
00:14:53,280 --> 00:14:54,170
So to build the project?

238
00:14:54,190 --> 00:14:55,210
Just press control.

239
00:14:55,630 --> 00:15:01,000
This will automatically see a project, build an entire project and generate an LFA, which will be

240
00:15:01,870 --> 00:15:04,090
finally executing on next page.

241
00:15:04,750 --> 00:15:06,100
So once bliss finish.

242
00:15:07,060 --> 00:15:07,420
OK.

243
00:15:09,690 --> 00:15:17,740
We select our application logic, right click OK, and then we have an option debug launch on hard,

244
00:15:17,880 --> 00:15:18,170
right?

245
00:15:18,460 --> 00:15:21,090
But this will automatically program our FPGA.

246
00:15:21,300 --> 00:15:26,550
OK, so before you proceed to performing a debugging, you need to make sure that you have connected

247
00:15:26,550 --> 00:15:27,390
your FPGA.

248
00:15:28,530 --> 00:15:33,030
To the right to once programming is sexist, you will automatically see pointer way here, right?

249
00:15:33,360 --> 00:15:37,140
We know will connect the serial terminal that we have over here, right?

250
00:15:37,200 --> 00:15:40,410
So we are utilizing and you are very fitted, right.

251
00:15:40,410 --> 00:15:44,160
So we already know that it is operating at one one five two zero zero.

252
00:15:44,740 --> 00:15:47,490
So we go to a serial terminal, click on this plus button.

253
00:15:47,940 --> 00:15:53,930
OK, so the board rate at which we are operating is one one five two zero zero, then we will be using.

254
00:15:54,500 --> 00:15:54,680
Right.

255
00:15:54,690 --> 00:15:58,080
So once this is done, you will be getting this disconnected on foot.

256
00:15:58,540 --> 00:16:01,770
Then we just need to click on this resume button.

257
00:16:02,100 --> 00:16:06,410
So once you click on this resume button, you could see the status as UPI.

258
00:16:06,900 --> 00:16:08,070
And it is successful.

259
00:16:08,760 --> 00:16:14,970
So if you observe the world, you could actually see the blinking effect on the mirror that is pressing

260
00:16:14,970 --> 00:16:15,180
on.
