Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

Understanding Skid Buffer Mechanism

promach

Advanced Member level 3
Joined
Feb 22, 2016
Messages
870
Helped
1
Reputation
2
Reaction score
2
Trophy points
18
Activity points
8,486
The skid buffer has no "functional" purpose. It is inserted to improve timing, like "normal" pipelining.
The problem is that there is one signal (ready) going in the other direction. To get the full timing improvement, that signal also needs a register. The master will then see the ready signal one clock cycle "too late" when it is set low by the slave.

If there is only one register in the skid buffer, the ready signal going back to the master can only be active for one clock cycle at a time, because the slave can set ready=0 but the master would see it too late.

This means that every second clock cycle the ready going back to the master must have ready=0 even if the slave has ready=1 all the time. The throughput will be cut in half.

The skid buffer with two registers solves that problem. It can accept one more write from the master when the slave sets ready=0.
@std_match

I am still a bit confused with regards to your explanation quote above.

Would you be able to simplify the wordings into a simple AXI timing waveform ?
 

TrickyDicky

Advanced Member level 5
Joined
Jun 7, 2010
Messages
7,001
Helped
2,056
Reputation
4,129
Reaction score
2,006
Trophy points
1,393
Activity points
38,428
The simplest explination is that it is simply a FIFO that is 1 word deep.
 

promach

Advanced Member level 3
Joined
Feb 22, 2016
Messages
870
Helped
1
Reputation
2
Reaction score
2
Trophy points
18
Activity points
8,486
@std_match

I do not understand why If there is only one register in the skid buffer, the ready signal going back to the master can only be active for one clock cycle at a time, because the slave can set ready=0 but the master would see it too late. ?
 

promach

Advanced Member level 3
Joined
Feb 22, 2016
Messages
870
Helped
1
Reputation
2
Reaction score
2
Trophy points
18
Activity points
8,486
Because the state machines in Fig. 8 are slightly different, so the controllers in Fig. 9 are slightly different (and so are their copies in Fig. 10). Note that the bottom of Fig. 10 is essentially Fig. 9 with the left and right flipped (and one of them also split).
Someone told me the above. What do you guys think ?

I do not quite understand Figure 8. What are Vl*!Sr/E0 and Vl*!Sr/Em,Es ?

 

Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top