Hi All,
I am new to the CHI Protocol,
I am Okay with Link Level Connection Establisment state machine. In Spec it says that in RUN state slave can sent the Credits to the Master
How this Credit is begin Trasfered is there any process for that?
or any particular channel there?
or randomly slave set its max of 15 credit to the master in Run State ?
Regards,
Credits are transferred using the *LCRDV signal for the corresponding channel, where there are separate credits for each channel.
A credit guarantees that any flits issued by the transmitting interface will be accepted, and so the receiving interface is effectively giving as many credits for that channel as it has free buffers.
As described in the Specification:
"When the link is active, the Receiver must provide L-Credits in a timely manner without requiring any action on the part of the Transmitter."
Thank You For the Replay
So i could say that simply the reciver side give LCredit to Master when it is in Run state right.
what i am planning to do is when it is in Run State the Slave passes its free buffer space consider 4 so slave are going to pass 4 to the master. What master do it check the L- Credit in timely manner and are going to sent 4 Flit packet. after the last packet is recived at the Slave the Slave going to request L-Credit Return and the Master going to return the L-Credit which is 4 .
Is this Right..? if i am wrong Please Correct Me.
Thank You & Regards
That's not quite correct.
Sending a flit implicitly consumes a flit credit. This means that after the transmitter has sent 4 flits in your example, it has used all the credits and cannot send more until it receives more credits from the receiving interface.
The only time you would be expected to request L-credits to be returned is if you were powering off an interface, or otherwise wished to prevent the transmitter from sending any more flits.
In normal operation, the receiver will send link credits whenever it has space in its buffers and can receive flits.