IXP1200 Ready Bus Sequencer
Tammo Spalink
tspalink at CS.Princeton.EDU
Tue Sep 19 18:46:09 EDT 2000
I am pretty sure I deal with stale flags correctly.
What I was hoping for is an example set of 12 sequencer instructions
that are known to work well for my scenario: 8x100Mb, no autopush.
Tammo
On Tue, 19 Sep 2000, "Paige, Dale W" wrote:
> A commonly encountered problem can be encountererd when the ready bus
> sequencer is servicing "slow ports" (10/100 ports). The collection of the
> ready flags is asynchronous with the operation of the IX Bus receive state
> machine. You can read the ready flags and find flags that are set even
> though a rcv_req has been queued or even completed for the port indicating a
> need for service. This is due to the latency in handling the ready receive
> requests. Imagine a ready bus rxrdy command collecting the flags the IX Bus
> cycle before the MAC de-asserts its RxReady signal for the port which is the
> subject of an IX Bus read. We refer to such flags as stale flags.
>
> To deal with stale flags the RxReady flags can be "aged" by holding them for
> one or two ready bus sequencer cycles before using them and AND'ing them
> with the inverse of a "rcv_req outstanding" bit map. The RCV_RDY_CNT
> associated with a set of RxReady flags is generally used to assist in this
> purpose, although the RCV_CNTL_CNT can be used for an even more precise (yet
> computationally intricate) tracking of the state of the RxReady flags.
> Refer to the Hardware Reference manual section 6.6.4.8, "Interpreting The
> Receive Ready Flags", for more information.
>
> On the transmit side you want to read the TxReady flags fairly frequently so
> your transmit process can proceed as quickly as possible.
More information about the ixp1200
mailing list