WEBVTT

00:01.360 --> 00:06.090
Welcome the lab to Rio in this lab we created a shift register.

00:06.190 --> 00:10.860
And so in this video I'm going to show you the complete solution on the basis to form.

00:10.960 --> 00:16.090
Now that one wasn't that hard was it a lot to do this is a little bit more difficult.

00:16.190 --> 00:20.320
And that didn't give you a complete solution and so you're going to have to come up with some of this

00:20.320 --> 00:20.970
on your own.

00:21.100 --> 00:25.330
However if you're if you are stuck Don't worry it isn't a safe situation.

00:25.330 --> 00:29.630
When I first started learning VHDL I had many many struggles.

00:29.770 --> 00:35.950
I don't you mean the same but as I was so feel Feel free to email me and let you know any problems you

00:35.950 --> 00:38.110
have I'm more than happy to help.

00:38.240 --> 00:44.860
Here is the lab to the shift register running on the bases to board from the U.S. a file I gave you.

00:44.890 --> 00:53.320
You've got your outputs A B C and D which are indicated by the rightmost Ltd's on the front of your

00:53.320 --> 01:01.030
board and then your data in is this first time switch right here and then your clock is this button

01:01.120 --> 01:02.080
right here.

01:02.440 --> 01:06.440
And the reset button on the far right over here.

01:06.520 --> 01:08.490
Now where is the shift register works.

01:08.570 --> 01:11.050
Is my data in pen.

01:11.170 --> 01:16.200
Any time I actually get a clock signal which is indicated by I'm pushing this button right here a piece

01:16.210 --> 01:18.670
of data is going to be represented on the shift register.

01:18.670 --> 01:21.820
So for example here right now my data is zero.

01:22.000 --> 01:27.280
So if I hit my clock you won't see anything on the shift register which is indicated on the ladies.

01:27.280 --> 01:33.730
Now if I give myself a data in one and I hit that button you'll see I've got the one on the list the

01:33.730 --> 01:38.520
lights up to indicate a bit of one in that shifted his position.

01:38.530 --> 01:41.010
Now I knew this fact and was zero and hit the clock.

01:41.050 --> 01:46.490
It's going to shift this bit to the right which you see there it shifts over there.

01:46.700 --> 01:50.140
And if I hit the clock again it'll shift once more.

01:50.140 --> 01:56.970
Now if I turn my data in bet given a logical high turn that on a clock and see I've got another bet

01:56.980 --> 02:00.620
that shows up on the shift register right there.

02:00.730 --> 02:06.370
And so I can just do this I can go through all toggle down turn them on if I can do.

02:06.640 --> 02:11.130
And this is how like when you see a circuit that does like a twinkling thing you'll see we're basically

02:11.140 --> 02:16.120
just doing this and real fast succession where you got every other bet.

02:16.140 --> 02:19.070
Lights it up type of deal.

02:19.120 --> 02:22.020
And then also over here you got the reset button.

02:22.030 --> 02:29.620
Now I know from the VHDL code you couldn't load on here the reset all it resets on clock cycles so if

02:29.620 --> 02:32.190
I hit the reset right now nothing's going to happen.

02:32.530 --> 02:38.850
But what I have to do is have to reset down the clock button and it resets the entire shift register.

02:39.130 --> 02:43.170
So for example I go through here fill the whole shift register up.

02:43.180 --> 02:45.340
Now if I hit the reset nothing happens.

02:45.550 --> 02:48.260
That's because it needs to happen on a clock edge.

02:48.280 --> 02:52.230
So if I hold the reset down and hit a clock then there you go.

02:52.230 --> 02:53.770
Clears the shift register.

02:53.770 --> 03:01.150
And the reason it put the clock on this button is because this board is running inherently at 50 megahertz

03:01.570 --> 03:06.650
and if 50 megahertz if I run out here you ask yourself of that switch all those oldies turn on just

03:06.700 --> 03:07.250
like that.

03:07.270 --> 03:10.460
You you can't you wouldn't be able to tell what was going on.

03:10.480 --> 03:16.120
So that's the reason the clock right here so you can actually physically see and what's actually going

03:16.120 --> 03:17.060
on inside of the board.
