WEBVTT

00:01.490 --> 00:05.780
Welcome to live classics the final lab of course the multiplier.

00:05.930 --> 00:09.950
Now at this time you guys are probably pros and I only need to go through describing the shows even

00:10.070 --> 00:12.000
if you probably already have it working on your board.

00:12.140 --> 00:16.320
However I will still go through and show you my version of the multiplier.

00:16.330 --> 00:22.850
Now about you guys but this is a lot of fun for me so I hope that maybe someday we could another course.

00:22.850 --> 00:25.480
I hope you guys go out and start teaching courses of your own.

00:25.640 --> 00:30.200
I don't know that I could VHDL for days if you're really bored let's go.

00:30.200 --> 00:30.550
All right.

00:30.550 --> 00:31.510
Here it is.

00:31.570 --> 00:32.760
Laughs 6.

00:32.810 --> 00:40.170
The final lab multiplier running on bases to board and from the file I gave you.

00:40.310 --> 00:47.480
He will have input 1 and input 2 which are indicated by these by Ace which is divided.

00:47.480 --> 00:53.290
Here is the first four on the right and one second for our input two.

00:53.290 --> 00:59.540
However it doesn't matter because we're multiplying and as you know you must play by the time they get

00:59.540 --> 01:08.190
the same result and the product is all one the occasion is indicated by these eight ladies here.

01:08.390 --> 01:14.600
And then we got this button right here starter which indicates for us to go and do multiplication and

01:14.690 --> 01:17.190
reset here on the far right.

01:17.780 --> 01:22.230
So I'm I going to give you a quick penetration how this should look run on your board.

01:22.400 --> 01:26.800
So for example here right now I've got all zeroes which is zero.

01:26.840 --> 01:28.370
So I should get a 0.

01:28.370 --> 01:31.130
Now what I'm going to get in one.

01:31.370 --> 01:36.080
However my input 2 is still zero one time zero should still be zero.

01:37.010 --> 01:40.710
Which is as we see there now input 2.

01:40.820 --> 01:42.940
I'm going to go ahead and make that one.

01:43.640 --> 01:49.280
And we should see a single Elodie light up right there which is a binary indication of the number one

01:50.570 --> 01:51.420
and we do.

01:51.680 --> 01:54.020
And suffice it to say again it's the same thing.

01:54.110 --> 01:59.060
I can toggle that down which is now zero times when we get to zero.

01:59.060 --> 02:00.550
However if I start it up again.

02:00.590 --> 02:07.490
Give us one our reset is used to clear that so I can go ahead hit the reset button and instantly clear

02:07.490 --> 02:08.090
is that.

02:08.190 --> 02:15.950
Now does the difference between this reset and the resets and the other lapse is that this reset isn't

02:16.040 --> 02:20.280
indicated in the clock process.

02:20.480 --> 02:23.510
We aren't manually inflame the thought process.

02:23.510 --> 02:25.640
The clock is running at 50 megahertz.

02:25.700 --> 02:31.520
So as soon as I hit that it instantly picks it up and knows that OK this is very sad.

02:31.520 --> 02:37.690
So you go through you can do different variations and I'll do two.

02:37.730 --> 02:46.820
Two times one is me evaluate two or two three times one is you guys three sorry three times three which

02:46.910 --> 02:54.660
gives you a value of nine which you see there are binary 1 0 0 1 which is the binary value of 9.

02:54.980 --> 03:02.860
So you can go through it and you can do all of these here and I'll still solve your situation which

03:02.860 --> 03:04.850
is I don't even know what that is on me.

03:04.930 --> 03:05.810
But that's a big number.

03:05.810 --> 03:06.780
So you can go ahead.

03:06.920 --> 03:08.410
This calculator out and test it.

03:08.420 --> 03:13.640
And if the values are multiplying against each other or showing up there in binary you're getting correct

03:13.640 --> 03:16.550
results then your life is working correctly.

03:16.610 --> 03:25.810
And the reason we do this is because FPGA is by nature really are not designed for for most application

03:26.490 --> 03:35.270
that's easy on the bases to board only has four dedicated multipliers and there are 18 bits wide.

03:35.270 --> 03:42.160
So if you have an algorithm you want to run where you've got 20 bets you multiply by 20 bets.

03:42.350 --> 03:48.320
You can't really do that unless you know how to do this type of multiplication which seems a lot more

03:48.320 --> 03:54.170
complicated but because you just keep shifting and adding and shifting and adding But you know we can

03:54.320 --> 03:57.140
based on our generic beer which we set up for.

03:57.170 --> 03:59.180
That's just because we have a mess here.

03:59.360 --> 04:04.970
But you could theoretically set that to 32 and you have a 32 by 32 bit at or you just have to find a

04:04.970 --> 04:06.700
different way displaying it.

04:06.800 --> 04:13.270
But and so you know if you have any problems with this you know feel free to send me an e-mail.

04:13.270 --> 04:17.750
This is this is the toughest lab and I understand it's very difficult.

04:17.750 --> 04:19.700
We're implementing processes.

04:19.700 --> 04:25.280
We've got a state machine there and so it's not it's not an easy thing to go through and it'll take

04:25.280 --> 04:26.030
you some time.

04:26.030 --> 04:31.610
I know when I first went through it it was several hours of tinkering around and going through models

04:31.640 --> 04:33.590
and trying to figure out how to make it work.

04:33.600 --> 04:36.450
Throwing it on the board doesn't seem to be working right.

04:36.800 --> 04:39.590
But you know if you don't just don't give up.

04:39.590 --> 04:44.360
You know if you if you can't get it and you're really stuck send me an email and I'll be more than happy

04:44.360 --> 04:44.860
to help.
