2.0 Functional Description
Fusion 878A
2.14 Multifunction Arbiter
PCI Video Decoder
2-48
Conexant
100600B
2.14 Multifunction Arbiter
An internal arbiter is necessary to determine whether the video or audio DMA
controller claims the PCI bus when a GNT is issued to the Fusion 878A. Only one
of the two functions may actually see the GNT active during any one PCI clock
cycle. This also ensures that only one function can park on the bus. The following
rules outline the arbitration algorithm. Internal signals REQ[0:1] and GNT[0:1]
are for the video Function 0 and the audio Function 1 respectively.
2.14.1 Normal PCI Mode
The PCI REQ signal is the logical OR of the incoming function requests. The
internal GNT[0:1] signals are gated asynchronously with GNT and demultiplexed
by the audio request signal. Thus the arbiter defaults to the video function at
power-up and parks there during no requests for bus access. This is desirable
since the video will request the bus more often. However, the audio will have
highest bus access priority. Thus, the audio will have first access to the bus even
when issuing a request after the video request but before the PCI external arbiter
has granted access to the Fusion 878A. Neither function can preempt the other
once on the bus. Emptying the entire video PCI FIFO onto the PCI bus is of very
short duration compared to the bus access latency that the audio PCI FIFO can
tolerate.
2.14.2 430FX Compatibility Mode
When using the 430FX PCI, the following rules will ensure compatibility:
1.
De assert REQ at the same time as asserting FRAME.
2.
Do not reassert REQ to request another bus transaction until after finishing
the previous transaction.
Since individual bus masters do not have direct control of REQ, a simple
logical OR of video and audio requests would violate the rules. Thus, both the
arbiter and the initiator contain 430FX compatibility mode logic. To enable
430FX mode, set the EN_TBFX bit as indicated in
When EN_TBFX is enabled, the arbiter ensures that the two compatibility
rules are satisfied. Before GNT is asserted by the PCI arbiter, this internal arbiter
may still logical OR the two requests. However, once the GNT is issued, this
arbiter must lock in its decision and now route only the granted request to the
REQ pin. The arbiter decision lock happens regardless of the state of FRAME
because it does not know when FRAME will be asserted. (Typically, each initiator
will assert FRAME on the cycle following GNT.)
When FRAME is asserted, the initiator’s responsibility is to remove its request
at the same time. The arbiter’s responsibility is to allow this request to flow
through to REQ and not allow the other request to hold REQ asserted. The
decision lock may be removed at the end of the transaction: for example, when the
bus is idle (FRAME and IRDY). The arbiter decision may then continue
asynchronously until GNT is again asserted.