Welcome to Lafferty in this video I'm going to show you the complete isolation of the universal shift
register should look like on the base to bored.
Now if you have one or two don't worry on like this and I'm here to help.
I'm more than happy you just send me an e-mail and let me know.
This is probably a little bit more difficult but that's OK.
That's the way I designed it was.
I want to struggle a little bit.
But if you're saying they're spending I don't want you to be frustrated.
I want you to learn and that's the best way of learning is actually doing so.
These labs are designed to have it so you have to understand the code.
If you're ready let's grab your board let's go.
All right.
Here in lab three.
Here is the universal shift register running on my basic toolbar.
Now with the passing of the file that I gave you the inputs that are mapped are you've got an output
which is eight minutes long which is represented by these eight ladies on the front of your base is
two board right here and then you've got your input as your slight input which is these two switches
on the far left over here and you've got your input which is the same as has a shift register in the
previous line.
Is this for switch over here and you've got the clock which is represented by this button right here
and the reset which is indicated by this button over here.
Now the way universal shift register works is very similar to the shift register except that with the
universal shift register you can select if you want to shift to the left or do you want to shift to
the right or do you want to load data and it's like a shift register.
It's the same this or Friendster you just have more options.
So you get demonstration here.
So right here I've got these two select inputs are basically telling my shift register what I wanted
to do right now they're both zero.
So that is indicated as a whole where nothing happens.
So if I click a button there nothing happens to it.
Now if I push them both up right here I'm going to load the data bit and which is represented by just
what's right here which is low right now.
So if I push it you don't see anything because I'm losing zeros seemly now.
Oh I hadn't thought of that up.
And as soon as I was that button there you'll see a data represented by the light so if I push it again.
It's basically a key so there are now five percent down to zero and go to zero in there and it turns
that whole idea off.
So let's go ahead and loaded it a bit and the shift register.
OK.
So when it had low then and now our select here we can determine if you want to shift to the right or
left.
If we shift to the right.
This is basically going to fall off and go away.
So we want to shift it to the left.
So in order to do that we need to have our select before right one down what the far left one up but
push that button you see a shift in over one and every time increase that call button it shifts over.
Now if I'm on a ship at the fairway I go ahead and if I put them both down it's a whole where nothing's
going to happen and push that button that it just stays there.
But I would push them both up.
Then go ahead.
A lot of data that in which you see there lives in.
And now let's say I want to continue shifting them down like so.
OK now I shifting to the right.
I just talked a lot down talk my selection of an old title over an ugly scene there.
If I keep going.
As soon as they get off the edge of your Ellet either that is kind of fall off and go away.
That's because if you look in the code you're actually giving it a zero.
As soon as it shifts out so it goes through and it clears out.
Now here we have a reset which Let's go ahead and load some data and go to hit that target on and then
you got to shift it down to that shifted in there which is a lot more operations but typically you would
have something like inside your FPGA cube.
You would have a clock and other things you'd have control things like that.
And this clock we're just putting all these buttons and it switches so you can actually see and understand
what's going on here.
So give him a reset once again nothing happens.
That's because a reset doesn't occur.
It happens on a clock cycle.
So I have to hold down my reset and press the clock and that's how you clear it which you can see that
in the code.
There's a piece of code there it's a process that is evaluated on a clock cycle.
So for example some more bits in real quick and will explain how what was going on.
OK so I've got three bits here and I clear them.
If I hit the reset nothing's going to happen because that block of code there there's no the clock cycle
hasn't happened yet so it's not being evaluated in that process.
So if I want that to clear out the hold the reset down which is a logical one.
So you see in code it says on the rising edge of clocks says I push this on the rising as the clock
is going to evaluate that process and what that process does is always these values is zero.
So the process is evaluated and your all your Ltds are clear.
Now if you're not getting this on your board and you are lost or are struggling don't worry.
I have a solutions manual on there that you can look at you know go through and explain how step by
step how to get this to simulate Mollison and how to get it to run on this board.