How can we show the usage of function pipelining in each of us?
This lecture uses a simple example to demonstrate the benefit of using function pipelining.
Let's consider a one digit B, C, the counter, which counts from zero to nine.
It has one input and two outputs.
It counts when it receives a single cycle pulse on its input and generates the seven segment data and
enables signals to derive a seven segment display.
Let's ascribe the one to the counter with a two cyclogenesis coat and study its behavior.
First, we define a constant air containing all the certain segment codes from zero to nine.
Now we should define the top function that receives an input and generates two outputs.
We should define a static variable to keep the counter value as its current state.
Then we can check the input and when it is one, we should increment the counter state.
If the counter value is nine, we will rewind that.
Finally, we should provide the corresponding seven segment code and enable signals.
Now, let's have a look at the syntheses report.
The design takes two clock cycles to finish, which is against our single cycle design technique.
This means the design can process the received data correctly every two cycles.
Therefore, some of the input pulses may not have a chance to be processed correctly by the count.
Let's synthesize this seven segment driver code and study its behavior on the board.
Creative want such socialist project and add the design and test which parts you can find these files
in the resources folder attached to the selection.
First, examine the code and then synthesize that.
Have a look at the analysis perspective.
And make sure that the design requires two cycles to finish, then generate the corresponding.
Now, creative with the project and of the IP to the design area, in addition, added the bouncer and
the pulse generator.
You can find all the IPIS in the resources folder attached to this lecture after adding the designs
physical constraint generated by the stream and programmed aboard.
Now check the design in action.
By pressing each key, the counters should be incremented, however, as it takes to clock cycles and
only on the first clock edge, it can accept the input.
There is only 50 percent of chance that our Prensky results in and encouragement in the count.
There are three ways to solve this problem try to redesign the counter and follow the single cycle design
methodology.
Provide input data for the design when it's ready.
Using the pipeline MICRA architecture to implement the design.
As we saw before, throughout the course, we can use this function to access the summit segment code
for a given digit, it contains a switch case, a statement to provide a single cycle design for the
one digit some segment driver or second.
The second solution is based on the hand checking mechanism in which we give the input to a design only
when it's ready.
I will talk about this concept and the related features in Etchells in a separate section.
The third solution is employing the function pipelining with the initiation into one on one.
In this case, the design can accept input at all.
How can we apply the function pipelining to our segment driver code the next lecture?
We'll answer this question.
These are our takeaway messages.
A multi psychologic design generally cannot accept inputs at all ages.
There are three ways to solve this issue, modifying the code to follow the single cycle design flaw.
Using the handshaking mechanism between modules, using the pipelining techniques with the initiation
interval of one.
Now, the quiz question utilized the show display function mentioned earlier in this lecture in the
seven segment Reiger code and check the final design on the board and make sure that the counter accepts
its.