We begin with a new strategy by targeting some of the real world projects that will help us to build
fundamental understanding and also to understand so the strategies that we seek when we are working
on a new project.
So whenever you are starting with a new project that is always recommended that you looked into some
reference designs, if they are available and then you proceed for a modification of that site.
So in this video, we'll probably target.
Then you walk into this.
So you walk.
Is going to be so will be transporting big and then it is usually used at a lower rate, so.
Whenever you have a scenario where you want to communicate that Greene to tools and the distance is
not much, and in fact the rate is also better when you have a requirement where lead also plays a significant
role in that scenario, you prefer to go with the other side, one stage that you are provided for white
communication or for data with a very low income.
So if we compare it with the NBA, which is much faster, that's compared to us.
But as you increase the number of devices, you'll be finding that the size of device goes on increasing
due to the presence of US troops.
But this doesn't happen with you.
Watch and see what is being used only for point to point communication.
So we'll be finding if you remove the VCR and a ground level.
The two important points which are used for data communication is not so since there is no handshaking
pins available to.
Check whether the receiver is alive or not or the transmitter wants to send or where the receiver is
having a dedicated Vaudrey, which transmitter has been configured for and so on and so forth, we usually
use the software.
So inside the data, we manage it in such a form that it conveys to a receiver that the transmitter
is now want to transmit and then receiver can start collecting that.
OK, so we'll be finding that in an ideal situation to expand or let us assume that we are targeting
on or transmitting data from the big to the serial.
Correct.
So it will be utilizing only a single pin.
Right.
So in that case, what will be finding is the line that is going from an RPG to the.
Cereal consumed or cereal will always be at an active high school tautologically or logic, one level
that indicate an ideal condition of life.
So whenever a user or you want to transmit the data, the first thing that it will do is it will pull
that line so that indicate static condition.
So as soon as you pull Lionello, that can be the message to the receiver that now we are transmitting
the data and then you transmit the data one by one.
Now you must be having an idea that you work at a time and we need to be comforted.
And then finally, you can also write about it if you want to have a better control strategy.
But then usually we do not ask for a small distance.
It rarely happens that you are dealing there do exist some of the exceptions, but then in most of the
cases, we try to avoid it.
And then finally through.
Stop a communication, we further make our line.
OK, so this is how we convey the message to a receiver that we want to start the communication and
then decide the leader that we are transmitting.
And then finally, we are to stop.
Right.
And then subsequently we cannot.
And you, if you wish to further transmitted.
OK, so this is how you communicate that you ideally will be having your line and high street or not
one state then whenever you want to transmit it, first line zero.
OK, so this would be a start condition.
Then we'll be transmitting a data aid data.
Then finally, as we complete our data transmission or in fact a single data will be stopping or will
be further pulling our line high, which is a strong condition.
And then you can add a subsequent sense of what you want to wish to continue our transmission.
Now, whenever you are designing a new project, always, it is a good choice.
That understanding of the or the standing of you form you create a the future.
So just looking at a new form, I have created this project.
This will be pretty handy when you're writing a deficit.
So in most of the cases when you are working on an.
So you'll be finding you need to write officiants, finite state machine, and if you have a reference
chart in your handwriting, this becomes very, very easy.
So ideal condition.
I'll be naming that state that I am not naming at the start because on the board I'll be using an iReport
whose name will be a struct which indicate that you want to do this.
So for that reason, I mean, this does very big.
And if, you know, in the next date will be or in fact in that state itself will be checking whether
you want to transmit.
So a whole user will be coming to terms with it or not.
So will be assigning one of the input two letters in one of the vibes which will be connected to Stockmann.
And if you don't want to transfer data and simply make start being high or the IP switching in high
position so that we can read information given to you that use it through dance with the data and then.
If you do not want to transmit into details, simply keep the IP switching and lose.
OK, so if you pressed the switch, it will basically indicate that you the work transmitted data.
So it will move into the send data here.
We'll basically transmit a single bit, OK, and then probably this flag will understand this, this
is this data just to maturity, because you can communicate at a specific rate.
So we need to match the rate.
So for that reason, that a few methods actually you can follow a blocking method so you can generate
a slower growth and then you can operate on data on this block, or you can either make a counter which
will continuously go.
And as soon as it reaches to account, which matches the rate at which you are transmitting, the data
will simply be the flag.
So here we are targeting one in check method, probably in the next place.
Then we'll understand how you can use method to actually transmit.
Seemed that you can do this method.
So there can be two method.
Some of the cases utilizing 3:00 is pretty easy.
Right?
And in other cases, using a flag can be pretty easy.
It really depends on your choice.
And since both the results are both the methods and to the same degree.
So here will be checking whether it is magic.
So as soon as we match read, the next thing is to check whether we have transmitted all the if not,
we will transfer to the next day.
So this is the street that will be doing that thing.
So it will check whether all the data transmitted and if so, then it will again check whether you still
want to transfer to a new data.
Then it will again be done then for the data transmission.
If it is if.
All the data is not transmitted will again move back to send data that will basically transmit the new
big data.
So you have a buffer which will hold an entire data and then will probably increment the Bitcoin and
then will transmit the next.
So this is no simple solution that we've been able to create from this data frame that we are getting
from other fishermen.
OK, so start before start before the start.
Days are ideal conditions.
So for that, we look one street ready.
So before we'll start, we'll be having an idea value of one.
So it will be setting value as one.
And if you press the switch, it will basically create a condition by pulling the line loop.
So as you said, the switch will force me to explain low will also follow the data that we need to transmit
on there and then we move on transmission of raw data.
Then we transmit that one by one.
And then finally.
As soon as we transfer all the data, we basically, again, check whether the still wish to continue
the transportation or whether a user do not want to continue on that transmission.
OK, so this is how a simple flowchart will help us convey them in an easier way.
So now what we'll do is we'll try to replicate this flowchart and an.
OK, so we'll use this as a reference and then probably will be writing code in the window.
OK, so here we'll be requiring a new regulator since will be frequently performing the automatic operation
just to have an exact for.
So along with the numeric library's building to use of unsane since will not be targeting getting in
the same name, but will be requiring accountability just to keep track of the content to match and
exactly.
Derivs.
So we'll probably be working you on an them.
So it is always a good idea.
Then when you have a new extended, you explicitly, explicitly specify whether you are working on Sindy
and then.
OK, so this too will be pretty new for us.
And then from forgood itself you can get start is the switch order provision by which you can specify
whether he want to start a new transmission or whether you want to continue the transmission.
And the clock is a workload which will be used to synchronize an entire FSM.
And then this is the that would be going out to the console for BCB.
So.
From here, you can guess all of them have a sizable single, but the oil belongs to.
Since our data point that is have a sizable single bit.
So basically belongs to a Citilink with no further will understand how it specifically differed itself
from a parallel interface.
Then we looked at and said, so let's just try to watch the clock for synchronization.
So we will assume that will be operating on the.
Bloodroot of.
Board rate of four nine six zero zero, so which is the lowest birth rate, in fact, that we commonly
used with, you know, let us assume that the board that I'm using is an nexus for the year, which
have an on board frequency of hundred megahertz, which basically is a hundred, and then into the six
rate.
And I want the board rate of nineteen sixty two.
So if you can just compute, this will result in two one zero four one six.
So if you are using flag method, so whether you'll be keeping track of growth until it reaches the
discount and then you will raise the black flag method, you'll be finding you required a variable that
can at least hold the current value.
This and if you are working on 10 km, will be requiring at least half of the for four o'clock metal
for half of discount will be keeping our value high and then next block will be keeping it.
So it'll be finding four o'clock metter Cotsakos adequate or half of that is required to come back to
it.
OK, so in this probably in this video will target on doing a flag Mitic.
So let us suppose declared this was declared a signal and that is capable of holding this.
OK, so it will have a tape of it and then it will range from zero to one zero four one seven.
Pull-Back is always a good idea that you have one more call as the minimum contact is required for your
process since you'll be performing in addition.
So when we will last, the next deed will result in a count that is one zero four one seven.
So your variable should be capable of holding back.
OK, so whatever called you targeting Aggie's you declare a variable that have one count greater than
the count that you are to make.
And then the flag that will be required is in the disciples will just mean with us, like, OK.
And since it is a single big flag, so we'll use a standard, it's for logic and a just initialize.
OK.
So let us start writing.
A routine or an API for.
Slower generation or basically this will be used to synchronize a body will name this as board.
Read.
Generation and then process.
OK, so this will be Baudry generation process and will be making it sensitive to four o'clock.
So we just heard the clock begin and then if rising without using a clock.
OK, and now we tend to usually squeeze intends to do it.
Doesn't matter whether you rate the case or lower case you idiot.
OK, so if rising age of a clock then we know that is if counties count is less than one zero four one
six, which is the count that we are targeting, then we will simply simply increment the phone.
Now here, if we can observe, we are using an automatic operator to have an access to this operator.
We'd like to have this ability like this should be in the bottom of our compiler.
And since we are targeting or using an unsigned number.
So this second library is our second package is also mandated.
Right.
And the flag will have a flag, will have a value of zero else.
And as soon as it reaches or goes about that count, you'll be finding flag will be equal.
OK, so this will indicate that now we can transmit our new beat.
So this indicates that this is the maximum before we have a for a single vote to hold its data.
And as soon as this spirit overflows, we can actually transfer to the next and allow the desk to reuse
discount.
But it will begin again.
We could see it.
OK, so this will basically allow us to use our outlook for transmission from next data on here.
This is our first step and then this second.
So this completes that process of translation of a clock or basically hand ticking signal that will
handle all the processing related to a broader agenda.
OK, so we have started with the board, the dedicated board that we wish to conduct.
We have our board frequency or the development board that you are using.
And then we basically divided it with the board and then we get certain.
OK, so we need to wait till the counter to that value and then we can be done.
Now, this process will continuously go on independent of what the process does.
So we need to further modify this process as we as we like and data.
Data transmission rate, so let's just start getting data trance nation.
Crisis.
So let's just start writing this process.
Now, the difference between the cloth that you use and the flag method is if you are targeting a flag
method, you'll be operating that would the processes, that is the slower growth generation order synchronizing
process and the defensive process would operate on a global clock.
That is an ongoing problem that we have.
But target on enforcement there will be finding that you are slower or the synchronization process or
the slower growth process will operate at 10 o'clock as the data transmission process will actually
operate slower.
So this is a primary difference activity.
So as we take an example with that, we'll be understanding that materials.
OK, I know the very first thing that we do is we will basically specify some of the states that that
can be easily distinguishable and then help us to actually achieve an entire implementation of our future.
OK, again, we'll start with the rising age of the clock.
OK, and then.
Then let us now work on in case we haven't declared anything at the state, it probably will declare
it very soon.
Case status.
And then probably since we have started a statement, we learned a statement will and if and then we'll
end the process.
OK, so this is a typical damply.
So whatever we have serger, we have haven't.
Now, here we can actually.
Distinguish the variable required for different process.
OK, so here we can name it as a signal for slower.
The order basically barred three.
Kintisch think.
So this is the other variables which are required for a broad agenda.
Now we can add two more hyphens and then we can specify a signal for data transmission.
And they decided to move here very first thing is we need to have a seat.
And right now I can guess that there must be a ready state, there must be a single state, and then
there must be something called in to check whether all the data is transferred.
So with this difficult idea, let us know it is always easy to increase or decrease the number of seats.
So just 10 or so from the chart itself, I can guess I could see my nudity.
So let's say a little declared a user defined tape and let us numata signal tape or in fact, instead
of signal tape, we can mean with that tape and then you can specify what will be inside that tape.
So one of the states will be ready.
There will be send data and then the last stage will be.
Let's just name it does Congress and then you declare a variable state which will basically have this
type of.
So when we declared when we use that key state to so the values are very same, which are very easy
to understand.
OK, and the initial value for the state will be like.
So this does two lines basically remove data that we are getting right now.
OK, so now when we are in when we are in, ready.
So what we need to do is here we will basically check.
Wethered.
Whether they user want to transmit it or whether you just want to simply sit ID, right.
So if if stutt focus is the input from that user can specify whether they need to transmit to whatever
it wants to set idea.
So starting with two one, OK, then starting with two one, then we need to move.
The next else is we need to enter this these great to let us let us just use if starting to zero then
speed will be good.
This indicate that user want to see didit.
It will be simply rolling through the streets and as and.
The state will be with us to send data.
This is the next thing that we have and what you do and next, it is always a choice that if we get
the data in, in and of itself so that you will be feasting a classic.
OK, so let's assume that the data is an individual which consists which contain all the data that we
can transmit.
So let us assume that we want to transmit a capital E..
OK, so whose value is 40?
OK, so we'll start with the zero says this is our stock condition.
So from here also you can guess that for the stock condition, the value on the line should be zero.
And then we want to transmit reader.
So we have 41, which is an hexadecimal value for the uppercase E and the kind of data that we have
in an it is a nine percent since forty one is a multiple value.
So we need to attack the Valco and along with that and X, which indicates that it is in hexadecimal
value.
And finally, a stock condition is sort of is of logic.
Correct.
So here will give you the single best single code and then one final numbers.
OK, so this will be added value then.
Forty one and finally.
OK, and then we can add some.
Parenthesis to simplify the thing.
OK, so this is a pretty important step.
So before you actually send data, we like to do deal that you have do the data and then you basically
wish to transfer data here.
You can use another state where you can load your data and then you can proceed to assign data.
So that will be easy to understand.
But I prefer to go with this.
Right.
And then.
Since we have started and will basically and you know, here we are getting Arabs into haven't declared
anything.
OK, so this is having a series of ten tricks for this single bit for this single group and for this
stupid decimal number three.
So this is all required.
So let's just a clear signal de de de.
And then standard and this whole logic on this Victor and nine down to see, which indicates a Democrat
like.
So now this will be decision will be gone and will probably be completed at four straight.
So just a few blank spaces, so it will be very easy to understand.
OK, so ready.
No, no.
We probably have included disrobing also inside.
OK, so in that district we are checking whether users have pressed stocks which are not.
So if it is not, this will be waiting in under the state, will remain as ready as states will move
to ascended it before going to the state.
We have actually now let us just move on to Sandy district rate.
So when we have the same data, right.
So here what we want is whatever the spin or whatever the spin that we've been allocated for transmitting
from an consumers will be transporting a single bit of this data and.
Then we'll probably check whether all the data is transferred.
You're doing great, so let us just just saying our physics.
OK, so DS 10.
Will be equal to the X data, which is a 10 bit variable, and whose and less value will be transferred,
correct.
So who's eligible?
Who can be easily transmitted by using certain variables?
Let's assume that we are using nobody will become.
Which is having a value of seating.
So this reposing that the extended does, you or the eldest daughter, Lakeway, will also increment
Mittagong.
By one, Bitcoin by one, and then we can move on to the next.
So there will be checking whether we actually do the count of ten, which is the maximum number of data
that can be transmitted in a single transaction.
So we rename that status within that discount, but they will be using that.
OK, so this completes our second seat now to the extent we haven't declared.
So we just go in here wherever we have our signals for our data transmission and then will declare signal.
Deakes Demps.
And then it will be having a of single district, so we will be having this single bit and one more
thing required is a contest to track the values of the big that is being transmitted to signal Bitcoin
and then integer range.
Now we know that the maximum value that we are targeting is a 10.
They, too, will be using zero 11 as our age.
They and then will be probably initialized with.
So this will basically start the value of the controversy and then.
Then we move on to check your account a bit.
OK, so what we'll be doing here is first thing that we do is Fedor.
Whether the the the waiting period that we have or the minimum period that we need to order minimum
growth cycle, that we need to wait before we can proceed with that is being completed or not.
So how do we know that if.
If he had redeclared a flex or if flag is one, flag is one, so this will be our first check, that
is this will signify that this completes a minimum period required for the transmission of a single
right.
Then we can check, then we can check whether or a Bitcoin Bitcoin, which is a counter variable that
we are using to keep track of the number of Bendat somebody.
OK, so this probably is a bit confusing from.
But then become a local.
So this is confusing, I would hit on here instead of calling, but we can make this change right.
This will basically reduce the confusion.
So this would be chick.
And this state represent basically the state in which we'll be counting how many we've been transferred
to, right.
OK, so if Bitcoin is less than less than 10 cents, a 029 will indicate that we will.
Because we do.
Then then then OK.
So if this two conditions are met.
So if a flag is one and a flag is one, then you check if bitcoin is less than 10, if that is the case,
if that is the case, then we transmit the next time since we already incremented Bitcoin, potentially
not incremental to Bitcoin by one.
OK, so we'll just.
State we will send you to so this will basically turn to the next data rate ends and here else ends.
L's indicate that we've been able to successfully complete the transformation of diet and sort of stream,
then we'll simply jump into any state which will check whether you want to continue a transformation
or whether he or she wants to go after he or she wish to.
Complete the transmission or stop the transmission, OK, so it will simply be.
And if and do and if we will be declaring all of it ls ls is the.
So if let us assume that we would use in the checkbook and our flag is not one, so we want to read
in this state.
So this is the minimum buffer period.
We get to redo it, hear end as will simply be in the same state.
OK.
That is a check.
Right.
And finally, no we can not force.
OK, so this completer this two conditions, so we check whether flaggers one and then again.
We check whether we are able to transmit all the data transmitted or not, and then accordingly we make
our jumps through the subsequent steps.
So finally, for all the families, always the idea that you will add and this since this will eliminate
the creation of.
Creation of a Lecia, so so when others when this that will represent their default condition, so state
will basically be ready, which is our default rate and since we already and get out of.
So we need not have indicted.
So this completes or an article or an future that we have implemented from a level and two of the right
to know, since we are getting an indication so this indicates that we haven't completed or we haven't.
Committed any syntax.
OK, so what I'll do is I simply take this back to a word that will perform a simulation, so if simulation
goes fine, I will basically do a fourth mapping and then finally download our on.
One important thing before we actually cross the we is if you observe due process, the they do not
have any any synchronization between them.
So only the data that is going is the flag, the.
But let us assume that here we are not checking whether we are in any state or in a sense that we are
in that state, then also the founder or since this process is sensitive to block it will continue.
And let us assume that just before a single Psychon, we reach to a registry.
So that will indicate within a single cycle, this flag will be one within a single cycle will be will
be getting a valid data, which we do not for.
So just to synchronize this due process, we actually need to modify this.
Correct.
So if everything is OK, then then let us assume that we want that discussion to begin when we move
from the registry to a sense to.
So whenever we are in the same state, we want that culture back in record time.
It should begin to indicate an exact.
So let us assume that if.
If the state was to, but in any case, a state was too ready, then, then then then what we'll be
doing is will be continuously making zero else else.
No, we and this entire thing will hear so elusive.
Then this value will be flag else Flagler's.
So this will synchronize with of us.
OK, so whenever we are ready, even though if we consider this process, all of this process will hear
me come to you.
And when here we, when we are in the ready will basically can add default.
The value of these statistics data to the extent is the value that will be attaching to the slate that
will be having an added value.
So whenever we aren't ready to extend, we'll have an ideal value of one.
And yet whenever we are in a registry, as soon as we move to a next year, then we are going to be
stuck and that we will be achieving an exact count or the behavior that we rate.
So this completes and then at the end, probably both.
The pluses are quite synchronising.
So we'll perform a simulation once.
And if it matches what we are expecting out of this will basically download our code on in the speech.
OK, so let's just click on Run Simulation.
OK, so then in simulation.
Here we are not writing it, does it, since we just need to apply stimulus to a clock and a starting
point, which is pretty easy instead of writing.
So whenever we need to frequently change it, like testing in Wal-Mart or Ice, Christine Tiffy's or
an and so on and so forth, we can to actually generate random stimulus rate.
So in this simple scenario, simply for Starkloff, OK, so one to zero, let's let us stick to the
put it in a nanosecond and we'll make our stock values.
So this will indicate that you want to continue send submissions so it'll be getting an infinitely limited
just run out of food and then try to figure it out.
So we'll be finding things to match the rate of nine six zero zero.
We need to read for a long time in this scenario instead of using this option as an oven.
Four hundred microseconds, we need to prosecute that or not.
So we'll simply go with an unknown and now we'll be finding that it automatically brings.
Pointed to this position, which indicated that there might be something that is going wrong.
So here you'll be finding that index 10 out of bond nine down to zero.
So de de de can have a maxi's of nine down to zero, which is a ten.
But that we have declared.
And he is.
It is going beyond that.
OK, so that is what it is complete.
OK, so.
Here, what we can do, actually, is.
What what we can do is if we can just analyze this to see to be finding it is continuously going up.
So as soon as it reaches a dead end, that's another dirigiste of this value.
What we can do is whenever we move on to Elstein, we should have now reached to a value of ten will
be Bitcoin equals Z.
OK, so this is what we haven't added enough.
You know, we'll just see our design and we just simply launch our simulation.
Right.
Let's see whether it is working fine or not.
So this is how you debug your work.
So first we will be finding that a new syntax error, but then you'll be finding some of them are logical
error like this and then for the political reform.
So this is how you get a good look.
So, again, we'll be using a full scale option.
And, of course, concern option no, let us just try to run on hold for the duration.
OK, now I know we can cause article.
Great.
Now, if we can just fit dad and dad, we form a single window, it would be finding the flag is actually
used to match it, so.
So here we have our flag and let us just try to target our.
And then this is the very conservative look, here it is, so we're just doing a bit, OK, so we'll
be finding that.
The first value in the first cycle that we are transporting is zero, which is a stock condition, then
we are expecting some series of data and then finally we have our condition, which is in what?
So this is a present that I guess everything is going fine.
The only problem is the actual fact that we have used in an entity is not being connected to anything.
So that is the reason it is showing a default value.
So probably can go into a code.
And the last line that you can that is close to the temp variable, which is a single variable which
we have used for the x ray.
So just see you out of code.
We look in the simulation and let's see whether we are getting the one doing Deakes.
So, again, we'll be using a false clock.
OK, and what a stunt will be using a false constant to just try to run out of food.
For some big duration Will Pausa simulation, and then we'll probably all be finding the to haven't
exactly the same which we have, we'll get to this completely out in time for.
The next thing is you go to run synthesis.
OK, so this will basically convert your angel food into the produce, which can be downloaded on.
And this will take a bit of time to complete a synthesis.
Also, after the synthesis you get in a region where you can do a new plan so that you can specify that
you can connect a stock where you can connect lock and where you can connect to the inside and have
only three groups.
So after synthesis, you'll be getting the option whereby you can specify the exact eye open on the
connecting this tree.
So we'll just simply open our synthesis design.
So this will give us a device view as well as our planning where you can actually.
And put the exact pin number of an.
For a specific skill output.
OK, so here you have our scalable to be finding that are three or four o'clock on a nexus for yet I
have been numbered as 80.
So I'll simply add that for a start I'll be using a switch.
So for the Switchy helping them G 15 and then
we need to actually go to the station and then the pin that I found or for transmitting the data and
then it is always a good idea that you change.
So we see more thirty three the level that we'll be using, then we'll simply see this entire quantity
and will give a good name to for.
Constrained fight, so we'll just need to stop.
Just click, OK, and then you can proceed with transition or forward.
OK, so we haven't utilized any of the implementation strategies since we just went through an application.
We need not one to optimize output, but in an application that you are consuming a lot of resources,
it is always a good idea that you also include some of the implementation strategies in your report
which can be held to use your.
Amount of area that you are consuming on, it can also be used to reduce poverty consumption.
So our bid generation is successful.
So what we can do is we can go to one target and then we can do great.
So this will provide us an option to go with our device.
OK, so before programming, in fact, we can actually set up our system.
So here I'm using a data to analyze the data that we are transmitting and we already know that the value
that we have inputted is a constant 41, which is a value for the capital.
OK, so I have my work connected to this.
Basically signify that we are reading the data from a competition, we can program our device program
device and then decide, OK, so no, I haven't turned on my switch.
So as soon as I turn on message and be finding it continuously and the value of a computer, which is
what we've been programmed on, you are correct.
So this is how you can implement a simple interface to transmit the data between two nodes at the rate
that has been specified by.